Está en la página 1de 109

lOMoARcPSD|13839428

Problemas Sistemas Digitales

Sistemas Digitales (Universidad de Valladolid)

StuDocu no está patrocinado ni avalado por ningún colegio o universidad.


Descargado por Juan Garcia (jennig69@yahoo.com)
lOMoARcPSD|13839428

Sistemas Digitales

PROBLEMAS DE SISTEMAS DIGITALES


I.T. Informática. 1º curso.

Tema 1: Álgebra de Boole y funciones lógicas.

1.- Simplificar las siguientes funciones lógicas:

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.

3.- Demostrar las siguientes propiedades de la función XOR:


a) a  b  a  b
b) a (b  c)  ab  ac

4.- De acuerdo con el teorema de De Morgan, el complemento de la función X  YZ es


X Y  Z . Ambas funciones toman el valor lógico “1” para XYZ  110 . ¿Cómo pueden
la función y su complemento ser “1” para la misma combinación de entrada? ¿Qué está
mal aquí?

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.

Problemas Tema 7 Página 1

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

6.- Analizar el circuito de la figura, obtener la función que realiza y simplificarla al


máximo.

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.

Problemas Tema 7 Página 2

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

PROBLEMAS DE SISTEMAS DIGITALES


I.T. Informática de Gestión. 1º curso.

Tema 3: Circuitos Combinacionales.

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.

2.- En un registro de 4 bits cuyas salidas están disponibles al exterior, se almacenan


números decimales en código BCD.
a) Realizar la tabla de verdad de un circuito lógico que detecte si el número
contenido en el registro es mayor que 7 o menor que 3.
b) Minimizar la expresión algebraica de la función lógica obtenida a partir de la
tabla realiza en el apartado anterior.
c) Realizar la expresión mínima con puertas NAND.
d) Realizar la expresión mínima con puertas NOR.

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.

6.- Un circuito lógico tiene 5 entradas y 1 salida. Cuatro de las entradas A, B, C y D


representan un dígito decimal en BCD. La quinta entrada (E) es de control. Cuando el
control esté en 0 lógico, la salida estará en 0 lógico si el número decimal es par y en 1
lógico si es impar. Cuando el control esté en 1 lógico, la salida será 0 cuando la entrada
sea un múltiplo de 3. Diseñar el circuito.

Problemas Tema 7 Página 3

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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.

Problemas Tema 7 Página 4

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

PROBLEMAS DE SISTEMAS DIGITALES


I.T. Informática de Gestión. 1º curso.

Tema 4: Circuitos Combinacionales Integrados

1.- Construir un decodificador de 6 líneas de entrada de dirección y 64 líneas de salida a


partir de 9 decodificadores ‘138.

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.

4.- Implementar la siguiente función lógica de 4 variables con un multiplexor ‘151 y un


inversor:
f (a, b, c, d )   (0,2,4,5,6,11,12,14)

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.

7.- Trabajando con números con signo diseñar:


a) Un circuito sumador-restador de 4 bits (1 de signo y 3 de magnitud) en los
que la operación a realizar viene indicada por la señal R / S ( R / S =1 resta,
R / S =0 suma). Trabajar en C2 y utilizar para ello un circuito sumador ’83 y
las puertas XOR que sean necesarias.
b) Un detector de desbordamiento para el sumador-restador del apartado
anterior.
c) Un sumador-restador de números de 8 bits (1 de signo y 7 de magnitud) con
detector de desbordamiento.

Problemas Tema 7 Página 5

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

PROBLEMAS DE SISTEMAS DIGITALES


I.T. Informática de Gestión. 1º curso.

Tema 5: Circuitos Secuenciales Asíncronos.

1.- El producto final de una Emisores


de luz
fabricación son barras
L
metálicas cuya longitud ha de Trampilla
ser inferior o igual a L. Para
Barra
hacer a selección del
producto terminado se utiliza Receptores
el sistema mostrado en la de luz
figura. Está constituido por
una cinta transportadora que x1 x2
hace pasar las barras entre SISTEMA z
SECUENCIAL MOTOR
dos detectores fotoeléctricos ASÍNCRONO
separados por una distancia L
y constituidos por un emisor y un receptor de luz. La salida de los receptores adopta dos
niveles de tensión diferenciados según esté o no una barra situada entre él y su emisor
receptivo. Se asigna por convenio el estado lógico 1 a la salida cuando la barra está
situada delante del detector y el estado 0 en caso contrario. Después del segundo
detector existe una trampilla accionada por un motor M. Si la barra tiene una longitud
mayor que L, se ha de excitar M y abrir la trampilla para dejar caer la barra; en caso
contrario no ha de excitarse M. Una vez comprobada la barra, el motor M ha de volver a
desexcitarse, y el sistema quedará preparado para una nueva detección.
Diseñar un sistema secuencial asíncrono cuyas entradas sean las salidas de los
detectores, que denominaremos x1 y x2, y cuya salida z accione el motor M al ponerse en
estado 1. Suponer que la distancia que separa dos barras sometidas a verificación es tal
que nunca podrá entrar una en la zona de detección mientras se está comprobando la
anterior.

2.- Una vía férrea con


tráfico en ambos x1
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

Problemas Tema 7 Página 6

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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.

4.- Un sistema secuencial asíncrono posee dos entradas de impulsos X1 y X2 (ambas


entradas no pueden estar nunca en estado 1 simultáneamente), y una salida Z. A partir
de un estado inicial en el cual X1 = X2 = Z = 0, la salida Z ha de tomar el valor 1 si se
aplican dos impulsos sucesivos a la entrada X1 sin que se aplique ninguno a la entrada
X2. La entrada X2 actúa como entrada de inicialización. La salida volverá a 0 sólo
cuando se active X2. Se especifica que X1 y X2 no pueden cambiar simultáneamente.
Realizar el circuito con biestables RS construidos con puertas NOR.

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.

Problemas Tema 7 Página 7

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

PROBLEMAS DE SISTEMAS DIGITALES


I.T. Informática de Gestión. 1º curso.

Tema 6: Cerrojos dinámicos y Flip-Flops.

1.- Complete el siguiente diagrama temporal correspondiente a un biestable J-K activo


por flanco de bajada con entradas asíncronas de Reset y Set activas a nivel bajo. La
salida vale inicialmente cero.

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

Problemas Tema 7 Página 8

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

PROBLEMAS DE SISTEMAS DIGITALES


I.T. Informática de Gestión. 1º curso.

Tema 7: Circuitos Secuenciales Síncronos.

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.

Controles Características de la señal S


C0 C1 Ancho de impulso Período
00 No se genera impulso No se genera impulso
01 T 2T
10 2T 3T
11 3T 4T
T
T/10
Nota: señal de periodo T y ancho de impulso T/10 (no está a escala).

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

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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:

a) Si C2C1C0 = 000, el registro se pone a cero (reset).


b) Si C2C1C0 = 001, el registro desplaza a la derecha.
c) Si C2C1C0 = 010, el registro mantiene la información.
d) Si C2C1C0 = 011, el registro desplaza cíclicamente (rotación) a la derecha.
e) Si C2C1C0 = 100, el registro desplaza a la izquierda.
f) Si C2C1C0 = 101, el registro carga información en paralelo.

Problemas Tema 7 Página 10

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

g) Si C2C1C0 = 110, el registro desplaza cíclicamente (rotación) a la izquierda.


h) Si C2C1C0 = 111, el registro se pone a uno (set).

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.

Problemas Tema 7 Página 11

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

PROBLEMAS DE SISTEMAS DIGITALES


I.T. Informática. 1º curso.

Tema 1: Álgebra de Boole y funciones lógicas.

1.- Simplificar las siguientes funciones lógicas:

f) u  w  w x  yz (Taub 33)

u  (1) wꞏw xꞏyz  (2) wꞏ(w  x)ꞏ(y  z )  (3) wꞏ( y  z ) u  wꞏ( y  z )

donde hemos aplicado (1) T7 De Morgan, (2) T7 De Morgan y T6 x  x , (3) T4


ley de absorción Aꞏ(A+B)=A.

