Está en la página 1de 5

UTN – FRA Cátedra Técnicas Digitales TP 9 - Circuitos Secuenciales Sincronicos

TP 9 - CIRCUITOS SECUENCIALES SINCRÓNICOS


1) Analizar los siguientes circuitos, obteniendo para los mismos el diagrama de estados. A partir de
éste, hallar para el primero de ellos la función que cumple y para el segundo las formas de onda
de salida tras sucesivos pulsos de reloj (analizar no menos de 6 pulsos de reloj consecutivos).

I.

II.

2) A partir de los siguientes diagramas de estado, obtener los correspondientes circuitos


sincrónicos utilizando:
a) Flip-flop SR para el diagrama I).
b) Flip-flop JK para el diagrama II).

I.
0/1
X/0
00 01

0/0 1/0

11 X/1 10
1/1
Ing. Alberto VASQUEZ – 2019 1
UTN – FRA Cátedra Técnicas Digitales TP 9 - Circuitos Secuenciales Sincronicos

II.

X1/0
10/0 0X/0
X1/0
00 01
10/0

10/0 00/0 10/1

00/0 11 01/0 10 01/0


11/0
X1/0
11/0
00/0

3) Por una línea se recibe sincrónicamente con los flancos descendentes del reloj, y
en forma sucesiva, los bits de peso 8, 4, 2 y 1 (en ese orden) de un número
hexadecimal. Luego de recibidos los 4 bits, se pasa sin interrupción a recibir los
bits del número siguiente. Se pide diseñar utilizando flip-flop D un circuito que,
al recibir el último bit de cada número, entregue un 1 a su salida si es que el
número recibido es mayor que 7. Si correspondiera que tras el encendido el
circuito arrancara en un estado determinado, proveer los medios para ello.
NOTA: se observará que este problema es similar al desarrollado en el apunte,
pero ahora se supone que los bits que ingresan primero son los más
significativos, mientras que en el ejemplo del apunte ingresaban primero los de
menor peso.

4) a) Implementar un contador ascendente-descendente sincrónico módulo 8 con un


flip-flop tipo T.
b) Dar la descripcion en VHDL del circuito obtenido.

5) Indicar cual es la secuencia que se detecta e implementar con flip-flop JK por


flanco descendente.

Ing. Alberto VASQUEZ – 2019 2


UTN – FRA Cátedra Técnicas Digitales TP 9 - Circuitos Secuenciales Sincronicos

0/0
A

1/0 0/0

1/0 0/0

1/0 1/0 0/0

1/0
1/1
D

0/0

0/0

6) Implementar con flip-flop T un circuito que detecte palabras de 3 bits mayores


que cuatro que ingresen por la entrada Y, los datos entran sincrónicamente con
la señal de clock. El primero que ingresa como el bit más significativo.

7) Implemente un circuito secuencial sincrónico que genere la secuencia “01011”


(el primer bit de la secuencia es el bms). El mismo deberá tener 2 entradas :
* Cuando la señal de entrada start se encuentra en el valor uno, saldrá la
secuencia indefinidamente. Si la señal de entrada start vale cero el circuito
pone cero en la salida.
* Reset asincrónico (/MR); lleva el circuito al valor inicial.

8) a) Diseñar un circuito, utilizando un contador y un multiplexor, que genere una


palabra serie de 1 byte. Utilizar componentes reales.
b) Dar la descripcion en VHDL del circuito obtenido.

9) Dar el diagrama de estados y transiciones de un circuito que compare dos


palabras de dos bits. Dichas palabras entran al circuito sincrónicamente con una
señal de clock por las entradas A y B .

12) a) Dada la siguiente máquinas de estado descripta en VHDL, indicar su diagrama


de estados y transiciones.
b) Dibujar la Entidad
c) Implementar la descripción con un 74LS164 y escasa lógica adicional.
Ing. Alberto VASQUEZ – 2019 3
UTN – FRA Cátedra Técnicas Digitales TP 9 - Circuitos Secuenciales Sincronicos

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity MEF_Ejemplo3 is
Port ( Y, CL, CLK : in STD_LOGIC;
W : out STD_LOGIC);
end MEF_Ejemplo3;

architecture Behavioral of MEF_Ejemplo3 is


type estado is (S0, S1, S2, S3, S4); -- Defino estados
signal state: estado;
begin
-- Reseteo y luego describo el diagrama de estados t transiciones
Process (CL, CLK)
begin
If CL = '0' then state <= S0; W <= '0';
elsif (clk'event and clk = '1')then
case state is
when S0 => if Y = '0' then
state <= S1; W <= '0';else
state <= S0; W <= '0';
end if;
When S1 => if Y = '0' then
state <= S1; W <= '0'; else
state <= S2; W <= '0';
end if;
when S2 => if Y = '1' then
state <= S0; W <= '0'; else
state <= S3; W <= '0';
end if;
when S3 => if Y = '0' then
state <= S1; W <= '0'; else
state <= S4; W <= '0';
end if;
when S4 => if Y = '0' then
state <= S3; W <= '0'; else
state <= S0; W <= '1';
end if;
end case;
end if;
end Process;
end Behavioral;

74LS164

Ing. Alberto VASQUEZ – 2019 4


UTN – FRA Cátedra Técnicas Digitales TP 9 - Circuitos Secuenciales Sincronicos

Ing. Alberto VASQUEZ – 2019 5

También podría gustarte