Está en la página 1de 19

ESCUELA SUPERIOR POLITECNICA DEL LITORAL

FACULTAD DE INGENIERIA EN ELECTRICIDAD Y COMPUTACIN

SISTEMAS DIGITALES II
DEBER PARA SEGUNDA EVALUACIN
I TRMINO 2012-2013
PROBLEMA # 1

Disee un pequeo Sistema Digital Detector de los dos nmeros mayores de un grupo de
hasta 32 datos.
Inicialmente el sistema espera a que se active la seal Start. Luego pasa a un estado de
recepcin de nmeros, en este estado se espera a que se reciba la seal Load, en ese
momento el nmero binario de 5 bits presente en la entrada Data debe almacenarse
internamente para luego hacer las comparaciones necesarias. Luego de procesar el dato, el
sistema no continuar hasta que la seal Load se desactive.
Ahora el sistema debe esperar a que se active la seal Fin, que se haya cumplido el mximo
de 32 datos procesados o se pida cargar un nuevo dato. Si se activa Fin o si ya hay 32 datos
procesados el sistema va al estado de finalizacin, si no se cumple ninguna de las dos
condiciones anteriores el sistema pregunta por una nueva activacin de la entrada Load, si
esto ocurre el sistema debe repetir el proceso de recepcin y procesamiento de un nuevo dato.
En el estado de finalizacin, el sistema debe mostrar en la salida Pmay de 5 bits, el promedio
de los dos nmeros mayores (los dos ms grandes) del total de los datos procesados y
adems debe activar la salida Done. Estas salidas se siguen mostrando mientras la seal
Start permanezca activa, luego de esto el sistema regresa al estado inicial.
Nota: inicialmente los dos nmeros mayores se consideran iguales a cero.

Presentar:
1. Particin Funcional del Sistema Digital.
2. Diagrama ASM del circuito Controlador del Sistema Digital, indicando claramente
todas las salidas que deben ser generadas.

Deber # 2 de Sistemas Digitales II

Pgina 1 de 19

PROBLEMA # 2

Disee un pequeo Sistema Digital Clasificador de datos de encuestas personales.


Inicialmente se espera por la seal Inicio que al ser verdadera enva al sistema a un estado
de activacin. Desde este estado el sistema espera a que la seal Cargar se active y luego se
desactive. Mientras esto ocurre, el valor presente en la entrada Data debe almacenarse
internamente. Despus el sistema comienza la clasificacin. La informacin del Dato se
descompone de la siguiente manera:
Ahora el sistema deber clasificar y contar
si el dato actual pertenece a una o ms de
las siguientes categoras:
1. Casados mayores de 20 aos sin
instruccin
2. Mujeres menores de 18 aos con al
menos dos hijos
3. Divorciados
con
instruccin
superior.
El dato deber ser contado y clasificado
secuencialmente (categora por categora)
Ahora el sistema preguntar si se activ la seal Fin que significa que se ha ingresado el
ltimo dato, de no ser as preguntar si se activ nuevamente Cargar y por ende repetir el
proceso para un nuevo dato.
Cuando el proceso ha finalizado, el sistema deber ahora mostrar en perodos consecutivos
de reloj, en la salida Clase, el total de personas ingresadas que cumplieron las categoras 1, 2
y 3 (una por una) respectivamente. Finalmente se debe activar la salida Terminado que
permanecer encendida mientras Inicio contine activado, luego el sistema debe volver al
estado inicial del sistema (desactivacin). Cuenta mxima : 63 personas

Presentar:
3. Particin Funcional del Sistema Digital.
4. Diagrama ASM del circuito Controlador del Sistema Digital, indicando claramente
todas las salidas que deben ser generadas.

Deber # 2 de Sistemas Digitales II

Pgina 2 de 19

PROBLEMA # 3

Se muestran la Particin Funcional y el Diagrama ASM del circuito Controlador de un


Sistema Digital.
1. Particin Funcional

Presente:
Descripcin del Sistema en un solo programa en VHDL usando las declaraciones
process case when para describir las Transiciones de Estados y las Salidas del
Controlador, y la architecture mixta para la Particin Funcional.
Asuma que Resetn del Controlador es asincrnico.
Asuma que dispone de archivos .vhd en la misma carpeta de Trabajo para
conv_dec_bcd, contador_down, contador_up y dec_dr_new que forman parte del