g) v  wx  x y  yz  x z (Taub 34, hecho de otro modo)

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 absorción 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

donde hemos aplicado (1) T5 A+ A B=A+B con A= z , (2) PE


Aꞏ(B+C)=AB+AC, (3) PD Aꞏ A =0, (4) T4 ley de absorción A + AB=A

i) f  A  AB  ( A  B)C  ( A  B  C ) D (Enunciado Taub 503, comprobado)

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  ABC (Floyd 221)

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

Problemas Tema 7 Página 12

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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.

Definimos las variables lógicas v, w, x, y, z que indican que se seleccionan los


respectivos libros. El hecho de que se cumpla una condición indica que la función
asociada a ella es cierta (vale 1).
a) (v  w) da uno cuando una de las variables o ambas vale uno.
b) ( x  z ) solo es válida cuando ambas variables son distintas.
c) (v  z ) solo es válida cuando las variables son iguales.
d) ( y  z ) si y es cierto, z también tiene que serlo.
e) ( w  vy ) si w es cierto, v e y también tienen que serlo.

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 )

Sabiendo que A  B  AB  AB , A  B  AꞏB  AB y A  B  A  B podemos


expresar la función mediante las operaciones AND, OR y NOT.

f  (v  w)( x z  xz )(vꞏz  vz )( y  z )( w  vy)


         
(1) ( 2) ( 3) ( 4) ( 5)

(a) Multiplicamos el 1º y 3º paréntesis y aplicamos A A  0 , AA=A, A+AB=A


(A=vz)

(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)

Problemas Tema 7 Página 13

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

(b) Multiplicamos el 1º y 4º paréntesis y aplicamos A A  0 , AA=A

(vz  vw z )( w  vy )  v wz  vvyz
  v
w ꞏz  vvwy z  v wz  vyz
w

vyz 0 0

(c) Multiplicamos el 2º y 3º paréntesis y aplicamos A A  0 , AA=A

( x z  xz )( y  z )  x y z   xzz  x yꞏz  xꞏyz  xz


xz z  x yz  
0 xz

La función vale:
f  (v wz  vyz)( x yꞏz  xꞏyz  xz )

(d) Multiplicamos los dos paréntesis y aplicamos (1) A A  0 , AA=A, (2)


AB+AC=A(B+C), (3) A+AB=A.

f  (v wzx yꞏz  v wz xꞏyz  v


w xz  vyzx yꞏz  vyz xꞏyz  vyz xz ) 
z
          
0 v w x ꞏ yz v w xz 0 0 vy xz

 (1)(v wꞏxꞏyz  v wꞏxz  v x yz )  (2)v xz ( w y  w  y )  (3)v xz ( w  y )

f  v xz ( w  y )

El resultado se interpreta de esta manera: se debe seleccionar “v” y “z” y no seleccionar


“x”. Además o se selecciona “y” o no se selecciona “w” (si no se selecciona “w”
podemos seleccionar o no “y”).

3.- Demostrar las siguientes propiedades de la función XOR: (Mandado 43)


c) a  b  a  b

Desarrollando la función XOR de ambos miembros:


a  b  ab  ab
a  b  ab  ab  ab  ab  ab  ab
Donde hemos aplicado A  A y la propiedad conmutativa.

d) a (b  c)  ab  ac

Desarrollando ambos miembros de la expresión:


a (b  c)  a(bc  bc)  abc  abc
ab  ac  abac  abac  ab(a  c)  (a  b)ac  a ab  abc  aac  abc  abc  abc

Donde hemos aplicado la ley de Morgan y que A A  0 .


También se pueden demostrar mediante las tablas de verdad.

Problemas Tema 7 Página 14

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

4.- De acuerdo con el teorema de De Morgan, el complemento de la función X  YZ es


X Y  Z . Ambas funciones toman el valor lógico “1” para XYZ  110 . ¿Cómo pueden
la función y su complemento ser “1” para la misma combinación de entrada? ¿Qué está
mal aquí?

Una función y su complementado nunca pueden dar el mismo valor pues


contradeciría la propia definición de elemento complementario. Calculemos el
complemento de la función inicial:

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

e) Obtener las expresiones canónicas de suma de productos y de producto de


sumas.

Para expresar la función como suma de productos nos fijamos en aquellas


combinaciones de las entradas para las que la función vale uno.

f   (0,1,4,5,6,7)  aꞏbꞏc  aꞏbꞏc  aꞏbꞏc  aꞏbꞏc  aꞏbꞏc  aꞏbꞏc

Problemas Tema 7 Página 15

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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)

f) Dibujar los diagramas de Karnaugh en ambos casos y simplificar.

Suma de productos Producto de sumas

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 ab

f (a, b, c)  a  b

6.- Analizar el circuito de la figura, obtener la función que realiza y simplificarla al


máximo.

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

Problemas Tema 7 Página 16

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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:

F  ( A  ABꞏC )  (C ꞏD )  (1)( AꞏABC )  (C  D )  (2) ABC  C  D  (3)C  D

donde hemos aplicado (1) T7 (leyes de Morgan), (2) T3 (AA=A) y (3) T4 (ley de
aborción).

Finalmente: F CD

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

Realizamos la tabla de verdad de la función y el diagrama de karnaugh:

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

Problemas Tema 7 Página 17

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

No se puede realizar ninguna agrupación así que tomamos todos los “1” o todos los “0”.

Producto de sumas: z  (a  b  c)(a  b  c)(a  b  c)(a  b  c)

Suma de productos: z  aꞏbꞏc  aꞏbꞏc  aꞏbꞏc  aꞏbꞏc

Agrupando en la expresión como suma de producto obtenemos:

z  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 sería:

abc
c

Problemas Tema 7 Página 18

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

PROBLEMAS DE SISTEMAS DIGITALES


I.T. Informática. 1º curso.

Tema 3: Circuitos Combinacionales.

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.

Escribimos la tabla de verdad del circuito siguiendo las indicaciones.


X Y Z V F G
0 0 0 0 0 0
0 0 0 1 0 1
0 0 1 0 1 0
0 0 1 1 1 1
0 1 0 0 0 0
0 1 0 1 0 1
0 1 1 0 0 1
0 1 1 1 0 1
1 0 0 0 0 0
1 0 0 1 0 0
1 0 1 0 0 0
1 0 1 1 1 0
1 1 0 0 1 1
1 1 0 1 1 1
1 1 1 0 1 1
1 1 1 1 1 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

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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

Implementado en un circuito AND-OR:

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

Problemas Tema 7 Página 20

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

2.- En un registro de 4 bits cuyas salidas están disponibles al exterior, se almacenan


números decimales en código BCD. (Padilla 42, modificado de Mandado 46)
e) Realizar la tabla de verdad de un circuito lógico que detecte si el número
contenido en el registro es mayor que 7 o menor que 3.
f) Minimizar la expresión algebraica de la función lógica obtenida a partir de la
tabla realiza en el apartado anterior.
g) Realizar la expresión mínima con puertas NAND.
h) Realizar la expresión mínima con puertas NOR.

a) Dibujamos la tabla de verdad. Indicamos el número decimal representado por cada


código BCD. La función sólo da uno para los números 0, 1, 2 y 8, 9. Para las
combinaciones superiores a 9 la función no está definida pues no se corresponde con
ningún número decimal. Se trata por tanto de una función incompletamente
especificada.

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 *

b) Minimizamos la expresión mediante el diagrama de Karnaugh expresando la función


como suma de productos y como producto de sumas.

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

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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 * CD 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

c) Para implementar el circuito con puertas NAND complementamos dos veces la


función expresada como suma de productos:

f  BꞏC  BꞏD  ( BꞏC )ꞏ( BꞏD )

B
C f  ( BꞏC )ꞏ( BꞏD)

d) Complementando dos veces la función 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 representación con puertas NOR requiere una puerta menos.

Problemas Tema 7 Página 22

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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)

Consideramos cuatro sensores A, B, C, D asociados a las temperaturas de referencia T1,


T2, T3, T4. La señal del sensor es uno cuando se supera la temperatura de referencia del
señor. Se pueden dar 5 posibles situaciones:

