Está en la página 1de 4

Problema #1 Disear una MSS que funciona como Detector de cdigo BCD.

El circuito debe tener una entrada serie Data y dos salidas BCD y Error.
BCD.H Data.H MSS Error.H

Clock

Resetn

El circuito debe muestrear la entrada Data por cuatro veces consecutivos asumiendo que el primer bit muestreado es el bit ms significativo (MSB). Si el cdigo muestreado corresponde al cdigo BCD, el circuito genera la seal de salida BCD y regresa al estado inicial. Pero, si el cdigo muestreado no corresponde al cdigo BCD, el circuito genera la seal Error en la salida y tambin regresa al estado inicial. Presentar: 1. Diagrama de Estados Primitivo. 2. Mapa de Estados Presentes y Siguientes Primitivo. 3. Diagrama de Estados Reducido.

Resolucin. 1. Formato: Data / BCD Error


0/00 0/00 b 1/00 0/00 d 1/00 h /10 /10 /10 /10 /10 /01 /01 i 0/00 j k e 1/00 f 0/00 l 1/00 m g 0/00 n 0 /01 1/00 a 0/00 1/00 c 1/00

2.

Est. Pr. a b c d e f g h i j k l m n o

In Data 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Out Est.Sig. BCD Error b 00 c 00 d 00 e 00 f 00 g 00 h 00 i 00 j 00 k 00 l 00 m 00 n 00 o 00 a 10 a 10 a 10 a 10 a 10 a 10 a 10 a 10 a 10 a 10 a 01 a 01 a 01 a 01 a 01 a 01

3.
a 0/00 /00 d 0/00 /00 h /10 1/00 m /01 b 0/0 f /00 0/00 c 1/00 g 1/00

Problema #2 Dada el Diagrama de Bloque General de una MSS:


OK.H Data.H MSS Fin.H

Clock

Resetn

1. Describe su Diagrama de Estados en cdigo VHDL utilizando la declaracin process y luego case when para la descripcin de los bloques de Memoria de Estados y de Decodificador de Estado Siguiente. Para la descripcin del Decodificador de Salida utiliza las declaraciones concurrentes condicionales.

/01 0/00 c b /00 1/10 d 0/00 a 1/00

2. Grafique los Diagramas de Tiempo de las seales de salida asumiendo el valor de la seal de entrada dado. Indique claramente el nombre de estado que corresponde a cada periodo de Clock.

Resolucin. 1. library ieee; use ieee.std_logic_1164.all; entity MSS is port (Resetn, Clock, Data OK, Fin end MSS;

: in std_logic; : out std_logic);

architecture comportamiento of MSS is type estado is (a, b, c, d); signal y : estado; begin process (Resetn, Clock) begin if Resetn ='0' then y <= a; elsif (Clock'event and Clock ='1') then case y is when a => if Data ='0' then y <= c; else y <= b; end if; when b => y <= d; when c => y <= a; when d => if Data ='1' then y <= d; else y <=a; end if; end case; end if; end process; Fin <='1' when y = c else '0'; OK <='1' when y = d and Data ='1'else '0'; end comportamiento;

2.

También podría gustarte