Deber # 2 de Sistemas Digitales II

Pgina 3 de 19

Sistema Digital. El circuito Controlador, sumadores, muxes, dec2a4 y las puertas


lgicas deben ser descritos dentro de architecture.
As mismo suponga que el orden de las entradas y salidas en las declaraciones port de
los subcircuitos es similar al del Diagrama Esquemtico presentado.
Grafique los Diagrama de Tiempo del circuito Controlador asumiendo las condiciones
de entrada dadas. Indique claramente los intervalos de tiempo que corresponden a
cada estado (y).
2. Diagrama ASM
Ta
EnCb,LdCb,
EnF1,EnF2,
EnF3,LdF
0

Inicio
Tb
Ld1

Th
Puerta

1
0

Final

tecla

0
1

B1

En1

0
0

B2

Tc
Ld1
En1
tecla
Td
Ld2

uno
EnCb

1
En3
1

dos

tres

EnF1

EnF2

EnF3

Ti
0

B3

En2

En1

Tj

Tk

tecla
1

B1

En2

B2

B3

Te
Ld2
Tl

En2
1

tecla
Tf
Ld3

Seguir

EnCb

1
0

Cig3

tecla

1
1

En3
Tg
Ld2
En3
tecla

Deber # 2 de Sistemas Digitales II

Pgina 4 de 19

3. Diagrama de Tiempo

Deber # 2 de Sistemas Digitales II

Pgina 5 de 19

PROBLEMA # 4

Se muestran la Particin Funcional y el Diagrama ASM del circuito Controlador de un


Sistema Digital.
1. Particin Funcional

Presente:
Descripcin del Sistema en un solo programa en VHDL usando las declaraciones
process case when para describir las Transiciones de Estados y las Salidas del
Controlador, y la architecture mixta para la Particin Funcional.
Asuma que Resetn del Controlador es asincrnico.
Asuma que dispone de archivos .vhd en la misma carpeta de Trabajo para
registro_sost, registro_sost10, conv_dec_bcd, contador_down, conv_2bcd_bin y
conv_bin_3bcd_en que forman parte del Sistema Digital. El circuito Controlador,
comparador, mux2a1, decoders4a16, sumadores y las puertas lgicas deben ser
descritos dentro de architecture.
As mismo suponga que el orden de las entradas y salidas en las declaraciones port de
los subcircuitos es similar al del Diagrama Esquemtico presentado.

Grafique los Diagramas de Tiempo del circuito Controlador asumiendo las


condiciones de entrada dadas. Indique claramente los intervalos de tiempo que
corresponden a cada estado (y).

Deber # 2 de Sistemas Digitales II

Pgina 6 de 19

2. Diagrama ASM

Deber # 2 de Sistemas Digitales II

Pgina 7 de 19

Resetn
Ta
EnC, LdC
EnS
0

Start
Tb

tecla
1
EnDe
Tc

EnDe
1

tecla
Td

tecla
1
EnU
Te

EnU
1

tecla
Tf
sel

0
Start

Th
mostrar, Fin
div

1
EnC, EnS
Tg

Deber # 2 de Sistemas Digitales II

1
0

diez
0
Terminar

Pgina 8 de 19

3. Diagramas de Tiempo

Deber # 2 de Sistemas Digitales II

Pgina 9 de 19

PROBLEMA # 5

Disee un pequeo Sistema Digital Clasificador de Peso.


