VHDL: Introducción

Anuncio
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
Descargar