(1) (2) (3) (4) (5)


* * * * *
T1 T2 T3 T4

(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

Tenemos una función incompletamente especificada. Dibujamos la tabla de Karnaugh


para minimizar la función y expresarla como suma de productos y como producto de
sumas.

Problemas Tema 7 Página 23

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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 BC
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

Para implementarlo con puertas NAND complementamos dos veces la función


expresada como suma de productos.

f  AꞏB  C ꞏD  ( A ꞏB )ꞏ(C ꞏD)

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

Problemas Tema 7 Página 24

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

B
f  A  (B  C)  D
C

En ambos implementaciones no aparecerán fenómenos estáticos ni dinámicos, pues se


ha eliminado esta posibilidad al cubrir todas las adyacencias entre los términos, pues
todas las agrupaciones de las tablas de Karnaugh se solapan.

Problemas Tema 7 Página 25

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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

BꞏC AꞏB AꞏD

La realización mínima de la función es:

f  AꞏB  BꞏC  C ꞏD

Problemas Tema 7 Página 26

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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.

f  AꞏB  BꞏC  C ꞏD  AꞏD

B
C f  AꞏB  BꞏC  C ꞏD  AꞏD
C

D
A

Problemas Tema 7 Página 27

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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)

Conversión de Gray a binario


Dibujamos la tabla de verdad en la que expresamos la equivalencia entre el código Gray
de cuatro bits y el código binario del mismo número de bits.

Código Gray Binario


g3 g2 g1 g0 b3 b2 b1 b0
0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1
0 0 1 1 0 0 1 0
0 0 1 0 0 0 1 1
0 1 1 0 0 1 0 0
0 1 1 1 0 1 0 1
0 1 0 1 0 1 1 0
0 1 0 0 0 1 1 1
1 1 0 0 1 0 0 0
1 1 0 1 1 0 0 1
1 1 1 1 1 0 1 0
1 1 1 0 1 0 1 1
1 0 1 0 1 1 0 0
1 0 1 1 1 1 0 1
1 0 0 1 1 1 1 0
1 0 0 0 1 1 1 1

Se observa directamente que: b3=g3.

Dibujamos la tabla de Karnaugh correspondiente a b2.

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

Con lo que tenemos: b2  g 3ꞏg 2  g 3ꞏg 2  g 3  g 2  b3  g 2

donde hemos sustituido la equivalencia anterior b3=g3.


Nota: A  B  AꞏB  AꞏB y A  B  AꞏB  AꞏB

Problemas Tema 7 Página 28

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

Realizamos la tabla de Karnaugh para b1:

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

g 3ꞏg 2ꞏg1 g 3ꞏg 2ꞏg1

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

Por último para b0:


g 3ꞏg 2ꞏg1ꞏg 0 g 3ꞏg 2ꞏg1ꞏg 0
g3 g2
00 01 11 10
g1 g0
g 3ꞏg 2ꞏg1ꞏg 0
00 1 1
0 4 12 8

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

g 3ꞏg 2ꞏg1ꞏg 0 g 3ꞏg 2ꞏg1ꞏg 0


g 3ꞏg 2ꞏg1ꞏg 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ꞏ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 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

Sabiendo que A  B  AꞏB  AꞏB y que A  B  AꞏB  AꞏB desarrollamos la


expresión del XNOR de tres entradas:

Problemas Tema 7 Página 29

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

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  g 3ꞏg 2ꞏg1

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

Conversión de binario a Gray:

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.

Dibujamos la tabla de Karnaugh para g2:


b3 b2
00 01 11 10
b1 b0

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

Problemas Tema 7 Página 30

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

Calculamos la expresión de g1:

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

Por último para g0:


b3 b2
00 01 11 10
b1 b0

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

Problemas Tema 7 Página 31

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

6.- Un circuito lógico tiene 5 entradas y 1 salida. Cuatro de las entradas A, B, C y D


representan un dígito decimal en BCD. La quinta entrada (E) es de control. Cuando el
control esté en 0 lógico, la salida estará en 0 lógico si el número decimal es par y en 1
lógico si es impar. Cuando el control esté en 1 lógico, la salida será 0 cuando la entrada
sea un múltiplo de 3. Diseñar el circuito. (Enunciado en Taub 506)

Cunado la entrada de control E valga 1 no nos interesa el valor de la función cuando la


entrada no es múltiplo de 3, con lo que pondremos * en la tabla de verdad. Tenemos una
función de 5 variables (A, B, C, D y E) con lo que tendremos que usar dos tablas de
Karnaugh superpuestas, como en 3D.

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.

Decimal A B C D Z(E=0) Z(E=1)


0 0 0 0 0 * *
1 0 0 0 1 1 *
2 0 0 1 0 0 *
3 0 0 1 1 1 0
4 0 1 0 0 0 *
5 0 1 0 1 1 *
6 0 1 1 0 0 0
7 0 1 1 1 1 *
8 1 0 0 0 0 *
9 1 0 0 1 1 0
- 1 0 1 0 * *
- 1 0 1 1 * *
- 1 1 0 0 * *
- 1 1 0 1 * *
- 1 1 1 0 * *
- 1 1 1 1 * *

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

Problemas Tema 7 Página 32

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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.

Problemas Tema 7 Página 33

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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

La tabla de Karnaugh es:

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

Donde hemos aplicado A  B  AꞏB  AꞏB y A  B  AꞏB  AꞏB

El circuito por tanto comprendería dos puertas XOR, pues no se utilizan normalmente
XOR de más de dos entradas:

P
c

Problemas Tema 7 Página 34

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

El circuito receptor ha de comprobar que el bit de paridad que se envía es el que


corresponde según los valores de los bits transmitidos. Para ello se ha de calcular de
nuevo el bit de paridad para los bits recibidos.

Bit P del receptor


c

E
P
(paridad del emisor)

Si E=1 ha habido un error en la transmisión pues no coinciden el bit de paridad enviado


por el emisor y el calculado por el receptor, pues PE  PR =1 si los bits son distintos.

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.

Problemas Tema 7 Página 35

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

PROBLEMAS DE SISTEMAS DIGITALES


I.T. Informática. 1º curso.

Tema 4: Circuitos Combinacionales Integrados.

1.- Construir un decodificador de 6 líneas de entrada de dirección y 64 líneas de salida a


partir de 9 decodificadores ‘138.

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.

Problemas Tema 7 Página 36

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales
E

I5 I4 I3

E1x E2x E3x

Ex I2x I1x I0x


DECODIFICADOR `138
(x)
O0 O1x O2x O3x O4x O5x O6x O7x

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

E1a E2a E3a E1h E2h E3h

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

O0 O1 O2 O3 O4 O5 O6 O7 O56 O57 O58 O59 O60 O61 O62 O63

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.

Problemas Tema 7 Página 37

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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.

Utilizaremos los dos codificadores de prioridad conectados en cascada, tal y como


vimos en teoría. A estos codificadores les llegan las 16 líneas de petición de servicio y a
su salida obtenemos los 4 bits de dirección ( O3 … O0 ) y el bit indicador de petición de
servicio GS que vale 1 si los codificadores están deshabilitados o no hay petición de
servicio.

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

Figura. 4.2 Codificador de 16 entradas y 4 salidas construido a partir de 2 codificadores `148.

Las salidas de los codificadores serán las entradas de un circuito combinacional


