diseño lógico 2 metodología de diseño julio pérez instituto de ingeniería eléctrica 2005
TRANSCRIPT
Diseño Lógico 2Metodología de Diseño
Julio Pérez
Instituto de Ingeniería Eléctrica
2005
Fac. de Ingenieria IIE 2
Metodología y herramientas de diseño
• "Puente" entre especificación inicial del diseño y el equipo funcionando
• Uso creciente de herramientas de CAD• Permite atacar proyectos cada vez más
complejos con una cantidad de horas-persona manejable
Fac. de Ingenieria IIE 3
Niveles y Vistas
• Niveles de abstracción» Arquitectural» Lógico» Circuito
• Vistas
» Comportamental» Estructural» Físico
Fac. de Ingenieria IIE 4
Fac. de Ingenieria IIE 5
Niveles de abstracción
• Arquitectural» Operaciones y transferencia entre registros
• Lógico» Funciones lógicas
• Circuito» Funciones de transferencia, componentes
eléctricos, layouts
Fac. de Ingenieria IIE 6
Vistas oDominios de descripción
• Comportamental» Describe la función, no la implementación» Especificación de un diseño nuevo» Rapidez en tener un modelo simulable
• Estructural» Interconexión de componentes» Esquemáticos, netlist
• Físico» Partición, colocación y enrutamiento (Place&Route)
Fac. de Ingenieria IIE 7
Niveles y Vistas
Nivel Comportamental Estructural Físico
Sistema Procesadores, memorias, buses
Gabinetes, tarjetas
Arquitectural Transferencia de registros (RT)
ALUs, registros, muxes
Chips, módulos
Lógico Ecuac. Booleanas, diag. de estado
Compuertas, FF, netlist
Asignación de celdas
Circuito Funciones de transferencia
Transistores Layout de mascaras
Fac. de Ingenieria IIE 8
Restricciones
• área• costo• retardos
Fac. de Ingenieria IIE 9
Tipos de Herramientas
• Lenguajes de descripción» textuales (verilog, vhdl, ahdl)» gráficos
• Herramientas de verificación» Simulaciones» verificación formal comparando dos
descripciones
Fac. de Ingenieria IIE 10
Tipos de Herramientas
• Herramientas de síntesis» Pasaje automático de un nivel al siguiente
o de vista comportamental a vista estructural
» Más desarrollados en los niveles más bajos. P. ej. generación automática de la configuración de un PLD
Fac. de Ingenieria IIE 11
Tipos de Herramientas
• Herramientas de optimización» Minimización» optimización de retardos
• Herramientas de implantación física» Partición» Place and Route
• Herramientas de verificación de reglas de diseño
Fac. de Ingenieria IIE 12
Ciclo de diseño más usual para PLDs y FPGAs
• Ingreso del diseño• "Compilación"• Optimización• Simulación• Fitting• Carga o Grabación• Test
Captura
esquemática
Máquina de estadosTabla de verdadAlgebra de Boole
Otros lenguajesde descripcionhardware (VHDL)
Bibliotecas
COMPILACION
MINIMIZACION
SIMULACION
CARGA o GRABACION
YTEST
Archivo
(JEDEC, POF. TTF)
Entradas
Salida gráfica
Reportes
MAPEOTECNOLOGICO
(FITTING)
Fac. de Ingenieria IIE 14
Ingreso del diseño
• Captura de esquemáticos• Tabla de verdad• Algebra de boole• Diagrama de estados• Otros Lenguajes: VHDL, Verilog, ABEL
Captura
esquemática
Máquina de estadosTabla de verdadAlgebra de Boole
Otros lenguajesde descripcionhardware (VHDL)
Bibliotecas
COMPILACION
MINIMIZACION
SIMULACION
CARGA o GRABACION
YTEST
Archivo
(JEDEC, POF. TTF)
Entradas
Salida gráfica
Reportes
MAPEOTECNOLOGICO
(FITTING)
Fac. de Ingenieria IIE 16
"Compilación"
• Reducción:» descripción "amigable" --> descripción
interna
• inconsistencias• errores de sintaxis
Fac. de Ingenieria IIE 17
Optimización
• Quine-McCluskey, Presto, Espresso• Opciones según objetivos de diseño
» Area vs. Velocidad
• Opciones según arquitectura destino» Por pin (PAL) o como función de salida
múltiple (compartiendo productos)» Herramientas del fabricante o “plugins”
para herramientas genéricas
Captura
esquemática
Máquina de estadosTabla de verdadAlgebra de Boole
Otros lenguajesde descripcionhardware (VHDL)
Bibliotecas
COMPILACION
MINIMIZACION
SIMULACION
CARGA o GRABACION
YTEST
Archivo
(JEDEC, POF. TTF)
Entradas
Salida gráfica
Reportes
MAPEOTECNOLOGICO
(FITTING)
Fac. de Ingenieria IIE 19
Simulación y Verificación
• Validación del diseño• Con diferentes modelos de abstracción• ¿Por qué no anda si me simuló OK?
» Inicialización de registros» Retardos
• especificación de la simulación:» vectores de prueba» dibujo de formas de onda de entrada y salida esperada» lenguajes (VHDL)
Fac. de Ingenieria IIE 20
Simulación y VerificaciónTestbench
• Testbench» entidad sin I/O» una instancia del
“device under test”» señales internas
para manejar entradas / verificar salidas del DUT
» en general no sintetizable
Entity probador is
end probador;
architecture test of probador is
signals sx1, sx2, sy: std_logic
begin
-- instanciacion de dut
-- ...
test_seq: process
begin
x1 <= '0';
x2 <= '0';
wait for 10 ns;
x1 <= '1';
x2 <= '0';
...
end
end
Fac. de Ingenieria IIE 21
Simulación y Verificación
• Inicialmente se examina el resultado en forma visual
• Es importante poder repetir las simulaciones en modo batch y solo reportar si algún test da mal.» Comparando con corridas anteriores.» Comando assert
Fac. de Ingenieria IIE 22
Adaptación a un dispositivo (fitting)
• cabe un diseño dado en un chip dado?• dado un diseño y criterios, lista ordenada
de chips en los que cabe• partición
» minimizar cantidad de chips» minimizar cantidad de señales» retardos
• Si cabe: “place and route”
Fac. de Ingenieria IIE 23
Adaptación a un dispositivo (fitting)
• Limitaciones» Cantidad de pines» Área (cantidad de celdas lógicas)» Conexionado interno
» Retardos» Consumo
Captura
esquemática
Máquina de estadosTabla de verdadAlgebra de Boole
Otros lenguajesde descripcionhardware (VHDL)
Bibliotecas
COMPILACION
MINIMIZACION
SIMULACION
CARGA o GRABACION
YTEST
Archivo
(JEDEC, POF. TTF)
Entradas
Salida gráfica
Reportes
MAPEOTECNOLOGICO
(FITTING)
Fac. de Ingenieria IIE 25
Grabación
• Resultado final: archivo a grabar• Formatos
» estándar JEDEC» formatos propietarios (pof, ttf, …)
• Variaciones según tecnología» EPROM» EEPROM» RAM
Fac. de Ingenieria IIE 26
GrabaciónTecnologías no volátiles
• FUSIBLE• ANTIFUSIBLE• EPROM• EEPROM
• Structured Asics (MPLDs, HardCopy)
Fac. de Ingenieria IIE 27
GrabaciónTecnologías Volátiles
• RAM estática• Modos de inicialización
» Serie o paralelo» Activo o pasivo
Fac. de Ingenieria IIE 28
Prueba
• Controlabilidad• Observabilidad• Métodos de barrido (boundary scan,
JTAG)• Vectores de prueba
» Se incorporan al archivo JEDEC» Chip testers
Fac. de Ingenieria IIE 29
PruebaJTAG IEEE Std 1149.1- 1990
• Especifica test de placas• Alternativa a la “cama de clavos”• Pines interfaz JTAG:
» Test Data Input» Test Data Output» Test Mode Select» Test Clock Input» Test Reset Input
Fac. de Ingenieria IIE 30
PruebaBuilt In Self-Test (BIST)
• Cada módulo se auto-testea generando internamente una secuencia seudoaleatoria de vectores de test
• Se comanda externamente el inicio del test. Se obtiene como resultado un “hash” de la secuencia de resultados que externamente se puede comparar con el valor esperado
Fac. de Ingenieria IIE 31
Herramientas
• "Cerradas" o "abiertas"• Formatos de intercambio
» EDIF– Electronic Design Interchange Format
» JEDEC» netlists (listas de conexiones) varios
formatos, inclusive VHDL
Fac. de Ingenieria IIE 32
Herramientas disponibles en el IIE
• Altera» MAX+PLUS II» Quartus de Altera laboratorio
• Xilinx ISE• Otros
» Synplify» Mentor Graphics» …
Fac. de Ingenieria IIE 33
• Ciclo de diseño en Quartus II
Fac. de Ingenieria IIE 34
Referencias
• Gajski, Dutt, Wu, Lin; “High Level Synthesis”