SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
INGENIERÍA DE COMPUTADORES III
Solución al Ejercicio de Autocomprobación 10
PREGUNTA 1 (1.5 puntos)
Dibuje el diagrama conceptual correspondiente a:
1.a) (0.75 puntos) Las sentencias if anidadas siguientes:
if boolean_expr_1 then
if boolean_expr_2 then
a <= valor_expr_a_1;
else
a <= valor_expr_a_2;
end if;
else
if boolean_expr_3 then
a <= valor_expr_a_3;
else
a <= valor_expr_a_4;
end if;
end if;
1.b) (0.75 puntos) La sentencia case siguiente, suponiendo que expr_case tiene
cinco posibles valores: c0, c1, c2, c3 y c4.
case expr_case is
when c0 =>
a <= valor_expr_a_0;
b <= valor_expr_b_0;
when c1 =>
a <= valor_expr_a_1;
b <= valor_expr_b_1;
when others =>
a <= valor_expr_a_n;
b <= valor_expr_b_n;
end case;
INGENIERÍA DE LOS COMPUTADORES III
Solución a la Pregunta 1
En las Figuras 1.1 y 1.2 se muestran los diagramas conceptuales.
Figura 1.1: Solución a la Pregunta 1.a: sentencia if con su diagrama conceptual.
 !#$%'(! )
*+ , - ./
' 0. 1'23$%!#$%'%-4
5 0. 1'23$%!#$%5%-4
*+ , 6 ./
' 0. 1'23$%!#$%'% 64
5 0. 1'23$%!#$%5% 64
*+ , 78+ 9 ./
' 0. 1'23$%!#$%'%:4
5 0. 1'23$%!#$%5%:4
,;  4

=
=?
=@
= A
=B
CDEF
G
HIJF
G

G
K
CDEF
G
HIJF
G

G
A
CDEF
G
HIJF
G

