VHDL: INTRODUCCION 1 VHDL: Introducción • Niveles de abstracción • Nivel RTL (Register Transfer Level) • Proceso diseño para ASICs • Proceso diseño para FPGAs • CAD disponible • Lenguaje de descripción hardware: VHDL VHDL: INTRODUCCION 2 Gate Y-Chart Transistor ti on nc RT Fu St ru ct Proc. Mem. Switch ur al al NIVELES DE ABSTRACCION RT Language Boolean Eqn or Truth Tab Differential Eqn Polygons Sticks Standard Cells Geometric Algorithm Floorplan VHDL: INTRODUCCION 3 NIVELES DE ABSTRACCION Functional Structural P S M loop for each data input ….. end; wait for 10 ms; end; I/P O/P Pad Frame I/P Geometric P S M O/P VHDL: INTRODUCCION 4 NIVELES DE ABSTRACCION Algorithmic level Register Transfer Level Logic (gate) level Circuit (transistor) level Physical (layout) level Nivel de descripción Más adecuado para síntesis. VHDL: INTRODUCCION 5 NIVELES DE ABSTRACCION SYSTEM MODULE + GATE CIRCUIT DEVICE G S n+ D n+ VHDL: INTRODUCCION 6 EJEMPLO: Circuito a diseñar. VDD VDD M2 M4 Vout Vin M1 Vout2 M3 7 VHDL: INTRODUCCION EJEMPLO: Proceso CMOS clásico 8 VHDL: INTRODUCCION EJEMPLO: Representación layout VHDL: INTRODUCCION 9 Ejemplo: Intel 4004 1971 1000 transistors 1 MHz operation VHDL: INTRODUCCION 10 NIVEL RTL (Register Transfer Level) Registers Combinational Logic Clock Combinational Logic VHDL: INTRODUCCION 11 Proceso diseño para ASICs (1) VHDL code VHDL simulator Functional verification Logic Synthesis Netlist Library of standard cells Speed without routing Area without routing VHDL: INTRODUCCION 12 Proceso diseño para ASICs (2) Netlist Placing & routing Layout Library of standard cells Area with routing Speed with routing VHDL: INTRODUCCION 13 Proceso diseño para FPGAs (1) Design and implement a simple unit permitting to speed up encryption with RC5-similar cipher with fixed key set on 8031 microcontroller. Unlike in the experiment 5, this time your unit has to be able to perform an encryption algorithm by itself, executing 32 rounds….. Specification (Lab Experiments) VHDL description (Your Source Files) Library IEEE; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity RC5_core is port( clock, reset, encr_decr: in std_logic; data_input: in std_logic_vector(31 downto 0); data_output: out std_logic_vector(31 downto 0); out_full: in std_logic; key_input: in std_logic_vector(31 downto 0); key_read: out std_logic; ); end AES_core; Functional simulation Synthesis VHDL: INTRODUCCION 14 Proceso diseño para FPGAs (2) Implementation Timing simulation Configuration On chip testing VHDL: INTRODUCCION 15 CAD disponible Simuladores VHDL • ModelSim (Windows) • Versión libre VHDL: INTRODUCCION 16 CAD disponible Síntesis ASIC • Synopsys Design Compiler (Unix) Síntesis FPGAs •Xilinx ISE (Windows y Linux) VHDL: INTRODUCCION 17 VHDL: Qué es? • VHDL : Lenguaje de descripción hardware estructurado para modelar sistemas digitales. • VHDL: •V: VHSIC – Very High Speed Integrated Circuit •H: Hardware •D: Description •L: Language • VHDL permite modelar y simular sistemas digitales en distintos niveles de abstracción. VHDL: INTRODUCCION 18 VHDL: Historia • 1960s – 1980s - Diferentes lenguajes HDL • 1983 “VHSIC Program” inicia la definición de VHDL. • 1987 VHDL Standard (IEEE 1076) aprobado. • 1990 Verilog domina el mercado - VHDL empieza a ganar aceptación debido a la estandarización. VHDL: INTRODUCCION 19 VHDL: Historia • 1992 IEEE 1164 • 1993 VHDL (revisión) - se incorporan cambios menores para facilitar su uso. • Desde 1994 el VHDL ha sido ampliamente aceptado: - Todas las herramientas EDA (Electronic Design Automation) de Synopsys, Cadence, Mentor… soportan la especificación, simulación y síntesis con VHDL. 20 VHDL: INTRODUCCION VHDL: Tipos de diseño VHDL: INTRODUCCION 21 CONCEPTOS BASICOS Interfaz Externo d0 d1 d2 d3 en clk REG_4 Funcionalidad Interna q0 q1 q2 q3 VHDL: INTRODUCCION 22 ENTITY Entity: Interfaz externo. Entity name Port name entity reg4 is Port port (do,d1,d2,d3,en,clk : in bit; qo,q1,q3,q4: out bit;); end entity reg4; Port mode Port: Modela la estructura de entradas/salidas. 23 VHDL: INTRODUCCION ENTITY (con generic) • Generic: se pueden declarar y especificar parámetros constantes útiles para el modelado del circuito. • Visible para todas las arquitecturas asociadas a la entidad. VHDL: INTRODUCCION 24 ARCHITECTURE Architecture: Modela funcionalidad entrada/salida Architecture name Entity name architecture behav of reg4 is begin …… end architecture behav; VHDL: INTRODUCCION 25 ARCHITECTURE Posibilidad de asignar varias arquitecturas a la misma entidad. 26 VHDL: INTRODUCCION ARCHITECTURE: Ejemplo 27 VHDL: INTRODUCCION ARCHITECTURE: Sintaxis 28 VHDL: INTRODUCCION EJEMPLO: Puerta AND