Inicialmente el sistema espera la activacin de la seal Start. Cuando esto ocurre queda
esperando a que se active la seal Paquete, que indica que hay un paquete presente, ahora
el sistema debe leer (y almacenar) en la entrada Peso el valor en binario del peso en Kg del
paquete:
Si el paquete pesa menos de 10Kg, se lo considera carga ligera, si el paquete pesa de 10Kg
hasta 20 Kg, se lo considera carga mediana, y si pesa ms de 20 Kg se lo considera pesado.
Luego de procesar la informacin y verificar que la seal paquete ya se desactivo, el sistema
pregunta por si se han ingresado hasta 32 paquetes (lo mximo) o si se activa la seal Final.
Si ambas condiciones son falsas, el sistema regresa a esperar por otro paquete.
Si Final es verdadera o si se completaron los 32 paquetes, el sistema mostrar en tres
displays de siete segmentos (una informacin a la vez) la cantidad de paquetes ligeros
ingresados, luego el total del Kg de carga ligera, luego la cantidad de paquetes medianos,
luego el total en Kg de carga ligera, luego la cantidad de paquetes pesados y finalmente el
total en Kg de carga pesada. Para dejar de mostrar una informacin y pasar a la siguiente se
debe presionar y soltar la entrada Continuar.
Despus de que se presiono y solt Continuar por ltima vez (luego de mostrar los Kg de
pesados) el sistema debe regresar al estado inicial.
Nota: Mientras se estn ingresando y procesando los pesos, los tres displays deben estar
desactivados.

Presente:
1. Diagrama ASM del circuito Controlador debidamente documentada. ( indicar todos las
entradas y salidas)
2. Particin Funcional

Deber # 2 de Sistemas Digitales II

Pgina 10 de 19

PROBLEMA # 6

Disee un Pequeo Sistema Digital Adivinador de nmeros en un mximo de 5 intentos.


Inicialmente el sistema espera que se active la seal Start, luego de lo cual debe
automticamente generar y almacenar, uno por uno, tres nmeros aleatorios entre 0 y 7 (Para
este fin use la seal de reloj clock2, de alta frecuencia que no est sincronizada con el reloj
principal del sistema. Los nmeros si pueden ser repetidos). Los nmeros deben ser
almacenados internamente y no sern mostrados.
Luego el sistema debe activar la salida Ingresar, y quedar a la espera de que el jugador
ingrese por el teclado decimal, uno por uno los tres nmeros que cree son los generados
(Ingresar se vuelve a activar antes de recibir cada nmero). Luego que el jugador haya
terminado de ingresar sus tres nmeros, el sistema debe computar lo siguiente:
1. Cantidad de nmeros correctos en la posicin correcta
2. Cantidad de nmeros correctos en posicin correcta o incorrecta.
Ahora el sistema debe mostrar en dos displays de siete segmentos los resultados de sus
computos. Ejemplo: Si los nmeros generados son 5 7 3
Si se ingresan: 5 3 2 los displays muestran 1 y 2
Si se ingresan: 3 5 7 los displays muestran 0 y 3
Si se ingresan: 0 5 7 los displays muestran 0 y 2
Estos resultados se mantienen en los displays hasta que se active la seal Continuar. Ahora
el sistema debe preguntar si el jugador gan o si se agotaron los 5 intentos:
Si gan (o se acabaron los 5 intentos), debe activar la salida triunfo (si no gano no
activa ninguna salida), y seguir as mientras Start siga siendo verdadera luego de lo
cual regresa al estado inicial para otro juego.
Si no gan y an no se acaban los 5 intentos debe ingresar tres nuevos nmeros y
probar nuevamente.

Presente:
3. Diagrama ASM del circuito Controlador debidamente documentada. ( indicar todos las
entradas y salidas)
4. Particin Funcional

Deber # 2 de Sistemas Digitales II

Pgina 11 de 19

PROBLEMA # 7

Dada la siguiente descripcin en VHDL del funcionamiento de un Sistema Digital:


Presentar:
1. Particin Funcional del Sistema Digital.
2. Diagrama ASM del circuito Controlador del Sistema Digital, indicando claramente
todas las salidas que deben ser generadas.
3. Diagramas de Tiempo del circuito Controlador asumiendo las condiciones de entrada
dadas. Indique claramente los nombres y la duracin de cada estado (y).
library ieee;
use ieee.std_logic_1164.all;
entity problema2_vhdl is
port(Resetn, Clock, Inicio
Dato
Fin, Agitar, Llenar
end problema2_vhdl;

: in std_logic;
: in std_logic_vector(3 downto 0);
: out std_logic);

architecture mixta of problema2_vhdl is


