1 1 LENGUAJE DE DESCRIPCION DE HARDWARE ELECTRONICA DIGITAL NAYIBE CHIO CHO 2008 @ NAYIBE CHIO CHO
2 2 DISPOSITIVOS LOGICOS PROGRAMABLES (PLD) Se clasifican por su arquitectura DispositivoDescripción PROMProgrammable Read Only Memory: memoria programable de sólo lectura PLAProgramable Logic Array : arreglo lógico programable PALProgrammable Array Logic : arreglo lógico genérico GALGeneric Logic Array : dispositivo lógico programable complejo CPLDComplex PLD: dispositivo lógico programable complejo FPGAField Program Gate Array : arreglos de compuertas programables en campo 2008 @ NAYIBE CHIO CHO
3 3 LENGUAJE DE DESCRIPCION DE HARDWARE (HDL) HDL = lenguaje de alto nivel que permite describir las características de una red lógica –Orientado a la descripción de estructuras y el comportamiento del hardware –Se pueden representar diagramas lógicos, expresiones booleanas o circuitos digitales –HDL se puede realizar simulación y síntesis 2008 @ NAYIBE CHIO CHO
4 4 Simulación lógica : representa la estructura y el comportamiento de un sistema digital empleando un computador. Permite detectar errores sin necesidad de crear el circuito físico. Síntesis lógica : lista de componentes y sus interconexiones 2008 @ NAYIBE CHIO CHO
5 5 Algunos HDL son : –VHDL es un lenguaje de descripción de hardware para circuitos integrados de muy alta velocidad, utilizado por el departamento de defensa de estados unidos y universidades. –Verilog HDL es un lenguaje que fue promovido por la compañía Cadence Data Systems y que luego pasó a Open Verilog International (OVI). 2008 @ NAYIBE CHIO CHO
6 6 –AHDL es un lenguaje de descripción de hardware de Altera. No es un lenguaje universal, programa sistemas digitales en PLD’s de Altera. 2008 @ NAYIBE CHIO CHO
7 7 VHDL Lenguaje de descripción en hardware (Hardware Description Language) Creado por el departamento de Defensa de Estados Unidos como parte del programa Very High Speed Integrated Circuits a principios de 1980 Estándar VHDL IEEE 1164 Lenguaje orientado a la descripción y modelado de sistemas digitales 2008 @ NAYIBE CHIO CHO
8 8 Ventajas –Notación formal : permite su uso en cualquier diseño electrónico –Disponibilidad pública –Independencia tecnológica de diseño : soporta PLD, FPGA,ASIC, etc. –Independencia de la tecnología y proceso de fabricación : lenguaje funcion igual en circuitos diseñados con tecnología MOS, bipolares, etc –Independencia de los proveedores –Reutilización de código 2008 @ NAYIBE CHIO CHO
9 9 Desventajas –Algunas compañías le adicionan características al lenguaje –Complejo debido a que es diseñado por un comité 2008 @ NAYIBE CHIO CHO
10 10 PROVEEDORES Altera Cypress Semiconductor Clear Logic Motorola Xilinx Vantis Quick Logic 2008 @ NAYIBE CHIO CHO
11 11 VHDL : Organización y Arquitectura 5 unidades de diseño –Declaración de entidad (Entity declaration) –Arquitectura (Architecture) –Configuración (Configuration) –Declaración del paquete (Package declaration) –Cuerpo del paquete (Package body) 2008 @ NAYIBE CHIO CHO
12 12 Arquitectura Declaración de entidad Configuración Declaración del paquete Cuerpo del paquete Unidades de diseño PRIMARIAS Unidades de diseño SECUNDARIAS 2008 @ NAYIBE CHIO CHO
13 13 Entidad : especifica las líneas de entrada y salida = puertos Arquitectura : forma en que las salidas se relacionan con las entradas 2008 @ NAYIBE CHIO CHO
14 14 VHDL utiliza librerías y paquetes las cuales permiten declarar y almacenar estructuras lógicas seccionadas o completas –Librería : unidades de diseño predeterminadas por el fabricante de la herramienta, agiliza el diseño Ieee : paquete std_logic_1164 Work : numeric_std,std_arith y gatespkg. Lugar donde se almacenan los programas que el usuario va generando 2008 @ NAYIBE CHIO CHO
15 15 –Paquete : contiene algoritmos preestablecidos como sumadores, restadores, contadores, etc Paquete std_logic_1164 : contiene todos los tipos de datos como std_logic_vector, std_logic, etc. 2008 @ NAYIBE CHIO CHO
16 16 Arquitecturas –Estilo funcional o de comportamiento: expone la forma en que trabaja el sistema, relación que hay entre las entradas y salidas del circuito –Estilo por flujo de datos: indica la forma en que los datos s pueden transferir de una señal a otra se utilizan instrucciones when – else o ecuaciones booleanas –Estilo estructural : basa su comportamiento en modelos lógicos establecidos (compuertas, sumadores, contadores, etc) 2008 @ NAYIBE CHIO CHO
17 17 Estilo funcional COMPARADOR aoao bobo c a1a1 b1b1 1--comparador descripción funcional 2library ieee; 3use ieee.std_logic_1164.all; 4Entity comparador is 5port (a,b: in bit_vector (1 downto 0); 6C : out bit ); 7end comparador; 8architecture D_funcional of comparador is 9begin 10Compara : process (a,b) 11begin 12If a = b then 13 c
18 18 Estilo flujo de datos –Utilizando when - else 1--comparador flujo de datos when-else 2library ieee; 3use ieee.std_logic_1164.all; 4Entity comparador is 5port (a,b: in bit_vector (1 downto 0); 6C : out bit ); 7end comparador; 8architecture D_flujo_datos of comparador is 9begin c
19 19 Estilo flujo de datos –Ecuaciones booleanas 1--comparador flujo de datos – ecuaciones booleanas 2library ieee; 3use ieee.std_logic_1164.all; 4Entity comparador is 5port (a,b: in bit_vector (1 downto 0); 6C : out bit ); 7end comparador; 8architecture booleano of comparador is 9begin 10 c
20 20 Estilo estructural ao bo a1 b1 c U0 U1 X0 x1 U2 1--comparador descripción estructural 2library ieee; 3use ieee.std_logic_1164.all; 4Entity comparador is 5port (a,b: in bit_vector (0 to 1); 6c : out bit ); 7end comparador; 8use work.compuerta.all; 9. architecture estructural of comparador is 10signal x: bit_vector (0 to 1); 11begin 12 U0 : xnor2 port map (a(0), b(0), x(0)); 13U1 : xnor2 port map (a(1),b(1),x(1)); 14U2 : and2 port map (x(0), x(1), c); 15 end estructural; 2008 @ NAYIBE CHIO CHO
21 21 PALABRAS RESERVADAS absaccesafteralias all andarchitecturearrayassert attribute beginblockbodybufferbus casecomponentconfigurationconstant disconnectdownto elseelseifendentityexit fileforfunction generategenericgroupguarded ifimpureininertialinout is 2008 @ NAYIBE CHIO CHO
22 22 PALABRAS RESERVADAS (cont..) labellibrarylinkageliteralloop mapmod nandnewnextnornot null ofonopenorothers out packageportpostponedprocedureprocess pure rangerecordregisterrejectrem reportreturnrolror 2008 @ NAYIBE CHIO CHO
23 23 PALABRAS RESERVADAS (cont..) selectseveritysharedsignalsla sllsrasrlsubtype thentotransporttype unaffectedunitsuntiluse variable waitwhenwhilewith xorxnor 2008 @ NAYIBE CHIO CHO
24 24 SIMBOLOS SímboloDescripciónSímboloDescripción +suma, número positivo:separa objetos dato del tipo -resta, número negativo“comilla doble /división‘comilla simple =igualdad**exponenciación mayor que/=desigualdad &concatenador>=mayor o igual que |barra vertical