Beruflich Dokumente
Kultur Dokumente
• NOTA:
– Algunos CADs permiten mezclar descripciones HDL con descripciones
esquemáticas.
Unidades de Diseño en VHDL
Arquitectura
Entidad
Cuerpo de
Paquete
Paquete
Configuración
Paquetes
• En un paquete se colocan definiciones comunes para
varias entidades de diseño. Ello facilita el trabajo de
equipos.
• Puede contener declaraciones de:
– Valores constantes
– Tipos definidos por el usuario
– Componentes
• Un Cuerpo de Paquete es otra unidad de diseño, que
incluye subprogramas
• En el curso vamos a emplear esta característica del
lenguaje para compartir información y archivos de diseño.
VHDL Metodología de Diseño
Requerimientos Especificaciones
Modelamiento
Simulación
RTL, Funcional
Verificación Rediseño
Síntesis
Ubicación y Conexión
Entradas
ENTITY ejemplo IS
Puerto PORT ( a, b : in BIT; Tipo de dato
c, d : out BIT);
END ejemplo;
Salidas
IN: entrada
Nombre de la Entidad
OUT: salida
INOUT: bidireccional
Arquitectura
• Define la implementación del diseño.
• La arquitectura puede definirse mediante asignaciones de
expresiones lógicas, interconexiones de componentes y
sentencias de alto nivel.
• Funciona como un circuito esquemático.
doctorRajuela :INTEGER;
Buses
ENTITY EjmAsgSimple IS
PORT ( a, b, e : IN BIT;
c, d : OUT BIT );
END EjmAsgSimple;
ENTITY condsigm IS
PORT( high, mid, low : IN BIT;
q : OUT INTEGER RANGE 0 TO 3 );
END condsigm;
ARCHITECTURE maxpld OF condsigm IS
BEGIN
q <= 3 WHEN high = ' 1'ELSE -- prioridad más alta
2 WHEN mid = ' 1'ELSE -- media prioridad
1 WHEN low = ' 1'ELSE -- prioridad más baja
0; -- no hay señal activa
END maxpld;
Asignación Selectiva
Lista alternativas disponibles para cada valor de una expresión.
ENTITY selsig IS
PORT(
d0, d1, d2, d3: IN BIT;
s : IN INTEGER RANGE 0 TO 3;
q : OUT BIT);
END selsig;
ARCHITECTURE maxpld OF selsig IS
BEGIN
WITH s SELECT
output <= d0 WHEN 0,
d1 WHEN 1,
d2 WHEN 2, Multiplexor 4 a 1
d3 WHEN 3;
END maxpld;
Procesos
• Un proceso define sentencias que se ejecutan en la
secuencia descrita.
• Una sentencia Wait o una Lista de Sensibilidad describe
las condiciones para ejecutar la sentencia Process
(Proceso).
• Dentro del proceso, las sentencias se ejecutan
secuencialmente.
• Los procesos se comunican entre sí concurrentemente
mediante señales.
• En un proceso pueden existir asignación de variables, de
señales, llamadas a procedimientos, sentencias IF,
sentencias CASE, y sentencias iterativas.
• Una arquitectura puede contener más de un proceso.
La Sentencia Process
• Usando lista de sensibilidad (Sensitivity List):
PROCESS (a, b, c, d)
BEGIN
-- sentencia secuencial #1
-- ...
-- sentencia secuencial #N
END PROCESS;
PROCESS
BEGIN
WAIT condición
-- sentencia secuencial #1
-- ...
-- sentencia secuencial #N
END PROCESS;
ENTITY if_ex IS
PORT (sel, a, b : IN BIT;
y : OUT BIT);
END if_ex;
asignación
condicional
asignación
selectiva