Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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 ABC
2.- En una estantería 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 selección que no
incluya a ninguno de ellos.
d) Si se selecciona y, z también debe seleccionarse.
e) Si se selecciona w, v e y también deben ser seleccionados.
Construir la función lógica que verifique dichas condiciones.
5.- Una función 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 demás casos
posibles ha de adoptar el estado uno.
a) Realizar la tabla de verdad de esta función.
b) Obtener las expresiones canónicas de suma de productos y de producto de
sumas.
c) Dibujar los diagramas de Karnaugh en ambos casos y simplificar.
Sistemas Digitales
A
B
F
7.- Dada las formas de las señales de entrada de un circuito lógico (a, b, c) y la señal de
salida (z) según el dibujo, averiguar el circuito lógico de que se trata.
Sistemas Digitales
1.- Diseñar un circuito con cuatro entradas (X, Y, Z, V) y dos salidas (F, G), lo más
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.- Diseñar un circuito digital que sea capaz de detectar temperaturas comprendidas
entre T1 y T2, por un lado, y entre T3 y T4 por otro, verificándose:
T1 < T2 < T3 < T4
Suponer que el sistema toma información a partir de cuatro sensores térmicos capaces
de detectar si la temperatura es mayor que una dada. Implementar el circuito con puertas
NAND. Implementarlo también con puertas NOR.
4.- Diseñar un circuito digital capaz de detectar errores en los sensores del sistema
descrito en el ejercicio anterior. Realizar el diseño con puertas a dos niveles AND-OR.
Implementar la realización mínima de la función y una realización para evitar
fenómenos aleatorios estáticos y dinámicos.
5.- Realizar un circuito lógico que tenga por entradas los 4 bits de un número en código
Gray, y por salidas 4 bits del número correspondiente en binario. Hacer lo mismo para
la situación contraria. Implementar ambos circuitos con puertas XOR.
Sistemas Digitales
7.- Se desea transmitir una información codificada en binario natural entre dos lugares
alejados físicamente. Para proteger al sistema frente a posibles errores en la transmisión,
se desea añadir un bit de paridad par. Diseñar el circuito lógico que genere dicha
paridad e implementarlo con puertas XOR. Diseñar igualmente un circuito receptor que
sea capaz de detectar si ha habido errores en la transmisión.
Sistemas Digitales
2.- Sea un sistema digital que dispone de 16 líneas de petición de servicio activas en
baja. Diseñar un circuito que nos muestre a través de 2 displays el número de la línea de
petición de servicio de mayor prioridad activa en cada instante. Si no hay ninguna
activa, no mostrará nada. Hacer el diseño con dos codificadores de prioridad ‘148, dos
conversores de código ’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, diseñar un
circuito capaz de detectar la presencia de 3 y sólo 3 bits a “1” en palabras de 6 bits en
paralelo.
5.- Diseñar un circuito que realice la suma de un número C de 4 bits (c3c2c1c0) con el
mayor de los dos números D (d3d2d1d0) y E (e3e2e1e0). Los tres números están
codificados en el sistema binario natural. Si los números D y E son iguales, el resultado
ha de ser igual al número C. Utilizar para el montaje los circuitos combinacionales
integrados que sean necesarios.
6.- Diseñar un sumador aritmético en código BCD para números positivos de una cifra a
partir de dos sumadores integrados ’83 y las puertas lógicas que sean necesarias.
Generalizarlo para sumar números BCD de más de una cifra.
Sistemas Digitales
Sistemas Digitales
longitud del tren. Diseñar dicho autómata asíncrono suponiendo que los trenes no van a
cambiar la dirección de su marcha, y que no puede haber más de un tren en el cruce al
mismo tiempo.
3.- Diseñar un circuito secuencial asíncrono 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
simultáneamente. 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.- Diseñar un biestable r-s activado por flanco de bajada. Realizar el circuito utilizando
biestables R-S.
Sistemas Digitales
Reset
Set
CLK
2.- Complete el diagrama temporal del siguiente circuito. Observe que las entradas de
reloj de los dos biestables son diferentes. La señal de Reset es asíncrona. Q1 y Q2 valen
inicialmente cero.
Reset
Q1 Q1 Q2 Q2 CLK
Reset Reset
Reset
CLK D1 CLK D2 Q1
Q2
Sistemas Digitales
1.- Se dispone de una señal digital periódica C de período T y ancho de impulso T/10. A
partir de dicha señal y en sincronismo con sus flancos de subida se necesita generar otra
señal periódica S cuyo período y ancho de impulso deben ser seleccionables mediante
dos señales 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 número 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, Z1 = Z2 = 0. Suponer que el circuito se
inicializó hace tiempo.
a) Describir el diagrama de flujo del sistema como autómata de Mealy.
b) ¿Cuántos estados tendrá el circuito equivalente de Moore?
c) Diseñar el circuito con flip-flops tipo D activos con el flanco negativo de la
señal de reloj.
3.- Los números entre 0 y 3, expresados en binario natural, se transmiten en serie por
una línea de datos Y. Primero se transmite el bit más significativo. La transmisión está
sincronizada con una señal de reloj. Se desea diseñar un circuito secuencial tal que la
salida Z nos entregue un 1 durante el tiempo del segundo bit si la combinación que llegó
a través 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
Detector
Z
de 0 y 3
Y
Reloj
Problemas Tema 7 Página 9
Sistemas Digitales
4.- Diseñar un divisor de frecuencia por 3 síncrono con flip-flops JK activados por el
flanco negativo.
5.- Diseñar un sistema secuencial capaz de detectar la secuencia 11010 en una línea X
de datos serie sincronizados con una señal de reloj C:
a) Como autómata de Moore.
b) Como autómata de Mealy.
c) Con un registro de desplazamiento.
6.- Diseñar un generador de secuencias que, a partir de una señal de reloj C, produzca
las señales 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
Reloj
S1
S2
S3
S4
S5
S6
S7
S8
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 deberán ser
síncronas salvo la de lectura. Implementarlo con flip-flops JK y la lógica que sea
necesaria.
8.- Diseñar un registro de desplazamiento de 4 bits con tres señales de control C2, C1 y
C0 tales que:
Sistemas Digitales
Todas estas operaciones deben efectuarse en sincronismo con la señal de reloj. Efectuar
el diseño utilizando flip-flops tipo D y los circuitos combinacionales integrados que
sean necesarios.
9.- Diseñar un contador binario síncrono de módulo 16 con flip-flops JK activados por
flanco de subida. Generalizar el montaje para cualquier contador de módulo 2n, con n
entero.
Sistemas Digitales
f) u w w x yz (Taub 33)
h) w x( x y ) z zy (Taub 32)
g (1) ABꞏAC ABC (2)( A B)( A C ) AꞏBC (3)( AꞏA AꞏC AꞏB BꞏC ) AꞏBC
(4) A AꞏC AB(1 C ) BꞏC (5) A AꞏC AꞏB BꞏC (6) A AB BC (7) A BꞏC
Sistemas Digitales
f A BC
donde hemos aplicado (1) y (2) T7 De Morgan, (3) PE prop. distributiva, (4) T3
AꞏA=A y PE Aꞏ(B+C)=AB+AC, (5) T2 A+1=1, (6) y (7) T4 ley de absorción A
+ AB=A
2.- En una estantería 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 selección que no
incluya a ninguno de ellos.
i) Si se selecciona y, z también debe seleccionarse.
j) Si se selecciona w, v e y también deben ser seleccionados.
Construir la función lógica 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 operación AND.
f (v w)( x z )(v z )( y z )( w vy )
(v w)(vꞏz vz ) v
vꞏz vvz
vw z vwz vz vw z
0 vz
con lo que
f (vz vw z )( x z xz )( y z )( w vy )
(1) ( 2) ( 3) ( 4)
Sistemas Digitales
(vz vw z )( w vy ) v wz vvyz
v
w ꞏz vvwy z v wz vyz
w
vyz 0 0
La función vale:
f (v wz vyz)( x yꞏz xꞏyz xz )
f v xz ( w y )
d) a (b c) ab ac
Sistemas Digitales
f X YZ X ꞏYZ X ꞏ(Y Z ) X Y X Z
Vemos que la función que se nos dice no es el complemento de la función inicial. Si
además 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 función 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 demás casos
posibles ha de adoptar el estado uno. (Mandado 42, Padilla 37)
d) Realizar la tabla de verdad de esta función.
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
Sistemas Digitales
Como producto de sumas nos fijamos en las combinaciones para las que la
función da cero. Obtendremos los productos canónicos que faltan en la
expresión anterior.
f (2,3) (a b c)ꞏ(a b c)
ab ab
c 00 01 11 10 c 00 01 11 10
0 1 1 1 0 0
0 2 6 4 0 2 6 4
1 1 1 1 1 0
1 3 7 5 1 3 7 5
b a ab
f (a, b, c) a b
IV III II I
A c
e a
B
d F
b
f
C
Bloque I:
F = a+b
a= c d
b= C ꞏD
Bloque II:
c= A
d= eꞏ f
Sistemas Digitales
Bloque III:
e=AB
f=C
Si sustituimos:
F (c d ) (C ꞏD) ( A eꞏ f ) (C ꞏD) ( A ABꞏC ) (C ꞏD)
Simplificamos al máximo:
donde hemos aplicado (1) T7 (leyes de Morgan), (2) T3 (AA=A) y (3) T4 (ley de
aborción).
Finalmente: F CD
7.- Dada las formas de las señales de entrada de un circuito lógico (a, b, c) y la señal de
salida (z) según el dibujo, averiguar el circuito lógico 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
Sistemas Digitales
No se puede realizar ninguna agrupación así que tomamos todos los “1” o todos los “0”.
El circuito sería:
abc
c
Sistemas Digitales
1.- Diseñar un circuito con cuatro entradas (X, Y, Z, V) y dos salidas (F, G), lo más
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.
Tenemos que dibujar un diagrama de Karnaugh para cada salida y hallar la expresión de
cada una de las funciones. Utilizaremos una estructura AND-OR (suma de productos).
Para la función F:
XY
00 01 11 10
ZV
X ꞏY
00 0
1
4 12 8
01
1 5
1
9
F X ꞏY X ꞏZ ꞏV X ꞏY ꞏZ
13
11 1 1 1
3 7 15 11
10 1 1
2 6 14 10
X ꞏY ꞏZ X ꞏZ ꞏV
Problemas Tema 7 Página 19
Sistemas Digitales
Para G:
X ꞏY
XY
00 01 11 10
ZV
00 0
1
4 12 8
01 1 1 1 G X ꞏY Y ꞏZ X ꞏV
1 5 13 9
11 1 1 1
3 7 15 11
10 1 1
2 6 14 10
X ꞏV Y ꞏZ
X X ꞏY ꞏZ
Y
Z
X XꞏZꞏV F X ꞏY X ꞏZ ꞏV X ꞏY ꞏZ
Z
V
X X ꞏY
Y
Y YꞏZ G X ꞏY Y ꞏZ X ꞏV
Z
X X ꞏV
V
Sistemas Digitales
Decimal A B C D f
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 0 1 1
- 1 0 1 0 *
- 1 0 1 1 *
- 1 1 0 0 *
- 1 1 0 1 *
- 1 1 1 0 *
- 1 1 1 1 *
AB
00 01 11 10
CD
00 1
0
* 12 1 f (0,1,2,8,9) (10,11,12,13,14,15)
4 8 BꞏC
01 1
1 5
*
13
1 9
BꞏC BꞏD
como suma de productos
11 * *
3 7 15 11
10 1 * *
2 6 14 10
BꞏD
Problemas Tema 7 Página 21
Sistemas Digitales
AB
00 01 11 10
CD
00 0
0 4
* 12 8
f (3,4,5,6,7)ꞏ (10,11,12,13,14,15) Bꞏ(C D)
01 0 * CD como producto de sumas (se obtiene
1 5 13 9
directamente de la expresión como suma
11 0 0 * * de productos).
3 7 15 11
10 0 * *
2 6 14 10
B
C f ( BꞏC )ꞏ( BꞏD)
f Bꞏ(C D) B (C D)
B
f B (C D)
C
D
Vemos que la representación con puertas NOR requiere una puerta menos.
Sistemas Digitales
3.- Diseñar un circuito digital que sea capaz de detectar temperaturas comprendidas
entre T1 y T2, por un lado, y entre T3 y T4 por otro, verificándose:
T1 < T2 < T3 < T4
Suponer que el sistema toma información a partir de cuatro sensores térmicos capaces
de detectar si la temperatura es mayor que una dada. Implementar el circuito con puertas
NAND. Implementarlo también con puertas NOR. (Sin referencia)
(1) T‹T1 A=0 (2) T›T1 A=1 (3) T›T1 A=1 (4) T›T1 A=1 (5) T›T1 A=1
T‹T2 B=0 T‹T2 B=0 T›T2 B=1 T›T2 B=1 T›T2 B=1
T‹T3 C=0 T‹T3 C=0 T‹T3 C=0 T›T3 C=1 T›T3 C=1
T‹T4 D=0 T‹T4 D=0 T‹T4 D=0 T‹T4 D=0 T›T4 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 significaría 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
1 1 0 1 *
1 1 1 0 1
1 1 1 1 0
Sistemas Digitales
AB
00 01 11 10 AꞏB
CD
00 * 1
0 4 12 8 f (8,14) (1,2,3,4,5,6,7,9,10,11,13)
01 * * * *
1 5 13 9 AꞏB C ꞏD
11 * * *
3 7 15 11 como suma de productos.
10 * * 1 *
2 6 14 10
CꞏD
A BC
AB
00 01 11 10
CD f (0,12,15)ꞏ (1,2,3,4,5,6,7,10,11,13)
00 0 * 0
0 4 12 8 ( A)ꞏ(B C )ꞏD
01 * * * *
1 5 13 9 como producto de sumas.
11 * * 0 *
3 7 15 11
10 * * *
2 6 14 10
A
B
f ( AꞏB)ꞏ(CꞏD)
C
Para implementarlo con puertas NOR complementamos dos veces la función expresada
como producto de sumas.
f ( A)ꞏ(B C )ꞏ(D ) A ( B C ) D
Sistemas Digitales
B
f A (B C) D
C
Sistemas Digitales
4.- Diseñar un circuito digital capaz de detectar errores en los sensores del sistema
descrito en el ejercicio anterior. Realizar el diseño con puertas a dos niveles AND-OR.
(Añado yo:) Implementar la realización mínima de la función y una realización para
evitar fenómenos aleatorios estáticos y dinámicos. (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 función que de uno en las
combinaciones que marcamos antes con un *. La tabla de verdad sería.
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 función como suma
de productos. Si dibujamos el diagrama de de Karnaugh y simplificamos,
AB
00 01 11 10
CD
00 0
1 4 12 CꞏD
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
f AꞏB BꞏC C ꞏD
Sistemas Digitales
B f AꞏB BꞏC C ꞏD
C
C
Para conseguir una realización segura hemos de cubrir todas las adyacencias, lo que se
consigue solapando todas las agrupaciones del mapa de Karnaugh. Si añadimos el
término en línea discontinua conseguimos el solapamiento de todos los productos.
B
C f AꞏB BꞏC C ꞏD AꞏD
C
D
A
Sistemas Digitales
5.- Realizar un circuito lógico que tenga por entradas los 4 bits de un número en código
Gray, y por salidas 4 bits del número correspondiente en binario. Hacer lo mismo para
la situación contraria. Implementar ambos circuitos con puertas XOR. (Mandado 128)
g3 g2
00 01 11 10
g1 g0
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 3ꞏg 2
Sistemas Digitales
g 3ꞏg 2ꞏg1
g3 g2
00 01 11 10
g1 g0
00 1 1
0 4 12 8 g 3ꞏg 2ꞏg1
01 1 1
1 5 13 9
11 1 1
3 7 15 11
10 1 1
2 6 14 10
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 b2 g1
01 1 1 g 3ꞏg 2ꞏg1ꞏg 0
1 5 13 9
11 1 1
3 7 15 11
g 3ꞏg 2ꞏg1ꞏg 0
10 1 1
2 6 14 10
Sistemas Digitales
En resumen:
b3 g 3
b2 b3 g 2
b1 b2 g1
b0 b1 g 0
(msb) g3 b3 (msb)
b2
g2
b1
g1
b0 (lsb)
(lsb) g0
Utilizamos la misma tabla de verdad pero ahora buscamos la expresión del código Gray
en función del código binario.
De nuevo g3=b3.
00 1 1
0 4 12 8 b3ꞏb 2
01 1 1
1 5 13 9
11 1 1
3 7 15 11
10 1 1
2 6 14 10
b3ꞏb 2
Como la tabla de Karnaugh es igual a la que obtuvimos para b2 tendremos:
g 2 b3 b2
Sistemas Digitales
b3 b2
00 01 11 10
b1 b0
00 1 1
0 4 12 8
b 2ꞏb1 De la tabla se deduce:
01 1 1
g1 b2ꞏb1 b2ꞏb1 b2 b1
1 5 13 9
11 1 1
3 7 15 11
10 1 1
2 6 14 10
b 2ꞏb1
00 0 4 12 8
ꞏ0
b1b
01 1 1 1 1 Con lo que
1 5 13 9
g 0 b1ꞏb0 b1ꞏb0 b1 b0
11
3 7 15 11
10 1 1 1 1
2 6 14 10
ꞏ0
b1b
En resumen:
g 3 b3
g 2 b3 b 2
g1 b2 b1
g 0 b1 b0
(msb) b3 g3 (msb)
g2
b2
g1
b1
g0 (lsb)
(lsb) b0
Sistemas Digitales
Dibujamos la tabla de verdad para ambos valores de la señal de control. Con E=0 la
función dará cero si el número decimal es par y para E=1 dará cero si el número decimal
es múltiplo de 3.
En el 0 que no se sabe si es par o impar, y para los números mayores que 9 la función
no está definida.
AB AB
00 01 11 10 00 01 11 10
CD CD
00 * * 00 * 0 * 4
* * 8
0 4 12 8 12
01 1 1 * 1 01 * * * 0 0
1 5 9 1 5 13 9
13
D
11 1 1 * * 11 0 * * *
15 11 3 7 15 11
3 7
10 * * 10 * 0 * *
2 6 14 10 2 6 14 10
E=0 E=1
Sistemas Digitales
La función vale D en el caso en que E=0, con lo que su expresión final es:
Z DꞏE D
Z DꞏE
E
Es lógico pues en un número en binario, el único bit que no tiene peso múltiplo de 2 es
el menos significativo, que tiene peso 1.
Sistemas Digitales
7.- Se desea transmitir una información codificada en binario natural entre dos lugares
alejados físicamente. Para proteger al sistema frente a posibles errores en la transmisión,
se desea añadir un bit de paridad par. Diseñar el circuito lógico que genere dicha
paridad e implementarlo con puertas XOR. (Añado yo:) Diseñar igualmente un circuito
receptor que sea capaz de detectar si ha habido errores en la transmisión.(Sin referencia)
Vamos a considerar que se transmiten tres bits y generaremos el 4º bit como bit de
paridad par. La función generará un 1 cuando en el número binario haya un número
impar de unos y un 0 en caso contrario. De esta manera el número de 4 bits que se
transmite siempre tendrá un número 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
aꞏbꞏc aꞏbꞏc
ab
c 00 01 11 10
aꞏbꞏc
0 0 1 1
2 6 4
1 1 1 aꞏbꞏc
1 3 7 5
P aꞏbꞏc aꞏbꞏc aꞏbꞏc aꞏbꞏc aꞏ(bꞏc bꞏc) a(bꞏc bꞏc) aꞏ(b c) aꞏ(b c) a b c
El circuito por tanto comprendería dos puertas XOR, pues no se utilizan normalmente
XOR de más de dos entradas:
P
c
Sistemas Digitales
E
P
(paridad del emisor)
O visto de otra manera, si en una secuencia la paridad es par (número par de “1”s) la
XOR de todos los bits (incluyendo el de paridad) dará siempre cero.
Sistemas Digitales
Denominaremos las 6 entradas como I5…I0 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 más significativos de la entrada (I5 I4
I3), mientras que los otros 8 decodificadores recibirán como entrada los tres menos
significativos (I2 I1 I0). Creamos una tabla en la que mostramos el decodificador activo y
las posibles salidas según los valores de los tres bits más 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 más 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 más significativas (I5 I4 I3) y genera
una salida que actuará directamente sobre la entrada de habilitación del decodificador
correspondiente. Para habilitar un decodificador es necesario que E1=E2=0 y E3=1. La
señal E es la entrada de habilitación general de todo el circuito.
Sistemas Digitales
E
I5 I4 I3
O0 x O1x O2 x O3 x O4 x O5 x O6 x O7 x
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
Estudiemos el caso en que la entrada vale 011 010. El decodificador x está habilitado
(E=1). Recibe los tres bits más significativos (011) y activa (pone a cero) su salida O3 x ,
pues a la entrada en binario le corresponde el decimal 3. Esta salida actúa sobre la
entrada de habilitación del decodificador d, cuyas salidas abarcan del 24 al 31. El
decodificador d decodifica los tres bits menos significativos de la entrada (I2 I1 I0)
activando su salida número 2 (la correspondiente al código binario de los tres bits
menos significativos de la entrada). Esta salida es la número 26, con lo que hemos
decodificado los 6 bits de entrada.
Sistemas Digitales
2.- Sea un sistema digital que dispone de 16 líneas de petición de servicio activas en
baja. Diseñar un circuito que nos muestre a través de 2 displays el número de la línea de
petición de servicio de mayor prioridad activa en cada instante. Si no hay ninguna
activa, no mostrará nada. Hacer el diseño con dos codificadores de prioridad ‘148, dos
conversores de código ’48 y dos displays. Utilizar las puertas que sean necesarias.
I 0 I1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 I 9 I 10 I 11 I 12 I 13 I 14 I 15 EI
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
Sistemas Digitales
Para A0b:
O3 ꞏO2
O3O2
00 01 11 10
O1O0
00 0
1
4 12 8
A0b O3 ꞏO2 O3 ꞏO1
01 1
1 5 13 9
11 1 1
3 7 15 11
10 1 1
2 6 14 10 O3 ꞏO1
Para A3a:
O3O2
00 01 11 10
O1O0
00 1 O3 ꞏO2 ꞏO1
0 4 12 8
A3a O3 ꞏO2 ꞏO1
01 1
1 5 13 9
11
3 7 15 11
10
2 6 14 10
Sistemas Digitales
Para A2a:
O3 ꞏO2
O3O2
00 01 11 10
O1O0
00 0
1 4 12 8
01 1 A2 a O3 ꞏO2 O2 ꞏO1
1 5 13 9
11 1 1
3 7 15 11
10 1 1
2 6 14 10
O2 ꞏO1
Para A1a:
O3 ꞏO2 ꞏO1
O3O2
00 01 11 10
O1O0
00 0 4
1
12 8
11 1 1
3 7 15 11
10 1 1
2 6 14 10
O3 ꞏO1
Sistemas Digitales
O3
O3
O2
O2
O1
O1
O0
O0
GS
“0”
CONVERSOR DE CONVERSOR DE
CÓDIGO `48 CÓDIGO `48
(b) (a)
a b c d e f g a b c d e f g
RBO b RBO a
Dígito más significativo Dígito menos significativo
(Decenas) (Unidades)
Sistemas Digitales
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, diseñar un
circuito capaz de detectar la presencia de 3 y sólo 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 número de bits a uno en la entrada con la
salida del sumador podemos generar la tabla de verdad de la función 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 función 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 selección (SL) del multiplexor
vemos que las entradas del multiplexor han de tomar los siguientes valores.
SL2 = Ca I1 = Sb I0 = I2 = I5 = I7 =0
SL1 = Sa I3 = S b
SL0 = Cb I4 = Sb
I6 = S b
Sistemas Digitales
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 número es el 110 001, que tiene tres unos. La
salida del sumador a (suma los 3 bits más significativos) es Sa=0 Ca=1. El sumador b
nos da Sb=1 Cb=0. Los bits Ca, Sa, Cb (100) direccional la entrada I4 del multiplexor
que vale Sb, es decir, uno.
Sistemas Digitales
f (a, b, c, d ) (0,2,4,5,6,11,12,14)
Los tres bits más significativos (a, b, c) los conectaremos a las entradas de selección del
multiplexor. Cogemos estos tres porque luego es más sencillo para la resolución del
problema. Hemos de decidir que valor aplicamos a cada una de las entradas del
multiplexor (I0-I7) para implementar la función. Como posibles valores tenemos 0, 1, d
o d . Para ello dibujamos la tabla de Karnaugh en la que representamos todos los unos y
ceros. Mostramos en la misma tabla a qué entrada del multiplexor corresponde cada
casilla, de acuerdo con los valores de a, b y c. A cada entrada del multiplexor le
corresponden dos casillas.
I0 I2 I6 I4
ab
cd 00 01 11 10
00 1 1 1 0
0 4 12 8
01 0 1 0 0
1 5 13 9
11 0 0 0 1
3 7 15 11
10 1 1 1 0
2 6 14 10
I1 I3 I7 I5
Problemas Tema 7 Página 44
Sistemas Digitales
I0 = d , I1 = d , I2 = 1, I3 = d , I4 = 0, I5 = d, I6 = d , I7 = d
El circuito sería:
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
Sistemas Digitales
5.- Diseñar un circuito que realice la suma de un número C de 4 bits (c3c2c1c0) con el
mayor de los dos números D (d3d2d1d0) y E (e3e2e1e0). Los tres números están
codificados en el sistema binario natural. Si los números D y E son iguales, el resultado
ha de ser igual al número C. Utilizar para el montaje los circuitos combinacionales
integrados que sean necesarios.
Necesitamos hacer una comparación, una selección 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 números 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 conexión 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 IA=B=1 para comparar los números 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 número 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 habilitación del multiplexor tendremos como salida del
multiplexor el mayor de los números D y E, y si son iguales la salida será cero.
A3 A2 A1 A0 B3 B2 B1 B0 A/ B E
A B
MULTIPLEXOR `157
Z=AóB
Z3 Z2 Z1 Z0
Por último solo nos queda sumar esta salida con el número C utilizando para ello un
sumador `83. El circuito sería el siguiente:
Sistemas Digitales
d3 d2 d1 d0 e3 e2 e1 e0
A3 A2 A1 A0 B3 B2 B1 B0
IA>B
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 B1 B0 A/ B 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
Sistemas Digitales
6.- Diseñar un sumador aritmético en código BCD para números positivos de una cifra a
partir de dos sumadores integrados ’83 y las puertas lógicas que sean necesarias.
Generalizarlo para sumar números BCD de más de una cifra. (Padilla 55)
Un número en BCD de una cifra se corresponde con un código binario de cuatro bits
en el que hemos representado un número del 0 al 9. Si sumamos dos dígitos en BCD
con un sumador `83 obtendremos una salida de cuatro bits más un posible acarreo. Esta
salida está en binario, no en BCD. Hemos de diseñar un circuito que transforme esa
salida en dos dígitos BCD pues puede que el resultado de la suma sea superior a 9.
S3 S2 S3 S2
00 01 11 10 00 01 11 10
S1 S0 S1 S0
S3ꞏS2
00 1 00 1 * * *
0 4 12 8 16 20 28 24
01 1 01 1 * * *
1 5 13 9 17 21 29 25
11 1 1 11 * * * *
3 7 15 11 19 23 31 27
1 S3ꞏS1 *
10 1 10 1 * 22 *
2 6 14 10 18 30 26
C=0 C C=1
Sistemas Digitales
Vemos que en el caso de C=1 siempre hay que corregir, como ya sabíamos. 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 expresión final de la función (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 números BCD de un
dígito (A0 y B0) y el otro para sumar 6 al resultado en los casos en los que Cout valga
uno.
A0 B0
0
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
Para generalizar este montaje hemos de considerar que se podría dar también la
situación de tener que sumar dos BCDs de valor 9 más un acarreo de la suma anterior.
Esto nos obliga a añadir otra línea en la tabla anterior.
Sistemas Digitales
Sistemas Digitales
a) Los dos números de 4 bits, A (A3…A0) y B (B3…B0) 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 números, B. Al hacer el C2 cambiaremos el signo de B, tanto si era
positivo como negativo pues el C2 de un número en C2 es el número positivo.
El C2 implica invertir todos sus bits y sumarle uno. Si observamos la tabla de
verdad de la función 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
Si realizamos un XOR entre cada bit del número B y el bit R / S invertiremos los
bits de B siempre que R / S =1, es decir cuando haya que restar. Si aplicamos la
señal R / S al acarreo de entrada CI, sumaremos 1 al número B después de
haber sido invertido con lo que tendremos expresado B en C2 y podremos
realizar la resta.
B3 B2 B1 B0
R/S
A3 A2 A1 A0
CI
A B
SUMADOR `83
S=A+B
S3 S2 S1 S0 CO
Sistemas Digitales
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
Sistemas Digitales
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
Sistemas Digitales
x1
x2
t
z
1 2 3 4 1 2 4 1 2 5 6 1
Sistemas Digitales
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
Después 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
Sistemas Digitales
Los estados estables 1 y 3 son pseudoequivalentes con lo que podemos sustituir las
líneas 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 líneas A’, B’ y C’ son fusionables al igual que
D’ y E’. Dibujamos el diagrama de fusión 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 sólo existen dos líneas y que a cada una de ellas le corresponde una salida
con lo que el autómata resultante será un autómata 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 excitación y de salida. Para dibujar la tabla de
fases se ha de tener en cuenta que los estados estables de una misma línea 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 sólo dos líneas en la tabla de fases únicamente necesitamos una variable de
estado para codificar las líneas. Asignaremos el valor y=0 a la línea 1 e y=1 a la línea
2. Como sólo tenemos una variable de estado nunca se darán transiciones críticas entre
estados internos adyacentes. Realizamos por último las tablas de excitación y de salida e
implementamos el circuito.
Sistemas Digitales
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
x1
x2 Y=Z
Sistemas Digitales
Carretera
sentidos se cruza con AUTÓMATA z
una carretera en la x2 ASÍNCRONO
cual se coloca una
barrera gobernada por D Detector M Detector D
la salida z de un
autómata asíncrono.
A 500 metros del
punto de cruce se
colocan dos
detectores x1 y x2, Vía férrea M
respectivamente. A Barreras
partir de un estado
inicial en el que z = 0, la salida deberá pasar al estado 1 cuando se acerque un tren en
cualquier sentido al rebasar su máquina los 500 metros del cruce y deberá volver al
estado 0 cuado el último vagón se aleje más de dicha distancia independientemente de la
longitud del tren. Diseñar dicho autómata asíncrono suponiendo que los trenes no van a
cambiar la dirección de su marcha, y que no puede haber más de un tren en el cruce al
mismo tiempo.
Sistemas Digitales
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 1 6 -- 2 0 3, 7 3
5, 9 5
B 3 -- 5 2 1
C 3 4 -- 8 1 A B C
D 1 4 -- -- 1 D
E -- 4 5 8 1
F 3 6 5 -- 1
G E
G 1 -- -- 8 1 F
Por tanto podemos fusionar las siguientes líneas: B-F, C-E, D-G (o también: B-F, D-E-
G). Como todas las líneas que fusionamos tienen la misma salida no es necesario que
representemos cada estado con su salida correspondiente. Estamos realizando un
autómata de Moore (las variables de salida dependen solo del estado interno, no de las
variables de entrada).
Sistemas Digitales
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
codificación las matrices de
excitación y salida conjuntamente
en una misma tabla.
D’ C’
10 11
x1 x2
y1 y2 00 01 11 10 Simplificando la salida se obtiene:
00 00 /0 01 /* ** /* 01 /*
Z = y1 + 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
Implementamos el autómata con flip-flops R-S: 0 1 0 1
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
S1 x1 x 2 x1 ꞏx 2 ꞏy 2
01 01 *0 01 *0
11 0* 0* 0* 0*
10 10 0* ** 0*
R1S1 (Y1)
Sistemas Digitales
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
y2
R1 R y1 R2 R Z
Z Z
RS 1 RS 2
S1 S Z S2
y1 S Z
y2
x1 x2
y1 y2 00 01 11 10
00 0 0 * 0
x1 ꞏx 2
01 1 0 1 0
Y1 x1 ꞏx 2 ꞏy 2 y1 ꞏy 2 x 2 ꞏy1 x1 ꞏy1 x1 ꞏx 2
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
Sistemas Digitales
x 2 ꞏy1
x1 x2
y1 y2 00 01 11 10
00 0 1 * 1
x1 ꞏy1
01 1 1 1 1
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
y1
y2
Y1 Y2
Z
Sistemas Digitales
3.- Diseñar un circuito secuencial asíncrono 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
simultáneamente. Implementar el circuito con biestables R-S constituidos por puertas
NAND.
Tenemos un sistema secuencial que sólo cambia de salida cuando hay una transición en
C de 0 a 1. Además no necesita recordar situaciones pasadas. Cuando las entradas sean
constantes el sistema permanecerá en un estado estable. Así, asignaremos un estado
estable a cada combinación de entradas y salidas posible (8 en total, todas son posibles).
Q=D=0 Q=D=1
F 5 6 7 -- 1 B
G -- 6 7 8 1
A C
H 5 -- 7 8 1
D E
F H
Sistemas Digitales
DC 00 01 11 10 Q
(ABC) A’ 1 2 3 4 0 Es un autómata de Moore.
Quedan dos estados imposibles.
(D) B’ 1 -- 7 4 0
(E) C’ 5 2 -- 8 1
(FGH) D’ 5 6 7 8 1
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 más
(FG) D’’ 5 6 7 8 1 complicado.
Usamos por tanto la primera opción para realizar la fusión. El diagrama de transición es:
A
’
0
0
B’ - 01
D’- 11
DC C’ - 10
DC
y1 y2 00 01 11 10 y y 00 01 11 10
Con esta codificación las matrices de excitación y 1de2salida quedan:
A’00 00 00 00 01 A’00 0 0 0 0
B’01 00 ** 11 01 B’01 0 * * 0
D’11 10 11 11 11 D’11 1 1 1 1
C’10
Problemas Tema 710 00 ** 11 C’10 1 * * Página
1 64
Y1Y 2
Descargado por Juan Garcia (jennig69@yahoo.com) Q
lOMoARcPSD|13839428
Sistemas Digitales
Hemos cambiado el orden de D’ y C’ para poner las variables siguiendo un código 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 Z1
Biest. RS Biest. RS
Y2
C S2 (2) Z2 R1 (1) Z1 Y1
Q
S2 R1
D
Sistemas Digitales
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 también pueden expresarse
como puertas NAND.
C
S2 S1
Y2 Y1 Q
R2 R1
Y2 Y1
Problema 5.3. Circuito realizado con biestables RS implementados con puertas NAND.
Sistemas Digitales
X1
Nota: dos impulsos sucesivos en X1 con X2=0 son:
1 2
X2=0
x1 x2
00
Estado/z *X1X2=11 no permitido.
01 1/0
01 10 10
*Cambio simultáneo de
2/0 00 3/0 2 bits no permitido. Por
00
00 eso no hay en 3 y 5 la
entrada 01 y en 2 la 10.
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.
Sistemas Digitales
C 4 -- -- 3 0 A B
D 4 2 -- 5 0
F C
E 6 -- -- 5 1
F 6 2 -- 5 1
E D
(C) B’ 4 -- -- 3 0
(D) C’ 4 2 -- 5 0
(E-F) D’ 6 2 -- 5 1
D’ 10 11 C’
Según este diagrama puede haber problemas de carreras críticas en 11(C’) → 00(A’) si
utilizamos la codificación indicada. Vamos a analizar lo que ocurre ayudándonos 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 transición
01 11 -- -- 01 0 no adyacente al estado estable 00.
11 11 00 -- 10 0
Veamos qué ocurre:
10 10 00 -- 10 1
Y1Y2
Sistemas Digitales
11
10 01
00 --
Posibles soluciones:
a) Sustituir el estado imposible por un estado inestable que conduzca al 00
(estable). Es decir, por ambos caminos llegaríamos al 00 y tendríamos carreras
no críticas.
b) Sustituir el estado inestable de la tercera línea para las entradas X1X2=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 número
(00) de forma que a través de uno de ellos podemos llegar al estable que
queremos (eliminamos carrera).
Elegimos la segunda opción porque así mantenemos el estado imposible lo que nos
dará mas libertad para simplificar más la función. Por tanto la matriz de excitación sin
carreras más la de salida queda:
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 combinación intermedia para eliminar
carrera de 11 (Z=0) a 00 (Z=0).
Sistemas Digitales
y Y R S
0 0 * 0 R1S1 - Y1
0 1 0 1 R2S2 - Y2
1 0 1 0
1 1 0 *
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
X 1 y1
R1S1 (Y1) X2 R2S2 (Y2)
R1 X 2 ꞏy 2 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 Z2 Y2
Biest. RS Biest. RS Y2
S1 (1) Z1 Y1 S2 (2) Z2
Sistemas Digitales
5.- Diseñar 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
Sistemas Digitales
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 *
sr sr
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 ** 0*
10 10 0* ** ** 10 *0 *0 ** **
Sistemas Digitales
R1 r ꞏy 2 R2 r
S1 sꞏy 2 S2 s
El circuito será:
Y2
r R2 Z2 S1 Z1
Biest. RS Biest. RS
s (2) Y2 Y1 Z
S2 Z2 R1 (1) Z1
Sistemas Digitales
Las señales de Reset y Set al ser asíncronas 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 señal de Reset es asíncrona. Q1 y Q2 valen
inicialmente cero.
Las señales de Reset al ser asíncronas 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 señal de reloj.
Sistemas Digitales
Q1 Q1 Q2 Q2
Reset Reset
Reset
CLK D1 CLK D2
Reset
CLK
Q1
Q2
Sistemas Digitales
1.- Se dispone de una señal digital periódica C de período T y ancho de impulso T/10. A
partir de dicha señal y en sincronismo con sus flancos de subida se necesita generar otra
señal periódica S cuyo período y ancho de impulso deben ser seleccionables mediante
dos señales 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)
Sistemas Digitales
C0C1
1/1 Estado/S
01
**
00
10 2/1 ** 3/1
0/0
**
11
4/1 ** ** 6/1
5/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
Sistemas Digitales
1 X
2 X X
3 X √ X
4 X X 3=5 X
5 X X 3=6 X 6=5
6 X √ X √ X X
0 1 2 3 4 5
Luego asignamos:
0 →A
1-3-6 → B
2-5 → C
4 →D
Sistemas Digitales
C0 C1
00 01 10 11 S
E.A.
A A B C D 0
B A A A A 1
C B B B B 1
D C C C C 1
E. Siguiente
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
0 0 0 * J0K0 - Q0
A 0 0
J1K1 - Q1
0 1 1 * B 0 1
1 0 * 1 C 1 0
1 1 * 0 D 1 1
Sistemas Digitales
Dibujamos los diagrams de Karnaugh para las variables de los FF y para la salida. En
los diagramas de Karnaugh hemos de utilizar el código Gray para las combinaciones de
las variables.
C0C1 C0C1
Q1 Q0 00 01 11 10 Q1 Q0 00 01 11 10
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*
C0C1
00 01 11 10 J 1 C0 ꞏQ0
Q1 Q0
K1 Q0 S=Q0+Q1
00 0 0 0 0
J0 = C1+Q1
01 1 1 1 1 K0 1
11 1 1 1 1
10 1 1 1 1
S
S=Q0+Q1
Problemas Tema 7 Página 80
Sistemas Digitales
C0
S
J0 Q0 J1 Q1
C1 FF 0 FF 1
CLK0 CLK1
“1” K0 Rd0 Q0 K1 Rd1 Q1
CLK
Inicialización
Sistemas Digitales
2.- Un circuito secuencial tiene dos entradas (X1, X2) y dos salidas (Z1, Z2). Las entradas
representan un número 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, Z1 = Z2 = 0. Suponer que el circuito se
inicializó hace tiempo.
d) Describir el diagrama de flujo del sistema como autómata de Mealy.
e) ¿Cuántos estados tendrá el circuito equivalente de Moore?
f) Diseñar el circuito con flip-flops tipo D activos con el flanco negativo de la
señal de reloj.
a) Autómata 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
Sistemas Digitales
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 habría que dividirlo en 2
estados distintos.
- q1 tiene asignadas 3 tipos de salidas (10, 00 y 01) luego habría que dividirlo en 2
estados distintos.
- q2 tiene asignadas 3 tipos de salidas (10, 00 y 01) luego habría que dividirlo en 2
estados distintos.
- q3 tiene asignadas 2 tipos de salidas (10 y 00) luego habría 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 0 1 1 * J1K1 - Q1
q3 1 1
1 0 * 1
1 1 * 0
Sistemas Digitales
Nos piden implementar el circuito con FF tipo D. En general habría que buscar una
expresión para Di en función de Xi y Qi, con la condición 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
Sistemas Digitales
X1 x1
x1
X2 x2
x2
Q0
D0 Q0 Q0
Q1
FF 0 Q1
Q0
D1 Q1
FF 1
Q1
CLK Z2 Z1
Sistemas Digitales
3.- Los números entre 0 y 3, expresados en binario natural, se transmiten en serie por
una línea de datos Y. Primero se transmite el bit más significativo. La transmisión está
sincronizada con una señal de reloj. Se desea diseñar un circuito secuencial tal que la
salida Z nos entregue un 1 durante el tiempo del segundo bit si la combinación que llegó
a través 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
Detector
Z
de 0 y 3
Y
Reloj
Del enunciado se deduce que la salida va a cambiar en función del estado del circuito y
del valor de las entradas X e Y. Por tanto lo más apropiado es implementar el circuito
como un autómata de Mealy. El diagrama de flujo sería:
Estado
inicial 1*/0 00/0
Detección
de un 2.
01/0 01/1
q3
Llega el 1ºbit (el
El 2º bit q llega vale
MSB) y vale 1.
1.Se detecta un 3: Z=1
Tendremos 4 estados:
Sistemas Digitales
XY Tabla de implicación:
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
0 1 1 * q1 0 1
q2 1 0
1 0 * 1 q3 1 1
1 1 * 0
Sistemas Digitales
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 *1 *1 *1 *1
11 *0 *0 *1 *1 11 *1 *1 *1 *1
10 *0 *0 *1 *1 10 0* 0* 0* 0*
XY
Q1 Q0 00 01 11 10 J 1 X Y X Q0 J 0 X Q1
00 0 0 0 0 K1=X K0=1
01 1 0 0 0
Z X Y Q1Q0 X YQ1Q0
11 0 1 0 0
X Q0 (Y Q1 )
10 0 0 0 0
Y
X
J0 Q0 J1 Q1
FF 0 FF 1
CLK0 CLK1
“1” K0 Rd0 Q0 K1 Rd1 Q1
CLK
Inicialización
Sistemas Digitales
Si queremos implementar el circuito con FFs tipo D tenemos que considerar que
D1 Q1n1 y D0 Q0n1 . Dibujamos los diagramas de Karnaugh y simplificamos:
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
Q1n1 Q0n1
D1 Q1n1 X ꞏ( y Q1 Q0 ) D0 Q0n1 X Q1 Q0
Y
X
D0 Q0 D1 Q1
FF 0 FF 1
CLK0 CLK1
Q0 Q1
CLK
Sistemas Digitales
4.- Diseñar un divisor de frecuencia por 3 síncrono con flip-flops JK activados por el
flanco negativo.
Tenemos que dividir por tres la frecuencia de la señal 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 * J0K0 - Q0
J1K1 - Q1
0 1 1 *
1 0 * 1
1 1 * 0
Q1 Q1
Q0 0 1 Q0 0 1
0 0* *1 0 1* 0*
1 1* ** 1 *1 **
Sistemas Digitales
Para analizar la salida dibujamos una tabla con todos los posibles valores de la salida y
de los estados:
E. Actual Salida Q1 Q0
C 00 01 11 10
C Q1n Q0n Z
0 0 0 0 0 0 0 * 1
0 0 1 0 1 0 1 * 1
0 1 0 1
0 1 1 *
1 0 0 0 Z=Q1+CQ0
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
Inicialización
Sistemas Digitales
5.- Diseñar un sistema secuencial capaz de detectar la secuencia 11010 en una línea X
de datos serie sincronizados con una señal de reloj C:
d) Como autómata de Moore.
e) Como autómata de Mealy.
f) Con un registro de desplazamiento.
a) Autómata 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
- Asíncronos: hablábamos de estados estables, que eran los que realmente se apreciaban.
Los estados inestables eran estados transitorios en la evolución hacia un estado estable.
- Síncronos: trabajamos con los estados correspondientes a cada flanco activo de la
señal de reloj. Ponemos lo que ocurre en cada ciclo de reloj pero no hablamos de
estados estables.
Sistemas Digitales
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
En principio tendremos 6 estados. Veamos si podemos simplificar el número de estados.
Para ello aplicamos la siguiente regla:
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.
Sistemas Digitales
Codificación de estados
Qin Qin1 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 Q0n1 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
Sistemas Digitales
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*
11 0* ** ** 1* 11 *1 ** ** *1
10 0* ** ** 0* 10 *0 ** ** *0
X Q2 X Q2
Q1 Q0 00 01 11 10 Q1 Q0 00 01 11 10
00 0* 1* 0* 1* 00 0 0 0 0
01 *1 *1 *0 *1 01 0 1 1 0
11 *1 ** ** *1 11 0 * * 0
10 1* ** ** 0* 10 0 * * 0
J0K0 (Q0) Z= Q2 Q0
Z= Q2 Q0
Sistemas Digitales
b) Autómata de Mealy.
En esta ocasión 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 implicación
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 ningún 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.
Sistemas Digitales
Q2 Q1 Q0
0 0 0 0 Qin Qin1 J K
1 0 0 1 0 0 0 * J0K0 - Q0
2 0 1 0 0 1 1 * J1K1 - Q1
J2K2 - Q2
3 0 1 1 1 0 * 1
1 1 * 0
4 1 0 0
Codificación de estados
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
10 0* ** ** 0* 10 *0 ** ** *0
Sistemas Digitales
X Q2 X Q2
Q1 Q0 00 01 11 10 Q1 Q0 00 01 11 10
00 0* 0* 0* 1* 00 0 1 0 0
01 *1 ** ** *1 01 0 * * 0
11 *1 ** ** *1 11 0 * * 0
10 1* ** ** 0* 10 0 * * 0
Z X Q2
El tener cinco estados en vez de seis como en el autómata de Moore no nos va a suponer
un ahorro en cuanto al número de FFs pero si nos facilita la simplificación y reduce la
lógica adicional necesaria. Por tanto la implementación como autómata de Mealy es
más sencilla.
Basta con montar el siguiente circuito. Necesitamos un FF más que como autómata de
Moore o de Mealy pero se simplifica mucho la lógica adicional.
Sistemas Digitales
X
D0 Q0 D1 Q1 D2 Q2 D3 Q3
FF 0 FF 1 FF 2 FF 3
C0 C1 C2 C3
Q0 Q Q2 Q3
Rd0 Rd1 1 Rd2 Rd3
CLK
Inicialización
Sistemas Digitales
6.- Diseñar un generador de secuencias que, a partir de una señal de reloj C, produzca
las señales 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
Reloj
S1
S2
S3
S4
S5
S6
S7
S8
Todas las secuencias se repiten cada 8 ciclos de reloj. Por tanto necesitamos construir
un contador de módulo 8 que se puede implementar fácilmente despreciando la salida
más significativa (Q3). Solamente veríamos 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 duración mayor que un periodo no se pueden
obtener directamente del ‘138. Necesitamos lógica adicional para poner las señales a
“1” y volver a ponerlas a “0” tras 2 pulsos de reloj (para S6, S7 y S8) o 3 pulsos (S5). Se
podría hacer con una puerta NAND en cada caso, pero no estaría libre de fenómenos
aleatorios. Es mejor utilizar biestables RS construidos con puertas NAND.
S Y
Y
R
Sistemas Digitales
A0 O0 S1
Q0
O1
DECODIFICADOR `138
Salidas Q1 A1 S2
del contador
A2 O2 S3
Q2
O3 S4
S5
O4
O5 S6
“1” E3 O6
E2 E S7
“0”
O7
E1
S8
Problema 7.6. Generador de secuencias construido utilizando un contador ‘161 (no mostrado) y
un decodificador ‘138.
Sistemas Digitales
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 deberán ser
síncronas salvo la de lectura. Implementarlo con flip-flops JK y la lógica 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 síncrono la orden se realizará en el siguiente flanco
activo de la señal de reloj.
Como ejemplo de este último tipo vamos a diseñar 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 lógico y los demás a 0.
Símbolo 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 señal de reloj
Sistemas Digitales
Para leer del registro y transferir un bit del FFi 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) Complementación
Para borrar el registro si Z=1 y dejarlo inalterado si Z=0 habrá que poner:
Ji=BiꞏW + C i=1,….,n
Ki= Bi ꞏW + C + Z
Sistemas Digitales
Bi
W
C
Z
Ki Ji
CLK Ci FF i
Qi
R
Bi
n Conexión
transferencias
W bus registro
R Registro
Líneas
C de n bits
de control
Z Conexión
CLK transferencias
n registro bus
Sistemas Digitales
8.- Diseñar un registro de desplazamiento de 4 bits con tres señales de control C2, C1 y
C0 tales que:
Todas estas operaciones deben efectuarse en sincronismo con la señal de reloj. Efectuar
el diseño utilizando flip-flops tipo D y los circuitos combinacionales integrados que
sean necesarios.
I0 I1 I2 I3 I4 I5 I6 I7 S2 S1 S0 E
Utilizaremos 4 FFs tipo D y 4 multiplexores
‘151. Los multiplexores ‘151 son
multiplexores 81 que poseen 3 entradas de
selección.
MULTIPLEXOR `151
Aplicamos las 3 señales de control a las
entradas de selección de los multiplexores:
Indicamos en una tabla las señales de control y los valores que hay que aplicar a las
entradas de los FFs.
Sistemas Digitales
0 D Q 3 Q 0 Q 2 P3 Q 2 1 0 Q 3 Q 2 Q 3 Q 1 P2 Q 1 1 0 Q 2 Q 1 Q 2 Q 0 P1 Q 0 1 0 Q 1 Q 0 Q 1 D P0 Q 3 1
0 E I0 I1 I2 I3 I4 I5 I6 I7 0 E I0 I1 I2 I3 I4 I5 I6 I7 0 E I0 I1 I2 I3 I4 I5 I6 I7 0 E I0 I1 I2 I3 I4 I5 I6 I7
C2 S2 C2 S2 C2 S2 C2 S2
C1 S1 MUX 3 MUX 2 S1 MUX 1 S1 MUX 0
C1 S1 C1 C1
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
Sistemas Digitales
9.- Diseñar un contador binario síncrono de módulo 16 con flip-flops JK activados por
flanco de subida. Generalizar el montaje para cualquier contador de módulo 2n, con n
entero.
J3=K3= Q2ꞏQ1ꞏQ0
Sistemas Digitales
“1”
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
Inicialización