Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Problemas Sistemas Digitales
Problemas Sistemas Digitales
a) u w w x yz
b) v wx x y yz x z
c) w x ( x y ) z zy
d) f A AB ( A B )C ( A B C ) D
e) g AB AC A BC
2.- En una estantera hay 5 libros v, w, x, y, z, que pueden cogerse cumpliendo las
siguientes condiciones (todas las condiciones han de cumplirse a la vez):
a) Se seleccionan v o w o ambos.
b) Se seleccionan x o z, pero no ambos.
c) Se seleccionan o bien v y z juntos, o bien, se hace una seleccin que no
incluya a ninguno de ellos.
d) Si se selecciona y, z tambin debe seleccionarse.
e) Si se selecciona w, v e y tambin deben ser seleccionados.
Construir la funcin lgica que verifique dichas condiciones.
5.- Una funcin de 3 variables f(a, b, c) ha de tomar el valor cero cuando la variable b se
encuentre en estado uno y la variable a no est en estado uno. En los dems casos
posibles ha de adoptar el estado uno.
a) Realizar la tabla de verdad de esta funcin.
b) Obtener las expresiones cannicas de suma de productos y de producto de
sumas.
c) Dibujar los diagramas de Karnaugh en ambos casos y simplificar.
A
7.- Dada las formas de las seales de entrada de un circuito
lgico (a, b, c) y la seal de salida (z) segn el dibujo, B
averiguar el circuito lgico de que se trata.
C
a D
1.- Disear un circuito con cuatro entradas (X, Y, Z, V) y dos salidas (F, G), lo ms
sencillo posible, cuyo comportamiento quede descrito por las siguientes condiciones:
a) Si XY = 00, entonces F = Z y G = V.
b) Si XY = 01, entonces F = 0 y G = Z + V.
c) Si XY = 10, entonces F = ZV y G = 0.
d) Si XY = 11, entonces F = 1 y G = 1.
3.- Disear un circuito digital que sea capaz de detectar temperaturas comprendidas
entre T1 y T2, por un lado, y entre T3 y T4 por otro, verificndose:
T1 < T2 < T3 < T4
Suponer que el sistema toma informacin a partir de cuatro sensores trmicos capaces
de detectar si la temperatura es mayor que una dada. Implementar el circuito con puertas
NAND. Implementarlo tambin con puertas NOR.
4.- Disear un circuito digital capaz de detectar errores en los sensores del sistema
descrito en el ejercicio anterior. Realizar el diseo con puertas a dos niveles AND-OR.
Implementar la realizacin mnima de la funcin y una realizacin para evitar
fenmenos aleatorios estticos y dinmicos.
5.- Realizar un circuito lgico que tenga por entradas los 4 bits de un nmero en cdigo
Gray, y por salidas 4 bits del nmero correspondiente en binario. Hacer lo mismo para
la situacin contraria. Implementar ambos circuitos con puertas XOR.
7.- Se desea transmitir una informacin codificada en binario natural entre dos lugares
alejados fsicamente. Para proteger al sistema frente a posibles errores en la transmisin,
se desea aadir un bit de paridad par. Disear el circuito lgico que genere dicha paridad
e implementarlo con puertas XOR. Disear igualmente un circuito receptor que sea
capaz de detectar si ha habido errores en la transmisin.
2.- Sea un sistema digital que dispone de 16 lneas de peticin de servicio activas en
baja. Disear un circuito que nos muestre a travs de 2 displays el nmero de la lnea de
peticin de servicio de mayor prioridad activa en cada instante. Si no hay ninguna
activa, no mostrar nada. Hacer el diseo con dos codificadores de prioridad 148, dos
conversores de cdigo 48 y dos displays. Utilizar las puertas que sean necesarias.
3.- Se dispone de dos circuitos integrados. El primero de ellos contiene dos sumadores
completos de 2 bits, y el segundo es un multiplexor 151.
Utilizando los dos circuitos anteriores y los inversores que se precisen, disear un
circuito capaz de detectar la presencia de 3 y slo 3 bits a 1 en palabras de 6 bits en
paralelo.
5.- Disear un circuito que realice la suma de un nmero C de 4 bits (c3c2c1c0) con el
mayor de los dos nmeros D (d3d2d1d0) y E (e3e2e1e0). Los tres nmeros estn
codificados en el sistema binario natural. Si los nmeros D y E son iguales, el resultado
ha de ser igual al nmero C. Utilizar para el montaje los circuitos combinacionales
integrados que sean necesarios.
6.- Disear un sumador aritmtico en cdigo BCD para nmeros positivos de una cifra a
partir de dos sumadores integrados 83 y las puertas lgicas que sean necesarias.
Generalizarlo para sumar nmeros BCD de ms de una cifra.
A U T M ATA z
una carretera en la x 2 A S N C R O N O
cual se coloca una
barrera gobernada por D D e te c to r M D e te c to r D
la salida z de un
autmata asncrono. A
500 metros del punto
de cruce se colocan
dos detectores x1 y x2,
respectivamente. A V a f r re a M
partir de un estado B a rre ra s
inicial en el que z = 0,
la salida deber pasar al estado 1 cuando se acerque un tren en cualquier sentido al
rebasar su mquina los 500 metros del cruce y deber volver al estado 0 cuado el ltimo
vagn se aleje ms de dicha distancia independientemente de la longitud del tren.
Disear dicho autmata asncrono suponiendo que los trenes no van a cambiar la
direccin de su marcha, y que no puede haber ms de un tren en el cruce al mismo
tiempo.
3.- Disear un circuito secuencial asncrono con 2 entradas D y C, y una salida Q, tal
que la salida se haga igual a D en el instante en que C pase de 0 a 1. En el resto de los
casos Q no debe cambiar. Suponer que las dos entradas D y C no pueden cambiar
simultneamente. Implementar el circuito con biestables R-S constituidos por puertas
NAND.
X1
Nota: dos impulsos sucesivos en X1 con X2=0 son:
1 2
X2=0
5.- Disear un biestable r-s activado por flanco de bajada. Realizar el circuito utilizando
biestables R-S.
Reset
Set
CLK
2.- Complete el diagrama temporal del siguiente circuito. Observe que las entradas de
reloj de los dos biestables son diferentes. La seal de Reset es asncrona. Q 1 y Q2 valen
inicialmente cero.
Reset
Q1 Q1 Q2 Q2 CLK
Reset Reset
Reset
CLK D1 CLK D2 Q1
Q2
1.- Se dispone de una seal digital peridica C de perodo T y ancho de impulso T/10. A
partir de dicha seal y en sincronismo con sus flancos de subida se necesita generar otra
seal peridica S cuyo perodo y ancho de impulso deben ser seleccionables mediante
dos seales de control C0 y C1 tal y como se indica en la tabla adjunta.
2.- Un circuito secuencial tiene dos entradas (X1, X2) y dos salidas (Z1, Z2). Las entradas
representan un nmero en binario natural N de 2 bits. Si el valor presente de N es mayor
que el valor inmediatamente anterior, entonces la salida Z1 se pone a 1. Si dicho valor es
menor, Z2 se pone a 1. En cualquier otro caso, Z 1 = Z2 = 0. Suponer que el circuito se
inicializ hace tiempo.
a) Describir el diagrama de flujo del sistema como autmata de Mealy.
b) Cuntos estados tendr el circuito equivalente de Moore?
c) Disear el circuito con flip-flops tipo D activos con el flanco negativo de la
seal de reloj.
3.- Los nmeros entre 0 y 3, expresados en binario natural, se transmiten en serie por
una lnea de datos Y. Primero se transmite el bit ms significativo. La transmisin est
sincronizada con una seal de reloj. Se desea disear un circuito secuencial tal que la
salida Z nos entregue un 1 durante el tiempo del segundo bit si la combinacin que lleg
a travs de Y fue 0 3, permaneciendo el resto del tiempo a 0. Por ltimo, la entrada X
es la nica que puede inicializar el sistema: X = 1 provoca el paso al estado inicial, y en
ese estado queda el sistema hasta que X = 0. En el momento que X = 0, de nuevo se
tratar de detectar el 0 o el 3 (X = 1 obliga a Z = 0).
X
D e te c to r
Z
de 0 y 3
Y
4.- Disear un divisor de frecuencia por 3 sncrono con flip-flops JK activados por el
flanco negativo.
5.- Disear un sistema secuencial capaz de detectar la secuencia 11010 en una lnea X
de datos serie sincronizados con una seal de reloj C:
a) Como autmata de Moore.
b) Como autmata de Mealy.
c) Con un registro de desplazamiento.
6.- Disear un generador de secuencias que, a partir de una seal de reloj C, produzca
las seales S1 a S8 que aparecen representadas en la figura. Utilizar para ello un contador
integrado 161, un decodificador integrado 138 y las puertas NAND que sean
necesarias.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R e lo j
S 1
S 2
S 3
S 4
S 5
S 6
S 7
S 8
7.- Construir un registro que permita realizar las siguientes operaciones: escritura desde
un bus, lectura a un bus, complemento y puesta a cero. Todas ellas debern ser sncronas
salvo la de lectura. Implementarlo con flip-flops JK y la lgica que sea necesaria.
Todas estas operaciones deben efectuarse en sincronismo con la seal de reloj. Efectuar
el diseo utilizando flip-flops tipo D y los circuitos combinacionales integrados que
sean necesarios.
9.- Disear un contador binario sncrono de mdulo 16 con flip-flops JK activados por
flanco de subida. Generalizar el montaje para cualquier contador de mdulo 2 n, con n
entero.
f) u w w x yz (Taub 33)
u (1) ww x yz ( 2) w( w x )( y z ) (3) w( y z ) u w( y z )
v (1) wx yz x( y z ) ( 2) wx yz x yz (3) wx yz x ( 4) x yz
v x yz
donde hemos aplicado (1) PE A(B+C)=AB+AC, (2) T7 De Morgan,
(3) T5 A+ A B=A+B, (4) T4 ley de absorcin A + AB=A.
h) w x ( x y ) z zy (Taub 32)
w (1) x ( x y ) z y ( 2) xx x y z y (3) x y z y ( 4) z y
w z y
f (1)( A B ) ( A B )C ( A B C ) D ( 2)( A B C ) ( A B C ) D
(3)( A B C D )
f A B C D
donde hemos aplicado (1), (2), (3) T5 A+ A B=A+B
j) g AB AC A BC (Floyd 221)
f A BC
donde hemos aplicado (1) y (2) T7 De Morgan, (3) PE prop. distributiva, (4) T3
AA=A y PE A(B+C)=AB+AC, (5) T2 A+1=1, (6) y (7) T4 ley de absorcin A +
AB=A
2.- En una estantera hay 5 libros v, w, x, y, z, que pueden cogerse cumpliendo las
siguientes condiciones (todas las condiciones han de cumplirse a la vez): (Taub 35)
f) Se seleccionan v o w o ambos.
g) Se seleccionan x o z, pero no ambos.
h) Se seleccionan o bien v y z juntos, o bien, se hace una seleccin que no
incluya a ninguno de ellos.
i) Si se selecciona y, z tambin debe seleccionarse.
j) Si se selecciona w, v e y tambin deben ser seleccionados.
Construir la funcin lgica que verifique dichas condiciones.
Como todas las proposiciones han de cumplirse a la vez las funciones derivadas de las
distintas condiciones han de enlazarse mediante una operacin AND.
f (v w)( x z )(v z )( y z )( w vy )
f (v w)( x z xz )(v z vz )( y z )( w vy )
(1) ( 2) ( 3) (4) ( 5)
(vz vw z )( w vy ) v wz vvyz
vw w z vvwy z v wz vyz
vyz 0 0
( x z xz )( y z ) x y z xz z x yz xzz x yz x yz xz
0 xz
La funcin vale:
f (v wz vyz )( x y z x y z xz )
f (v wzx y z v wz x yz v
w zxz vyzx y z vyz x yz vyz xz )
0 v w x yz v w xz 0 0 vy xz
f v xz ( w y )
d) a (b c) ab ac
f X YZ X YZ X (Y Z ) X Y X Z
Vemos que la funcin que se nos dice no es el complemento de la funcin inicial. Si
adems calculamos la tabla de verdad de las tres funciones observaremos que la que
hemos calculado es la nica correcta.
X Y Z X Y Z XY XZ YZ X+YZ XY Z XY X Z
0 0 0 1 1 1 1 1 0 0 1 1
0 0 1 1 1 0 1 0 0 0 1 1
0 1 0 1 0 1 0 1 0 0 1 1
0 1 1 1 0 0 0 0 1 1 0 0
1 0 0 0 1 1 0 0 0 1 1 0
1 0 1 0 1 0 0 0 0 1 0 0
1 1 0 0 0 1 0 0 0 1 1 0
1 1 1 0 0 0 0 0 1 1 0 0
5.- Una funcin de 3 variables f(a, b, c) ha de tomar el valor cero cuando la variable b se
encuentre en estado uno y la variable a no est en estado uno. En los dems casos
posibles ha de adoptar el estado uno. (Mandado 42, Padilla 37)
d) Realizar la tabla de verdad de esta funcin.
a b c f
0 0 0 1
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
Como producto de sumas nos fijamos en las combinaciones para las que la
funcin da cero. Obtendremos los productos cannicos que faltan en la
expresin anterior.
f (2,3) ( a b c )(a b c )
ab ab
c 00 01 11 c10 00 01 11 10
0 1 1 01 4 0
0 2 6 0 2 6 4
1 1 1 11 0
1 3 7 5 1 3 7 5
b a ab
f ( a, b, c ) a b
IV III
Bloque I:
F = a+b A
a= c d e
b= C D B
Bloque II: f
c= A C
d= e f
D
Bloque III:
e=AB
f=C
Si sustituimos:
F (c d ) (C D ) ( A e f ) (C D ) ( A ABC ) (C D )
Simplificamos al mximo:
donde hemos aplicado (1) T7 (leyes de Morgan), (2) T3 (AA=A) y (3) T4 (ley de
aborcin).
Finalmente: F CD
7.- Dada las formas de las seales de entrada de un circuito lgico (a, b, c) y la seal de
salida (z) segn el dibujo, averiguar el circuito lgico de que se trata.
a 0 0 0 1 1 0 0 1 0 0 1 1
b 1 0 1 0 0 1 0 0 0 0 1 1
c 1 1 0 1 0 0 0 0 1 0 1 0
z 0 1 1 0 1 1 0 1 1 0 1 0
a b c z
0 0 0 0 ab
c 00 01 11 10
0 0 1 1
0 1 0 1
0 0 1 0 1
0 1 1 0 0 2 6 4
1 0 0 1 1 1 0 0
1
1 0 1 0 1 3 7 5
1 1 0 0
1 1 1 1
No se puede realizar ninguna agrupacin as que tomamos todos los 1 o todos los 0.
abc
c
1.- Disear un circuito con cuatro entradas (X, Y, Z, V) y dos salidas (F, G), lo ms
sencillo posible, cuyo comportamiento quede descrito por las siguientes condiciones:
(Sin referencia)
e) Si XY = 00, entonces F = Z y G = V.
f) Si XY = 01, entonces F = 0 y G = Z + V.
g) Si XY = 10, entonces F = ZV y G = 0.
h) Si XY = 11, entonces F = 1 y G = 1.
10 1 1
Para la funcin F: 2 6 14 10
X Y Z X Z V
F X Y X Z V X Y Z
Para G:
X Y
XY
00 01 11 10
ZV
00 1
0 4 12 8
G X Y Y Z X V
01 1 1 1
1 5 13 9
11 1 1 1
3 7 15 11
10 1 1
2 6 14 10
X V Y Z
Implementado en un circuito AND-OR: X X Y Z
Y
Z
X
Z
XZV F X Y
V
X X Y
Y
Y YZ G X Y
Z
X X V
V
Decima A B C D f
l
0 0 0 0 0 1
1 0 0 0 1 1
2 0 0 1 0 1
3 0 0 1 1 0
4 0 1 0 0 0
5 0 1 0 1 0
6 0 1 1 0 0
7 0 1 1 1 0
8 1 0 0 0 1
9 1 0 0AB 1 1
- 1 0 CD1 000 * 01 11 10
- 1 0 1 1 *
- 1 1 000 0 1 *0 * 12 1
- 1 1 0 1 *
4 8
BC
- 1 1 011 0 1 *1 5
* 1 9
13
- 1 1 1 1 *
11 * *
3 7 15 11
b) Minimizamos la expresin mediante el
diagrama de Karnaugh expresando la 10 1 * *
funcin como suma de productos y como 2 6 14 10
producto de sumas.
BD
f (0,1,2,8,9) (10,11,12,13,14,15)
como suma de productos
BC BD
AB
00 01 11 10
CD
00 0
0 * 12
4 8
01
1
0
5
*
13 9
CD
11 0 0 * *
3 7 15 11
10 0 * *
2 6 14 10
B
f (3,4,5,6,7) (10,11,12,13,14,15) B(C D) como producto de sumas
f BC BD ( BC )( BD )
B
C f ( BC )( BD)
B
D
d) Complementando dos veces la funcin expresada como producto de sumas podemos
representarla con puertas NOR.
f B(C D) B (C D)
B
f B (C D )
C
D
Vemos que la representacin con puertas NOR requiere una puerta menos.
3.- Disear un circuito digital que sea capaz de detectar temperaturas comprendidas
entre T1 y T2, por un lado, y entre T3 y T4 por otro, verificndose:
T1 < T2 < T3 < T4
Suponer que el sistema toma informacin a partir de cuatro sensores trmicos capaces
de detectar si la temperatura es mayor que una dada. Implementar el circuito con puertas
NAND. Implementarlo tambin con puertas NOR. (Sin referencia)
(1) TT1 A=0 (2) TT1 A=1 (3) TT1 A=1 (4) TT1 A=1 (5) TT1 A=1
TT2 B=0 TT2 B=0 TT2 B=1 TT2 B=1 TT2 B=1
TT3 C=0 TT3 C=0 TT3 C=0 TT3 C=1 TT3 C=1
TT4 D=0 TT4 D=0 TT4 D=0 TT4 D=0 TT4 D=1
Nunca puede darse el caso de que un sensor asociado a una Ti sea 0 y otro asociado a
una Tj con j>i sea 1, pues significara que la T es menor que una de referencia pero
mayor que otra de mayor valor que la primera.
A B C D f
0 0 0 0 0
0 0 0 1 *
0 0 1 0 *
0 0 1 1 *
0 1 0 0 *
0 1 0 1 *
0 1 1 0 *
0 1 1 1 *
1 0 0 0 1
1 0 0 1 *
1 0 1 0 *
1 0 1 1 *
1 1 0 0 0
Problemas Tema 7 Pgina 22
1 1 0 1 *
1 1 1 0 1
1 1 1 1 0
Sistemas Digitales
AB
CD
00 01 11 10 AB
00 0
* 4
1
12 8
01 * * * *
1 5 13 9
11 * * *
3 7 15 11
10 * * 1 *
2 6 14 10
1
CD
f (8,14)
(1,2,3,4,5,6,7,9,10,11,13)
AB C D
como suma de productos.
A BC
AB
00 01 11 10
CD
00 0 0
* 0
4 12 8
01 * * * *
1 5 13 9
f (0,12,15) (1,2,3,4,5,6,7,10,11,13) como
11 * * 0 *
3 7 15 11
( A)( B C )D
10 * * *
2 6 14 10
1
producto de sumas.
D
f AB C D ( A B )(C D )
A
B
f ( AB)(C D)
C
D
Para implementarlo con puertas NOR complementamos dos veces la funcin expresada
como producto de sumas.
f ( A)( B C )( D ) A ( B C ) D
4.- Disear un circuito digital capaz de detectar errores en los sensores del sistema
descrito en el ejercicio anterior. Realizar el diseo con puertas a dos niveles AND-OR.
(Aado yo:) Implementar la realizacin mnima de la funcin y una realizacin para
evitar fenmenos aleatorios estticos y dinmicos. (Sin referencia).
Ocurrir un error en el sistema anterior siempre que se de alguna de las situaciones que
marcamos como no realizables. Tenemos pues que definir una funcin que de uno en las
combinaciones que marcamos antes con un *. La tabla de verdad sera.
A B C D f
0 0 0 0 0
0 0 0 1 1
0 0 1 0 1
0 0 1 1 1
0 1 0 0 1
0 1 0 1 1
0 1 1 0 1
0 1 1 1 1
1 0 0 0 0
1 0 0 1 1
1 0 1 0 1
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
1 1 1 1 0
Como tenemos que realizar un circuito AND-OR expresaremos la funcin como suma
de productos. Si dibujamos el diagrama de de Karnaugh
AB
y simplificamos, 00 01 11 10
CD
00 0
1 4 CD
12 8
01 1 1 1 1
1 5 13 9
11 1 1 1
3 7 15 11
10 1 1 1
2 6 14 10
1
BC AB AD
f AB BC C D
A
B
B f A
C
C
D
Para conseguir una realizacin segura hemos de cubrir todas las adyacencias, lo que se
consigue solapando todas las agrupaciones del mapa de Karnaugh. Si aadimos el
trmino en lnea discontinua conseguimos el solapamiento de todos los productos.
f AB BC C D AD
A
B
B
C
C
D
A
D
5.- Realizar un circuito lgico que tenga por entradas los 4 bits de un nmero en cdigo
Gray, y por salidas 4 bits del nmero correspondiente en binario. Hacer lo mismo para
la situacin contraria. Implementar ambos circuitos con puertas XOR. (Mandado 128)
00 1 1
0 4 12 8 g 3 g 2
01 1 1
1 5 13 9
11 1 1
3 7 15 11
10 1 1
2 6 14 10
g 3g 2
g3 g2 g 3g 2g1
00 01 11 10
g1 g0
00 1 1
0 4 12 8 g 3g 2g1
01 1 1
1 5 13 9
11 1 1
3 7 15 11
10 1 1
2 6 14 10
g 3g 2g1 g 3g 2g1
b1 g 3 g 2 g1 g 3 g 2 g1 g 3 g 2 g1 g 3 g 2 g1 g 3( g 2 g1 g 2 g1) g 3( g 2 g1 g 2 g1)
g 3( g 2 g1) g 3( g 2 g1) g 3 g 2 g1 b 2 g1
Por ltimo para b0:
g 3 g 2g1g 0 g 3 g 2 g1g 0
g3 g2
00 01 11 10
g1 g0
1
g 3g 2g1 g 0
00 0 1 4 12 8
01 1
1 5
1
13 9
g 3 g 2 g1g 0
11 1 1
3 7 15 11
g 3 g 2g1g 0
10 1 1
2 6 14 10
g 3 g 2 g1g 0 g 3 g 2 g1g 0
g 3 g 2 g1g 0
b0 g 3 g 2 g1 g 0 g 3 g 2 g1 g 0 g 3 g 2 g1 g 0 g 3 g 2 g1 g 0
g 3 g 2 g1g 0 g 3 g 2 g1 g 0 g 3 g 2 g1g 0 g 3 g 2 g1 g 0
g 0( g 3 g 2 g1 g 3 g 2 g1 g 3 g 2 g1 g 3 g 2 g1)
g 0( g 3 g 2 g1 g 3 g 2 g1 g 3 g 2 g1 g 3 g 2 g1)
g 0( g 3 g 2 g1) g 0( g 3 g 2 g1) g 3 g 2 g1 g 0 b1 g 0
b3 g 3
b2 b3 g 2
b1 b2 g1
b0 b1 g 0
(msb) g3
00 1 1
0 4 12 8 b3b 2
01 1 1
1 5 13 9
11 1 1
3 7 15 11
10 1 1
2 6 14 10
b3 b2 b3b 2
00 01 11 10
Como la tabla de Karnaugh es igual a la que b1 b0
obtuvimos para b2 tendremos:
00 1 1
0 4 12 8
g 2 b3 b 2 b 2b1
01 1 1
Calculamos la expresin de g1: 1 5 13 9
11 1 1
3 7 15 11
10 1 1
2 6 14 10
b3 b2
00 01 11 10
b1 b0
00 0 4 12 8
b1b0
Con lo que g 0 b1b0 b1b0 b1 b0 01 1 1 1 1
1 5 13 9
11
3 7 15 11
10 1 1 1 1
2 6 14 10
b1b0
En resumen:
g 3 b3
g 2 b3 b2
g1 b2 b1
g 0 b1 b0
(msb) b3 g3 (msb)
g2
b2
g1
b1
g0 (lsb)
(lsb) b0
Dibujamos la tabla de verdad para ambos valores de la seal de control. Con E=0 la
funcin dar cero si el nmero decimal es par y para E=1 dar cero si el nmero decimal
es mltiplo de 3.
E=0 E=1
Problemas Tema 7 Pgina 31
Sistemas Digitales
7.- Se desea transmitir una informacin codificada en binario natural entre dos lugares
alejados fsicamente. Para proteger al sistema frente a posibles errores en la transmisin,
se desea aadir un bit de paridad par. Disear el circuito lgico que genere dicha paridad
e implementarlo con puertas XOR. (Aado yo:) Disear igualmente un circuito receptor
que sea capaz de detectar si ha habido errores en la transmisin.(Sin referencia)
Vamos a considerar que se transmiten tres bits y generaremos el 4 bit como bit de
paridad par. La funcin generar un 1 cuando en el nmero binario haya un nmero
impar de unos y un 0 en caso contrario. De esta manera el nmero de 4 bits que se
transmite siempre tendr un nmero par de unos.
a b c P
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
abc abc
ab
c 00 01 11 10
0 1 1 abc
0 2 6 4
1 1
1 3
1
7 5
abc
El circuito por tanto comprendera dos puertas XOR, pues no se utilizan normalmente
XOR de ms de dos entradas:
P
c
P
(paridad del emisor)
O visto de otra manera, si en una secuencia la paridad es par (nmero par de 1s) la
XOR de todos los bits (incluyendo el de paridad) dar siempre cero.
Denominaremos las 6 entradas como I5I0 y las 64 salidas como O0 O63 , activas
por nivel bajo. Cada decodificador 138 posee 3 entradas y 8 salidas, de manera que con
8 de los decodificadores abarcamos las 64 salidas. El noveno decodificador lo vamos a
utilizar para seleccionar cual de los 8 decodificadores est activo. Cada salida de este
decodificador ( O0 x O7 x ) habilitar uno solo de los restantes decodificadores. Este
decodificador recibir como entradas los tres bits ms significativos de la entrada (I 5 I4
I3), mientras que los otros 8 decodificadores recibirn como entrada los tres menos
significativos (I2 I1 I0). Creamos una tabla en la que mostramos el decodificador activo y
las posibles salidas segn los valores de los tres bits ms significativos de la entrada.
I5 I4 I3 Salidas Decodificador
0 0 0 0-7 a
0 0 1 8-15 b
0 1 0 16-23 c
0 1 1 24-31 d
1 0 0 32-39 e
1 0 1 40-47 f
1 1 0 48-55 g
1 1 1 56-63 h
Por ejemplo si los tres bits ms significativos valen 011 estar activo el
decodificador d y dependiendo de los tres bits menos significativos de la entrada la
salida podr valer desde 24 (011 000) hasta 31 (011 111).
El noveno decodificador (x) recibe las entradas ms significativas (I5 I4 I3) y genera
una salida que actuar directamente sobre la entrada de habilitacin del decodificador
correspondiente. Para habilitar un decodificador es necesario que E 1=E2=0 y E3=1. La
seal E es la entrada de habilitacin general de todo el circuito.
I5 I4 I3
E1x E E
2x 3x
O0 xO1 xO 2 O
x 3O O O6O
x 4x 5x x 7x
Cada uno de los otros ocho decodificadores decodifica los tres bits menos
significativos cuando lo habilite el decodificador x.
O0 x O7 x
I2 I1 I0 I2 I1 I0
x x
Ea I2a I1a I0a Eh I2h I1h I0h
DECODIFICADOR `138 DECODIFICADOR `138
(a) (h)
O0a O1a O2a O3a O4a O5a O6a O7a O0h O1h O2h O3h O4h O5h O6h O7h
Estudiemos el caso en que la entrada vale 011 010. El decodificador x est habilitado
(E=1). Recibe los tres bits ms significativos (011) y activa (pone a cero) su salida O3 x
, pues a la entrada en binario le corresponde el decimal 3. Esta salida acta sobre la
entrada de habilitacin del decodificador d, cuyas salidas abarcan del 24 al 31. El
decodificador d decodifica los tres bits menos significativos de la entrada (I 2 I1 I0)
activando su salida nmero 2 (la correspondiente al cdigo binario de los tres bits
menos significativos de la entrada). Esta salida es la nmero 26, con lo que hemos
decodificado los 6 bits de entrada.
2.- Sea un sistema digital que dispone de 16 lneas de peticin de servicio activas en
baja. Disear un circuito que nos muestre a travs de 2 displays el nmero de la lnea de
peticin de servicio de mayor prioridad activa en cada instante. Si no hay ninguna
activa, no mostrar nada. Hacer el diseo con dos codificadores de prioridad 148, dos
conversores de cdigo 48 y dos displays. Utilizar las puertas que sean necesarias.
I0a I1a I2a I3a I4a I5a I6a I7a EIa I0b I1b I2b I3b I4b I5b I6b I7b EIb
CODIFICADOR `148 CODIFICADOR `148
(a) (b)
O2a O1a O0a EOa GSa EOb GSb O2b O1b O0b
EO GS O3 O2 O1 O0
Para A0b:
O3 O2
O3O2
00 01 11 10
O1O0
00 1
0 4 12
A0b O3 O 2 O3 O1
8
01 1
1 5 13 9
11 1 1
3 7 15 11
O3O2
00 01 11 1 10 1
O O 10
1 0 2 6 14 O3 O1
10
1 8 O3 O 2 O1
Para A3a: 00 0 4 12
01 1
1 5 13 9
11
3 7 15 11
10 A3 a O3 O 2 O1
2 6 14 10
Para A2a:
O3O2 O3 O2
00 01 11 10
O1O0
00 0
1 4 12 8
01 A2 a
1 O3 O2 O2 O1
1 5 13 9
11 1 1
3 7 15 11
10 1 1
2 6 14 10
O 2 O1
Para A1a:
O3 O2 O1
O3O2
00 01 11 10
O1O0
00 0
1
4 12 8
01 A1a O3 O11 O3 O 2 O1
1 5 13 9
11 1 1
3 7 15 11
10 1 1
2 6 14 10
O3 O1
A3a A2a
GS
0
CONVERSOR DE CONVERSOR DE
CDIGO `48 CDIGO `48
(b) (a)
a b c d e f g a b c d e f g
RBO b RBO a
Dgito ms significativo Dgito menos significativo
(Decenas) (Unidades)
3.- Se dispone de dos circuitos integrados. El primero de ellos contiene dos sumadores
completos de 2 bits, y el segundo es un multiplexor 151.
Utilizando los dos circuitos anteriores y los inversores que se precisen, disear un
circuito capaz de detectar la presencia de 3 y slo 3 bits a 1 en palabras de 6 bits en
paralelo. (Padilla 74)
Luego:
a b cn N 1 cn+1 s
0 0 0 0 0 0 0
1 0 0 1 1 0 1 N 1 cn+1 s
2 0 1 0 1 0 1 0 0 0
3 0 1 1 2 1 0 1 0 1
4 1 0 0 1 0 1 2 1 0
5 1 0 1 2 1 0 3 1 1
6 1 1 0 2 1 0
7 1 1 1 3 1 1
Utilizando esta ltima tabla que relaciona el nmero de bits a uno en la entrada con la
salida del sumador podemos generar la tabla de verdad de la funcin que detecta la
presencia de solo 3 bits a uno en la palabra de 6 bits. Basta con estudiar las
combinaciones de la salida de los dos sumadores correspondientes a entradas de 6 bits
que solo tienen 3 bits a uno. En todos estos casos la funcin debe dar 1 pues se ha
detectado la presencia de tres unos en la entrada.
N 1 Sa N 1 Sb Ca Sa Cb Sb f
0 3 0 0 1 1 1
1 2 0 1 1 0 1
2 1 1 0 0 1 1
3 0 1 1 0 0 1
Si aplicamos las salidas Ca, Sa, Cb a las entradas de seleccin (SL) del multiplexor
vemos que las entradas del multiplexor han de tomar los siguientes valores.
SL2 = Ca I1 = S b I0 = I2 = I5 = I7 =0
SL1 = Sa I3 = S b
SL0 = Cb I4 = S b
I6 = S b
A5 A4 A3 A2 A1 A0
A0 B0 CI A0 B0 CI
SUMADOR (a) SUMADOR (b)
CO S0 CO S0
Ca Sa Cb Sb
0
0
MULTIPLEXOR `151
Z=f Z
Veamos un ejemplo. Supongamos que el nmero es el 110 001, que tiene tres unos. La
salida del sumador a (suma los 3 bits ms significativos) es Sa=0 Ca=1. El sumador b
nos da Sb=1 Cb=0. Los bits Ca, Sa, Cb (100) direccional la entrada I 4 del multiplexor
que vale Sb, es decir, uno.
f ( a, b, c, d ) (0,2,4,5,6,11,12,14)
I0 = d , I1 = d , I2 = 1, I3 = d , I4 = 0, I5 = d, I6 = d , I7 = d
El circuito sera:
d
Multiplexor
habilitado
1 0 a bc 0
I0 I1 I2 I3 I4 I5 I6 I7 S2 S1 S0 E
MULTIPLEXOR `151
Z=f Z
5.- Disear un circuito que realice la suma de un nmero C de 4 bits (c3c2c1c0) con el
mayor de los dos nmeros D (d3d2d1d0) y E (e3e2e1e0). Los tres nmeros estn
codificados en el sistema binario natural. Si los nmeros D y E son iguales, el resultado
ha de ser igual al nmero C. Utilizar para el montaje los circuitos combinacionales
integrados que sean necesarios.
Necesitamos hacer una comparacin, una seleccin y una suma por lo que usaremos un
comparador binario `85, un multiplexor `157 y un sumador completo de cuatro bits `83.
El comparador `85 compara dos nmeros de cuatro bits y genera tres bits de salida:
OA>B=1 si A>B, OA<B=1 si A<B y OA=B=1 si A=B y la entrada de conexin IA=B=1.
A3 A2 A1 A0 B3 B2 B1 B0
IA>B
A B
IA=B
COMPARADOR `85
IA<B
Utilizaremos este integrado con la entrada I A=B=1 para comparar los nmeros D y E. Las
salidas las aplicaremos directamente al multiplexor `157. Si la entrada A / B del
multiplexor vale cero tendremos como salida los cuatro bits del nmero A, si vale uno
tendremos B. En cualquiera de los casos si el multiplexor no est habilitado la salida es
cero. Conectando la salida OA<B del comparador a la entrada A / B del multiplexor y la
salida OA=B a la entrada de habilitacin del multiplexor tendremos como salida del
multiplexor el mayor de los nmeros D y E, y si son iguales la salida ser cero.
A3 A2 A1 A0 B3 B2 B B A / BE
1 0
A B
MULTIPLEXOR `157
Z =A B
Z3 Z2 Z1 Z0
Por ltimo solo nos queda sumar esta salida con el nmero C utilizando para ello un
sumador `83. El circuito sera el siguiente:
d3 d2 d1 d0 e3 e2 e1 e0
A A A A B3 B2 B1 B0
IA>B 3 2 1 0
1 IA=B COMPARADOR `85
IA<B OA<B OA=B OA>B
d3 d2 d1 d0 e3 e2 e1 e0
A3 A2 A1 A0 B3 B2 B B A / B
1 0 E
MULTIPLEXOR `157
Z3 Z2 Z1 Z0
c3 c2 c1 c0 0
A3 A2 A1 A0 B3 B2 B1 B0 CI
SUMADOR `83
S3 S2 S1 S0 CO
6.- Disear un sumador aritmtico en cdigo BCD para nmeros positivos de una cifra a
partir de dos sumadores integrados 83 y las puertas lgicas que sean necesarias.
Generalizarlo para sumar nmeros BCD de ms de una cifra. (Padilla 55)
Un nmero en BCD de una cifra se corresponde con un cdigo binario de cuatro bits
en el que hemos representado un nmero del 0 al 9. Si sumamos dos dgitos en BCD
con un sumador `83 obtendremos una salida de cuatro bits ms un posible acarreo. Esta
salida est en binario, no en BCD. Hemos de disear un circuito que transforme esa
salida en dos dgitos BCD pues puede que el resultado de la suma sea superior a 9.
S3 S2 S3 S2
Como se puede observar para las
00 10 01 11 10
combinaciones de C, S3, S2, S1 y S0 de la tabla, 00 01S1 S0 11
S1 S0
obtenemos el cdigo BCD correcto si
001 1 16 * 20 S3S2 * *
sumamos 6 al resultado de la suma en binario 00 28 24
0 4 12 8
Adems hemos de poner el dgito BCD ms
significativo a uno. Representamos en un 01 011 1 * * *
17 21 29 25
1 5 13 9
diagrama de Karnaugh con un 1 los resultados
de la suma para los que hay que corregir. 11 11 * * * *
7
1 15 191 11 23 31 27
Tenemos 5 variables por lo que hemos de 3
hacer dos tablas, una para C=0 y otra para 10 101 1 1 * S3S*1 *
18 22 30 26
C=1. Resultados de la suma por encima de 18 2 6 14 10
nunca se van a dar. C=0 C C=1
Vemos que en el caso de C=1 siempre hay
que corregir, como ya sabamos. Las agrupaciones hechas en la tabla de C=0 se solapan
con las de la tabla C=1 con lo que variable C desaparece. La expresin final de la
funcin (Cout) que nos indica cuando hay que corregir el resultado es:
Cout C S 3 S 2 S 3 S1
En el circuito usaremos dos sumadores: uno para sumar los dos nmeros BCD de un
dgito (A0 y B0) y el otro para sumar 6 al resultado en los casos en los que Cout valga uno.
Para generalizar este montaje hemos de considerar que se podra dar tambin la
situacin de tener que sumar dos BCDs de valor 9 ms un acarreo de la suma anterior.
Esto nos obliga a aadir otra lnea en la tabla anterior.
A3 A2 A1 A0 B3 B2 B1 B0 CI
Resultado
en binario
Cout 0
0
A3 A2 A1 A0 B3 B2 B1 B0 CI
S3 S2 S1 S0 CO
Resultado en Resultado en
BCD: MSD BCD: LSD
Sin embargo en el diagrama de Karnaugh solo tendramos que sustituir un * que
habamos considerado como 1 por un uno, con lo que la funcin Cout no se vera
afectada.
distintos dgitos de la suma BCD se corresponderan con las salidas de los sumadores
(b).
a) Los dos nmeros de 4 bits, A (A 3A0) y B (B3B0) pueden ser tanto positivos
como negativos, estando expresados en este ltimo caso en C2. La suma se
realiza directamente, pero para implementar la resta hemos de hacer el C2 de
uno de los nmeros, B. Al hacer el C2 cambiaremos el signo de B, tanto si era
positivo como negativo pues el C2 de un nmero en C2 es el nmero positivo.
El C2 implica invertir todos sus bits y sumarle uno. Si observamos la tabla de
verdad de la funcin XOR de dos bits vemos que el resultado coincide con el
valor del primer bit (a) invertido en los casos en que el segundo bit (b) es uno.
a b XOR
0 0 0
0 1 1
1 0 1
1 1 0
B3 B2 B1 B0
A
R/S
B
A3 A2 A1 A0
CI
A B
SUMADOR `83
S=A+B
S3 S2 S1 S0 CO
DB B3 A3 S 3 B3 A3 S 3
B3 B2 B1 B0
R/S
A3 A2 A1 A0
CI
DB A B
SUMADOR `83
S3 S2 S1 S0 CO
B7 B6 B5 B4 B3 B2 B1 B0
R/S
A7 A6 A5 A4 A3 A2 A1 A0
CI CI
A B A B
SUMADOR `83 (b) SUMADOR `83 (a)
CO
S7 S6 S5 S4 CO S3 S2 S1 S0
DB
x1
x2
t
z
1 2 3 4 1 2 4 1 2 5 6 1
Entr. 00
E.A/Sal.
00 01 4/0 01
3/0
00 10
1/0 2/0 00
01
10 01
11 5/1 6/1 01
11
00
Los estados representan lo siguiente:
Despus de los estados 4 y 6 se vuelve al estado inicial para comprobar nuevas barras.
x1 x2 00 01 11 10 z
A 1 -- -- 2 0
B 3 4 5 2 0
C 3 4 -- -- 0
D 1 4 -- -- 0
E - 6 5 -- 1
-
F 1 6 -- -- 1
Los estados estables 1 y 3 son pseudoequivalentes con lo que podemos sustituir las
lneas A y C por A. Los estados estables 4 y 6 no son equivalentes pues tienen salidas
distintas.
x1 x2 00 01 11 10 z
A-C A 1 4 -- 2 0
B 1 4 5 2 0
C 1 4 -- -- 0
D -- 6 5 -- 1
E 1 6 -- -- 1
Observando la tabla se deduce que las lneas A, B y C son fusionables al igual que D
y E. Dibujamos el diagrama de fusin y la tabla de fases reducida.
D A B
x1 x2 00 01 11 10 z
A-B-C 1 4 5 2 0
D-E 1 6 5 -- 1
E C
Vemos que slo existen dos lneas y que a
cada una de ellas le corresponde una salida con lo que el autmata resultante ser un
autmata de Moore (la salida no depende de las variables de entrada). Dibujamos ahora
la tabla de fases final reducida y el diagrama de flujo, que incluyen las matrices de
excitacin y de salida. Para dibujar la tabla de fases se ha de tener en cuenta que los
estados estables de una misma lnea representan el mismo estado.
1, 2, 4 1
5, 6 2
11
x1 x2 00 01 11 10
1 1 /0 1 /0 2 /* 1 /0 00 01
01 1/0 2/1 11
2 1 /* 2 /1 2 /1 * /* 10
00
Al haber slo dos lneas en la tabla de fases nicamente necesitamos una variable de
estado para codificar las lneas. Asignaremos el valor y=0 a la lnea 1 e y=1 a la lnea
2. Como slo tenemos una variable de estado nunca se darn transiciones crticas entre
estados internos adyacentes. Realizamos por ltimo las tablas de excitacin y de salida e
implementamos el circuito.
x1 x2 x1 x2
y 00 01 11 10 y 00 01 11 10
0 0 0 1 0 0 0 0 * 0
1 0 1 1 * 1 * 1 1 *
Y Z Z=y
Y = x1x2 + yx2 = x1 x 2 yx 2 ( x1 x 2 )( yx 2 )
x1
x2 Y=Z
C a r re te ra
A U T M ATA z
una carretera en la x 2 A S N C R O N O
cual se coloca una
barrera gobernada por D D e te c to r M D e te c to r D
la salida z de un
autmata asncrono. A
500 metros del punto
de cruce se colocan
dos detectores x1 y x2,
respectivamente. A V a f r re a M
partir de un estado B a rre ra s
inicial en el que z = 0,
la salida deber pasar al estado 1 cuando se acerque un tren en cualquier sentido al
rebasar su mquina los 500 metros del cruce y deber volver al estado 0 cuado el ltimo
vagn se aleje ms de dicha distancia independientemente de la longitud del tren.
Disear dicho autmata asncrono suponiendo que los trenes no van a cambiar la
direccin de su marcha, y que no puede haber ms de un tren en el cruce al mismo
tiempo.
x1 x2 00 01 11 10 z
1 6 -- 2 0
3 -- 5 2 1
3 4 -- -- 1
1 4 -- -- 1
- 4 5 -- 1
-
7 6 9 -- 1
7 -- -- 8 1
1 -- -- 8 1
-- -- 9 8 1
x1 x2 00 01 11 10 z
Nombramos:
A 3, 7 1 3 6 -- 2 0
5, 9 5
B 3 -- 5 2 1
CA 3 4 B-- 8 1C
D 1 4 -- -- 1 D
E - 4 5 8 1
-
F 3 6 5 -- 1
G E
G 1 -- F-- 8 1
Por tanto podemos fusionar las siguientes lneas: B-F, C-E, D-G (o tambin: B-F, D-E-
G). Como todas las lneas que fusionamos tienen la misma salida no es necesario que
representemos cada estado con su salida correspondiente. Estamos realizando un
autmata de Moore (las variables de salida dependen solo del estado interno, no de las
variables de entrada).
x1 x2 00 01 11 10 z
A A 1 6 -- 2 0
B B-F 3 6 5 2 1 Tabla de Fases reducida
C C-E 3 4 5 8 1
D D-G 1 4 -- 8 1
00 01
A B Construimos a partir de esta
codificacin las matrices de
excitacin y salida conjuntamente en
una misma tabla.
D C
10 11
x1 x2
00 la01
y1Simplificando
y2 salida 11 10
se obtiene:
00 00 /0 01 /* ** /* 01 /*
Z = y 1 + y2
01 11 /1 01 /1 11 /1 01 /1
11 11 /1 10 /1 11 /1 10 /1
10 00 /* 10 /1 ** /* 10 /1
y Y R S
Y1Y2/Z
0 0 * 0
0 1 0 1 Implementamos el autmata con flip-flops R-S:
1 0 1 0
1 1 0 *
x1 x2
y1 y2 00 01 11 10
R1 x1 x 2 y 2
00 *0 *0 ** *0
S 1 x1 x 2 x1 x 2 y 2
01 01 *0 01 *0
11 0* 0* 0* 0*
10 10 0* ** 0*
R1S1 (Y1)
x1 x2
y1 y2 00 01 11 10
00 *0 01 ** 01 R2 x1 x2 y1 x1 x2 y1 y1 ( x1 x2 )
01 0* 0* 0* 0* S 2 x 2 y1 x1 y1
11 0* 10 0* 10
10 *0 *0 ** *0
R2S2 (Y2)
x1 x2
x1 x2
y1 y2 00 01 11 10
00 0 0 * 0 R1 R y1
Z
x1 x 2 RS 1
01 1 0 1 0 Y1 x1 x 2 y 2 y1 y 2 x 2 y1 x1 y1 x1S1x 2 S Z
y1
11 1 1 1 1
10 0 1 * 1
x1 y1
x1 x 2 y 2 Y1 x 2 y1
Para coger la adyacencia: y1 y 2
Problema 5.2. Circuito realizado con biestables RS.
x 2 y1
x1 x2
y1 y2 00 01 11 10
00 0 1 * 1
01 1 1 1 1
x1 y1
11 1 0 1 0
10 0 0 * 0
x1 x 2 y 2 Y2 x1 x 2
Para coger la adyacencia:y1 y 2
Y2 x1 x 2 y 2 y1 y 2 x 2 y1 x1 y1 x1 x 2 x1
x2
El circuito implementado con puertas lgicas es:
y1
y2
3.- Disear un circuito secuencial asncrono con 2 entradas D y C, y una salida Q, tal
que la salida se haga igual a D en el instante en que C pase de 0 a 1. En el resto de los
casos Q no debe cambiar. Suponer que las dos entradas D y C no pueden cambiar
simultneamente. Implementar el circuito con biestables R-S constituidos por puertas
NAND.
Tenemos un sistema secuencial que slo cambia de salida cuando hay una transicin en
C de 0 a 1. Adems no necesita recordar situaciones pasadas. Cuando las entradas sean
constantes el sistema permanecer en un estado estable. As, asignaremos un estado
estable a cada combinacin de entradas y salidas posible (8 en total, todas son posibles).
Q=D=0 Q=D=1
D E
F H
DC 00 01 11 10 Q
Es un autmata de Moore. Quedan
(ABC) A 1 2 3 4 0
dos estados imposibles.
(D) B 1 -- 7 4 0
(E) C 5 2 -- 8 1
(FGH) D 5 6 7 8 1 Si en vez de esta fusin hacemos: A-D,
B-C, E-H y F-G obtendramos:
DC 00 01 11 10 Q
No quedan estados imposibles
(AD) A 1 2 7 4 0 menos * en el diagrama de
Karnaugh menos posibilidad de
(BC) B 1 2 3 4 0 simplificar.
(EH) C 5 2 7 8 1
En definitiva es un circuito ms
(FG) D 5 6 7 8 1 complicado.
Usamos por tanto la primera opcin para realizar la fusin. El diagrama de transicin es:
D C
0
0
B - 01
D- 11
C - 10
DC DC
00 01 11 10 y1 y2 00 01 11 10
y1 y2
A00 00 00 00 01 A00 0 0 0 0
B01 B01 0 * * 0
00 ** 11 01
D11 D11 1 1 1 1
10 11 11 11
C1 C1 1 * * 1
10 00 ** 11
Problemas
0 Tema 7 0 Pgina 63
Y1Y2 Q
Sistemas Digitales
Hemos cambiado el orden de D y C para poner las variables siguiendo un cdigo Gray
en los diagramas de Karnaugh. La salida vale:
Q=y1
y Y R S
R1S1 - Y1
0 0 * 0 R2S2 - Y2
0 1 0 1
1 0 1 0
1 1 0 *
DC DC
y1 y2 00 01 11 10 y1 y2 00 01 11 10
00 *0 *0 *0 *0 00 *0 *0 *0 01
01 *0 ** 01 *0 01 10 ** 0* 0*
11 0* 0* 0* 0* 11 10 0* 0* 0*
10 0* 10 ** 0* 10 *0 *0 ** 01
R2 S1
Y2
R2 Z2 S1 Z
Biest. RS Biest. RS 1
S2 (2) Z Y2 R1 (1) Z1 Y1
C 2
Q
S2 R1
D
S
Z
Z
R
Luego tendremos que sustituir las puertas AND anteriores por puertas NAND para
expresar todo el circuito con puertas NAND. Los inversores tambin pueden expresarse
como puertas NAND.
C
S2 S1 Q
Y2 Y1
R2 R1
Y2 Y1
D
Problema 5.3. Circuito realizado con biestables RS implementados con puertas NAND.
X1
Nota: dos impulsos sucesivos en X1 con X2=0 son:
1 2
X2=0
x1 x2 *X1X2=11 no permitido.
00
Estado/z *Cambio simultneo de 2
01 1/0
10 . bits no permitido. Por eso
01 10
no hay en 3 y 5 la entrada
2/0 00 3/0 01 y en 2 la 10.
00
00
01 4/0
10
10
5/1
01
00
10
00
6/1 Con 10 vuelve a 5
pues 5 se ha
definido como
Est.1 Estado inicial. X1X2=10 y Z=1.
Est.2 Salida pasa a 0 cuando se activa X2.
Est.3 Llega el primer impulso en X1.
Est.4 X1 vuelve a 0.
Est.5 Llega el segundo impulso en X1, cambia la salida.
Est.6 La salida se mantiene a 1 aunque cambie X1, hasta que X2=1.
(C) B 4 -- -- 3 0
(D) C 4 2 -- 5 0
(E-F) D 6 2 -- 5 1
D 10 11 C
Segn este diagrama puede haber problemas de carreras crticas en 11(C) 00(A) si
utilizamos la codificacin indicada. Vamos a analizar lo que ocurre ayudndonos de la
matriz de fase con estados codificados.
X1X2
y1 y2 00 01 11 10 Z Si estamos en el estado estable 11 y
las entradas cambian de X1X2=00 a
00 00 00 -- 01 0
X1X2=01 se produce una transicin
01 11 -- -- 01 0
no adyacente al estado estable 00.
11 11 00 -- 10 0
10 10 00 -- 10 1 Veamos qu ocurre:
Y1Y2
11
10 01
Problemas Tema 7 Pgina 67
00 --
Sistemas Digitales
Posibles soluciones:
a) Sustituir el estado imposible por un estado inestable que conduzca al 00
(estable). Es decir, por ambos caminos llegaramos al 00 y tendramos carreras
no crticas.
b) Sustituir el estado inestable de la tercera lnea para las entradas X 1X2=01 por el
inestable 10, que para esas entradas conduce al 00. Esto lo podemos hacer
porque existen dos estados inestables en la segunda columna del mismo nmero
(00) de forma que a travs de uno de ellos podemos llegar al estable que
queremos (eliminamos carrera).
X1 X2
y1 y2 00 01 11 10
00 00 /0 00 /0 ** /* 01 /0
01 11 /0 ** /* ** /* 01 /0
11 11 /0 10 /0 ** /* 10 /* Salida: Z X 2 y1 y 2
10 10 /1 00 /0 ** /* 10 /1
Y1Y2/Z
La salida ha de ser cero pues lo utilizamos
como combinacin intermedia para eliminar
carrera de 11 (Z=0) a 00 (Z=0).
y Y R S
0 0 * 0
0 1 0 1
Problemas Tema 7 Pgina 68
1 0 1 0
1 1 0 *
Sistemas Digitales
R1S1 - Y1
R2S2 - Y2
X1X2 X1X2
y1 y2 00 01 11 10 y1 y2 00 01 11 10
00 *0 *0 ** *0 00 *0 *0 ** 01
01 01 ** ** *0 01 0* ** ** 0*
11 0* 0* ** 0* 11 0* 10 ** 10
10 0* 10 ** 0* 10 *0 *0 ** *0
R2S2 (Y2)
X 1 y1
R1 X 2 y 2
R1S1 (Y1) X2
S1 X 1 y 2 S 2 X 1 y1
R1 X 2 y 2 R2 X 2 X 1 y1
S1 X 1 y 2 S 2 X 1 y1
El circuito ser:
X1 X2
Y1
R1 Z1 R2 Z 2 Y2
Biest. RS Biest. RS
S1 (1) Z Y1 S2 (2) Z
Y2
1 2
5.- Disear un biestable r-s activado por flanco de bajada. Realizar el circuito utilizando
biestables R-S. (Mandado 216-219)
1 2 3 4 3 5 1 6 1
sr 00 01 11 10 Z
A (A-F) 1 6 -- 2 0
B (B) 3 -- -- 2 0
--
C (C-D) 3 5 -- 4 1
D (E) 1 5 -- -- 1
Para realizar una codificacin correcta
dibujamos el diagrama de transicin:
00 A B 01
10 D C 11
sr
y1 y2 00 01 11 10
Se observa que:
00 00 /0 00 /0 ** /* 01 /0
Z=y1.
01 11 /* ** /* ** /* 01 /0
11 11 /1 10 /1 ** /* 11 /1
10 00 /* 10 /1 ** /* ** /*
Y1Y2/Z
y Y R S
0 0 * 0
R1S1 - Y1
0 1 0 1
R2S2 - Y2
1 0 1 0
1 1 0 *
R1 r y 2 R2 r
sr sr
00 01 11 10 y y 00 01 11 10
y1 y2 S11 2 sy 2 S2 s
00 *0 *0 ** *0 00 *0 *0 ** 01
01 01 ** ** *0 01 0* ** ** 0*
11 0* 0* ** 0* 11 0* 10 ** 0*
10 10 0* ** ** 10 *0 *0 ** **
Y2
r R2 Z2 S1 Z
Biest. RS Biest. RS 1
s S2 (2) Z Y2 R1 (1)
Y Z
2 Z1 1
Las seales de Reset y Set al ser asncronas modifican la salida en cuanto se activan.
Reset
Set
J 0 0 1 1 1 1
K 1 1 0 0 1 1
CLK
2.- Complete el diagrama temporal del siguiente circuito. Observe que las entradas de
reloj de los dos biestables son diferentes. La seal de Reset es asncrona. Q 1 y Q2 valen
inicialmente cero.
Las seales de Reset al ser asncronas modifican la salida en cuanto se activan. Son
activas a nivel bajo. El FF 1 es activo por flanco de bajada y el FF2 por flanco de
subida. La entrada D est conectada a Q en los dos FFs, con lo que invierten su salida
en cada flanco activo de la seal de reloj.
Q1 Q1 Q2 Q2
Reset Reset
Reset
CLK D1 CLK D2
Reset
CLK
Q1
Q2
1.- Se dispone de una seal digital peridica C de perodo T y ancho de impulso T/10. A
partir de dicha seal y en sincronismo con sus flancos de subida se necesita generar otra
seal peridica S cuyo perodo y ancho de impulso deben ser seleccionables mediante
dos seales de control C0 y C1 tal y como se indica en la tabla adjunta.
T
T/10
S (C0C1=00)
S (C0C1=01)
S (C0C1=10)
S (C0C1=11)
C0C1
1/1 Estado/S
01
**
00
10 2/1 ** 3/1
0/0
**
11
4/1 ** 5/1 ** 6/1
**
C0 C1
00 01 10 11 S
E.A.
0 0 1 2 4 0
1 0 0 0 0 1
2 3 3 3 3 1
3 0 0 0 0 1
4 5 5 5 5 1
5 6 6 6 6 1
6 0 0 0 0 1
E. Siguiente
1 X
2 X X
3 X X
El estado 0 no es 4 X X 3=5 X equivalente a ninguno pues
posee una salida 5 X X 3=6 X 6=5 distinta.
1, 3, y 6 son 6 X X X X equivalentes pues tienen la
misma salida y los 0 1 2 3 4 5 tres conducen al estado 0.
Como el estado 0 no es equivalente a ninguno, 1, 3, y 6 no pueden ser
equivalentes al resto.
2 y 5 tienen la misma salida y conducen a dos estados 3 y 6 que son
equivalentes, luego 2 y 5 son equivalentes.
4 no puede ser equivalente al 2 o al 5 pues 3 y 6 no son equivalentes a 5.
Luego asignamos:
0 A
1-3-6 B
2-5 C
4 D
C0 C1
00 01 10 11 S
E.A.
A A B C D 0
B A A A A 1
0
C B B B B 1
Problemas Tema 7 Pgina 77
D C C C C 1
E. Siguiente
Sistemas Digitales
00 A B 01
Ya no es necesario dibujar el diagrama
de transiciones. No va a haber
problemas de carreras porque ya no
realimentamos directamente.
11 D C 10
Qin Qin1 J K Q1 Q0
J0K0 - Q0
0 0 0 * A 0 00
J1K1 - Q1
0 1 1 * B 0 1
1 0 * 1 C 1 0
1 1 * 0 D 1 1
+ +
0 0 A 0 0 A 0 0 0 0 * 0 *
0 0 B 0 1 A 0 0 1 0 * * 1
0 0 C 1 0 B 0 1 1 * 1 1 *
0 0 D 1 1 C 1 0 1 * 0 * 1
0 1 A 0 0 B 0 1 0 0 * 1 *
0 1 B 0 1 A 0 0 1 0 * * 1
0 1 C 1 0 B 0 1 1 * 1 1 *
0 1 D 1 1 C 1 0 1 * 0 * 1
1 0 A 0 0 C 1 0 0 1 * 0 *
1 0 B 0 1 A 0 0 1 0 * * 1
1 0 C 1 0 B 0 1 1 * 1 1 *
1 0 D 1 1 C 1 0 1 * 0 * 1
1 1 A 0 0 D 1 1 0 1 * 1 *
1 1 B 0 1 A 0 0 1 0 * * 1
1 1 C 1 0 B 0 1 1 * 1 1 *
1 1 D 1 1 C 1 0 1 * 0 * 1
Dibujamos los diagrams de Karnaugh para las variables de los FF y para la salida. En
los diagramas de Karnaugh hemos de utilizar el cdigo Gray para las combinaciones de
las variables.
C0C1 C0C1
Q1 Q0 00 01 11 10 Q1 Q0 00 01 11 10
El
00 0* 0* 1* 1* 00 0* 1* 1* 0*
01 0* 0* 0* 0* 01 *1 *1 *1 *1
11 *0 *0 *0 *0 11 *1 *1 *1 *1
10 *1 *1 *1 *1 10 1* 1* 1* 1*
Inicializacin
2.- Un circuito secuencial tiene dos entradas (X1, X2) y dos salidas (Z1, Z2). Las entradas
representan un nmero en binario natural N de 2 bits. Si el valor presente de N es mayor
que el valor inmediatamente anterior, entonces la salida Z1 se pone a 1. Si dicho valor es
menor, Z2 se pone a 1. En cualquier otro caso, Z 1 = Z2 = 0. Suponer que el circuito se
inicializ hace tiempo.
d) Describir el diagrama de flujo del sistema como autmata de Mealy.
e) Cuntos estados tendr el circuito equivalente de Moore?
f) Disear el circuito con flip-flops tipo D activos con el flanco negativo de la
seal de reloj.
a) Autmata de Mealy.
00/00
X2X1/Z2Z1
q0
Estado 00/10 01/01
11/01 00/10
00/10
01/10 q1 01/00
11/00 q3
11/01
10/01
10/10 01/10
11/01 10/01
q2
10/00
X2 X1
E.A 00 01 10 11
q0 q0/00 q1/01 q2/01 q3/01
q1 q0/10 q1/00 q2/01 q3/01
q2 q0/10 q1/10 q2/00 q3/01
q3 q0/10 q1/10 q2/10 q3/00
E.Sig./ Z2Z1
- q0 tiene asignadas 2 tipos de salidas (00 y 01) luego habra que dividirlo en 2
estados distintos.
- q1 tiene asignadas 3 tipos de salidas (10, 00 y 01) luego habra que dividirlo en 2
estados distintos.
- q2 tiene asignadas 3 tipos de salidas (10, 00 y 01) luego habra que dividirlo en 2
estados distintos.
- q3 tiene asignadas 2 tipos de salidas (10 y 00) luego habra que dividirlo en 2
estados distintos.
Q1 Q0 Qin Qin1 J K
q0 0 0
q1 0 1 0 0 0 * J0K0 - Q0
q2 1 0 J1K1 - Q1
0 1 1 *
q3 1 1
1 0 * 1
1 1 * 0
+
0 0 q0 0 0 q0 0 0 0 0 0 * 0 *
0 0 q1 0 1 q0 0 0 1 0 0 * * 1
0 0 q2 1 0 q0 0 0 1 0 * 1 0 *
0 0 q3 1 1 q0 0 0 1 0 * 1 * 1
0 1 q0 0 0 q1 0 1 0 1 0 * 1 *
0 1 q1 0 1 q1 0 1 0 0 0 * * 0
0 1 q2 1 0 q1 0 1 1 0 * 1 1 *
0 1 q3 1 1 q1 0 1 1 0 * 1 * 0
1 0 q0 0 0 q2 1 0 0 1 1 * 0 *
1 0 q1 0 1 q2 1 0 0 1 1 * * 1
1 0 q2 1 0 q2 1 0 0 0 * 0 0 *
1 0 q3 1 1 q2 1 0 1 0 * 0 * 1
1 1 q0 0 0 q3 1 1 0 1 1 * 1 *
1 1 q1 0 1 q3 1 1 0 1 1 * * 0
1 1 q2 1 0 q3 1 1 0 1 * 0 1 *
1 1 q3 1 1 q3 1 1 0 0 * 0 * 0
Nos piden implementar el circuito con FF tipo D. En general habra que buscar una
expresin para Di en funcin de Xi y Qi, con la condicin de que Qin1 Di . En este
caso es muy sencillo, pues se observa en la tabla de transiciones que:
Qn+1=D
Q1n1 X 2 luego D1=X2
D Q
Q0n1 X 1 D0=X1
FF
C Tipo D Q
X2X1
Q1 Q0 00 01 11 10
00 00 01 01 01 Z1 X 2 Q1 X 2 X 1 Q0 X 1 Q1 Q0
01 10 00 01 01 Z 2 X 2 Q1 X 2 X 1Q0 X 1Q1Q0
11 10 10 00 10
10 10 10 01 00
Z2Z1
X1 x1
x1
X2 x2
x2
Q
D0 Q0 Q00
Q
FF 0 Q11
Q0
D1 Q1
FF 1
Q1
Problemas Tema 7 Pgina 83
CLK Z2 Z1
Sistemas Digitales
3.- Los nmeros entre 0 y 3, expresados en binario natural, se transmiten en serie por
una lnea de datos Y. Primero se transmite el bit ms significativo. La transmisin est
sincronizada con una seal de reloj. Se desea disear un circuito secuencial tal que la
salida Z nos entregue un 1 durante el tiempo del segundo bit si la combinacin que lleg
a travs de Y fue 0 3, permaneciendo el resto del tiempo a 0. Por ltimo, la entrada X
es la nica que puede inicializar el sistema: X = 1 provoca el paso al estado inicial, y en
ese estado queda el sistema hasta que X = 0. En el momento que X = 0, de nuevo se
tratar de detectar el 0 o el 3 (X = 1 obliga a Z = 0).
X
D e te c to r
Z
de 0 y 3
Y
R e lo j
Del enunciado se deduce que la salida va a cambiar en funcin del estado del circuito y
del valor de las entradas X e Y. Por tanto lo ms apropiado es implementar el circuito
como un autmata de Mealy. El diagrama de flujo sera:
Estado
inicial 1*/0 00/0
Deteccin
de un 2.
01/0 01/1
q3
Llega el 1bit (el
El 2 bit q llega vale
MSB) y vale 1.
1.Se detecta un 3: Z=1
Tendremos 4 estados:
XY Tabla de implicacin:
E.A 00 01 10 11
q0 q1/0 q3/0 q0/0 q0/0 q1 X
q2 q3=q2 X
q1 q2/1 q2/0 q0/0 q0/0 q1=q2
q2 q2/0 q2/0 q0/0 q0/0 q3 X X X
q0 q1 q2
q3 q2/0 q2/1 q0/0 q0/0
E.Sig./ Z
Codificamos q0: 00, q1: 01, q2: 10 y q3: 11. Necesitaremos 2 flip-flops.
Qin Qin1 J K
Q1 Q0
0 0 0 * J0K0 - Q0
q0 0 0
J1K1 - Q1 J0K0 - Q0
0 1 1 * q1 0 1
q2 1 0 J1K1 - Q1
1 0 * 1 q3 1 1
Problemas Tema 7 Pgina 85
1 1 * 0
+
Sistemas Digitales
0 0 q0 0 0 q1 0 1 0 0 * 1 *
0 0 q1 0 1 q2 1 0 1 1 * * 1
0 0 q2 1 0 q2 1 0 0 * 0 0 *
0 0 q3 1 1 q2 1 0 0 * 0 * 1
0 1 q0 0 0 q3 1 1 0 1 * 1 *
0 1 q1 0 1 q2 1 0 0 1 * * 1
0 1 q2 1 0 q2 1 0 0 * 0 0 *
0 1 q3 1 1 q2 1 0 1 * 0 * 1
1 0 q0 0 0 q0 0 0 0 0 * 0 *
1 0 q1 0 1 q0 0 0 0 0 * * 1
1 0 q2 1 0 q0 0 0 0 * 1 0 *
1 0 q3 1 1 q0 0 0 0 * 1 * 1
1 1 q0 0 0 q0 0 0 0 0 * 0 *
1 1 q1 0 1 q0 0 0 0 0 * * 1
1 1 q2 1 0 q0 0 0 0 * 1 0 *
1 1 q3 1 1 q0 0 0 0 * 1 * 1
XY XY
Q1 Q0 00 01 11 10 Q1 Q0 00 01 11 10
XY
00 0* 1* 0* 0* 00 00 1 * 01 1 * 11 0 *X10
J1 Y 0X*Q0 J 0 X Q1
Q1 Q0
K =X K0=1
01 1* 1* 0* 0* 00 01 0 * 1 0 * 1 0 1 * 1 0 * 1
11 *0 *0 *1 *1 01 11 1 * 1 0 * 1 0 * 1 0 * 1
Z X Y Q1Q0 X YQ1Q0
10 *0 *0 *1 *1 11 10 0 0 * 1 0 * 0 X0Q* (0Y 0*Q )
0 1
10 0 0 J K 0(Q ) 0
J 1 X Y X QJ01K1 (Q1) K1=X
J 0 X Q1 0 0 0
K0=1
Z
Y
X
J0 Q0 J1 Q1
FF 0 FF 1
CLK0 CLK1
1 K0 Rd0 Q0 K1 Rd1 Q1
CLK
Inicializacin
XY XY
Q1 Q0 00 01 11 10 Q1 Q0 00 01 11 10
00 0 1 0 0 00 1 1 0 0
01 1 1 0 0 01 0 0 0 0
11 1 1 0 0 11 0 0 0 0
10 1 1 0 0 10 0 0 0 0
Q1n 1 Q0n 1
D1 Q1n 1 X ( y Q1 Q0 )
D0 Q0n 1 X Q1 Q0
Y
X
D0 Q0 D1 Q1
FF 0 FF 1
CLK0 CLK1
Q0 Q1
CLK
4.- Disear un divisor de frecuencia por 3 sncrono con flip-flops JK activados por el
flanco negativo.
Tenemos que dividir por tres la frecuencia de la seal de reloj. Dibujamos el diagrama
de secuencias:
C
(Clock)
Z
0 1 2 0 1 2
Cada tres ciclos de reloj la secuencia se repite, luego tendremos tres estados distintos.
Necesitamos 2 FFs JK.
Qin Qin1 J K
0 0 0 *
0 1 1 *
Problemas Tema 7 Pgina 88
1 0 * 1
1 1 * 0
Sistemas Digitales
J0K0 - Q0
J1K1 - Q1
0 0 0 1 0 1 0 0 * 1 *
1 0 1 2 1 0 C 1 * * 1
2 1 0 0 0 0 1 * 1 0 *
Q1 Q1
Q0 0 1 Q0 0 1
0 0* *1 0 1* 0*
1 1* ** 1 *1 **
E. Q
Actual
Q Salida
C
n
1 0
00 01 11 10
C Q1 Q n Z
0
0 0 0 * 1
0 0 0 0
0 0 1 1 0 0 1 * 1
0 1 0 1
0 1 1 *
Z=Q +CQ0
1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 *
J1 Q1 Z
J0 Q0
FF 0 FF 1
CLK0 CLK1
1 K0 Rd0 Q0 1 K1 Rd1 Q1
CLK
Inicializacin
5.- Disear un sistema secuencial capaz de detectar la secuencia 11010 en una lnea X
de datos serie sincronizados con una seal de reloj C:
d) Como autmata de Moore.
e) Como autmata de Mealy.
f) Con un registro de desplazamiento.
a) Autmata de Moore.
0
X
0/0 1
Estado/Z
0 1/0 1 1
2/0 0
0
3/0 1
1 1
0 4/0 0
5/1
- Asncronos: hablbamos de estados estables, que eran los que realmente se apreciaban.
Los estados inestables eran estados transitorios en la evolucin hacia un estado estable.
- Sncronos: trabajamos con los estados correspondientes a cada flanco activo de la
seal de reloj. Ponemos lo que ocurre en cada ciclo de reloj pero no hablamos de
estados estables.
X
0 1 Z
E.A.
1 1=2
0 0 1 0
2 0=3 0=3
1=2
1 0 2 0 1=4 2=4 3=0
3
2=4
2 3 2 0 0=5 0=5 0=5
4 3=5
1=2 4=2
3 0 4 0 5 X X X X X
0 1 2 3 4
4 5 2 0
5 0 1 1
E. Siguiente
El estado 5 no puede ser equivalente con ninguno pues posee una salida distinta. Esto
implica que el 4 tampoco es equivalente con ninguno, lo que conduce a que ni el 3, ni el
2 ni el 1 sean equivalentes. No hay estados equivalentes.
Codificamos los estados directamente. Como tenemos 6 estados vamos a necesitar tres
bits de estado para codificarlos todos. Cada uno de estos bits lo representaremos
mediante un FF JK.
Codificacin de estados
Qin Qin 1 J K
0 0 0 * J0K0 - Q0
J1K1 - Q1
0 1 1 * J2K2 - Q2
1 0 * 1
+
1 1 * 0
+
Salida
Entrada E. Actual E. Siguiente Excitaciones
actual
X Q2n Q1n Q0n Q2n1 Q1n1 Q0n 1 Z J2 K2 J1 K1 J0 K0
0 0 0 0 0 0 0 0 0 0 0 * 0 * 0 *
0 1 0 0 1 0 0 0 0 0 0 * 0 * * 1
0 2 0 1 0 3 0 1 1 0 0 * * 0 1 *
0 3 0 1 1 0 0 0 0 0 0 * * 1 * 1
0 4 1 0 0 5 1 0 1 0 * 0 0 * 1 *
0 5 1 0 1 0 0 0 0 1 * 1 0 * * 1
1 0 0 0 0 1 0 0 1 0 0 * 0 * 1 *
1 1 0 0 1 2 0 1 0 0 0 * 1 * * 1
1 2 0 1 0 2 0 1 0 0 0 * * 0 0 *
1 3 0 1 1 4 1 0 0 0 1 * * 1 * 1
1 4 1 0 0 2 0 1 0 0 * 1 1 * 0 *
1 5 1 0 1 1 0 0 1 1 * 1 0 * * 0
X Q2 X Q2
Q1 Q0 00 01 11 10 Q1 Q0 00 01 11 10
00 0* *0 *1 0* 00 0* 0* 1* 0*
01 0* *1 *1 0* 01 0* 0* 0* 1*
11Q 0 *
X ** ** 1* 11 *1 ** ** *1
Q1 Q10
2
00 01 11 10
0 0* ** ** 0* 10 *0 ** ** *0
00 0* 1* 0* 1*
J2K2 (Q2) K1=Q0 J1K1 (Q1)
01 *1 *1 *0 *1
K2=X+Q 0 J2=XQ1Q0 J1 X Q2Q0 XQ2 Q0
11 *1 ** ** *1
10 Tema1 7*
Problemas ** ** 0* Pgina 93
J0K0 (Q0)
Sistemas Digitales
X Q2
Q1 Q0 00 01 11 10
00 0 0 0 0
J2=XQ1Q0
J 1 X Q2 Q0 XQ2 Q0 X (Q2 Q0 ) 01 0 1 1 0
J 0 X Q2 X Q1 X Q2 Q1
11 0 * * 0
K2=X+Q0 K1=Q0
K 0 Q2 X 10 0 * * 0
Z= Z= Q2 Q0 Q2
Q0
b) Autmata de Mealy.
En esta ocasin la salida va a depender del estado del sistema y del valor de la entrada.
Secuencia 11010.
0/0
X/Z
1/0
0
Estado
0/0 1 1/0
1/0
2
0/0
0/0
3 1/0
0/1
1/0 4
X
E.A. 0 1 Tabla de implicacin
0 0/0 1/0
1 1=2
1 0/0 2/0 2 0=3 0=3
1=2
2 3/0 2/0 3 1=4 2=4 3=0
2=4
3 0/0 4/0 4 X X X X
0 1 2 3
4 0/1 2/0
E. Siguiente /Salida
El estado 4 no puede ser equivalente a ningn otro pues posee una salida distinta. Se
comprueba que no hay estados equivalentes. Tenemos pues 5 estados: necesitamos 3
bits para codificar todos los estados. Implementaremos cada bit de estado mediante un
FF JK.
Q2 Q1 Q0
Q0in 0Qin 01 J 0K
01 0 0 0 0 1*
J0K0 - Q0
02 0 1 1 1 0* J1K1 - Q1
J2K2 - Q2
13 0 0 1 * 11
+
1 1 * 0
4 1 0 + 0
Codificacin de estados
0 0 0 0 0 0 0 0 0 0 0 * 0 * 0 *
0 1 0 0 1 0 0 0 0 0 0 * 0 * * 1
0 2 0 1 0 3 0 1 1 0 0 * * 0 1 *
0 3 0 1 1 0 0 0 0 0 0 * * 1 * 1
0 4 1 0 0 0 0 0 0 1 * 1 0 * 0 *
1 0 0 0 0 1 0 0 1 0 0 * 0 * 1 *
1 1 0 0 1 2 0 1 0 0 0 * 1 * * 1
1 2 0 1 0 2 0 1 0 0 0 * * 0 0 *
1 3 0 1 1 4 1 0 0 0 1 * * 1 * 1
1 4 1 0 0 2 0 1 0 0 * 1 1 * 0 *
Diagramas de Karnaugh:
X Q2 X Q2
00 01 11 10 Q1 Q0 00 01 11 10
Q1 Q0
00 0* *1 *1 0* 00 0* 0* 1* 0*
01 0* ** ** 0* 01 0* ** ** 1*
11 0* ** ** 1* 11 *1 ** ** *1
X Q10 XQ
10 0* ** ** 0* Q1 Q0
2
00* 0 01* * Q 11*Q* 210* 00
0 01 11 10
1 0
00K =Q0 * 0 *) 00 1 * 0
0 *J K (Q 1 0 0
J2K2 (Q2)
* *J 1 *XQ 0 * XQ
1 0 1 1 1
K2=1 0
J2=XQ1Q0 01 *1 * 01 1 02 * *
11 *1 ** * * 11 * 1 0 * * 0
10 1* ** * * 10 0 * 0 * * 0
Z X Q2
El tener cinco estados en vez de seis como en el autmata de Moore no nos va a suponer
un ahorro en cuanto al nmero de FFs pero si nos facilita la simplificacin y reduce la
lgica adicional necesaria. Por tanto la implementacin como autmata de Mealy es
ms sencilla.
X
D0 Q0 D1 Q1 D2 Q2 D3 Q3
FF 0 FF 1 FF 2 FF 3
C0 C1 C2 C3
Rd0
Q0 Rd1 Q1 Rd2 Q2 Rd3
Q3
CLK
Inicializacin
Problema 7.5. Circuito realizado mediante un registro de desplazamiento constituido por flip-
flops tipo D.
6.- Disear un generador de secuencias que, a partir de una seal de reloj C, produzca
las seales S1 a S8 que aparecen representadas en la figura. Utilizar para ello un contador
integrado 161, un decodificador integrado 138 y las puertas NAND que sean
necesarias.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
R e lo j
S 1
S 2
S 3
S 4
S 5
S 6
S 7
S 8
Todas las secuencias se repiten cada 8 ciclos de reloj. Por tanto necesitamos construir un
contador de mdulo 8 que se puede implementar fcilmente despreciando la salida ms
significativa (Q3). Solamente veramos la cuenta de 000 (0) a 111 (7) tanto para Q3=0
(0-7) como para Q3=1 (8-15).
S5, S6, S7 y S8 como tienen impulsos de duracin mayor que un periodo no se pueden
obtener directamente del 138. Necesitamos lgica adicional para poner las seales a
1 y volver a ponerlas a 0 tras 2 pulsos de reloj (para S6, S7 y S8) o 3 pulsos (S5). Se
podra hacer con una puerta NAND en cada caso, pero no estara libre de fenmenos
aleatorios. Es mejor utilizar biestables RS construidos con puertas NAND.
S Y
Y
R
Luego las salidas O0 , O1 , O2 , O3 coinciden con S1, S2, S3 y S4.
O4 , O5 , O6 , O7 son como S1, S2, S3, S4 desplazadas un ciclo de reloj.
7.- Construir un registro que permita realizar las siguientes operaciones: escritura desde
un bus, lectura a un bus, complemento y puesta a cero. Todas ellas debern ser sncronas
salvo la de lectura. Implementarlo con flip-flops JK y la lgica que sea necesaria.
Hemos visto que se pueden construir registros que respondan a una u otra orden
(escritura, lectura, etc.). La orden se indicar activando el terminal de control
correspondiente. En un sistema sncrono la orden se realizar en el siguiente flanco
activo de la seal de reloj.
Problema 7.6. Generador de secuencias construido utilizando un contador 161 (no mostrado) y un
Supongamos que queremos ordenarle a un sistema una serie de operaciones. Podemos
decodificador 138.
realizar las operaciones de dos maneras:
A0 O0 S1
Q0
Salidas Q1 A1 O1 S2
del contador
A2 O2 S3
Q2
O3 S4
S5
O4
O5 S6
1 E3 O6
E2 E S7
0
O7
E1
S8
Como ejemplo de este ltimo tipo vamos a disear un registro que responda a 4 rdenes
que se muestran en la tabla. Nuestro registro tendr 4 terminales de control: W, R, C y
Z. En cada instante solo uno estar a 1 lgico y los dems a 0.
Smbolo Orden
W Escribe en el registro la palabra situada en el bus
R Lee la palabra del registro y la lleva al bus
C Complementa el registro
Z Borra el registro
a) Escritura en el registro
Para transferir una palabra del bus al registro cuando W=1 debe cumplirse que al
llegar el flanco activo de la seal de reloj
Para leer del registro y transferir un bit del FF i al bus cuando R=1 utilizaremos
un buffer triestado. Cuando R=1 el buffer dejar pasar el dato al bus y cuando
R=0 el buffer se colocar en alta impedancia, aislando el registro del bus. De
este modo pueden conectarse varios registros al mismo bus.
Qi
R
Bi
c) Complementacin
Para borrar el registro si Z=1 y dejarlo inalterado si Z=0 habr que poner:
Ji=BiW + C i=1,.,n
Ki= Bi W + C + Z
W
Bi
C
Z
Ki Ji
CLK Ci FF i
Qi
R
Bi
n Conexin
transferencias
W bus registro
R Registro
Lneas
C de n bits
de control
Z Conexin
CLK transferencias
n registro bus
I0 I1 I2 I3 I4 I5 I6 I7 S2 S1 S0 E
MULTIPLEXOR `151
Z Z
8.- Disear un registro de desplazamiento de 4 bits con tres seales de control C 2, C1 y
C0 tales que:
Todas estas operaciones deben efectuarse en sincronismo con la seal de reloj. Efectuar
el diseo utilizando flip-flops tipo D y los circuitos combinacionales integrados que
sean necesarios.
De esta manera para cada combinacin de las seales de control aparecer en la salida
de los cuatro multiplexores la entrada cuyo nmero decimal corresponde al nmero
binario de las seales de control. Asociamos la salida de cada multiplexor a la entrada D
de un FF. De esta forma la salida del MUX nos indica el estado siguiente del FF.
Indicamos en una tabla las seales de control y los valores que hay que aplicar a las
entradas de los FFs.
0 D Q3 Q0 Q2 P3 Q2 1 0 Q3 Q2 Q3 Q1 P2 Q1 1 0 Q2 Q1 Q2 Q0 P1 Q0 1 0 Q1 Q0 Q1 D P0 Q3 1
0 E I I1 I2 I3 I4 I I I 0 E I I1 I2 I3 I4 I I I 0 E I0 I1 I2 I3 I4 I I I7 0 E I0 I1 I2 I3 I4 I I I7
0 5 6 7 0 5 6 7 5 6 5 6
C2 S2 C2 S2 C2 S2 C2 S2
C1 S1 MUX 3 MUX 2 S1 MUX 1 MUX 0
C1 S1 C1 C1 S1
C0 S0 C0 S0 C0 S0 C0 S0
Z3 Z2 Z1 Z0
Z3 Z2 Z1 Z0
Q3 Q2 Q1 Q0
D3 D2 D1 D0
FF 3 Q3 FF 2 Q2 FF 1 Q1 FF 0 Q0
C3 C2 C1 C0
CLK
9.- Disear un contador binario sncrono de mdulo 16 con flip-flops JK activados por
flanco de subida. Generalizar el montaje para cualquier contador de mdulo 2 n, con n
entero.
J3=K3= Q2Q1Q0
El circuito es generalizable a un contador de mdulo 2 n formado por n FFs, de modo
que cada FF conmuta nicamente cuando sus precedentes estn en Set.
J0 Q0 J1 Q1 J2 Q2 J3 Q3
FF 0 FF 1 FF 2 FF 3
CLK0 CLK1 CLK2 CLK3
K0 Rd0 Q0 K1 Rd1 Q1 K2 Rd2 Q2 K3 Rd3 Q3
CLK
Inicializacin