G
B
HIJF
G
=LH
M
=
=?
=@
= A
=B
CDEF
G
HIJF
G
M
G
K
CDEF
G
HIJF
G
M
G
A
CDEF
G
HIJF
G
M
G
B
Figura 1.2: Solución a la Pregunta 1.b: sentencia case con su diagrama conceptual.
2 Dpto. de Informática y Automática, UNED
SOLUCIÓN AL EJERCICIO DE AUTOCOMPROBACIÓN 10
PREGUNTA 2 (3.5 puntos)
A continuación, se muestra la entity del circuito restador completo de 1 bit.
entity rest_completo is
port ( res, acarreo_out : out std_logic;
a, b, acarreo_in : in std_logic );
end entity rest_completo;
2.a) (1 punto) Escriba en VHDL una architecture que describa el comportamiento
del circuito.
2.b) (1 punto) Dibuje el diagrama del circuito restador completo de 1 bit al nivel
de puertas lógicas. A continuación, escriba en VHDL la entity y la architec-
ture de cada una de las puertas lógicas que componen el circuito que acaba
de dibujar.
2.c) (1.5 puntos) Escriba en VHDL una architecture que describa la estructura
del circuito restador completo de 1 bit que ha dibujado, instanciando y
conectando las puertas lógicas que ha diseñado anteriormente.
Solución a la Pregunta 2
La architecture describiendo el comportamiento del circuito se muestra en Códi-
go VHDL 1.1.
En la Figura 1.3 se muestra un circuito restador completo de 1 bit. Para su
definición, se emplean puertas OR-exclusiva de 2 entradas (xor2), AND de dos
entradas (and2), OR de tres entradas (or3) e inversor (not1). Las entity y las
architecture de estas puertas lógicas se muestran en Código VHDL 1.2.
Para componer el circuito restador usando las puertas lógicas anteriores, es
necesario instanciar los componentes necesarios y conectarlos. Para ello, es preci-
so escribir la entity de cada uno de los componentes, instanciar los componentes
y describir la conexión entre ellos. El Código VHDL 1.3 describe la estructura del
circuito restador completo.
Dpto. de Informática y Automática, UNED 3
INGENIERÍA DE LOS COMPUTADORES III
-----------------------------------------
-- Restador completo de 1 bit
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
architecture rest_completo_comport of rest_completo is
signal result : unsigned ( 1 downto 0 );
begin
result = (’0’  a) - (’0’  b) - (’0’  acarreo_in);
acarreo_out = result(1);
res = result(0);
end architecture rest_completo_comport;
-----------------------------------------
Código VHDL 1.1: Descripción del comportamiento de un restador completo de un bit.
Figura 1.3: Diagrama de un circuito restador completo de 1 bit.
4 Dpto. de Informática y Automática, UNED
SOLUCIÓN AL EJERCICIO DE AUTOCOMPROBACIÓN 10
--------------------------------------
-- Puerta OR exclusiva de 2 entradas.
library IEEE; use IEEE.std_logic_1164.all;
entity xor2 is port
( y0 : out std_logic;
x0, x1 : in std_logic );
end entity xor2;
architecture xor2 of xor2 is
begin
y0 = x0 xor x1;
end architecture xor2;
--------------------------------------
--------------------------------------
-- Inversor de 1 entrada.
library IEEE; use IEEE.std_logic_1164.all;
entity not1 is port
( y0 : out std_logic;
x0 : in std_logic );
end entity not1;
architecture not1 of not1 is
begin
y0 = not x0;
end architecture not1;
--------------------------------------
--------------------------------------
-- Puerta AND de 2 entradas.
library IEEE; use IEEE.std_logic_1164.all;
entity and2 is port
( y0 : out std_logic;
x0, x1 : in std_logic );
end entity and2;
architecture and2 of and2 is
begin
y0 = x0 and x1;
end architecture and2;
--------------------------------------
--------------------------------------
-- Puerta OR de 3 entradas.
library IEEE; use IEEE.std_logic_1164.all;
entity or3 is port
( y0 : out std_logic;
x0, x1, x2 : in std_logic );
end entity or3;
architecture or3 of or3 is
begin
y0 = x0 or x1 or x2;
end architecture or3;
--------------------------------------
Código VHDL 1.2: Diseño de las puertas lógicas XOR2, NOT1, AND2 y OR3.
Dpto. de Informática y Automática, UNED 5
INGENIERÍA DE LOS COMPUTADORES III
-----------------------------------
-- Restador completo de 1 bit
library IEEE;
use IEEE.std_logic_1164.all;
architecture rest_completo_estruc of rest_completo is
signal not_a, c, d, e, f : std_logic;
-- Declaración de las clases de los componentes
component xor2 is port
( y0 : out std_logic;
x0, x1 : in std_logic );
end component xor2;
component not1 is port
( y0 : out std_logic;
x0 : in std_logic );
end component not1;
component and2 is port
( y0 : out std_logic;
x0, x1 : in std_logic );
end component and2;
component or3 is port
( y0 : out std_logic;
x0, x1, x2 : in std_logic );
end component or3;
begin
-- Instanciación y conexión de los componentes
g0 : component xor2 port map (c, a, b);
g1 : component xor2 port map (res, c, acarreo_in);
-- g2 : component not1 port map (not_a, a);
g2 : component not1 port map (y0 = not_a, x0 = a);
g3 : component and2 port map (d, not_a, acarreo_in);
g4 : component and2 port map (e, not_a, b);
g5 : component and2 port map (f, b, acarreo_in);
g6 : component or3 port map (acarreo_out, d, e, f);
end architecture rest_completo_estruc;
-----------------------------------
Código VHDL 1.3: Descripción de la estructura de un restador completo de un bit.
6 Dpto. de Informática y Automática, UNED
SOLUCIÓN AL EJERCICIO DE AUTOCOMPROBACIÓN 10
PREGUNTA 3 (3 puntos)
Se propone diseñar un circuito secuencial síncrono capaz de detectar cuándo
recibe la secuencia “0100” por su entrada X. La entity del circuito se muestra a
continuación.
entity detector is
port( Y : out std_logic;
state : out std_logic_vector(2 downto 0);
X : in std_logic;
reset : in std_logic;
clk : in std_logic );
end entity detector;
El circuito tiene una señal de reloj (clk), una entrada serie de un bit (X), una
señal de reset asíncrona activa en ‘1’ (reset), una señal que indica el estado en
que se encuentra el circuito (state) y una señal de salida de un bit (Y).
La señal Y se pone a ‘1’ si los últimos 4 bits recibidos por la entrada X se
corresponden con la secuencia “0100”. La máquina no vuelve al estado inicial tras
haber reconocido la secuencia, sino que detecta secuencias solapadas. La señal
reset pone el circuito en su estado inicial. Todos los cambios tienen lugar en el
flanco de subida de la señal de reloj.
Escriba en VHDL la architecture que describe el comportamiento del circuito
en términos de una máquina de Moore. Dibuje el diagrama de estados correspon-
diente al circuito que ha diseñado.
Solución a la Pregunta 3
El circuito diseñado tiene 5 estados (S0, S1, S2, S3 y S4). El circuito se encuentra
en el estado S0 cuando no se ha detectado ningún bit de la secuencia. Está en
los estados S1, S2, S3 o S4 cuando se han detectado respectivamente 1, 2, 3 ó 4
primeros bits de la secuencia. En la Figura 1.4, se muestra el diagrama de estados
de dicho circuito.
El código VHDL que describe el comportamiento del circuito en términos de
una máquina de Moore, se muestra en Código VHDL 1.4–1.5.
Dpto. de Informática y Automática, UNED 7
INGENIERÍA DE LOS COMPUTADORES III
S2 S3 S4
reset
S0 S1
‘1’
‘0’ ‘0’ ‘1’ ‘0’ ‘0’
‘1’ ‘0’
‘1’
‘1’
Figura 1.4: Diagrama de estados del circuito.
-------------------------------------------------------
---Detector de la secuencia 0100
-------------------------------------------------------
library IEEE;
use IEEE.std_logic_1164.all;
entity detector is
port( Y : out std_logic;
state : out std_logic_vector(2 downto 0);
X : in std_logic;
reset : in std_logic;
clk : in std_logic);
end entity detector;
architecture detector of detector is
signal internal_state: std_logic_vector(2 downto 0);
begin
state = internal_state;
--Cálculo salida
salida: process (internal_state) is
begin
case internal_state is
when 100 = Y = ’1’;
when others = Y = ’0’;
end case;
end process salida;
Código VHDL 1.4: Diseño del detector de secuencia.
8 Dpto. de Informática y Automática, UNED
SOLUCIÓN AL EJERCICIO DE AUTOCOMPROBACIÓN 10
--Cálculo del próximo estado
proximo_estado: process (clk, reset)
begin
if (reset = ’1’) then --reset asíncrono
internal_state = 000;
elsif (rising_edge(clk)) then
case internal_state is
when 000 = -- Estado actual: S0
if X = ’1’ then
internal_state = 000;
else
internal_state = 001;
end if;
when 001 = --Estado actual: S1
if X = ’1’ then
internal_state = 010;
else
internal_state = 001;
end if;
when 010 = --Estado actual: S2
if X = ’1’ then
internal_state = 000;
else
internal_state = 011;
end if;
when 011 = -- Estado actual: S3
if X = ’1’ then
internal_state = 010;
else
internal_state = 100;
end if;
when 100 = -- Estado actual: S4
if X = ’1’ then
internal_state = 010;
else
internal_state = 001;
end if;
when others= -- Por completitud
internal_state = 000;
end case;
end if;
end process proximo_estado;
end architecture detector;
---------------------------------------------
Código VHDL 1.5: Continuación del diseño del detector de secuencia.
Dpto. de Informática y Automática, UNED 9
INGENIERÍA DE LOS COMPUTADORES III
PREGUNTA 4 (2 puntos)
Programe en VHDL un banco de pruebas para el circuito secuencial que ha di-
señado al contestar a la Pregunta 3. El programa de test debe primero resetear el
circuito y a continuación cargar en el circuito, a través de la entrada X, los siete
bits siguientes (en el orden indicado): ‘0’, ‘1’, ‘0’, ‘0’, ‘1’, ‘0’, ‘0’. Si los valores de la
señal de salida de la UUT no coinciden con lo esperado, el programa de test debe
mostrar el correspondiente mensaje.
Solución a la Pregunta 4
El banco de pruebas del detector de secuencia diseñado en la Pregunta 3 se mues-
tra en Código VHDL 1.6 y en Código VHDL 1.7. Este banco de pruebas comprue-
ba que al resetear el circuito éste pasa al estado “0000”, cuya salida (Y) vale ‘0’.
Después, para cada carga del bit de entrada (X), comprueba que el circuito pasa al
estado que le corresponde y que la salida (Y) tiene el valor correcto. Finalmente,
el programa muestra un mensaje con el número total de errores detectados.
10 Dpto. de Informática y Automática, UNED