encargado de convertir el número binario de cuatro bits proporcionado por los
codificadores en dos números BCD aptos como entradas de los conversores de código
`48. Estos transformarán los dos números BCD en las entradas correspondientes para
los displays de 7 segmentos, que representarán uno las unidades y otro las decenas.
Dibujamos la tabla de verdad mostrando los dos números BCD (A3b..A0b, para el
dígito más significativo y A3a..A0a para el menos significativo). Utilizamos las salidas
de los codificadores invertidas (O3…O0 y no O3 … O0 ) pues son salidas activas por
bajo. Es decir la salida de los codificadores para la línea 1 es 1110 cuando el número
binario correspondiente es el 0001.

Problemas Tema 7 Página 38

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

BCD MSB (Decenas) BCD LSB (Unidades)


O3 O2 O1 O0 A3b A2b A1b A0b A3a A2a A1a A0a
0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 1
2 0 0 1 0 0 0 0 0 0 0 1 0
3 0 0 1 1 0 0 0 0 0 0 1 1
4 0 1 0 0 0 0 0 0 0 1 0 0
5 0 1 0 1 0 0 0 0 0 1 0 1
6 0 1 1 0 0 0 0 0 0 1 1 0
7 0 1 1 1 0 0 0 0 0 1 1 1
8 1 0 0 0 0 0 0 0 1 0 0 0
9 1 0 0 1 0 0 0 0 1 0 0 1
10 1 0 1 0 0 0 0 1 0 0 0 0
11 1 0 1 1 0 0 0 1 0 0 0 1
12 1 1 0 0 0 0 0 1 0 0 1 0
13 1 1 0 1 0 0 0 1 0 0 1 1
14 1 1 1 0 0 0 0 1 0 1 0 0
15 1 1 1 1 0 0 0 1 0 1 0 1

Directamente de la tabla se deduce:

A3b = A2b = A1b = 0


A0a = O0

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

Problemas Tema 7 Página 39

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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

01 1 A1a  O3 ꞏO1  O3 ꞏO2 ꞏO1


1 5 13 9

11 1 1
3 7 15 11

10 1 1
2 6 14 10

O3 ꞏO1

Problemas Tema 7 Página 40

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

O3
O3
O2
O2
O1
O1
O0
O0

A3a A2a A1a A0a A0b

A3b = A2b = A1b = 0

Cuando los codificadores están deshabilitados o no hay petición de servicio la salida


GS vale 1. Si invertimos esta salida y la conectamos con el terminal RBI del conversor
de código de las unidades haremos que el display se apague cuando no haya ninguna
petición de servicio. Además la señal RBI del conversor de las decenas está siempre a
0 con lo que evitamos que aparezcan ceros a la izquierda cuando el número sea menor o
igual de 9.

GS

“0”

A3b A2b A1b A0b LT A3a A2a A1a A0 LT


RBI RBI

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)

Problemas Tema 7 Página 41

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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)

La tabla de verdad de un sumador completo de dos bits con acarreo de entrada es la


siguiente. En ella hemos contado el número de bits a uno en cada combinación de
entrada. De esta manera podemos asociar cada salida del sumador con un número
concreto de unos en las entradas.

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

Problemas Tema 7 Página 42

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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

I0 I1 I2 I3 I4 I5 I6 I7 SL2 SL1 SL0 E

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.

Problemas Tema 7 Página 43

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

4.- Implementar la siguiente función lógica de 4 variables con un multiplexor ‘151 y un


inversor:

f (a, b, c, d )   (0,2,4,5,6,11,12,14)

Dibujamos la tabla de verdad de la función. En ella indicamos la entrada del


multiplexor correspondiente a cada combinación de los tres bits más significativos de
entrada. A cada entrada del multiplexor le corresponden dos combinaciones de las 4
variables de la función.
a b c d f IMUX
0 0 0 0 0 1 I0
1 0 0 0 1 0 I0
2 0 0 1 0 1 I1
3 0 0 1 1 0 I1
4 0 1 0 0 1 I2
5 0 1 0 1 1 I2
6 0 1 1 0 1 I3
7 0 1 1 1 0 I3
8 1 0 0 0 0 I4
9 1 0 0 1 0 I4
10 1 0 1 0 0 I5
11 1 0 1 1 1 I5
12 1 1 0 0 1 I6
13 1 1 0 1 0 I6
14 1 1 1 0 1 I7
15 1 1 1 1 0 I7

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

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

Directamente de la tabla se deducen los valores de las entradas al decodificador.

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

Problemas Tema 7 Página 45

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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

OA<B OA=B OA>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:

Problemas Tema 7 Página 46

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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

Problemas Tema 7 Página 47

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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.

Si la salida vale de 0 a 9 el resultado es correcto. Si hay acarreo de salida en la suma


(lo que significa que el número es superior a 15, es decir 16, 17 o 18) o bien si el
número representado en la suma es superior a 9 (máximo valor representado en un
dígito BCD) hemos de modificar la salida para adaptarla a BCD. En cualquiera de estos
casos necesitamos dos dígitos BCD en el que el más significativo valdrá uno. Veamos la
tabla de los casos en los que es necesario convertir la suma binaria en BCD:

C S3 S2 S1 S0 BCD MSD BCD LSD Dec.


10 0 1 0 1 0 0 0 0 1 0 0 0 0 16
11 0 1 0 1 1 0 0 0 1 0 0 0 1 17
12 0 1 1 0 0 0 0 0 1 0 0 1 0 18
13 0 1 1 0 1 0 0 0 1 0 0 1 1 19
14 0 1 1 1 0 0 0 0 1 0 1 0 0 20
15 0 1 1 1 1 0 0 0 1 0 1 0 1 21
16 1 0 0 0 0 0 0 0 1 0 1 1 0 22
17 1 0 0 0 1 0 0 0 1 0 1 1 1 23
18 1 0 0 1 0 0 0 0 1 1 0 0 0 24

Como se puede observar para las combinaciones de C, S3, S2, S1 y S0 de la tabla,


obtenemos el código BCD correcto si sumamos 6 al resultado de la suma en binario
Además hemos de poner el dígito BCD más significativo a uno. Representamos en un
diagrama de Karnaugh con un 1 los resultados de la suma para los que hay que corregir.
Tenemos 5 variables por lo que hemos de hacer dos tablas, una para C=0 y otra para
C=1. Resultados de la suma por encima de 18 nunca se van a dar.

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

Problemas Tema 7 Página 48

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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

SUMADOR `83 (a)


CO S3 S2 S1 S0

Resultado
en binario

Cout 0
0
A3 A2 A1 A0 B3 B2 B1 B0 CI

0 SUMADOR `83 (b)

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.

Problemas Tema 7 Página 49

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

C S3 S2 S1 S0 BCD MSD BCD LSD Dec.


19 1 0 0 1 1 0 0 0 1 1 0 0 1 25

Sin embargo en el diagrama de Karnaugh solo tendríamos que sustituir un * que


habíamos considerado como 1 por un uno, con lo que la función Cout no se vería
afectada.

En definitiva si quisiéramos sumar números BCD de más de una cifra únicamente


tendríamos que repetir este circuito por cada dígito a sumar, conectando la salida Cout
de la suma i a la entrada CI del sumador de los dos dígitos siguientes (Ai+1, Bi+1). Los
distintos dígitos de la suma BCD se corresponderían con las salidas de los sumadores
(b).

Problemas Tema 7 Página 50

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

7.- Trabajando con números con signo diseñar:


d) Un circuito sumador-restador de 4 bits (1 de signo y 3 de magnitud) en los
que la operación a realizar viene indicada por la señal R / S ( R / S =1 resta,
R / S =0 suma). Trabajar en C2 y utilizar para ello un circuito sumador ’83 y
las puertas XOR que sean necesarias.
e) Un detector de desbordamiento para el sumador-restador del apartado
anterior.
f) Un sumador-restador de números de 8 bits (1 de signo y 7 de magnitud) con
detector de desbordamiento.

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

Problemas Tema 7 Página 51

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

b) Se puede producir desbordamiento si al sumar dos números positivos o dos


negativos el resultado en valor absoluto excede los tres bits de magnitud, lo que se
traducirá en que el bit de signo del resultado es distinto al de los dos sumandos. Por
ejemplo si sumamos 6 (0110) y 5 (0101) el resultado es 1011 que como número con
signo es -5, cuando el resultado debería ser 11.

Implementamos un circuito combinacional que detecte estas dos situaciones. Este


circuito nos generará una señal DB que valdrá uno cuando exista desbordamiento, es
decir, cuando B3 y A3 sean iguales pero distintos a S3.

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

c) Ampliamos el circuito anterior para sumar números de 8 bits conectando dos


sumadores `83.

Problemas Tema 7 Página 52

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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

Problemas Tema 7 Página 53

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

