Cap.4 – VHDL: Diseño Lógico Secuencial ¿Qué es el Diseño Lógico Secuencial? Estructura Estructura de de un un Sistema
Views 93 Downloads 3 File size 95KB
Cap.4 – VHDL: Diseño Lógico Secuencial
¿Qué es el Diseño Lógico Secuencial?
Estructura Estructura de de un un Sistema Sistema Lógico Lógico Secuencial Secuencial Clasificación Clasificación Entradas
Salidas Entradas
Síncronos Lógica Combinatoria
Señal de Reloj
Señal de Reloj
Señal de Reloj
Elementos de Memoria Señal de Reloj
Elementos de Memoria
Lógica Combinatoria
Salidas
Señal de Reloj
Salidas
Señal de Reloj
Elementos de Memoria
Mixtos Elementos de Memoria
Entradas
Elementos de Memoria
Lógica Combinatoria
Elementos de Memoria
Asíncronos
Cap.4 – VHDL: Diseño Lógico Secuencial
Elementos de Memoria: flip-flops
Elementos de Memoria: Flip-Flops
S
Q
J
Q
R
Q
K
Q
clk S 0 0 0 0 1 1 1 1
Qt 0 1 0 1 0 1 0 1
Qt+1 0 1 0 0 1 1 X X
J 0 0 0 0 1 1 1 1
clk K 0 0 1 1 0 0 1 1
Qt 0 1 0 1 0 1 0 1
Q
T
Q
clk R 0 0 1 1 0 0 1 1
Q
D
Qt+1 0 1 0 0 1 1 1 0
Q clk
D 0 0 1 1
Qt 0 1 0 1
Qt+1 0 0 1 1
T 0 0 1 1
Qt 0 1 0 1
Qt+1 0 1 1 0
Cap.4 – VHDL: Diseño Lógico Secuencial
Elementos de Memoria: flip-flops
En En el el Diseño Diseño Secuencial Secuencial con con VHDL, VHDL, las las construcciones: construcciones: if-then-else if-then-else // if-then-elsif-then if-then-elsif-then son son las las más más utilizadas. utilizadas. D
Q
clk D 0 0 1 1
Qt 0 1 0 1
Qt+1 0 0 1 1
Instrucciones equivalentes: if rising_edge(clk) – verdadero con el flanco de subida if ( clk’event and clk= ’1’ and clk’last_value= ’0’ )
if falling_edge(clk) – verdadero con el flanco de bajada if ( clk’event and clk= ’0’ and clk’last_value= ’1’ )
Ejemplo Nº 1 – Flip-Flop tipo D library ieee; use ieee.std_logic_1164.all; entity ffd is port (D, clk: in std_logic; Q: out std_logic); end ffd; architecture arq_ffd of ffd is begin process (clk) begin if (clk’event and clk=‘1’) then Q