Más contenido relacionado

La actualidad más candente

GENERADOR DE SEÑALES CON LM741 - SIGNAL GENERATOR
GENERADOR DE SEÑALES CON LM741 - SIGNAL GENERATORGENERADOR DE SEÑALES CON LM741 - SIGNAL GENERATOR
GENERADOR DE SEÑALES CON LM741 - SIGNAL GENERATORFernando Marcos Marcos
 
Electronica digital blog
Electronica digital blogElectronica digital blog
Electronica digital blogdenis59
 
Primer Laboratorio - Sistemas Digitales I
Primer Laboratorio - Sistemas Digitales IPrimer Laboratorio - Sistemas Digitales I
Primer Laboratorio - Sistemas Digitales IAndy Juan Sarango Veliz
 
Guía de laboratorio 8
Guía de laboratorio 8Guía de laboratorio 8
Guía de laboratorio 8CUN
 
Multiplexor Display de 7 Segmentos con Arduino UNO ATmega328P
Multiplexor Display de 7 Segmentos con Arduino UNO ATmega328PMultiplexor Display de 7 Segmentos con Arduino UNO ATmega328P
Multiplexor Display de 7 Segmentos con Arduino UNO ATmega328PFernando Marcos Marcos
 
LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...
LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...
LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...Fernando Marcos Marcos
 
Electrónica digital: sistemas combinacionales multiplexores
Electrónica digital: sistemas combinacionales multiplexoresElectrónica digital: sistemas combinacionales multiplexores
Electrónica digital: sistemas combinacionales multiplexoresSANTIAGO PABLO ALBERTO
 
Tema 6 de electrónica digital: Circuitos combinacionales
Tema 6 de electrónica digital: Circuitos combinacionales  Tema 6 de electrónica digital: Circuitos combinacionales
Tema 6 de electrónica digital: Circuitos combinacionales SANTIAGO PABLO ALBERTO
 
Arduino el taller 2
Arduino el taller 2Arduino el taller 2
Arduino el taller 2flaviongo
 
Apuntes De Automatismos.pdf
Apuntes De Automatismos.pdfApuntes De Automatismos.pdf
Apuntes De Automatismos.pdftestgrupocomex
 
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)Franz Amaya
 
C02 funciones complejas
C02 funciones complejasC02 funciones complejas
C02 funciones complejasmadara12
 
Practica 01 compuertas logicas
Practica 01 compuertas logicasPractica 01 compuertas logicas
Practica 01 compuertas logicasfermin Isidro
 
Guía rápidalcd y teclado
Guía rápidalcd y tecladoGuía rápidalcd y teclado
Guía rápidalcd y tecladoLuis Zurita
 
Contador up down
Contador up downContador up down
Contador up downquiqueperu
 
Arduino: Primeras practicas con arduino
Arduino: Primeras practicas con arduinoArduino: Primeras practicas con arduino
Arduino: Primeras practicas con arduinoSANTIAGO PABLO ALBERTO
 

La actualidad más candente (20)

Unidad 3
Unidad 3Unidad 3
Unidad 3
 
GENERADOR DE SEÑALES CON LM741 - SIGNAL GENERATOR
GENERADOR DE SEÑALES CON LM741 - SIGNAL GENERATORGENERADOR DE SEÑALES CON LM741 - SIGNAL GENERATOR
GENERADOR DE SEÑALES CON LM741 - SIGNAL GENERATOR
 
Electronica digital blog
Electronica digital blogElectronica digital blog
Electronica digital blog
 
Primer Laboratorio - Sistemas Digitales I
Primer Laboratorio - Sistemas Digitales IPrimer Laboratorio - Sistemas Digitales I
Primer Laboratorio - Sistemas Digitales I
 
Guía de laboratorio 8
Guía de laboratorio 8Guía de laboratorio 8
Guía de laboratorio 8
 