PROBLEMAS DE SISTEMAS DIGITALES


I.T. Informática. 1º curso.
Tema 5: Circuitos Secuenciales Asíncronos.

1.- El producto final de una Emisores


de luz
fabricación son barras
L
metálicas cuya longitud ha de Trampilla
ser inferior o igual a L. Para
Barra
hacer la selección del
producto terminado se utiliza Receptores
el sistema mostrado en la de luz
figura. Está constituido por
una cinta transportadora que x1 x2
hace pasar las barras entre SISTEMA z
SECUENCIAL MOTOR
dos detectores fotoeléctricos ASÍNCRONO
separados por una distancia L
y constituidos por un emisor y un receptor de luz. La salida de los receptores adopta dos
niveles de tensión diferenciados según esté o no una barra situada entre él y su emisor
receptivo. Se asigna por convenio el estado lógico 1 a la salida cuando la barra está
situada delante del detector y el estado 0 en caso contrario. Después del segundo
detector existe una trampilla accionada por un motor. Si la barra tiene una longitud
mayor que L, se ha de excitar el motor y abrir la trampilla para dejar caer la barra; en
caso contrario no ha de excitarse el motor. Siempre que se haya excitado el motor ha de
volver a desexcitarse una vez comprobada la barra, y el sistema quedará preparado para
una nueva detección.
Diseñar un sistema secuencial asíncrono cuyas entradas sean las salidas de los
detectores, que denominaremos x1 y x2, y cuya salida z accione el motor al ponerse en
estado 1. Suponer que la distancia que separa dos barras sometidas a verificación es tal
que nunca podrá entrar una en la zona de detección mientras se está comprobando la
anterior. (Mandado 200)

Dibujamos el diagrama de secuencias en el que representamos todas las posibles


situaciones. En la primera secuencia la barra es menor que L, en la segunda es igual a L
y en la última es mayor que L. Los estados 3 y 1 son distintos pues el estado 3 ha de
recordar que ya ha pasado la barra por X1. A su vez los estados 4 y 6 difieren en la
salida. En el 6 la barra es mayor que L y mientras pasa por X2 hemos de dejar el motor
activado para que la trampilla siga abierta. Sin embargo en 4 la barra es igual que L y
por tanto no hay que accionar el motor ni abrir la trampilla.

x1

x2

t
z
1 2 3 4 1 2 4 1 2 5 6 1

Problemas Tema 7 Página 54

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

Las tres posibles secuencias según la longitud de la barra (l) son:

 00100001 para l<L


 001001 para l=L, poco probable pero la consideramos.
 00101101 para l>L

Podemos representar estas secuencias en un diagrama de flujo, en el que indicamos el


estado en el que estamos y la salida así como la evolución entre estados según los
valores de las variables de entrada.

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:

1. Estado inicial o de reposo.


2. Paso de la barra por el primer sensor.
3. Barra entre el sensor 1 y el 2 (l<L).
4. Barra de lL pasa por sensor 2.
5. Barra en ambos sensores (l>L).
6. Barra de l>L pasa por sensor 2.

Después de los estados 4 y 6 se vuelve al estado inicial para comprobar nuevas barras.

Basándonos en estos diagramas dibujamos una primera tabla de fases.

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

Problemas Tema 7 Página 55

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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.

Problemas Tema 7 Página 56

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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

Matriz de excitación Matriz de salida

Y = x1x2 + yx2 = x1 x 2  yx 2  ( x1 x 2 )ꞏ( yx 2 )

Implementamos el circuito mediante puertas NAND.

x1
x2 Y=Z

Problemas Tema 7 Página 57

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

2.- Una vía férrea con


tráfico en ambos x1

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.

Los detectores x1 y x2 dan un 1 si detectan el tren y 0 si no lo detectan. La salida z que


activa las barreras ha de ser 1 siempre que el tren active uno de los detectores o se
encuentre entre ellos.

Realizamos el diagrama de flujo:

x1 x2 Estado inicial: aún no ha llegado ningún tren


00
Estado/z 01 1/0
Tren llega 01 10 Tren llega
10 por la derecha
por la izqda.
6/1 2/1 00
00 Long. tren < 1Km
11 00
Long. tren < 1Km 11 11 3/1
7/1 11
00 9/1 5/1 01
L > 1Km 01
10 4/1 01
8/1 10
Tren llega a
Tren llega 10 00
00 detector
a detector
El tren ya ha pasado izqdo.
dcho.
L: longitud del tren

Problemas Tema 7 Página 58

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

A partir del diagrama de flujo construimos la tabla de fases:

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

Los estados estables 3 y 7, y 5 y 9 son pseudoequivalentes, luego la tabla de fases


queda:

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).

Fusionamos B-F, C-E, D-G:

Problemas Tema 7 Página 59

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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

Realizamos el diagrama de transición. Podemos utilizar un código Gray de 2 bits sin


problemas de carreras críticas.

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)

Problemas Tema 7 Página 60

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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)

El circuito con biestables R-S es:

x1 x2

y2
R1 R y1 R2 R Z
Z Z
RS 1 RS 2
S1 S Z S2
y1 S Z
y2

Problema 5.2. Circuito realizado con biestables RS.

Si lo queremos implementar con puertas lógicas:

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

Problemas Tema 7 Página 61

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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

El circuito implementado con puertas lógicas es:

x1

x2
y1

y2

Y1 Y2
Z

Problema 5.2. Circuito implementado con puertas lógicas. Estructura AND-OR.

Problemas Tema 7 Página 62

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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).

Podemos construir directamente la tabla de fases (sin diagrama de transiciones),


asignando 4 estados estables para salida 0 y 4 para salida 1. Sólo habrá transiciones
posibles con cambio en la salida cuando C pase de 0 a 1. Además no están permitidos
los cambios simultáneos de 2 bits (D y C no cambian a la vez).

Q=D=0 Q=D=1

En la evolución 1011 en el estado 4 el estado


DC 00 01 11 10 Q
final es 7 y no 3 pues Q=1. Igualmente al hacer
A 1 2 -- 4 0 0001 en el estado 5 el estado final es 2 pues
Q=0.
B 1 2 3 -- 0
C -- 2 3 4 0 No existen estados equivalentes
D 1 0 ni pseudoequivalentes.
-- 7 4

E 5 2 -- 8 1 El diagrama de fusión es:

F 5 6 7 -- 1 B
G -- 6 7 8 1
A C
H 5 -- 7 8 1

D E

F H

Fusionamos ABC y FGH y dejamos sueltos D y E. La tabla de fases reducida es:

Problemas Tema 7 Página 63

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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

Si en vez de esta fusión hacemos: A-D, B-C, E-H y F-G obtendríamos:

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’ B’ Vemos que si cambiamos C’ y D’ tendremos


un sistema cíclico, o lo que es lo mismo, la
secuencia A’-B’-D’-C’ es cíclica. Luego
basta con codificar de la siguiente manera
para evitar la posibilidad de carreras
cíclicas:
D’ C’

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

Implementamos Y1Y2 con biestables RS:

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

R1S1 (Y1) R2S2 (Y2)


R1  C ꞏy 2 S 1  C ꞏy 2 R2  DꞏC S 2  DꞏC

El circuito, utilizando biestables construidos con puertas NOR será:

R2 S1
Y2
R2 Z2 S1 Z1
Biest. RS Biest. RS
Y2
C S2 (2) Z2 R1 (1) Z1 Y1
Q
S2 R1
D

Problemas Tema 7 Página 65

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

Si disponemos de biestables RS construidos con puertas NAND tendremos disponibles


las entradas R-S activas por nivel bajo. La estructura interna de un biestable RS
implementado con puertas NAND sería:

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.

Problemas Tema 7 Página 66

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

4.- Un sistema secuencial asíncrono posee dos entradas de impulsos X1 y X2 (ambas


entradas no pueden estar nunca en estado 1 simultáneamente), y una salida Z. A partir
de un estado inicial en el cual X1 = X2 = Z = 0, la salida Z ha de tomar el valor 1 si se
aplican dos impulsos sucesivos a la entrada X1 sin que se aplique ninguno a la entrada
X2. La entrada X2 actúa como entrada de inicialización. La salida volverá a 0 sólo
cuando se active X2. Se especifica que X1 y X2 no pueden cambiar simultáneamente.
Realizar el circuito con biestables RS construidos con puertas NOR.

