1 LENGUAJE DE DESCRIPCION DE HARDWARE ELECTRONICA DIGITAL NAYIBE CHIO CHO NAYIBE CHIO CHO
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 NAYIBE CHIO CHO
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 NAYIBE CHIO CHO
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 NAYIBE CHIO CHO
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). NAYIBE CHIO CHO
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. NAYIBE CHIO CHO
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 NAYIBE CHIO CHO
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 NAYIBE CHIO CHO
9 Desventajas –Algunas compañías le adicionan características al lenguaje –Complejo debido a que es diseñado por un comité NAYIBE CHIO CHO
10 PROVEEDORES Altera Cypress Semiconductor Clear Logic Motorola Xilinx Vantis Quick Logic NAYIBE CHIO CHO
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) NAYIBE CHIO CHO
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 NAYIBE CHIO CHO
13 Entidad : especifica las líneas de entrada y salida = puertos Arquitectura : forma en que las salidas se relacionan con las entradas NAYIBE CHIO CHO
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 NAYIBE CHIO CHO
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. NAYIBE CHIO CHO
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) NAYIBE CHIO CHO
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<=‘1’; 14else 15 c<= ‘0’; 16end if; 17end process compara; 18End D_funcional; NAYIBE CHIO CHO
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<=‘1’ when (a=b) else ‘0’ 11 end D_flujo_datos; NAYIBE CHIO CHO
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<= (a(1) xnor b(1) 11 And a(0) xnor b(0)); 12 end booleano; NAYIBE CHIO CHO
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; NAYIBE CHIO CHO
21 PALABRAS RESERVADAS absaccesafteralias all andarchitecturearrayassert attribute beginblockbodybufferbus casecomponentconfigurationconstant disconnectdownto elseelseifendentityexit fileforfunction generategenericgroupguarded ifimpureininertialinout is NAYIBE CHIO CHO
22 PALABRAS RESERVADAS (cont..) labellibrarylinkageliteralloop mapmod nandnewnextnornot null ofonopenorothers out packageportpostponedprocedureprocess pure rangerecordregisterrejectrem reportreturnrolror NAYIBE CHIO CHO
23 PALABRAS RESERVADAS (cont..) selectseveritysharedsignalsla sllsrasrlsubtype thentotransporttype unaffectedunitsuntiluse variable waitwhenwhilewith xorxnor NAYIBE CHIO CHO
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 <menor que:=asiganción de variable >mayor que/=desigualdad &concatenador>=mayor o igual que |barra vertical<=menor o igual que ;terminador<>caja #delimitación basada en literales --comentario (paréntesis izquierdo)paréntesis derecho NAYIBE CHIO CHO