Multiplexor Display de 7 Segmentos con Arduino UNO ATmega328P
Multiplexor Display de 7 Segmentos con Arduino UNO ATmega328PMultiplexor Display de 7 Segmentos con Arduino UNO ATmega328P
Multiplexor Display de 7 Segmentos con Arduino UNO ATmega328P
 
Lab d1-00-2
Lab d1-00-2Lab d1-00-2
Lab d1-00-2
 
LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...
LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...
LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...
 
Electrónica digital: sistemas combinacionales multiplexores
Electrónica digital: sistemas combinacionales multiplexoresElectrónica digital: sistemas combinacionales multiplexores
Electrónica digital: sistemas combinacionales multiplexores
 
Tema 6 de electrónica digital: Circuitos combinacionales
Tema 6 de electrónica digital: Circuitos combinacionales  Tema 6 de electrónica digital: Circuitos combinacionales
Tema 6 de electrónica digital: Circuitos combinacionales
 
Arduino el taller 2
Arduino el taller 2Arduino el taller 2
Arduino el taller 2
 
Apuntes De Automatismos.pdf
Apuntes De Automatismos.pdfApuntes De Automatismos.pdf
Apuntes De Automatismos.pdf
 
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)
 
C02 funciones complejas
C02 funciones complejasC02 funciones complejas
C02 funciones complejas
 
USBee_datasheet
USBee_datasheetUSBee_datasheet
USBee_datasheet
 
Tema 3 transformada_z
Tema 3 transformada_zTema 3 transformada_z
Tema 3 transformada_z
 
Practica 01 compuertas logicas
Practica 01 compuertas logicasPractica 01 compuertas logicas
Practica 01 compuertas logicas
 
Guía rápidalcd y teclado
Guía rápidalcd y tecladoGuía rápidalcd y teclado
Guía rápidalcd y teclado
 
Contador up down
Contador up downContador up down
Contador up down
 
Arduino: Primeras practicas con arduino
Arduino: Primeras practicas con arduinoArduino: Primeras practicas con arduino
Arduino: Primeras practicas con arduino
 

Similar a Electrónica digital: Maquina de estado

Ic3 enunciado ejerc2 (2)
Ic3 enunciado ejerc2 (2)Ic3 enunciado ejerc2 (2)
Ic3 enunciado ejerc2 (2)pepe lopez
 
Electrónica digital: VHDL el arte de programar sistemas digitales por David G...
Electrónica digital: VHDL el arte de programar sistemas digitales por David G...Electrónica digital: VHDL el arte de programar sistemas digitales por David G...
Electrónica digital: VHDL el arte de programar sistemas digitales por David G...SANTIAGO PABLO ALBERTO
 
Fgl029 guiano2arquitecturasvhdl (1)
Fgl029 guiano2arquitecturasvhdl (1)Fgl029 guiano2arquitecturasvhdl (1)
Fgl029 guiano2arquitecturasvhdl (1)Alveiro2
 
El método del lugar de las raíces
El método del lugar de las raícesEl método del lugar de las raíces
El método del lugar de las raícesBrady Martinez
 
Leccion3 y4 agosto25_2011solucion
Leccion3 y4 agosto25_2011solucionLeccion3 y4 agosto25_2011solucion
Leccion3 y4 agosto25_2011solucionJair BG
 
Das wissen von morgen (revista)
Das wissen von morgen (revista)Das wissen von morgen (revista)
Das wissen von morgen (revista)Danfuhr26
 
Electrónica digital: Tema 4 Funciones de ruta de datos
Electrónica digital: Tema 4 Funciones de ruta de datosElectrónica digital: Tema 4 Funciones de ruta de datos
Electrónica digital: Tema 4 Funciones de ruta de datosSANTIAGO PABLO ALBERTO
 
Electrónica digital: Maquina de estado finito
Electrónica digital: Maquina de estado finito Electrónica digital: Maquina de estado finito
Electrónica digital: Maquina de estado finito SANTIAGO PABLO ALBERTO
 
Leccion3 y4
Leccion3 y4Leccion3 y4
Leccion3 y4Jair BG
 
Guía 03 diseño de circuitos combinacionales
Guía 03   diseño de circuitos combinacionalesGuía 03   diseño de circuitos combinacionales
Guía 03 diseño de circuitos combinacionalesJUANARIASPORTUGUEZ
 
Laboratorio 08
Laboratorio 08Laboratorio 08
Laboratorio 08Junior
 
Electrónica digital: Unidad 8 Circuitos secuenciales síncronos
Electrónica digital: Unidad 8 Circuitos secuenciales síncronos Electrónica digital: Unidad 8 Circuitos secuenciales síncronos
Electrónica digital: Unidad 8 Circuitos secuenciales síncronos SANTIAGO PABLO ALBERTO
 
Circuitos digitales ii
Circuitos digitales iiCircuitos digitales ii
Circuitos digitales iijesuseperez
 
Prob resueltost3 mapas k
Prob resueltost3 mapas kProb resueltost3 mapas k
Prob resueltost3 mapas kCECYTEG
 
Detector de secuencia no solapada 1011 empleando PLA
Detector de secuencia no solapada 1011 empleando PLADetector de secuencia no solapada 1011 empleando PLA
Detector de secuencia no solapada 1011 empleando PLAMarc Tena Gil
 

Similar a Electrónica digital: Maquina de estado (20)

7_vhdl.pdf
7_vhdl.pdf7_vhdl.pdf
7_vhdl.pdf
 
Ic3 enunciado ejerc2 (2)
Ic3 enunciado ejerc2 (2)Ic3 enunciado ejerc2 (2)
Ic3 enunciado ejerc2 (2)
 