X1
Nota: dos impulsos sucesivos en X1 con X2=0 son:
1 2
X2=0

luego tendremos que detectar una secuencia 101 en X1 con X2=0.

Es más conveniente realizar directamente el diagrama de flujo:

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.

Si realizamos la tabla de fases:

Problemas Tema 7 Página 67

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

X1X2 00 01 11 10 Z No hay estados equivalentes ni pseudo


equivalentes.
A 1 2 -- 3 0
B 1 2 -- -- 0 El diagrama de fusión es:

C 4 -- -- 3 0 A B

D 4 2 -- 5 0
F C
E 6 -- -- 5 1
F 6 2 -- 5 1
E D

Realizando esta fusión obtenemos la siguiente tabla de fases reducida:

El diagrama de transición es:


X1X2 00 01 11 10 Z
(A-B) A’ 1 2 -- 3 0 A’ 00 01 B’

(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

Problemas Tema 7 Página 68

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

11

10 01

00 --

Si partimos del estado estable 11 con X1X2=00 y evolucionamos a X1X2=01:

 Si el sistema evoluciona del estado 11 al 10, entonces para X1X2=01 al estado 10


le corresponde el inestable 00 que da lugar al estado estable 00. Correcto.
 Sin embargo si primero evoluciona de 11 a 01, para este estado con X1X2=01 le
corresponde un estado imposible.

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).

Implementamos el circuito mediante biestables RS. Necesitaremos uno para Y1 y otro


para Y2.

Problemas Tema 7 Página 69

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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

Problema 5.4. Circuito realizado con biestables RS.

Problemas Tema 7 Página 70

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

5.- Diseñar un biestable r-s activado por flanco de bajada. Realizar el circuito utilizando
biestables R-S. (Mandado 216-219)

En un biestable activado por flanco de bajada las entradas r y s actuarán justo en el


flanco de bajada. En los biestables rs ambas entradas no pueden estar a uno a la vez.
Tampoco pueden cambiar al mismo tiempo (para evitar carreras críticas). El flanco de
bajada de s pondrá el biestable en estado de set (1), mientras que la señal r reseteará el
biestable (0).

El diagrama de secuencias es:

1 2 3 4 3 5 1 6 1

Construimos la tabla de fases:

No hay estados equivalentes


sr 00 01 11 10 Z ni pseudoequivalentes.
A 1 6 -- 2 0
El diagrama de fusión es:
B 3 -- -- 2 0
A B
C 3 5 -- 4 1
D 3 -- -- 4 1
C
E 1 5 -- -- 1 F
F 1 6 -- -- 0
E
D

Fusionaremos por tanto A-F y C-D:

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

Problemas Tema 7 Página 71

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

Para realizar una codificación correcta dibujamos el diagrama de transición:

00 A’ B’ 01

10 D’ C’ 11

Codificando de esta manera no hay problemas de carreras críticas. Las matrices de


excitación y salida son:

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

Para implementar el circuito con biestables RS tendremos en cuenta:

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 ** **

R1S1 (Y1) R2  r R2S2 (Y2) S2  s


R1  r ꞏy 2 S1  sꞏy 2

Problemas Tema 7 Página 72

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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

Problemas Tema 7 Página 73

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

PROBLEMAS DE SISTEMAS DIGITALES


I.T. Informática. 1º curso.
Tema 6: Cerrojos dinámicos y Flip-Flops.

1.- Complete el siguiente diagrama temporal correspondiente a un biestable J-K activo


por flanco de bajada con entradas asíncronas de Reset y Set activas a nivel bajo. La
salida vale inicialmente cero.

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

K(R) J(S) Qn+1


0 0 Qn
0 1 1
1 0 0
1 1 Qn

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.

Problemas Tema 7 Página 74

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

Q1 Q1 Q2 Q2
Reset Reset
Reset
CLK D1 CLK D2

Reset

CLK

Q1

Q2

Problemas Tema 7 Página 75

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

PROBLEMAS DE SISTEMAS DIGITALES


I.T. Informática. 1º curso.

Tema 7: Circuitos Secuenciales Síncronos.

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.

Controles Características de la señal S


C0 C1 Ancho de impulso Período
00 No se genera impulso No se genera impulso
01 T 2T
10 2T 3T
11 3T 4T

Dibujamos en primer lugar el diagrama de secuencias:

T
T/10

S (C0C1=00)

S (C0C1=01)

S (C0C1=10)

S (C0C1=11)

El ciclo completo de cada forma de onda se genera siempre desde el estado S


(salida)=0, pero los ciclos son de diferente duración. Podemos plantear el problema
como un autómata de Moore cuyo diagrama de flujo es:

Problemas Tema 7 Página 76

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

C0C1

1/1 Estado/S
01

**
00
10 2/1 ** 3/1
0/0
**
11
4/1 ** ** 6/1
5/1

**

Observaciones al diagrama de flujo:


- Una vez aplicada una entrada de control C0C1 determinada, ya no importa el
valor que pueda tomar, pues el sistema tiene que seguir el ciclo completo.
- Lo hemos diseñado como un autómata de Moore, hemos asignado un ciclo
independiente a cada combinación C0C1. La salida en cada estado interno solo va
a depender del estado anterior (no de las entradas).

Diferencias con asíncronos:

- 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.

Dibujamos la tabla de fases, en la que representamos el estado actual y el estado


siguiente. No hay estados estables. Las entradas aparecen colocadas en orden binario
(no en Gray):

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

Problemas Tema 7 Página 77

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

Veamos si podemos simplificar el número de estados. Para ello aplicamos la siguiente


regla:

DOS ESTADOS SON EQUIVALENTES SI TIENEN LA MISMA SALIDA Y


LLEVAN A ESTADOS SIGUIENTES IGUALES O EQUIVALENTES. No se pueden
considerar iguales o equivalentes un estado y un estado imposible.

Método visual para comprobarlo: tabla de implicación.

- Colocamos los distintos estados actuales de forma vertical (desde el segungo


hasta el último) y de forma horizontal (desde el primero hasta el penúltimo) : de
esta manera no contemplamos que un estado sea equivalente consigo mismo.
- Cada casilla corresponde a la equivalencia entre los estados correspondientes a
la fila y a la columna.
- Indicamos en cada casilla si son equivalentes o no, o qué condición ha de
cumplirse para que sean equivalentes.

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

 El estado 0 no es equivalente a ninguno pues posee una salida distinta.


 1, 3, y 6 son equivalentes pues tienen la misma salida y los 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

La tabla de estados siguientes reducida queda:

Problemas Tema 7 Página 78

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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

El diagrama de transición sería:

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

Dibujamos la tabla de transiciones en la que indicamos el estado actual, la salida


correspondiente al estado actual y el estado siguiente. Indicamos también los valores
que han de tomar las variables J (S) K(R) para implementar el circuito con FF JK :

Qin Qin1 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

Problemas Tema 7 Página 79

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

Entradas E. Actual E. Siguiente Salida actual Excitaciones


C0 C1 Q1n Q0n Q1n1 Q0n1 S J1 K1 J0 K0
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 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*

J1K1 (Q1) Q1 J0K0 (Q0) C1


K1  Q0
J 1  C0 ꞏQ0 K0  1 J0=C1+Q1

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

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

El circuito implementado con FF JK es:

C0
S
J0 Q0 J1 Q1
C1 FF 0 FF 1
CLK0 CLK1
“1” K0 Rd0 Q0 K1 Rd1 Q1
CLK

Inicialización

Problema 7.1. Circuito implementado con flip-flops JK.

El pulsador de inicialización coloca al sistema en el estado inicial A=0.

Problemas Tema 7 Página 81

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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.

Necesitamos cuatro estados:


q0: el número que llegó en la transición anterior fue X2X1=00.
q1: el número que llegó en la transición anterior fue X2X1=01.
q2: el número que llegó en la transición anterior fue X2X1=10.
q3: el número que llegó en la transición anterior fue X2X1=11.

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

