340 likes | 530 Views
Diseño Lógico 2 Metodología de Diseño. Julio Pérez Instituto de Ingeniería Eléctrica 2005. 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
E N D
Diseño Lógico 2Metodología de Diseño Julio Pérez Instituto de Ingeniería Eléctrica 2005
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
Niveles de abstracción Arquitectural Lógico Circuito Vistas Comportamental Estructural Físico Niveles y Vistas
Niveles de abstracción • Arquitectural • Operaciones y transferencia entre registros • Lógico • Funciones lógicas • Circuito • Funciones de transferencia, componentes eléctricos, layouts
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)
Restricciones • área • costo • retardos
Tipos de Herramientas • Lenguajes de descripción • textuales (verilog, vhdl, ahdl) • gráficos • Herramientas de verificación • Simulaciones • verificación formal comparando dos descripciones
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
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
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
Máquina de estados Otros lenguajes Captura Tabla de verdad de descripcion esquemática Algebra de Boole hardware (VHDL) Bibliotecas COMPILACION MINIMIZACION Entradas MAPEO SIMULACION TECNOLOGICO (FITTING) Salida gráfica Reportes Archivo (JEDEC, POF. TTF) CARGA o GRABACION Y TEST
Ingreso del diseño • Captura de esquemáticos • Tabla de verdad • Algebra de boole • Diagrama de estados • Otros Lenguajes: VHDL, Verilog, ABEL
Máquina de estados Otros lenguajes Captura Tabla de verdad de descripcion esquemática Algebra de Boole hardware (VHDL) Bibliotecas COMPILACION MINIMIZACION Entradas MAPEO SIMULACION TECNOLOGICO (FITTING) Salida gráfica Reportes Archivo (JEDEC, POF. TTF) CARGA o GRABACION Y TEST
"Compilación" • Reducción: • descripción "amigable" --> descripción interna • inconsistencias • errores de sintaxis
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
Máquina de estados Otros lenguajes Captura Tabla de verdad de descripcion esquemática Algebra de Boole hardware (VHDL) Bibliotecas COMPILACION MINIMIZACION Entradas MAPEO SIMULACION TECNOLOGICO (FITTING) Salida gráfica Reportes Archivo (JEDEC, POF. TTF) CARGA o GRABACION Y TEST
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)
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 Simulación y VerificaciónTestbench
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
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”
Adaptación a un dispositivo (fitting) • Limitaciones • Cantidad de pines • Área (cantidad de celdas lógicas) • Conexionado interno • Retardos • Consumo
Máquina de estados Otros lenguajes Captura Tabla de verdad de descripcion esquemática Algebra de Boole hardware (VHDL) Bibliotecas COMPILACION MINIMIZACION Entradas MAPEO SIMULACION TECNOLOGICO (FITTING) Salida gráfica Reportes Archivo (JEDEC, POF. TTF) CARGA o GRABACION Y TEST
Grabación • Resultado final: archivo a grabar • Formatos • estándar JEDEC • formatos propietarios (pof, ttf, …) • Variaciones según tecnología • EPROM • EEPROM • RAM
GrabaciónTecnologías no volátiles • FUSIBLE • ANTIFUSIBLE • EPROM • EEPROM • Structured Asics (MPLDs, HardCopy)
GrabaciónTecnologías Volátiles • RAM estática • Modos de inicialización • Serie o paralelo • Activo o pasivo
Prueba • Controlabilidad • Observabilidad • Métodos de barrido (boundary scan, JTAG) • Vectores de prueba • Se incorporan al archivo JEDEC • Chip testers
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
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
Herramientas • "Cerradas" o "abiertas" • Formatos de intercambio • EDIF • Electronic Design Interchange Format • JEDEC • netlists (listas de conexiones) varios formatos, inclusive VHDL
Herramientas disponibles en el IIE • Altera • MAX+PLUS II • Quartus de Altera laboratorio • Xilinx ISE • Otros • Synplify • Mentor Graphics • …
Referencias • Gajski, Dutt, Wu, Lin; “High Level Synthesis”