Electrónica digital: VHDL el arte de programar sistemas digitales por David G...
Electrónica digital: VHDL el arte de programar sistemas digitales por David G...Electrónica digital: VHDL el arte de programar sistemas digitales por David G...
Electrónica digital: VHDL el arte de programar sistemas digitales por David G...
 
Fgl029 guiano2arquitecturasvhdl (1)
Fgl029 guiano2arquitecturasvhdl (1)Fgl029 guiano2arquitecturasvhdl (1)
Fgl029 guiano2arquitecturasvhdl (1)
 
El método del lugar de las raíces
El método del lugar de las raícesEl método del lugar de las raíces
El método del lugar de las raíces
 
Leccion3 y4 agosto25_2011solucion
Leccion3 y4 agosto25_2011solucionLeccion3 y4 agosto25_2011solucion
Leccion3 y4 agosto25_2011solucion
 
Das wissen von morgen (revista)
Das wissen von morgen (revista)Das wissen von morgen (revista)
Das wissen von morgen (revista)
 
Electrónica digital: Tema 4 Funciones de ruta de datos
Electrónica digital: Tema 4 Funciones de ruta de datosElectrónica digital: Tema 4 Funciones de ruta de datos
Electrónica digital: Tema 4 Funciones de ruta de datos
 
compuertas_logicas.pdf
compuertas_logicas.pdfcompuertas_logicas.pdf
compuertas_logicas.pdf
 
Electrónica digital: Maquina de estado finito
Electrónica digital: Maquina de estado finito Electrónica digital: Maquina de estado finito
Electrónica digital: Maquina de estado finito
 
Mux g7 09
Mux g7 09Mux g7 09
Mux g7 09
 
Leccion3 y4
Leccion3 y4Leccion3 y4
Leccion3 y4
 
Guía 03 diseño de circuitos combinacionales
Guía 03   diseño de circuitos combinacionalesGuía 03   diseño de circuitos combinacionales
Guía 03 diseño de circuitos combinacionales
 
Laboratorio 08
Laboratorio 08Laboratorio 08
Laboratorio 08
 
Vhdl2
Vhdl2Vhdl2
Vhdl2
 
Electrónica digital: Unidad 8 Circuitos secuenciales síncronos
Electrónica digital: Unidad 8 Circuitos secuenciales síncronos Electrónica digital: Unidad 8 Circuitos secuenciales síncronos
Electrónica digital: Unidad 8 Circuitos secuenciales síncronos
 
Circuitos digitales ii
Circuitos digitales iiCircuitos digitales ii
Circuitos digitales ii
 
Prob resueltost3 mapas k
Prob resueltost3 mapas kProb resueltost3 mapas k
Prob resueltost3 mapas k
 
Logica Combinacional
Logica CombinacionalLogica Combinacional
Logica Combinacional
 
Detector de secuencia no solapada 1011 empleando PLA
Detector de secuencia no solapada 1011 empleando PLADetector de secuencia no solapada 1011 empleando PLA
Detector de secuencia no solapada 1011 empleando PLA
 

Más de SANTIAGO PABLO ALBERTO

Manual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzadaManual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzadaSANTIAGO PABLO ALBERTO
 
Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez SANTIAGO PABLO ALBERTO
 
Programación de microcontroladores PIC en C con Fabio Pereira
Programación de microcontroladores PIC en  C con Fabio PereiraProgramación de microcontroladores PIC en  C con Fabio Pereira
Programación de microcontroladores PIC en C con Fabio PereiraSANTIAGO PABLO ALBERTO
 
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...SANTIAGO PABLO ALBERTO
 
Programación de autómatas PLC OMRON CJ/CP1
Programación de  autómatas PLC OMRON CJ/CP1Programación de  autómatas PLC OMRON CJ/CP1
Programación de autómatas PLC OMRON CJ/CP1SANTIAGO PABLO ALBERTO
 
Manual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMARTManual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMARTSANTIAGO PABLO ALBERTO
 
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...SANTIAGO PABLO ALBERTO
 
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...SANTIAGO PABLO ALBERTO
 
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...SANTIAGO PABLO ALBERTO
 
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...SANTIAGO PABLO ALBERTO
 
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...SANTIAGO PABLO ALBERTO
 

Más de SANTIAGO PABLO ALBERTO (20)

secuencia electroneumática parte 1
secuencia electroneumática parte 1secuencia electroneumática parte 1
secuencia electroneumática parte 1
 
secuencia electroneumática parte 2
secuencia electroneumática parte 2secuencia electroneumática parte 2
secuencia electroneumática parte 2
 
Manual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzadaManual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzada
 
Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez
 
Programación de microcontroladores PIC en C con Fabio Pereira
Programación de microcontroladores PIC en  C con Fabio PereiraProgramación de microcontroladores PIC en  C con Fabio Pereira
Programación de microcontroladores PIC en C con Fabio Pereira
 
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
 
Arduino: Arduino de cero a experto
Arduino: Arduino de cero a expertoArduino: Arduino de cero a experto
Arduino: Arduino de cero a experto
 
Fisica I
Fisica IFisica I
Fisica I
 
Quimica.pdf
Quimica.pdfQuimica.pdf
Quimica.pdf
 
Manual básico PLC OMRON
Manual básico PLC OMRON Manual básico PLC OMRON
Manual básico PLC OMRON
 
Programación de autómatas PLC OMRON CJ/CP1
Programación de  autómatas PLC OMRON CJ/CP1Programación de  autómatas PLC OMRON CJ/CP1
Programación de autómatas PLC OMRON CJ/CP1
 
Manual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMARTManual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMART
 
Catálogo de PLC S7-200 SMART
Catálogo de PLC S7-200 SMART Catálogo de PLC S7-200 SMART
Catálogo de PLC S7-200 SMART
 