type estado is (S1, S2, S3, S4, S5, S6);
signal y : estado;
component registro_sost
port(Resetn, Clock
: in std_logic;
Entrada
: in std_logic_vector(3 downto 0);
En
: in std_logic;
Q
: out std_logic_vector(3 downto 0));
end component;
component contador_down
port(Clock, Ld, En
: in std_logic;
Ent
: in std_logic_vector(3 downto 0);
Q
: out std_logic_vector(3 downto 0));
end component;
component contador_up
port(Clock, Ld, En
: in std_logic;
Ent
: in std_logic_vector(1 downto 0);
Q
: out std_logic_vector(1 downto 0));
end component;
signal En_A, En_B, En_C, En_D, LCM, ECM, LC, EC : std_logic;
signal Cig3, CMig0, tiempo : std_logic;
signal DtA, DtB, DtC, DtD, Dt, CM : std_logic_vector(3 downto 0);
signal C, zero : std_logic_vector(1 downto 0);
begin
-- Circuito Controlador
MSS_transiciones: process (Resetn, Clock)
begin

Deber # 2 de Sistemas Digitales II

Pgina 12 de 19

if Resetn ='0' then y <= S1;


elsif (Clock'event and Clock = '1') then
case y is
when S1 => if Inicio ='0' then y <= S1; else y <= S2; end if;
when S2 => if Cig3 ='0' then y <= S2; else y <= S3; end if;
when S3 => y <= S4;
when S4 => if CMig0 ='0' then y <= S4;
elsif Cig3 ='1' then y <= S6; else y <= S5; end if;
when S5 => y <= S4;
when S6 => if Inicio ='1' then y <= S6; else y <= S1; end if;
end case;
end if;
end process;
MSS_salidas: process (y, Cig3, C(1), CMig0)
begin
EC <='0'; LC <='0'; tiempo <='0'; ECM <='0';
LCM <='0'; Agitar <='0'; Llenar <='0'; Fin <='0';
case y is
when S1 => EC <='1'; LC <='1';
when S2 => tiempo <='1'; EC <='1';
when S3 => ECM <='1'; LCM <='1';
when S4 => ECM <='1';
if C(1)='1' then Agitar <='1'; else Llenar <='1'; end if;
if CMig0 ='1' and Cig3 ='0' then EC <='1'; end if;
when S5 => ECM <='1'; LCM <='1';
when S6 => Fin <='1';
end case;
end process;
-- Procesador de Datos
reg0: registro_sost port map(Resetn, Clock, Dato, En_A, DtA);
reg1: registro_sost port map(Resetn, Clock, Dato, En_B, DtB);
reg2: registro_sost port map(Resetn, Clock, Dato, En_C, DtC);
reg3: registro_sost port map(Resetn, Clock, Dato, En_D, DtD);
zero <= "00";
contador1: contador_down port map(Clock, LCM, ECM, Dt, CM);
contador2: contador_up port map(Clock, LC, EC, zero, C);
with C select
Dt <= DtA when "11",
DtB when "10",
DtC when "01",
DtD when others;
Dec_2a4: process(C, tiempo)
begin
if tiempo ='1' then
case C is
when "00"=> En_D <='1';
when "01"=> En_C <='1';
when "10"=> En_B <='1';

Deber # 2 de Sistemas Digitales II

Pgina 13 de 19

when others=> En_A <='1';


end case;
else En_A <='0'; En_B <='0'; En_C <='0'; En_D <='0';
end if;
end process;
CMig0 <='1' when CM = "0000" else '0';
Cig3 <='1' when C = "11" else '0';
end mixta;

Deber # 2 de Sistemas Digitales II

Pgina 14 de 19

PROBLEMA # 8

Dada la siguiente descripcin en VHDL del funcionamiento de un Sistema Digital:


Presentar:
1. Particin Funcional del Sistema Digital.
2. Diagrama ASM del circuito Controlador del Sistema Digital, indicando claramente todas las
salidas que deben ser generadas por Controlador.
3. Diagramas de Tiempo del circuito Controlador asumiendo las condiciones de entrada dadas.
Indique claramente los nombres y la duracin de cada estado (y).
library ieee;
use ieee.std_logic_1164.all;
entity problema2 is
port(Resetn,Clock,Start,Load,Ingresar,Fin : in std_logic;
DataR,DataA
: in std_logic_vector(6 downto 0);
Datos
: out std_logic_vector(6 downto 0);
Acertados
: out std_logic_vector(4 downto 0);
Err
: out std_logic);
end problema2;
architecture mixta of problema2 is
component registro_i_d
port(Resetn, Clock
: in std_logic;
En, Ld, R
: in std_logic;
Entpar
: in std_logic_vector (6 downto 0);
Q
: buffer std_logic_vector (6 downto 0));
end component;
component registro_sost
port(Resetn,Clock,En : in std_logic;
EntPar
: in std_logic_vector (6 downto 0);
Q
: out std_logic_vector (6 downto 0));
end component;
component registro_sost5
port(Resetn,Clock,En : in std_logic;
EntPar
: in std_logic_vector (4 downto 0);
Q
: out std_logic_vector (4 downto 0));
end component;
component contador_up
port(Resetn,Clock,En,Ld
: in std_logic;
Ent
: in std_logic_vector (4 downto 0);
Q
: out std_logic_vector (4 downto 0));
end component;
component contador_down
port(Resetn,Clock,En,Ld
: in std_logic;
Ent
: in std_logic_vector(4 downto 0);
Q
: out std_logic_vector(4 downto 0));
end component;
component memRAM
port(data
: in std_logic_vector(6 downto 0);
we
: in std_logic;
address
: in std_logic_vector(4 downto 0);
q
: out std_logic_vector(6 downto 0));
end component;

Deber # 2 de Sistemas Digitales II

Pgina 15 de 19

type estado is (Ta,Tb,Tc,Td,Te,Tf,Tg,Th);


signal y : estado;
signal EnC,LdC,EnP,LdP,EnR,LdR,EnA,EnT : std_logic;
signal mostrar1,mostrar2,Rmen100,Amen100,AmayR : std_logic;
signal write,Cig0,PigT,dt : std_logic;
signal R,A,mem,const100 : std_logic_vector (6 downto 0);
signal P,T,cntd,zeros,unos : std_logic_vector (4 downto 0);
begin
-- Controlador
MSS_transiciones: process(Resetn,Clock)
begin
if Resetn ='0' then y <=Ta;
elsif Clock'event and Clock ='1' then
case y is
when Ta=> if Start ='0' then y <=Ta; else y <=Tb; end if;
when Tb=> if Rmen100 ='0' then y <=Tb; else y <=Tc; end if;
when Tc=> if Ingresar ='0' then y <=Tc; else y <=Td; end if;
when Td=> if Amen100 ='0' then y <=Tc; else y <=Te; end if;
when Te=> y <=Tf;
when Tf=> if Fin ='1' then y <=Tg;
elsif Cig0 ='1' then y <=Tg; else y <=Tb; end if;
when Tg=> y <=Th;
when Th=> if PigT ='0' then y <=Th; else y <=Ta; end if;
end case;
end if;
end process;
MSS_salidas: process(y,Load,Rmen100,Ingresar,Amen100,AmayR,Cig0,Fin,PigT)
begin
EnC <='0'; LdC <='0'; EnP <='0'; LdP <='0'; EnR <='0'; LdR <='0'; EnA <='0';
EnT <='0'; Err <='0'; write <='0'; mostrar1 <='0'; mostrar2 <='0';
case y is
when Ta=> EnC <='1'; LdC <='1'; EnP <='1'; LdP <='1';
if Start ='0' and Load ='1' then EnR <='1'; LdR <='1'; end if;
when Tb=> if Rmen100 ='0' then EnR <='1'; end if;
when Tc=> if Ingresar ='1' then EnA <='1'; end if;
when Td=> if Amen100 ='0' then Err <='1'; end if;
when Te=> if AmayR ='1' then write <='1'; EnP <='1'; end if;
when Tf=> if Fin ='1' then EnT <='1';
elsif Cig0 ='1' then EnT <='1'; else EnC <='1'; EnR <='1'; end if;
when Tg=> EnP <='1'; LdP <='1'; mostrar1 <='1';
when Th=> mostrar2 <='1';
if PigT ='0' then EnP <='1'; end if;
end case;
end process;
-- Procesador de Datos
zeros <="00000"; unos <="11111"; const100 <="1100100";
reg1: registro_i_d port map(Resetn,Clock,EnR,LdR,dt,DataR,R);
reg2: registro_sost port map(Resetn,Clock,EnA,DataA,A);
reg3: registro_sost5 port map(Resetn,Clock,EnT,P,T);
memoria: memRAM port map(R,write,P,mem);
cnt1: contador_up port map(Resetn,Clock,EnP,LdP,zeros,P);
cnt2: contador_down port map(Resetn,Clock,EnC,LdC,unos,cntd);

Deber # 2 de Sistemas Digitales II

Pgina 16 de 19

dt <= R(0) xor R(4);


Cig0 <='1' when cntd ="00000" else '0';
Rmen100 <='1' when R < const100 else '0';
Amen100 <='1' when A < const100 else '0';
AmayR <='1' when A > R else '0';
PigT <='1' when P = T else '0';
Acertados <= T when mostrar1 ='1' else "ZZZZZ";
Datos <= mem when mostrar2 ='1' else "ZZZZZZZ";
end mixta;

Deber # 2 de Sistemas Digitales II

Pgina 17 de 19

PROBLEMA # 9

Disee en modo Fundamental una MSA que funciona cono un nuevo Flip-flop especial M
que tiene dos entrada M y CLK y una salida Q.
El Flip-flop M trabaja con flancos de subida de CLK de la siguiente manera:
Si M es igual a 0, la salida Q tiene valor 1.
Si M es igual a 1, la salida Q invierte su valor presente.
Presente:
1. Diagrama de Estados Primitivo (Formato: CLK M /Q). Tabla de Estados
Primitivo.Tabla de Implicantes. Diagrama de Equivalencia mxima.
2. Diagrama de Estados Reducida. Mapa de asignacin de Cdigo de Estados.
3. Mapa de Excitacin. Mapas y las expresiones para Y1 y Y0 y para la salida Q.
Indica si su circuito corre riesgo de tener los Hazard Estticos o no. Como se
puede evitar?
4. Diagramas de tiempo para las salidas asumiendo valores de las entradas y dados.
Indica claramente los periodos de tiempo correspondiente a cada estado de su
Diagrama de Estados Reducido.

Deber # 2 de Sistemas Digitales II

Pgina 18 de 19

PROBLEMA # 10

Disee una MSA (Maquina Secuencial Asincrnica), en modo fundamental, que puede activar
una compuerta electrnica.
La MSA tiene dos entradas X1 y X2 y una salida Cmp. Inicialmente las entradas X1, X2 son iguales a
0 y la compuerta esta desactivada (Cmp = 0).
Para activar la compuerta solo se requiere presionar X1 (con X2 desactivada). Si se presiona primero
X2 o si se presionan ambas (primero X2 y luego X1), la compuerta sigue desactivada.
Una vez que la compuerta esta activada, para desactivarla primero se debe soltar X1 y luego se debe
presionar nicamente X2, solo en ese momento se desactiva la compuerta.
Si luego de haber soltado X1 se vuelve a presionar X1 o si se presionan ambas (primero X1 y luego
X2), la compuerta permanece activada.
X1
MSA

Cmp

X2

Presentar:
1. Diagrama de Estados Primitivo (Formato: X1 X2 / Cmp). Tabla de Estados Primitivo.Tabla
de Implicantes. Diagrama de Equivalencia mxima.
2. Diagrama de Estados Reducida. Mapa de asignacin de Cdigo de Estados.
3. Mapa de Excitacin. Mapas y las expresiones para Y1 y Y0 y para la salida Cmp.
4. Diagramas de tiempo para la salida Cmp asumiendo valores de las entradas X1 y X2 dados.
Indique claramente los periodos de tiempo correspondiente a cada estado de su Diagrama
de Estados Reducido.
5. Indica si su circuito corre riesgo de tener los Hazard Estticos o no. Como se puede
evitar?

Deber # 2 de Sistemas Digitales II

Pgina 19 de 19

También podría gustarte