Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Clase 15: Lenguajes de Descripcion de HardwareSistemas Embebidos
Prof: Lic. Jose H. Moyano
Departamento de Ciencias e Ingenierıa de la Computacion
2019
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 1 / 59
Captura a partir de esquematicos
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 2 / 59
Captura a partir de esquematicosInicialmente, el diseno de circuitos electronicos se realizaba a partir de esquematicosen papel (proceso engorroso, propenso a error y complejo de verificar).
Con la introduccion de los primeros simuladores, aparecieron las gate-level netlists(representacion textual) como forma de representar el diseno.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 3 / 59
Captura a partir de esquematicosEn estos simuladores, se podıan representar circuitos a nivel de compuertas en basea primitivas (AND, OR, NAND, etc), introducir y modelar retardos, entre otrasfunciones.
Cada simulador tenıa su propio formato (lenguaje) de especificacion.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 4 / 59
SimulacionLa simulacion se realizaba a partir de laespecificacion, definiendo test-vectors(stimulus).
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 5 / 59
Funcionamiento de simulador logico
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 6 / 59
Captura a partir de esquematicos
El objetivo de los simuladores se centraba en la captura y la verificacion funcionaldel diseno (Computer Aided Engineering — CAE).
Adicionalmente, surgieron herramientas para resolver el layout de los circuitos:determinar donde ubicar las compuertas logicas en el silicio y como conectarlas orutearlas (Computer Aided Design – CAD).
Con el tiempo las herramientas de layout comenzaron a aceptar las mismas netlistsutilizadas en la simulacion.
Actualmente, este conjunto de herramientas se agrupa bajo el tıtulo de ElectronicDesign Automation (EDA).
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 7 / 59
Diseno de ASICs con captura de esquematicos
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 8 / 59
FPGA a partir de esquematicos
Los orıgenes deldiseno usandoFPGAs se basan enlos procesosutilizados para ASICshasta ese entonces.
Habıa que realizarprocesamientoadicional a raız de lasdiferencias en elhardware target.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 9 / 59
Procesos adicionales y modificacionesMapping: transformar la logica digitala LUTs (Logic Elements).
Packing: agrupar funciones LUTs enbloques logicos.
Placing and route: Ubicar bloqueslogicos en el FPGA y conectarlos (noes un problema sencillo).
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 10 / 59
Netlist a nivel CLB
Es posible
Analizar el temporizado de maneraestatica (delay de rutas internas).
Generar una netlist con informaciontemporal (SDF-Standard DelayFormat) para simular.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 11 / 59
Lenguajes de Descripcion de Hardware
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 12 / 59
Lenguajes de Descripcion de Hardware
La captura a partir de esquematicos es un proceso tedioso y muy propenso aerrores para disenos complejos.
Distintos niveles de abstraccion son requeridos para lidiar con dicha complejidad.
Con el tiempo surge otro enfoque para caracterizar los sistemas electronicos: losLenguajes de Descripcion de Hardware (HDL).
I Al principio cada toolset definıa su propio lenguaje. Luego se estandarizaron.I Si bien existen HDLs que representan circuitos analogicos, nos enfocaremos en los
HDLs en el dominio digital.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 13 / 59
Lenguajes de Descripcion de Hardware
Distintos niveles de abstraccion en larepresentacion, soportados en diferentesmedidas por los HDLs.
Representaciones estructurales:I Switch: netlists de transistores.I Gate: compuertas primitivas.
Los formatos de netlists usados por lasherramientas basadas en capturas deesquematicos pueden considerarse HDLs muyrudimentarios.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 14 / 59
Lenguajes de Descripcion de Hardware
Distintos niveles de abstraccion en larepresentacion, soportados en diferentesmedidas por los HDLs.
Representaciones funcionales:I Ecuaciones booleanas.I Register transfer level (RTL).
Las ecuaciones caracterizan logicascombinacionales.
En RTL se caracteriza el diseno como unasucesion de registros conectados por logicacombinacional.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 15 / 59
Lenguajes de Descripcion de Hardware
Distintos niveles de abstraccion en larepresentacion, soportados en diferentesmedidas por los HDLs.
Representacion de ComportamientoI Se utilizan constructores algorıtmicos para
modelar el sistema.
Por encima del nivel de comportamiento, ciertoslenguajes incorporan herramientas de modeladoa nivel de sistema.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 16 / 59
Ejemplos niveles de abstracion
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 17 / 59
Lenguajes de Descripcion de Hardware
Estos diferentes niveles de abstraccion anaden etapas en el ciclo de desarrollo utilizandoHDLs.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 18 / 59
Lenguajes de Descripcion de Hardware
Multiples perspectivas del mismo diseno suelencoexistir.
Ciertas representaciones son mas adecuadaspara simulacion.
Otras estan mas cercanas a la generacion del bitstream yposterior programacion del dispositivo.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 19 / 59
Lenguajes de descripcion de hardware
Los principales lenguajes de descripcion de hardwareutilizados hoy en dıa son:
I VerilogI VHDL
Ponen enfasis en la simulacion y utilizan una semantica de eventos discretos queignora las porciones ociosas del circuito para incrementar la performance de lasimulacion.
Describen a los sistemas como una jerarquıa de bloques cuyas conexiones sonmodeladas explıcitamente.
Describen procesos concurrentes de manera procedural.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 20 / 59
Usos de los HDL
Describir, simular y verificar componentes de hardware como paso previo a lasıntesis en hardware programable o a la manufactura de ASICs.
Sintetizar y descargar disenos en componentes de hardware programable.
Especificar el diseno de ASICs a medida.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 21 / 59
Verilog HDL
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 22 / 59
Verilog
Verilog se desarrollo como un lenguaje para la simulacion de hardware usandoeventos discretos.
Es un lenguaje de modelado y de especificacion.
No todos los constructores de Verilog pueden trasladarse al circuito (semantica nodeterminıstica en funcion de un simulador orientado a eventos).
Tres estilos o formas de modelado:I EstructuralI FuncionalI de Comportamiento
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 23 / 59
Verilog
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 24 / 59
Verilog
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 25 / 59
Verilog
Un programa Verilog se compone de modulos (en el sentido de los lenguajes deprogramacion imperativos), cada uno de los cuales:
I Define interfaces con entradas y salidasI Contiene una o mas
F Instancias de otros modulosF Asignaciones continuas
Comunicacion entre modulos:I Vıa wires (modelo estructural): se calcula su valor continuamente.I Vıa registros (modelo de comportamiento): son elementos de memoria.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 26 / 59
Verilog
Cuatro valores: 0, 1, X (don’t care) y Z (tri-state) (tipado insuficiente en ciertasaplicaciones)
Es un lenguaje amplio con algunas caracterısticas poco usadas hoy en dıa:I Modelado a nivel de conmutacion de transistores: existen simuladores continuos
mas precisos para estos casos (como SPICE).I Delays: se utilizan poco a raız de los metodos de analisis temporales estaticos.
System verilog es un estandar que incorpora mejoras para modelado a nivel desistemas.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 27 / 59
VHDL
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 28 / 59
VHDL
VHDL significa VHSIC (Very High Speed Integrated Circuit) Hardware DescriptionLanguage.
Fue disenado como un lenguaje flexible de modelado de sistemas digitales.
Clara separacion entre interfaces (entitites) e implementaciones (architectures).Admite distintas implementaciones para una misma interface (distintos niveles deabstraccion).
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 29 / 59
VHDL
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 30 / 59
VHDL
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 31 / 59
VHDL soporta
Modelado estructural
Modelado de flujo de datos (funcional)
Modelado de comportamiento
Algunas caracterısticas de modelado de sistemas
Tiene un sistema de tipos mas elaborado que Verilog.
Bibliotecas mas poderosas para reusar definiciones.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 32 / 59
VHDL/VITAL
VHDL no era tan preciso modelando cuestiones de temporizado.
Surge VITAL: VHDL Initiative Toward ASIC Libraries.
Consiste en:I Una biblioteca de funciones primitivas para ASICs/FPGAsI Un mecanismo para anadir informacion de delay y temporizado a dichas funciones
(basandose en el formato tabular utilizado en Verilog).
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 33 / 59
Verilog vs VHDL
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 34 / 59
Verilog vs VHDL
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 35 / 59
Diseno con HDL
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 36 / 59
Diseno con HDL
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 37 / 59
Diseno con HDL
Inicialmente se captura el diseno: HDL(Verilog o VHDL), Matlab/Simulink,C/C++, etc.
Usando las representacionesalgorıtmicas de los HDL, se puedesimular el comportamiento del sistemade manera independiente de como seraimplementado.
Luego se sintetizan las especificacionesa RTL.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 38 / 59
Diseno con HDL
La representacion funcional (RTL)permite simular de maneraindependiente del dispositivo sobre elque se implementara el diseno.
El proceso de sıntesis, a partir de laespecificacion en RTL, genera unanetlist (a nivel de compuertas o LUTs).
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 39 / 59
Diseno con HDL
En los niveles mas bajos se analizancuestiones propias del hardware targety de temporizado.
Finalmente, a partir del modeloposicionado y ruteado, se construye elbitstream que sera descargado en elFPGA.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 40 / 59
Aspectos a tener en cuentaAparecen conflictos entre factores como performance y ocupacion de recursos conformela especificacion se acerca al hardware. . .
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 41 / 59
Sıntesis de comportamiento
El proceso de sıntesis se da a varios niveles y considerainformacion cada vez mas cercana a la implementacion.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 42 / 59
Sıntesis logica
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 43 / 59
Implementacion
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 44 / 59
Sıntesis logica RTL + restricciones temporales
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 45 / 59
Simulacion
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 46 / 59
Intellectual Properties (IP)
La incorporacion de IPs (IntelectualProperties) puede darse a diferentes nivelesde abstraccion.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 47 / 59
Posicionamiento y ruteo
Finalmente hay que resolver el posicionamiento en el target y el ruteo fısico, paragenerar el bitstream.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 48 / 59
Otros HDL
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 49 / 59
Otros HDL
Existen numerosos lenguajes de modelado y descripcion de hardware.
Verilog y VHDL tienen una semantica muy cercana a la implementacion (eficientesal sintetizar).
Ciertos lenguajes ponen el enfasis en la simulacion.
Tambien existen problemas que se describen mejor en terminos de otros modelos decomputacion: por ejemplo procesamiento de senales.
Si bien pueden describirse mediante Verilog y/o VHDL, las tareas de procesamientode senales se representan mejor utilizando lenguajes de flujo e datos.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 50 / 59
Otros HDL
Existen lenguajes hıbridos que combinan diversos modelos de computacion y/o seencuentran destinados a dominios de aplicacion especıficos.
Ej:I Esterel: sistemas de control reactivo.I SDL: lenguaje grafico para especificar protocolos de telecomunicacion.I SystemC: subconjunto de C++ para el modelado de sistemas.
F permite simular en RTL mas rapido que Verilog o VHDLF entorno mas natural para codiseno y coverificacion de SW y HWF proceso de sıntesis menos maduro
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 51 / 59
SystemC
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 52 / 59
Otros HDL
Las especificaciones en RTL son muy dependientes del target y esto dificultaintroducir modificaciones, evaluar alternativas y reutilizar los disenos en ASICs yFPGAs.
Ciertos procesos estan mas enfocados a la simulacion, otros a la implementacion,algunos son mas adecuados para realizar co-diseno y co-verificacion.
Una alternativa: elevar el nivel de abstraccion usando lenguajes de propositogeneral (como por ej. C/C++, SystemC).
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 53 / 59
SystemC
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 54 / 59
Augmented C/C++
Augmented C/C++: C/C++ con constructores adicionales para reflejar cuestionescercanas al hardware.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 55 / 59
Augmented C/C++
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 56 / 59
Pure (untimed) C/C++
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 57 / 59
Comparacion abstracion sintesis
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 58 / 59
Referencias
Cofer, R., Harding, B. Rapid System Prototyping with FPGAs: Accelerating thedesign process (Embedded Technology). Newnes. 2005. ISBN: 978–0750678667.Capıtulos 7 y 8.
Ganssle, J. Embedded System — World Class Designs. Newnes. 2007. ISBN:978–0750686259. Capıtulo 13.
Maxfield, C. FPGAs: World Class Designs. Newnes. 2009. ISBN: 978–1856176217.Capıtulos 5 y 6.
Zurawski, R. Embedded Systems Handbook. CRC Press. 2006. ISBN:978–0849328244. Capıtulo 7.
Prof: Lic. Jose H. Moyano (Departamento de Ciencias e Ingenierıa de la Computacion)Clase 15: Lenguajes de Descripcion de Hardware 2019 59 / 59