View
213
Download
0
Category
Preview:
Citation preview
Tema 1
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Parte 1: Clasificación de circuitos digitalesParte 2: Lenguajes de descripción de Hardware
Parte 1. Introducción
Microelec-trónica
Área de la electrónica
aplicada
Estudio de métodos y
procesos de realización
de circuitos integrados
Circuitos Integrados:
• Componentes pasivos:
• Resisten-cias y diodos
• Dispositivos electrónicos
• Transisto-res BJT, MOS, CMOS
• Conexiones entre ellos. En uno o varios substratos
Circuitos integrados monolíticos
• Único substrato o bloque semiconductor
Electrónica digital
Circuitos integrados digitales monoliti-
cos
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Clasificación de los CIDM según la realización física.Según el nro de dispositivos
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Clasificación de los CIDM según la realización física.Evolución de la capacidad de integración
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Clasificación de los CIDM según la realización física.Evolución del tamaño del transistor y del área del CI
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Clasificación de los CIDM según la realización física.Evolución del tiempo de propagación y del costo de compuerta
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Clasificación de los CIDM según la realización física.
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Según la forma en que se realiza el diseño
Normalizados o Estándar
“Standard off-the-self integrated circuit”
Determinados por el fabricante
Arquitectura
Conjunto de elementos
interrelacionados entre sí
Características eléctricas
Características funcionales
Especificados por el usuario
ASIC
Realizados a medida del
usuario
Diseño asistido por Computadora
Clasificación de los circuitos integrados digitales monolíticos
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
NormalizadosNormalizados
Según la funcionalidad
Fija Según el campo se aplicación:
General
SSI MSI LSI
Específica
ASIC
ProgramableSegún la arquitectura:
Fija:
Conexiones fijas entre los elementos lógicos
PAL PLA uC DSP
Configu-rable:
Conexiones modificables
por el usuario
VLSI-ULSI
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Clasificación de los CIDM Según la forma en que se realiza el diseñoCIDM normalizados de función fija de aplicación gral
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Se utilizan en la realización de numerosos circuitos y sistemas electrónicos y pueden, a su vez, ser de función única o multifuncionales. Constituyen bloques funcionales que se utilizaron en la realización de numerosos sistemas digitales.
Clasificación de los CIDM según la forma en que se realiza el diseño CIDM normalizados de función fija de aplicación gral Multifuncional
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Circuitos expansibles (Bit slice)
Comenzaron a realizarse en MSI: ejemplo el contador 74LS160 de tecnología TTL.
Al alcanzarse la LSI y VLSI empezó a utilizarse la denominación de expansible.
Clasificación de los CIDM según la forma en que se realiza el diseño .CIDM normalizados de función fija de aplicación específica
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
CIDM que contiene un sistema digital completo que realiza una función compleja determinada o específica, o una parte de un sistema digital complejo.
Son ejemplos del primer caso un sistema de riego automático o un sistema de telemando,
y del segundo caso las unidades de interfaz (Interfaces) complejas de procesadores digitales
programables (como un procesador de comunicaciones, una unidad de visualización gráfica, etc.).
No existe una denominación de estos circuitos universalmente aceptada. La mayoría de los fabricantes los denominan circuitos integrados de aplicación específica normalizados [Standard Application Specific Integrated Circuits (Standard ASIC)], y otros los denominan productos normalizados de aplicación específica [Application Specific Standard Products (ASSP)].
Clasificación de los CIDM según la forma en que se realiza el diseñoCIDM normalizados de función fija de aplicación específica
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Transmisor –Receptor Asíncrono Universal
Clasificación de los CIDM según la forma en que se realiza el diseño.CIDM normalizados programables
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Pueden a su vez ser: CIDM normalizados programables de arquitectura fija
CIDM normalizados programables de arquitectura configurable
ARQUITECTURA DE UN CIRCUITO O SISTEMA ELECTRÓNICO
Conjunto de elementos que lo forman y las interconexiones entre los mismos.
Clasificación de los CIDM según la forma en que se realiza el diseño.CIDM normalizados programables de arquitectura fija
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Los elementos que lo componen están unidos entre sí directamente
Las conexiones entre ellos no pueden ser modificadas por el usuario.
Se clasifican en combinacionales o secuenciales. Los secuenciales pueden contener:
La unidad central de proceso de un computador (CPU) Un computador completo: Microcontrolador Un procesador digital de señales
Características: Bajo costo y Gran fiabilidad para fabricación en grandes series Disponibilidad de varias fuentes de suministro
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Clasificación de los CIDM según la forma en que se realiza el diseño.
Clasificación de los CIDM según la forma en que se realiza el diseño
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Clasificación de los CIDM según la forma en que se realiza el diseñoNORMALIZADOS PROGRAMABLES DE ARQUITECTURA CONFIGURABLE
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
-La flexibilidad de los CIDM programables de arquitectura fija no essuficiente ya que están formados por elementos unidos directamenteentre sí. Sólo pueden cambiar la función que realizan modificando elcontenido de una memoria.
- Los CIDM programables de arquitectura configurable cuentan conelementos con conexiones modificables cambiando el estado de unasvariables binaria
-Son Circuitos digitales cuya función se puede modificar utilizandosólo una parte de los elementos que lo componen y/o cambiando lainterconexión entre ellos.
--Dicha modificación se hace mediante la programación de unconjunto de variables que forman una determinada estructura dememoria.
NORMALIZADOS PROGRAMABLES DE ARQUITECTURA CONFIGURABLE
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Clasificación de los CIDM según la forma en que se realiza el diseñoEspecificados por el usuario. “ASIC”
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Los inconvenientes de los circuitos normalizados, en especial los de función fija y el interés de muchos fabricantes de distintos tipos de máquinas por automatizarlas con productos muy difíciles de copiar hizo que a principios de la década de 1980 los fabricantes de circuitos integrados ofreciesen a los citados fabricantes la posibilidad de desarrollar circuitos integrados de aplicación específica conocidos por el acrónimo ASIC (Application Specific IntegratedCircuits).
DEFINICIÓNCircuito integrado diseñado para implementar un sistema electrónico queimplementa una función práctica concreta que no es de aplicacióngeneral.
Clasificación de los CIDM según la forma en que se realiza el diseñoEspecificados por el usuario. “ASIC”
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
CIDM A MEDIDA(CUSTOM INTEGRATED CIRCUITS)
De acuerdo con el nivel hasta el que se llega en el diseño, los CIDM a medida se clasifican en dos grandes tipos:
-CIDM totalmente a medida (Full-custom). El diseñador llega hasta el nivel de transistor
- CIDM semimedida (Semicustom)Utilizan elementos predefinidos y el diseñadoradopta decisiones al nivel de descripción lógica sinalcanzar el de descripción eléctrica
Clasificación de los CIDM según la forma en que se realiza el diseñoEspecificados por el usuario. “ASIC”
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
CIDM SEMIMEDIDA (SEMICUSTOM)El diseñador utiliza elementos preespecificados denominados celdas(Cells) y actúa a un nivel más alto de descripción que en el diseñototalmente a medida
Existen diversas variantes de los circuitos integrados semimedida quese diferencian en la complejidad de las celdas utilizadas y la forma deinterconectarlas. Entre ellas las más utilizadas son:
- Conjuntos de puertas programables mediante máscara(Mask Programmable Gate Arrays)
- Celdas estándar (Standard Cells)
Clasificación de los CIDM según la forma en que se realiza el diseñoEspecificados por el usuario. “ASIC”
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
CIDM SEMIMEDIDA (SEMICUSTOM)
CONJUNTOS DE PUERTASPROGRAMABLESMEDIANTE MÁSCARA(Mask Programmable Gate Arrays)Están formadas por un conjunto de elementosbásicos dispuestos de forma regular . Suelenser puertas NAND o NOR.Los fabricantes pueden establecer el circuitomediante la máscara final de interconexión.
Clasificación de los CIDM según la forma en que se realiza el diseñoEspecificados por el usuario. “ASIC”
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
CIDM SEMIMEDIDA (SEMICUSTOM)
CELDAS ESTÁNDAR(STANDARD CELLS)
Consisten en un conjunto o bibliotecade celdas normalizadasque constituyen bloques funcionalesde mayor complejidadque las puertas lógicas universalesLa colocación de las celdasy los canales para su interconexiónno están predefinidos
Clasificación de los CIDM según la forma en que se realiza el diseñoEspecificados por el usuario. “ASIC”
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Clasificación de los CIDM según la forma en que se realiza el diseñoEspecificados por el usuario. “ASIC”
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
METODOS PARA DESCRIBIR CIRCUITOS LÓGICOS Descripción verbal
Tablas de verdad
Diagrama esquemático
Expresiones del álgebra booleana
Diagrama de tiempos
Lenguajes de descripción de hardware (HDL)
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Ejemplo Representar un circuito digital que capaz de controlar un indicador de
advertencia del cinturón de seguridad un automóvil
Descripción verbal
Expresión booleana
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
encendidoeruuptorenganchadouroncpresenteconductoraadvertenciluz _int_int__
EjemploDiagrama Esquemático
Diagrama de tiempos
Tabla de verdad
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Lenguajes de descripción de hardware - HDL Hardware Description Language
Permite Describir circuitos digitales complejos mediante
lenguaje basado en texto
Diseñar e implementar circuitos digitales complejos
Un HDL estandarizado por el IEEE es el VHDL VHSIC (Very High Speed Integrated Circuit )
Description Language.
Un HDL propio de Altera es AHDL Altera Hardware Description Language
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Concurrente Vs SecuencialLenguaje de descripción de hardware Lenguajes de computadoras
Lenguaje para programar un dispositivo Lenguaje para programar un dispositivo
Hardware Software
Instrucciones ejecutadas en forma concurrente (todas al mismo tiempo)
Instrucciones ejecutadas en forma secuencial
La velocidad en la ejecución del programa depende sólo de la rapidez del circuito digital y de los retardos de propagación de las señales de salidas que responden a las señales de entrada
La velocidad en la ejecución del programa depende de la velocidad de la computadora
EJEMPLO: Parada en boxes de autos de carrera
Un cjto de mecánicos haciendo en paralelo todas las tareas
Un solo mecánico haciendo todas las tareas en forma secuencial. El tiempo en boxesdepende de la rapidez de la persona
CONCLUCION: Los lenguajes HDL se implementan en forma similar a los lenguajes de computadoras (BASIC, C, JAVA) pero son de comportamientos muy diferentes.
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Implementación de sistemas digitales complejos-Componentes
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
En gral se implementan en CI normalizados configurables.
Dos grupos:
PLD “Programmable Logic Devices”
Son de organización matricial
Evolución de CI PLA, PAL y ROM de LSI.
FPGA “Field Programmable Gate Array”
Son de recursos distribuidos
Se configuran en forma electrónica y sus circuitos internos se interconectan en forma electrónica para formar un circuito eléctrico.
Esta configuración se hace mediante los HDL que con un software especial (compilador) traduce el lenguaje en matrices de 0 y 1.
Configuración de conexiones de hardware con FPGA
En cada conexión se puede programar un 1 o un 0
Formato del HDL
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Formato de archivos HDL Documentación
Comentarios que no generan hardware
Definición de bibliotecas Definición de tipos de datos
Permite diseños jerárquicos
Definición del componente. Definición de E/S
Descripción lógica del componente Descripción funcional
Documentación
Definición de bibliotecas
Definición de E/S
Descripción Funcional
AHDL vs VHDL
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Elementos esenciales en AHDL Elementos esenciales en VHDL
Librerías:Modo -> IN, OUT, INOUT, BUFFERTipo -> Nro de Bit
& AND
# OR
! NOT
$ XOR
Esquema de la arquitectura VHDL
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Parte declarativa:Señales intermediasComponentesTipo
Cuerpo de la arquitectura:OperadoresDeclaraciones concurrentesDeclaraciones secuenciales
Operadores Descripción de Flujo de datos
Declaraciones concurrentes Descripción de estructuras
Descripción secuenciales Descripción de comportamiento
Operadores VHDL
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
lógicosAnd S1 <= A AND B AND C;OR S1 <= A OR B OR C;Xor S1 <= A XOR B XOR C;NAND S1 <= (A nand B) nand C;NOR S1 <= (A NOR B) NOR C;not S1 <= NOT A;
aritméticas+ --> suma- --> resta* --> multiplicación/ --> división** --> potenciaciónabs --> valor absoluto
relacionales= --> igual/= --> distinto< --> menor<= --> menor o igual> --> mayor>= --> mayor o igual
Declaraciones concurrentes VHDL
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Selección with select
Componente port map
Asignamiento condicional when else
Bucle for generate
Bloque block
Avisos assert report
Procesos process
Declaraciones secuenciales VHDL
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
wait on <SEÑAL>;Espera wait for <TIEMPO>;
wait until <CONDICIÓN>;
Condicional if thenelsif
Selección case
Bucle for loops
AHDL vs VHDL. Señales intermedias
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Programación de un CI configurable
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Programar significa realizar conexiones abiertas (‘0’) o cerradas (‘1’) de una matriz de interconexiones
Dos maneras de programar Remover el chip de su sistema y colocándolo en un programador
Interfase JEDEC (Joint Electron Devices Engineering Council) Estándard IEEE. Formato para transferir datos de programación independiente del fabricante
Programación en sistema (ISP). El chip no necesita extraerse para su programación Interfase JTAG (Joint Test Action Group). Estándad IEEE. Se usa tanto para
programar como para testear el sistema
Software de desarrollo:
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Software de referencia: MAX+PLUS II de AlteraDescarga: https://www.altera.com/download/legacy/maxplus2/dnl-student.jspLicencia: http://www.altera.com/download/licensing/lic-choose.html
Permite: Describir un sistema digital mediante:
HDL: VHDL, AHDL, Verilog Diagrama esquemático Formas de ondas
Compilar Verificar Programar
DISEÑO JERARQUICO
Proceso de diseño
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Representación de datos en HDL
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Designación de sistemas numéricos en HDL
Arreglos de bits/vectores de bits
Bibliotecas y paquetes en VHDL
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
“Libraries”
Elementos Fundamentales del VHDL Normalizadas
Tipos de datos predefinidos
Definidas por el usuario
Elementos definidos por el diseñador
Se usan para diseño jerárquico
Formada por paquetes
Sintaxis
Tipos de datos en VHDL .Biblioteca IEEE
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
STD_LOGIC :Tipo predefinido en el estándar IEEE 1164. Este tipo representa una lógica multivaluada de9 valores. Además del ‘0’ lógico y el ‘1’ lógico, posee alta impedancia ‘Z’, desconocido ‘X’ ó sininicializar ‘U’ entre otros. Igual que se permite crear un vector de bits se puede crear unvector de std_logic, STD_LOGIC_VECTOR.
Para poder utilizar el tipo std_logic hay que añadir la librería que lo soporta.use ieee.std_logic_1164.all
Para poder utilizar las funciones aritmeticológicas definidas (suma, resta, multiplicación)use ieee.std_logic_arith.all
Si los vectores están en representación binaria purause ieee.std_logic_unsigned.all
Los vectores están en CA2
use ieee.std_logic_signed.all
Tipos de datos comunes en VHDL .Biblioteca IEEEstd_logic_1164 de VHDL
Diseño de Sistemas Embebidos en FPGA – Curso de PosgradoFacultad de Ciencias Exactas y Tecnología – UNT.
Tipo de datos Declaraciones de ejemploPosibles
valoresUso
BIT y: OUT BIT; „0‟, „1‟ Y <= 0
STD_LOGIC Control: STD_LOGIC„0‟, „1‟, „Z‟, „X‟, „-
‟Control <= „Z‟;
BIT_VECTOR
datos_bcd: BIT_VECTOR
(3 DOWNTO 0);“0101”, “0000”,
“1001”
Digito <=
datos_bcd
STD_LOGIC_VECTOR
dbus: STD_LOGIC_VECTOR
(3 DOWNTO 0); “0Z1X”IF rd=„0‟ then
dbus <= “ZZZZ”
INTEGER SIGNAL m: INTEGER RANGE -32 TO 31-32, … -2, -1, 0,
1,2, …, 31IF m>5 THEN …
Recommended