Tabla de transiciones o estados siguientes:

Problemas Tema 7 Página 82

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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

No hay estados equivalentes pues las salidas son distintas.

b) Si realizáramos un autómata de Moore, necesitaríamos asignar a cada salida distinta


un estado, ya que las salidas solo dependerán del estado. Si nos fijamos en la tabla de
transiciones:

- 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.

Luego el autómata de Moore necesitaría 10 estados y necesitaríamos un mínimo de 4


FFs. Sin embargo con Mealy bastará con 2 FFs.

c) Implementamos el autómata de Mealy, que es más sencillo. Veremos en primer lugar


las excitaciones necesarias para FF JK y posteriormente lo implementaremos con FF D.

Codificamos de esta manera.

Q1 Q0 Qin Qin1 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

Problemas Tema 7 Página 83

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

Entradas E. Actual E. Siguiente Salidas actuales Excitaciones


X2 X1 Q1n Q0n Q1n1 Q0n1 Z2 Z1 J1 K1 J0 K0
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 habría que buscar una
expresión para Di en función de Xi y Qi, con la condición de que Qin1  Di . En este
caso es muy sencillo, pues se observa en la tabla de transiciones que:

Qn+1=D
Q1n1  X 2 luego D1=X2
D Q
Q0n1  X 1 D0=X1
FF
C
Tipo D Q

Simplificando por Karnaugh en la matriz de salida:

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

Problemas Tema 7 Página 84

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

El circuito final sería:

X1 x1
x1
X2 x2
x2
Q0
D0 Q0 Q0
Q1
FF 0 Q1
Q0

D1 Q1
FF 1
Q1

CLK Z2 Z1

Problema 7.2. Circuito implementado con flip-flops tipo D.

Problemas Tema 7 Página 85

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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:

Llega el 1ºbit (el Detección


XY/Z MSB) y vale 0. El 2º bit q llega vale
de un 1.
0.Se detecta un 0: Z=1
q1
Estado Permanece
00/0 00/1 en q2 con
Z=0 hasta
1*/0 q X=1.
01/0

1*/0 q0 1*/0 q2 0*/0

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:

Problemas Tema 7 Página 86

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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

No hay estados equivalentes. q1 y q3 no pueden ser equivalentes pues tienen distintas


salidas. q0 y q2 serían equivalentes si lo fueran q1-q2 y q2-q3 lo cual no es cierto.

Codificamos q0: 00, q1: 01, q2: 10 y q3: 11. Necesitaremos 2 flip-flops.

Qin Qin1 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

Entradas E. Actual E. Siguiente Salida actual Excitaciones


X Y Q1n Q0n Q1n1 Q0n1 Z J1 K1 J0 K0
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

Problemas Tema 7 Página 87

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

Simplificando mediante los diagramas de Karnaugh:

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*

J1K1 (Q1) J0K0 (Q0)


J 1  X Y  X Q0 J 0  X Q1 K0=1
K1=X

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

El circuito implementado con FFs JK sería:

Y
X

J0 Q0 J1 Q1
FF 0 FF 1
CLK0 CLK1
“1” K0 Rd0 Q0 K1 Rd1 Q1
CLK

Inicialización

Problema 7.3. Circuito implementado con flip-flops JK.

Problemas Tema 7 Página 88

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

Si queremos implementar el circuito con FFs tipo D tenemos que considerar que
D1  Q1n1 y D0  Q0n1 . 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

Q1n1 Q0n1

D1  Q1n1  X ꞏ( y  Q1  Q0 ) D0  Q0n1  X Q1 Q0

El circuito implementado con FF tipo D es:

Y
X

D0 Q0 D1 Q1
FF 0 FF 1
CLK0 CLK1
Q0 Q1
CLK

Problema 7.3. Circuito implementado con flip-flops tipo D.

Problemas Tema 7 Página 89

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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 Qin1 J K
0 0 0 * J0K0 - Q0
J1K1 - Q1
0 1 1 *
1 0 * 1
1 1 * 0

E. Actual E. Siguiente Salida actual Excitaciones


Q1n Q0n Q1n1 Q0n1 Z J1 K1 J0 K0
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 *

Los estados siguientes Q1n1 y Q0n1 son independientes de la señal de reloj.


Simplificamos las entradas de los FF y la salida mediante Karnaugh. Al estado no
contemplado, 11, le asignamos **.

Q1 Q1
Q0 0 1 Q0 0 1
0 0* *1 0 1* 0*
1 1* ** 1 *1 **

J1K1 (Q1) J0K0 (Q0)


J1=Q0 K1=1 J 0  Q1 K0=1

Problemas Tema 7 Página 90

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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 *

Dibujamos por último el circuito con FFs JK:

J1 Q1 Z
J0 Q0
FF 0 FF 1
CLK0 CLK1
“1” K0 Rd0 Q0 “1” K1 Rd1 Q1

CLK

Inicialización

Problemas Tema 7 Página 91

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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.

Consideramos que se puede producir solapamiento. Al ser un autómata de Moore


asociamos la salida al estado del sistema, pues no va a depender del valor de las
entradas.

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

Diferencias con asíncronos:

- 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.

Dibujamos la Tabla de fases inicial o Tabla de estados siguientes, en la que


representamos el estado actual y el estado siguiente. No hay estados estables.

Problemas Tema 7 Página 92

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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:

DOS ESTADOS SON EQUIVALENTES SI TIENEN LA MISMA SALIDA Y


LLEVAN A ESTADOS SIGUIENTES IGUALES O EQUIVALENTES.

Método visual para comprobarlo: Tabla de implicación.

- Colocamos los distintos estados actuales de forma vertical (desde el segundo


hasta el último) y de forma horizontal (desde el primero hasta el penúltimo): de
esta manera no contemplamos que un estado sea equivalente consigo mismo.
- Cada casilla corresponde a la equivalencia entre los estados correspondientes a
la fila y a la columna.
- Se empieza analizando la equivalencia entre el primero y todos los que tiene
debajo, luego entre el segundo estado y los que tiene debajo, etc.
- Indicamos en cada casilla si son equivalentes o no, o qué condición ha de
cumplirse para que sean equivalentes.

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.

Ya no es necesario dibujar el diagrama de transiciones. No va a haber problemas de


carreras críticas porque ya no realimentamos directamente.

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.

Problemas Tema 7 Página 93

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

Basándonos en la tabla de funcionamiento del flip-flop JK


Q2 Q1 Q0 hallamos qué valores han de tomar J y K para implementar
todas las posibles evoluciones en las variables de estado.
0 0 0 0
1 0 0 1
J K Q n 1 Qn → Q n 1 J K
2 0 1 0 0 0 Q n
0 → 0 0 *
3 0 1 1 0 1 0 0 → 1 1 *
4 1 0 0 1 0 1 1 → 0 * 1
1 1 Q n
1 → 1 * 0
5 1 0 1

Codificación 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

Dibujamos la Tabla de transiciones en la que indicamos el estado actual, la salida


correspondiente al estado actual y el estado siguiente. Indicamos también los valores
que han de tomar las variables J(S) K(R) para implementar el circuito con FF JK:

Salida
Entrada E. Actual E. Siguiente Excitaciones
actual
X Q2n Q1n Q0n Q2n1 Q1n1 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

Al resto de combinaciones hasta las 16 posibles les correspondería **.

Problemas Tema 7 Página 94

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

Simplificamos por Karnaugh:

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

J2K2 (Q2) K1=Q0 J1K1 (Q1)


K2=X+Q0 J 1  X Q2 Q0  XQ2 Q0
J2=XQ1Q0

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

J2=XQ1Q0 J 1  X Q2 Q0  XQ2 Q0  X (Q2  Q0 ) J 0  X Q2  X Q1  X Q2 Q1


K2=X+Q0 K1=Q0 K 0  Q2  X

Z= Q2 Q0

El circuito comprendería tres FFs JK y numerosas puertas lógicas.

Problemas Tema 7 Página 95

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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

