Documente Academic
Documente Profesional
Documente Cultură
Lenguaje VHDL
VHDL (VHSIC Hardware Description
Language)
VHSIC Very High Speed
Integrated Circuit
Departamento de la Defensa
de los E.U.A.
Desarrollo de Lenguajes para
Descripcin de Hardware
Programa: Very High Speed
Integrated Circuits (VHSIC)
1970s
IDL/IBM, HDL/TI, ZEUS/GE
Desarrollo en rea Industrial
AHPL, DDL, CDL, ISPS
Desarrollo en rea Acadmica
1980s
AHDL, ABEL, CUPL
VHDL y Verilog
1993 VHDL93
Estndar IEEE -1164
VHDL
es un enguaje de descripcin
de Hardware.
Diferencias con lenguajes de
programacin:
describe procesos que ocurren en
paralelo.
Una descripcin VHDL, representa el
comportamiento o la estructura de un
sistema.
Permite describir un sistema como la
interconexin de componentes.
Usado
segn:
Comportamiento (Behavioural)
Estructura (Structural)
Caractersticas fundamentales
No
Espacios
blancos no influyen:
d1 <= a1 AND b1;
Es equivalente a
d1 <= a1
AND b1;
Tipos de datos
SIGNAL a: BIT_VECTOR(0 DOWNTO 3);
a <= 0111; --datos para
--vectores
Esto significa que
a(0)=1
a(1)=1
a(2)=1
a(3)=0
Tipos de datos
A veces usado para
ndices de loops,
constantes, etc.
BOOLEAN:
Pueden tomar los
valores true o false
ENUMERATED:
Definido por usuario,
p.ej.:
INTEGER:
Operadores
Lgicos:
+ (ms), - (menos)
Aritmticos
Unarios
- (negacin aritmtica)
10
Operadores
Concatenacin
& (concatenar)
Operadores
sobrecargados:
11
Semntica
Lgica
Concurrente
Secuencial
12
Lgica Concurrente
Asignacin simple
x <= a XOR b;
Para SIGNALS (y con ello PORTS)
se tiene que <= es el operador, el
lado izquierdo el destino y el lado
derecho la fuente. Ojo: Destino y
fuente deben ser del mismo tipo.
Para VARIABLES se tiene que el
operador es :=
Ojo, que son
secuenciales!
var := c AND d;
13
Lgica Concurrente
Asignacin condicional, un
ejemplo
WHEN/ELSE
a <= b AND c WHEN c=1 ELSE b OR d;
d
a
b
c
c
14
Lgica Concurrente
WITH/SELECT
WITH sel
z <= A
B
C
D
SELECT
when 00,
when 01,
when 10,
when others;
A
B
C
D
sel[1:0]
15
16
std_logic TYPE
Se encuentra en la librera ieee y contiene
todos los tipos de datos empleados en
VHDL
0
1
Z
L
H
-
-------
Forzando 0
Forzando 1
Alta Impedancia
0 dbil
1 dbil
Dont care
17
Declaracin ENTITY
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY caja_negra IS PORT(
clk,rst:IN
std_logic;
d:
IN
std_logic_vector(7 DOWNTO 0);
q:
OUT std_logic_vector(7 DOWNTO 0);
co:
OUT std_logic);
END caja_negra
Modo
Tipo
18
Estructura bsica
Un
19
ENTITY
Ejemplo
co
20
ENTITY
ENTITY caja_negra IS
PORT( clk,rst:
IN
std_logic;
d:
IN
std_logic_vector(7 DOWNTO 0);
q:
OUT std_logic_vector(7 DOWNTO 0);
co:
OUT std_logic);
END caja_negra
21
PORTS
Puntos
de comunicacin
Tienen asociados un pin de I/O
Clase especial de SIGNAL
Tienen asociados un nombre, modo y
tipo de SIGNAL
22
Modos de PORT
Modos
de PORT
IN
OUT
23
ARCHITECTURE
Descrpicin
caja negra
Behavioural (Comportamiento)
Abstracto (Alto nivel)
Ecuaciones Booleanas
x <= (a OR b) AND c;
Structural
(Estructura)
24
Declaracin de ARCHITECTURE
ARCHITECTURE arch_name OF ent_name IS
-- Definicin opcional de seales
BEGIN
cdigo
END arch_name
25
Lgica Secuencial
PROCESS
26
Lgica Secuencial
Ejemplo:
ARCHITECTURE arch_ej OF ej IS
BEGIN
nand: PROCESS (a,b)
BEGIN
c <= NOT (a AND b);
END PROCESS nand;
END arch_ej;
27
28
29
30
31
32