com
EDIG
Carpeta
Montero
· \
~j
1. Codificación de la Información
Introducción Electrónica Digital. Abstracción digital (analógico vs. digital). Sistemas de
numeración. Representación números negativos. Álgebra de Boole. Axiomas. Operadores
básicos. Tabla de Verdad. Puertas Lógicas simples y complejas. Mapas de Karnaugh.
3. Circuitos combinacionales
Multiplexores. Interconexión de varios MUX. Implementación de funciones con MUX.
Codificadores y Decodificadores. Interconexión de varios codificadores. Comparadores.
Sumadores. Memorias no volátiles.
4. Circuitos secuenciales
Elemento biestable básico. Báscula Set-Reset. Biestables activos por nivel (latch).
Biestables activos por flanco de CLK (flip-flops): tipo-D, po J-K y tipo-T. Temporización.
Registros de almacenamiento. Contadores. Registros de desplazamiento.
l. )"
'---
~--)
--------------~------------------~----------------------------------------
(~.
1.1 Sistemas de numeración
Los símbolos Un sistema de numeración se defme por sus símbolos básicos, llamados dígitos ó cifras, y
numéricos con los que· las formas de combinar los mismos para representar toda la gama de números que
más familiarizados
estamos en la
requerimos.
actualidad se conocen
como dígitos
Decimos que nuestra notación de los números es posicional, puesto que cada dígito de un
arábigos, ya que se número tiene un valor fijo determinado por su posición. Este valor viene dado por el dígito,
desarrollaron en la multiplicado por una potencia de la base de numeración (con su posición como
cultura árabe medieval.
Como ya sabemos, exponente, empezando por cero).
son:
Así, un número "N" se representa en base "b" como " ... d7d6dsd4d3d2d¡" donde "d¡" son los
1,2,3,4,5,6,7,8,9 Y o dígitos.
(\ ). Los sistemas más habituales son el decimal (base 10), el binario (base 2), el octal (base 8)
y el hexadecimal (base 16) de los que se presentan los primeros valores en la siguiente
tabla:
O O O O
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
'-j 8 1000 10 8
l~ 9 1001 11 9
10 1010 12 A
11 1011 13 8
12 1100 14 e
13 1101 15 D
14 1110 16 E
15 1111 17 F
Bit = "Binary Digit" Como veremos en epígrafes posteriores, los sistemas digitales trabajan con numeración
binariª, en la que a cada dígito lo llamaremos bit. Un aspecto importante de estos sistemas
Los tamaños de
palabra normalmente es que sólo pueden manejar números con una cantidad fija de dígitos n. Así, por ejemplo,
son potencias de 2. los computadores tienen un tamaño de palabra específico, que es la longitud (número de
bits) de los números binarios procesados por las instrucciones internas del computador.
De binario a:
-+ Octal: basta con agrupar los digitos binarios de tres en tres empezando por la derecha y
sustituir cada tema por el digito octal correspondiente (ver tabla de la página anterior).
Si el número de dígitos binarios no es multiplo de tres rellenamos con ceros por la
El subíndice indica en izquierda.
qué base está el
número Ejemplo: 1011101100h 10 111 011 OOb 2731 8
-+ Hexadecimal: basta con agrupar los digitos binarios de cuatro en cuatro empezando
por la derecha y sustituir cada grupo por el digito hexadecimal correspondiente (ver
Es igual que el octal tabla de la página anterior). Si el número de dígitos binarios no es multiplo de cuatro
pero agrupando de
cuatro en cuatro
rellenamos con ceros por la izquierda.
Ejemplo: 10111011001 2 101 1101 100h
-+ Decimal: multiplicamos cada dígito binario por 2 elevado a la posición que ocupa.
Tras ello sumamos todo y sale el número en decimal
Ejemplo:
1011101100h = 1 . 210 + O . 29 + 1 . 2 8 + 1 . 27 + 1 . 26 + O . 2 5 +
+ 1 . 24 + 1 . 23 + 1 . 22 + O . 21 + 1 . 2° = 1497 10
De octal a:
-+ Binario: basta con sustituir los digitos en octal por los tres digitos equivalentes en
binario (ver tabla de la página anterior).
Ejemplo: 12348 = 001 010011 1002
-+ Decimal: multiplicamos cada dígito octal por S elevado a la posición que ocupa. Tras
ello sumamos todo y sale el número en decimal
Ejemplo: 12342 = 1 . S3 + 2 . S2 + 3 . SI + 4 . SO = 66S 1O
De hexadecimal a:
-+ Binario: basta con sustituir los digitos en hexadecimal por los cuatro digitos
equivalentes en binario (ver tabla, de la página anterior).
Ejemplo: CODE 16 = 1100 0000 110 1 11102
( I
~-_/
~ Binario: Se va dividiendo el dígito en decimal entre 2 tantas veces como sea posible
(división entera, sin decimales) y nos vamos quedando con el resto que sobra en cada
división (que siempre será O ó 1). Esos restos ordenados del último al primero forman
el número binario:
108 10 = 11011002
~ Octal: Se va dividiendo el dígito en decimal entre 8 tantas veces como sea posible
(división entera, sin decimales) y nos vamos quedando con el resto que sobra en cada
división (que esta-rá siempre entre Oy 7). Esos restos ordenados del último al primero
forman el número octal:
108 10 = 1548
l_)
108 10 = 6C 16
Complemento . Complemento
Decimal
a dos a uno
-8 1000
-7 1001 1000
-6 1010 1001
-5 1011 1010 j
-4 1100 1011
Recuerda que el bit
más significativo nos da -3 1101 1100
la información relativa
al signo del número.
-2 1110 1101
-1 1111 1110
O 0000 1111 Ó 0000
1 0001 0001
2 0010 0010
3 0011 0011
4 0100 0100
5 0101 0101
6 0110 0110
7 0111 0111
=
BCD "Binary-coded 1.4.1 Decimal codificado en binario (BCD)
decimal"
Hasta ahora hemos supuesto que los números decimales se traducen a binario para ser
BCD no es más que el procesados por circuitos digitales. Un método alternativo es codificar los dígitos decimales
sistema decimal, con
cada dígito codificado
en forma binaria, manteniendo su notación posicional. Estos números se denominan .
en binario. números decimales codificados en binario.
N IO = 7 1 O 9 = 0111000100001001 10
n Observa que el
/ subíndice del resultado
'-' es 10, para representar
~ ~ ~~
Olll 0001 0000 1001
que, efectivamente, no
está representado en Por supuesto, la conversión de BCD a la forma decimal ordinaria se efectúa reemplazando
binario, sino en BCD. los grupos de cuatro bits por el dígito decimal equivalente.
Ejemplo:
N IO = 001110000100100100000101 = 38490510
~~~'----v--"--v-'
3 8 4 9 o 5
1.4.2 l-de-l0
Este sistema consiste simplemente en codificar cada dígito decimal como una palabra
binaria de lO bits. En esta, todos los bits están puestos a cero excepto aquel que ocupa la
posición coincidente con el valor del dígito decimal representado.
Es importante recordar
que en este sistema
contamos las Así, por ejemplo, el dígito decimal O estará representado por '1000000000', y el decimal 7,
posiciones desde la
corresponderá al '0000000100'. Todas las correspondencias entre dígitos puedes
c) izquierda, empezando
por cero.
encontrarlas en la tabla adjunta.
O 0000 1000000000
1 0001 0100000000
Observa que no se
utilizan las 2 0010 0010000000
combinaciones
comprendidas entre 3 0011 0001000000
1010 Y 1111, inclusive.
4 0100 0000100000
5 0101 0000010000
6 0110 0000001000
7 0111 0000000100
8 1000 0000000010
9 1001 0000000001
G!
1..5247
FUNCTION TABLE
Display de 7 segmentos:
INPUTS OUTPUTS
D e B A
" b e d
• r 9 a
L
L
L
L
L
L
L
L
L
L
H
H
L
H
L
H
ON
OFF
ON
ON
ON
ON
ON
ON
ON
ON
OFF
ON
ON
OFF
ON
ON
ON
OFF
ON
OFF
ON
OFF
OFF
OFF
OFF
OFF
ON
01'1
fl-;-I b
L H L L
H
OFF
ON
ON
OFF
ON
ON
OFF
ON
OFF
OFF
ON
ON
ON
ON
el le
L H L
L H" H L ON OFF ON ON ON ON ON d
L H H "¡.¡ ON ON ON OFF OFF OFF OFF
SEGMENT
H L L L ot~ ON ON ON ON ON ON
H L L H ON ON Ol~ ON OFF ON ON IDENTIFICATION
H L H L OFF OFF OFF ON ON OFF ON
H L H H OFF OFF ON ON OFF OFF ON
H H L L OFF .oN OFF OFF OFF ON ON
H H L H ON OFF OFF ON OFF ON ON
H H H l OFF OFF OFF ON ON ON ON
H H H H OFF OFF OFF OFF OFF OFF OFF
(j
o a) Conmutativa: a + b = b + a
a·b=b·a
b) Asociativa: a+b+c=a+(b+c)
a·b·c=(a·b)·c
c) Distributiva: a· (b + c) = a·b + a· c
a+(b·c) = (a+b)·(a+c)
"..i • ,
Op~ración
0+0=0 a+O=a
O+ 1 = 1 a + 1 = 1
Suma F=a+b
1+.1=1 a+a=a
a +á = 1
0,0=0 a'O=O
F = a' b 0'1=0 a'l=a
C) Multiplicación F = ab
F = a *b
1,1=1 a'a=a
a' á = O
Complementación F=á
o inversión F = Q.b
o O 0+0·0=0 O
O 1 0+0·1=0 O
1 O 1+1·0=1 1
1 1 1+1'1=1 1
Existen infinidad de teoremas en el álgebra de Boole, tantos como puedan ser demostrados
por el método ya referido; sin embargo, hay una serie de ellos que, dada su utilidad, es
importante conocer. La tabla siguiente muestra los más importantes.
Por otra parte, siempre que se cumple una ley o teorema en el álgebra de Boole, se cumple
también su llamada forma dual; es decir, se cumple también la expresión que se obtiene
cambiando solamente las operaciones de suma por las de producto y las de producto por
las de suma. Las formas duales de las leyes y teoremas básicos también se indican en la
tabla siguiente. (\
. J
IMPORTANTE: Tanto
x = a·b·c+a·b·c+a·b·c
en una estructura como
en la otra, todos los • Segunda forma canónica - Ecuación con estructura maxterms: Se dispone
términos han de como un producto de términos en forma de suma de las diferentes variables que
contener todas las
variables que
intervienen en la ecuación.
intervienen en la
ecuación.
Ejemplo:
Esta forma canónica se • Cuarta forma canónica - Ecuación con suma de sumas: Se dispone como una
utiliza para implementar suma de términos en forma de suma de las diferentes variables que intervienen en
una función empleando
sólo puertas NOR. la ecuación.
Ejemplo:
o Con el ejercicio 1 de
clase comprenderemos
mejor estos métodos.
dos métodos para obtener su ecuación en primera y segunda forma canónica,
respectivamente. Estos métodos están expresados y resumidos en la tabla siguiente, en la
que también explicamos el método para obtener a partir de estas, la tercera y la cuarta
forma canónica.
Ecuación minterms Primera forma Obtener la suma de productos de variables o variable negada
canónica cuyas combinaciones hacen 1 la función 1 variable sin negar
Se han propuesto diversos métodos para minimizar de modo sistemático. Algunos son
numéricos, y conducen a un algoritmo que puede programarse. Aquí veremos un método
gráfico que es el más sencillo y también el más conocido (aunque prácticamente deja de
tener utilidad para formas booleanas con más de seis variables).
Una tabla de Karnaugh no es otra cosa que una presentación alternativa de la misma
información contenida en una tabla de verdad. La tabla de Karnaugh es de doble entrada, y
tiene las asignaciones colocadas de tal modo que las que corresponden a productos
canónicos adyacentes están físicamente contiguas.
En la siguiente figura pueden verse las disposiciones de las tablas de Kamaugh para los
casos de tres, cuatro y cinco variables booleanas. Cada casilla corresponde a una línea de la
tabla de verdad, y se pondrá en ella un "O" ó un "1". En la figura hemos numerado las
casillas con los números de fila correspondiente de la tabla de verdad.
z 00 01 11 10
O O 2 6 4
1 1 3 7 5
,x. 01 11 10
x.;x4 00
00 O 4 12 8
01 1 5 13 9
11 3 7 15 11
IMPORTANTE: de una
casilla a otra adyacente 10 2 6 14 10
sólo puede cambiar
una variable.
x,=1
Es por esto que, por x.;x3 00 x.;x3
ejemplo, 01 11 10 x¡xs 00 01 11 10
x:;;:.
representemos la
entrada X4 X 5 = 11 justo 00 O 4 12 8 00 16 20 28 24
debajo de la casilla con 01 17 21 29 25
01 1 5 13 9
entrada X 4X 5 = 01
11 3 7 15 11 11 19 23 31 27
10 2 6 14 10 10 18 22 30 26
Una vez rellena la tabla, pasamos a agrupar términos para obtener la forma canónica
simplificada que buscamos y después expresar finalmente la función. Según sea esta la
primera o la segunda, actuaremos de formas diferentes:
Obtendremos tantos términos como grupos de unos (términos que se sumarán entre
sí)
(---\1 Cada uno de los términos se obtiene multiplicando las variables que quedan
constantes.
Complementamos las variables que valen O.
Una vez agrupados todos los ceros, pasamos a expresar la función buscada.
• El tipo de jerarquía.
• La representación del sistema.
• La relación con la realización física.
• Horizontal
• Según el tipo de
jerarquía { { . De abajo hacia arriba
• Vertical
• De arriba hacia abajo
Formas de • Estructural
descripción • Según la representación
de los sistemas del sistema • Funcional o de comportamiento (~)
digitales {
• Física O geométrica
complejos
En inglés "structural
design". • Independiente'
• Según la relación con
la realizaciónfisica
{ • Dependiente
. .
A pesar de que existen, tal y como hemos visto, tantas formas de describir un circuito, para
esta asignatura sólo vamos a centrarnos en la segunda de las clasificaciones y más concre-
tamente, sólo en las descripciones estructural y funcional.
Las dificultades que presenta la descripción del esquema de un sistema digital complejo
mediante transistores o incluso mediante puertas lógicas hizo que a los programas de dise-
Estas bibliotecas con-
ño de esquemas se les dotase de bibliotecas (en inglés "libraries").
tienen componentes o
módulos denominados La edición de esquemas fue, hasta la década de 1980, la única forma de realizar la descrip-
macros que pueden ser
de dos tipos: Macros ción estructural asistida por computador de los sistemas digitales. Pero la elevación de su
hardware ("hard ma- complejidad propició el desarrollo de lenguajes orientados a la descripción de sistemas
cros') y Macros soft- digitales, que reciben el nombre de BDL, uno de los cuales (VHDL) estudiaremos en apar-
ware ("soft macros").
tados posteriores.
Los formatos habituales para describir el funcionamiento de los sistemas digitales sencillos
son las tablas de verdad, las ecuaciones lógicas y los grafos de estado. Para sistemas
más complejos estos formatos habituales son el flujo de datos y los algoritmos de compor-
tamiento.
Para potenciar esta forma de descripción fue necesario desarrollar lenguajes de descripción
como el que estudiamos a continuación.
o Ejemplos de lenguajes
HDL no estructurados
son ABEL, CUPL y
PALASM.
• Algunos fabricantes de circuitos digitales configurables ó de equipos de instrumenta-
ción electrónica desarrollaron lenguajes HDL sencillos, denominados no estructura-
dos, ya que están orientados a la realización de un único circuito o módulo por fichero.
Además, cabe destacar que el lenguaje VHDL permite la descripción de un circuito de dis-
tintas formas, incluyendo las descripciones Estructural y Funcional, descritas en apartados
anteriores.
Cabe resaltar que
VHDL es independiente Para realizar la descripción de un circuito o sistema digital en VHDL, debe incluirse ésta en
de la tecnología em-
pleada. un fichero de texto, que posteriormente será compilado y sintetizado, obteniendo el código
necesario para programar el circuito configurable elegido.
Si bien en sucesivos apartados de describen con más detalle cada una de las secciones del
fichero, vamos a comentar algunas generalidades:
• Cada instrucción debe terminar generalmente con punto y coma, pero no cada línea,
puesto que algunas instrucciones ocupan varias líneas.
• Los comentarios, que deben ir precedidos de dos guiones(--), deben situarse al fmal de
la línea o bien Qcupar toda una línea
LIBRARY nombre_biblioteca;
USE nombre_biblioteca. nombre_paquete. elemento_paquete
o 2.3.4 Entidad
Una entidad ("entity") en VHDL consiste en la defmición del nombre del circuito y de sus
señales de entrada y salida (puertos), indicando el tipo de cada una de ellas.
Cada circuito en VHDL debe incluir una declaración de entidad y al menos una declaración
de arquitectura.
El conjunto entidad -
arquitectura es la uni-
dad mínima de diseño. Un mismo fichero puede contener la declaración de muchos circuitos, lo que permite dise-
ñar un sistema digital complejo mediante un solo fichero VHDL, aunque también se pueda
utilizar un fichero distinto para cada circuito. Esto lo convierte en un lenguaje estructurado,
que permite realizar fácilmente la descripción jerárquica de un sistema digital.
Ejemplo:
2.3.6.4 Operadores
\~
En el ejemplo se espe- Mediante una sentencia ''wait'', que obliga al proceso a esperar a que se cumpla una
cifica un proceso que determinada condición para activarse. La condición puede ser de tipo booleano, un
describe una puerta
lógica AND de dos evento, o una condición temporal.
entradas.
La sintaxis de esta forma es: ,
\
")
PROCESS
BEGIN
WAIT ON señal; --o
Importante: sólo usa-
WAIT UNTIL expresión; --o
mos uno de los tipos de WAIT FOR expresión temporal;
sentencia WAIT aquí Sentencias secuenciales;
presentadas (por eso END PROCESS
comentamos con --o el
final de esas senten-
cias).
Ejemplo:
PROCESS
BEGIN
Espera flanco ascendente de reloj
WAIT UNTIL reloj'event and reloj = '1';
Aquí se especifica un Salida <= entrada;
proceso que describe
un biestable de tipo D
END PROCESS
activado por flancos.
Las sentencias secuenciales son aquellas que se ejecutan de fonna secuencial, es decir, en
Las sentencias se- el orden en que se han escrito en el fichero VHDL.
. cuenciales se compor-
(-- ') tan como las de cual- Las sentencias secuenciales sólo pueden aparecer dentro de procesos ("process") y subpro-
~ quier lenguaje de pro-
gramación. gramas (funciones y procedimientos).
b) Case...when
Esta sentencia secuen-
cial es análoga a la Se utiliza generalmente para las expresiones en las que intervienen varias variables o seña-
sentencia concurrente les y debe cubrir todos los posibles valores de la expresión, de forma excluyente.
with ...select
e) For
Permite repetir la ejecución de las sentencias incluidas en el bucle mientras el índice del
Desde aquí comenza-
mos las sentencias de
bucle se encuentre en el rango predefinido.
bucle.
La sintaxis es la siguiente:
Ejemplo:
Bit_paridad_par <= 'O';
Aquí se especifica un
FOR i IN O TO 15 LOOP
bucle que calcula el bit IF x(i)='l' THEN
de paridad par de una Bit_paridad_par <= NOT bit_paridad_par;
combinación x(i) de 16 END IF;
bits.
END LOOP;
C)
1 AO YO 15
2 A1 Y1 14
3 A2 Y2 13
Y3 12.
E1 Y4 11
Y5 ;0
Y6 9
Y7 7
MNA370
lHPUTS Ot1TPUTS
t, Et q Por, A, Ao y. Y, y~ Vi! y. Y, 'i't Y1
H X X X )( X H H H H H H H H
X H X X X X H H H H H H H ti
X X L X X Jo; H H H H H H H ti
L L H L L l. i.. H H ti: H H H H
L
L
L
L
L
L.
L
L
ti
ti
ti
H
H
L
H
L
L
H
H
L
l.
l.
L
H
H
H
H
H
L
H
Ji
Ji
H
l
H
H
ti
ti
L
H
ti
ti
ti
L
H
H
H
H
H
ti
H
H
H
H
H
ti
Cj
L L H ti L H H H H H H L H ti
L L H l H H H H H ti H H l H
L L Ji ti H H H H H H ti H ti L
library IEEE;
use IEEE.std-'ogic_1164.all;
entity V74x138 is
port (G1, G2A_L, G2B_L: in STD_LOGIC; -- enable inputs
A: in STD_LOGIC_VECTOR (2 downto O); -- select inputs
Y_L: out STD_LOGIC_VECTOR (O to 7)); -- decoded outputs
end V74x138;
Iibrary IEEE;
use IEEE.stdJogic_1164.all;
entity mux4in3b is
port (
S: in STD_LOGle_VEeTOR (2 downto O); -- Select inputs , 0-7 ==> ABAeADAB
A, B, e, D: in STD_LOGle_VEeTOR (1 to 18); -- Data bus inputs
Y: out STD_LOGle_VEeTOR (1 to 18) -- Data bus output
);
end mux4in3b;
Sl SI '50 Y
architecture mux4in3p of mux4in3b is 6 o G A..
begin 6 o \ Js
process(S, A, B, e, D) 61 o A
\fari¡¡ble i' II\ITEGERr -D... \ \ e
begin
case S is
when "000" I "010" I "100" I "110" => Y <= A;
,
G\ () o
ó
\ t 'O
l ~
A
A
when "001" I "111" => Y <= B; Ü I ..!S
when "011" => Y <= e;
when "101" => Y <= D;
when others => Y <= (others => 'U'); -- 18-bit vector of 'U'
end case;
end process;
end mux4in3p;
entity vcompare is
port (
(J
A, B: in STD_LOGIC_VECTOR (7 downto D);
EQ, NE, GT, GE, LT, LE: out STD_LOGIC
);
end vcompare;
library IEEE;
use IEEE.stdJogic_1164.all;
use IEEE.stdJogic_unsigned.all;
entity camp8 is
part ( A, B: in STD_LOGIC_VECTOR (7 downto D);
EQ, GT: out STD_LOGIC);
end comp8;
2..3.7.6 Barrel shifter de.16 bits con desplazamiento circular a la izquierda \.,-)
entitY rol16 is
port (
DIN: in STD_LOGIC_VECTOR(15 downto O); -- Data inputs
S: in STD_LOGIC_VECTOR (3 downto O); -- Shift amount, 0-15
DOUT: out STD_LOGIC_VECTOR(15 downto O) -- Data bus output
);
end ro116;
library IEEE;
use IEEE.stdJogic_1164.all;
entity Vsrlatch is
n
port (S, R: in STD_LOGIC;
Q, QN : buffer STD_LOGIC );
end Vsrlatch;
entity Vdff is
port (D, CLK: in STD_LOGIC;
()
Q: out STD_LOGIC );
l end Vdff;
entity Vdff7 4 is
port (D, CLK, PR_L, CLR_L: in STD_LOG IC;
)
Q, QN : out STD_LOGIC );
end Vdff74 ;
,)
2.3.8.4 Contador binari,o de cuatro bits 74xx163
9
PE
10
CET
15
7
CE?
CP BINARY
2 COUNTER
MR
MNA901
14 13 12 11
INf'UTS OUTPUTS
CiPERATING mOE
Jm CP' CE? CET 'PE D;¡ a.. Te
re.et (deat} { t X x x X L 1.
parame¡.!tlad n t x X l' 1 L L
b t x X I h H ti)
ilcId lo X f X h X ~t¡
CIII
¡
n
{do nolhirt;¡} b X X h X q,. l
library IEEE;
use IEEE.stdJogic_1164.all;
use IEEE.stdJogic_arith.all;
entity V74x163 is
port (CLK, CLR_L, LD_L, ENP, ENT: in STD_LOGIC;
D: in UNSIGNED (3 downto O);
Q: out UNSIGNED (3 downto O);
RCO: out STD_LOGIC );
end V74x163;
entity smexamp is
port ( CLOCK, A, B: in STD_LOGIC; (=-)
Z: out STD_LOGIC );
end;
end smexamp_arch;
begin
process (CLOCK)
begin
if CLOCK'event and CLOCK = '1' then
if RESET = '1' then LlGHTS <= IDLE; else
case LlGHTS is
when IDLE => if HAZ='1' or (LEFT='1' and RIGHT='1') then LlGHTS <= LR3;
() elsif LEFT='1' then LlGHTS <= L 1;
elsif RIGHT='1' then LlGHTS <= R1;
else LlGHTS <= IOLE;
end if;
when L 1 => if HAZ='1' then LlGHTS <= LR3; el se LlGHTS <= L2; end if;
when L2 => if HAZ=' 1, then LlGHTS <= LR3; el se LlGHTS <= L3; end if;
when L3 => LlGHTS <= IOLE;
when R1 => if HAZ=' 1, then LlGHTS <= LR3; else LlGHTS <= R2; end if;
. when R2 => if HAZ=' 1, then LlGHTS <= LR3; else LlGHTS <= R3; end if;
when R3 => LlGHTS <= IOLE;
when LR3 => LlGHTS <= IOLE;
when others => null;
end case;
end if;
end if;
end process;
end Vtbird_arch;
3.2 Multiplexores
Son circuitos combinacionales que poseen las siguientes entradas y salidas:
• N entradas de información o canales de datos.
• n entradas de selección o control.
• Una salida de información
• Una entrada de autorización.
Los canales de entrada están relacionados con las entradas de selección por la siguiente
ecuación:
,
211 entradas ··· ¡
dedato$ 1 salida
I
¡
I
¡
I
¡
r-A--.
11···11
~
n bits
de selección
S
Pin Names Descnption
!{la
El componente aquí
lOa-1M Source o Data ¡nputs
descrito es el Ifa
'o~
74AC157, multiplexor Ita-1td Source 1 Data. tnputs
Za Ite
de dos entradas de
datos (de 4 bits cada 10b 12 Ze E Enable Input
una). 11 S Sefect Input
Ilb 'oc!
2b 10 ··lld Za...za Outputs
9 ZIt
3.2.2 Multiplexor 2 x 1
3.2.3 Multiplexor 4 x 2
CI Ca Z
lo 00 MUX O O lo
11 01
12 10 z O 1 11
h II
1 O 1?
1 1 13
Cl Co
3.2.4 Multiplexor 8 x 3
La tabla de verdad de un multiplexor de 8 canales de entrada (10 ,11 ,12 ,13, 14 ,15 ,16 e 17 )
con 3 entradas de control ( Co , CI y C2 ) es la siguiente:
1 0 - 000 MUX
! l - 001
l l - 010 - C2 CI eo Z
h - Oll
1 , - lOO
O O O lo
I s - 101
1 6 - 110 O O 1 11
1 7 - 111
O 1 O 17
1
III O
1 O
1 13
C, Cl Co O 14
1 O 1 l'i
1 1 O lF,
1 1 1 17
rj
'---
~
Z=~G~~+~G~I¡+~G~~+~G~~+~G~~+~G~~+
+~GCoI6 +~GCoI7
Nuevamente vamos a Para poder implementar la función vamos a seguir el segundo de los métodos del
seguir'la explicación a apartado a), pero realizando unos pasos previos.
partir de un multiplexor
4x2, sólo que ahora la Lo primero que debemos hacer es elegir qué dos variables van a estar conectadas a
funciónF que
O -
queremos implementar
es de tres variables, X,
Yy W.
las entradas de control. Vamos a suponer que en nuestro caso van a ser X e Y.
Acto seguido tenemos que transformar la expresión que nos den de la función,
para que en cada término de la misma aparezcan SIEMPRE estas dos variables
elegidas. Para ello, cuando en algún término falte alguna, multiplicaremos dicho
Recuerda dos
propiedades
importantes:
término por (X + X) Ó (y + y) ,según cuál sea la variable que falta.
la+a=ll Una vez expresadas estas multiplicaciones, deshacemos los paréntesis aplicando la
propiedad distributiva, simplificamos cuando se pueda, y reordenamos la
la.l =al expresión.
F=XY~+XY~+XY~+XY~
Donde la única diferencia será que las entradas 10 ,11 ,12 e 13 no quedarán sólo
identificadas con' l' ó 'O', sino también por W ó W, la tercera de las variables
de la función.
Nota:
Veremos un ejemplo de
También es posible, en algunas ocasiones, implementar funciones con n + 2 variables o
este tipo en el ejercicio más mediante un múltiplexor de n entradas de control pero para ello el problema debe estar
1 de clase, de este
preparado.
tema, apartado c.
3.3.3 Decodificador 3 a 8
EN E2 El Eo So SI S2 S3 S4 S5 S6 S7
O X X X O O O O O O O O
1 O O O 1 O O O O O O O
1 O O 1 O 1 O O O O O O
1 O 1 O O O 1 O O O O O
1 O 1 1 O O O 1 O O O O
1 1 O O O O O O 1 O O O
o 1
1
1
1
1
1
O
1
1
O
1
1
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
1
O
O
O
1
O
O
O
1
y su esquema:
decodificador
3a8 So
SI
S2
S3
En este caso, E2 es el S4
Ss
bit más significativo de
la entrada S6
EN S7
1 )
\~
Entradas de cascada
A3> 83 X X X X X X 1 O O
A3 <-83 X X X X X X O 1 O
A3= 83 A2>82 X X X X X 1 O O
A3 = 83 A2< 82 X X X X X O 1 O
A3 = 83 A2= 82 A1 > 81 X X X X 1 O O
A3 = 83 A2 = 82 A1 < 81 X X X X O 1 O
A3 = 83 A2 = 82 A1 = 81 AO> 80 X X X 1 O O
A3= 83 A2 = 82 A1 = 81 AO< 80 X X X O 1 O
A3= 83 A2 = 82 A1 = 81 AO= 80 1 O O 1 O O
A3= 83 A2 = 82 A1 = 81 AO=80 O 1 O O 1 O
-_~l
A3 = 83 A2 = 82 A1 = 81 AO= 80 O O O O '1
A3 = 83 A2= 82 A1 = 81 AO= 80 X X O O 1
A3 = 83 A2= 82 A1 = 81 AO = 80 1 1 O O O O
A3 = 83 A2 = 82 A1 = 81 AO = 80 .o O O 1 1 O
Al full adder lo
abreviaremos FA
x y Cin S Cout
O O O O O
x y O O 1 1 O
O 1 O 1 O
COUT GIN O 1 1 O 1
El FA sólo suma dos s 1 O O 1 O
bits más el acarreo de 1 O 1 O 1
entrada
1 1 O O 1
1 1 1 1 1
o
El circuito internp del sumador completo se muestra a continuación:
\ '.~
\c-'
,AO'
Ql' .
~.
y --+-lJ---l'-l s
Para más detalles CIN --I--I--+-----....J.
ver el ejercicio 1 de
clase de este tema
COUT
A partir del bloque elemental se pueden construir sumadores de más bits (n bits),
Estos sumadores de
dos palabras de n bits,
formados por full- Solo necesitamos una cascada de n etapas de sumadores completos, si cada una de las
adders, se suelen cuales maneja un bit.
denominar sumadores
de rizo.
Por ejemplo, aquí mostramos un sumador de cuatro bits construido a partir de cuatro
sumadores de un bit:
y
En este tipo de .. CIN COUT
:r-- COUT ClN
sumadores la velocidad
de cálculo está limitada t col.
( s s
CIN COUT
s S
por el camino del
acarreo. Si este se
propaga en toda la
Camino
crítico ~
í
t
s,
,
I
cuenta, ralentiza la S3 S2 So
I operación
\~
2n xbROM
AO
Al DO
A2 D1
address
, inputs
• • data
outputs
• • (-)
• • \ -
An-2 Db-1
An-1
Resumen
En este caso nuestra memoria tiene 23 = 8 palabras (es decir, una matriz con 8 filas) las
direcciones para referirnos a cada palabra tendrán 3 bits. En concreto las direcciones de las
ocho palabras de la memoria serán 000, 001, 010, 011, 100, 101, 110, 111. Cada una de
estas palabras tendrá una información de 2 bits.
b.., . - ~~
iz --
1\0 ~
D
8 ' ~
-- kl
t 1l
es. Aa ~~
3.6.4 Uso de las memorias ROM
lo
(Aa) Yo
(Do)
Y1
11 (Dl }
{Ai}
Y2
CDZ}
Y3
(D3}
POL
(A2)
Inputs Outputs
8x4ROM A2 Ar AO D3 D2 0'1 Do
O O O 1 1 1 (}
O O 1 1 1 O 1
00 YO
C: !O Aa
01 Y1
o
ti
1
1
o 1
o
o
1
1
1
11 A1
02 Y2 1 (} o o () O 1
POL A2
D3 Y3 1 o o o 1 o
1 1 o o 1 o o
i 1 1 o o o
1. J1'l ~~eVl~O--c \c(11 ~ e.. ~ li.vz. c.. ~ov'les 01~d 'la v1 -k ~)..{:
Considerando como entradas las entradas del circuito y las variables de estado, el
diseño de un circuito secuencial es igual al de uno combinacional.
Tan grande como
parezca, 2n siempre
será finito, nunca
infinito, de modo que En un circuito de lógica digital, las variables de estado son valores binarios,
los circuitos
secuenciales en
correspondientes a ciertas señales lógicas en el circuito, como veremos en secciones
ocasiones se conocen posteriores. Un circuito con n variables de estado binarias tiene 2n estados posibles.
como máquinas de
estado finito.
4.1.1 Señales de reloj
·1:
.,;.' . ~.l. -----,\~.
...t.L. .~r :'r--.,.
'<períoPD ;= t per
_ _ __
..
11
." r.
r" presentan aquí~•.. ~
~L~-L'l' t-· I \r
--o tL -I~ t R -:
o
>Cf-----1''--- Q
Como puedes ver, no
tiene entradas y tiene
dos salidas, Q y Q_L
Este circuito se denomina con frecuencia biestable, puesto que en un análisis estrictamente
digital tiene dos estados estables:
Si Q es ALTO, entonces el inversor inferior tiene una entrada en ALTO y una salida en
BAJO, lo que fuerza un nivel ALTO a la salida del inversor superior, como supusimos
en primer lugar.
Pero si Q está en BAJO, entonces el inversor inferior tiene una entrada en BAJO y una
salida en ALTO, lo que fuerza Q a BAJO, otra situación estable.
o Podríamos por tanto utilizar una variable de estado simple, el estado de la señal Q, para
describir el estado del circuito. Así, existen dos estados posibles: Q = OY Q = l.
Un biestable tiene
mucho más que Este elemento es tan simple que no tiene entradas y así no hay manera de controlar o
mostrar si modificar su estado. Cuando se aplica primero la energía al circuito, llega aleatoriamente a
consideramos su un estado o al otro y se mantiene ahí permanentemente.
funcionamiento desde
el punto de vista
analógico, estudiando Por supuesto, este elemento biestable que presentamos en un comienzo, evoluciona a otras
conceptos de
meta estabilidad, que se
formas, controlables mediante entradas, que exponemos a continuación.
escapan del temario de
EDIG.
Los cerrojos y flip-flops son circuitos secuenciales constituidos por puertas lógicas,
capaces de almacenar un bit, la información binaria más elemental. Son los bloques de
construcción básicos de la mayoría de los demás circuitos secuenciales.
• Por otra parte, la mayoría de los diseñadores digitales utilizan el nombre de cerrojo
Se dice que los (latch) para un dispositivo secuencial que no necesitan una señal de reloj.
cerrojos son
dispositivos Esto es, la salida cambia cada vez que cambia una de las entradas.
asíncronos.
Es importante saber
que algunos textos y
diseñadores digitales La clasificación de los biestables, desde el punto de vista de su constitución y del número
pueden emplear
(incorrectamente) el
de entradas puede resumirse en: biestable R-S, biestable J-K, biestable T y biestable D.
nombre "flip-flop" para
un dispositivo que en
'~ realidad es un cerrojo.
El circuito tiene dos entradas, S y R, y dos salidas, etiquetadas como Q y QN, donde
normalmente QN es el complemento de Q. La señal QN se representa en ocasiones como
Un poco más adelante
comprobaremos que
Qó º_L
esta definición de QN
no es completamente Se trata de un biestable asíncrono (no está monitoreado por un reloj) . Su tabla de
exacta. transiciones entre dos estados es la siguiente:
Ot representa la salida
R S Qt Q Qt+1
O en un detenminado O O O 1 O
instante t.
O O 1 O 1
Q, representa la salida O 1 O 1 1
Qen undetenminado O 1 1 O 1
1 O O 1 O -~)
instante t.
1 O 1 O O
Ot+1 representa la
1 1 O O -
salida O en el siguiente
instante, t+1.
Como se puede observar en la tabla si tanto S como R son O, el circuito se comporta como
el elemento biestable: tendremos un ciclo de retroalimentación que retiene uno o dos
estados lógicos, Q = O ó Q = 1. Pero tanto S como R pueden ser asertivas (ponerse al)
para forzar al ciclo de retroalimentación a un estado deseado:
S establece la salida Q a 1.
Recuerda que cuando
decimos "elemento R restablece o limpia la salida Q a O.
biestable" nos
referimos al biestable
básico, sin entradas, Después de que la entrada S ó R es negada de nuevo, la báscula permanece en el estado al
presentado en el cual fue forzado.
comienzo de este punto
5.2
Toda esta información queda resumida en la tabla de transición siguiente, más concisa:
)
R S 0t+1
O O Qt
O 1 1
1 O O
1 1. -
Inestabilidades:
Con esta observación
queda patente que en
un caso detenminado,
Cuando ambas entradas, S y R, están a 1, ambas salidas son forzadas a cero. Una vez que
Q no es el negamos cualquiera de las entradas, las salidas regresan a la operación complementaria
complemento de O, en como es habitual.
la salida de una
báscula R-S. Sin embargo, si negamos ambas entradas de manera simultánea, la báscula se encamina a
un estado siguiente impredecible y de hecho puede oscilar o entrar a un estado conocido
como metaestable.
La metaestabilidad no La metaestabilidad también puede presentarse se un pulso 1 que sea demasiado breve se
es objeto de esta
asignatura. aplica a S ó R.
8_L R_L Q QN
O O
O 1 Q
o o
1 lastQ [astQN
5---1
}---'!>--- Q
Con frecuencia D
necesitamos cerrojos
O
Q
simplemente para
almacenar bits de
información: cada bit es C
C Q
presentado en una
línea de señal, y nos QN
gustaría almacenarlo
en alguna parte.
Un cerrojo O puede
emplearse en una
aplicación de esta La entrada de control de un cerrojo D, etiquetada C, se llama en ocasiones ENABLE, CLK,
naturaleza.
ÓG.
=8
transfiere al segundo
cerrojo, conocido como e e N \)
esclavo. Éste se
encuentra abierto todo CLK Q
el tiempo que CLK es CLK
1, pero solamente
cambia al principio de
este intervalo, porque
el maestro está cerrado
y sin modificaciones
durante el resto del Así tenemos un circuito que muestrea su entrada D y cambia sus salidas Q y QN sólo para
intervalo. el flanco ascendente de la señal CLK de control.
entrada dinámica.
1 I O
x: O lasta ¡ast QN
x: 1 lastQ las! QN
C D Qt Qt+! La ecuación
(, O O O O
característica de
O O 1 1 un biestable Des:
A las cuatro primeras O 1 O O
filas se les llama modo O 1 1 1 Qt+! =D
retención y las cuatro
últimas modo transpa- 1 O O O
rente 1 O 1 O
1 1 O 1
1 1 1 1
Observaciones:
J K CLK Q QN
x: x: O lastQ lastQN
x: x: 1 lastQ lastQN
O O I lasí Q lastQN
O 1 I O
1 O I 1 O
1 1 I lastQN lastQ
J K Qt Qt+l La ecuación
O O O O característica de
O O 1 1 un biestable J-K
O 1 O O es:
O 1 1 O
1 O O 1
1 O 1 1
1 1 O 1
1 1 1 O
J K Qt+l
O O Qt
O 1 O
1 O 1
1 1 o.
La aplicación más
común de los flip-flops De la anterior tabla de transiciones se puede extraer la siguiente tabla que es de gran
J-K se encuentra en las utilidad para los ejercicios de autómatas:
máquinas de estado
síncronas temporizadas
Qt Qt+l J K
O O O X
En esta tabla se inter- O 1 1 X
preta que: 1 O X 1
1 1 X O
x=Oó1
4.2.6 Flip-flop T
El circuito que aquí
presentamos es en
Se trata de un biestable J-K al que se han cortocircuitado las entradas:
realidad un flip-flop T
con habilitación
(ENABLE). EN Q EN Q
T
Este circuito es muy QN
importante para realizar
contadores.
En el ejercicio 1 de
clase veremos otra
modalidad de biestable Q
T, muy parecida a esta.
QN
T Qt Qt+l
T Qt+l La ecuación
O O O
La tabla de la derecha
O característica de
muestra la misma O 1 1 Qt
un biestable Tes:
información pero de 1 O 1 1
forma más concisa. Qt
1 1 O
Las puertas son dispositivos asíncronos. Esto significa que la salida cambia en el momento
que cambia alguna de sus entradas (si suponemos que su tiempo de propagación es nulo),
sin esperar a ninguna señal de reloj.
• ¡Tiempo de propagación (td~ -7 Tiempo que tarda una puerta en cambiar su salida
desde que cambia alguna de sus entradas. El tiempo de propagación es un parámetro
dado por el fabricante.
• ITiempo de establecimiento (set up time, tsetup~ -7 Tiempo antes del instante de flanco
activo en el cual las entradas del biestable no deben cambiar.
El tiempo de hold no es • ITiempo de hold (hold time, thold)l-7 Tiempo después del flanco activo en el cual las
un parámetro que entradas del biestable no deben cambiar.
intervenga en el cálculo
de la frecuencia
máxima del reloj de un Observación:
circuito.
Este será el tiempo real que van a tardar en cambiar sus entradas después del flanco
activo, y por lo tanto este es el tiempo máximo que debe necesitar de hold el
biestable. Si necesitase más, nuestro circuito no funcionaría con la topología actual.
• Para circuitos con más de un biestable, los caminos que buscaremos serán desde la
salida de cualquier biestable, hasta la entrada de cualquier biestable. Por supuesto,
podemos llegar al mismo biestable del que partimos.
~
\.kJs '\W\~na..VV\~ ü\. es\..e.
Q...ie~ ~\o l.U'l ~ \e.s\o.~\e
I
IOl~~le
CLK CLK
T Q Ql
>-- >CLK
I T Q Q2
~ T Q Q3
v ••
4, D Q QO
CLK CLK
I
,"'
~/
~
D
I>CLK
Q Ql
I
I ---1l' "
~/
D Q Q2
.....- I>CLK
--k->I---;r, D Q Q3
- I>CLK
.~
--------------~----------------------~---------------------------------------------
CLK
,- :> 9....
----r--- LOAD
U/D
10 ....
Observa que en el 7":.. ENT
símbolo lógico se ---..,.. ENP
dibujan las entradas a 1 2 3 4 5 6 7 la 74L$169
la izquierda y las UfO CLOCK A s e D ENASLE GND
¡;
salidas a la derecha
DATA INPUTS
Timing Diagram
LS169A Binary Counters
Typical Load, Count, and Inhibit Sequences
LOAD~
c
----+-'
.-
tomar el valor "O" ó "1" L_
indistintamente.
PANDl'
--.,
Os __ _
QD __ ---1
RIPPLE - --,..--+-1-----.
CARRY
OUTPUT - _-.J
I 13 14 15 o 2 2 2 o 15 14 13
I II--COUNTUP---t--INHIBIT--I I----COUNT DOWN - - -
LOAD
Entradas A BCD
I~
En estas entradas podemos poner el número que nosotros queramos en binario desde el
D' = decimal D' 0=BOOOO hasta el D' 15=B' 1111. siempre teniendo en cuenta que A es el bit menos
=
B' binario
significativo y D es el más significativo.
Este número sólo pasa a las salidas QA QB Qc QD cuando se activa el LOAD.
EntradaCLK
Es la entrada del reloj. El contador sólo "funciona", es decir, solo lee las entradas y saca las
salidas, cuando se produce el flanco activo del reloj (que en nuestro caso, es el de subida).
El resto del tiempo el contador no hace nada.
Entrada LOAD
La bolita que hay en Cuando el LOAD se activa el valor de las entradas A BCD es transferido a las salidas QA
esta entrada señala QB Qc QD de forma inmediata y con independencia de lo que hubiese en las salidas
que es activa a nivel
bajo. Esto quiere decir anteriormente.
Indica al contador si tiene que contar hacia arriba o hacia abajo. Si ponemos un "1" en esta
entrada entonces el contador, en cada flanco activo del reloj, aumentará en una unidad el
valor anterior de las salidas. Sin embargo si ponemos un "O" el contador disminuirá en una
unidad el valor anterior de las salidas.
Salidas Q~-ºº-ºr2
En estas salidas veremos aparecer, en cada flanco del reloj, un número entre el D'O=BOOOO
hasta el D' 15=B'1111.
Si el contador está inhibido (ENT=ENP="1") aparecerá siempre el mismo número y si no
10 está ese número irá cambiando siguiendo la secuencia que hayamos programado.
La salida de un contador puede servir, por ejemplo, para iluminar un display de siete
segmentos como el de un reloj digital.
Esta salida avisa de cuándo el contador ha llegado al tope. En nuestro caso avisa si el
contador llega a D'15=B'1111 si está subiendo o avisa si el contador llega a D'O=B'OOOO
si el contador está bajando.
La bolita significa que Por ser activo a nivel bajo, saldrá un "1" mientras la cuenta no haya llegado al tope y sale
es activo a nivel bajo. un "O" si llega al tope (es decir, 15 si está subiendo o Osi está bajando).
SER IN o OC--
CLOCK ~CK
Un registro de
desplazamiento de n
Lo Oc--
bits de entrada serie y
)CK
salida serie puede
emplearse para
retardar una señal en n I
tics del reloj. •
• I
I
• I
I
I
01----- SEROUT
'------1) CK
La entrada serie SERIN especifica un nuevo bit que será desplazado en un extremo
para cada tic del reloj.
Este bit aparece en la salida serie, SEROUT, después de n tics del reloj, y se pierde un
tic más tarde.
SERIN o O 1Q
\
CLOCK ~CK )
L D Q 2Q
)CK
Un registro así puede
utilizarse para efectuar
la conversión serie a ! •
paralelo, muy utilizada
en electrónica digital. •
•
o Qt----NQ
CK
Como se puede observar, tiene salidas para todos sus bits almacenados, haciéndolos quedar
disponibles para otros circuitos.
Este circuito funciona a la inversa que el anterior, como se puede observar en la figura
siguiente:
CLOCK--------------------------------~
LOAD/SHIFT -------tJ--{j(
SERfN ---+--------+----j
'---'--'O Q
1D CK
••
•
O Q SEROUT
NO----r---------~ CK
Para cada tic del reloj el registro carga nuevos datos de las entradas ID - ND, ó recorre su
contenido actual, dependiendo del valor de la entrada de control LOAD/SHIFT.
CLOCK
LOAD/SHIFT
SERIN
10
C~~
D Q
10 CK
D Q 20
2D CK
••
•
D Q NO
NO CK
I
'~
La siguiente figura muestra los símbolos lógicos para tres populares registros de
desplazamiento de 8 bits integrados:
74xl64 7
CLK
74x,166
n
8
CLK 'CLKINH 74x194
CLR 11
CLK
SERA
2
SERS SER
3. :2 si
QI;. A 9
4 3 SO
QS Eí
OC .5 4: 7
C UN
6 5 B 12
QD O O QD
m :lO 5 13
QE
11
E e QC
OF 11 '4 14
F B OB
12 12 3 15
QG G' A QA
1"
OH
,,-!:
14 1:3 2·
H OH RiN
desplazamiento (CLR_L). Tiene dos entradas serie que se operan con AND de manera interna, es decir,
unidireccionales, dado
que efectúan el
tanto SERA como SERB deben ser 1 para ser recorridos en el primer bit del registro.
desplazamiento en una
sola dirección. 4.5.5.2 Registro 74x166
;::~ClK :~
Los diseñadores del
'166 lo destinaron para
El '166 tiene un arreglo de temporización
poco habitual llamado "reloj de Cl..,K
que CLK sea colocada
a un reloj de sistema de compuerta": tiene dos entradas de reloj CLKINH
carrera libre y para que
CLKINH sea asertiva conectadas a los flip-flops internos como
para inhibir CLK. se muestra en la figura de la derecha:
to other
f1!p-l!ops
4.5.5.3 Registro 74x194
\
A modo de ejemplo, nosotros vamos a estudiar con más detalle detalle un modelo "--)
-
determinado, el 74LS194. Se trata de un registro de desplazamiento bidireccional de
entrada en paralelo y salida en paralelo de 4 bits.
Function Table
Inputs Outputs
El '194 es un registro Mode Serial Parallel
de desplazamiento Clear Clock OA OB Oc 00
bidireccional porque su
S1 SO Left Right ABCO
contenido puede ser L X X X X X XXXX L L L L
desplazado en H X X L X X XXXX OAO OBO OCO ODO
cualquiera de dos X
direcciones,
H H H t X a bcd a b e d
dependiendo de una
H L H t X H XXXX H OAn OBn OCn
entrada de control.
H L H t X L XXXX L OAn OBn OCn
H H L t H X XXXX OBn OCn ODn H
H H L t L X XXXX OBn OCn ODn L
H L L X X X XXXX OAO OBO OCO ODO (
1
\......J
MODE
CONTROL
¡so
INPUTS Sl
CLEAR
SERIAL! R
DATA
INPUTS L
PARALLEL{:
DATA
INPUTS C
OA :
O -
OUTPUTS B - -+-_+_---4
{ OC:
00 :-+--+----i
I
CLEAR LOAD
_r---INHIBlT
CLEAR
(J
Descripción del patillaje del 74LS194
Entradas A BCD
=
D' decimal En estas entradas podemos poner el número que nosotros queramos en binario desde el
B' = binario D'O=BOOOO hasta el D'15=B'1111. Este número solo pasa a las salidas QA QB Qc QD
cuando se activa S 1=" 1" , S0=" 1" .
EntradaCLK
Es la entrada del reloj. El registro solo "funciona", cuando se produce el flanco activo del
reloj (que en nuestro caso, es el de subida). El resto del tiempo el registro no hace nada.
Entrada CLEAR
Si ponemos esta patilla a "1" no hace nada ysi la ponemos a "O" ponemos todas las salidas
a cero Esta entrada es asíncrona, esto quiere decir que las salidas se ponen a "O" en el
mismo instante en que poenemos un "O" en la entrada CLEAR sin necesidad de esperar al
flanco activo.
Entradas SO SI
Vemos las cuatro combinaciones posibles:
Se comporta como el
SI = "0" SO = "0"
ENABLE de un conta-
dor
En este caso el registro se inhibe (inhibit) y las salidas ya no cambian más (se quedan
fijas) en los sucesivos flancos del reloj; esto equivale a "apagar" el registro.
(~
Salidas Q&-º~~
En estas salidas veremos aparecer, en cada flanco del reloj, un valor entre el D'O=BOOOO
hasta el D'15=B' 1111.
~I
So
~,------
QL¡-----______ ~
Ger------_
~"t_---__.
fi
~'
j~
o.t:. So'\oe~e: Q.
~~
<:.\1( .J
dI< __
~
- c-'t..kG'-\.
~
-~.
c. <lt
":!~ ~
el
Q ~
~
J>
"
c.c...óo... \}e..~~ ~
lo ó'~e'( iA ~t
~~
~\ ;)eJ E~6¡,e PAlZZ> ~t ~ :§
J b j,
e
.¿
D Qt Qt+1 D Qt Qt+1
~
J
./
K Qt Qt+1
J. T Qt Qt+i
-
.:{
o o o~ f-bó o"'" o -"0 o o
o o 1 - t-~ I o. . . 1 "'loO o o
0- ~c
1-¡,s. ..
o
o
o
1 ,o
o 1 0-!-bo 1 o ", o 1 o <9 '"~
.Q 1 o 1
o 1 1-~\
o~
v~
-
1 ~\ o 1 1 o 1 1 o
1 o. . o 1"'0 1 o o \Ji;
-
,1) 1 o 1 "0 1 o 1
1
I
03
f
1 o '"':bl
1'~
1 1 @- ~t
:1( 1 1 1 f'i-I 1 1 _g)~CJ
D Qt+1
o e
1
J K Qt+1 EN T Qt+1 T Qt+1
o o Qt:,. o X ~ o Q.t
o 1 o 1 o ~ «lo
R S Qt+1 e D Qt+1 1 o I 1 1 -
~
o
o
o
1 ,
CQr o
1
x
o
Q~
o IQ~=DJ
1 1 Cft:.
1 o o 1
____ L......
1 __ I 'Sobre \0'60 se ú.$O..
1
'---- -
1 - - .e..Vl Q..U~orno..las
, Qt Qt+1 J K I
o
o
1
o
1
o
,
O
X
X
Xl
I I
1 1 )( VI
- -
Así pues, desde ahora En este tema vamos a estudiar el funcionamiento de autómatas, que son máquinas de
usaremos el término de estado síncronas temporizadas.
máquina de estado o
autómata
indistintamente. "Máquina de estado" es un nombre genérico dado a estos circuitos secuenciales.
"Temporizada" hace referencia al hecho de que sus elementos de almacenamiento
(flip-flops) emplean una entrada de reloj.
"Síncrona" significa que todos los flip-flops utilizan la misma señal de reloj. Como ya
hemos estudiado, una máquina de estado de esta naturaleza cambia de estado
solamente cuando se presenta un flanco de disparo o "pulso" en la señal de reloj.
Máquina de Mealy
En la máquina de Mealy la salida depende del estado en que se encuentra la máquina y de
las entradas, por tanto la salida no es síncrona con el reloj.
transiciones, no a los
estados.
'"-==> F entrada
G
de reloj
Maquina de Moore
En la máquina de Moore la salida depende exclusivamente del estado en que se encuentra
la máquina.
En la máquina de Mealy:
El estado siguiente está determinado por la lógica de estado siguiente F, como una
función de la entrada y estado actuales.
Tanto F como G son
estrictamente circuitos La lógica de salida G determina la salida como una función de la entrada y el estado
lógicos actuales.
combinacionales.
En la máquina de Moore:
El estado siguiente está determinado por la lógica de estado siguiente F, como una
función de la entrada y estado actuales.
La lógica de salida G determina la salida como una función de la sólo del estado
actual.
Obviamente, la única diferencia entre los dos modelos de máquina de estado se encuentran
en cómo son generadas las salidas. En la práctica, muchas máquinas de estado deber ser
categorizadas como máquinas de Mealy, porque tienen una ó más salidas del tipo Mealy
que dependen de la entrada así como también del estado. Sin embargo, muchas de estas
máquinas también tienen una ó más salidas de tipo Moore que dependen solamente del
estado.
Observación
Las máquinas de estado suelen emplear flip-flops D disparados por flanco positivo para su
memoria de estado, aunque también es posible hacer uso de flip-flops D disparados por
flanco negativo, cerrojos D ó flip-flops J-K.
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 5377 , 619 142 355 T-5.2
Las ecuaciones características de los flip-flap s del tema 5 se enumeran a continuación:
El objetivo del análisis de circuito secuencial es determinar las funciones de salida y estado
siguiente de modo que pueda predecirse el comportamiento de un circuito.
El análisis de una máquina de estado síncrona temporizada tiene siete pasos básicos:
1. Determinar las ecuaciones de excitación para las entradas de control del flip-flop, que
son ecuaciones lógicas que expresan las señales de excitación como funciones del
Para biestables D, estado y entrada actuales. Estas ecuaciones pueden obtenerse del diagrama del circuito.
recordemos que en el
flanco ascendente de la 2. Sustituir las ecuaciones de excitación en las ecuaciones características del flip-flap para
señal de reloj, cada f1ip- obtener las ecuaciones de transición. Estas ecuaciones expresan el valor siguiente de
flop D muestrea su
entrada D y transfiere las variables de estado como una función del estado y entrada actuales.
este valor a su salida
Q. Por lo tanto, para 3. Hacer uso de las ecuaciones de transición para construir una tabla de transición. Para
determinar el siguiente ello, evaluamos dichas ecuaciones para cada posible combinación de estado/entrada.
valor de Q (es
Tradicionalmente, una tabla de transión enumera los estados en la izquierda y las
decir, Ql+l)' primero
Qombinaciones de entrada en la parte superior de la tabla.
deberemos determinar
el valor actual de D. 4. Determinar las ecuaciones de salida.
5. Agregar los valores de salida a la tabla de transiCión para cada combinación de estado
(Moare) o de estado/entrada (Mealy) y crear una tabla de transición/salida.
6. Nombrar los estados y sustituir nombres de estado por combinaciones de variables de
estado en la tabla de transición/salida para obtener una tabla de estado/salida.
7. Dibujar un diagrama de estado correspondiente a la tabla de estado/salida.
I )
En una máquina con n entradas, tendríamos 2n flechas dejando cada estado. Esto es
complicado si n es grande. Por convención, solamente usaremos una flecha para cada
distinto estado siguiente.
I
J
Las máquinas de estado síncronas temporizadas que se construyen a partir de flip-flops J-K
también se pueden analizar aplicando el procedimiento básico que se indicó en el capítulo
(\ anterior. La única diferencia es que existen dos ecuaciones de excitación para cada flip-
flop: una para J y otra para K.
n transición.
Si la máquina es de Moore se puede hacer una tabla auxiliar con las salidas
asociadas a cada estado en vez de incluirlas en la tabla de transiciones.
4. Seleccionar los elementos de memoria (biestables J-K, D, oo.). Esto lo dicen en el
examen.
5. Obtener las tablas de excitación que muestren los valores de excitación requeridos
para obtener el siguiente estado deseado para cada combinación de estado/entrada.
Sólo asimilaremos bien 6. Simplificar las ecuaciones de excitación, a partir de la tabla de excitación.
estos pasos cuando los
abordemos hu 1 l"
directamente en 7. p ementar e CIrCUItO.
ejercicios.
Puerta OR x y XOR y
O O O
74HC32 O 1 1
1 O 1
1 1 1
PuertaNOT NOT X
74HC04 1
O (j
PuertaNAND X Y XNAND y
74HCOO
O O 1
O 1 1
1 O 1
1 1 O
PuertaNOR X Y XNOR y
74HC02 O O 1
O 1 O
1 O O
NOTA: Las puertas
NANO y NOR son
1 1 O
típicamente más
baratas y fáciles de
fabricar.
PuertaXOR X Y XXOR y
O O O
O 1 1
74HC86
=D- y' ~Y'-:' ~ y {. >,y
1
1
·0
1
1
O
PuertaXNOR X Y XXNOR y
O O 1
74HC86 O 1 O
1 O O
~ eP --
Y ::: X y +-.,¿v
1 1 1
r "---t----!r.
tPLC
P~
¡ ÍPff
:'" t:<
¡
,-+--,
ÍPLC
~~
~'----.... ~ '~/'
Cambio de estado Fín del Régimen Transitorio
----!I ¡tpff 1
:: T
tPLC
:
..
¡ ¡
tsu
>*-_.... _ .._-_._-----_..;¡.¡
:1041 ::
J...J:.lk:
1
fCLKmax = ---------
tpffmax +tpLCmax +tsumin
Donde t pLCmax es el tiempo de propagación del bloque combinacional más lento de los
existentes en el circuito.
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 5377 , 619 142 355 T-A2.1
• Se emplean flip-flops activos en el mismo tipo de flanco como elementos de memoria
del sistema.
• A todos los flip-flops les llega de manera simultánea la señal de reloj del circuito. O
Esto, en general, no es posible que se verifique de manera estricta; el reloj llegará con
cierto desfase a las entradas de los flip-flops debido a las distintas longitudes de las
pistas y a las distintas cargas que soportan los buffers del árbol de reloj.
El desfase en la llegada del reloj a los flip-flops de un circuito se denomina skew del
reloj. Un circuito síncrono puede admitir un valor máximo de skew en la señal de reloj.
Vamos a verlo con más detenimiento:
Q1 Q2
IN D Q 1-------1 D Q
CLOCKD
En la figura, el skew: es la
diferencia de tiempo entre los FF2
flancos de CLOCK y CLOCK - - - - i l - - -____
CLOCKD
Los dos primeros términos son el mínimo tiempo después del flanco de reloj tras el
cual el valor a la entrada de un biestable cambia.
El tiempo de "hold" es el mínimo tiempo en que la entrada puede cambiar
El "skew" se sustrae del margen existente en el tiempo de "hold"
Para solventar este problema, podemos acudir a varias técnicas, como lo son:
Usar biestables con mayor tiempo de propagación.
Realizar un ajuste específico de los retardos combinacionales.
Usar biestables con menor tiempo de hold.
Las normas de diseño síncrono son una buena guía para la realización de diseños con un
funcionamiento seguro. En su aplicación práctica es frecuente que se den casos en los que
resulta inevitable vulnerarlas: en el interfaz con buses asíncronos o con memorias
síncronas, por ejemplo, o en el de la sincronización de entradas asíncronas. Cuando esto
ocurra es aconsejable aislar los módulos de interfaz con sistemas asíncronos y diseñar el
resto del sistema ateniéndose a las reglas enunciadas.
En el diseño de circuito es aconsejable utilizar flip-flops tipo D, puesto que son los de
funcionamiento más simple y facilitan la interpretación del modo de operación del circuito.
Además, con los flip-flops tipo D resulta muy sencilla la incorporación de entradas
síncronas de reset, preset y habilitación de reloj. Las entradas asíncronas de los flip-flops
sólo deben utilizarse, si se desea, para la inicialización del circuito, pero nunca durante la
operación normal del mismo.
~ Recuerda que en la Cuando se violan los tiempos de set-up o de hold en un flip-flop, su salida puede pasar a un
I \ báscula R-S, al poner nivel intennedio; al cabo de un tiempo indetenninado tomará aleatoriamente el valor Oó l.
sus entradas a 1,
podemos originar
también un estado La probabilidad de que un flip-flop entre en estado metaestable, así como el tiempo de
metaestable. pennanencia en dicho estado, dependen del proceso tecnológico y de las condiciones
ambientales de funcionamiento, aunque se puede generalizar que los flip-flops pasan
rápidamente a un estado estable.
C) Este circuito provee un tiempo para que desaparezca la metaestabilidad antes de usar la
señal en el circuito. A cambio, nuestro sistema tendrá un mayor tiempo de respuesta.
Veamos el cronograma de la situación:
Reloj
Asíncrona
Síncrona
IPuertas NANDI
1. NAND mediante AND + NOT
NOT('X' AND 'Y')=X·Y='X' NAND 'Y'
• AND
~
• OR
~ (NOT 'X')NAND(NOT 'y')=x·Y=x +Y=X +Y='X' OR 'Y'
Las negaciones podemos
hacerlas mediante NANO.
IPuertas NOij
1. NOR mediante OR + NOT
NOT('X' OR 'Y')=X +Y='X' NOR 'Y'
:~J
2. NOR mediante AND + NOT
(NOT 'X') AND (NOT ,y,)=x·y=x +Y='X' NOR 'Y'
• AND
Las negaciones podemos
hacerlas mediante NOR.
(NOT 'X')NOR(NOT 'Y')=X +Y=x·Y=x·Y='X' AND 'Y'
• OR
La negación podemos hacerla
mediante NOR .
NOT('X' NOR 'Y')=X +Y=X +Y='X' OR 'Y'
A4.1. Comparación
Este procedimiento,
conocido como La comparación es la operación de determinar, dados dos argumentos X e y, si es
algoritmo de X>Y, X=Y ó X <Y.
comparación, supone
que los dos operandos
se expresan El procedimiento normalmente efectuado para ello es bien conocido: se comparan las cifras
empleando el mismo
número de cifras. Si no individuales (x¡ e y¡) de las dos cantidades comenzando por las más significativas, hasta
es así, previamente
habrá que extender encontrar dos que sean distintas. En este momento si x¡ > y¡ entonces X > Y , Y si x¡ < y¡
aquel número que
emplee menos cifras en
entonces X < Y . Por supuesto, si no se encuentra ningún par de cifras de igual peso tal que
su representación "*
x¡ y¡ , entonces X = Y .
Este algoritmo funciona para cualquier sistema de numeración (binario, octal, decimal,
o hexadecimal) estudiado anteriormente.
Si los dos operandos son positivos, o los dos son negativos, el procedimiento expuesto
es válido.
Pero si un operando es positivo y el otro negativo, directamente el mayor es el positivo.
Ejemplo:
Si X = 1101 0110C2 e Y = 1101 n 10C2 , puesto que los dos operandos son negativos
se procede a compararlos normalmente y se obtiene que X < Y.
Con X = 0101 011O C2 e Y = 01011110 C2 , los dos operandos son positivos, y X <Y
también.
C) En cambio, con X = O1O1 O11 OC2 e y =110 1 1110C2 ' puesto que X es positivo e Yes
negativo, se obtiene directamente que el mayor es el positivo: X > Y
A4.2. Suma
El mecanismo usualmente empleado para sumar, lA-l+ 1+
trabajando en distintos sistemas posicionales t 9 7 3 5 1
naturales, es similiar en todo momento al empleado
normalmente para sumar números en decimal. Este + i 3 8
.-1
5
Jt 3
I
I l..-i 1
mecanismo está presentado en la figura de la -.y. .,+, -.y '+' t
derecha. 4 3 5 9 3 4
El algoritmo clásico de suma consiste en sumar las cifras de igual peso de los dos
sumandos, comenzando por las cifras menos significativas. Cada una de estas sumas
parciales da lugar a cada una de las cifras del resultado.
i~
El proceso continua hasta haber sumado todas las cifras de los sumandos.
Puede ocurrir que alguna de estas sumas parciales no se exprese en una única cifra, sino
Con frecuencia se
emplea el término
inglés carry, ó la letra
con dos. En este caso la cifra menos significativa de la suma parcial formará parte del
resultado final, y la cifra más significativa se acarrea a la siguiente suma parcial. De esta
n
"'-.
e, para designar al
acarreo. manera, en la siguiente suma parcial se procede a sumar las cifras correspondientes, más el
acarreo previo para obtener la siguiente cifra del resultado.
En la siguiente figura presentamos la misma suma detallando más los acarreos intermedios.
o ~ Acarreos
4 3 5 9·3 4
A4.2.2. Desbordamiento
Aunque trabajando con
lápiz y papel el número Al trabajar con n cifras se puede producir una situación como la dada en la siguiente figura,
de cifras es flexible en la que n = 6. Como se ve, al sumar las últimas cifras de los sumandos junto con su
(siempre se puede
escribir una cifra más), acarreo se produce un nuevo acarreo. Este acarreo formaría parte, directamente, del
no ocurre lo mismo con resultado fmal, pero, puesto que se trabaja sólo con seis cifras, no puede ser así. En este
los sistemas que caso, si no podemos incluir esa última cifra, el resultado mostrado será claramente
proceesan información.
Usualmente estos se incorrecto.
diseñan de modo que
sólo son capaces de
trabajar con un número
de cifras determinado,
por eso el
desbordamiento es un
punto importante sobre
el que se debe prestar
atención.
1 2 3 5 9 3 4
.'--_____-.:....y~--_._.,1
Resultado
El desbordamiento Por tanto, cuando se trabaja con un número de cifras n fijo, puede ocurrir que el resultado
suele recibir el nombre
de overflow (del de la operación necesite un número mayor de cifras para expresarse. En este caso el
inglés) resultado obtenido de la operación con n cifras es incorrecto, y se dice que se ha producido )
un desbordamiento. '
5=29 e 5=17
El algoritmo anterior también es válido para sumar números expresados según el criterio
del complemento a 2.
La figura siguiente muestra cómo sumar dos cantidades expresadas en C2 con cinco bits,
1 O O 1 O 1 .
t \ ...
"V
°1
e 5=+5
1 o 1 10 0(2
\..~--~y------'---::/
te 5=+12
Para nuestros ejercicios, el mecanismo más rápido para operar en BCD será pasar los
operandos a decimal, realizar la cuenta, y expresar el resultado en BCD, prestando
atención, en la operación decimal, a los fenómenos de acarreo y desbordamiento.
A4.3. Resta
CJ
A4.3.1. Algoritmo clásico de resta
Así, sólo vamos a presentar una imagen recordatoria del procedimiento clásico de resta:
Este es el algoritmo
preferido para realizar 8 9 14 3
restas en sistemas
digitales, y el más
6
·t<8
3+1 2
aconsejable.
t2 i5 i6 i1
• Emplear el algoritmo de resta por complementación: esto es, en vez de restar, sumamos
al minuendo el opuesto del sustraendo (obtenido complementando este a dos, es decir,
complementando y sumando 1). En este caso, (cuando ya tenemos el minuendo
complementado a dos) cuando nos disponemos a hacer la suma, valen las reglas
. descritas en el punto 2.6.2.5 acerca del desbordamiento.
Ejemplo 1:
X +(-Y)=1001+001O=1011C2
Existen muchas maneras para diseñar un circuito lógico electrónico. Un buen r es.um.en de la
evolución de la tecno1ogía emp1eada en este diseño, a 10 largo del tiempo, es e1 slgmente:
n
1930s, Bell Labs: primer circuitos lógicos usando relés
1940s, usando tubos de vacío; ENIAC: 18000 tubos, 31mx3mx1m
1950s, invención del transistor bipolar: ordenadores más rápidos
1960s, invención del circuito integrado: diodos+transistores+otros componentes en un
solo chip
1960s: lógica de transistor-transistor (TTL) basada en bipolares
1960s. también demostración de circuitos lógicos con MOSFETs
1980s: desarrollo de la tecnología MOS: comp1ementary-MOS (CMOS)
Hoy en día CMOS usado casi únicamente en todos los circuitos integrados:
o mayor velocidad, menor consumo que TTL
o las tensiones de alimentación han venido decreciendo en los últimos años:
desde los 5 V de TTL -> 3.3 -> 2.5 -> 1.8 V
La lógica CMOS es la tecnología de lógica digital comercial con mayor capacidad y la más
fácil de comprender, y es la que vamos a estudiar en este tema. CJ
Los elementos lógicos abstractos procesan dígitos binarios, Oy 1. Sin embargo los circuitos
lógicos reales procesan señales eléctricas tales como niveles de voltaje. En cualquier
circuito lógico existe un intervalo de voltajes que se interpreta como un O lógico y otro
intervalo que se interpreta como un 1.
5.0V
Los voltajes que están
en el intervalo Logic 1 (HIGH)
intermedio sólo
3.5 V
aparecerán durante las undefined
transiciones de señal, - logic level
por tanto producirán
valores lógicos 1.5 V
indefinidos. Logic O (LOW)
o.ov
\~~
v~
, gs
+( source
CJ gate I drain
Observaciones:
El voltaje de compuerta
crea un campo eléctrico
que refuerza o retarda • La compuerta de un transistor MOS tiene una impedancia muy elevada. Es decir, esta
el flujo de corriente compuerta está separada de la fuente y el drenador por un material aislante que tiene
entre las terminales de
fuente y drenador. Este una resistencia muy elevada, con lo que la intensidad que corre entre la compuerta y las
es el "efecto de campo" otras terminales del transistor es despreciable.
en el término MOSFET.
El circuito CMOS más sencillo, un inversor lógico, requiere solamente uno de cada tipo de
transistor, conectados como se muestra a continuación: O
VDD =+5.0V
Normalmente el voltaje
de alimentación VDD
se encuentra en el
intervalo de 2 a 6
voltios y con mucha
frecuencia se establece
5V para tener
compatibilidad con los
circuitos TIL.
VIN Ql Q2 Vour
En términos ideales, el comportamiento
funcional de este circuito puede 0.0 (L) off on 5.0 (H)
caracterizarse como aparece en esta tabla: 5.0 (H) on off 0.0 (L) ()
• Cuando VENT = O, Ql está apagado porque su Vgs es O, pero Q2 está encendido porque
su Vgs es un valor negativo muy grande (-5.0 V). En estas condiciones VOUT = 5 V.
• Cuando VENT = 1, Ql está encendido porque su Vgs es un valor positivo grande (5.0
V), Y Q2 está apagado porque su Vgs es O. En estas condiciones VOUT = OV .
Una manera de ver este comportamiento, tal y como haremos en los ejercicios, será usando
interruptores.
VDD =+5.0V VDD =+5.0V
El modelo del
interruptor nos lleva a
una manera de dibujar VDD = +5.0 V
circuitos CMOS que
nos facilitará mucho su
comprensión. Como se muestra en la figura de la derecha, se
emplean símbolos diferentes para los transistores de
canal-n y de canal-p, a fin de reflejar su
comportamiento lógico.
Para hallar la función booleana que implementa un circuito CMOS, podemos actuar de dos
maneras:
/\ -7 . (AND)
V -7 + (OR)
variable igualada a '1' -7 variable sin negar.
variable igualada a 'O' -7 variable negada.
~,~
o Cada . (AND) lo sustituiremos por una conexión
PARALELO.
o Cada + (OR) lo sustituiremos por una conexión SERIE.
o Pondremos las variables en las puertas de los transistores,
.. ,
NEGADAS con respecto a como aparecen en la función '
booleana.
Nosotros nos vamos a centrar sólo en el estudio de la velocidad, que depende de dos
características importantes: el tiempo de transición y el retardo de propagación.
(a)
(b)
t
Observa que la parte
(e) HIGH --------~----------------'*\---------------
/'
VIHmm
inicial de una transición V
LOW ----~~~-----------------+~i'------------- V~m~
-- --
no se incluye en el ./
valor del tiempo de
ascenso ó de caída,
sino que contribuye al
valor del retardo de
t tr
--
propagación, que
estudiaremos en el
punto siguiente. a) Esta figura muestra la situación ideal para el cambio de estado en las salidas: en tiempo
cero.
b) En este caso se muestra una visión más realista de la salida de un circuito: una salida )
necesita una cierta cantidad de tiempo, denominado tiempo de ascenso (t r) para
cambiar de BAJO a ALTO, y un tiempo posiblemente diferente, denominado tiempo
de caída (ti) para cambiar de ALTO a BAJO.
Las salidas no pueden
cambiar c) Incluso la figura B no es bastante precisa, porque la razón del cambio del voltaje de
simultáneamente,
porque necesitan
salida no cambia instantáneamente. En su .lugar, el comienzo y el final de una
tiempo para cargar la transición son suaves, como se ve en la figura e.
capacidad parásita del
cableado y otros En la figura e, los tiempos de ascenso y caída indican cuánto tiempo tarda un voltaje
componentes que de salida en pasar a través de la región indefinida entre BAJO y ALTO.
controlan.
Los tiempos de ascenso y caída de una salida de eMOS dependen principalmente de dos
factores, la resistencia del transistor "encendido" y la capacidad de carga. Una capacidad
grande incrementa los tiempos de transición, por 10 que será raro que conectemos a
propósito un condensador en la salida del circuito lógico. Sin embarlo, las capacidades
parásitas están presentes en cualquier circuito, provenientes de tres fuentes: los circuitos de
salida, el cableado que conecta la salida con otras entradas, y los circuitos de entrada.
/
in verter
I
Observa que en el
ejemplo estudiamos un
inversor CMOS como el
que hemos visto en
estos apuntes.
Cuando una salida CMOS controla sólo entradas CMOS, la carga CD es despreciable. Para
simplificar las cosas, analizaremos solamente este caso, con RL = 00 y ~ = O en el resto
de estos apuntes.
(j
Vamos a estudiar el análisis mediante un ejemplo:
Ejemplo:
Vamos a analizar los tiempos de transición de una salIda CMOS, para el circuito anterior,
con eL = 100 pF (carga capacitiva) y con Rp =200 Q Y Rn = 100 Q (resistencias "de
encendido" de los transistores)
Los tiempos de ascenso y de caída dependen del tiempo que se necesita para cargar y
descargar la carga capacitiva eL
VOUT =5.0V
AC load n
VIN
Iour=O
En este ejemplo
suponemos que
cuando los transistores
CMOS cambian entre
"encendido" y
"apagado", lo hacen de
forma instantánea.
Vamos a suponer que al tiempo t = O la salida CMOS cambia al estado BAJO, generando
así la situación que planteamos a continuación:
Vcc =+5.0V
AC load
Vour
Entre los dos momentos, como sabemos, el valor de VOUT está gobernado por una ley
exponencial:
Esta ley exponencial es t t t
= 5.O. e 5.0. e V
12 9
resultado de resolver VOUT = y DD • e
TT Re
L L
100.100.10- = 10.10-
una Ecuación
Diferencial, tal y como
veremos en algún
problema de examen. La figura siguiente muestra una gráfica de VOUT en función del tiempo:
oV4--,4--+----=======---------------
0 ___ time
tf
t=-R eL ·ln--=-
VOUT In-
10 . 109 . VOUT
-
n VDD 5.0
Obteniendo:
t35 =3.57ns}
. El tiempo de caída t f es la diferencia entre ambos números, 8.47 ns.
t1.5 = 12.04 ns
Tiempo de ascenso:
El tiempo de ascenso puede calcularse con un método semejante. La figura (a) muestra las
condiciones en el circuito cuando la salida se encuentra en un estado estable BAJO. Si al
tiempo t = O la salida CMOS cambia al estado ALTO, resulta la situación descrita en (b).
o
VIN
Una vez más, VOUT no puede cambiar de forma instantánea, pero al tiempo t = Cf) el
capacitor estará completamente cargado y VOUT será 5V.
También sabemos
deducir esta ley a partir
de la resolución de una
ecuación diferencial.
~
>lMn I
>lMn loon --.-J
En este caso la
constante de tiempo
RCes 20 ns. 5V
Vour
oV - 1 - - - + - - + - - - - 1 - - - - - - - - - - - - - -
o time
- tI 5 = 7.13 ns }
. _ El tiempo de ascenso t r es la diferencia entre ambos números, 16.95 ns
- t3 .5 - 24.08 ns
Observaciones:
Se diría aquí que la • En el ejemplo anterior se supone que el transistor de canal-p tiene dos veces la
capacidad de resistencia del transistor de canal-n, y como resultado el tiempo de ascenso es el doble
excitación de la salida
es "asimétrica".
que el de caída.
Una trayectoria de señal es la ruta eléctrica de una señal particular de entrada hacia una
señal particular de salida, en un elemento lógico.
Los tiempos de El retardp de propagación tp de una trayectoria de señal es la cantidad de tiempo que
ascenso y de caída
sólo describen de requiere la señal de entrada para producir un cambio en la señal de salida.
forma parcial el
comportamiento
dinámico de un Un elemento lógico complejo con varias entradas y salidas puede especificar un valor
elemento lógico; se
necesitan parámetros
diferente de tp para cada trayectoria diferente de señal.
adicionales para
relacionar la
temporización de salida Sin tener en cuenta los tiempos de ascenso y caída, la siguiente figura muestra los
con la temporización de diferentes retardos de propagación para la trayectoria de señal de entrada a salida de un
entrada.
inversor CMOS, dependiendo de la dirección del cambio en la salida:
VIN
I I
Vour
J t pHL 1- I- tpuI--1I
(
"-/
)
Entre los muchos factores que influyen en el retardo de propagación tenemos que destacar
los tiempos de ascenso y caída, lo que hace que especifiquemos los tiempos de retardo de
propagación como la distancia temporal entre los puntos medios de las transiciones de
entrada y salida, como se ilustra en la figura siguiente:
- - tPHL - - tpLH - -
Vi(t)
Vcc
Es el tiempo que transcurre entre que la .....1 I
O,5Vcc
entrada llega a una tensión del 50% del i ...... J••••
I ' ••••••••••••••••••• .., t
valor de alimentación
(independientemente de si la transición es 1 I Vo(t)
+---+I7P:-----.
de H a L o de L a H) y que la salida Vcc
alcanza dicho valor cuando pasa de L a H. O,5*Vcc
t
Problema 2
Se desea diseñar un circuito de sumar y restar dos números de un bit AO y BO con acarreo de entrada C i- 1
mediante una señal de control M. El resultado se compone de tres bits [S2,SO] expresado en complemento a dos.
La operación, en función de M es la siguiente:
M = "O" [S2,SO] = AO + BO + C j _1
2.1 Rellene la tabla de verdad, Tabla 2, y obtenga justificadamente la función lógica simplificada para SO.
M AO BO Ci-1 S2 S1 SO AUX
O O O O o o 1 tJ
O O O 1 G
"
t:J 1 O \
O O 1 O o Ó t 1 \
O O 1 1 e; 1 -o O 'Z
O 1 O O Cf) -o t 1
(.
O 1 O 1 o L P O
o O
O
1
1
1
1
O
1
(fj
~
,1 ll>
\
1
O
Z
"3-
1 O O O 6 o Ó O ()
1 O O 1 \ I I O -1
1
1
O
O
1
1
O
1
\
t
I
r
1
()
O
O
--
\
'2
i 1 O O o ó \ 1 \
1 1 O 1 ó o 6 O o
1 1 1 O o o <2:> 1 (:)
1 1 1 1 1 1 I O -1
2.2 Implemente la función AUX de la Tabla 2 con el mínimo número de puertas NOR de dos entradas.
Nota: Sólo se dispone de las entradas M, AO, BO y C i- 1 y no de sus complementarias.
e e
2.3 Implemente la función F = M . + A . + A . B . M utilizando únicamente dos multiplexores de 4
entradas de datos. Nota: Sólo se dispone de las entradas M, A, By C y no de sus complementarias.
PROBLEMA 1
-
La lectura de la temperatura de una cáman~ frigorífica, en grados centígrados, se obtiene con cuatro bits
(T3, T2, TI, TO) codificada en complemento a 2, siendo TO el bit menos significativo. Se necesitan dos
salidas (LR y LV) que activen un led rojo (LR) y un led verde (LV) respectivamente (ambos activos a
nivel alto). Para ello, se quiere implementar un circuito que active elled verde cuando la temperatura
de la cámara eS,té entre -3 y +4 oC, ambas incluidas, y elled rojo en el resto de los casos.
o 6
1
-I?
O
O
1
1
1
O
1
1
O
O
1
O
i
.1
1- o
o
o
u\
-1 1 O O 1 1 o
-6 1 O 1 O 1 o
-5 1 O 1 1 .1 o
-"1 1 1 O O i o
-3 1 1 O 1 o 1
-2 1 1 1 O o 1
-{ 1 1 1 1 o 1
1.2 Obtenga la función lógica simplificada para la salida LV. Para dIo utilice un mapa de Karnaugh. (5
puntos) ,
1.3 Implemente la salida LV utilizando el mínimo número necesario de multiplexores de cuatro y de
dos entradas de datos. (la puntos)
00 fr --)) O O
O/ 1 o '1~ o
" i o Vi o
. ,
10 1) o ~ o
.:.. t
A~ ~, ltA.u .....c1 ~ue Q.p~re i'c....VI e\ ~... l Ve.. r:c.. l,e'J e" C4. d c.. f¿r""'~ 1'10 c\e el;. f o.J1'Ic¡t.'"
LV -
-
r3 -
íz t
n Ti To (iZ t Ti) t t3 rz. ro t T3TZT,1 -
--
T3 r2
r1 To + T'3T2 Tb + T3
+ í3 rz f:1 To + T3 TZ TZ T 1. -
- - - + t3 rz l To + ti) -
-t'3TZT1TO
1-
í (iy~) - -
T~
~ 2
n
.:::;:.
- r> fZ ,
. .-
!1u)C '1 k l :
o / TZ
T3
I
Mv.x l
~ " " . .' .
f?¿I TiTO -
. 'T1. To • J. + Ti fo . o ., Ti ro .o t ti ro . o
= roí Ti+T1)
, '.,'
I~ To t T1
f r1 (ro t ro) ='
,1 .'
ri To + Ti To t TiTo t T.;1 lo ,-
.... .;., .
==
Ti T o· O.¡. r -:1 Te . j + Ti ro· í -1- Ti ro· i
, ....
.. ,
.. '... ., "
i
o
n·To -
y ..... . . - - - - n
C>
o
el C';
Io
Ir Ti To
_ _.......... I,
.Il y LV
~ _ _ _ _I r)
el c.
o r ..
Ir
i I, y ....._.----J
, ' 1 ' ;.I1, NOTA e<t~ guY1c;o",e¡ Ti· To y To + Ti se poó,'... ",
Io :r',
Ti ·~I t· Ti ·0
.. To t1 - ro (Ti" Ti) ~ ji = ti· TCd· ti.ro + T1. -
~ -t-
"
..
'
;1
[ri ~cpl
: ..
,.
l1C6
I
M,}c..r\
~d",,'," ~c.. ...e.,l(, Si
Vj .... ¡
I"7l,;e
_ ~
Ji ,.().)cc)-,~..>\ I '
Le.,
P •
,)""'C1d''''l )
Ti·ro ehl,e1'10j '·""'I~C~,,~e.
tot\to e.., t.. 'oe. ti> f:G;o.e :
NOVIEMBRE 2011
~ t:h Q;c. \) ~0\e-wloS I yo- e.Y) \?¡ nCU"'lo ~S Co-Y? ~ ~ a..)es '6e. 6ecena.s ~)
~ u-Y)lcdCes (A)/ WI"l e-\ LtvÚ.Co f0(,o'o\ema. 'be. ~ es~r'\ se.~r~S ~
\>a.ro- ~(Y'O-r ~\:L(' de. e..\la..s º-.o.. COU"L\;L'ónO C¿Vl \o lV1o..rt.o 0-0
<X.. I
m' B3 BZ ~l \3.0
o O
l( '\
G'\. ¡g,~
<G
O O
Wz. \31 ~
B3
O 'O
O
--
O
\31 '00
~~ ~z.
\30 O
~l
\33~'ój '6Z.+B:::>
~~ ~2
---
+ rO
6 6
\3r\Jt?; R::.*(}.\ 1\0
~?\-~l ~\-~\-~
B>~ gt. S( ~
S~ S3 Sz.
~ ~
()
1.1 Rellene la Tabla de verdad de la función lógica F = A> B. Para este apartado, los números A y
B sólo pueden tomar los valores decimales de 1,2 ó 3 (es decir, nunca valdrán O). (5 puntos)
A1 AO 81 80 F G
O O O O Y O
O O O 1 Y 1
O O 1 O )( X
O O 1 1 Y O
O 1 O O X O
O 1 O 1 o O
O 1 1 O O X
O 1 1 1 O O
1 O O O X X
1 O O 1 ( X
1 O 1 O O X
1 O 1 1 'O X
1 1 O O )( 1
1 1 O 1 ( 1
1 1 1 O I X
1 1 1 1 ñ O
1.2. Obtenga la expresión lógica simplificada (al máximo) de la nl11ción G, dada en la Tabla de
Verdad, utilizando un n~apa de Kamaugh. (lO puntos)
()
1.3 Implemente la función G utilizando exclusivamente dos multiplexores de 4 entradas de datos,
como los de la Figura. Para ello, NO se dispone de las seila1es negadas. Justifique adecuadamente
su solución. (J Opuntos)
tOO
lo
el
O 11
01-------' O b- ::- A.o ~ 1 (Al\-~) +
Al 12
Ao~A<l> :::.
O 13
::; A,g-, + Ao~ ~()
(
1.4 Implemente la fi.11lción G utilizando exclusivamente los siguientes componentes: un
í' decodificador 3-a-8, un decodificador 2-a-4 y una puelia lógica de su elección
Para ello, NO se dispone de las seiiales negadas. Justifique adecuadamente su solución. (10 plintos)
0°0
00
o::: Col o:::
O 01 O I
4:)<:;
o cto ·P;..~6¡ o 00
lo «
u
o~
11.1 «
U 4'1 '--
- 03
0\1 lo -LL 01
~.J':);
o-
11 LL
-o 00 )?,¡ 11 O2 lb
04 11
12 O 101
O 03
U O" U
l..L.l l..L.l
o 06 110 o
ltt
07
. (e)
.l . ,
Wte.¿'(o.~
de. Z <2vI. L
c.·lrC';l\O~
~
~ Sl<.vY)<V')
A
!
B
I
A
J
B
ti A.+\3, -€..v\
VY\6c:; Civ¡
U~'/ ~ s-...
¿A \.\ Az
resu \ \020
(j
kI Half-adder
c,"' S
"1 1-1
- Cout
Half-adder
S
1
~ é....
./1
L."
v~ c;.... c:a..rreb
U¡..-Z \,-¡a.\or~ CLCa\¡'eo €.vH..\
Ii
e....V\ t\~\ o
\='A .
~
6
2.2 Siendo A la representación en binario de un número (con 3 bits sin signo, A2 Al AO, Y siendo
A2 el bit más significativo), se quiere obtener el valor en binario (sin signo), representado en F,
que resulta ele la siguiente expresión aritmética:
F = (A x 3) + 8
Determine el número de bits que deberá tener F para evitar el desbordamiento. Justifique su
. ()
I .
respuesta.
\ ".
(5 puntos)
\ \,
~ ,,_._"\.. e.,
<""\..('0-, ~ ....\Oe""
\ v\'ltANlefo " i -' ... _~I'
ele. '()ü.. <; he~~\lO so o '
l
-le.'\emoS 6iMC'
-~ -
e..~. ~.~..l(llo...f' e... co..S:'-C¡ ~~-;
'S \o\\.c:;.
\0\0\
100<:>
I i I C) e
Atl
~
1 A.,
1
,
~
Vn.~ e,'", eoJ
- CAl\: c\_ ~o
\ I
,
Liv\
I S
- i 2 _1 5
(
FEBRERO 2003
1. Obtenga razonadamente la frecuencia máxima de reloj CLK a la que puede funcionar el circuito de la figura
suponiendo que el inversor tiene un retardo tdinv = 1ns y los biestables (FF 1 Y FF2) un tiempo de propagación
tdff = 2ns y un tiempo setup Ísetup = 3ns. Justifique la respuesta dibujando en un cronograma los tiempos pertinen-
tes involucrados y razónela en función de dicha figura. NOTA: Corno retricción adicional, suponga que la an-
chura mínima de los pulsos de la señal de reloj (tanto el de nivel alto corno el de nivel bajo) es de 1 ns, y tenga
en cuenta que la señal de reloj no tiene por qué tener un ciclo de trabajo del 50%.
FFl -
FF7
x- JI Q,
[>o "..
~
Jz
1.>
Q2 y
- -
K, Q1 loo- K2 Q2 ~
CLK -
+-.______~P~e~;~i~od~(~)_=~T______~__~.
n
2. Calcule razonadamente el tiempo de hold máximo tholdmax que podrá tener el biestable FF2, para que el
circuito funcione correctamente. Asuma las mismas restricciones que las descritas en la nota del apartado
anterior y justifique su respuesta·a partir del cronograma que ha realizado en el apartado anterior.
10000.001 1=2
100000.01 1=3
1000'.0001 1=5
(J 100.00001 1=6
10.000001 1=7
100.00001 t=8 .
1000..0001 1=9
o
CIRCUITO
DE --;... 7
i --...t.~
•
O
O
BANCO
DE'
ACTIVACIÓN () LEDS
O
BloqueA O
Bloque B
El banco de LED tiene siete entradas, una por diodo [16••10] activas a nivel alto, de forma que si
tienen un "1" el LED correspondiente se ilumina. El circuito de activación (bloque A) se encarga de
generar las señales [16 ••10]. Para reálizar el diseño se utilizará como núcleo un registro de
desplazamiento bidireccionaJ de 8 bits (Figura 4).
A
-B
-C
-D
E
-F
-G
Figura 4: Registro de de!;plazamiento -H
SeriaCLefl
Seri.l_ Right
so
SI
CLEAR
-CLK
( )
"'-/
La salida QA del registro irá conectada al LED ubicado en el extremo izquierdo del dispositivo,
mientras que QG se conectará al LED del extremo derecho (Figur.a 5),
Figura ·5: Conexión de las salidas del,Registro de DespÚlZIImientoa los LED (en ,el instante representlldoc¡ QF'= 1,
con Jo que su LEDasocilldo está encendido) ,
2.1 Construya e.I registro de desplazamiento de' la Figura 4 a partir de dos registros de
desplazamiento bidireccionales 74LS194, a los que llamaremos REG_l y REG~2 Y cuya hoja de:
características puede verse en el apéndice. Para ello complete el circuito de la Fig¡;¡ra 6. (10puntDs)
REG 1
, - - - - - - - - - - =1 A Q.A
~-------I B ' QB :---~~
- - - -- ---.--1 e Qc r---- .....'
----- -1 D Qo:--r-
__"---1 Serial_Left
.----1----1 Serial_Right
r+--t--t----:I------I SO
.--+--+--r--=--l S1
- - - + --f--r-t---t---i CLEAR
H--- i --,CLK "--------- QA
'-. QB
'---_ _- -Qc
r------------\\~
~------QD
QE
1
- --t-rtt=--U-+- + ---j AREG_2
QA
J- ~
rF
~~~ . QH
~--t\+""""-==l:~-\--t---I B QB '
---=r---\4I:::l~-4I--.-:::r-T--1 C Qc 'J 1
U-~-*~-~---ID QD~------~
' 1 - - --1:----.-1 Serial_Lcft
L----.----j Serial_Rigbt
L...--jr------- J so
--t::==::;--~ SI
- '""--1 CLEAR
t--:--~I CLK
Figura 6
)-~\ So
Fulk.®'tv
Ci o ' <-OY't?::l~:
o I Oe:;.~ el. a eOfi, o.
\ -o ~ e:;;.~ C\. '\,Iv..
¡ I LeAb
\..
\
~-
A continuación se conectará el registro de desplazamiento de la Figura 4 al resto de componentes
n para obtener el circuito de activación completo, cuyo funcionamiento es el siguiente:
2.2 Complete las conexiones necesarias que faltan en el esquema de la Figura 7. (20 puntos)
1< () -
.------,~-I: @-o-
A QA
Ir •
o \ o
o o '" o
0000
1.Id~ L
LOAD-D Q [ - B Q¡j f---..- - - -Io---:--'
o ---, C Q c 1--- -+------'--'
0- D Q[jl--_ _+-_ _ _ _..J
,.- ~ CLK
a- E QE r--:--- j f - -- - - - . . . . l
0- F QF r~-I-------9"-'-
EO 0 -- G QG~--4------~--~~--~
MUX f-,.....- 0 - H QH ~ ~(' o...'\M-l ~Q. forCA.d....U.'· sc0.
CK -l '\' «nvlco 'oCL~ ~-
\
O - ScriaJ_Right o...'óru:\.c:. 'SI" rz¡ ~rO-t1'1cS
Sft-=' ,' Co~'o~ o-
_ _V~'----l SO
..---~'--i SI Óe..c;.~\o.t.o..f
0 -':':" CLEAR o.... i.~doS
, ,
...--.-..- CLK
r- R Q# f.---J
'- Figura 7
PROBLEMA 5
U1A
En1 «__-'--1
U1A
t dAND = 1 ns
74HCOB U2A
t dff = 2ns
5
D Q
1 tsetup = 2 ns
CLK «~ __ ~ __________________ ~-¡ ______________ ~
CLK
Q 2
4
6 R
S
14
VOD
4013
n Figura 8
5.2 Obtenga justificadamente el máximo tiempo de hold (l¡lOldmax) del biestable para un correcto
funcionamiento del circuito. (5 puntos)
; +min ~' E
unifonne. Indique claramente los motivos de fallo sobre un cronograma. (15 puntos)
t=
O
I
~ ~M ~Ó
.~~~
I ~.
~ ~ ~_; ~..L. 2"'31tug
T\>\it'\ 7",~
-:c
'Z 1 I I Z
L
www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78 - 619142355
FEBRERO 2005
Problema 1
,~
( \
En el circuito de la figura los biestables tipo D, U6A y U7A, tienen distintos tiempos de propagación (tp ) Y de setup
(tsetup). Considere así mismo que las entradas de PRESET (PRE) y CLEAR (CLR) están desactivadas en todo
momento.
4 U6A
"---"P~RE=-----.
En~~_da_ ..._ _ _ _ _ _--,2:..;D o 5
---. 3 .ll< Q 6
CLR
r l' 7.474
cu<
.
tp Ísetup
Biestable U6A 1 ns 1 ns
Biestable U7A 2ns 2 ns
PuertaAND 5 ns
1.1 Utilizando los valores de la tabla obtenga justificadamente, dibujando un cronograma, la máxima frecuencia
del reloj (fCLK11IIlX) del circuito que asegure un correcto funcionamiento del mismo.
1.2 Determinar justificadamente, también sobre un cronograma, el máximo tiempo de hold (tho/d11lllX) que el
biestable U7A puede tener para que el circuito funcione correctamente.
L
www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78,619142355
FEBRERO 2008
PROBLEMA 5
D Q
A tD ÍsetuD
01 Q
Biestable DI I ns I ns
Biestable D2 2ns 1.5 ns
Biestable D3 2ns 0.5 ns
D Q J Q
B Biestable J-K 2 ns I ns
02 Q K Q
PuertaAND 1.5 ns
Puerta OR I ns
PuertaXOR 1.5 ns
C --+------ID Q t - - -.....
03 Q
o CLK
Figura 5
CLK
5.2. Determinar justificadamente, sobre un cronograma, el máximo tiempo de hold (tholdmax) que
puede tener el biestable DI y el J-K para que el circuito de la figura 5 funcione correctamente (5
puntos)
o
~..
FF1
J Q Q1 t nron tsetun
A
ell<
Biestables lns 2ns
CK
B
FFl yFF2
K Q
XOR 3ns
NAND 2ns
Tabla 1
C --+---------1 J Q 1 - - -........- - Q2
L-..-------O>Clk
D -----------1 K Q
FF2
Figura 5
(~)
El sistema de apertura de una caja fuerte dispone de dos pulsadores: Pulsador BLANCO y pulsador
NEGRO, que definen sendas señales BLANCO y NEGRO activas a nivel alto. La caja fuerte se
abre mediante la generación de una señal de apertura OP, activa a nivel alto, que abre la puerta de
la caja. Dicha apertura se produce si y solo si se efectúa una secuencia correcta de los pulsadores,
que es: BLANCO-BLANCO-NEGRO; es decir pulsando BLANCO dos veces consecutivas y luego
NEGRO.
El sistema también genera una señal de alarma, AL (activa a nivel alto), que se activa al finaliZar la
introducción de una secuencia de tres pulsaciones, si esta secuencia no fuera la correcta.
(--)
\ /
)
FEBRERO 2007 J,¡"9 0 e.. *"",. le De c-ü fo ....... t.. J ,
Se desea realizar un juego de luces de navidad. El juego consta de 3 bombillas que se encienden
secuencialmente una tras otra, siguiendo la secuencia dibujada en la figura 6 en la que círculo negro
implica bombilla encendida, y círculo blanco indica bombilla apagada. El tiempo que la bombilla se
mantiene encendida será valiable según el modo de funcionamiento, y se explica más abajo. En el
ejemplo de la Figura 6 se muestra un modo de funcionamiento en el que cada bombilla se mantiene
encendida durante 1 segundo.
t =O S
8G
t =1 S
8 G
t =2 S 88
t =3 S
8G
t =4 S
8 G
t =5 S 80Figura 6
El circuito tiene cuatro entradas de control A, B C y D, todas activa a nivel alto y una única sefial de
relc~.i
CLK. El sistema tiene varios modos de funcionamiento, explicados a continuación:
Notas:
• NUNCA se dará el caso de que haya más de una sefial de control activada a la vez.
• Siempre que esté activada una señal de control, y pase a activarse otra diferente, todas las
bombillas se apagarán durante un ciclo de reloj y después pasan al modo que les corresponda,
según la entrada de control que se haya activado. .
4.1 Dibl~iar el diagrama de transiciones de estados de una máquina de Moore que realice el circuito
descrito. Explique detalladamente el significado de cada una de las entradas, de cada uno de los estados
y de cada una de las salidas. Indique en el diagrama los valores lógicos de las entradas, de la salidas y
de los estados. Diga también qué pedodo tendrá el reloj CLK que utilice. (15 puntos)
4.2 Supongamos que tenemos ahora los siguientes componentes: 1 contador módulo 4, 3 contadores
módulo 3, 3 descodificadores de 2 a 4 (Tabla de verdad en el Anexo del examen), un codificador de 4 a
2 (Tabla de verdad en el Anexo del examen), y un multiplexor de 4 entradas de datos de 4 bits cada una.
Dibuje las conexiones necesarias en la figura para realizar el circuito del apartado anterior. Se dispone
de una sefíal de reloj CLK de peliodo 0.25 segundos. (15 puntos)
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 544 53 77 I 619142355
/3IJ
T= D' l5 S (
,1
Ce... .... ;..,DJ
tI
:
I~ J~ ~ TI
0'5 J
,;¡zr
¡, .
~~oie...,c'>o 3 eH/re Cc..~CA. ..... "., .. d>e e.J,~.f&JJ;C";c..eu " Cu/lJC'j ....,·"".. J er'-f: e..
•
~, 0001
Tabla de verdad del Descodificador 2 a 4
2-to-4
decoder
10 YO
11 Y1
Y2
EN Y3
Inputs Outputs
EN 11 10 Y3 Y2 Y1 YO
o A X o o o o
o o o o o
o o o I o
I o o I o o
I I o o o
Entradas Salidas 10
13 12 11 10 Y1 YO
'"..¡. YO
11 (;
O O O O O O "ro
<J
O O O 1 O O
O O 1 O O 1 12 ~ Y1
()
O 1 O O 1 O 13
1 O O O 1 1
01 00
o'¿5)
....__.---1[> Contador x 3
i..s
~[> Contador x 3
0'5 s
r--[> Contador x 3
01 00
:.....
1
1 • t
1
E~11 la dI
CLK Descodificador 2-4 I j
E~11 10
A Y3 Y2 Y1 YO Descodificador 2-4
E~11
B ----. ~ -* Y3 Y2 Y1 YO Descodificador 2-4
10
-.>f
C -1 >-
o• -
[1 ;
Y3 Y2 Y1 YO
~
o
I·
, ~
13
O
I
12
O
I
11
j ~
rfff 10
¡Ho- 10
N
..¡. YO ,
.-
1 - ca is ,: c'SJ
Multiplexor 4 entradas de datos
o 'Z'~ j
--..
11
12
'-
o
"C
ro
o
""
'5 Y1 •
- C1
Y
/~ , r:::.. LS 5
o
u
- 13
MJ~
A= i
- r4>
(o/uu)
"
..--
.'
-,
cb
13= i ~ I.1
e
~=
=i
1
--
~
.IZ
.I3
(0'5 J)
Ud}
.
l'
",'
"
,
2'
i'~ ,t
..
.'0:' ~
3
, ...
f'L c;p,.;.,..
".)1
co·,~-.plM~:
,......
.....,/. ~
_. 0<' ..
~.
L"
11-.1' CdP"
r-' '", oc J,' Veo. (fo- e;ie'~~'p~/
'..J
p
'Ji
...
r' L."
~C.r, ~ ..
.~.~ J ,.A -=.i
. I e( Ce o; )'~'"
~'A ;; ...
-. - >A ce... 00
I
sel1c;ee.1
. i
Se"'c.e CJt. lee.:.>. de • e) ,
ter·,> o'" o' z5;1I 'f
, v.... ,...., o)
.<
C\. ~p¡';pe:c.e..,.
c..,.... f.... ~ .. ,-
f°r' ~~)
'f pt>~ c.",e..fro (.I.Jb.I")~O V4 Yl?ó~L)e.
4 ( cUf",fc... ¡;t. "o C\. 1:1.)
I .
CLK J ~ I I 1\
~
"' ~
,
o'~ t
o
01
oleJ
t!J
,dT I ~
O
"
é
5
O
4 5
J ,jI' T =1s
" I
,-
O I• O
• O I
J
I
4i\
I
4r.
~
c-
=.
1.00 ~ DiO ~ OOi •
•
DO __ oi ~.10
A fe..
SEPTIEMBRE 2007
Se desea proteger los datos enviados por una línea serie midosa, LS, mediante la inserción de un
código de seguridad de 2 bits al fmal de cada palabra de 4 bits de datos enviados. Este código de
seguridad se compondrá atendiendo a las siguientes reglas:
• Los 2 bits del código de seguridad, SI SO, codificarán el número de '1' que a al'ecen en la ~-_ _
palabra de 4 bits de datos enviada. EN e) VOl ... c..lr.. c\. c¡-t
• La palabra de datos nunca será el 1111. Ih...'1C... h.. h..( "1 "''''0) ,",CMe ~ A' "".... r.
• El sistema dispone también de una sefíal de habilitación, EN, que es S111 rona con e re 0.1 y que
se activa a nivel alto cuando está listo el primer bit de la palabra de datos a enviar por la línea
serie LS, indicando el inicio del proceso de generación del código de seguridad. En estado de
reposo, la sefíal EN está a cero.
• El código de seguridad (SI SO) sólo es válido una vez que se han recibido los 4 bits completos.
Los bits SI SO tendrán una duración equivalente al período de reloj y son síncronos con él.
• Al tenninar de recibirse los cuatro bits, se debe generar una sefíal activa a nivel alto llamada
. "Código de seguridad válido", CSV, que tendrá la duración de un ciclo de reloj.
• Una vez que se ha generado el código de seguridad y la sefíal CSV, se vuelve a atender a la
sefíal de entrada EN por lo que si EN está activada, se vuelve a proceSal' una nueva palabra de 4
bits yen caso contrario el sistema vuelve al estado de reposo.
lLt t I EN S.
So
ENTI?.ADIH :
EN 1 lXl><l><J
LS O O
I
I
, I
O
-",
,
~
l
si O
, t @ C.$V: fb'~ "'I.~,,( Sc..Cc u,,", j
I 1- ,
Ocl f~c) i>e rc.e,;~;p e( "lO~; f.
I t
cS'v 1 , ,
I
,-
www.monteroespinos~;es::. Clases de CEDG - Tfnos 91 5445377 , 619142355
I~
- C\J~" ~'!> vr?o} y ,troj Vc..\ko,1 !c..,:C'.., ~t) ..
\ I , I
l~ 1 bd re ,; 6'-01> : Q{> == Ut1 cp O, - u.-1 1
\ , I
~ Z b; ,~ re,: b,'c)IlJ : Oz - óoJ ~ Q3 - UYJ
I
~ 3 '!';h re ,; b;boJ
Os - he~ cp Q6 = Q1= Ul1 cJ> y cl>oJ 1
\ I
Oi == trel 1
\ I , I \ f ' I
4 b; 1> ttc.; b:~!.I : Qcr - c.vt.. ~fl) t> 01.0= ¡""el (/J Y I~ ,
QI/= 00) cp ~ ObJ 1
~
UI'!
• I
I M Po,RtANJ¡': Ac)t~l, ).,a.y ~ eJP..~o 1~'I;e..·,..e cl! repQJo, ece '1\0( yI..., Jc..e:~
I
TorAL:
Señal A
(semáforo
o SeñalB
(semáforo
verde si A'="1", O verde si 8="1",
rojo si 8="0")
rojo si A="O")
Sensor 1
(51) Sensor 2
(82)
Figura 4
• Cualquiera de los dos semáforos estará verde durante un tiempo mínimo de 30 segundos y
un tiempo máximo de 1 minuto. -
• Los dos semáforos nunca podrán estar en verde o en rojo simultáneamente.
4.1 Dibuje el diagrama de estados de dicho sistema de control utilizando una máquina tipo Moore.
Indique CLARAMENTE los estados, las entradas y las salidas. (20 puntos)
.i 5s
eo.\"; ).:.. pe",Sc..""Ol c .. c:"~ Q ftAJ ... ,....) i:e WI ,Se"";,J.. r. C4. off"o I 't "" q"; t!'J ~c-..,)., C!kc., h."'t'" k :
M( c>.... ;'j....( e., 'l'l f'<J{
y~ f"'o", I'-'1"';" e_ "t(~ A, Vq.""J "Su, ... er ~" fDtu·,'.. ~Co/,(r
/-',c"l( '1" I!ll",( ce ol,/) sc:,,¡u,
e.. vtrh 1'.:>.'
~}e.,l~"c.»
Es f/).VI;)~ €A vtr~(
d Al ",t ¿,,,,
(o .... ~1 11
r( B, Me 6.,. I.,~,P
Af1 E" 4-.). tlCl !e..,er ee o/ro ¡e" Sor CH.';",... c)" ( c)( c.t "1,,. e .. ef pr.,..er C'J fc...~o Q~ Ó Q"1 Óll Cc.v,
Le re.. ~CL :
OLf
Qo
S"e,...,;;.Jo."o A e" Ver~('
S"e .....:'J..,'\> A e.-, rOJ'o
~\
Os
11 Q6 " f> " "er.)f
QT 8 II ¡ojD
Q.,
Q3
FEBRERO 2009
sensor de
presión
exterior
(51 SO)-----I~ (espacio)
A1 cámara
compensación
interior
nave
espacial 1
i~p~lsor/
ae aire
Figura 6
Primero deberá pulsar el botón B, que se encuentra fuera de la nave. La pulsación de B será
de duración suficiente para que sea registrada correctamente en el siguiente flanco de reloj.
En ese instante el extractor de aire empieza a actuar hasta que la presión en la cámara de
compensación sea O.
Cuando la presión en la cámara de compensacÍón sea 0, se abrirá la puerta Al y se
mantendrá abierta durante 5 segundos, cerrándose a continuación. Durante esos 5 segundos,
se supone que el astronauta puede entrar en la cámara de compensación.
8. A continuación, el astronauta deberá pulsar el botón A repitiéndose 10 apuntado en los
puntos 2 y 3. En caso de ue ulsase i ación del unto 6.
9. Cuando la preSlOn en a cámara de compensación sea .P, se abrirá la puerta y se
mantendrá abierta durante 5 segundos, cerrándose a continuación. Durante esos 5 segundos,
se supone que el astrona:uta puede volver a entrar en. la nave.
Para implementar este sistema se dispone de una señal de reloj de 5 segundos de periodo.
4.1 Indique CLARAMENTE cuáles son las entradas y las salidas de la máquina de Moare que
controla el funcionamiento de este sistema. (2 puntos)
4.2 Dibujar el diagrama de transiciones de estados de una máquina de Moare que realice el circuito
descrito. Explique CLARAMENTE el significado de cada una de las entradas, de cada uno de los
estados y de cada una de las salidas. (15 puntos)
4.3 Suponga ahora que las puertas Al y Al no se abren ni cierran en un tiempo despreciable SL'10
que tardan 10 segundos en abrirse ó cerrarse. En este apartado, mientras se está abriendo o cerrando
alguna de las puertas, el sistema ignora cualquier pulsación de A ó B. Dibuje ahora el nuevo
diagrama de estados de la máquina de Moore. Para cada estado explique 10 que significa el mismo y
la salida que se obtiene. (8 puntos)
L• ., •.--. :
xxxx
io )< X
J O·y.....)
!
0).( '\1..(. ,,¡. e><fr,er v..>k DO
IL r-L" A XOII \
OXoo ""~~1l
,,'" r....eJ ..r A Y '1<1 pn:,¡;"o'" l'
10xx
e OixX
1
bXX1.
Oxoo
®
!
>,CM>'
;xxxx
FEBRERO 2005
Problema 5
t
2 if CLR_L='Q' then 19 <= I'(o';:
+ th':"::e:':":r~
s -=->-:-'o-::')"";/ __ ';> Sisnirlco.. ::¡'U"e. ponemos
~ ~ec.utct. en <
9-lcLY'C..() t s elsif LO_L='Q' then 10 <- O; ~ .l t::t:QO'2:. lo~ bit::, de m o.. CG\..O,
l¡ elsif (ENT and ENP)='1' thenlO <= 10 + 1; L. C.LRsínc~no o.c!::iVQ Q n'lve.1 ~
5 end'f If; . ~l:
pOne.. Lo... I
do- Q. ~
d to. b en d 1;
l\jodefBnde. \~€C. meV1~<-,--+\--,----t if (IQ=15) and (ENT='1') then Reo <= '1'; LD síncrono a.cDvo o-
de 014<: perod.e~ndede else RCO <='0'; (llve.L ¡, Q.O.v;p- DenLo.w..lich
I Q.. ~ I Q d~ CLk... end ir cuent o.. OJ::lCen ~ n te c.lo..oclo
Qca oca \.O o.. T"live,Lt S\.lle. r~ O <= 10; - -, co.ícn.. \Q en Lo. m..lIdct. EN' = ENP= ~
i ~ d.1l ,p '(\0..). ck <:\lc:nto.
O-\) t:: u - "
lió) I-\QIo, Li ta..c1o pe-< El-JT end process;
'- end V74xxx_arch;
Nota: El tipo UNSIGNED es equivalente al tipo STD_ LOGIC_VECTOR que permite la función adicional "+"
que es la función "suma de números naturales".
5.1 Sobre el bloque de la Figura 5, dibuje las entradas y salidas del componente y explique detalladamente su
funcionamiento.
Nota: Las entradas se dibujan a la izquierda y las salidas a la derecha del bloque.
estado. es U(\ (ot\~)c.{ (Á-SC e(~e.hl. vYlÓ~ u.\o U~((\J ev,l.o.. d-e. [¡ C\ lS)
Stlt
71
.4
----' '
, GIl(
D
, CLR-L
aa~• .
<So
t.l"
u
www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78 , 619 142 355
, i
\..l ('\ o
q '" --\~el'\
Rco <=--=
\ ,
1; '-(,\ \~ ~ ~= ~ -\he", I'Q,¿-:-&!\-'¡
library ieee;
use ieee.std_logic_1164.all;
use ieee.std logic arith.all;
use ieee.std=logic=unsigned.all;
entity XXXXX is
end XXXXX;
begin
5.1 Dibujar en el bloque de la Figura 6la interfaz del módulo hardware (puertos de entrada y
O salida), colocando las entradas a fa izquierda y las salidas a la derecha. (1 punto)
ce
AA~
Bl5 DH
Figura 6
i~.'
5.3 ¿Cuál debiera ser el valor de 'N' en el tamaño de la señal result? (Justificar la respuesta). (2
puntos)
W debe. Vea.eer 6, C0r"10 V-(!t"7OJ e.. eJ~o, J.~ á.et...mrj ;
ce
.. A~~), reJ ..fI "j ~I·.,),. el re.J...e fc.Oo k fe. Sul"7c\. ek d.t ni>('1fI\)J e(! b b¡ Ij I lo",c.1-e ~
Después de la fase de síntesis, la implementación con puelias lógicas de otro módulo hardware es el
representado en la Figura 7.
no.~ 'l'l. ""r Ce;, ef
AA
--~------------~----~ A
~ ce i _)
BB $ALiM
.s
:z
o
.
o
O
Figura 7
entity XXXXX is
end XXXXX¡
1 component NAND2
l port( A, B : in std_logic¡ Z: 'out std_logic)¡
o 3 end component i
component INV
~
f port( A : in std_logic¡ Z out std_logic)¡
6 end component¡
t component OR2
S port( A, B in std_logic¡ Z out std_logic)¡
q end component¡
10 component AND3
1\ port( A, B, e in std_logici Z out std_logic) ¡
IL end component¡
declaración de señales
11 r' "0':' ";ij:;:!l'i~"""""" ............... :
~i~~~f
~-----------------._-------------------------------~
l'i L.:!~~~~ .. !-..:. !.1~:: f~\~, __ ", __ "" __ ., ____ , ____ ,. j
1~ L,!~~~~.. X.: ..~!~"e~!l~~ __ .,. __ ., __ ,. __ ...... ____ .. j
/! begin
It 'üi";' 'ÑAND2-- p;';;t"
____________________________________
• • __ o
-- ffi"ap:-- '(Á::;--, AA' --';' :'B~>--i3'i ----~ --;'2;:':;-- --q.--. --, --);':"""""""""
~ ____________________ ~ __________________ l ______________________ ~ ~"" _
________ ______________
5.5 Indicar qué modificaciones deberían realizarse en el código anterior para obtener la versión
negada de la salida en lugar de la versión implementada. (3 puntos)
r?;:/
f2l A.;",o; ....... , ..ul HOT ( •• J,.~ '1'( "'... ..,1.;.., L pe"ti s'
ee Gb,.,,cttt",rt, f
• ,.
o."'..o.r
"M-, lJ5
i[ )"Jf.lo;r eL ANB por NANj)J :
ec,,(Clo.. o.. Ut; ...,td:a.,,~ ....... 1'<.( ... .lI!';,,( o,,,,.¡e.. r
'0 cC"'p.t1I!~¡ NAND3 ~-)-II-y-ll-i-j
....-e-,s;-,,¡., .... 15L;J ,i:}"J T: sl.Ll?..,it ' /
2.e \.I L
\, AND3 ,Pc<~""'r iA.=?Q( 13~)5, e =:1513, e =) T)
2o~iJ LJS: ;f,J\! r... f "'Ar \A =) T, t =~ ce)
(\ PROBLEMA 3 (30'PUNTOS)
o salida(6)
....... ~ 1íJ)
ro ro I~
"'C :"Q
ca ro
<1)
-ro
"'O , sa.lida(O) <1)
.•
FPGA ca
CJ) Ñ ~
ro ro
~ ~
ro
<1)
ro
<1)
salida(3)
lJ.
o ..
En la FPGA se"sintetiia "él 'siguIente fragmento de un módulo hardware descrito en VHDL,
compuesto de dos submódulos:
COrt'l P. i
Esh. ,.,.. c1..R.. "J W4 ,c.Aj:, ... dc. r Je 8(. D c.. i .s'1~,,,tD)
library IEEE;
use IEEE.STD LOGIC_1164.ALL; leo"" A,''ji ~~ de. err-or)
entity comp1 is
port (
input : in std logic vector(3 downto O); -
I¡output , out std_logic_vector(6 downto ~~~r~I"I~I"I-'I'I'f'l
end comp1; _______ scJ';,\p.~,) sc.t.l.. to)
begin , ._¡
with input select output <= 1_ _ 1 ~) f~ .=(
L
COME 2.
Es~e ~;c.ho e~ ''''1 Y"\of Ji" ft)Cor 2)< ~ , el, d ..) , e..~r.... J"'J
á(
kt.) cIt t.¡ bi b t:o.a.. 111'\ .. , ""'c.. e-.Ir..~ ~ 'o",~",f ~¿ ,.., ),¡}, '1
()
library IEEE;
use IEEE.STO_LOGIC_1164.ALL;
entity f2!!lp.2 is
I,r: I.J"'' ' s...e;cl.. c.e 4 bib
,,'
"--,'
port(
C: in STO LOGIC; - f ; L1 fCA.I, el.{ ú>, ~rú( ~ ~ b;~
A,B: in STD- LOGIC- VECTOR (3 downto O);~ 2 i!4 h. . d., ell 'f b; 1, coJ. "......
Y: out STO- LOGIC- VECTOR (3 downto O)~ :1
--
F«f;<t. d, '-( b;I,
);
,- f1I.,,.. l).\
- A
end comp2; -
architecture comp] _ beh of comPl is
begin
---
-
"
I?...-A' Y
e
-
-
-
-
1
with C select Y <= e. t.bc• .:I,
A when ' O' ,
6 vtrcU dt. "" Hu" 2 X 1 ~o~T" e,. 'f ¿,'b , ..... e.f,.A.)
B when '1' ,
~
(others =>' O') when others ;
end comp2_beh; O A
I 1 15 ()
, ,
llbrary IEEE;
use IEEE.STO LOGIC_1164.ALL;
I component compl
".,.,- to~,<~v- C. ....pi
'Y c.,,.,,~
I
S
I port(
I input in std logic vector (3 downtoD); I
: output out std_logic_vector (6 downto O));:
I end component; j
- - - - - - - - - - - - - - ---
component comp1.
port(
C: in STO LOGIC;
A,B: in STO LOGIC VECTOR (3 downto O);
(
({: out STD_LOGIe_VECTOR (3 downto O));
I-.:n~ c~mponent; _
------ -----,
begin
3.1 Explique razonadamente la funcionalidad del los módulos compl y comp2, indicando en un
esquema de bloques las entradas y salidas de cada módulo. (10 puntos)
Nota. Dispone de una copia (reducida en 2 páginas en una) del código VHDL de este problema en la última
página de este examen, a modo de Anexo, que puede arrancar para poder trabajar más cómodamente con él.
(
I
3.2 Explique razonadamente la funcionalidad' del circuito completo. (10 puntos) ,,-,
3.3 Modifique el circuito para que incorpore una señal de reset (activa a nivel alto) que ponga todas
las salidas a 'l' cuando se active. (10 puntos)
3.1 Explique razonadamente la funcionalidad del los módulos compl y comp2, indicandó en un
esquema de bloques las entradas y salidas de cada módulo. (10 puntos)
Nota. Dispone de una copia (reducida en 2 páginas en una) del código VHDL de este problema en la última
página de este examen, a modo de Anexo, que puede arrancar para poder trabajar más cómodamente con él.
El módulo comp2 es un multiplexor de dos entrada de datos de 4 bits cada una, una entrada
de control y una salida de datos de 4 bits.
3.3 Modifique el circuito para que incorpore una señal de reset (activa a nivel alto) que ponga todas
las salidas a '1' cuando se active. (10 puntos)
entity edig is
porte
dato: in STO_LOGrC VECTOR(3 downto O);
s: in STO_LOGrC;
reset: in STD_LOGIC;
salida: out STO LOGrC VECTOR (6 downto O)
) ;
end edig;
5.1. Razone cuál de las dos opciones Ca ó b) consigue intercambiar los valores iniciales de los
objetos «codigol» y «codigo2». ¿Por qué? (5 puntos)
Opción a:
process
variable codigol : integer := 57;
variable codigo2 : integer := 92;
begin
codigol := codigo2;
codigo2 := codigol;
wait;
end process;
Opción b:
entity cedg is
port(clk, input: in std_logic;
linput: in std_logic_ vector (7 dO'tmto O);
len: in std logic;
sr: in std_Iogici
output : out std_logic);
end cedg;
process (clk,srl
begin
if sr ='1' then
tmp <= (others => 'O');
elsif len = '1' then
tmp <= linput¡
elsif clk'event and clk='l' then
tmp <= tmp(6 downto O) & input;
end if;
end processi
output <= tmp(7);
end archi¡
{\:
PROBLEMA 1 (20 PUNTOS)
1.1 En un sistema que trabaja con aritmética de 4 bits, se dispone de dos números A y B de 4 bits
expresados en complemento a dos ([A3 .. AO] y [B3 .. BO]) y de dos bits de control SO y SI. Se quiere
constmir un circuito que realice las siguientes operaciones en función de los bits de control:
SO SI OPERA.CIÓN
O O A+B
O 1 -A-B
1 O B-A
1 1 A-B
Se dispone para ello exclusivamente de los sumadores completos de la figura y puertas XOR.
Implemente, de manera justificada, el circuito que lleva a cabo las operaciones deseadas.
(15 puntos)
e :(
" ((.ut (U)
;
'( v
,<:.:.ut (in
S.
,
~~~::Qi:e,f
use i.eee.sta logie 1164.0.11;
~~~a~:Qi~e"V
use ieee.std logic 1164.all;
use ieee.std=logic=unsigned.all; use ieee.std=logic=unsigned.all:
o BEGIN BEGIN
CASE S 18 CASE S I5
W'HEN noon => bnp <= A + B; WHEN "OO'f => tmp.- A + B;
vlH.EN ffOl n => tmp <= -A-B; WHEN "01'1 => tmp:= -~lt-B:
WHEN "10" => tmp <= B-A; WHEN 1' l0 n t
=> tmp:= E-A;
WHEN "11" => tmp <= A-E; tiREN "11" => t.mp.- A-B;
¡OJEEN O'1'HERS => tmp <= O; WHEN O'I'HERS => tmp. O;
END CASE; END CASE;
END PROCESS; END PROCESS;
Q <= bnp; Q <= tmp;
end archi; end archi;
CÓDlGOC ><
library ieee;
use ieee.sta logic 1164.all;
use ieee.std=logíc::::uIlsigned.a11;
FP6A
entity adders 3 is
~ Ef. c.;~i":),:) e tlo. f¡e~e S e"" e.. e:l fe. ~t
port{A,B: in std_logic_vector(3 downto O);
s: in std_logic_vector{l downto O);
Q : out integer); .s:c-.,; ¡,.;e:ác.cl I plr e. '1 .... c.:..rob: o e., ~ vd.... k
'0 €na adders 3;
cu-.G¡";erA dt e.J r~J c--I-r",~
v,,",
v.. i."~~J sr. },.. c.t i4M&d:.:o.h.r-.lt t'1'c..p..) 9" (... "'>S';' ....¿b·
k .re;",eeJ se. },l-~ .. Cj....c ..Ir! P"'<5='J ( P'~ Y:e..~ e(",~
L")h. *' A)d... J.. Cbrn:d'!:! $""':o"",,,.,:e-.fo der e:,.,v:to, '
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77 , 619 142355
NOVIEMBRE 2012
1ibrary IEEE;
use IEEE.STD LOGIC_1164.ALLi
-entitl; comp1 is
port ( A : in STD
se1: in STD
E: in STD
LOGIC_VECTOR (3 do"mto O) ¡
LOGIC- VECTOR (1 downto O) ;
LOGIC¡
Y: out STD LOGIC) ;
end comp1¡
begin
end beh_compl;
'-"-
"" - y----
entity comp2 is port (A : in STD_LOGIC_VECTOR(3 downto O);
8e1: in STD_LOGIC_VECTOR(l downto O)¡
E: in STD LOGIC;
Y: out STD_LOGIC);
end comp2¡
() begin
'¡'-=- ~\. seto Ao-4 ~ 5e\o .A. \-\ I
end beh_comp2¡
- K -----)( - - -
entity comp3 is
port (11,12 :in STD_LOGIC¡
Y: out STD_LOGIC)¡
end comp3¡
begin
Y <= I1 OR I2¡
(
\..----/
begin
y <= NOT 1;
entity noviembre is
Port ( data : in STD_LOG1C_VECTOR (7 downto O);
sel : in STD LOG1C VECTOR (2 downto O);
f: out STD_LOG1C) ;
end noviembre;
(l i -- ~
architecture Behaviora1 of noviembre is
begin
end Behavioral¡
comp 1 comp 2
~ ~~
'1
.
:::l ".
_ A, \
-- -'1: - "'A.-...
"- '-z t-
A.-s '1 r--
- .E
-It: ~) ~'l ~'seL.
l I \l
comp 3 comp 4
=€J- ~T. J-
comp 1
Ter'\er'l1o.s ut1 yY1u)( lh'Z ( l.( e.r1~a. S ~ ).o-los Z e..,I\~('o..¿y..!l.<;;;. J
comp 2 J...-\IlX lt)( L (~é.-i\~-Cldo.~ 'ce ~ -\OS I do s. de.- Cb"" \\0\) Le v, Uvl
~~oo
I ~f>\
n.a
~;"\o.' ~¡
'i
'6~-z . -
(h..
A~
a.ll.x z 1 (;;,mP:S
i>o-\&.?; -b.. ...... l ~\ ';t.\o
1]7
A.~"1 I "}:.
-) '7
\
"J"z
-- ~
. 1
Irz '/
)0.\0- G
eo\o--:¡.
-
....
A~ C\..\.l\l~
r~
o ~"t
€>Q.\ i
- - "
~. ~e
J
\
SQ\~
.-
Q...\ d.,tí0 .
u
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77 I 619 142 355
CEDG - Febrero 2012 Página 9 de 11
salida(6J
,tI
ro
:!2
ñi
ro salida(O¡ VI
FPGA "'O
ro
Vl ""ro
N--I ro
:!2
ro
O VI VI
1U - -..
"'O
library ieee¡
use ieee.std_logic_1164.al1¡
use ieee.std_logic_unsigned.all;
entity compl is
port(A,B in std_logic_vector(3 downto O);
SAL GE out std;....logic;
SAL LT out std_logic);
end compl¡
end archi;
library ieee;
use ieee.std_logic_1164.all;
entity comp2 is
port (e, D : in std logic vector(6 downto O);
S in std logic¡ -
O : out std_logic_vector(6 downto O»);
end comp2;
library IEEE;
use IEEE.STD LOGIe_1164.ALL¡
use IEEE.STD_LOGIe_ARITH.ALL;
CEDG - Febrero 2012 Página 10 de 11
entity edig is
port( datol: in STO LOGIC VECTOR(3 downto O):
end edig:
dat02: in STD-LOGIC-VECTOR(3 downto O);
salida: out STO LOGrC VECTOR (6 downto O»; o
architecture edig_beh of edig is
signal aux1: std logic:
signa1 aux2: std=logic:
begin
01: compl port map(dato1,dat02,auxl,aux2);
02: comp2 port map("llll110", "0110000",auxl,sa1idal¡
end edig_beh¡
6.1 Explique razonadamente la funcionalidad del los módulos compl y comp2, indicando en un
esquema de bloques las entradas y salidas de cada módulo. (5 puntos)
Nota. Dispone de una copia del código VHDL de este problema en la última página de este examen, a modo de
Anexo, que puede arrancar para poder trabajar más cómodamente con él.
El módulo comp 1 es un comparador de dos entradas de datos de 4 bits cada una. Tiene dos salidas,
una que se activa (nivel alto) cuando A es mayor o igual a B (SAL_ GE) Y otra que se activa (nivel
alto) cuando A es menor que B (SAL_LT).
compl
B
El módulo comp2 es un multiplexor de dos entradas de datos de 7 bits cada una y una entrada de
control, que selecciona la entrada e en el caso de ser Oy la D en el caso de ser 1.
e
o
comp2
s
CEDG - Febrero 2012 Página 11 de 11
El circuito completo es un comparador con salida gráfica a través del display de 7 segmentos. Si
dato! es mayor o igual que dat02 aparecerá un 1 en el display. En caso contrario aparecerá un Oen
el display.
6.3 Modifique el circuito para que incorpore una señal de reset (activa a nivel alto) que ponga todas
las salidas a 'O' cuando se active. (5 puntos)
entity edig is
porte dato1: in STD LOGIe VECTOR(3 downto O);
dato2: in STD-LOGIC-VECTOR(3 downto O);
reset: in STD-LOGIe;
salida: out STD LOGIC VECTOR (6 downto O});
end edig¡
begin
if (reset = '1') then
salida <= "OOOOooe u ¡
elsif
U1: comp1 port map(dato1,dato2,aux1,aux2)¡
U2: comp2 port map(n1111110","0110000",aux1,salida)¡
end if;
end edig_beh¡
L
EDIG
Problemas de
examen
Para realizar el diseño se dispone de puertas XOR de 2 entradas y de dos sumadores ripple carry de 4 bits como
los que se muestran en la figura 4(advierta que uno de los sumadores carece de acarreo de entrada).
Complete la figura 4 para realizar el sumador/restador utilizando el menor número de puertas XOR adicionales.
Indique cuál es el mínimo número de bits de salida que garantiza la ausencia de desbordamiento en las
operaciones y señale claramente qué terminales escogería como resultado de salida.
()
Yl Yi. Y, Yil
---~
s~-
C~)
2. La función mayoría, MAY(xo, Xl> ••• , Xn-l), recibe un número impar de bits XQ, Xl> •.• , Xn-l e indica si existe una
mayoría de unos o no. Por ejemplo, dos casos concretos de función mayoría de 3 bits serían: .
• MAY(1,l,O) = 1 (pues hay más unos que ceros)
• MAY(1,O,O) = °(pues no hay más unos que ceros)
2.1. Construya una función mayoría de tres bits, Y utilizando únicamente el multiplexor de 4 entradas de
. . _- . .
XQ, Xl X2
datos de la figura.
MUX
=fJ
~
1~1
~-'
.. Jo
1.
r;
1)
Y
o 2.2. Complete la siguiente figura para construir una función mayoría de 7 bits, XQ, ••• , x¡;, utilizando:
• El diseño del apartado 2.1. para generar una función mayoría de 3 bits por medio de un multiplexor de 4
entradas de datos. NOTA: En caso de no haber resuelto el apartado 2.1, suponga que dispone de una caja
negra que implemente la función mayoría de 3 bits y utilícela donde lo precise.
e Un multiplexor de 16 entradas de datos.
• Todas las puertas. NAND de 2 entradas que necesite. Se valorará utilizar el menor número de puertas
NAND posible.
MUX
f'.HJX
CJ Y
•f
I
I
tI L"
I 11 'f".
.
C', e, e, C"
I I I ¡
2.3. Se desea implementar una función mayoría de 3 bits empleando esta vez una memoria ROM. Dimensione el
tamaño mínimo que habrían de tener los buses de dirección y de datos e indique el contenido de cada una de las
LJ palabras de la memoria. Justifique su respuesta.
VI "é)
~: Ole
,y, HAX
'1(0 lO'
no
11 ,
~\-i~fW3
.'.:::'-'_-l~t--""::~'J::5> o 1o I
' - - -1IIJ-1 4 ~ \t o
1.7 D\ll Y
.......-\.- -- "1 1'2, 'eoo
.---."""-........ :te:¡ \ oC) I
__- - .., 'I1t> \ 0\0
3" lo 1/
L--- ....--t'Z \ \06
'1:.\3 \\0 I
v 3\"t II to
TI5 \\tI
!
\
, ,
• ¡
j
FEBRERO 2002
" Problema4
Se desea que el circuÍtú de la figura 8 funcione a una frecuencía de reloj de 25MHz.
Teniendo en cuenta los siguientes parámetros temporales:
tsu= 8ns
thold"" 7ns
t¡ITIJPPF'" 100$
t-propNOR ""6ns
t pmpNAND,,;:4ns
detennine los instantes de tiempo máximo (!mM) y mínimo(tmin) relativos al flanco de
subida del reloj entre Tos cuales la señal E2 podría varia:r~ permitiendo un correcto
funcionamiento del circuito. Justifique su respuesta mediante un cronograma. (10
puntos).
El
fF 1
} -- - - - - j' D Q
fF~
.82
eLK
Figura 8
1. El circuito de la figura 1 utiliza un multiplexor 74x 151 (tabla de verdad en la figura 1) y un inversor para realizar
la función lógica combinacional F de cuatro variables (A, B, e y D).
74x 151
EN_L
Inputs
e 8 A Y
Outputs
Y_L
A
_V -
~ EN
A
I x x x o 8 B
o o o o 00 DO' G e
o o o 1 Dl Di ' o DO
y .F
~
D1
o o 1 o 02 02"
.' D2
o o 03 03' D3
Y P
o 1 o o 04 04' D4
o 1 o 1 Ds os' D5
06
o o 06
o· 1 07
OS'
07' L[> -,' '''' 07
. Figura 1
1.1. Función lógica
Rellene el mapq de Kamaugh de dicha función lógica F. No olvide etiquetar convenientemente las filas y columnas
de la tabla (valores de las variables de entrada.
1.2. Implementación
Implemente la función F utilizando única y exclusivamente tres puertas lógicas y justifique la solución que ha
empleado.
ITTl
b '7 o
"1 .. c.o
ADo ~ e.A ,D I ;+ e & Ii Dz..\ G BAC>~4 GBA-1)~o\ c...BAOS 4 CBAO e +CaAj)~
3. Queremos realizar un visualizador de números romanos (encontrará la tabla de números romanos al final de este
examen) comprendidos entre ell y ell5 a partir de una palabra binaria de cuatro bits (D3D2DIDO), siendo D3 el
más significativo entendiendo que el valor de cero tiene como equivalente el visualizador apagado.
Para ello dispondremos de cuatro elementos C4, C3, C2 y C I como los de la figura 4 que formarán la cifra romana.
En cada uno de ellos colocaremos tres neones, uno para cada símbolo romano"I", "V" Y "X" que se controlarán
con tres señales activas a nivel alto Ii, Vi Y Xi, respectivamente (por ejemplo, si 12 ="1", se encenderá el neón
correspondiente a la cifra romana "1" del elemento C2, y así sucesivamente. La cifra romana completa se alienará a-
la derecha, dejando en blanco los elementos no usados en la parte izquierda del visualizador.
()
Para gobernar el visualizador deberemos realizar un decodificador de binario (D3D2DIDo) a las señales que atacan a
dicho visualizador (~, V 4, 4, X 3, V3, 13, X 2, V 2, 12, XI, VI, 11).
D3 D2 Dl Do 12
O O O O
O O O 1
O O 1 O
O O 1 1
O 1 O O
O 1 O 1
O 1 1 O
O 1 1 1
1 O O O
1 O O 1
(1 1 O 1 O
~j
1 O 1 1
1 1 O O
1 1 O 1
1 1 1 O
1 1 1 1
DECODlF1CAJ)OR
EN 00
01
O2
o)
04
O;
lo 06
J, 07
- 11 08
1) 09
Oui
0 1,
0,2
o,)
0'4
OIS
o
_. -- _. -
EN 13 12 11 -lo 0 0
_..
0 1-:- O2 03 - 6~- Os 06
---
0 7 08 0 9 010 bl! 012 0]3 0 14 015
O X X X- X O O O O O O
O O O O O O O O O O
1 O O O O 1 O O O O O
O O O O O O O O O O
1 O O O 1 O 1 O O O O
O O O O O O O O O O
1 O O 1 O O O 1 O O O
O O O O O O O o O O
1 O O 1 1 O O O 1 O O
O O O O O O O O O O
1 O 1 O O O O O O 1 O
O O O O O O O O O O
1 O 1 O 1 O O O O O 1
O O O O O O O O O O
1 O 1 1 O O O O O O O
1 O O O O O O O O O
1 O 1 1 1 O O O O O O
O 1 O- O O O O- O O O
1 1 O O O O O O O O O O O 1 O O O O O O O
1 1 O O 1 O O O O O O O O O 1 O O O O O ~
1 1 O 1 O O O O O O O O O O O 1 O O O O O
1 I O 1 1 O O O O O O O O O O O 1 O O O O
1 1 1 O O O O O O O
~ . O O O O O O 1 O O O
-1--- . 1 - 1 O - 1 O O O O O O O O O O O O O 1 O O
1 1 1 1 O O O O O O O O O O O O O O O 1 O
1 1 1 1 L1 O O O O O O O O O O O O O O O 1
MULTIPLEXOR
EN EN C2 Cl CO y
O X X X O
1 O O O 10
1 O O 1 I1
y
1 O 1 O I2
1 O 1 1 13
1 1 O O I4
1 1 O 1 I5
1 1 1 O 16
1 1 1 1 17
(~')""" 5. Indique qué señales de entre las que atacan al visualizador de números romanos (X4, V4, 4, X 3, V 3, 13, X2,
V 2, I2, XI, V ¡, II) son implementadas por las funciones F y G de los apartados 3 y 4 respectivamente"
(~
l. Se desea diseñar un contador binario que permita obtener la secuencia de cuenta 255, 254,
253, . ,2, 1, 0,255, 254, ... , a partir de una señalde reloj CLK. Sobre el esquema de la
o.'
figura 7 realice todas las conexiones necesarias para ello, utilizando dos contadores
74XX169 (cuyo cronograma de funcionamiento se encuentra al final de este examen). El
valor de la cuenta se representará con una palabra de 8 bits: 07,06,0 5 ,04 ,03, 0z, 01 Y 0 0 ,
siendo 0 7 el bit más significativo. Indique también sobre el esquema estas señales y, por
favor, sea limpio en el dibujo. (5 puntos)
R
A
l! Qu
e
ti Qc
Qo
CLOCK
Reo
l,OAD
uro
T
n
p
Figura 7
2. A partir de las señales 0 7 a 00 del apartarlo anterior, queremos construir dos bloques
detectores que generen sendas señales V16 y V64, que se activen cuando el valor de la
cuenta &'ea 16 y 64, respectivamente. Para ello, dispone de dos comparadores de magnitud
cuya tabla de verdad se encueni.raal fími.lde este examen. Realice sobre la figura 8 las
conexiones necesarias para obtener dichos detectores y las señales deseadas. Por favor, sea
limpio en el esquema. (5 puntos)
DETlOCTÓRV¡6 DETECTORV 64
_ • •~••••• - • ., •••• _ ....... " •• , ...... <............. _ .................... - ............, •••••••••••••••
o, •••••••• -. '-~" ."., .. , ................. '" o" ............. ".,. ............ -',
COMPARADOR COMPARAJ)OR
-~-----I Po -+------1 Po
--'------1 PI -.;..-.-----1 PI
,C) -';'-...;....,-----1 P2
-.;....------1 P3
.....,-+------1 P2
_ . i . -_ _ _........ P
3
-.;--'------1 P4 -+------1 P4
- . ; - - - - - - 1 P5 -+------1 P s
- o i - - - - - - - I 1'6 -;..------1 1\
-~-----I p-, -;.__-"'-----4 P7
P=Q V16 P=Q
- Qu Qo
-QI Q1
-(b Q2
- QJ Q~
---.. - Q4 Q4
- Qs Qs
- Q6 Q6
- Q7 Q7
Figura 8
...............................
..
cJ-
DJ"
Ci..OCKLJ I
~~T~~--H-------____~
n o ... ---,
___ J
óa ==-=1
- -- r--I----.,
Oc ___ J. L-------+-------i-+----'
_IZ __
0
0
- - - r-"-+--..,......---'
- - _J
~ ¡---.+,.---.
'------t-:------:.-t---'"'-+--.,--.;..-I.
~~~_-_l
1. iJ< 14 lISO t 2: 2:;Z 11 o 'lO , .. ,..
J II----,-COUNTt»" I _T --1 .....---.. COONr o o ' ; ' H - - -
SEL T[7:0]
- o R(7:0]
1 S[7:0J
0,1,2, 3, ... ; 14. 15~ 16, 96, 95~ ... ,65,64,0, 1,2,3, ... , 14, 15, 16,96,95, ... ,65,64, O, ...
T[3:0] CONTADOR
O[D:A]
QA
Os
Oc
Qo
CLOCK
RCO
LOAD
U/O
() T
P
DETECTORV64
MULTIPLEXOR OA
Po 6
Pj
Oc
Pz
00
V64 P3
P4
OÁ
Ps
.Oa
Pa
Oc
P7 00
DETECTORV16
OA
Po
P1
P2
V16 P3
P4
·C~)
A.
Ps OB
Ps
OC
P7
Ou
CONl"ADOR Q[D:A]
QA
Os
Oc
00
CLOCK
ReO
LOAD
UfO
T
P
FEBRERO 2003
1. Obtenga razonadamente la frecuencia máxima de reloj CLK a la que puede funcionar el circuito de la figura
suponiendo que el inversor tiene un retardo tdinv = 1ns y los biestables (FF 1 Y FF2) un tiempo de propagación
tdff = 2ns y un tiempo setup Ísetup = 3ns. Justifique la respuesta dibujando en un cronograma los tiempos pertinen-
tes involucrados y razónela en función de dicha figura. NOTA: Corno retricción adicional, suponga que la an-
chura mínima de los pulsos de la señal de reloj (tanto el de nivel alto corno el de nivel bajo) es de 1 ns, y tenga
en cuenta que la señal de reloj no tiene por qué tener un ciclo de trabajo del 50%.
FFl -
FF7
x- JI Q,
[>o "..
~
Jz
1.>
Q2 y
- -
K, Q1 loo- K2 Q2 ~
CLK -
+-.______~P~e~;~i~od~(~)_=~T______~__~.
n
2. Calcule razonadamente el tiempo de hold máximo tholdmax que podrá tener el biestable FF2, para que el
circuito funcione correctamente. Asuma las mismas restricciones que las descritas en la nota del apartado
anterior y justifique su respuesta·a partir del cronograma que ha realizado en el apartado anterior.
3. El circuito del multiplexor de la figura 4, cuya tabla de verdad encontrará junto a la figura 4, implementa una
función lógica F de cuatro variables:
r - - - - - - o f lo
EN e2 el co y
.,-.-----f I I o x X x o.
o o o 10
"
. . . - - - - - . . , 12 1
....- - - - - 1 13 y
r------I 14
F 1 o o 1 n
. - - - - 1 15 1 o 1 o 12,
t---..,16 1 o 1 1 B
h
1 1 o o 14
1 1 o 1 I5.'
1 1 1 o 16
1 1 1 1 17
w x y z
Figurl! 4
3.1. Escriba la expresión lógica de la función F.
3.2. Obtenga la expresión simplificada de F usando el método de Karnaugh. Realice la simplificación por "unos"
gráficamente sobre la tabla 2 y por "ceros" sobre la tabla 3. Escriba a continuación las expresiones
correspondientes.
3. El circuito del multiplexor de la figura 4, cuya tabla de verdad encontrará junto a la figura 4, implementa una
. (!2( función lóg.~ca F de cuatro variables:
. i Vc
c
EN
lo
\·.BN el el CeQ' y
..
11 o x v·
.J.... X o
12
13
1 (J o b JO
14
Y F 1 D o r 11
Is 1 o 1 o 12
16 1 :0 1 1
.1, 1:3-
1 1 O O 14
"='" C2 el Co
1 :1 O 1. 15-
l' 1 1 9 :.10
1 1 1 1 17
w x y z
FJ§UFO: 4. , .
r't-q; 3.1. Escriba la expresión lógica de la función F.. .. ..
r}3.~. Obtenga la expresión simplificada deF usando el método de. Karnaug~. Re~~ice la simpl~caciónpor "unos"
..
correspondientes.
NI) rA .
I eL-l.
graficamente sobre la tabla 2 y por "ceros" sobre la tabla 3. Escoba a contmuaClOn las expresIOnes
~ i ~_l
AJ ~ Jl
J
·é' I~ Y = e zc, (/> ro + LzC.CoI, + C:c.c•.l") t C: z e. ~ r" c.l.(u J.s H:z(,(.I, .f lz c.(~
f
. .¡. LzC,Co Iz .¡.
T;)e,J:fc .. ,... ..} ----" LT> "Le ~e'"'.J obJe..,;dO .s~" ,...,:"k ........ ,S
.1;
~
---
F= wXYt t Vv XYt t w;''I1 rWXY?
--
t W;XYl t
--
¡,..Ix}'? t WXy~ -
.~:-. ",
- .......--.
w x y t
o () o o o
~ 5,'n p (:!:C4. ..... ""J for l<c..,~>? .....:J'~ (for
~
o o o
o
o
o o
o
o
o
o
o
I
1:> y~
00
0 1
.00
O
01
~
"-"
I
./
1
1I
O
o
~
(
I
~
r
\
D
11 o o o I
o I o
O
1 J o
lb D ([ O
~\
I O O O
r~).
,
'.~
r~~)
'----j
SEPTIEMBRE 2003
2. Se pretende diseñar un sistema de llen~do de un depósito de agua, cuyo esquema es el de la Figura 3, y donde:
,1 11
A B \ • CIz;lVl U o \
(';'
::::Q9 ~ c/o--c*-\vas
o(¡~á. (p7 Uf\
" l(
• Si el agua descienqy por deblijo de NO, se deben de activar las dos electroválvulas simultáneamente A y B,
permitiendo el llenado del tanque a través de las dos entradas.
• Si el agua alcanza NO, solo se activará A, desactivándose B.
• Si el agua alcanza NO y NI, se desactivarán las dos señales A y B.
• Si el agua alcanza NO, NI Y N2, se desactivarán A y B Y se activará D.
• Cualquier otra situación anómala de N[O,I,2] activará la alarma y provocará la parada la parada de A y B,
así como la desactivación de D.
NOTA: Se considera una situación anómala cualquiera de los casos no contemplados anteriormente, por ejemplo,
el que se activen N2 y NI Y no active NO.
2.1 Realice el mapa de Karnaugh para las salidas D y AL respecto a las entradas NO, NI Y N2 e implemente el
circuito completo de ambas señales tras la simplificación. (10 puntos)
2.2 Implemente el circuito completo correspondiente a las salidas A y B utilizando exclusivamente los siguientes
multiplexores: (15 puntos)
• Señal A - Un multiplexor de cuatro entradas
• Señal B - Tres multiplexores de dos entradas
e 6 ó o
o
o (3 o o o
., e,
,,
(S) 6 1 o ,) I
(9 o <5 ~,
Ó \ o b A-L~ .;::
$1 o <::) o I
,\ 01
1 <o
,
1 b
o ,
I
~"Z.
\ ~
eto D\ It \11
'1 ) 1 I I (")
é) 6 o o o
,-,
I \ ó le \ <S
L 1) ';:' ~~\ kl ~
www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78,619142355
\)
Ñ-L ----....------,,-----
f<.l\
FEBRERO 2004
1. Se desea diseñar un circuito capaz de dividir dos números naturales de dos bits cada uno [Al, AO] entre [B1, BO]
para obtener el cociente [el, eo] y el resto [R1, RO]. En el caso en los que el divisor [B1, BO] sea cero, el cociente
y el resto serán iguales al dividendo [Al, AO] y se activará una señal de error E.
1.1 Rellene la tabla de verdad Tabla 1 y obtenga justificadamente las funciones lógicas simplificadas para R1, RO
Y E. (5 puntos)
Al AO B1 BO C1 CO R1 RO E AUX
O O O O O
O O O 1 O
O O 1 O O
O O 1 1 O
O 1 O O 1
O 1 O 1 O
O 1 1 O 1
O 1 1 1 1
1 O O O O
1 O O 1 O
1 O 1 O O
O 1 1 O
(:1 1
1 1 O O 1
1 1 O 1 O
1 1 1 O 1
1 1 1 1 O
1.2 Implemente la función AUX de la Tabla 1 con el mínimo número de puertas NAND de dos entradas. Nota:
Sólo se dispone de las entradas Al, AO, B1 y BO y no de sus complementarios. (5 puntos)
1.3 Implemente la función AUX de la Tabla 1 con dos multiplexores de 4 entradas de datos. Nota: Sólo se
dispone de las entradas Al, AO, B1 y BO y no de sus comp1ementarios.(l0 puntos)
1.4 Implemente la función AUX de la Tabla 1 en tecnología eMOS utilizando el mínimo número de transistores.
En este caso supondremos que se dispone de las entradas Al, AO, B1 y BO negadas y sin negar. (lO puntos)
10000.001 1=2
100000.01 1=3
1000'.0001 1=5
(J 100.00001 1=6
10.000001 1=7
100.00001 t=8 .
1000..0001 1=9
o
CIRCUITO
DE --;... 7
i --...t.~
•
O
O
BANCO
DE'
ACTIVACIÓN () LEDS
O
BloqueA O
Bloque B
El banco de LED tiene siete entradas, una por diodo [16••10] activas a nivel alto, de forma que si
tienen un "1" el LED correspondiente se ilumina. El circuito de activación (bloque A) se encarga de
generar las señales [16 ••10]. Para reálizar el diseño se utilizará como núcleo un registro de
desplazamiento bidireccionaJ de 8 bits (Figura 4).
A
-B
-C
-D
E
-F
-G
Figura 4: Registro de de!;plazamiento -H
SeriaCLefl
Seri.l_ Right
so
SI
CLEAR
-CLK
( )
"'-/
La salida QA del registro irá conectada al LED ubicado en el extremo izquierdo del dispositivo,
mientras que QG se conectará al LED del extremo derecho (Figur.a 5),
Figura ·5: Conexión de las salidas del,Registro de DespÚlZIImientoa los LED (en ,el instante representlldoc¡ QF'= 1,
con Jo que su LEDasocilldo está encendido) ,
2.1 Construya e.I registro de desplazamiento de' la Figura 4 a partir de dos registros de
desplazamiento bidireccionales 74LS194, a los que llamaremos REG_l y REG~2 Y cuya hoja de:
características puede verse en el apéndice. Para ello complete el circuito de la Fig¡;¡ra 6. (10puntDs)
REG 1
, - - - - - - - - - - =1 A Q.A
~-------I B ' QB :---~~
- - - -- ---.--1 e Qc r---- .....'
----- -1 D Qo:--r-
__"---1 Serial_Left
.----1----1 Serial_Right
r+--t--t----:I------I SO
.--+--+--r--=--l S1
- - - + --f--r-t---t---i CLEAR
H--- i --,CLK "--------- QA
'-. QB
'---_ _- -Qc
r------------\\~
~------QD
QE
1
- --t-rtt=--U-+- + ---j AREG_2
QA
J- ~
rF
~~~ . QH
~--t\+""""-==l:~-\--t---I B QB '
---=r---\4I:::l~-4I--.-:::r-T--1 C Qc 'J 1
U-~-*~-~---ID QD~------~
' 1 - - --1:----.-1 Serial_Lcft
L----.----j Serial_Rigbt
L...--jr------- J so
--t::==::;--~ SI
- '""--1 CLEAR
t--:--~I CLK
Figura 6
)-~\ So
Fulk.®'tv
Ci o ' <-OY't?::l~:
o I Oe:;.~ el. a eOfi, o.
\ -o ~ e:;;.~ C\. '\,Iv..
¡ I LeAb
\..
\
~-
A continuación se conectará el registro de desplazamiento de la Figura 4 al resto de componentes
n para obtener el circuito de activación completo, cuyo funcionamiento es el siguiente:
2.2 Complete las conexiones necesarias que faltan en el esquema de la Figura 7. (20 puntos)
1< () -
.------,~-I: @-o-
A QA
Ir •
o \ o
o o '" o
0000
1.Id~ L
LOAD-D Q [ - B Q¡j f---..- - - -Io---:--'
o ---, C Q c 1--- -+------'--'
0- D Q[jl--_ _+-_ _ _ _..J
,.- ~ CLK
a- E QE r--:--- j f - -- - - - . . . . l
0- F QF r~-I-------9"-'-
EO 0 -- G QG~--4------~--~~--~
MUX f-,.....- 0 - H QH ~ ~(' o...'\M-l ~Q. forCA.d....U.'· sc0.
CK -l '\' «nvlco 'oCL~ ~-
\
O - ScriaJ_Right o...'óru:\.c:. 'SI" rz¡ ~rO-t1'1cS
Sft-=' ,' Co~'o~ o-
_ _V~'----l SO
..---~'--i SI Óe..c;.~\o.t.o..f
0 -':':" CLEAR o.... i.~doS
, ,
...--.-..- CLK
r- R Q# f.---J
'- Figura 7
PROBLEMA 3
3.1 Implemente un biestable tipo D con "ENABLE" usando un biestable tipo T y la lógica
combinacional que crea necesaria. Se valorará el grado de simplicidad. (5 puntos)
3.2 Obtenga justificadamente la máxima frecuencia del reloj CLK del circuito de la Figura 8 que
asegure un correcto funcionamiento del mismo. Suponga que el ciclo de trabajo del reloj CLK es
del 50%. (10 puntos)
115A,
,---"" , 2 U2i\ '
El U1Á
" 3' 4 PRE
J, , 3A, 14 J, t.:! 12
,Q 7 ,,\ '
5 'LK:... 2 3 ~LI<,
, , ,Qtt'--~
¡..;::....--40. _ _ _ _+-..:....¡1 K. ' 7 1j, ;/' 3
7408,
,2
Figura 8
Nota: Considere que las señales CLR* y PRE* están desactivadas.
Parámetros: '-tdp~crtas == T 11S ' - - .
tdFF= 3 ns
tsetup = 2 ns
so
n Function Table
Inwts Outputs
Moáe Berial ParaUél
elear CIDck OA. Os Oc OD
61 so Lefl Rlght A B e D
L X X X X X X X X X L L L L
H X X L X X X X X X OAO aso Ceo 000
H H H t x x a b e d a b e c;I
H L H t X H X X X X H OAn OSn OCn
H L H t x L X X X X L OAn aBn Qen
H H L t H X X X X X OSn OCn ann I'i
H H L i L X X X X X OSn Oen aDn L
H L L X X X X X X X -aAO asa Ceo 000
H ~ HigII Lovel (!OOIIdy 811110). L = Low Leva! (SluadV slalo), X = Oon', COte (any input, including trIlnsfliorls)
i ~ TlanSltian lrom-Iow 10 hlgh '''''01
n. b, o. d ., TOOlovol 01 stoady 1IUIlo inpul al In¡una A. B. e Of O, lOapocliVoly.
afIO- Oso. Oco. Doo ~ Tho lovol oIOA. De. 0001 00' 19.pOCtNe!y, bolOl'Hh9 indioalod steady Slato-input conditlonswOfo <lStablishod. -
0An' Os •. 0eno- OOn = TM /ove' el CA, 0B' 00 I88pOClively, b<lforu tha mosl.locont i "anSilion 01 Iho dock.
Timing Diagram
TyplclIl Clear. Lolld, Rlght·Shlft,L..ft-Shlft. Jnhiblt.:and Clelll' Sequences
() CLOCK
linDE
CONTROL
Iso
IM'lITS SI
SERIAL
DATA
IIfPUTS
¡
ClEAR
PARALLEL
DATA
IHPUTS
¡:e
o
oo,J:~++-I
Lo: INHIBIT ---1
CLEAA
SEPTIEMBRE 2004
PROBLEMA 2
Diseñe un sumador de dos números A y B (8= A + B) de-cuatro bits en complemento a dos
utilizando el mínimo número de componentes. Dibuje el esquema resultante. Para ello dispone de
restadores de dos números A y B (R = A - B) de cuatro bits en complemento a dos (Figura 2) y de
inversores: (15 puntos)
A3
A2
Al R3
AO R2
83 R1
62 RO
61
60
PROBLEMA 3
(~ Se desea implementar un generador de números seudo-aleatorios utilizando un registro de
desplazamiento de 3 bits basado en biestables de tipo D, según la Figura 3.
La secuencia a generar será la siguiente, codificada en binario como "ABe" donde e es el bit
menos significativo:
A
'---
Lógica
()
B
C
combi-
nacional
Z
--- O Q O Q O Q
-
A.a. A
Q A'O
I 1 'I
CLOCK I :>
A :>
B e
Figura 3
A B e W
o o o 1
o o 1 1
o 1 o o
o 1 1 o
o o 1
1 o 1 o
1 1 o o
1 x
3.2 Dibuje el mapa de Kamaugh y utilice dicha simplificación para determinar la expresión
lógica de Z. Nota: En caso de no haber respondido el primer apaliado utilice la tabla de
verdad de la señal W. (5 puntos)
PROBLEMA 5
U1A
En1 «__-'--1
U1A
t dAND = 1 ns
74HCOB U2A
t dff = 2ns
5
D Q
1 tsetup = 2 ns
CLK «~ __ ~ __________________ ~-¡ ______________ ~
CLK
Q 2
4
6 R
S
14
VOD
4013
n Figura 8
5.2 Obtenga justificadamente el máximo tiempo de hold (l¡lOldmax) del biestable para un correcto
funcionamiento del circuito. (5 puntos)
; +min ~' E
unifonne. Indique claramente los motivos de fallo sobre un cronograma. (15 puntos)
t=
O
I
~ ~M ~Ó
.~~~
I ~.
~ ~ ~_; ~..L. 2"'31tug
T\>\it'\ 7",~
-:c
'Z 1 I I Z
L
www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78 - 619142355
FEBRERO 2005
Problema 1
,~
( \
En el circuito de la figura los biestables tipo D, U6A y U7A, tienen distintos tiempos de propagación (tp ) Y de setup
(tsetup). Considere así mismo que las entradas de PRESET (PRE) y CLEAR (CLR) están desactivadas en todo
momento.
4 U6A
"---"P~RE=-----.
En~~_da_ ..._ _ _ _ _ _--,2:..;D o 5
---. 3 .ll< Q 6
CLR
r l' 7.474
cu<
.
tp Ísetup
Biestable U6A 1 ns 1 ns
Biestable U7A 2ns 2 ns
PuertaAND 5 ns
1.1 Utilizando los valores de la tabla obtenga justificadamente, dibujando un cronograma, la máxima frecuencia
del reloj (fCLK11IIlX) del circuito que asegure un correcto funcionamiento del mismo.
1.2 Determinar justificadamente, también sobre un cronograma, el máximo tiempo de hold (tho/d11lllX) que el
biestable U7A puede tener para que el circuito funcione correctamente.
L
www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78,619142355
FEBRERO 2005
Problema 2
Se desea diseñar un circuito de sumar y restar dos números de un bit AO y BO con acarreo de entrada C i- 1
mediante una señal de control M. El resultado se compone de tres bits [S2,SO] expresado en complemento a dos.
La operación, en función de M es la siguiente:
M = "O" [S2,SO] = AO + BO + C j _1
2.1 Rellene la tabla de verdad, Tabla 2, y obtenga justificadamente la función lógica simplificada para SO.
M AO BO Ci-1 S2 S1 SO AUX
O O O O o o 1 tJ
O O O 1 G
"
t:J 1 O \
O O 1 O o Ó t 1 \
O O 1 1 e; 1 -o O 'Z
O 1 O O Cf) -o t 1
(.
O 1 O 1 o L P O
o O
O
1
1
1
1
O
1
(fj
~
,1 ll>
\
1
O
Z
"3-
1 O O O 6 o Ó O ()
1 O O 1 \ I I O -1
1
1
O
O
1
1
O
1
\
t
I
r
1
()
O
O
--
\
'2
i 1 O O o ó \ 1 \
1 1 O 1 ó o 6 O o
1 1 1 O o o <2:> 1 (:)
1 1 1 1 1 1 I O -1
2.2 Implemente la función AUX de la Tabla 2 con el mínimo número de puertas NOR de dos entradas.
Nota: Sólo se dispone de las entradas M, AO, BO y C i- 1 y no de sus complementarias.
e e
2.3 Implemente la función F = M . + A . + A . B . M utilizando únicamente dos multiplexores de 4
entradas de datos. Nota: Sólo se dispone de las entradas M, A, By C y no de sus complementarias.
PROBLEMA 4
Se dispone de una línea serie de datos por la cual se transmiten tramas de 8 bits de infol1nación
[D7 .. DO] con una cabecera de 4 bits. El funcionamiento del sistema es el siguiente:
,,,
Unea de ,,
datos
,- "1" I"1"
"O"
,
"O" DO 01
. .
02 03 04 05 06 07
,
,
. ..¡
dato
!'
:
CLK
,
INICIO ··,,,
: I I I
·
---'T"---' I I I 1 I I I
-----_ ..·-·--1'·----·--¡-··--···---t----··+··-
I I I I _1..____._.'. ._ . __
.... _.,: .. _._ ..... 1__-"-"r:__L_
,1 _ _ _ .•: .. _____
,--- ........__--:-_
' ..-
: : : : ¡ i i 1 ¡ ! ¡ ¡ !
FIN ¡ ¡ ¡ 1 : : : : : ; :: 1,
I I I I I : : I : : I :
~¡.-_.
Figllra 2
Nota. El registro de desplazamiento 74HC164 eSTá formado por biestables tipo D con tiempos de set-lIp no
despreciables. En el anexo del examen se enC/lenT/"CI11 las camcterísticas del 74HC164 y del 74HC681. lJtiltce la
info1711aciól1 de dichas hojas.
-
www.monteroespinosa.es - Clases de CEDG - Tfnos 91544 53 77 . 619142355
FEBRERO 2007 J,¡"9 0 e.. *"",. le De c-ü fo ....... t.. J ,
Se desea realizar un juego de luces de navidad. El juego consta de 3 bombillas que se encienden
secuencialmente una tras otra, siguiendo la secuencia dibujada en la figura 6 en la que círculo negro
implica bombilla encendida, y círculo blanco indica bombilla apagada. El tiempo que la bombilla se
mantiene encendida será valiable según el modo de funcionamiento, y se explica más abajo. En el
ejemplo de la Figura 6 se muestra un modo de funcionamiento en el que cada bombilla se mantiene
encendida durante 1 segundo.
t =O S
8G
t =1 S
8 G
t =2 S 88
t =3 S
8G
t =4 S
8 G
t =5 S 80Figura 6
El circuito tiene cuatro entradas de control A, B C y D, todas activa a nivel alto y una única sefial de
relc~.i
CLK. El sistema tiene varios modos de funcionamiento, explicados a continuación:
Notas:
• NUNCA se dará el caso de que haya más de una sefial de control activada a la vez.
• Siempre que esté activada una señal de control, y pase a activarse otra diferente, todas las
bombillas se apagarán durante un ciclo de reloj y después pasan al modo que les corresponda,
según la entrada de control que se haya activado. .
4.1 Dibl~iar el diagrama de transiciones de estados de una máquina de Moore que realice el circuito
descrito. Explique detalladamente el significado de cada una de las entradas, de cada uno de los estados
y de cada una de las salidas. Indique en el diagrama los valores lógicos de las entradas, de la salidas y
de los estados. Diga también qué pedodo tendrá el reloj CLK que utilice. (15 puntos)
4.2 Supongamos que tenemos ahora los siguientes componentes: 1 contador módulo 4, 3 contadores
módulo 3, 3 descodificadores de 2 a 4 (Tabla de verdad en el Anexo del examen), un codificador de 4 a
2 (Tabla de verdad en el Anexo del examen), y un multiplexor de 4 entradas de datos de 4 bits cada una.
Dibuje las conexiones necesarias en la figura para realizar el circuito del apartado anterior. Se dispone
de una sefíal de reloj CLK de peliodo 0.25 segundos. (15 puntos)
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 544 53 77 I 619142355
/3IJ
T= D' l5 S (
,1
Ce... .... ;..,DJ
tI
:
I~ J~ ~ TI
0'5 J
,;¡zr
¡, .
~~oie...,c'>o 3 eH/re Cc..~CA. ..... "., .. d>e e.J,~.f&JJ;C";c..eu " Cu/lJC'j ....,·"".. J er'-f: e..
•
~, 0001
Tabla de verdad del Descodificador 2 a 4
2-to-4
decoder
10 YO
11 Y1
Y2
EN Y3
Inputs Outputs
EN 11 10 Y3 Y2 Y1 YO
o A X o o o o
o o o o o
o o o I o
I o o I o o
I I o o o
Entradas Salidas 10
13 12 11 10 Y1 YO
'"..¡. YO
11 (;
O O O O O O "ro
<J
O O O 1 O O
O O 1 O O 1 12 ~ Y1
()
O 1 O O 1 O 13
1 O O O 1 1
01 00
o'¿5)
....__.---1[> Contador x 3
i..s
~[> Contador x 3
0'5 s
r--[> Contador x 3
01 00
:.....
1
1 • t
1
E~11 la dI
CLK Descodificador 2-4 I j
E~11 10
A Y3 Y2 Y1 YO Descodificador 2-4
E~11
B ----. ~ -* Y3 Y2 Y1 YO Descodificador 2-4
10
-.>f
C -1 >-
o• -
[1 ;
Y3 Y2 Y1 YO
~
o
I·
, ~
13
O
I
12
O
I
11
j ~
rfff 10
¡Ho- 10
N
..¡. YO ,
.-
1 - ca is ,: c'SJ
Multiplexor 4 entradas de datos
o 'Z'~ j
--..
11
12
'-
o
"C
ro
o
""
'5 Y1 •
- C1
Y
/~ , r:::.. LS 5
o
u
- 13
MJ~
A= i
- r4>
(o/uu)
"
..--
.'
-,
cb
13= i ~ I.1
e
~=
=i
1
--
~
.IZ
.I3
(0'5 J)
Ud}
.
l'
",'
"
,
2'
i'~ ,t
..
.'0:' ~
3
, ...
f'L c;p,.;.,..
".)1
co·,~-.plM~:
,......
.....,/. ~
_. 0<' ..
~.
L"
11-.1' CdP"
r-' '", oc J,' Veo. (fo- e;ie'~~'p~/
'..J
p
'Ji
...
r' L."
~C.r, ~ ..
.~.~ J ,.A -=.i
. I e( Ce o; )'~'"
~'A ;; ...
-. - >A ce... 00
I
sel1c;ee.1
. i
Se"'c.e CJt. lee.:.>. de • e) ,
ter·,> o'" o' z5;1I 'f
, v.... ,...., o)
.<
C\. ~p¡';pe:c.e..,.
c..,.... f.... ~ .. ,-
f°r' ~~)
'f pt>~ c.",e..fro (.I.Jb.I")~O V4 Yl?ó~L)e.
4 ( cUf",fc... ¡;t. "o C\. 1:1.)
I .
CLK J ~ I I 1\
~
"' ~
,
o'~ t
o
01
oleJ
t!J
,dT I ~
O
"
é
5
O
4 5
J ,jI' T =1s
" I
,-
O I• O
• O I
J
I
4i\
I
4r.
~
c-
=.
1.00 ~ DiO ~ OOi •
•
DO __ oi ~.10
A fe..
FEBRERO 2008
Señal A
(semáforo
o SeñalB
(semáforo
verde si A'="1", O verde si 8="1",
rojo si 8="0")
rojo si A="O")
Sensor 1
(51) Sensor 2
(82)
Figura 4
• Cualquiera de los dos semáforos estará verde durante un tiempo mínimo de 30 segundos y
un tiempo máximo de 1 minuto. -
• Los dos semáforos nunca podrán estar en verde o en rojo simultáneamente.
4.1 Dibuje el diagrama de estados de dicho sistema de control utilizando una máquina tipo Moore.
Indique CLARAMENTE los estados, las entradas y las salidas. (20 puntos)
.i 5s
eo.\"; ).:.. pe",Sc..""Ol c .. c:"~ Q ftAJ ... ,....) i:e WI ,Se"";,J.. r. C4. off"o I 't "" q"; t!'J ~c-..,)., C!kc., h."'t'" k :
M( c>.... ;'j....( e., 'l'l f'<J{
y~ f"'o", I'-'1"';" e_ "t(~ A, Vq.""J "Su, ... er ~" fDtu·,'.. ~Co/,(r
/-',c"l( '1" I!ll",( ce ol,/) sc:,,¡u,
e.. vtrh 1'.:>.'
~}e.,l~"c.»
Es f/).VI;)~ €A vtr~(
d Al ",t ¿,,,,
(o .... ~1 11
r( B, Me 6.,. I.,~,P
Af1 E" 4-.). tlCl !e..,er ee o/ro ¡e" Sor CH.';",... c)" ( c)( c.t "1,,. e .. ef pr.,..er C'J fc...~o Q~ Ó Q"1 Óll Cc.v,
Le re.. ~CL :
OLf
Qo
S"e,...,;;.Jo."o A e" Ver~('
S"e .....:'J..,'\> A e.-, rOJ'o
~\
Os
11 Q6 " f> " "er.)f
QT 8 II ¡ojD
Q.,
Q3
FEBRERO 2009
sensor de
presión
exterior
(51 SO)-----I~ (espacio)
A1 cámara
compensación
interior
nave
espacial 1
i~p~lsor/
ae aire
Figura 6
L• ., •.--. :
xxxx
io )< X
J O·y.....)
!
0).( '\1..(. ,,¡. e><fr,er v..>k DO
IL r-L" A XOII \
OXoo ""~~1l
,,'" r....eJ ..r A Y '1<1 pn:,¡;"o'" l'
Primero deberá pulsar el botón B, que se encuentra fuera de la nave. La pulsación de B será
de duración suficiente para que sea registrada correctamente en el siguiente flanco de reloj.
En ese instante el extractor de aire empieza a actuar hasta que la presión en la cámara de
compensación sea O.
Cuando la presión en la cámara de compensacÍón sea 0, se abrirá la puerta Al y se
mantendrá abierta durante 5 segundos, cerrándose a continuación. Durante esos 5 segundos,
se supone que el astronauta puede entrar en la cámara de compensación.
8. A continuación, el astronauta deberá pulsar el botón A repitiéndose 10 apuntado en los
puntos 2 y 3. En caso de ue ulsase i ación del unto 6.
9. Cuando la preSlOn en a cámara de compensación sea .P, se abrirá la puerta y se
mantendrá abierta durante 5 segundos, cerrándose a continuación. Durante esos 5 segundos,
se supone que el astrona:uta puede volver a entrar en. la nave.
Para implementar este sistema se dispone de una señal de reloj de 5 segundos de periodo.
4.1 Indique CLARAMENTE cuáles son las entradas y las salidas de la máquina de Moare que
controla el funcionamiento de este sistema. (2 puntos)
4.2 Dibujar el diagrama de transiciones de estados de una máquina de Moare que realice el circuito
descrito. Explique CLARAMENTE el significado de cada una de las entradas, de cada uno de los
estados y de cada una de las salidas. (15 puntos)
4.3 Suponga ahora que las puertas Al y Al no se abren ni cierran en un tiempo despreciable SL'10
que tardan 10 segundos en abrirse ó cerrarse. En este apartado, mientras se está abriendo o cerrando
alguna de las puertas, el sistema ignora cualquier pulsación de A ó B. Dibuje ahora el nuevo
diagrama de estados de la máquina de Moore. Para cada estado explique 10 que significa el mismo y
la salida que se obtiene. (8 puntos)
10xx
e OixX
1
bXX1.
Oxoo
®
!
>,CM>'
;xxxx
SEPTIEMBRE 2007
Se desea proteger los datos enviados por una línea serie midosa, LS, mediante la inserción de un
código de seguridad de 2 bits al fmal de cada palabra de 4 bits de datos enviados. Este código de
seguridad se compondrá atendiendo a las siguientes reglas:
• Los 2 bits del código de seguridad, SI SO, codificarán el número de '1' que a al'ecen en la ~-_ _
palabra de 4 bits de datos enviada. EN e) VOl ... c..lr.. c\. c¡-t
• La palabra de datos nunca será el 1111. Ih...'1C... h.. h..( "1 "''''0) ,",CMe ~ A' "".... r.
• El sistema dispone también de una sefíal de habilitación, EN, que es S111 rona con e re 0.1 y que
se activa a nivel alto cuando está listo el primer bit de la palabra de datos a enviar por la línea
serie LS, indicando el inicio del proceso de generación del código de seguridad. En estado de
reposo, la sefíal EN está a cero.
• El código de seguridad (SI SO) sólo es válido una vez que se han recibido los 4 bits completos.
Los bits SI SO tendrán una duración equivalente al período de reloj y son síncronos con él.
• Al tenninar de recibirse los cuatro bits, se debe generar una sefíal activa a nivel alto llamada
. "Código de seguridad válido", CSV, que tendrá la duración de un ciclo de reloj.
• Una vez que se ha generado el código de seguridad y la sefíal CSV, se vuelve a atender a la
sefíal de entrada EN por lo que si EN está activada, se vuelve a proceSal' una nueva palabra de 4
bits yen caso contrario el sistema vuelve al estado de reposo.
lLt t I EN S.
So
ENTI?.ADIH :
EN 1 lXl><l><J
LS O O
I
I
, I
O
-",
,
~
l
si O
, t @ C.$V: fb'~ "'I.~,,( Sc..Cc u,,", j
I 1- ,
Ocl f~c) i>e rc.e,;~;p e( "lO~; f.
I t
cS'v 1 , ,
I
,-
www.monteroespinos~;es::. Clases de CEDG - Tfnos 91 5445377 , 619142355
I~
- C\J~" ~'!> vr?o} y ,troj Vc..\ko,1 !c..,:C'.., ~t) ..
\ I , I
l~ 1 bd re ,; 6'-01> : Q{> == Ut1 cp O, - u.-1 1
\ , I
~ Z b; ,~ re,: b,'c)IlJ : Oz - óoJ ~ Q3 - UYJ
I
~ 3 '!';h re ,; b;boJ
Os - he~ cp Q6 = Q1= Ul1 cJ> y cl>oJ 1
\ I
Oi == trel 1
\ I , I \ f ' I
4 b; 1> ttc.; b:~!.I : Qcr - c.vt.. ~fl) t> 01.0= ¡""el (/J Y I~ ,
QI/= 00) cp ~ ObJ 1
~
UI'!
• I
I M Po,RtANJ¡': Ac)t~l, ).,a.y ~ eJP..~o 1~'I;e..·,..e cl! repQJo, ece '1\0( yI..., Jc..e:~
I
TorAL:
QA QB Qc Qo QE QF QGQH I~ P2
7
. - - Q2 h. 19 ........_
'-
T:l~
I PEOO
.....
P3
~~
03
P4
12
04
JJ¡~ P5
PGTO
~
14
OS
~
\ --=-l·
16
P6
Q6
'O~ P7
-
1 ~ 18 07
CJ lo \l 1i t O Il 1fI , 11 J
~
Figura 3
4.2 Utilizando un contador binario 74HCl63 (infonnación en el anexo), una báscula Set-Reset, las
puertas inversoras necesarias, y paItiendo de la sefíal Il\1JCIO implemente el circuito que genere la
sefíal FIN sobre el esquema de la Figura 4. Dibuje todas las conexiones necesa11as para un
funcionamiento correcto. Se valorará el grado de simplifIcación. (10 puntos)
INICIO
el'"
74x163
2
CLK
. ,--,\
L/
S Q ENP
ENT
R QN 3 14
(} A CA
4 13
() B OB
5 12
o C OC VltJ
6 11
t:> o 00
15
RCO
Figura 4
Problema 5
t
2 if CLR_L='Q' then 19 <= I'(o';:
+ th':"::e:':":r~
s -=->-:-'o-::')"";/ __ ';> Sisnirlco.. ::¡'U"e. ponemos
~ ~ec.utct. en <
9-lcLY'C..() t s elsif LO_L='Q' then 10 <- O; ~ .l t::t:QO'2:. lo~ bit::, de m o.. CG\..O,
l¡ elsif (ENT and ENP)='1' thenlO <= 10 + 1; L. C.LRsínc~no o.c!::iVQ Q n'lve.1 ~
5 end'f If; . ~l:
pOne.. Lo... I
do- Q. ~
d to. b en d 1;
l\jodefBnde. \~€C. meV1~<-,--+\--,----t if (IQ=15) and (ENT='1') then Reo <= '1'; LD síncrono a.cDvo o-
de 014<: perod.e~ndede else RCO <='0'; (llve.L ¡, Q.O.v;p- DenLo.w..lich
I Q.. ~ I Q d~ CLk... end ir cuent o.. OJ::lCen ~ n te c.lo..oclo
Qca oca \.O o.. T"live,Lt S\.lle. r~ O <= 10; - -, co.ícn.. \Q en Lo. m..lIdct. EN' = ENP= ~
i ~ d.1l ,p '(\0..). ck <:\lc:nto.
O-\) t:: u - "
lió) I-\QIo, Li ta..c1o pe-< El-JT end process;
'- end V74xxx_arch;
Nota: El tipo UNSIGNED es equivalente al tipo STD_ LOGIC_VECTOR que permite la función adicional "+"
que es la función "suma de números naturales".
5.1 Sobre el bloque de la Figura 5, dibuje las entradas y salidas del componente y explique detalladamente su
funcionamiento.
Nota: Las entradas se dibujan a la izquierda y las salidas a la derecha del bloque.
estado. es U(\ (ot\~)c.{ (Á-SC e(~e.hl. vYlÓ~ u.\o U~((\J ev,l.o.. d-e. [¡ C\ lS)
Stlt
71
.4
----' '
, GIl(
D
, CLR-L
aa~• .
<So
t.l"
u
www.monteroespinosa.com - Clases de CEDG - Tfnos 91 54831 78 , 619 142 355
, i
\..l ('\ o
q '" --\~el'\
Rco <=--=
\ ,
1; '-(,\ \~ ~ ~= ~ -\he", I'Q,¿-:-&!\-'¡
MM54HC164/MM74HC164
8-Bit Serial-in/Parallel-out Shift Register
General Description
The MM54HC164/MM74HC164 utilizes advanced silicon-
gate CMOS technology. It has the high noise immunity and
low consumption of standard CMOS integrated circuits. It
al so offers speeds comparable to low power Schottky de- OUTPUTS
vices.
o This 8-Bit shift register has gated serial inputs and CLEAR.
Each register bit is a D-type master/si ave flip flop. Inputs A
& B permit complete control over the incoming data. A low
1 14 13 12 11 10 9 8
Truth Table
Inputs Outputs
•
•
Compare Two S-Bit Words
100-kQ Pullup Resistors Are on the
FUNCTION TABLE
MM54HC163/MM74HC163 Synchronous
Binary Counter with Synchronous Clear
These counters may be preset using the LOAD input. Pre-
settíng of all tour flip-f/ops is synchronous to the rising edge CLEAR ----,"
163 L-f'1, (SVNCHRONOUS)
of CLOCK. When LOAD is held low counting is disabled and LOAD U,.---------------
the data on the A, B. C, and D inputs is loaded into the r--------------
ENABLE T - - - t - - + '
H ~ l1igl1 level, L = low level
X ~" don·t care, t = low \0 high transi\ion
OA==
CLK CLR ENP
'HC1621HC163
ENT Load Function
OUTPUTS
{
= = -+-t--+---'
Oa _ _
OC _ _
i L X X X Clear 0o __
X H H L H Count & RC disabled
X H L H H Count disabled RIPPLE CARRY ---t---r-::;12----r.1:;"'37::14--7, 2
X H L L H Count & RC disabled OUTPUT - - - j O. . .~-INHlaIT-
3.1 Dibuje el diagrama de estados del contador utilizando una máquina de Moore con OCHO
estados, cada lillO de ellos CODIFICADO con su valor en binario. Indique CLARAMENTE las
entradas, las salidas, los estados y su codificación. (5 puntos)
Ejemplo: Número 3 = estado (Oll) = salida (Oll).
3.2 Complete la siguiente tabla de transiciones y excitaciones en base al diagrama de estados del
contador obtenido en el apartado 3.1 utilizando biestables tipo D. (5 puntos).
o VID Q2 Ql
O O
Ó"
O
QO Q2*
O
Ql* QO* D2 DI DO B2 Bl BO
O O 1
O O 1 O
O O 1 1
O 1 O O
O 1 O 1
O 1 1 O
O 1 1 1
1 O O O
1 O O 1
1 O 1 O
1 - O 1 1
1 1 O O
1 1 O 1
1 1 1 O
1 1 1 1
3.3 Obtenga las expresiones simplificadas por Kamaugh para las entradas de los tres biestables,
(D2 DI DO), Y para las salidas del contador, (B2 BI BO). (5 puntos) ...
3.4 Dibuje la implementación final del circuito necesario para obtener DO y DI con el mínimo
número de puelias XOR, AND y/o OR de dos entradas .. Disponemos de la seílal U/D y de su
complementmia. (5 puntos). Nota: Se valorará la claridad.
3.5 Asumiendo que la frecuencia del reloj que usamos es fija, modifique el diagrama de estados del
apmiado 3.1 para que el contador cuente a la mitad de velocidad. Suponga que la seílal UlD
permanece invariable. (5 puntos).
'~
Problema 4
( ,
4.1 Para la siguiente Máquina de Estados codificada en VHDL, obtenga el diagrama de estados indicando
CLARAMENTE los estados, entradas y salidas.
LIBRARY ¡eee;
USE ieee.stdJogic_1164.al!;
ENTITY Automata 1 IS
PORT (Clock, Resetn :IN STO_LOmC;
w :IN STO_Lomc;
z :OUT STD-,-LOGIC);
END Automata 1;
o BEGIN
o ENO rF;
ELSE
y<=B;
z<="W;
ENDCASE;
ENDIF;
END PROCESS;
END Behavior~
UBRARY ieee;
USE ieee.stdJogic_1164.all;
ENTITY Automata2 rs
PORT (Clock, Resetn :IN STD_LOGIC;
w :JN STD_LOGIC;
z :OUT STD_LOGrC);
END Automata;
PROCESS (y, w)
BEGIN
CASE Y IS
WI-lEN A =-,>
z<= 'O';
WHEN B~>
END CASE;
END PROCESS;
END Bchavior;
El sistema de apertura de una caja fuerte dispone de dos pulsadores: Pulsador BLANCO y pulsador
NEGRO, que definen sendas señales BLANCO y NEGRO activas a nivel alto. La caja fuerte se
abre mediante la generación de una señal de apertura OP, activa a nivel alto, que abre la puerta de
la caja. Dicha apertura se produce si y solo si se efectúa una secuencia correcta de los pulsadores,
que es: BLANCO-BLANCO-NEGRO; es decir pulsando BLANCO dos veces consecutivas y luego
NEGRO.
El sistema también genera una señal de alarma, AL (activa a nivel alto), que se activa al finaliZar la
introducción de una secuencia de tres pulsaciones, si esta secuencia no fuera la correcta.
(--)
\ /
)
FEBRERO 2006
library ieee;
use ieee.std_logic_1164.all;
use ieee.std logic arith.all;
use ieee.std=logic=unsigned.all;
entity XXXXX is
end XXXXX;
begin
5.1 Dibujar en el bloque de la Figura 6la interfaz del módulo hardware (puertos de entrada y
O salida), colocando las entradas a fa izquierda y las salidas a la derecha. (1 punto)
ce
AA~
Bl5 DH
Figura 6
i~.'
5.3 ¿Cuál debiera ser el valor de 'N' en el tamaño de la señal result? (Justificar la respuesta). (2
puntos)
W debe. Vea.eer 6, C0r"10 V-(!t"7OJ e.. eJ~o, J.~ á.et...mrj ;
ce
.. A~~), reJ ..fI "j ~I·.,),. el re.J...e fc.Oo k fe. Sul"7c\. ek d.t ni>('1fI\)J e(! b b¡ Ij I lo",c.1-e ~
Después de la fase de síntesis, la implementación con puelias lógicas de otro módulo hardware es el
representado en la Figura 7.
no.~ 'l'l. ""r Ce;, ef
AA
--~------------~----~ A
~ ce i _)
BB $ALiM
.s
:z
o
.
o
O
Figura 7
entity XXXXX is
end XXXXX¡
1 component NAND2
l port( A, B : in std_logic¡ Z: 'out std_logic)¡
o 3 end component i
component INV
~
f port( A : in std_logic¡ Z out std_logic)¡
6 end component¡
t component OR2
S port( A, B in std_logic¡ Z out std_logic)¡
q end component¡
10 component AND3
1\ port( A, B, e in std_logici Z out std_logic) ¡
IL end component¡
declaración de señales
11 r' "0':' ";ij:;:!l'i~"""""" ............... :
~i~~~f
~-----------------._-------------------------------~
l'i L.:!~~~~ .. !-..:. !.1~:: f~\~, __ ", __ "" __ ., ____ , ____ ,. j
1~ L,!~~~~.. X.: ..~!~"e~!l~~ __ .,. __ ., __ ,. __ ...... ____ .. j
/! begin
It 'üi";' 'ÑAND2-- p;';;t"
____________________________________
• • __ o
-- ffi"ap:-- '(Á::;--, AA' --';' :'B~>--i3'i ----~ --;'2;:':;-- --q.--. --, --);':"""""""""
~ ____________________ ~ __________________ l ______________________ ~ ~"" _
________ ______________
5.5 Indicar qué modificaciones deberían realizarse en el código anterior para obtener la versión
negada de la salida en lugar de la versión implementada. (3 puntos)
r?;:/
f2l A.;",o; ....... , ..ul HOT ( •• J,.~ '1'( "'... ..,1.;.., L pe"ti s'
ee Gb,.,,cttt",rt, f
• ,.
o."'..o.r
"M-, lJ5
i[ )"Jf.lo;r eL ANB por NANj)J :
ec,,(Clo.. o.. Ut; ...,td:a.,,~ ....... 1'<.( ... .lI!';,,( o,,,,.¡e.. r
'0 cC"'p.t1I!~¡ NAND3 ~-)-II-y-ll-i-j
....-e-,s;-,,¡., .... 15L;J ,i:}"J T: sl.Ll?..,it ' /
2.e \.I L
\, AND3 ,Pc<~""'r iA.=?Q( 13~)5, e =:1513, e =) T)
2o~iJ LJS: ;f,J\! r... f "'Ar \A =) T, t =~ ce)
PROBLEMA 1
La lectura de la temperatura de una cámara frigorífica, en grados centígrados, se obtiene con cuatro bits
(T3, T2, TI, TO) codificada en complemento a 2, siendo TO el bit menos significativo. Se necesitan dos
salidas (LR y LV) que activen un led rojo (LR) y un led verde (LV) respectivamente (ambos activos a
nivel alto). Para ello, se quiere implementar un circuito que active elled verde cuando la temperatura
de la cámara esté entre -3 y +4 oC, ambas incluidas, y elled rojo en el resto de los casos.
T3 T2 TI TO LR LV
O O O O
O O O 1
O O 1 O
O O 1 1
O 1 O O
O 1 O 1
o O
O
1
1
1
O
1
1
O
O
1
O
1 O O 1
1 O 1 O
1 O 1 1
1 1 O O
1 1 O 1
1 1 1 O
1 1 1 1
1.2 Obtenga la función lógica simplificada para la salida LV. Para dIo utilice un mapa de Karnaugh. (5
puntos)
1.3 Implemente la salida LV utilizando el mínimo número necesario de multiplexores de cuatro y de
dos entradas de datos. (JO puntos)
C)
PROBLEMA 1
-
La lectura de la temperatura de una cáman~ frigorífica, en grados centígrados, se obtiene con cuatro bits
(T3, T2, TI, TO) codificada en complemento a 2, siendo TO el bit menos significativo. Se necesitan dos
salidas (LR y LV) que activen un led rojo (LR) y un led verde (LV) respectivamente (ambos activos a
nivel alto). Para ello, se quiere implementar un circuito que active elled verde cuando la temperatura
de la cámara eS,té entre -3 y +4 oC, ambas incluidas, y elled rojo en el resto de los casos.
o 6
1
-I?
O
O
1
1
1
O
1
1
O
O
1
O
i
.1
1- o
o
o
u\
-1 1 O O 1 1 o
-6 1 O 1 O 1 o
-5 1 O 1 1 .1 o
-"1 1 1 O O i o
-3 1 1 O 1 o 1
-2 1 1 1 O o 1
-{ 1 1 1 1 o 1
1.2 Obtenga la función lógica simplificada para la salida LV. Para dIo utilice un mapa de Karnaugh. (5
puntos) ,
1.3 Implemente la salida LV utilizando el mínimo número necesario de multiplexores de cuatro y de
dos entradas de datos. (la puntos)
00 fr --)) O O
O/ 1 o '1~ o
" i o Vi o
. ,
10 1) o ~ o
.:.. t
A~ ~, ltA.u .....c1 ~ue Q.p~re i'c....VI e\ ~... l Ve.. r:c.. l,e'J e" C4. d c.. f¿r""'~ 1'10 c\e el;. f o.J1'Ic¡t.'"
LV -
-
r3 -
íz t
n Ti To (iZ t Ti) t t3 rz. ro t T3TZT,1 -
--
T3 r2
r1 To + T'3T2 Tb + T3
+ í3 rz f:1 To + T3 TZ TZ T 1. -
- - - + t3 rz l To + ti) -
-t'3TZT1TO
1-
í (iy~) - -
T~
~ 2
n
.:::;:.
- r> fZ ,
. .-
!1u)C '1 k l :
o / TZ
T3
I
Mv.x l
~ " " . .' .
f?¿I TiTO -
. 'T1. To • J. + Ti fo . o ., Ti ro .o t ti ro . o
= roí Ti+T1)
, '.,'
I~ To t T1
f r1 (ro t ro) ='
,1 .'
ri To + Ti To t TiTo t T.;1 lo ,-
.... .;., .
==
Ti T o· O.¡. r -:1 Te . j + Ti ro· í -1- Ti ro· i
, ....
.. ,
.. '... ., "
i
o
n·To -
y ..... . . - - - - n
C>
o
el C';
Io
Ir Ti To
_ _.......... I,
.Il y LV
~ _ _ _ _I r)
el c.
o r ..
Ir
i I, y ....._.----J
, ' 1 ' ;.I1, NOTA e<t~ guY1c;o",e¡ Ti· To y To + Ti se poó,'... ",
Io :r',
Ti ·~I t· Ti ·0
.. To t1 - ro (Ti" Ti) ~ ji = ti· TCd· ti.ro + T1. -
~ -t-
"
..
'
;1
[ri ~cpl
: ..
,.
l1C6
I
M,}c..r\
~d",,'," ~c.. ...e.,l(, Si
Vj .... ¡
I"7l,;e
_ ~
Ji ,.().)cc)-,~..>\ I '
Le.,
P •
,)""'C1d''''l )
Ti·ro ehl,e1'10j '·""'I~C~,,~e.
tot\to e.., t.. 'oe. ti> f:G;o.e :
SEPTIEMBRE 2006
PROBLEMA 3
El circuito de la figura 2 funciona con una señal de reloj CLK con periodo T = 30 ns y ciclo de trabajo
variable.
tp t setup
D Q n-_~D Q Biestable FFl 7ns 1 ns
A
FF1 FF2
Q Q Biestable FF2 8 ns 2 ns
PuertaAND 3 ns
PuertaNAND 2ns
Parámetros de temporización de los
CLK------L------------~ componentes del circuito
Figura 2
3.1 Si definimos como TI y TO los tiempos durante los cuales las señal del reloj CLK toma los valores
lógicos de 1 y O respectivamente, dentro de un periodo T, determinar justificadamente, sobre el dibujo
o de este apartado, los mínimos valores que pueden adquirir TI y TO para un correcto funcionamiento del
circuito. Obtenga también la máxima frecuencia del reloj CLK que garantiza el correcto
funcionamiento del circuito para los casos: (a) ciclo de trabajo del reloj del 50 %; (b) ciclo de trabajo
del reloj diferente del 50%. (10 puntos)
.. T
--
TI TO
1- -1- --1
.J I I
3.2 Con los valores obtenidos en el primer apartado, determine el rango del ciclo de trabajo de la señal
de reloj CLK que garantiza un correcto funcionamiento del circuito. Si no ha realizado el primer
apartado considere los valores de Tlmin= 14 ns y TOmin= 12 ns. (5 puntos)
3.3 Determine justificadamente, sobre un cronograma, el máximo tiempo de hold que pueden tener los
biestables FFl y FF2 del circuito de la Figura 2 para garantizar un correcto funcionamiento. Considere
para este apartado un ciclo de trabajo para la señal de reloj CLK del 50 %. (5 puntos)
r-'\
. J Disponemos de un sistema con:
• Dos pulsadores que controlan las seilales de entrada BLANCO y ~'EGRO, activándolas a nivel
alto al ser pulsados.
• Una señal de salida, OUT.
• Una señal de reloj, CK, con un periodo de 10 ns.
• Al activar la señal BLANCO, el sistema emite por su salida OUT una señal de frecuencia 50 MHz.
• Al activar la señal NEGRO, el sistema emite por su salida OUT una señal de frecuencia 33,3 MHz
• . Si no se pulsa ningún pulsador, el sistema emite por su salida OUT una señal constante e igual a
cero.
Nota. No se considera la activación simultánea de las dos entradas: NO se puede pulsar BLANCO y
NEGRO a la vez.
o 4.1 DiseJ.lar el diagrama de estados de dicha máquina, indicando claramente qué representa cada estado.
(10 puntos)
4.2 Complete la Tabla 2 de transiciones y excitaciones en base al diagrama de estados de la Figura 3,
utilizando biestables tipo D (para la variable de estado QO) y tipo J-K (para la variable de estado Q1).
(10 puntos)
00/ O
01/ O
Codificación de estados:
(Ql,QO)
qo = (0,0)
. ql = (0,1)
00/0 'l2 = (1,1)
'b = (1,0)
,
• 0-
·0 . ,~
o 1 1 1 •I O v.. o o I
1 o o o \ O 1< <:)
,
(") \ )
1 o o 1 0 l ~ x '\ O
1 o 1 o té) )t. O (;) O
1 o 1 1 \ E) x 1) '"O rc>--
1 1 o o 'X x X. ><. '>< )(
1 1 o 1 X X' X Y x ~
1 1 1 o X X x X ~ X Tabla 2
1 1 1 1 X x x )( X )r'
C). 0\
\~. . ~
lo
®tXo
01 .
EB~@
t,Cd
ltl ( JO I I i!f
@ lO
C)
FEBRERO 2007
PROBLEMA 2
(~. Se quiere construir un circuito que proporcione los bits (S7 ... SO) de la función aritmética S =2·n+ 14,
siendo n un número de 4 bits expresado en complemento a 1 [N3 N2 NI NO]. El resultado debe
expresarse mediante dos dígitos en código BCD (cada uno de ellos de 4 bits).
2.1 Ignore la columna F y complete la tabla de verdad siguiente correspondiente a dicho circuito (5
puntos) Cü.., K' t3C...~
~
n s '"""
Dígito BCD Dígito BCD
N3 N2 NI NO más menos F
o O O O O ~
si ,.ificativo
6 (2;> \ O
,
si ,.ificativo
<b Ó 1
,
\ O O O 1 O O O I( (9 ( { O 1 \
Z. O O 1 O O O Ó ( \ (5 O b O \
3 O O 1 1 (!) O l o (é) C) o O O
Ll O 1 O O O 'O \. C5 O O l <:::::> 1 "2
? O 1 O 1 b C> l 6 O l O O 1 2
6 O 1 1 O (:;J O l U él \. t O O
7 O 1 1 1 O O l O t. o O ~ O Z
O --:¡
-{,
1
1
O
O
O
O
O O O O O
1 O b O O
tD O O
O O { a
O 1
1
-S 1
-~ 1
-"3 1
-2- 1
-'
1
O
O
1
1
1
1
1
O
O
1
O ó o o o
1 6 o (':) "C
O o O Ó a
1 <9 o 6
O C0 o o
1
(
.
o
o
o
o O
~
6
l 'O
{ (
<O o
o o
{
o
o
Ó
X
X
O
O
O 1
o 1 1 1 1 o C> Ó I 6 r ([) O O \
2.2 Simplifique la señal F mediante Karnaugh en función de las variables NO, NI, N2 Y N3 de tal modo
que pueda realizarse con el menor número de puertas lógicas. Implemente dicha función utilizando
solamente una puerta AND y otra OR de dos entradas cada una. Nota: Se dispone tanto de las variables
como de sus negadas. (5 puntos) .
2.3 Implemente la salida F utilizando el mínimo número necesario de multiplexores de cuatro entradas
de datos. Nota: En este caso NO se dispone de las variables negadas. (5 puntos)
2.4 Se quiere ahora construir un circuito que implemente la función S = 2·n + 14 del apartado 2.1
·0 utilizando sumadores. Para ello se dispone de dos cadenas de sumadores (Figura 4). En este caso
queremos que la salida S esté codificada en binario (S4 S3 S2 SI SO) en lugar de en BCD. Tenga en
cuenta lo siguiente:
• En segundo lugar tenga en cuenta que multiplicar por 2 un número binario implica añadir un "O"
a la derecha del bit menos significativo.
• Por último utilice la segunda cadena de sumadores para implementar 2·n + 14. (JO puntos)
. l'b. S \ ~~ =-0
l I
/ kV10P
(J..Vv1O..<""'
~ Su...Wla.("
1
e I
\l3 ~Z ~\ !-lo
\'0-\0- ~~
e..-~eYYl0-0 ~ ~ Ocu.'re
<5\ V\e.cesí \o..m6s
CoV!.
e\ 4\\UV¡O
A
--
~
(..«0 :
o o o t..)3_
O-Co.rreo
\ \ ,
e..sLd~05 1 {D\'
I
-t 1
\~\aóo
\,,\v-o-,i..O,1
Qb~\~~
PROBLEMA 3
El circuito de la figura 5 funciona con una señal de reloj CLK con ciclo de trabajo del 50 %.
tD t SetuD
o Biestable D 7 ns 1 ns
A---I' J---.-------I J Q
Biestable J-K 8 ns 2ns
K Q PuertaAND 3 ns
PuertaNAND 2ns
B _ _ _ _-+-_ _---J PuertaXOR 3 ns
Parámetros de temponzaclón de los
CLK-------~------------------~ componentes del circuito
Figura 5
3.1 Utilizando los valores de la tabla obtenga justificadamente, dibujando un cronograma, la máxima
o frecuencia del reloj (fCLKmax) del circuito de la Figura 5 que asegure un correcto funcionamiento del
mismo. (7 puntos)
3.2 Determinar justificadamente, sobre un cronograma, el máximo tiempo de hold (tholdmax) que
pueden tener cada uno de los biestables (el tipo D y el tipo J-K) para que el circuito de la Figura 5
funcione correctamente. (8 puntos)
t = OS
8G
t=1S
8 G
t=2s
88
t=3S
8G
O t=4S
8 G
t=5S 80Figura 6
El circuito tiene cuatro entradas de control A, B C y D, todas activa a nivel alto y una única señal de
rel(~.i CLK. El sistema tiene varios modos de funcionamiento, explicados a continuación:
Notas:
• NUNCA se dará el caso de que haya más de una señal de control activada a la vez.
• Siempre que esté activada una señal de control, y pase a activarse otra diferente, todas las
bombillas se apagarán durante un ciclo de reloj y después pasan al modo que les corresponda,
según la entrada de control que se haya activado.
4.1 Dibujar el diagrama de transiciones de estados de una máquina de Moore que realice el circuito
descrito. Explique detalladamente el significado de cada una de las entradas, de cada uno de los estados
y de cada una de las salidas. Indique en el diagrama los valores lógicos de las entradas, de la salidas y
de los estados. Diga también qué período tendrá el reloj CLK que utilice. (15 puntos)
4.2 Supongamos que tenemos ahora los siguientes componentes: 1 contador módulo 4, 3 contadores
módulo 3, 3 descodiíicadores de 2 a 4 (Tabla de verdad en el Anexo del examen), un codificador de 4 a
2 (Tabla de verdad en el Anexo del examen), y un multiplexor de 4 entradas de datos de 4 bits cada una.
Dibuje las conexiones necesarias en la figura para realizar el circuito del apatiado anterior. Se dispone
de una señal de reloj CLK de periodo 0.25 segundos. (15 puntos)
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355
()
~
<¡~
OO\C
() 0 1
COlO
~ ~ltl ~Zl
C{
lr~ve-n c.t. ~
et <h ~.JrcJ~
)
~SOc'l~ X xkO
0001
---~
'.s
/~
, I
Contador x 4
Contador x 3
Contador x 3
Contador x 3
(~)
13 12 11 10
10
ca
'O 11
N
..1-
o
'-
YO Multiplexor 4 entradas d~ datos
"O
ti!
C1
..,o y
12 '5
o Y1
u
13
888
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355
Tabla de verdad del Descodificador 2 a 4
2-to-4
(', decoder
10 YO
11 Y1
Y2
EN Y3
Inputs Outputs
EN 11 10 Y3 Y2 Y1 YO
o x x o o o o
o o o o o I
o I o o o
1 o o I o o
o o o
O
Tabla de verdad del Codificador 4 a 2
Entradas Salidas 10
13 12 11 10 Y1 YO N
.... YO
11 5
O O O O O O -c
ro
O O O 1 O O 12 -="
'O
O O 1 O O 1 o Y1
u
O 1 O O 1 O 13
1 O O O 1 1
,~~.------------~------------------~---------------------------------------
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355
SEPTIEMBRE 2007
PROBLEMA3 .
(~
Considere el siguiente circuito y los datos que se indican debajo:
o Q
FF2
ENABLE - - - - 1 - - - - - - - - 1
CLOCK
tn tsetup
Biestable tipo-D 2ns 1 ns
Puerta AND 2 entradas 1 ns
Puerta AND 3 entradas 1,5 ns
o 3.1 Utilizando los valores de la tabla obtenga justificadamente, dibujando un cronograma, la máxima
frecuencia del reloj (fCLKmax) del circuito de la figura que asegure un correcto funcionamiento del
mismo. (5 puntos)
3.2 Determinar justificadamente, sobre un cronograma, el máximo tiempo de hold (tholdmax) que puede
tener el biestable FFl para que el circuito de la figura funcione correctamente. (5 puntos)
3.3 Determinar justificadamente, sobre un cronograma, el máximo tiempo de hold (tholdmax) que puede
tener el biestable FF2 para que el circuito de la figura funcione correctamente. (5 puntos)
Se desea proteger los datos enviados por una línea serie ruidosa, LS, mediante la inserción de un
código de seguridad de 2 bits al tInal de cada palabra de 4 bits de datos enviados. Este código de
seguridad se compondrá atendiendo a las siguientes reglas:
• Los 2 bits del código de seguridad, SI SO, codificarán el número de '1' que aparecen en la
palabra de 4 bits de datos enviada.
• La palabra de datos nunca será elllll.
• El sistema dispone también de una señal de habilitación, EN, que es síncrona con el reloj y que
se activa a nivel alto cuando está listo el primer bit de la palabra de datos a enviar por la línea
serie LS, indicando el inicio del proceso de generación del código de seguridad. En estado de
reposo, la señal EN está a cero.
• El código de seguridad (SI SO) sólo es válido una vez que se han recibido los 4 bits completos.
Los bits SI SO tendrán una duración equivalente al peliodo de reloj y son síncronos con él.
• Al terminar de recibirse los cuatro bits, se debe generar una señal activa a nivel alto llamada
"Código de seguridad válido", CSV, que tendrá la duración de un ciclo de reloj.
• Una vez que se ha generado el código de seguridad y la señal CSV, se vuelve a atender a la
o señal de entrada EN por 10 que si EN está activada, se vuelve a procesar una nueva palabra de 4
bits y en caso contrario el sistema vuelve al estado de reposo.
Disponemos del siguiente diagrama de estados de un autómata. Se desea implementar el mismo con los
biestables JK que sean necesarios.
Leyenda
Ea E1 E2 / S1 S2
on, 10
101' 10
110/10
111/00
5.1 Represente la tabla de verdad de las entradas, estado actual, estado siguiente, excitaciones de los
o biestables y salidas. Codifique las entradas como E o, El, E 2 , Y las salidas como Sl y S2. (5 puntos)
5.2 Simplifique por Kamaugh e implemente con la menor cantidad de puedas posibles (de cualquier
tipo) el circuito de excitación de la entrada J del primer biestable y el circuito de generación de la
salida S2 . (5 puntos)
PROBLEMA 1
1.1 Sea un número binario de 6 bits sin signo, AS A4 A3 Á2 Al AO, siendo AO el bit menos
significativo. Implementar un conversor de este número a formato BCD. Para ello se dispone de
bloques sumadores de 2 dígitos BCD, con acarreo de entrada y acarreo de salida tal como se
presenta en el anexo 1, y el mínimo número de puertas lógicas adicionales que necesite. (15 puntos)
Bloque sumador de dos dígitos BCD con
acarreos de entrada y de salida.
Bit de acarreo
de entrada
Dígito en
BCD
Dígito Suma
en BCD
Dígito en
BCD
o Bit de acarreo
de salida
Codificación de estados:
Q1 QO
qo= O O
q¡ = O 1
q2 = 1 1
<h = 1 O
AB/C
Figura 3
A,B = entradas; e= salida·, (Ql QO) = estado actual; (Ql * QO*) = nuevo estado
A B Ql QO
O O O O
O O O 1
O O 1 O
O O 1 1
O 1 O O
O 1 O 1
CJ O
O
1 1
1 1
O
1
1 O O O
1 O O 1
1 O 1 O
1 O 1 1
1 1 O O
1 1 O 1
1 1 1 O
1 1 1 1
Tabla 1
~
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 544 53 77 , 619 142 355
3.2 Detemúne las nmciones lógicas que excitan las entradas de los biestables tipo D del autómata
descrito por el diagrama de estados de la Figura 3. (4 punto.~)
3.3 Detennine la nmción lógica que genera la salida e del autómata descrito por el diagrama de
estados de la Figura 3, e implemente dicha nmción utilizando únicamente un multiplexor de 4
entradas de datos. Sólo se dispone de las entradas, y no de sus señales complementadas. (4 puntos)
01 OO.
qo= O O
ql = O 1
~= 1 1
'h = 1 O
AB/C
o
Figura 3
A ,B = entradas', e = salida; (Ql QO) = estado actual; (Ql * QO*) = nuevo estado
e.d"J ¡-- ~.1 vo..r:c..htr.j (/ J Q:1 (-1 ti) = 1)1 J !Qtf¡ (fH) ::: Do 1
A B Ql QO Q1 u1 QcI>.f:+I ,!)1 bcl> c:::: ~//, I//.
O O O O o o O O o 1/,// //¡ yE~t"'J oO)
O O O 1 o o O O o /// //L coe.......",c.J
O O 1 O o o O O o ' // ///
O O 1 1 >< x ~ X )C /// / / / hQ.C{ f""e
O 1 O O o <:> 6 O o / // / /
O
O
O
1
1 O
1 1
1 1 .
1
O
1
O O .• O
X
1
1
<:>
X
o
i
<:::>
X
1
So
O
X
O
(1
t.
X
6
o
o
/// / /
// / / /
/ / /~
~// C;
;?
:1 O O .; 1 o i O t .C> // //
1 O 1 O 1 o 1 O i // /
1 O 1 1 ! o 1 O 1 // /,
1 1 O O :>< X X ..x x // /~
1 1 O 1 !1. i 1 t o / 'l/
, L. 1 1 O :1 o 1 O O 1/// /~
r ' 1 1 1 1 i 1 ~ O / / '/0
~------------~,,~--~~,
e>cC¡ fG..c:o'l eJ
Tabla 1
00 O O fx O
01
1(
10 O
O
>< (1
~
X
(i
jJ
1
i,
o
A6
GI~o
Ob
00
C>
C>,
(!;)
11
f)<-
lo
1~
C)
01 o X lü 1...}
I I X o 1} c>
'o o O
-
C> o
3.3 Determine la función lógica que genei'a la salida e del autómata descrito por el diagrama de .
estados de la Figura 3, e implemente dicha función utilizando únicamente un multiplexor de 4
entradas de datos. Sólo se dispone de las entradas, y no de sus señales complementadas. (4 puntos)
-
S.s.~o I, t S,So I z t S,I ______./3
Señal A
(semáforo
o SeñalB
(semáforo
verde si A'="1", O verde si 8="1 ",
rojo si 8="0")
rojo si A="O")
o
Sensor 1
(51) Sensor 2
(52)
Figura 4
En condición nOl1nal, de poco tráfico, los semáforos están en verde durante 1 minuto cada uno,
alternándose. Este modo de funcionamiento cambia si en Ulla de. las dos salidas se acumulan coches
mientras esté dicho semáforo en rojo. En el momento que la cola de coches parados llegue hasta la
posición donde se encuentra el sensor de presencia/estacionamiento, el semáforo de dicha salida se
pondrá en verde en el próximo nanco de subida de la señal de reloj (CLK).
• Cualquiera de los dos semáforos estará verde durante un tiempo mínimo de 30 segundos y
un tiempo máximo de 1 minuto.
• Los dos semáforos nunca podrán estar en verde o en rojo simultáneamente.
4.1 Dibuje el diagrama de estados de dicho sistema de control utilizando una máquina tipo Moore.
Indique CLARAMENTE los estados, las entradas y las salidas. (20 puntos)
PROBLEMA 5
D Q
A tD ÍsetuD
01 Q
Biestable DI I ns I ns
Biestable D2 2ns 1.5 ns
Biestable D3 2ns 0.5 ns
D Q J Q
B Biestable J-K 2 ns I ns
02 Q K Q
PuertaAND 1.5 ns
Puerta OR I ns
PuertaXOR 1.5 ns
C --+------ID Q t - - -.....
03 Q
o CLK
Figura 5
CLK
5.2. Determinar justificadamente, sobre un cronograma, el máximo tiempo de hold (tholdmax) que
puede tener el biestable DI y el J-K para que el circuito de la figura 5 funcione correctamente (5
puntos)
o
~..
En binario natural (base 2) el complemento a 1 se genera simplemente invirtiendo todos los bits. Lo
equivalente en el sistema decimal (base 10) es el complemento a 9 y se genera obteniendo la
diferencia a 9 de cada cifra decimal. ASÍ, el complemento a 9 del número 248 será 751. En este
problema se trata de diseñar un circuito comp1ementador a 9 de un número expresado en código
BCD (A3 A2 Al AO, siendo AO el bit menos significativo).
2.1 Escriba la tabla de verdad de las funciones C3, C2, CI y CO (bits que representan el
complemento a 9 de A3 A2 Al AO, ambos expresados en código BCD). (3 puntos)
A3 A2 Al AO C3 C2 CI CO
O O O O
O O O 1
n O
O
O
O
1
1
O
1
O 1 O O
O 1 O 1
O 1 1 O
O 1 1 1
1 O O O
1 O O 1
1 O 1 O
1 O 1 1
1 1 O O
1 1 O 1
~
1 1 1 O
1 1 1 1
2.2 Determine las funciones lógicas simplificadas de las cuatro funciones C3-CO. Para ello haga
uso de ias herramientas necesarias (mapas de Kamaugh, etc.). Justifique c1aramente sus respuestas.
(5 puntos).
2.3 Implemente dichas funciones, C3-CO, utilizando únicamente puelias NAND de 2 y 3 entradas.
(5 lnintos).
2.4 Implemente las funciones C3-CO utilizando multiplexores de 4 entradas de datos y los
Íl1versores necesarios. (5 pZlntos).
SEPTIEMBRE 2008
En binario natural (base 2) el complemento a 1 se genera simplemente invirtiendo todos los bits. Lo
equivalente en el sistema decimal (base 10) es el complemento a 9 y se genera obteniendo la
diferencia a 9 de cada cifra decimal. Así, el complemento a 9 del número 248 será 751. En este
problema se trata de diseñar un circuito complementador a 9 de un número expresado en código
BCD (A3 A2 Al AO, siendo AO el bit menos significativo).
2.1 Escriba la tabla de verdad de las funciones C3, C2, Cl y CO (bits que representan el
complemento a 9 de A3 A2 Al AO, ambos expresados en código BCD). (3 puntos)
•
A3 A2 Al AO C3 C2 Cl CO·
O O O O 1 o o i 9. -o '= ~
o
,"1
O 1 O O C> , o , 5
O 1 O 1 O I o o '-(
O 1 1 O o o 1 I "3
O 1. 1 1 D o I o t.
1 O O O b o o 1
1 O O 1 o t:> e e o·
~o~~ /ft/ l/v v/Ú/ >< ~ .x X
1i V~> /~ ~/ V~ X X >< X
e~h~ yI",
I)G.l)
jZ VV V» /ú/VA X X )C )(
fU"" """ X r ....<t'"' )U>
~}
1:5 )//VV VV/ /}// X )< )( )<
()c
L -
¡"",\"el, t..l
~C.· r,
~ vy /// V)1/ . x..
O)
~'1 .x. X X >1>'\ C ... l
15 /r -"¡/
~~ //v :X >< )f X
F
_.. ; 1"'1 ]'& l'1e~ 1-'
} . -é.l j .....,,·.o'lCJ
.. - e.l tf~ I )Q;e"'l.
'o ,,,..~or\-.....
r'\~ "''') I J
/0 2.2 Determine las funciones lógicas simplificadas de las cuatro funciones C3-CO. Para ello haga
uso de las herramientas necesarias (mapas de Kamaugh, etc.). Justifique claram¡;;,nte sus respuestas.
(5 puntos).
2.3 Implemente dichas funciones, C3-CO, utilizando únicamente pueltas NAND de 2 y 3 entradas.
(5 puntos).
2.4 Implemente las funciones C3-CO utilizando multiplexores de 4 entradas de datos y los
inversores necesarios. (5 puntos).
/U] D b.serv"o'\~" e.. t.. )f... , di re, ~o.. v-te .... f.c :
le" Á11 Ie
-== j
:
.t\i I
~ o,
el.
",
AIA4 00 -. 11 lo
00 o x e>
.)<
()/ /.} t:> o
o o
"
(o C> (J "
)<
X
)<.
A\-----C1
Al Al ··Al
~ Ic>
o r ..
o r, Ai x,
o Xl
o Ir
Ji ( \
1,,4 = A~
j
t
C:o../I .. l-r c.. e. o A; o Ai
S<>1;~ ,pero. P.,..~ .... I 1> p"" "" óc.j,.d!., d. cc.;rt
T,
í Io
()
ro A3 Io
'1 I. I.
~ .r1 r,
y
C> -
r~ Gl I)
'1
( /
I
Cc4
Az Al
A~ A.i
FEBRERO 2009
La apertura y cierre de una puerta deslizante vertical de un almacén (Figura 4) se controla mediante
2 conmutadores: uno situado en el interior del almacén (y que determina el valor de la señal lógica
A) y el otro en el exterior (y que detennina el valor de la señal lógica B). Se considera que
inicialmente (en reposo) la puerta está cerrada y ambos conmutadores en la posición O (ie. A=O,
B=O). La inversión de uno de los conmutadores provoca la apertura de la puerta y otra inversión de
cualquiera de ellos el cierre. Además se requiere un sistema de seguridad, de manera que la puerta
no se cierre cuando exista un objeto debajo de ella. La presencia de objetos se detecta mediante una
célula fotoeléctrica que genera una señal e, de manera que cuando NO hay ningún objeto entre la
puerta y el suelo dicha señal vale O, valiendo 1 cuando existe algún objeto ..
A e 8
C) o 1 1
Figura 4
A B e M z
o o o o
o o 1 1
o 1 o 1
o 1 1 o
1 o o 1
1 o 1 1
1 1 o 1
1 1 1 1
2.2 Utilice un mapa de Kamaugh para obtener la función lógica simplificada de M. En caso de no
haber respondido el primer apartado, simplifique la función Z. (5 puntos)
2.3 Implemente la función M utilizando exclusivamente puertas NAND de dos entradas. En caso de
no haber respondido el primer apartado, implemente la función Z. (5 puntos)
C)
í'
2.4 -Implemente la función M utilizando un multiplexor de 4 entradas de datos. En caso de no haber
respondido el primer apartado, implemente la función Z. Justifique su respuesta. (5 puntos)
10
11
Y
12
13
S1 SO
II
.~~------------------------------------------------------------
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355
FEBRERO 2009
(
\
\ PROBLEMA 2 (20 PUNTOS)
La apertura y cierre de una puerta deslizante vertical de un ahnacén (Figura 4) se controla mediante
2 conmutadores: uno situado en el interior del ahnacén (y que determina el valor de la señal lógica
A) y el otro en el exterior (y que determina el valor de la señal lógica B). Se considera que
iniciahnente (en reposo) la puerta está cerrada y ambos conmutadores en la posición O (ie. A=O,
B=O). La inversión de uno de los conmutadores provoca la apertura de la puerta y otra inversión de
cualquiera de ellos el cierre. Además se requiere un sistema de seguridad, de manera que la puerta
no se cierre cuando exista un objeto debajo de ella. La presencia de objetos se detecta mediante una
célula fotoeléctrica que genera una señal e, de manera que cuando NO hay ningún objeto entre la
puerta y el suelo dicha señal vale O, valiendo 1 cuando existe algún objeto ..
M
Circuito
Lógica
Combinacional
A e 8
. ,
" ,
o 1 1
Figura 4
H-=
A
A
-
13
e e -
!3
A·8
A8 .A·~
)'
IIil
-
,
~-
e z ~ C"''''v'I~Q_ i
(C"'" -obje.lo) e .. f.. )
A B M C.=1 '> 1'1 -:.
cée-e~, I'..er~.. ",b~",- •
o o o o o
o o 1 1 1 iJ Co"" Tol.. O<.Jc.c hV40i:> I }' >1 ... d .. e., el.. ca:.. e~ I M =D ~
o 1 o j 1
o 1 1 1 o ~ 5¡ ...v?o c.... .... e p..f J... do r 'y ee O~fb "o I a.. 1rt / fiei
1 o o 1 1 ¡g ,- clerft..., H ::.o~
o l. l. l' " l'
" " Ü,
1 1 1 1
1 1 o o 1
1 1 1 1 1
2.2 Utilice un mapa de Karnaugh para obtener la función lógica simplificada de M. En caso de no
haber respondido el primer apartado, simplifique la función Z. (5 puntos)
2.3 Implemente la función M utilizando exclusivamente puertas NAND de dos entradas. En caso de
10
, ,
11
1 Y
, S' 12
13
S1 SO
() II
FF1
J Q Q1 t nron tsetun
A
ell<
Biestables lns 2ns
CK
B
FFl yFF2
K Q
XOR 3ns
NAND 2ns
Tabla 1
C --+---------1 J Q 1 - - -........- - Q2
L-..-------O>Clk
D -----------1 K Q
FF2
Figura 5
(~)
o sensor de
presión
exterior
(espacio)
A2
cámara
compensación
interior
nave
espacial 1
impulsor /
de aire
Figura 6
L
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619 142355
5. Cuando la presión dentro de la cámara de compensación se iguala a 0, se abrirá la puerta A2
y se mantendrá abierta durante 5 segundos, cerrándose a continuación. Durante esos 5
segundos, se supone que el astronauta sale de la cámara de compensación hacia el espacio
exterior.
6. Primero deberá pulsar el botón B, que se encuentra fuera de la nave. La pulsación de B será
de duración suficiente para que sea registrada correctamente en el siguiente flanco de reloj.
En ese instante el extractor de aire empieza a actuar hasta que la presión en la cámara de
compensación sea o.
7. Cuando la presión en la cámara de compensación sea 0, se abrirá la puerta A2 y se
mantendrá abierta durante 5 segundos, cerrándose a continuación. Durante esos 5 segundos,
se supone que el astronauta puede entrar en la cámara de compensación.
8. A continuación, el astronauta deberá pulsar el botón A repitiéndose lo apuntado en los
puntos 2 y 3. En caso de que pulsase B, se pasaría de nuevo a la situación del punto 6.
9. Cuando la presión en la cámara de compensación sea P, se abrirá la puerta Al y se
mantendrá abierta durante 5 segundos, cerrándose a continuación. Durante esos 5 segundos,
se supone que el astronauta puede volver a entrar en la nave.
Para implementar este sistema se dispone de una señal de reloj de 5 segundos de periodo.
4.1 Indique CLARAMENTE cuáles son las entradas y las salidas de ·la máquina de Moore que
controla el funcionamiento de este sistema. (2 puntos)
4.2 Dibujar el diagrama de transiciones de estados de una máquina de Moore que realice el circuito
descrito. Explique CLARAMENTE el significado de cada una de las entradas, de cada uno de los
estados y de cada una de las salidas. (15 puntos)
4.3 Suponga ahora que las puertas Al y A2 no se abren ni cierran en un tiempo despreciable sino
que tardan 10 segundos en abrirse ó cerrarse. En este apartado, mientras se está abriendo o cerrando
-\ alguna de las puertas, el sistema ignora cualquier pulsación de A ó B. Dibuje ahora el nuevo
C , diagrama de estados de la máquina de Moore. Para cada estado explique lo que significa el mismo y
la salida que se obtiene. (8 puntos)
L
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619 142355
SEPTIEMBRE 2009
6.1 Describa dwr~m~!fite la funcionalidad del componente VHDL que a contia.'1uación se adjunta,
indicando d~iI"ammfJllte el significado y funcionfu'TIiento de las sefí..ales de entradá y salida del IDlsmo,
(5 puntos)
UBRARY IEEE; .
USE IEEE,STD_LOG1C_1164,ALL;
.ENTITY Septiembrs_2009 iS
PORT(
SI: IN STO_LOGiC;
b: IN STD_LOG/e;
e: IN STD_LOGIC_VECTOR(7 DOWNTO O);
d: OUT STD_LOGIC.:..,VeCTOR(1 DOWNTO O);
e: OUT STD_LOGIC_VECTOR{7 DOWNTO O);
n );
f:
g:
OUT STD_LOGtC_VECTOR(7 DOWNTO O);
OUT STD_LOGIC_VECTOR(7 DOWNTO O)
ENO Septíembre_2009;
BEGIN
PROCESS (a) do. es une.. señ<:l.\ -óe c-A<oi'~ l. ~
BEGIN .
IF (a'EVENT and a = '1') THEN .
IF (b = '1') THEI;.J b e.ktb\e ~ ~ l.
sr(63 DOWNTO 1) <= sr(62 DOWNTO O);
5r(0) <= e;
END IF;
ENDIF;
END PROCESS;
d <= sr(15);
e <= sr(31);
f <= sr(47);
9 <;:; 5r(63);
END arch;
(
'--./
c.~Q..Aos ~rurYl€.+tvS.
\lvVlt\'ó..í"\
~
i
~1111 \I\\¡II m11\1 \ \1111]I\\~¡IIIlIIIII\ IlIT ~II \\\1 mm l1j 1:01 \I!l~
g, e ()
~5\-to
\ '- '- ~ o
b.Z ,,1\
d':: O\oloie>\
/1
e. ::: \\
0\.0 \OlO\
I(
L
CEDa - Febrero 2010
(:Q:rr~ide:remos
el siguiente fragmento de un módulo bat.cL'';vare descrltoen VHDL qu~gobiema d
fUncionamlento oe unaTr1áqtlÍna expendedora de¡efresco~ .
librar'y l·EE,E;;
use. IEEE,qtd_Íog.ic,....1l64, ..¿J.,1.;
'entity vend is
port (
¡:::l.]ctirt_lUQney, :¡:-eset; in STD L{)GICj·
i,n: .$elect; in STD....:LOGIC,-.yECTOR (7 d9wnt.Ú {ij ;
iri_dispatched: in STD· .LOGre;
outd¡dnk : out STD_LOGre....:VECTOR;
éri.dvep.d;
begin
El: prOCéSS (cl.k.r reset 1
.begin
if reset:;:li i tben
state vend<=s wait t'or m ;
but....:d;:in.k <=107 ; : -
.elsif (el.k;:! i' and clk'evqnt)then
case st'ate_~Tend 15
whens wa.it tor ro =>
out 'dri:nk<= ¡ O"";" j
if Inmoney ==':0 ' then
state_'\T€D:d<= s~wait '!'or_J1li
,0 Eüsestate v'end<=s '\.y¡;¡it p1,lSh; ,end ifr
when S. . wai t tlÜSh =;,~ - .
Qutjirink:¿:=i O1 ;
í f in select ==. "00000000" then
'state,vend<= s v¡ait pU$h¡
else state. vend<;;;;s,outcirink; end if¡
when s out, d;::ifík => - ~ .
out ~ drink<= i l 'i
i f in_dispatched=' O' ther).
s.t.ate _ vt:;nd<= s_out_ dr.:L.:p)(j'
else sta,té_vE:>nd<=$_,,?q.it_f9r~miend if;
'when, others ==> s.tate_vend<==s_wait_for_m;
Md case ; en,Ctif; .
end process;
end vend_arch¡
Salida; :d'$l sístern:Si~
cu'uirír±k
b/OjX,K
l,~,x;x.
libra:rv IEEE;:,
~$,e IBEE. std....:loglc~11.64 .611;
ent,i ty vend is,
por;:t (
clk"in ,rttoney, in STD, LOGre;
x; e s,et,,;
in,-,~el;cti i.n STÓ;LO(;IC VEC1'O:Rn downto X)) ;
io'-.d,ispat:c:ne<:i: in S'rO_LOGIC;'
'out cir:l.nk:, ,<?ut. STDLQC;IC VECT'ORi,
musIc bn: out ST:O_LOGIC_VEC'l'ORi .
eTI:d yena: ¡ ,
begin
Pl: pr9gess ¡olie; reset)
hegin
J,;ft,eset="], I then.
í\
.o1.1t ~dr:i.):1k<=' G1 ;
musíc_ Cp.,<:;=1 O';
el
e·lsi.f .~ ~=.1 1 ~ "an.p. el l< t.eY~nt.) then
case s'tate _'llene is
,wr!-€"n $. wai t, fo.!:' .ret· =>.
,o "'l"d:r-í",k<=,[)I.
¡",4""',;;..- v· 1.
.~. • -'_ -
musíc~Cin<=' {l' ;,
i'f in.~_.rr1;qney· ~.tb'f
'tnen·
vend<;= s wai,t Í,o'r_In;
SL,até
else :state_vend<= end Ji;
whens_~lait_p):lsh =>;~iM_íi@-¡¡~}
out~drihk<='0 T'l
lll~si.é~on<=.P91 J. , .~
i,f i,n...;select ;= "DODDOODO,cthen
g,tatevend<= s "á1t 'C>ush;
e1,::;e st~te vend<;';sout"drink¡ end i.f;
wl';te,tl s -,-out ct";ink --
ot;t t .-:dr in k<;=-' 1 Ti
music_on<=:{ b:'¡
CJ :ti in~dlspa:tched='DJ
sfate:....v'e'nd<;=
then
c\lt _p:r in k;
,5_
1::Üse st áté_v e nd<;= s_mu s ic; end
=:>'
whén .s 'musíc'
out~ink<=' l ' ;
mu,s:ic_ on<=' :3:" ;
sta te"-vend<=s_wai t;...for...:~:;
when o't;tlers => state venq<d$ wait Ior.-;m;
énd case, ,;end ~i.;
"Z:
¡¡;pd proces$¡
elld vencLarch¡
'.
.. ·····.r·····
.
, .
CEDO -Septiemyre 2005
Y<'~ B;
.HA~Q\;t. tk. fte~ . t:tJAildGt.
ENDTF;:
.Z<.=w; rWt~W 4 ~i~·J.e (tx:;'K
WHENB=:> .
fF w·= ,'Oí THEN -j~ 1_ "l<11~.(,.~'.' .J$. A
ti. .M"N . .Ux
'.' ...•
Y <=A;,
u.,..~~J. ...t. f~~ Ad:v4.
ELSB
A/'M'vd:&-1f~
C) ENDIF;
y <==B;
Z..<;:;·w;.
ll· . 14'\. ¿'. w/·u
.~, . 7.
BNPCASE;' .
END!f'.;
ENDPROCESS;
END Behavior;
¡;t.K/,x.
d.rJ/,Y
I
~.
___.. _. __._Io._._____ _____...._....._._ .._..._.........
~_.
Ul?RARY: jeee;
tJSEjeee.s1d,.,.lóg'ic....;11ó4.all;
ENTfTYMtomat~rs
PORT (GJoCk, Resem :fN STD_Lomc;
w ,:IN' ST'ú~LdGrG;
i :OUT STD~LOG!C);
WHENB=>
ENDCASE;
ENo PROCESS;
END Behavíóf;
FEBRERO 2010
Queremos diseñar un circuito que convierta un número en código binario sin signo de 4 bits (A3 A2
Al AO, siendo A3 el bit más significativo) en su equivalente en código BCD representado con 2
cifras (unidades [U3 U2 Ul UO] y decenas [D3 D2 DI DO], siendo D3 y U3 los bits más
significativos).
2.1 Rellene la siguiente tabla de verdad para que el circuito realice la citada conversión. Para este
apartado ignore las funciones F,G y H. (3 puntos)
ENTRADAS SALIDAS
O O O 1 e;, o (5 C> O () O l O 1 1
2 O O 1 O 6 <O O 6 O O \ V 1 O 1
O 3
4
O
O
O
1
1
O
1
O
O
O
O
o
O
Q
el
O
O O
1 O
t
(;)
1 1
O
O
O
1
1
O
5 O 1 O 1 O O ~ o O r O I O O 1
6 O 1 1 O o O O O C> 1 I 'O O O 1
7 O 1 1 1 O O O o () l l 1 1 O 1
8 1 O O O O O O o \ <D O <:!) 1 O 1
9 1 O O 1 6 o o o 1 C> O \ O 1 O
10 1 O 1 O o O o I (?;J O <0 O 1 O 1 \6 ~\:.I..~S el
11 1 O 1 1 e> o O I O ([;) O 1 O 1 O ~~ ~~~
12 1 1 O O O O O I O O .1 P O O 1 ,~ ~~~rno.c
ro b V I \C\ ~ 'íU.Llt1e("o o(";g~
13 1 1 O 1 'O 1 O l O O O
(.)\) ~o. a..>f eon3:
1 O O -o I 1~ O O z.o
"1
1 1 C> eJ 1
14
fY\cl.\ le\. c~ Reo
15 1 1 1 1 o 6 o I b l t) O O O l.l BCl) c<D<n-edcx.
2.2 Simplifique por Karnaugh las funciones F, G Y H, en función de A3 A2 Al Y AO (emplee las tablas
que se adjuntan). (7 puntos)
C?
, l
() é) \ (6 O O 1 \ I
O
F G H
~,----------------------------------------------------------------
~
0000/
V\.a..oo-
1
')
(kevte-Wl05 ~ ~~(
h",~61\.e ~ca.J'1\lN
lo I~n:o- ~ \.aWl 'o.en k ~~se.t1~
r-dHS=-
L(oV! \3Ct>.
(~ Pt~~I,GJ~oS~
SUMADOR
GUW1ó-("' G (.0 'l~ ~ do \en.e("
(S=m+n)
~ L~ ~(O... \:o.. •
Co("ct2C 1 - - C out
o J
i -
t If
SUMADOR
(S=m+n)
' -
.......
S3 S2 s] So
III~
D3 D2 DI DO U3 U2 VI UO
Cj
FEBRERO 2010
Se dispone del circuito de la Figura 3, que incluye dos contadores de décadas 74HC160 (tabla de
verdad en el Anexo), dos biestables tipo D, puertas lógicas, una señal de reloj (CLK) y un pulsador
para activar la señal E. .
CLK
Vee E
o T..!..==(''-*---1 D Q !----I D
z
Figura 3
CLK
E I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I l i
·-·-·1"-····--·-----·T··--·-········---··,·-····~-·
I I I
t
..·r_-·..·••••..·•..·_-,-_·_·---·-r-··---··_·l-··--···r··..
I
I
I
I
I
I
I
I
I
I I I I
_·-_· -_···_·-r--···_·_·.,._··_·_-··_·,~-_··_··--r-·····_---_··-
I I I I
....-..
I I I I I I I I I I I
z I
I
I
I
I
I
I
. ___ ~ __ .. _ •.... _ ......
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I I
I
I
I
I
I
!_.__._._..~ ____..__....._ ..!.___......____ .~ ___......_..._._.!..._.....__.__..!___.__....__!...___..._.._.._:.._. __...._ .......__._.._ ..~. __.......___"_'0._....
Figura 4
L--------------------------
Los datos de las notas de las tres partes son enviados junto con el número de orden del alumno (3
bits, D2 DI y DO, siendo D2 el bit más significativo) por una línea de datos en serie, y de manera
síncrona con una señal de reloj (CLK). A continuación se muestra un cronograma ejemplo
suponiendo 2 alumnos en la clase (alumnos A y B):
,,
Línea de
datos 02 01 DO P1 P2 P3 02 01 DO P1 P2 P3
:4 ,
I
,
I
¡Núm~ro orden ¡
~
,
' ....._ .. _....L....._.:.:
: ..
Nptas ~el
: ~I.
¡ Núry,ero prden:
I 1
Nbtas del
: alumno A:
I I
I
I
I
:
I
I
al,umnrl.'1' A
f
: alumno B
I
I
I
I
I
I
¡
I
I
al~mnol 8
: : : : : : : I
CLK
Figura 5
Para mostrar los datos se dispone de un display de 7 segmentos para mostrar el número de orden del
alumno y de 4 LEDs para indicar la calificación final (suspenso, aprobado, notable y sobresaliente),
iluminándose el correspondiente LED. (ver Figura 6)
N ote que en la línea de datos, no hay separación entre los datos de un alumno y el siguiente. Los
datos de esta manera llegan en paquetes de 6 bits, los 3 primeros indican el número de orden y los
tres últimos las calificaciones de cada parte del examen. La señal de reloj, CLK, está sincronizada
con los bits de datos y tiene su primer flanco de subida al llegar el primero de ellos (D2) por la línea
de datos, como se muestra en la Figura 5.
La clase tiene 7 alumnos (números de orden del 1 al 7 en decimal). El número de orden O no
representa ningún illumno.
Realice las conexiones a los componentes de la Figura 6 (tablas de verdad/características en el
Anexo), añadiendo puertas lógicas si es necesario, para que el circuito funcione correctamente.
Puede asumir que las salidas del contador 74HC163 se encuentran a cero (reseteado) al principio
del funcionamiento del sistema. (5 puntos)
Línea---
de datos
A QA
S QS
A C QC
74HC164 Clock D QD
B
CLK RCO
-CLR
ENP
ENT
LOAD
o 74HC163
0CJ)0CJ10.j:>.0W0 N0 0 0
"'-1 -->.o
74HC377 ~
0CJ)0CJ10 0 W0 N0 0 o0
"'-1 .j:>. .....>.
()
83 82 81 80
Descodificador
BCD a 7-segmentos
R R
Figura 6
8
,...
del circuito de la F:igura 7 que asegure un correcto funcionamiento del mismo. (10 puntos)
\.--...L
A
O Q z
8 =t>- O Q X
S I CLK
Q-
CLK
-A:
Q '--- y
L A
J
C out
e O Q I
C in
I O Q t--
y
Q Q
CLK CLK
A'
o el K
A
1 I
Figura 7
x-...---\-\
y -+--<t---H s
CIN -+--<~------' t pTOP tsetup
Tabla 1
Figura 8
L--------'----------------------,----
La fábrica Ford quiere hacer un nuevo coche basado en el diseño 1965 Ford Thunderbird que se
muestra en la Figura 9. Vosotros sois los encargados de diseñar el sistema de control de los
intermitentes. Los intermitentes tienen 3 luces en cada lado. Cuando se acciona la palanca de
intermitencia a izquierda o derecha las luces se iluminan siguiendo toda la secuencia (entera)
correspondiente mostrada en la Figura 10. Además, cuando se acciona el pulsador de emergencia
las 6 luces deben parpadear al unísono. El sistema no hace caso a la palanca de intermitencia
durante la realización de una secuencia de iluminación, sin embargo, siempre se responderá al
pulsador de emergencia. Asuma la existencia de una señal de reloj de periodo igual al tiempo entre
intermitencia de las luces deseada.
Le LB LA RA RB Re
tiempo
[UJ []] (]] rn (]] C[J
.J...> •..1.... J ,1.j- <lil).., J..)r {..J..
rn rn -~
~;".. {j. ..¿.~;...
'f'm
J-"'- .
,.J"),,
m
J-.. ,.,':.
CD
..t. ~
rn :00:!- JI(
-{)O' ~l
~-<;..
fJTI{
J~7
:cn,
oo:t....~.
CD
v
j:]Q JID: rn rn :~
rn~
o "-..7
[llJ
~v
uu
<.,7
[[J
< ,
J.....,...!".
CiD UD CD
.(,\.
,
~)-
'.
Le LB LA RA RB Re
Figura 9 Figura 10
5.1 Dibujar el diagrama de transiciones de estados de una máquina de Moore que realice el circuito.
Explique CLARAMENTE el significado de cada una de las entradas, de cada uno de los estados y
de cada una de las salidas. (10 puntos)
5.2 Suponiendo el diagrama de estados siguiente
Codificación de estados
A 00
o B
C
01
11
Implemente el circuito utilizando biestabl~s J-K y la ló&~a adicional necesaria. (10 puntos)
~~\
__~ ~e,,l.-'~l'''t ~ . \:a.
'-- <2.>t.C.l -
~o",ec;.
/' ~., -.,e..'<¿ --.,
~ ~\ Qe @1 (!;)l S '3., \-(\ -So ~
O O o O O O O k: e> )(
O o I O O O O X X @.~
6
O ,l O
1 O
X.
O
\' X
I )(
X X
-\ '><
x
)(
.e'
I <t) e () I O O k" ~l ><
} O ( 1 1 () \ )( '><' . 'O
1 l O ><. 1,( )( )i 'l( X 'x'
1 \ I 0l \ I 'X () X O
q~;. e..s.Wo' l~ t.c't:á 'b.e ..cJ... cud-~€.m. ¿e.. ~os ¿,¿os. 1.0 \e~C)S'CJ.
él - t-L
~\-=~tn
~Y -ro '\\I..U'ni. ~o e,Yl fL.\ -G:\.\ C-lc\O ~e \V1\Q('vrl,A.e(lc.¡~ o.. \.·~Óct
e.('" .
t,
1, '1
" " \¡ 11
&>-{!'~úYl60
1
't.:., 1, I
/1' It 11 11 1\ \) I J
\1
1'S:: ~-rc12-r
1.
1/
11 !1 11 11 ~ecLa..
11
'1 "
<3.'-l;: \'" 'Vn €C 11 \1 11 I f I t
"
{f
'1
1,
~~ =- 5 e.~l.l..00 1) !1 ti tI 11
" \
I(
1 \ \( )
~:: Je.rce.r
)1 eme~e vI e \. o.. .
C),7 s ~') os ~os
1\ 'I
\\ tI
FEBRERO 2010
La fábrica F ord quiere hacer un nuevo coche basado en el diseño 1965 F ord Thunderbird que se
muestra en la Figura 9. Vosotros sois los encargados de diseñar el sistema de control de los
intermitentes. Los intermitentes tienen 3 luces en cada laqo. Cuando se acciona la palanca de
intermitencia a izquierda o derecha las luces se iluminan siguiendo toda la secuencia (entera)
correspondiente mostrada en la Figura 10. Además, cuando se acciona el pulsador de emergencia
las 6 luces deben parpadear al unísono. El sistema no hace caso a la palanca de intermitencia
durante la realización de una secuencia de iluminación, sin embargo, siempre se responderá al
pulsador de emergencia. Asuma la existencia de una señal de reloj de periodo igual al tiempo entre
intermitencia de las luces deseada.
Le LB LA RA RB Re
- tiempo
[[J m m rn m [TI
-!.}. .J...7 V . .~u,..,.. 'u. ~L¡'
[[] 00 m
-' . ;JEl, rn [TI
•
-l-\.. .J..)- ..¿J. ~t)· V ..!,.).
[[) :orQ
..¿ .....;..
:00: ,,.¡ ";.
',J•.?
)n.
~l.>-
(]J
~¡. ~
j:llii, ,'f2lEi
,
'¿vl,. ,¿>
:rn:
" •• ,!>-
.J.J.
)JL(
<1....-'-
~m
/-l-I,.'
bl{
-.J..).
W (1) (IIJ (]J [U rn
Le LB LA RA RB Re
Figura 9 Figura 10
5.1 Dibujar el diagrama de transiciones de estados de una máquina de Moore que realice el circuito.
Expliqu€: CLARAMENTE el significado de cada una de las entradas, de cada uno de los estados y
de cada un~,ee las salidas. (10 puntos) ' ; .
(. _.
5.2 Suponiendó'el düigrama de estados siguiente
.~ :
Qf Of;t, '1 X Codificación de estados
A ,00
o o o X , ,H
01
-c) o X C 11
o ·;'''X.
1 X o
Implemente el circuito utilj~~do biestables J-K y la lógica adicional necesaria. (10 puntos)
¡ '".
E
C>
Ql
o
.. _Gi-
Q"
o o
ti.""
o
_5
6
~.1
o',
t(l
x
~. o . ~.'
lC.'
o o I O o t:J o X X I
,,~#/~ ~/~~ y/~c ~///¿; ????~ ,X X X ~ /<
o I I o o 1 ;X l )<. 1
,
, I o o o ~ X I X
I ..
O (>
I o I [ i O i )< X o
~//./# v/v/; f;;7~h ~/~ v/~ )<. X. X ";x • ;X
..
I I I 'l i ~ x o
.. X o
- '
...
'
,ff:;
www.monteroespinosa.es - Clases de CEDG - Tfnos 91 5445377 , 619142355
..:..-~)
m 15 ~ ail ~ I
Ke ~ El
só~ S",ef..
jl~
~
@ I 3q> .: I
t
4,- .
-
~.
E.
c,~ de"
library IEEE;
use IEEE.std_logic_1164.all;
entity vend is
port (
clk,in_ffioney, reset: in STO LOGIC;
in select: in STO_LOGIC_VECTOR (7 downto O);
in_dispatched: in STO_LOGIC;
out drink: out STO LOGIC VECTOR;
end vend;
- -
begin
Pl:process (clk,reset)
begin
if reset='l' then
state vend<=s wait for ffi ;
out drink<='O';
elsif (clk='l' and clk'event) then
case state vend is
when s wait for ffi =>
out drink<=' O ' ;
if in_ffioney ='0' then
state vend<= s wait for_ffi;
else state_vend<=s_wait_push; end if; ,
when s_wait_push =>
o out drink<='O';
if in select = "00000000" then
state_vend<= s_wait_push;
else state vend<=s out drink; end if;
when s out drink => - -
out drink<=' l' ;
if in_dispatched ='0' then
state_vend<= s_out_drink;
else state vend<=s wait for ffi; end if;
when others => state_vend<=s_wait for_ffi;
end case ;end if;
end process;
end vend_arch;
6.1 Dibujar el diagrama de transiciones de estados de la máquina definida en el código. (10 puntos)
6.2 Incluya el código necesario para que una vez obtenido el refresco se active un pulso en una
señal music_on que reproduzca una melodía. (5 puntos)
Connection Diagram
RIPPLE OUTPUTS
CARRY _.- - - - - ' ' - -.....' ENA!lLE
VCCOUTPUT OA (la Oc 00 T LOAD
Ilf; 1$ 14 13
"
/12 11 110 9
Truth Tables
'HC 160/HC161
RIPPLEQA
CARRY
°a Oc 00 ENA8LE
T CLK CLR ENP ENT Load Function
OUTPUT
X L X X X Clear
o re CI.EAR LOAD o-
X H H L H Count & RC disabled
ENAD!..E
CK
A B e o p X H L H H Count disabled
X H L L H Count & RC disabled
t H X X L Load
1 2 ;¡ 4 5 1) 7
la 1 H H H H lncrem en! Counter
CLEAR CLOCK A B e 1> ENABLE GND H "" hígh level, L '" low leve I
p X '" don'l <::are, r
.= low lO hígil !ransífion
DATA INPUTS
TUF/5-:r.JB
Order Number MM54HC161/162/163
or MM74HC160/161/162/163
MM54HC164/MM74HC164
S-Bit Serial-in/Parallel-out Shift Register
General Description Truth Table
The MM54HC164/MM74HC164 utilizes advanced ~;j!jcon
gate CMOS technology. It has the high noise immunity and Inputs Outputs
low consumption of standard CMOS íntegrated clrcuits. II
also offers speeds comparable lo low power Schottky de-
Clear Clock A B OA Os ... OH
vices. L X X X L L L
This 8-Bit shift register has gated serial inputs and CLEAR. H L X X OAO Oso OHO
Each register bit ís a D-type master/slave flip flop. Inputs A H i H H H OAn OGn
f) & B permít complete control over the íncoming data. A low H i L X L °An OGn
~- al eilher or both inputs inhíbils entry of new data and resets H i X L L OAn OGn
the firsl flip flop to the low level at the next clock pulse. A
H ~ High level (steady state), l = Low level (steady stale)
high level on one input enables the other input which will
X = Irrelevanl (any inpul, including transitions)
then determine the state 01 the fírst flíp flop. Data at the
j = Transilion Irom lów to high level,
serial ínputs may be changed while the dock 1s h1gh or low,
0AO. Oso, QHO = the level 01 0A. OS, or OH. respectiltoly. befare the
bu! only information meeting the setup and hold time re- indicaleú sloady stale input conclitions were established.
quirements will be entered. Data is serially shifted in and out
0An, OGn = The Jevel of OA or OG befare the mas! reccmt i transition 01
of the 8-Bit reglster during the posltive going transition of lile clock; indica!ed a one-bit shíft.
the clock pulse. Crear Is independent of the dock and ac-
complished by a low level at Ihe CLEAR input.
~
X = don't ca re o ... a ~ M
d In
o 'o ó'
tO
"-
... 4.
el el ti
U W
a
<:>
o
...
f"I "It ...... al,
!:! •.... t; ..
G'.I,
x y
M1 M2
L L C in
- C out
O
S
Zs Z2 Z1 Zo
Figura 2a Figura 2b
2.1 Explique razonadamente la función que realiza el circuito de la Figura 2a. (5 puntos)
2.2 Suponiendo que las señales de entrada al sumador aparecen sincronizadas, calcule el retardo de
las señales S y C out respecto a las señales X, Y Y C in del sumador de la Figura 2b, en nmción de
la unidad temporal t. Puede implementar el sumador de la manera que usted desee, valorándose
el que el retardo sea el mínimo. Para ello se conocen los sig1úentes retardos de las diferentes
puertas lógicas:
• las puertas AND de 2 entradas tienen 1Ul retardo de 3 1midades temporales (3t)
• las puertas OR de 2 entradas tienen 1Ul retardo de 21midades temporales (2t) y
• las puertas OR exclusivo de 2 entradas tienen un retardo de 4 mlidades temporales (4t).
(lO puntos)
2.3 Suponiendo que las señales A o, Al ,Bo y Bl de la Figura 2a aparecen a la vez, calcule de manera
justificada el retardo de las señales de salida Zo, Zl, Z2, y Z3 respecto a las anteriores. (5 puntos)
x y Z K F H
O O O O 1 1
O O 1 1 1 O
O 1 O 1 O 1
O 1 1 1 1 O
1 O O 1 O O
1 O 1 1 O 1
1 1 O O 1 O
1 1 1 O O 1
Enable
e
.)
/
10
00
01
O2
11
03
e. Q,~_ _~~ .u
q-~o 01 ~
Y ->< Dl. p-r
\J6( ~
X-~~~----
~~ \ \b-'o. V\€.-~( Q.cA~\i.VClJ1<1e.r1le \..\.v\ ,e.Su.\ ~~ a ¿V) ~u..{I ClOV¡
'O ~ u.no.. Vo.\~a..\o\e. , (\e..c..e.s l\ames 0...V'o.. ~u..e\\.o. \(0<-,
\:A
J O
'\5
1?1
A~~\
C.t-\.a~d O 1\-- ~- o '--'7 A.~\3;;: ~
ti
o \ t
o I
(~oo A -::. \ -.:::') A-®~ = ts
J. I e
3..
NOVIEMBRE 2011
~ t:h Q;c. \) ~0\e-wloS I yo- e.Y) \?¡ nCU"'lo ~S Co-Y? ~ ~ a..)es '6e. 6ecena.s ~)
~ u-Y)lcdCes (A)/ WI"l e-\ LtvÚ.Co f0(,o'o\ema. 'be. ~ es~r'\ se.~r~S ~
\>a.ro- ~(Y'O-r ~\:L(' de. e..\la..s º-.o.. COU"L\;L'ónO C¿Vl \o lV1o..rt.o 0-0
<X.. I
m' B3 BZ ~l \3.0
o O
l( '\
G'\. ¡g,~
<G
O O
Wz. \31 ~
B3
O 'O
O
--
O
\31 '00
~~ ~z.
\30 O
~l
\33~'ój '6Z.+B:::>
~~ ~2
---
+ rO
6 6
\3r\Jt?; R::.*(}.\ 1\0
~?\-~l ~\-~\-~
B>~ gt. S( ~
S~ S3 Sz.
~ ~
()
(\ PROBLEMA 3 (30'PUNTOS)
o salida(6)
....... ~ 1íJ)
ro ro I~
"'C :"Q
ca ro
<1)
-ro
"'O , sa.lida(O) <1)
.•
FPGA ca
CJ) Ñ ~
ro ro
~ ~
ro
<1)
ro
<1)
salida(3)
lJ.
o ..
En la FPGA se"sintetiia "él 'siguIente fragmento de un módulo hardware descrito en VHDL,
compuesto de dos submódulos:
COrt'l P. i
Esh. ,.,.. c1..R.. "J W4 ,c.Aj:, ... dc. r Je 8(. D c.. i .s'1~,,,tD)
library IEEE;
use IEEE.STD LOGIC_1164.ALL; leo"" A,''ji ~~ de. err-or)
entity comp1 is
port (
input : in std logic vector(3 downto O); -
I¡output , out std_logic_vector(6 downto ~~~r~I"I~I"I-'I'I'f'l
end comp1; _______ scJ';,\p.~,) sc.t.l.. to)
begin , ._¡
with input select output <= 1_ _ 1 ~) f~ .=(
L
COME 2.
Es~e ~;c.ho e~ ''''1 Y"\of Ji" ft)Cor 2)< ~ , el, d ..) , e..~r.... J"'J
á(
kt.) cIt t.¡ bi b t:o.a.. 111'\ .. , ""'c.. e-.Ir..~ ~ 'o",~",f ~¿ ,.., ),¡}, '1
()
library IEEE;
use IEEE.STO_LOGIC_1164.ALL;
entity f2!!lp.2 is
I,r: I.J"'' ' s...e;cl.. c.e 4 bib
,,'
"--,'
port(
C: in STO LOGIC; - f ; L1 fCA.I, el.{ ú>, ~rú( ~ ~ b;~
A,B: in STD- LOGIC- VECTOR (3 downto O);~ 2 i!4 h. . d., ell 'f b; 1, coJ. "......
Y: out STO- LOGIC- VECTOR (3 downto O)~ :1
--
F«f;<t. d, '-( b;I,
);
,- f1I.,,.. l).\
- A
end comp2; -
architecture comp] _ beh of comPl is
begin
---
-
"
I?...-A' Y
e
-
-
-
-
1
with C select Y <= e. t.bc• .:I,
A when ' O' ,
6 vtrcU dt. "" Hu" 2 X 1 ~o~T" e,. 'f ¿,'b , ..... e.f,.A.)
B when '1' ,
~
(others =>' O') when others ;
end comp2_beh; O A
I 1 15 ()
, ,
llbrary IEEE;
use IEEE.STO LOGIC_1164.ALL;
I component compl
".,.,- to~,<~v- C. ....pi
'Y c.,,.,,~
I
S
I port(
I input in std logic vector (3 downtoD); I
: output out std_logic_vector (6 downto O));:
I end component; j
- - - - - - - - - - - - - - ---
component comp1.
port(
C: in STO LOGIC;
A,B: in STO LOGIC VECTOR (3 downto O);
(
({: out STD_LOGIe_VECTOR (3 downto O));
I-.:n~ c~mponent; _
------ -----,
begin
3.1 Explique razonadamente la funcionalidad del los módulos compl y comp2, indicando en un
esquema de bloques las entradas y salidas de cada módulo. (10 puntos)
Nota. Dispone de una copia (reducida en 2 páginas en una) del código VHDL de este problema en la última
página de este examen, a modo de Anexo, que puede arrancar para poder trabajar más cómodamente con él.
(
I
3.2 Explique razonadamente la funcionalidad' del circuito completo. (10 puntos) ,,-,
3.3 Modifique el circuito para que incorpore una señal de reset (activa a nivel alto) que ponga todas
las salidas a 'l' cuando se active. (10 puntos)
3.1 Explique razonadamente la funcionalidad del los módulos compl y comp2, indicandó en un
esquema de bloques las entradas y salidas de cada módulo. (10 puntos)
Nota. Dispone de una copia (reducida en 2 páginas en una) del código VHDL de este problema en la última
página de este examen, a modo de Anexo, que puede arrancar para poder trabajar más cómodamente con él.
El módulo comp2 es un multiplexor de dos entrada de datos de 4 bits cada una, una entrada
de control y una salida de datos de 4 bits.
3.3 Modifique el circuito para que incorpore una señal de reset (activa a nivel alto) que ponga todas
las salidas a '1' cuando se active. (10 puntos)
entity edig is
porte
dato: in STO_LOGrC VECTOR(3 downto O);
s: in STO_LOGrC;
reset: in STD_LOGIC;
salida: out STO LOGrC VECTOR (6 downto O)
) ;
end edig;
5.1. Razone cuál de las dos opciones Ca ó b) consigue intercambiar los valores iniciales de los
objetos «codigol» y «codigo2». ¿Por qué? (5 puntos)
Opción a:
process
variable codigol : integer := 57;
variable codigo2 : integer := 92;
begin
codigol := codigo2;
codigo2 := codigol;
wait;
end process;
Opción b:
entity cedg is
port(clk, input: in std_logic;
linput: in std_logic_ vector (7 dO'tmto O);
len: in std logic;
sr: in std_Iogici
output : out std_logic);
end cedg;
process (clk,srl
begin
if sr ='1' then
tmp <= (others => 'O');
elsif len = '1' then
tmp <= linput¡
elsif clk'event and clk='l' then
tmp <= tmp(6 downto O) & input;
end if;
end processi
output <= tmp(7);
end archi¡
salida(6J
,tI
ro
:!2
ñi
ro salida(O¡ VI
FPGA "'O
ro
Vl ""ro
N--I ro
:!2
ro
O VI VI
1U - -..
"'O
library ieee¡
use ieee.std_logic_1164.al1¡
use ieee.std_logic_unsigned.all;
entity compl is
port(A,B in std_logic_vector(3 downto O);
SAL GE out std;....logic;
SAL LT out std_logic);
end compl¡
end archi;
library ieee;
use ieee.std_logic_1164.all;
entity comp2 is
port (e, D : in std logic vector(6 downto O);
S in std logic¡ -
O : out std_logic_vector(6 downto O»);
end comp2;
library IEEE;
use IEEE.STD LOGIe_1164.ALL¡
use IEEE.STD_LOGIe_ARITH.ALL;
CEDG - Febrero 2012 Página 10 de 11
entity edig is
port( datol: in STO LOGIC VECTOR(3 downto O):
end edig:
dat02: in STD-LOGIC-VECTOR(3 downto O);
salida: out STO LOGrC VECTOR (6 downto O»; o
architecture edig_beh of edig is
signal aux1: std logic:
signa1 aux2: std=logic:
begin
01: compl port map(dato1,dat02,auxl,aux2);
02: comp2 port map("llll110", "0110000",auxl,sa1idal¡
end edig_beh¡
6.1 Explique razonadamente la funcionalidad del los módulos compl y comp2, indicando en un
esquema de bloques las entradas y salidas de cada módulo. (5 puntos)
Nota. Dispone de una copia del código VHDL de este problema en la última página de este examen, a modo de
Anexo, que puede arrancar para poder trabajar más cómodamente con él.
El módulo comp 1 es un comparador de dos entradas de datos de 4 bits cada una. Tiene dos salidas,
una que se activa (nivel alto) cuando A es mayor o igual a B (SAL_ GE) Y otra que se activa (nivel
alto) cuando A es menor que B (SAL_LT).
compl
B
El módulo comp2 es un multiplexor de dos entradas de datos de 7 bits cada una y una entrada de
control, que selecciona la entrada e en el caso de ser Oy la D en el caso de ser 1.
e
o
comp2
s
CEDG - Febrero 2012 Página 11 de 11
El circuito completo es un comparador con salida gráfica a través del display de 7 segmentos. Si
dato! es mayor o igual que dat02 aparecerá un 1 en el display. En caso contrario aparecerá un Oen
el display.
6.3 Modifique el circuito para que incorpore una señal de reset (activa a nivel alto) que ponga todas
las salidas a 'O' cuando se active. (5 puntos)
entity edig is
porte dato1: in STD LOGIe VECTOR(3 downto O);
dato2: in STD-LOGIC-VECTOR(3 downto O);
reset: in STD-LOGIe;
salida: out STD LOGIC VECTOR (6 downto O});
end edig¡
begin
if (reset = '1') then
salida <= "OOOOooe u ¡
elsif
U1: comp1 port map(dato1,dato2,aux1,aux2)¡
U2: comp2 port map(n1111110","0110000",aux1,salida)¡
end if;
end edig_beh¡
L
ENERO 2012 - ANEXO
74AC163 • 74ACT163
Synchronous Presettable Binary Counter
General Description Fea,tures
The AC1ACT1133 a~ hígh-spead synchnmous modulo-16 • Ice reducad by 00%
bínary rounters. They are synchronously presettable for
• Synchronoos coonting and loadlng
app!it:alion in programmable óividers and hava two types
of Count Ena!>le inputs plus a Terminai Count output fur • High.spee;d synchronnus expanskln
versatility in forming synchronous multístage counters. The • TypicaJ rount rate oI 125 MHz
AClACTiB3 has a Synchtooous Rase! input that overrides • O!.dptlts sourcefslnk 24 mA
countlng anó paralfa! loadlng anó aUows the outputs te be
• ACT1133 ha.s ffi-compatJble inputs
simultaneously ~t on the ñsing edge of the dock..
• Truth Tabfe
X: Don't cara
C) A, B, e, D: Logic leval of data inputs
MM54HC194lMM74HC194
4-Bit Bidirectional Universal Shift Register
General Description
TIlis 4-bit high spero bidlrectional shift register utllizes ad- Serial daia for this. mode ls entered at the SH!Fi RIGHT
vanead silicon-gate CMOS taotmoklgy to acrueve the. low data hput When SO is Iow ami Sl ia /11gh. data shlfts ¡eft
power consumption ami hígh nrnse
immunily of standard synchronousfy andnew data is enterad at the SHIFi LEFi
CMOS integrated círcuits. along v.iíl;¡ the ability 10 drive 11) serial input. Glocl<ing of the flip flops ís inhibited wOOn both
LS-TTL loads. ihis deYioe aparates al speeds simila.rtothe mods control inputs are Iow. Too mode control inputs
equivalent low power Schoti:Ky part, should be changro onl)' when 1he CLOCK input Is hígh,
This bidirectíonal shift register IS designOO to iooorporate Toe 54HC/74HC logle fami!y Is functional!y as weU as pir¡.
Function Table
I I Inputs Outputs
51 52 Moda Serial ParaUel
C~~)
-- A
B
"'-J
.,J:::.
OA 1-
OB 1-
C1ear Sl S2 Clock Left Right A BCD QA Os Oc Qn
L X X X X X XXXX L L L L
X X X X OAO ASO Oco aro
-e I
n Oc 1-
H
H
X X
H H
L
i
X
x
X
X aocd a bcd
-D ~
te
.,J:::.
OD 1- H
H
L
L
H
H
i
i .X
X H
L
X
X
X
X
X
X
X
X
H OAn aBo 0en
L 0An Q& Oen
-- 5R5L H
H
H
H
H
L
L
L
L
i
X
H
¡LX
X
X X
X
X
X
X
X
X
X
X
X
X
X
X
Qso Oen QDo H
0& OCn Opn L
QAO ASO Oco aro
aw. C~CK
H "' n$,ilh level !$Ieády state)
L = Iow le'lel (stearly slalej
X = irrelev?nt {arrtlr1¡llil:; includin!l tral\$1tions)
i = trarn;lfiot1 lrom low lo h1Sh lwel
a, b, e, ti = Ina level o¡ siaady-state irlPut al ini'uts A, e, e, or D.
respectival}'.
0Alh C!s;;r 0(» 00& ",lhe level oí 01<, Os. Oc' or 00, res¡¡oo!lveJy,
beíore ina indicaled steady-srate input conditions were establlst\ed.
0""" Oen. Ocr. Con = lhe level 01 Q¡¡., Os. Oc, respeclively, befare
the mosHecent i tJ1;lnsltloo 01 lhe dock.
{\:
PROBLEMA 1 (20 PUNTOS)
1.1 En un sistema que trabaja con aritmética de 4 bits, se dispone de dos números A y B de 4 bits
expresados en complemento a dos ([A3 .. AO] y [B3 .. BO]) y de dos bits de control SO y SI. Se quiere
constmir un circuito que realice las siguientes operaciones en función de los bits de control:
SO SI OPERA.CIÓN
O O A+B
O 1 -A-B
1 O B-A
1 1 A-B
Se dispone para ello exclusivamente de los sumadores completos de la figura y puertas XOR.
Implemente, de manera justificada, el circuito que lleva a cabo las operaciones deseadas.
(15 puntos)
e :(
" ((.ut (U)
;
'( v
,<:.:.ut (in
S.
CÓDIGO A CÓDIGO B
PROCESS(A,B,S) PROCESS(A,BrS)
BEGIN BEGIN
CASE S 15 CASE S IS
WHEN "00" => tmp <= A + B' ~, WHEN "00" => tmp := A + B;
}'JHEN nOlft tmp <= -A-E; WHEN "Ol lf
=> tmp := -A-B:
\oJHEN tilO" => tmp <= E-A; tiREN =>
ft10n tmp := E-1>,;
WHEN "11" => tmp <= A-El; tvl1.EN n =>11 ff tmp .= A-B;
~~HEN OTHERS => tmp <= O; WHEN OTHERS => tmp := O;
END CASE; END CASE;
END PROCESS; END PROCESS;
Q <= tmp; Q <= tmp;
CÓOIGOC
library ieee;
use ieee.std logic 1164.a11;
use ieee. std::)ogic::: uIL'oigned. all;
entity addars 3 i5
port (A,B :- in st.d logic vector (3 downto O);
- s: in std_1ogic_vector(1 downto O);
C) end adders_3¡
Q : out int.eger);
PROCESS (1)., E)
BEGIN
CASE S 18
liJHEN "Don => tmp <= A + B;
\iJHEN "01 tI => tmp <= -A-B;
WHEH "10"
=> t.mp <= E-A;
WHEN =>
"11" tmp <= A-Eí
WHEN OTHERS => tmp <= O;
END CASE;
END PROCESS;
Q <= tmp;
end archi;
L
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77 , 619 142355
(' 1.2 Explique cuál o cuales de los siguientes códigos de VHDL sintetizan el circuito descrito en el
primer apartado. Justifique razonadamente su respuesta. (5 puntos)
,
~~~::Qi:e,f
use i.eee.sta logie 1164.0.11;
~~~a~:Qi~e"V
use ieee.std logic 1164.all;
use ieee.std=logic=unsigned.all; use ieee.std=logic=unsigned.all:
o BEGIN BEGIN
CASE S 18 CASE S I5
W'HEN noon => bnp <= A + B; WHEN "OO'f => tmp.- A + B;
vlH.EN ffOl n => tmp <= -A-B; WHEN "01'1 => tmp:= -~lt-B:
WHEN "10" => tmp <= B-A; WHEN 1' l0 n t
=> tmp:= E-A;
WHEN "11" => tmp <= A-E; tiREN "11" => t.mp.- A-B;
¡OJEEN O'1'HERS => tmp <= O; WHEN O'I'HERS => tmp. O;
END CASE; END CASE;
END PROCESS; END PROCESS;
Q <= bnp; Q <= tmp;
end archi; end archi;
CÓDlGOC ><
library ieee;
use ieee.sta logic 1164.all;
use ieee.std=logíc::::uIlsigned.a11;
FP6A
entity adders 3 is
~ Ef. c.;~i":),:) e tlo. f¡e~e S e"" e.. e:l fe. ~t
port{A,B: in std_logic_vector(3 downto O);
s: in std_logic_vector{l downto O);
Q : out integer); .s:c-.,; ¡,.;e:ác.cl I plr e. '1 .... c.:..rob: o e., ~ vd.... k
'0 €na adders 3;
cu-.G¡";erA dt e.J r~J c--I-r",~
v,,",
v.. i."~~J sr. },.. c.t i4M&d:.:o.h.r-.lt t'1'c..p..) 9" (... "'>S';' ....¿b·
k .re;",eeJ se. },l-~ .. Cj....c ..Ir! P"'<5='J ( P'~ Y:e..~ e(",~
L")h. *' A)d... J.. Cbrn:d'!:! $""':o"",,,.,:e-.fo der e:,.,v:to, '
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77 , 619 142355
ENERO 2012
1.1 En un sistema que trabaja con aritmética de 4 bits, se dispone de dos números A y B de 4 bits
expresados en complemento a dos ([ A3 .. AO] y [B3 .. BO]) y de dos bits de control SO y SI. Se quiere
constmir un circuito que realice las siguientes operaciones en función de los bits de control:
SO SI OPERACIÓN
O O A+B
O 1 -A-B
1 O B-A
1 1 A-B
Se dispone para ello exclusivamente de los sumadores cOlnpletos de la figura y puertas XOR
Implemente, de manera justificada, el circuito que lleva a cabo las operaciones deseadas.
(15 puntos)
o '( y
(lut Cm C.,.ut (In,
S S
"
'.:-ut
'(
Cm C.:;.ut (in
x
(.;.ut
y
(in
-(
C.,.l.It
y
(in
S S S S
CÓDIGO A CÓDIGOS
líbrary ieee; library ieee;
use ieee.std loqic 1164.a11; use ieee.std_logic_1164.all;
use ieee.std:=logic:=uDsigned.all; use ieee.stdc..logic_unsigned.all:
PROCESS(A,B,S) PROCESS(A,E,S)
o BEG1N
CASE S 1S
WHEN "00"
WHEN nOl tl
=>
='>
tmp <= A + B;
tmp <= -A-B;
EEGIN
CF.SE S IS
WHEN
WHEN
"00"
"Ol l f
=>
=>
tmp := A + B;
tmp := -A-E;
WHEN "lO" => tmp <= B-A; t-lEEN "lO" => tmp ;= B-A;
'ilHEN"11" => tmp <= A-B; WHEN =>
"11" tmp .= A-B;
?JHEN OTHERS => tmp <= O; WEEN OTHERS => tmp .- O;
END CASE; END CASE;
END PROCESS; END PROCESS;
Q <= tmp; Q <= tmp;
CÓOIGOC
library ieee;
use ieee.std_logic_1164.all;
use ieee. std_.log-ic_uIl.signed.all¡
entity adders 3 is
port(A,E -: in st.d_logic_vect.or(3 downto O);
s: in std logic vector(l dovmto O);
Q : out irrt.eger);
end adders 3;
PP.OCESS {l'., El
BEGIN
CASE S 1S
!fJHEN "00" => tmp <= A + B;
ifJHEN "01" => tmp <= -.'l.-E;
WHEN "10" => tmp <= B-A;
¡'lEEN =>
"" .. tmp <= A-B;
WHEN OTHERS => tmp <= o;
END CASE;
END,PROCESS;
Q <= tmp;
end·archi;
GL~O lFI'J"t~~t.\p) .
ú;..e,Aa..de ~ :-lS I I
!Bo '.Co'.Do'.Ea
, I I I
's.. e
s~
e
~V\. C. \OY\ e~-
\' ~"",;lit;·;o1~ ,
• QA .6 ¿.\ 1.5& 6d'co.- ' " U> A BCD
"1 JI--[ ENT .....,,{c:
::o~
O \ ~t> a. cec.\..,ct!;
!:2-
ENP
"-.J
QA Av
Al R
r>
74HC194
;:;- /¡'1 J1
-l o p ,. 'L 't.d-as:
0 - A ~
Qs ""-
A2 QA Os~QD '\ I L.o¡>..~
0 - B I Oc ClEAR
el'L- o- C
n
1-' QD
A3
~l ~11D11El
en
0 - D w I I I I I I
::or-
' " t.n A B e D
CLK
--
LD CLR ~ 74HC194
~I-
iGl- J'J1"
'"
1I1~} -CLEAR Ot..Os~QD
RE SET J ~2tID2'E2
I I I I I I
V> V>
::o .- A B e D
E ,., 74HC194
~I-''O"
"G.ffec:k,.~ e Yl
8 tll- "lit
'lPmu2rl~" o.. k t'«&S '- - Ot.Qs ~Oo
. \lee ~
. Cl.f.AR
!B3 '.e
..\ '<D~ So\o se ~-oo~ce. ~ c..oO::t l.
3 D3 E3
l.
3.3 Se desea ahora incOIporar la función START/STOP síncrona con el reloj y de duración un ciclo
delmÍs1110 cuya función es anancar ó parar el contador. La primera vez que pasa a 1 dicha señal
comienza la cuenta del contador y la siguiente se para el mismo, congelando también los valores
de las señales Bx Cx Dx Y Ex. En el tercer paso a 1 de la señal, el contador sigue contando y en el
siguiente se para, etc. Para ello dispone de un biestable tipo T con entrada de cIear asíncrono,
o activa a nivel bajo, y la lógica combinacional que necesite. Realice las conexiones necesarias en
el circuito de la Figura 3 para que pueda cumplir dicha función. (10 puntas)
ClK
CLK
Loru
U
~-~
. \
REm..
PRE CLR
T Q
START/STOP
. Fioura
b 3
eLK
RESET ¡
.
..
--~;------~:--~!----~: !l---~;-------+------4-------~----~:-------+------~I-------+,------~,------~------~------~-----
-+----r"i---:--!·---!----....-----.¡-----t----:----;.-----.;'----t--- -r-----r----~
1 j 1 I I I 1 1
START/STOP : ¡: :: ::
• l i t j I I I J
I I , I I I I f I
-+-----r--!---:-~--_:----_+----..;..----¡.'
I I I I I
----i------:----~----i---~ir----'----.....,f----'""'----
I I I I I
l' I I I I I 1 1 1
t I I I l 1 1 1 I I
PRE
:!:!:
t I
:
I
:
1
--7----~-~-_t--r_-~----~--~~--~------~---+'----'~--~------~'~--
: : :
1 I
..' 1
'-----~'~--- ..----
I
- i --- -:- -! ---:- -f---:--- -- ---- i ----.¡-- --r- --- -:-- - -""'! - ---""!"- - -- ~_.- --!-._- - -1-----+ ----
I I I : 1 ( I
1 l' 1 ~ J J I I f I I I I
¡ I I 1 J I I f I I I I
o
J )
A -IJAA
3<'2 1 Q
1 1; 1
í ! :
•
:
I
: !
J
:
f I
!
,
! :
I I I J
I I I I I I I I I I l i t I : : :
--I-----l--i---!--i---I-----+----+----f-----:------:-----{----+----f-----t-----I-----+----
: t
:
f!
!: "
!: } t
:t :t
i
!J : : ~ : t
:
I
:
1
: I I I :
B:3B2B 1Bo : 1 í I j: t t : I I I 1 ( I : 1
I 1 I I I 1 ( t I 1
j I ' j ' l i t ( t I I r t t j I
Figura 4
Para ello vamos a monitorizar los párpados del conductor y el sensor encargado de esta
monitorización va a entregar una señal "OJOS" que valdrá "1" cuando los párpados estén abieltos
y "O" cuando estén cen"ados. La respuesta del sistema de control será una señal "ALERTA" que
valdrá "O" cuando no haya peligro y "1" cuando se detecte sonUlolencia, activando un pitido de
advertencia al conductor que se mantendrá activo hasta que éste abra los ojos, volviendo en ese
momento a su estado de no peligro.
En condiciones nOl1nales de no somnolencia consideraremos que los ojos pennanecen abiertos más
de 2 segundos y que un parpadeo supone celTar los ojos menos de 0,2 segundos. La situación de
peligro, que deberá activar la señal de «ALERTA", se producirá cuando el ojo permanezca cenado
más de 0,4 segundos.
o El circuito de control estará basado en 1ma máquina de estados en la que los biestables están
atacados por un reloj con una frecuencia de 10Hz.
3.1 Dibuje el diagrama de estados correspondiente a una máquina de Moore con tUl número mínimo
de estados y justifique las decisiones de diseño que haya tomado. (10 puntos)
3.2 Dibuje el diagrama de estados correspondiente a una máquina de Mealy con un número mínimo
de estados y justifique las decisiones de diseño que haya tomado. (5 puntos)
1/1 ~ l/O
c0c:)~
.~
N
;/ \1 o/o ~~ o/o P3
U ______ UJ~
1/1
Estado Q2 Q1 QO
Notación: Entrada/Salida (E/S)
PO O O O
Pi O O 1
P2 O 1 O
P3 O 1 1
P4 1 O O
P5 1 O 1
Entradas Salida
E Q2(t) Ql(t) QO(t) S
O O O O
O O O 1
O O 1 O
O O 1 1
O 1 O O
O 1 O 1
o O
O
1
1
1
O
1
1
O
O
1
O
1 O O 1
1 O 1 O
1 O 1 1
1 1 O O
1 1 O 1
1 1 1 O
1 1 1 1
(\
PROBLEMA 4 (15 PUNTOS)
4.1 Utilizando los datos de la Tabla, y teniendo en cuenta el circuito de la Figura, obtenga
justificadamente la máxima frecuencia del reloj ifCLKTlftu·) que asegure un correcto
funcionamiento del mismo. Para ello muestre en un cronograma todos los posibles caminos a
considerar. (10 puntos)
DGm!Q
E
FF1 FF2 FF3
CLR Q K cv~Q ClRQ
O CLK
tpropagacíón Ísetup
4.2 Detem1Íne justificadamente el máximo tiempo de hold que pueden tener cada uno de los
biestables FFl, FF2 YFF3. (5 punto:5~.
L
www.monteroespinosa.com - Clases de EOIG - Tfnos 91 5445377 , 619142355
ENERO 2012
libra.ry IEEE;
use IEEE.STD LOGIe l164.ALL;
begin
o
PROCESS (remete, rst}
begin
1F (rst='I') TREN
flag <= '0 1
;
END PROCESS;
IF (rst='I') TEEN
pr_state <= disarmed;
El,S1F (elk' event AND elk=' 1 ') TREN
px_state <= nx_state;
END IF;
END PROCESS;
BEGIN
o CASE pr_state 15
tiREN disarmed =.>
siren <=' O' ;
IF (remote='I' AND flag='O') TREN
nx stat.e <= armed;
EL5E
nx state <= disarmed;
END 1F;
¡llHEN armed =>
síren <= 'Ot;
1F (sensors='l.') TREN
nx_state <= in.trnsion;
ELS1F (remote='I' AND flag='l') THEN
nx state <= disarmed;
EL5E
nx state <= armed;
END 1F;
liHEN intrusion =>
sir:en <='11;
IF (remote='I' AND flag='l') TREN
nx stat.e <= disa.rmed;
ELSE
nx state <= in.tru:Jion;
END 1F;
END ~ASE;
END PHOCESS;
END Behavioral;
5.3 J\1odifique el circuito para que la entra de reset sea síncrona con la señal de reloj. (5 puntos)
()
5.4 Modifique el circuito para que lUla vez se detecte lUla intrusión el sistema penl1anezca en ese
estado indefinidamente. (5 punto5~
1.1 Rellene la Tabla de verdad de la función lógica F = A> B. Para este apartado, los números A y
B sólo pueden tomar los valores decimales de 1,2 ó 3 (es decir, nunca valdrán O). (5 puntos)
A1 AO 81 80 F G
O O O O Y O
O O O 1 Y 1
O O 1 O )( X
O O 1 1 Y O
O 1 O O X O
O 1 O 1 o O
O 1 1 O O X
O 1 1 1 O O
1 O O O X X
1 O O 1 ( X
1 O 1 O O X
1 O 1 1 'O X
1 1 O O )( 1
1 1 O 1 ( 1
1 1 1 O I X
1 1 1 1 ñ O
1.2. Obtenga la expresión lógica simplificada (al máximo) de la nl11ción G, dada en la Tabla de
Verdad, utilizando un n~apa de Kamaugh. (lO puntos)
()
1.3 Implemente la función G utilizando exclusivamente dos multiplexores de 4 entradas de datos,
como los de la Figura. Para ello, NO se dispone de las seila1es negadas. Justifique adecuadamente
su solución. (J Opuntos)
tOO
lo
el
O 11
01-------' O b- ::- A.o ~ 1 (Al\-~) +
Al 12
Ao~A<l> :::.
O 13
::; A,g-, + Ao~ ~()
(
1.4 Implemente la fi.11lción G utilizando exclusivamente los siguientes componentes: un
í' decodificador 3-a-8, un decodificador 2-a-4 y una puelia lógica de su elección
Para ello, NO se dispone de las seiiales negadas. Justifique adecuadamente su solución. (10 plintos)
0°0
00
o::: Col o:::
O 01 O I
4:)<:;
o cto ·P;..~6¡ o 00
lo «
u
o~
11.1 «
U 4'1 '--
- 03
0\1 lo -LL 01
~.J':);
o-
11 LL
-o 00 )?,¡ 11 O2 lb
04 11
12 O 101
O 03
U O" U
l..L.l l..L.l
o 06 110 o
ltt
07
. (e)
.l . ,
Wte.¿'(o.~
de. Z <2vI. L
c.·lrC';l\O~
~
~ Sl<.vY)<V')
A
!
B
I
A
J
B
ti A.+\3, -€..v\
VY\6c:; Civ¡
U~'/ ~ s-...
¿A \.\ Az
resu \ \020
(j
kI Half-adder
c,"' S
"1 1-1
- Cout
Half-adder
S
1
~ é....
./1
L."
v~ c;.... c:a..rreb
U¡..-Z \,-¡a.\or~ CLCa\¡'eo €.vH..\
Ii
e....V\ t\~\ o
\='A .
~
6
2.2 Siendo A la representación en binario de un número (con 3 bits sin signo, A2 Al AO, Y siendo
A2 el bit más significativo), se quiere obtener el valor en binario (sin signo), representado en F,
que resulta ele la siguiente expresión aritmética:
F = (A x 3) + 8
Determine el número de bits que deberá tener F para evitar el desbordamiento. Justifique su
. ()
I .
respuesta.
\ ".
(5 puntos)
\ \,
~ ,,_._"\.. e.,
<""\..('0-, ~ ....\Oe""
\ v\'ltANlefo " i -' ... _~I'
ele. '()ü.. <; he~~\lO so o '
l
-le.'\emoS 6iMC'
-~ -
e..~. ~.~..l(llo...f' e... co..S:'-C¡ ~~-;
'S \o\\.c:;.
\0\0\
100<:>
I i I C) e
Atl
~
1 A.,
1
,
~
Vn.~ e,'", eoJ
- CAl\: c\_ ~o
\ I
,
Liv\
I S
- i 2 _1 5
(
NOVIEMBRE 2012
1ibrary IEEE;
use IEEE.STD LOGIC_1164.ALLi
-entitl; comp1 is
port ( A : in STD
se1: in STD
E: in STD
LOGIC_VECTOR (3 do"mto O) ¡
LOGIC- VECTOR (1 downto O) ;
LOGIC¡
Y: out STD LOGIC) ;
end comp1¡
begin
end beh_compl;
'-"-
"" - y----
entity comp2 is port (A : in STD_LOGIC_VECTOR(3 downto O);
8e1: in STD_LOGIC_VECTOR(l downto O)¡
E: in STD LOGIC;
Y: out STD_LOGIC);
end comp2¡
() begin
'¡'-=- ~\. seto Ao-4 ~ 5e\o .A. \-\ I
end beh_comp2¡
- K -----)( - - -
entity comp3 is
port (11,12 :in STD_LOGIC¡
Y: out STD_LOGIC)¡
end comp3¡
begin
Y <= I1 OR I2¡
(
\..----/
begin
y <= NOT 1;
entity noviembre is
Port ( data : in STD_LOG1C_VECTOR (7 downto O);
sel : in STD LOG1C VECTOR (2 downto O);
f: out STD_LOG1C) ;
end noviembre;
(l i -- ~
architecture Behaviora1 of noviembre is
begin
end Behavioral¡
comp 1 comp 2
~ ~~
'1
.
:::l ".
_ A, \
-- -'1: - "'A.-...
"- '-z t-
A.-s '1 r--
- .E
-It: ~) ~'l ~'seL.
l I \l
comp 3 comp 4
=€J- ~T. J-
comp 1
Ter'\er'l1o.s ut1 yY1u)( lh'Z ( l.( e.r1~a. S ~ ).o-los Z e..,I\~('o..¿y..!l.<;;;. J
comp 2 J...-\IlX lt)( L (~é.-i\~-Cldo.~ 'ce ~ -\OS I do s. de.- Cb"" \\0\) Le v, Uvl
~~oo
I ~f>\
n.a
~;"\o.' ~¡
'i
'6~-z . -
(h..
A~
a.ll.x z 1 (;;,mP:S
i>o-\&.?; -b.. ...... l ~\ ';t.\o
1]7
A.~"1 I "}:.
-) '7
\
"J"z
-- ~
. 1
Irz '/
)0.\0- G
eo\o--:¡.
-
....
A~ C\..\.l\l~
r~
o ~"t
€>Q.\ i
- - "
~. ~e
J
\
SQ\~
.-
Q...\ d.,tí0 .
u
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77 I 619 142 355
ENERO 2013 - ANEXO
MOO'E SELECT- FlINCTIONTABLE FOR 'HC161 ANO 'HCT161
INPOTS OUTPUTS
H f X. X h H (Note 1)
Count H l' h b ti (NOle3) X Q¡uni (Note 1)
H"" High volta.ge levelsteady state; L", L6W \faltase level sleady state; ti "" Hígh \foltage level (me setup lime príorto the Low-lo-High dock
lransition; I ::: Low voltage leve.! one selup time prior to Ihe Low-Io-High clack transition; X '" 0011'1.Care; q "" LOWér case letlers lodícate lhs
stalé; 01 thc; referenced Qu!put prior lo lhe Low-to-High c10ck Iransitíon; t == Low-lo-Hígh élocl< lransit.iol'J.
N OTES~
1. TOO Te ouipul la High when TE is High and the counter is al Terminal Counl (HHHH tor HCIHCT161 ano 'HClHCT163).
2.. The Hígh-to-Low transitiorlof PE or TE on lhe 'HClHCT161 aod Ihe 'fiClHCT163 should only occur while CP is HIGH for conventionsl
optlration.
3_ The Low-to... High transition of SPE on íhe'HCIHCT151 and SPE or MR en the 'HCIHCTl63 should ooly occur whileCP is HIGH lor
conventíenal operation.
Tíming Diagram
DATA
INPUTS P2..J
P3 .. J
CP(1S1)
CP{163.)
COUNT
ENABLES
{:.=----_. . _:;.:1., ----------
H'
1
oo •. _.__ • ____..,¡,,_-!
01
. ---.. -..;' -------p....... 1
...__......11
OUTPUTS
I
03
···_---t¡~ 1 1:
!
TC ______~~--------~r--1·~ ______________________
4 .12 l..~3'---1-4-1-S~-O--1-
. - _! 1....,........_ _ _ _ _ _ _.........
RESET PRESET COUNT 'lNHIBIT
La DGT ha establecido que sancionará con una multa si se dan los siguientes casos:
Para detectar si se ha producido una infracción, el sistema también dispone de una señal, S,
compuesta por dos bits (SI y SO), que en el estado de reposo vale «00". Dichas señales tomarán los
siguientes valores según el caso: "00" si no hay infracción, "01" si se ha cometido la infracción por
exceso de velocidad y "10" si se ha cometido por defecto. El valor "11" 110 se contempla. En caso de
que haya infracción, el sistema activará dicha señal S durante un ciclo de reloj.
Zona de medida
A B
1.1 Dibuje el diagrama de estados para un autómata de l\1oOl'e que permÍta realizar la función
establecida por la DGT, definiendo claramente los estados, salidas y entradas del sistema.
Considere las siguientes restricciones del sistema:
(15 puntos)
Levenda:
., AB/S
Ql Qo
OX/D EO o o
El o 1
1X/O
E2 1 o
A B Ql Qo Ql* Qo* J K T S
e o
o 1
o o
o ··.0
o
1 o o o
1 1 o o
o o o 1
o 1 o 1
1 o o 1
1 1 o 1
o o 1 o
o 1 1 o
1 o 1 ()
1 1 1 o
o o 1 1
() 1 1 1
1 o 1 1
1 1 1 1
s=
1.3 En la página siguiente, se le proporciona, aunque de f0TI11a incompleta, el código VHDL que
implement'l el autómata del apmiado anterior. Complete adecuadamente los espacios en el código
indicados en negrita. (5 puntos)
L
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355
líbrary IEEE;
use IEEE.STD_ LOGrC_ 1164.ALL:
AAA AAA=
entity autom.ata_examen is
Port ( clk : in STD_ LOGrC;
AAA.t\.A; BBB BBB=
salida: out STDJOGIC);
end automata_examen; eee eee=
architecture Behavioral of automata examen is
DDD DDD=
type BBBBB is (CCCCC);
signal estado_siguiente: estados := EO;
signal estado_actual: estados := EO;
begin
cnd BchavioraJ;
0, 1,2, ... 5,6, 7, 8,0, 1,2, ... 5,6, 7,8, O, 1,2, ....
Utilizando el menor número de puerta~ lógicas, realice todas las conexiones necesarias sobre el
circuito de la figura para que realice la cuenta indicada. Justifique las decisiones que tome.
(lO puntos)
Qo
CLK ~
<O Q1
~
Q2
1-
Ü Q3
CP
I
~)
--_/
V
¡-.....
TC
2.2 Utilizando ahora dos contadores 74HC161 y una señal de reloj CLK, se desea realizar un
contador con la siguiente cuenta modificada:
23,24,25,26,27, ...... 62,63,64,23,24,25,26,27, ... .
Utilizando el menor número de puertas lógicas, realice todas las conexiones necesarias sobre el
circuito de la figura para que realice la cuenta indicada. Justifique las decisiones que tome.
(lO puntos)
c'
Te
CLK
(.
Se dispone del siguiente circuito digital, realizado con biestables tipo-D (con entradas de CLEAR
síncronas activas a nivel alto) y lógica combinacional.
Q .-- >FF1
D Q
r--- t>
D
FF2
Q
r-- t>
D
FF3
Q
FFl y FF3
FF2
AND
t prop
2 ns
4 ns
2 ns
tset-up
1 ns
1 ns
Ct.R
-0 1 1-- GtR
-O
2 l-- GtR
-0 '--
OR 3 ns
3
RESET I I I
CLK
(~
\J 3.1 Marque sobre el circuito de la figura de arriba los diferentes camÍnos a tener en cuenta para
poder detel111inar la máxima frecuencia de la señal de reloj que garantice IDI funcionamiento
correcto. Utilizando los valores de temporización dados en la tabla anexa, marque sobre el siguiente
cronograma y calcule los tiempos correspondientes a los diferentes caminos y obtenga
justificadamente la máxima frecuencia de funcionamiento del reloj CLK. (15 puntos)
CLK
I I I
3.2 Determinar, de manera justificada, el máximo tiempo de 1101d que pueden tener cada uno de los
tres biestables (FF1, FF2 YFF3). (la puntos)
3.3 Teniendo en cuenta los parámetros de temporización de los componentes yel valor de la señal de
RESET mostrado en el siguiente cronograma, rellene adecuadamente las fOTInas de onda de las
salidas negadas de cada biestable. El periodo del reloj CLK en este apartado es de 20 11S. (15 puntos)
()
1 ~ I ¡
··. . . .
1:
1:, , , , ,
, , , ,i ¡ :,
l'
I .
,,, , ,, ,, ,, ,, , : ,I ,¡ : , , , ,, , ! : i ¡, , . ,, , ,,
,1,
,, ,, : , , , , , i ¡ ,, , . , , . : , , 1 , , , , ¡ 1 ! ,
: ,I
I I
.
· ··
,,,, , , ,,,, :,
I I I
,,
I
,
elK
,,, ¡ i ,I i ¡, :
·, .
I
¡, \ ,, 1, 1 1
J
, :,
I
J
1
··
:, : ,, !• ,: ! ,: ¡, ! ! , ¡ :,, ¡ :, ¡ ! :, : , i ,¡ i :, ,1 ,[ , ,[ ¡ 1 ,¡ : ,I ,¡ i 1 ! , , ,¡ i : ¡ i ¡ 1 ! i
I
: •, 1 •,
¡
J
I
I
I
I
I
,, ,
I
1
J
.
I
: 1, 1• ¡ i : •,
¡
J
I
J
J
¡
I I
.
I ¡ I
· .. .
I
•
, , ,, , ,, ,, , : , 1 : , ,\ 1, ¡, :: :, 1,, !¡ 1, ¡ :1 1 ¡ \• 1, 1,, I, •• 1i ,
I : \ • , 11:
J
J J I
¡
f
¡ J
I I
I
I
J
I
1
I
1
J
J
I I J
J
J
I J
¡
J
, , , . , , , .f . , ,¡ , , . , , 1, , 1, , , , , , , ! , 1, ! , , , , . , i , , , . , .1 . ! , . , , ....
J J J
f •• f
· .
J I I I J J J J t J I J I J I I
J 1 1I f i I ¡ J
I
J ¡
t t
J I J J ¡ ¡
·
I I 1 J J I I
1
,,,, ,, , I I I I J ¡
1 I I J
" J
t
..................!.l ...L.l..l..l ...L!..l...L.!..!..l.j..l ...i...L.J...L.:....!. L.l..l..l..l..l..l..l..l.u:..i ..l.. l..i..l..iul..lul...:... LJ...:... L.l.J.J...L.L.!..t ..LJ...!...L.L.L.L.L..:...L.i...L.~..J...L.;...!...L. )
1:: 1:: 1 f: : . : : ¡ ¡ :! 1 t: J::: I: ~: 1 ~ 1: [~: ¡ ~: 11 1: 1 ~: 11:: 1 :: 1 ¡ 11: ~ } 11:: 1 ~::: I
I t : I : : f : : : t: : 1 : : : f : : • : ! : 1 : : : : : I : f : ~ : ~ 1 : : 1 ! r i : 1 1 : : 1 1: : : ~ f : : : ¡ 1 tI: 1 : : : ¡ 1
Q2 :1.i :1:i iI !! il !i !i i :J'i ! ¡l !¡ i i ! i i :! ~ : i ¡ ! ! : ¡ ¡ ! ~ ! i ¡ i ! i i i ! : f i i ! ! i : i i : i ¡ i ! i i ¡ \1 i t
¡ i ¡J !¡ lt !! !¡ : ,{:!,: l t ! ! ! ,! I I l! 1!! 1 f! 1 !
t ~ ~ ~!}:
1!! J ~ 1 t ~ t, t ~!: J ~ t J t
>
t
L >
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 544 53 77 , 619 142355
JULIO 2012
1.1 Se dispone de una cámara frigorífica con un termómetro digital que mide la temperatura dentro
de dicha cámara. El valor de la temperatura está codificado en complemento a dos mediante 4 bits
[A3 ..AO] siendo A3 el bit más significativo. Se desea generar una seilal digital AL que activará una
alarma cuando la temperatura de la cámara esté por debajo de -2°C ó por encima de +3°C. Rellene
la tabla de verdad de la función AL cOlTespondiente en ftmci6n de los valores de [A3 ..AO].
(5 puntos)
A3 A2 Al AO AL
O O O O
O O O 1
O O 1 O
O O 1 1
O 1 O O
O 1 O 1
O 1 1 O
O 1 1 1
1 O O O
1 O O 1
1 O 1 O
1 O 1 1
1 1 O O
1 1 O 1
1 1 1 O
() 1 1 1 1
F = ¿)O,2,3,8,9,lO,l1,12,13)
XYWZ
xv
wz
F=
I I
1.4 Implemente la flll1ción lógica F del apartado 1.2 utilizando exclusivamente 2 multiplexores de
4 entradas de datos cada uno. Justifique su respuesta. (5 punto:,)
{.
2.1 Se dispone del siguiente circuito con los datos de la Tabla. Teniendo en cuenta que el circuito
debe funcionm- con una señal de reloj, CLK, de frecuencia 50 MHz y que todos los biestables
tienen elmislllo tiempo de set-up, calcule el valor máximo de dicho tiempo de set-up que garantiza
un correcto funcionamiento del circuito en los siguientes casos: (a) reloj con ciclo de ll'abajo del
50%, (b) reloj con ciclo de trabajo diferente al 50%. Justifique su respuesta. (15 puntos)
torooaoación
EN Q O Q Q FF1 YFF3 3 ns
FF2 2 ns
FF1 FF2 FF3 NOR 5ns
(')
Q -Q Q NANO
INV
4 ns
2 ns
, /
CLK
2.2 Determine justificadamente el máximo tiempo de ho1d que pueden tener cada uno de los
biestables (FFI, FF2 Y FF3) suponiendo que la señal de entrada EN tiene la fOll11a temporal de la
Figura, con respecto a la seilal de reloj CLK, y que es periódica. Para este apartado considere una
señal de reloj de 50 MHz Y ciclo de trabajo del 50% . (10 puntos).
1 ns 1 ns
~I+ -... f'IIf-
I I I
CLK jJ I I I I I
O
EN J I I I
Un servicio de METRO posee trenes que circulan en ambos sentidos por vías separadas. Sin
embargo existe una estación donde solamente hay un andén que ambos trenes tienen que compartir.
Para regular el acceso se dispone de 4 sensores (51, 52, 53 Y 54) que detectan la llegada y salida
de un tren generando un "1". También dos semáforos controlados por dos señales (5MI y 5MD)
que pueden ponerse en rojo o verde mediante lUla señal "O" y "1" respectivamente. Por último
existen dos cambios de aguja (CI, CD) que pelmiten desviar los trenes con una señal digital, según
la dirección que se indica en la figura.
Se pretende diseñar un autómata que controle los semáforos y los cambios de agujas.
• _ - - 51 I (1)
--------~~~~~~~~~~~~=~~~-----==
~
J¡;. (O)
Sensores el ~
(-)
" J
';
~
3.1 Teniendo en cuenta que las entradas del autómata son los 4 sensores (51,52,53 Y 54), rellene
la siguiente tabla identificando la situación del andén y/o trenes en cada combinación. Se indican ya
en la tabla las dos primeras combinaciones así como aquellas situaciones que son imposibles. Sea
(\ conciso y claro en la explicación. Utilice excJusivamente el e~pacio provisto en la tabla.
(5 puntos)
51 52 53 54 5ituación
O O 1 O
O O 1 1
O 1 O O
o O
O
1
1
O
1
1
O 1 1 1
1 O O O
1 O O 1 IlVIPOSIBLE. Se van dos trenes simultáneamente. Solo UllO de eHos puede acceder al andén
1 O 1 O
1 O 1 1 IMPOSIBLE. Se van dos trenes simultáneamente. Solo uno de ellos puede acceder al andén
1 1 O O
1 1 O 1 IMPOSIBLE. Se van dos trenes simultáneamente. Solo uno de ellos puede acceder al andén
o 1 1 1 O
1 1 1 1 IMPOSIBLE. Se van dos trenes simultáneamente. Solo uno de ellos puede acceder al andén
3.2 Realice el diagrama de estados de una máquina de MOORE que contIole dicho sistema. Sea
claro en la elaboración de la solución.
Para indicar las transiciones entre estados utilice la notación entradas: 51 52 5354
(15 puntos)
L
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619 142355
l.
o
L
www.monteroespinosa.com - Clases de EDIG - Tfnos 91 5445377 , 619142355