PLC: Automatismos industriales
PLC: Automatismos industrialesPLC: Automatismos industriales
PLC: Automatismos industriales
 
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
 
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...
 
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
 
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
 
PLC: Motor Dahlander
PLC: Motor DahlanderPLC: Motor Dahlander
PLC: Motor Dahlander
 
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...
 

Último

LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfbcondort
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdfTEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdfXimenaFallaLecca1
 
osciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfosciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfIvanRetambay
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfs7yl3dr4g0n01
 
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxCARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxvalenciaespinozadavi1
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxbingoscarlet
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILProblemSolved
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaAlexanderimanolLencr
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDEdith Puclla
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.pptoscarvielma45
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASPersonalJesusGranPod
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralsantirangelcor
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfdanielJAlejosC
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptMarianoSanchez70
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónXimenaFallaLecca1
 

Último (20)

LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdfTEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
 
osciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfosciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdf
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxCARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integral
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 

Electrónica digital: Maquina de estado

  • 1. INGENIERÍA DE COMPUTADORES III Solución al Ejercicio de Autocomprobación 10 PREGUNTA 1 (1.5 puntos) Dibuje el diagrama conceptual correspondiente a: 1.a) (0.75 puntos) Las sentencias if anidadas siguientes: if boolean_expr_1 then if boolean_expr_2 then a <= valor_expr_a_1; else a <= valor_expr_a_2; end if; else if boolean_expr_3 then a <= valor_expr_a_3; else a <= valor_expr_a_4; end if; end if; 1.b) (0.75 puntos) La sentencia case siguiente, suponiendo que expr_case tiene cinco posibles valores: c0, c1, c2, c3 y c4. case expr_case is when c0 => a <= valor_expr_a_0; b <= valor_expr_b_0; when c1 => a <= valor_expr_a_1; b <= valor_expr_b_1; when others => a <= valor_expr_a_n; b <= valor_expr_b_n; end case;
  • 2. INGENIERÍA DE LOS COMPUTADORES III Solución a la Pregunta 1 En las Figuras 1.1 y 1.2 se muestran los diagramas conceptuales.
  • 3. Figura 1.1: Solución a la Pregunta 1.a: sentencia if con su diagrama conceptual. !#$%'(! ) *+ , - ./ ' 0. 1'23$%!#$%'%-4 5 0. 1'23$%!#$%5%-4 *+ , 6 ./ ' 0. 1'23$%!#$%'% 64 5 0. 1'23$%!#$%5% 64 *+ , 78+ 9 ./ ' 0. 1'23$%!#$%'%:4 5 0. 1'23$%!#$%5%:4 ,; 4 = =? =@ = A =B CDEF G HIJF G G K CDEF G HIJF G G A CDEF G HIJF G G B HIJF G =LH M = =? =@ = A =B CDEF G HIJF G M G K CDEF G HIJF G M G A CDEF G HIJF G M G B Figura 1.2: Solución a la Pregunta 1.b: sentencia case con su diagrama conceptual. 2 Dpto. de Informática y Automática, UNED
  • 4. SOLUCIÓN AL EJERCICIO DE AUTOCOMPROBACIÓN 10 PREGUNTA 2 (3.5 puntos) A continuación, se muestra la entity del circuito restador completo de 1 bit. entity rest_completo is port ( res, acarreo_out : out std_logic; a, b, acarreo_in : in std_logic ); end entity rest_completo; 2.a) (1 punto) Escriba en VHDL una architecture que describa el comportamiento del circuito. 2.b) (1 punto) Dibuje el diagrama del circuito restador completo de 1 bit al nivel de puertas lógicas. A continuación, escriba en VHDL la entity y la architec- ture de cada una de las puertas lógicas que componen el circuito que acaba de dibujar. 2.c) (1.5 puntos) Escriba en VHDL una architecture que describa la estructura del circuito restador completo de 1 bit que ha dibujado, instanciando y conectando las puertas lógicas que ha diseñado anteriormente. Solución a la Pregunta 2 La architecture describiendo el comportamiento del circuito se muestra en Códi- go VHDL 1.1. En la Figura 1.3 se muestra un circuito restador completo de 1 bit. Para su definición, se emplean puertas OR-exclusiva de 2 entradas (xor2), AND de dos entradas (and2), OR de tres entradas (or3) e inversor (not1). Las entity y las architecture de estas puertas lógicas se muestran en Código VHDL 1.2. Para componer el circuito restador usando las puertas lógicas anteriores, es necesario instanciar los componentes necesarios y conectarlos. Para ello, es preci- so escribir la entity de cada uno de los componentes, instanciar los componentes y describir la conexión entre ellos. El Código VHDL 1.3 describe la estructura del circuito restador completo. Dpto. de Informática y Automática, UNED 3
  • 5. INGENIERÍA DE LOS COMPUTADORES III ----------------------------------------- -- Restador completo de 1 bit library IEEE; use IEEE.std_logic_1164.all; use IEEE.numeric_std.all; architecture rest_completo_comport of rest_completo is signal result : unsigned ( 1 downto 0 ); begin result = (’0’ a) - (’0’ b) - (’0’ acarreo_in); acarreo_out = result(1); res = result(0); end architecture rest_completo_comport; ----------------------------------------- Código VHDL 1.1: Descripción del comportamiento de un restador completo de un bit.
  • 6. Figura 1.3: Diagrama de un circuito restador completo de 1 bit. 4 Dpto. de Informática y Automática, UNED
  • 7. SOLUCIÓN AL EJERCICIO DE AUTOCOMPROBACIÓN 10 -------------------------------------- -- Puerta OR exclusiva de 2 entradas. library IEEE; use IEEE.std_logic_1164.all; entity xor2 is port ( y0 : out std_logic; x0, x1 : in std_logic ); end entity xor2; architecture xor2 of xor2 is begin y0 = x0 xor x1; end architecture xor2; -------------------------------------- -------------------------------------- -- Inversor de 1 entrada. library IEEE; use IEEE.std_logic_1164.all; entity not1 is port ( y0 : out std_logic; x0 : in std_logic ); end entity not1; architecture not1 of not1 is begin y0 = not x0; end architecture not1; -------------------------------------- -------------------------------------- -- Puerta AND de 2 entradas. library IEEE; use IEEE.std_logic_1164.all; entity and2 is port ( y0 : out std_logic; x0, x1 : in std_logic ); end entity and2; architecture and2 of and2 is begin y0 = x0 and x1; end architecture and2; -------------------------------------- -------------------------------------- -- Puerta OR de 3 entradas. library IEEE; use IEEE.std_logic_1164.all; entity or3 is port ( y0 : out std_logic; x0, x1, x2 : in std_logic ); end entity or3; architecture or3 of or3 is begin y0 = x0 or x1 or x2; end architecture or3; -------------------------------------- Código VHDL 1.2: Diseño de las puertas lógicas XOR2, NOT1, AND2 y OR3. Dpto. de Informática y Automática, UNED 5
  • 8. INGENIERÍA DE LOS COMPUTADORES III ----------------------------------- -- Restador completo de 1 bit library IEEE; use IEEE.std_logic_1164.all; architecture rest_completo_estruc of rest_completo is signal not_a, c, d, e, f : std_logic; -- Declaración de las clases de los componentes component xor2 is port ( y0 : out std_logic; x0, x1 : in std_logic ); end component xor2; component not1 is port ( y0 : out std_logic; x0 : in std_logic ); end component not1; component and2 is port ( y0 : out std_logic; x0, x1 : in std_logic ); end component and2; component or3 is port ( y0 : out std_logic; x0, x1, x2 : in std_logic ); end component or3; begin -- Instanciación y conexión de los componentes g0 : component xor2 port map (c, a, b); g1 : component xor2 port map (res, c, acarreo_in); -- g2 : component not1 port map (not_a, a); g2 : component not1 port map (y0 = not_a, x0 = a); g3 : component and2 port map (d, not_a, acarreo_in); g4 : component and2 port map (e, not_a, b); g5 : component and2 port map (f, b, acarreo_in); g6 : component or3 port map (acarreo_out, d, e, f); end architecture rest_completo_estruc; ----------------------------------- Código VHDL 1.3: Descripción de la estructura de un restador completo de un bit. 6 Dpto. de Informática y Automática, UNED
  • 9. SOLUCIÓN AL EJERCICIO DE AUTOCOMPROBACIÓN 10 PREGUNTA 3 (3 puntos) Se propone diseñar un circuito secuencial síncrono capaz de detectar cuándo recibe la secuencia “0100” por su entrada X. La entity del circuito se muestra a continuación. entity detector is port( Y : out std_logic; state : out std_logic_vector(2 downto 0); X : in std_logic; reset : in std_logic; clk : in std_logic ); end entity detector; El circuito tiene una señal de reloj (clk), una entrada serie de un bit (X), una señal de reset asíncrona activa en ‘1’ (reset), una señal que indica el estado en que se encuentra el circuito (state) y una señal de salida de un bit (Y). La señal Y se pone a ‘1’ si los últimos 4 bits recibidos por la entrada X se corresponden con la secuencia “0100”. La máquina no vuelve al estado inicial tras haber reconocido la secuencia, sino que detecta secuencias solapadas. La señal reset pone el circuito en su estado inicial. Todos los cambios tienen lugar en el flanco de subida de la señal de reloj. Escriba en VHDL la architecture que describe el comportamiento del circuito en términos de una máquina de Moore. Dibuje el diagrama de estados correspon- diente al circuito que ha diseñado. Solución a la Pregunta 3 El circuito diseñado tiene 5 estados (S0, S1, S2, S3 y S4). El circuito se encuentra en el estado S0 cuando no se ha detectado ningún bit de la secuencia. Está en los estados S1, S2, S3 o S4 cuando se han detectado respectivamente 1, 2, 3 ó 4 primeros bits de la secuencia. En la Figura 1.4, se muestra el diagrama de estados de dicho circuito. El código VHDL que describe el comportamiento del circuito en términos de una máquina de Moore, se muestra en Código VHDL 1.4–1.5. Dpto. de Informática y Automática, UNED 7
  • 10. INGENIERÍA DE LOS COMPUTADORES III S2 S3 S4 reset S0 S1 ‘1’ ‘0’ ‘0’ ‘1’ ‘0’ ‘0’ ‘1’ ‘0’ ‘1’ ‘1’ Figura 1.4: Diagrama de estados del circuito. ------------------------------------------------------- ---Detector de la secuencia 0100 ------------------------------------------------------- library IEEE; use IEEE.std_logic_1164.all; entity detector is port( Y : out std_logic; state : out std_logic_vector(2 downto 0); X : in std_logic; reset : in std_logic; clk : in std_logic); end entity detector; architecture detector of detector is signal internal_state: std_logic_vector(2 downto 0); begin state = internal_state; --Cálculo salida salida: process (internal_state) is begin case internal_state is when 100 = Y = ’1’; when others = Y = ’0’; end case; end process salida; Código VHDL 1.4: Diseño del detector de secuencia. 8 Dpto. de Informática y Automática, UNED
  • 11. SOLUCIÓN AL EJERCICIO DE AUTOCOMPROBACIÓN 10 --Cálculo del próximo estado proximo_estado: process (clk, reset) begin if (reset = ’1’) then --reset asíncrono internal_state = 000; elsif (rising_edge(clk)) then case internal_state is when 000 = -- Estado actual: S0 if X = ’1’ then internal_state = 000; else internal_state = 001; end if; when 001 = --Estado actual: S1 if X = ’1’ then internal_state = 010; else internal_state = 001; end if; when 010 = --Estado actual: S2 if X = ’1’ then internal_state = 000; else internal_state = 011; end if; when 011 = -- Estado actual: S3 if X = ’1’ then internal_state = 010; else internal_state = 100; end if; when 100 = -- Estado actual: S4 if X = ’1’ then internal_state = 010; else internal_state = 001; end if; when others= -- Por completitud internal_state = 000; end case; end if; end process proximo_estado; end architecture detector; --------------------------------------------- Código VHDL 1.5: Continuación del diseño del detector de secuencia. Dpto. de Informática y Automática, UNED 9
  • 12. INGENIERÍA DE LOS COMPUTADORES III PREGUNTA 4 (2 puntos) Programe en VHDL un banco de pruebas para el circuito secuencial que ha di- señado al contestar a la Pregunta 3. El programa de test debe primero resetear el circuito y a continuación cargar en el circuito, a través de la entrada X, los siete bits siguientes (en el orden indicado): ‘0’, ‘1’, ‘0’, ‘0’, ‘1’, ‘0’, ‘0’. Si los valores de la señal de salida de la UUT no coinciden con lo esperado, el programa de test debe mostrar el correspondiente mensaje. Solución a la Pregunta 4 El banco de pruebas del detector de secuencia diseñado en la Pregunta 3 se mues- tra en Código VHDL 1.6 y en Código VHDL 1.7. Este banco de pruebas comprue- ba que al resetear el circuito éste pasa al estado “0000”, cuya salida (Y) vale ‘0’. Después, para cada carga del bit de entrada (X), comprueba que el circuito pasa al estado que le corresponde y que la salida (Y) tiene el valor correcto. Finalmente, el programa muestra un mensaje con el número total de errores detectados. 10 Dpto. de Informática y Automática, UNED
  • 13. SOLUCIÓN AL EJERCICIO DE AUTOCOMPROBACIÓN 10 ------------------------------------------------------- -- Banco de pruebas del detector library IEEE; use IEEE.std_logic_1164.all; entity bp_detector is end entity bp_detector; architecture bp_detector of bp_detector is constant PERIODO : time := 100 ns; -- Reloj signal state : std_logic_vector(2 downto 0);-- Salidas UUT signal Y : std_logic; signal clk : std_logic := ’0’; -- Entradas UUT signal reset, X : std_logic; component detector is port( Y : out std_logic; state : out std_logic_vector(2 downto 0); X : in std_logic; reset : in std_logic; clk : in std_logic); end component detector; -- Procedimiento para comprobar las salidas procedure comprueba_salidas ( esperado_state : std_logic_vector(2 downto 0); actual_state : std_logic_vector(2 downto 0); esperado_Y : std_logic; actual_Y : std_logic; error_count : inout integer) is begin -- Comprueba state if ( esperado_state /= actual_state ) then report ERROR: Estado esperado ( std_logic’image(esperado_state(2)) std_logic’image(esperado_state(1)) std_logic’image(esperado_state(0)) ), estado actual ( std_logic’image(actual_state(2)) std_logic’image(actual_state(1)) std_logic’image(actual_state(0)) ), instante: time’image(now); error_count := error_count + 1; end if; -- Comprueba Y if ( esperado_Y /= actual_Y ) then report ERROR: Salida Y esperada ( std_logic’image(esperado_Y) ), salida actual ( std_logic’image(actual_Y) ), instante: time’image(now); error_count := error_count + 1; end if; end procedure comprueba_salidas; Código VHDL 1.6: Diseño del banco de pruebas del detector de secuencias. Dpto. de Informática y Automática, UNED 11
  • 14. INGENIERÍA DE LOS COMPUTADORES III begin -- Instanciar y conectar UUT uut : component detector port map (Y, state, X, reset, clk); reset = ’0’, ’1’ after (PERIODO/4), ’0’ after (PERIODO/2); clk = not clk after (PERIODO/2); gen_vec_test : process is variable error_count : integer := 0; -- Núm. errores begin report Comienza la simulación; -- Vectores de test y comprobación del resultado X = ’0’; wait for PERIODO; -- 1 comprueba_salidas(001, state, ’0’, Y, error_count); X = ’1’; wait for PERIODO; -- 2 comprueba_salidas(010, state, ’0’, Y, error_count); X = ’0’; wait for PERIODO; -- 3 comprueba_salidas(011, state, ’0’, Y, error_count); X = ’0’; wait for PERIODO; -- 4 comprueba_salidas(100, state, ’1’, Y, error_count); X = ’1’; wait for PERIODO; -- 5 comprueba_salidas(010 ,state, ’0’, Y, error_count); X = ’0’; wait for PERIODO; -- 6 comprueba_salidas(011, state, ’0’, Y, error_count); X = ’0’; wait for PERIODO; -- 7 comprueba_salidas(100, state, ’1’, Y, error_count); -- Informe final report Hay integer’image(error_count ) errores.; wait; -- Final del bloque process end process gen_vec_test; end architecture bp_detector; -------------------------------------- Código VHDL 1.7: Continuación del diseño del banco de pruebas del detector de secuencias. 12 Dpto. de Informática y Automática, UNED