Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Modelo de un proceso
Proceso
Concurrentes vs. Secuencial
architecture A of E is
Este modelo puede tener begin
cualquier numero de -- concurrent statements
procesos. P1: process
begin
-- sequential statements
El proceso es visto como end process P1;
una sola sentencia -- concurrent statements
concurrente. P2: process
begin
-- sequential statements
Se puede tener n número end process P2;
de sentencias -- concurrent statments
concurrentes y por lo end A;
tanto cualquier número
de procesos.
Asignación de señales en un proceso
Procesos concurrentes: múltiples drivers.
architecture SEQUENTIAL of
MULTIPLE is
Dentro de este ejemplo signal Z, A, B, C, D : std_ulogic;
similar, las dos begin
asignaciones a Z se process(A, B, C, D)
begin
encuentran dentro de Z <= A and B;
un proceso. (Un Z <= C and D;
proceso puede definir end process;
únicamente un driver en end SEQUENTIAL;
una señal)
C
Z
D
Última asignación
process (A, B, C, D)
Estas mismas dos
begin sentencias tienen
Z <= A and B;
Z <= C and D;
significado muy distinto,
end process; dependiendo si se
ejecutan dentro o fuera
= de un proceso.
Architecture X of MULTIPLE is
…
begin
Z <= A and B;
Z <= C and D;
end X;
¿Llamadas a múltiples procesos?
La asignación no
es inmediata!
Ejemplo: process(A,B,M)
begin
Y <= A;
M <=B;
Z <=M; En este punto Z
sigue teniendo
end process Ejemplo; valor 0!
Actualización de valores
Z no ha sido actualizada!
A
B
T1process: Tiempo que
M tarda en ejecutarse el
Z bloque “process”
T1process
Al ejecutarse esta
Segunda ejecución del proceso línea Z no es
afectada!
Ejemplo: process(A,B,M)
Begin A
Y <= A; B
M <=B; M
Z <=M; Z
end process Ejemplo;
T1process
Actualización de valores
A
B
M
Z
T1 T2
process process
Buffer E/S
Definición del tipo en la herramienta de síntesis
EN
EN
CORE_OUT BIDI
CORE_IN
Entrada/Salida con registro
La implementación es
automática utilizando un
registro en la celda de
entrada/salida apropiada
D si esta disponible.
Q Debe soportar el uso
Terminal de implícito de enable y
Salida reset síncronos en la
celda.
CLK
Inserción de registros durante MAP
Xilinx en su mayoría de
dispositivos permite el uso de
pull-up/down, en las terminales
de entrada/salida.
Requerimentos de ruteo
especiales
XC3000 BUFG
XC5200 BUFG
XC4000E BUFGP,BUFGS
BUFG
Composición de
elementos.
ENTIDAD
La entidad en VHDL
describe la interfase de
un bloque jerárquico, sin
describir su
comportamiento.
La entidad es equivalente
a un “símbolo” en un
diseño basado en una
estructura esquemática.
Es la porción de código
que permite definir en
particular Entradas y
Salidas
ENTIDAD:
Informaciones Complementarias
Ejemplo:
entity Ejemplo is
port(
A,B:in bit_vector(7 downto 0);
SEL:in bit; Símbolo Ejemplo
Mux_OR:out bit );
end Ejemplo; A[7:0]
B[7:0] MUX_OR
Equivalencia
Sel
Esquemática
ENTIDAD: Sintaxis de declaración
entity EJEMPLO is
port(Lista puertos de entrada/Salida comprimiendo:
Nombre_de_señal:modo y tipo.);
end [EJEMPLO];
Porción de descripción
del comportamiento del
dispositivo a sintetizar.
La arquitectura describe
el comportamiento de la
entidad.
• Esta asociada a una
entidad
• (dentro del mismo
fichero)
• Posee una parte
declaratoria y una
parte operatoria.
Entidad y Arquitectura
Declaraciones legales 1 2 3 4
signal Z_BUS: bit_vector (3 downto 0) Signal
signal C_BUS: bit_vector (1 to 4) C_BUS
Declaraciones ilegales
signal Z_BUS: bit_vector (0 downto 3) 3 2 1 0
Signal
signal C_BUS: bit_vector (3 to 0)
Z_BUS
bit string literal.