En la tabla de estados siguientes (o tabla de fases) incluimos la salida dentro de la tabla


pues la salida depende del estado y de las entradas.

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.

Problemas Tema 7 Página 96

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

Q2 Q1 Q0
0 0 0 0 Qin Qin1 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

Dibujamos la Tabla de transiciones:

Entrada E. Actual E. Siguiente Salida Excitaciones


X Q2n Q1n Q0n Q2n1 Q1n1 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 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

10 0* ** ** 0* 10 *0 ** ** *0

J2K2 (Q2) K1=Q0 J1K1 (Q1)


K2=1 J 1  XQ0  XQ2
J2=XQ1Q0

Problemas Tema 7 Página 97

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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

K0=1 J0K0 (Q0) Z  X Q2


J 0  X Q1  X Q2 Q1

J2=XQ1Q0 J 1  XQ0  XQ2  X (Q2  Q0 ) J 0  X Q1  X Q2 Q1


K2=1 K1=Q0 K0=1

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.

c) Implementación con registros de desplazamiento.

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.

El circuito se compone de 4 FF tipo D conectados en cascada. En cada ciclo de reloj


entra un nuevo dato en X, y los datos almacenados en los FFs se desplazan desde el FF
0 hasta el FF 3. El FF 3 almacena el primer bit de la secuencia.

Problemas Tema 7 Página 98

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

Detecta la secuencia: 11010


Z

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

Problema 7.5. Circuito realizado mediante un registro de desplazamiento constituido por


flip-flops tipo D.

Problemas Tema 7 Página 99

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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).

La decodificación de los 8 estados binarios del contador la podemos hacer directamente


con el decodificador ‘138. Las salidas S1, S2, S3 y S4 se hacen 0 una vez cada 8 ciclos,
luego las obtenemos directamente de las salidas O0 , O1 , O2 , O3 del ‘138.

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

Problemas Tema 7 Página 100

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

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.

Veamos como generar S5, S6, S7 y S8.

a) S5: se hace 0 cuando S4 ( O3 ) se hace cero y se pone a 1 cuando S1 ( O0 ) vale 0.


Luego:
S  O0
R  O3
b) S6: se hace 0 cuando S4 ( O3 ) se hace cero y se hace 1 cuando S2 ( O1 ) vale 0.
S  O1
R  O3

c) S7: se hace 0 en el ciclo 6 ( O6  0 ) y se hace 1 en el ciclo 4 ( O4  0 ).


S  O4
R  O6
d) S8: se hace 0 en el ciclo 7 ( O7  0 ) y se hace 1 en el ciclo 5 ( O5  0 ).
S  O5
R  O7

El circuito será (no dibujamos el contador):

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.

Problemas Tema 7 Página 101

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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.

Supongamos que queremos ordenarle a un sistema una serie de operaciones. Podemos


realizar las operaciones de dos maneras:

a) Operaciones individualizadas en registros separados (cada registro realizaría una


sola operación)  Más flexibilidad.
b) Un registro que responda a distintas órdenes  nos permitirá ahorrar hardware.

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

Todas las operaciones (salvo la de lectura, R) se realizarán de forma síncrona. Nuestro


registro contará de n FFs JK. Representaremos por FFi el FF i-ésimo del registro, con
entradas Ji, Ki y asociado a la línea Bi del bus.

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

Ji=BiꞏW i=1,….,n Si W=1  Ji=Bi


Ki= Bi ꞏW Ki= Bi

Con W=1 se almacena en el registro el dato presente en Bi y si W=0 Ji=Ki=0


con lo que se mantiene el contenido del registro.

b) Lectura del registro

Problemas Tema 7 Página 102

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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

La transferencia registrobus tendrá lugar en cuanto R=1, siendo independiente


del reloj. Eso sí, si la palabra escrita en el bus se transfiere a un registro esa
operación sí que es síncrona.

c) Complementación

Para complementar el dato del registro si C=1 debemos hacer:

Ji=Ki=C para i=1,….., n

Si C=0 el registro mantendrá su contenido y si C=1 lo complementa.

d) Borrado del registro

Para borrar el registro si Z=1 y dejarlo inalterado si Z=0 habrá que poner:

Ji=0 Ki(R)=Z para i=1,….., n

Teniendo en cuenta que en un instante dado sólo una de las variables W, R, C, Z


está a 1 lógico, podemos combinar las expresiones anteriores:

Ji=BiꞏW + C i=1,….,n
Ki= Bi ꞏW + C + Z

Por tanto la etapa i-ésima del registro será:

Problemas Tema 7 Página 103

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

Bi
W

C
Z

Ki Ji

CLK Ci FF i
Qi

R
Bi

El registro completo se puede representar como:

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

Problemas Tema 7 Página 104

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

Sistemas Digitales

8.- Diseñar un registro de desplazamiento de 4 bits con tres señales de control C2, C1 y
C0 tales que:

i) Si C2C1C0 = 000, el registro se pone a cero (reset).


j) Si C2C1C0 = 001, el registro desplaza a la derecha.
k) Si C2C1C0 = 010, el registro mantiene la información.
l) Si C2C1C0 = 011, el registro desplaza cíclicamente (rotación) a la derecha.
m) Si C2C1C0 = 100, el registro desplaza a la izquierda.
n) Si C2C1C0 = 101, el registro carga información en paralelo.
o) Si C2C1C0 = 110, el registro desplaza cíclicamente (rotación) a la izquierda.
p) Si C2C1C0 = 111, el registro se pone a uno (set).

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 81 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:

S2=C2 S1=C1 S0=C0


Z Z
De esta manera para cada combinación de las señales de control aparecerá en la salida
de los cuatro multiplexores la entrada cuyo número decimal corresponde al número
binario de las señales 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 señales de control y los valores que hay que aplicar a las
entradas de los FFs.

Controles FFs Operación


C2 C1 C0 Q3 Q2 Q1 Q0
I0  000 0 0 0 0 Reset
I1  001 D  Q3  Q2  Q1 Desplaz. Dcha. (DDato externo)
I2  010 Q3 Q2 Q1 Q0 Mantener información
I3  011 Q0 Q3 Q2 Q1 Desplazamiento cíclico derecha
I4  100 Q2  Q1  Q0  D  Desplaz. Izada. (DDato externo)
I5  101 P3 P2 P1 P0 Carga en paralelo
I6  110 Q2 Q1 Q0 Q3 Desplazamiento cíclico izquierda
I7  111 1 1 1 1 Set
   
Mux3 Mux2 Mux1 Mux0

Problemas Tema 7 Página 105

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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

Problemas Tema 7 Página 106

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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.

Para diseñar un contador de módulo 16 necesitaremos 4 FFs (24=16). La secuencia de


conteo será:
Dec. Q3 Q2 Q1 Q0
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
10 1 0 1 0
11 1 0 1 1
12 1 1 0 0
13 1 1 0 1
14 1 1 1 0
15 1 1 1 1

Como puede observarse:

a) Q0 cambia de estado en cada cuenta. Conectamos


J0=K0= 1
para que trabaje siempre en conmutación.

b) Q1 mantiene su valor salvo cuando Q0=1 en cuyo caso cambia de estado. Si


conecto
J1=K1= Q0

el FF1 mantendrá su estado si Q0=0 y conmutará si Q0=1.

c) Q2 mantiene su estado salvo cuando Q0=Q1=1 que conmuta. Haciendo


J2=K2= Q1ꞏQ0

el FF2 conmutará su salida únicamente cuando Q1=Q0=1. En el resto de casos


mantiene el estado.

d) Q3 solo conmuta cuando Q0=Q1=Q2=1. Luego tendremos que conectar

J3=K3= Q2ꞏQ1ꞏQ0

El circuito es generalizable a un contador de módulo 2n formado por n FFs, de modo


que cada FF conmuta únicamente cuando sus precedentes están en Set.

Problemas Tema 7 Página 107

Descargado por Juan Garcia (jennig69@yahoo.com)


lOMoARcPSD|13839428

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

Problemas Tema 7 Página 108

Descargado por Juan Garcia (jennig69@yahoo.com)

También podría gustarte