Flip Flops

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

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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