Está en la página 1de 132

Problemas resueltos

de Circuitos Lógicos

Raquel Cervigón Abad

ISBN: 978-84-693-0570-6

Cuenca, 2010
Índice general

1. Sistemas de Numeración y Códigos 1

2. Algebra de Boole 9

3. Caracterización y Tecnologı́as de Circuitos Integrados Digitales 30

4. Circuitos Combinacionales 41

5. Circuitos Combinacionales Aritméticos 66

6. Sistemas Secuenciales: Biestables 76

7. Sistemas Secuenciales: Registros y Contadores 90

8. Sistemas Secuenciales: Diseño 105

I
Capı́tulo 1

Sistemas de Numeración y Códigos

1.1. Convertir a base decimal los siguientes números:

a) (F F A,7)16
b) (100)5
c) (26,5)8
d) (10,101)2
e) (1001111011)2

Solución

a) (F F A,7)16 −→ 15 · 162 + 15 · 161 + 10 · 160 + 7 · 16−1 = 4090,4375


b) (100)5 −→ 1 · 52 + 0 · 51 + 0 · 50 = 25
c) (26,5)8 −→ 2 · 81 + 6 · 80 + 5 · 8−1 = 22,625
d) (10,101)2 −→ 1 · 21 + 0 · 20 + 1 · 2−1 + 0 · 2−2 + 1 · 2−3 = 2,625
e) (1001111011)2 −→ 1·29 +0·28 +0·27 +1·26 +1·25 +1·24 +1·23 +0·22 +1·21 +1·20 = 635

1.2. Convertir a base binaria los siguientes números:

a) (10,375)10
b) (2506)16

1
1. Sistemas de Numeración y Códigos 2

c) (F 10A0)16
d) (7512)8
e) (2506)8

Solución

a) (10,375)10

Parte entera (10)10 = (1010)2


10 : 2 = 5 Resto = 0
5 : 2 = 2 Resto = 1
2 : 2 = 1 Resto = 0
Parte fraccionaria (0,375)10 = (011)2
0,375 × 2 = 0,750
0,750 × 2 = 1,500
0,500 × 2 = 1,0000
(10,375)10 −→ 1010,011

b) (2506)16 −→ 0010010100000110
c) (F 10A0)16 −→ 11110001000010100000
d) (7512)8 −→ 111101001010
e) (2506)8 −→ 010101000110

1.3. Dado la siguiente igualdad: (100)10 = (400)b , determinar el valor de la base b. ¿Cuál es el
valor de (104)10 en la base b?

Solución

100 = 4 · b2 + 0 · b1 + 0 · b0 −→ b = 5
1. Sistemas de Numeración y Códigos 3

Para pasar 104 decimal a base 5, debemos utilizar el método de divisiones iterativas.

(104)10 = (404)5

1.4. Representar los siguientes números en el formato IEEE 754 de 32 bits.

a) (−123,75)10
b) (199,5)10
c) (42F 80000)16

Solución

a) (−123,75)10

Parte entera (123)10 = (1111011)2


123 : 2 = 61 Resto = 1
61 : 2 = 30 Resto = 1
30 : 2 = 15 Resto = 0
15 : 2 = 7 Resto = 1
7 : 2 = 3 Resto = 1
3 : 2 = 1 Resto = 1
Parte fraccionaria (0,75)10 = (11)2
0,75 × 2 = 1,50
0,50 × 2 = 1,00
(123,75)10 = (1111011,11)2 = (1,11101111 · 26 )2
Signo → 1
Exponente → E=127+6=133 → (100000101)2
Mantisa → 11101111000000000000000
(−123,75)10 −→ 1 10000101 11101111000000000000000

b) (199,5)10 −→ 0 10000110 10001111000000000000000


c) (42F 80000)16 −→ 0 10011101 00001011111000000000000
1. Sistemas de Numeración y Códigos 4

1.5. Determinar el valor decimal del número 11111110 expresado en el formato del convenio
de complemento a 2.

Solución
00000010 −→ (2)10 Su complementado serı́a (−2)10

1.6. Obtener el correspondiente número binario en Complemento a 2 de 16 bits del decimal


-554.

Solución
(554)10 −→ 0000001000101010

(−554)10 −→ 1111110111010110

1.7. Codificar en complemento a 1 (C-1) y complemento a 2 (C-2) los siguientes números de-
cimales: 7, -7, 39, -39, 1 , -1, 0.

Solución

+7 -7 39 -39 1 -1 0
C-1 0111 1000 0100111 1011000 01 10 00/11
C-2 0111 1001 0100111 1011001 01 11 00

1.8. Realizar la suma de los números A=11001 y B = 11101, representados en palabras de 5


bits si su sistema de representación es:

a) Complemento a uno
b) Complemento a dos
1. Sistemas de Numeración y Códigos 5

Solución

a) Complemento a uno1
11001C1 +11101C1 =10111C1
−6 − 2 = −8
b) Complemento a dos
11001C2 +11101C2 =10110C2
−7 − 3 = −10

1.9. Realizar la resta de los números A=11001 y B = 11101, representados en palabras de 5 bits
si su sistema de representación es:

a) Complemento a uno
b) Complemento a dos

Solución

a) Complemento a uno
11001C1 -11101C1 =11001C1 +00010C1 =11011C1
−6 + 2 = −4
b) Complemento a dos
11001C2 -11101C2 =11001C2 +00011C2 =11100C2
−7 + 3 = −4

1.10. El rango de representación en complemento a dos de números binarios es de:

a) [−2n−1 , 2n−1 − 1]
b) [−2n−1 , 2n−1 ]
c) [−(2n−1 − 1), 2n−1 − 1]
1
En complemento a uno se suma el acarreo final al resultado.
1. Sistemas de Numeración y Códigos 6

d) [−2n−1 , 2n−1 + 1]

Solución
El rango de representación en complemento a dos de números binarios es de
[−2n−1 , 2n−1 − 1].

1.11. Codificar del número decimal 18, en códigos binarios de palabra (binario natural y binario
gray) y BCD (natural, aiken y exceso a tres).

Solución

Decimal Binario Natural Binario Gray


18 10010 11011
Decimal BCD Natural BCD Aiken BCD XS3
18 00011000 00011110 01001011
1. Sistemas de Numeración y Códigos 7

EJERCICIOS PROPUESTOS

1. Representar la cantidad sesenta y una unidades en los sistemas de numeración en base 2, 5,


8 y 16.

2. Representar en los sistemas de numeración binario, octal y hexadecimal los siguientes


números decimales:

a) 215
b) 129
c) 614

3. ¿Cuántos dı́gitos serán necesarios para representar en binario, octal y hexadecimal cada
uno de los siguientes números decimales?

a) 50
b) 1000
c) 5000
d) 1000000

4. Encontrar la expresión decimal de los siguientes números:

a) (10011)2
b) (10011)3
c) (10011)4
d) (10011)8
e) (10011)16
f ) (215)6
g) (214)8

5. Representar con el menor número posible de bits en los formato complemento a uno y
complemento a dos, los siguientes números enteros:

a) -122
b) 122
c) -64
d) -15
1. Sistemas de Numeración y Códigos 8

e) 37
f ) -37

6. Un sistema digital puede procesar números representados en formato de 7 bits. Indicar


cuales de los siguientes números decimales pueden ser procesados por dicho sistema:

a) -127
b) 127
c) -64
d) 128
e) 63
f ) -63

7. Hallar el resultado de las siguientes operaciones:

a) (225)8 + (120)8
b) (10111)2 + (101)2
c) (10110)SM + (01111)SM
d) (10110)CD + (0011)CD
e) (01100)CD + (0011)CD

8. Representar el número (8620)10 en los siguientes códigos:

a) BCD natural
b) BCD exceso a tres
c) BCD AIKEN

9. Obtener un código Gray para codificar 32 sı́mbolos diferentes.

10. Obtener un código Johnson para codificar al menos ocho sı́mbolos diferentes
Capı́tulo 2

Algebra de Boole

2.1. Minimizar algebraicamente las siguientes funciones:

a) f (a, b, c) = ab + ac + āb̄c
b) f (a, b, c) = (b + acc̄ + āb + abcb̄ + ab̄)(ac̄ + āc̄ + c)
c) f (a, b, c, d) = a + bc + ā + b̄d + c̄d¯
d) f (a, b, c, d) = a + bc + ā + b̄d + bd
¯ (c̄b̄)
e) f (a, b, c, d) = ((ā + b)c̄ + a + b + c + d)
f ) f (a, b) = ā(b + āb̄)

Solución

a) f (a, b, c) = ab + ac + āb̄c

f (a, b, c) = ab + ac + āb̄c =
= a(b + c) + āb̄c =
= ā + b̄c̄ + āb̄c =
= ā(1 + b̄c) + b̄c̄ =
= ā + b̄c̄

9
2. Algebra de Boole 10

b) f (a, b, c) = (b + acc̄ + āb + abcb̄ + ab̄)(ac̄ + āc̄ + c)

f (a, b, c) = (b + acc̄ + āb + abcb̄ + ab̄)(ac̄ + āc̄ + c) =


= (b + āb + ab̄)((a + ā)c̄ + c) =
= (b(1 + ā) + ab̄)(c̄ + c) =
= (b + ab̄)

c) f (a, b, c, d) = a + bc + ā + b̄d + c̄d¯

f (a, b, c, d) = a + bc + ā + b̄d + c̄d¯ =


= āb̄c + ā + b̄d + c̄d¯ =
= ā + b̄d + c̄d¯ =
¯ · b̄d · c̄d¯ =
= ā
¯ + d) = abc + abd + adc
= a(b + d)(c ¯ + add
¯ =
¯
= abc + abd + adc

d) f (a, b, c, d) = a + bc + ā + b̄d + bd

f (a, b, c, d) = a + bc + ā + b̄d + bd =
= āb̄c + ā + b̄d + bd =
= ā(1 + b̄c) + (b̄ + b)d =
= ā + d = ad¯

¯ (c̄b̄)
e) f (a, b, c, d) = ((ā + b)c̄ + a + b + c + d)
2. Algebra de Boole 11

¯ (c̄b̄) =
f (a, b, c, d) = ((ā + b)c̄ + a + b + c + d)
¯ + c) =
= āc̄ + bc̄ + a + b + c + d(b
¯ + c) =
= āc̄ + b(c̄ + 1) + a + c + d(b
¯ + c) =
= āc̄ + a + b + c + d(b
¯ + c) =
= (a + ā)(a + c̄) + b + c + d(b
¯ + c) =
= a + c̄ + b + c + d(b
= a + b + d¯ + 1(b + c) =
= 1(b + c) = 0

f ) f (a, b) = ā(b + āb̄)

f (a, b) = ā(b + āb̄) =


= ā(ā + b)(b + b̄) = ā(ā + b) =
= aā + āb = ā(1 + b) = a

2.2. A partir de estas sumas de productos, obtener una expresión en producto de sumas.
P
a) f (a, b, c, d) = (0, 3, 7, 9, 12, 15)
P
b) f (a, b, c, d) = (0, 1, 3, 4, 6, 8)

Solución
P
a) f (a, b, c, d) = (0, 3, 7, 9, 12, 15)
2. Algebra de Boole 12

X
f (a, b, c, d) = (0, 3, 7, 9, 12, 15)
X
f (a, b, c, d) = (1, 2, 4, 5, 6, 8, 10, 11, 13, 14)
f (a, b, c, d) = m1 + m2 + m4 + m5 + m6 + m8 + m10 + m11 + m13 + m14 =
= m1 · m2 · m4 · m5 · m6 · m8 · m10 · m11 · m13 · m14 =
= M 14 · M 13 · M 11 · M 10 · M 9 · M 7 · M 5 · M 4 · M 2 · M 1

P
b) f (a, b, c, d) = (0, 1, 3, 4, 6, 8)

X
f (a, b, c, d) = (0, 1, 3, 4, 6, 8)
X
f (a, b, c, d) = (2, 5, 7, 9, 10, 11, 12, 13, 14, 15)
f (a, b, c, d) = m2 + m5 + m7 + m9 + m10 + m11 + m12 + m13 + m14 + m15 =
= m2 · m5 · m7 · m9 · m10 · m11 · m12 · m13 · m14 · m15 =
= M 13 · M 10 · M 8 · M 6 · M 5 · M 5 · M 4 · M 3 · M 2 · M 1 · M 0

2.3. Expresar la siguiente función en forma canónica como suma de miniterminos.

a) f (a, b, c) = a + b + c
b) f (a, b, c) = a + b(b + c)

Solución

a) f (a, b, c) = a + b + c

f (a, b, c) = M 5
f (a, b, c) = M 0 · M 1 · M 2 · M 3 · M 4 · M 6 · M 7
f (a, b, c) = M 0 · M 1 · M 2 · M 3 · M 4 · M 6 · M 7 =
= M0 + M1 + M2 + M3 + M4 + M6 + M7 =
= m7 + m6 + m5 + m4 + m3 + m1 + m0
2. Algebra de Boole 13

b) f (a, b, c) = a + b(b + c)

f (a, b, c) = a + b(b + c) =
= (āb̄)(b + c) =
= āb̄b + āb̄c =
= āb̄c = a + b + c̄ = M 6
f (a, b, c) = M 0 · M 1 · M 2 · M 3 · M 4 · M 5 · M 7
f (a, b, c) = m7 + m6 + m5 + m4 + m3 + m2 + m0

2.4. Expresar las siguientes funciones en forma canónica como producto de maxitérminos.

a) f (a, b, c) = (a + b̄)(ā + b + c̄) + b̄c


b) f (a, b) = ā + ab̄

Solución

a) f (a, b, c) = (a + b̄)(ā + b + c̄) + b̄c

f (a, b, c) = (a + b̄)(ā + b + c̄) + b̄c =


= (aā + ab + ac̄ + āb̄ + bb̄ + b̄c̄) + b̄c =
= ab + ac̄ + āb̄ + b̄c̄ + b̄c =
= abc̄ + abc + ab̄c̄ + abc̄ + āb̄c̄ + āb̄c + āb̄c̄ + ab̄c̄ + āb̄c + ab̄c =
X
= (0, 1, 4, 5, 6, 7)
4
= m0 + m1 + m4 + m5 + m6 + m7
f (a, b, c) = m2 + m3
f (a, b, c) = m2 + m3 = m2 · m3 = M 5 · M 4
2. Algebra de Boole 14

b) f (a, b) = ā + ab̄

f (a, b) = ā + ab̄ =
= a · ab̄ =
= a(ā + b) = a · ā + a · b = a · b = m3
f (a, b) = m0 + m1 + m2
f (a, b) = m0 + m1 + m2 = m0 · m1 · m2 = M 3 · M 2 · M 1

P Q
2.5. Dadas f1 (a, b) = (0, 3) y f2 (c, d) = (1, 2).
L
Calcular G(a, b, c, d) = f1 (a, b) f2 (c, d).

Solución

f1 (a, b) = m0 + m3 = āb̄ + ab
f2 (c, d) = M 1 · M 2 =
= M 0 · M 3 = M 0 + M 3 = m3 + m0 = cd + c̄d¯

g(a, b, c, d) = (āb̄ + ab) ⊕ (c̄d¯ + cd) =


= (āb̄ + ab)(c̄d¯ + cd) + (āb̄ + ab)(c̄d¯ + cd) =
= (āb̄ · ab)(c̄d¯ + cd) + (āb̄ + ab)(c̄d¯ · cd) =
= (a + b)(ā + b̄)(c̄d¯ + cd) + (āb̄ + ab)(c̄ + d)(c
¯ + d) =

= (aā + ab̄ + āb + bb̄)(c̄d¯ + cd) + (cc̄ + c̄d + cd¯ + dd)(ā¯ b̄ + ab) =

= ab̄cd + ab̄c̄d¯ + ābcd + ābc̄d¯ + āb̄c̄d + āb̄cd¯ + abc̄d + abcd¯


X
g(a, b, c, d) = (1, 2, 4, 7, 8, 11, 13, 14)
4
2. Algebra de Boole 15

2.6. Analizar los siguientes circuitos y obtener su función lógica.

Solución

a)
F (a, b, c) = (x + y + z)(y + z)z̄
2. Algebra de Boole 16

b)
F (x, y, z) = xy ⊕ (y + z̄)

c)
F (x1, x2, x3, x4) = (x1 ⊕ x2) + x3

d)
F (x, y) = x + y ȳ ⊗ ȳ

e)
X(b2, a2, b1, a1) = (a2 ⊗ b2)b1a1) + (b2a2)

Y (b2, a2, b1, a1) = (a2 ⊗ b2)a1b1) + (a2b2)

f)
F (x, y, z) = (x + y) + (y + z) + y = ȳ(x̄ + z̄)

g)
F (x, y, z) = x + y + z = x̄ȳz̄

h)
F (x, y, z) = y + xz̄

i)
F (x, y, z) = zx wx yw y wx

j)
F (z, x, w) = xz + xzy + x̄z(x + y)y
2. Algebra de Boole 17

2.7. Diseñar un generador de paridad par para cuatro bits.

Solución

a b c d f
0 0 0 0 0
0 0 0 1 1
0 0 1 0 1
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
0 1 1 0 0
0 1 1 1 1
1 0 0 0 1
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 0

Para 3 bits b, c y d el generador de paridad quedarı́a:

f (b, c, d) = b̄c̄d + b̄cd¯ + bc̄d¯ + bcd =


= b̄(c̄d + cd)¯ + b(c̄d¯ + cd) =

= b̄(c ⊕ d) + b(c ⊕ d) = b ⊕ (c ⊕ d)

Para 4 bits a, b, c y d:

P ara a = 0 → f (b, c, d)

P ara a = 1 → f (b, c, d)
2. Algebra de Boole 18

f (b, d, d) = g → f (a, b, c, d) = āg + aḡ = a ⊕ g = a ⊕ (b ⊕ (c ⊕ d))

2.8. Diseñar y minimizar un circuito lógico de tres variables de entrada que se disparen cuan-
do:

a) Dos o más de las entradas estén en alta a la vez.


b) El decimal equivalente al número binario que representan las tres entradas sea impar
(1, 3, 5 ó 7).
c) El decimal equivalente al número binario que representan las tres entradas sea par
(0, 2, 4 ó 6).

Solución

a) Dos o más de las entradas estén en alta a la vez.


a b c f1
0 0 0 0 0
1 0 0 1 0
2 0 1 0 0
3 0 1 1 1
4 1 0 0 0
5 1 0 1 1
6 1 1 0 1
7 1 1 1 1

a
f1
c

0 0 1 0
0 1 5 4

b 0 1 1 1
2 3 7 6

f 1(a, b, c) = bc + ac + ab
2. Algebra de Boole 19

b) El decimal equivalente al número binario que representan las tres entradas sea impar
(1, 3, 5 ó 7).

a b c f2
0 0 0 0 0
1 0 0 1 1
2 0 1 0 0
3 0 1 1 1
4 1 0 0 0
5 1 0 1 1
6 1 1 0 0
7 1 1 1 1

a
f2
c

0 1 1 0
0 1 5 4

b 0 1 1 0
2 3 7 6

f 2(a, b, c) = c

c) El decimal equivalente al número binario que representan las tres entradas sea par
(0, 2, 4 ó 6).

a b c f3
0 0 0 0 1
1 0 0 1 0
2 0 1 0 1
3 0 1 1 0
4 1 0 0 1
5 1 0 1 0
6 1 1 0 1
7 1 1 1 0
2. Algebra de Boole 20

a
f3
c

1 0 0 1
0 1 5 4

b 1 0 0 1
2 3 7 6

f 3(a, b, c) = c̄

2.9. Dibujar un circuito empleando exclusivamente puertas NAND que detecte los números
primos comprendidos entre 0 y 15, representados en binario natural.(Considérese el cero
como no primo a efectos de realizar la tabla de verdad)

Solución

a b c d f3
0 0 0 0 0 0
1 0 0 0 1 1
2 0 0 1 0 1
3 0 0 1 1 1
4 0 1 0 0 0
5 0 1 0 1 1
6 0 1 1 0 0
7 0 1 1 1 1
8 1 0 0 0 0
9 1 0 0 1 0
10 1 0 1 0 0
11 1 0 1 1 1
12 1 1 0 0 0
13 1 1 0 1 1
14 1 1 1 0 0
15 1 1 1 1 0

f (a, b, c, d) = āb̄c̄d + āb̄cd¯ + āb̄cd + ābc̄d + ābcd + ab̄cd + abc̄d


2. Algebra de Boole 21

b
f
d

0 1 1 0
0 1 5 4

1 1 1 0
c 2 3 7 6

0 1 0 0
a 10 11 15 14

0 0 1 0
8 9 13 12

f (a, b, c, d) = ād + bc̄d + āb̄c + b̄cd =


= ād · bc̄d · āb̄c · b̄cd =

2.10. Implementar el mı́nimo circuito capaz de activar una de las dos salidas, led rojo (LR) y
led verde (LV). El led verde se activará cuando la temperatura de entrada esté entre -3 y
4o C, ambas incluidas, y el rojo en el resto de los casos. La temperara estará codificada con
cuatro bits en binario puro con signo en complemento a 2.

Solución
2. Algebra de Boole 22

T3 T2 T1 T0 LV LR
0 0 0 0 0 1 0
1 0 0 0 1 1 0
2 0 0 1 0 1 0
3 0 0 1 1 1 0
4 0 1 0 0 1 0
5 0 1 0 1 0 1
6 0 1 1 0 0 1
7 0 1 1 1 0 1
-8 1 0 0 0 0 1
-7 1 0 0 1 0 1
-6 1 0 1 0 0 1
-5 1 0 1 1 0 1
-4 1 1 0 0 0 1
-3 1 1 0 1 1 0
-2 1 1 1 0 1 0
-1 1 1 1 1 1 0

T2
LV
T0

1 1 0 1
0 1 5 4

1 1 0 0
2 3 7 6
T1
0 0 1 1
10 11 15 14
T3
0 0 1 0
8 9 13 12

LV (T 3, T 2, T 1, T 0) = T 3 T 2 + T 3 T 1 T 0 + T 3T 2T 1 + T 3T 2T 0
2. Algebra de Boole 23

T2
LR
T0

0 0 1 0
0 1 5 4

0 0 1 1
2 3 7 6
T1
1 1 0 0
10 11 15 14
T3
1 1 0 1
8 9 13 12

LR(T 3, T 2, T 1, T 0) = T 3T 2 + T 3T 1 T 0 + T 3T 2 T 0 + T 3T 2 T 1

Puesto que no se pone ninguna restricción el circuito se podrı́a realizar con puertas NOT,
AND y OR, implementando una de ellas y sacando la otra a partir de un inversor, LR =
LV .

2.11. Una maquina registradora dispone de cuatro ranuras de 50, 50, 20 y 20 céntimos de euro,
en las que cabe un única moneda. En la salida se dispone de un mecanismo para ofrecer
el producto, y para dar las vueltas tiene un dispensador de monedas de 10 centimos y
dos de monedas 20 céntimos. Diseñar el circuito lógico capaz de entregar el producto
cuando el valor de la entrada iguale o supere a los 90 céntimos, y devolver correctamente
los cambios.

Solución

Variables de entrada: cuatro bits, 2 de 50 céntimos (A5 y B5)y 2 de 20 céntimos (A2 y B2).
Variables de salida: cuatro bits, producto (P), vueltas de 10 céntimos (D1) y vueltas de 20
céntimos (D2 y D3).
2. Algebra de Boole 24

B5 A5 A2 B2 P D1 D2 D3
0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0
2 0 0 1 0 0 0 0 0
3 0 0 1 1 0 0 0 0
4 0 1 0 0 0 0 0 0
5 0 1 0 1 0 0 0 0
6 0 1 1 0 0 0 0 0
7 0 1 1 1 1 0 0 0
8 1 0 0 0 0 0 0 0
9 1 0 0 1 0 0 0 0
10 1 0 1 0 0 0 0 0
11 1 0 1 1 1 0 0 0
12 1 1 0 0 1 1 0 0
13 1 1 0 1 1 1 1 0
14 1 1 1 0 1 1 1 0
15 1 1 1 1 1 1 1 1

P
P (B5, A5, A2, B2) = 4 (7, 11, 12, 13, 14, 15)
P
D1(B5, A5, A2, B2) = 4 (12, 13, 14, 15)
P
D2(B5, A5, A2, B2) = 4 (13, 14, 15)
P
D3(B5, A5, A2, B2) = 4 (15)

A5 A5
P D1
B2 B2

0 0 0 0 0 0 0 0
0 1 5 4 0 1 5 4

0 0 1 0 0 0 0 0
2 3 7 6 2 3 7 6
A2 A2
0 1 1 1 0 0 1 1
10 11 15 14 10 11 15 14
B5 B5
0 0 1 1 0 0 1 1
8 9 13 12 8 9 13 12
2. Algebra de Boole 25

A5 A5
D2 D3
B2 B2

0 0 0 0 0 0 0 0
0 1 5 4 0 1 5 4

0 0 0 0 0 0 0 0
2 3 7 6 2 3 7 6
A2 A2
0 0 1 1 0 0 1 0
10 11 15 14 10 11 15 14
B5 B5
0 0 1 0 0 0 0 0
8 9 13 12 8 9 13 12

P = A5 B5 + A5 A2 B2 + B5 A2 B2
D1 = A5 B5
D2 = A5 B5 B2 + A5 B5 A2
D3 = A5 B5 A2 B2

2.12. Dada las siguientes funciones, simplificar e implementar el circuito utilizando puertas
NOR de dos entradas.
P
a) f1 (d, c, b, a) = (0, 2, 3, 6, 7, 11, 13, 15)
P
b) f2 (e, d, c, b, a) = (0, 2, 3, 6, 7, 9, 11, 13, 15, 16, 25, 27, 29, 31)
Q
c) f3 (d, c, b, a) = (1, 2, 5, 9, 12, 13)

Solución
P
a) f1 (d, c, b, a) = (0, 2, 3, 6, 7, 11, 13, 15)
c
f1
a

1 0 0 0
0 1 5 4

1 1 1 1
2 3 7 6
b
0 1 1 0
10 11 15 14
d
0 0 1 0
8 9 13 12
2. Algebra de Boole 26

¯ + ba + dca + dc̄ā
f1 (d, c, b, a) = db ¯ = d + b̄ + b̄ + ā + d¯ + c̄ + ā + d + c + a
P
b) f2 (e, d, c, b, a) = (0, 2, 3, 6, 7, 9, 11, 13, 15, 16, 25, 27, 29, 31)
e

f2 c

a a

1 0 0 0 0 0 0 1
0 1 5 4 20 21 17 16

1 1 1 1 0 0 0 0
2 3 7 6 22 23 19 18
b
0 1 1 0 0 1 1 0
10 11 15 14 30 31 27 26
d
0 1 1 0 0 1 1 0
8 9 13 12 28 29 25 24

¯ b̄ā + ēdb
f2 (e, d, c, b, a) = da + dc̄ ¯ = d¯ + ā + d + c + b + a + e + d + b̄

Q
c) f3 (d, c, b, a) = (1, 2, 5, 9, 12, 13)

c
f3
a

1 1 1 1
0 1 5 4

0 0 1 0
2 3 7 6
b
0 1 1 0
10 11 15 14
d
1 1 0 1
8 9 13 12

f3 (d, c, b, a) = (b̄ + a)(d + c + b̄)(d¯ + c̄ + b + ā)

f3 (d, c, b, a) = b̄ + a + d + c + b̄ + d¯ + c̄ + b + ā
2. Algebra de Boole 27

EJERCICIOS PROPUESTOS

1. Construir una tabla con todos los minitérminos y maxitérminos de una función de cuatro
variables.

2. Qué son y cómo se definen las formas canónicas de una función booleana. Expresar en
forma canónica (producto de suma o suma de productos) la función booleana de cuatro
variables F(x,y,z,t) = x.

3. Dadas las funciones booleanas: Obtener dos expresiones normalizadas y dos expresiones
canónicas de las mismas.

a) F1 (x, y, z) = [xy(x + z)] + [y(x + z)] + [(y + z)(x + y)]


b) F2 (x, y, z) = (x + y) · (xȳ + z)
c) F3 (x, y, z) = (x̄ȳ + xz) · (x̄ + ȳz)
d) F4 (x, y, z, t) = xy + t + xyz + t̄
e) F5 (x, y, z, t) = (xy + zt) ⊕ (xȳ + zt)

4. Simplificar las siguientes expresiones utilizando el Álgebra de Boole:

a) [AB̄(C + BD) + ĀB̄]C


b) AB + AC + ĀB̄C
c) AB + A(B + C) + B(B + C)

5. Obtener una expresión mediante suma de productos y otra mediante producto de sumas
de las funciones XOR y XNOR.

6. Demostrar que el operador binario NAND forma un conjunto completo de operado-


res. Sugerencia: Expresar los operadores AND, OR y NOT mediante el operador binario
NAND.

7. Demostrar que el operador binario NOR forma un conjunto completo de operadores. Su-
gerencia: Expresar los operadores AND, OR y NOT mediante el operador binario NAND.

8. Obtener un circuito lógico que se comporte como la función NAND de dos entradas,
usando solamente puertas NOR.

9. Construir una NAND de cuatro entradas a partir de puertas NAND de dos entradas.
2. Algebra de Boole 28

10. Encontrar la expresión algebraica de la función booleana que se comporta como un circui-
to eléctrico de tres conmutadores que controlan el encendido y apagado de una bombilla.

11. Simplificar mediante mapas de Karnaugh las siguientes funciones booleanas y obtener
una expresión mı́nima:

X
F (x, y, z) = (0, 1, 2, 5, 6, 7)
3

X X
F (x, y, z, t) = (4, 7, 13, 14) + (0, 3, 6, 10, 11, 15)
4 ∅

a) Mediante suma de productos.


b) Mediante producto de sumas.

12. Dada la expresión algebraica de la función booleana F(x,y,z):

F (x, y, z) = [xy(x + z)] + [y(x + z)] + [(y + z)(x + y)]

a) Operar algebraicamente hasta obtener una expresión normalizadas en forma de su-


ma de productos. Comprobar si la expresión obtenida es la mı́nima y justificar la
respuesta.
b) Obtener una expresión normalizada mı́nima en forma de producto de sumas. Jus-
tificar que la expresión obtenida es mı́nima ilustrando el razonamiento mediante
mapas de Karnaugh.
c) Dibujar un circuito mı́nimo que utilice exclusivamente puertas NAND de dos entra-
das a partir de la expresión obtenidad en el apartado anterior.

13. Dada la función booleana en forma canónica:

Y Y
F (A, B, C, D) = (1, 2, 3, 5, 6, 7, 8, 10) (11, 13)
4 ∅

Justificar adecuadamente cuales de las siguientes expresiones representan a una función


booleana equivalente:
P P
a) F1 (A, B, C, D) = 4 (0, 4, 9, 11, 12, 13, 14, 15) + ∅ (2, 3)

b) F2 (A, B, C, D) = (ĀC̄ D̄ + B C̄ D̄ + ABC + AB̄ C̄D)


c) F3 (A, B, C, D) = (Ā + B + D)[A + (C̄ D̄)]
d) F4 (A, B, C, D) = (ĀC̄ D̄ + AB + AD)
2. Algebra de Boole 29

14. Dada la función booelana.


X X
F (x, y, z, t) = (0, 2, 3, 4, 9, 11) + (1, 13)
4 ∅

a) Expresarla en su forma canónica producto de maxitérminos.


b) Obtener una expresión mı́nima de F en forma de suma de productos.
c) Obtener una expresión mı́nima de F en forma de producto de sumas.

15. Dada la expresión algebraica de la función booleana F(x,y,z,t):

F (x, y, z, t) = xy + x̄ȳ + x̄yt

a) Representarla sobre un mapa de Karnaugh indicando sobre el mismo los grupos de


minitérminos cubiertos por cada uno de los términos producto. Indicar para cada
uno de los términos producto si se trata de implicante, implicante primo o implicante
primo esencial.
b) Obtener una expresión normalizada mı́nima en forma de suma de productos. Jus-
tificar que la expresión obtenida es mı́nima ilustrando el razonamiento mediante
mapas de Karnaugh.
c) Obtener una expresión normalizada mı́nima en forma de producto de sumas. Jus-
tificar que la expresión obtenida es mı́nima ilustrando el razonamiento mediante
mapas de Karnaugh.
d) Obtener un diagrama lógico a partir de cada una de las expresiones mı́nimas obte-
nidas en los apartados anteriores empleando únicamente puertas NOR.
Capı́tulo 3

Caracterización y Tecnologı́as de
Circuitos Integrados Digitales

Ej6.1. La información que proporciona el fabricante del CI 74ALS541 se muestra a continuación


en la tabla 3.1.

a) Analizar el diagrama lógico del CI 74ALS541 (Fig. 3.1) y completar la tabla de verdad
de las salidas en función de las entradas.
b) Consultando la información que proporciona el fabricante obtener los siguientes
parámetros:
1) Valor máximo de VOLmax
2) Valor de IOHmax para el cual está garantizado VOHmin
3) Margen de ruido

Figura 3.1: Diagrama lógico CI 74LS151

30
3. Caracterización y Tecnologı́as de Circuitos Integrados Digitales 31

DM74ALS541 Absolute Maximum Ratings(Note 1)


Supply Voltage 7V
Input Voltage: Control Inputs 7V
Voltage Applied to a Disabled
3-STATE Output 5.5V
Note 1: The “Absolute Maximum Ratings” are those values beyond which
Operating Free-Air Temperature Range 0°C to +70°C the safety of the device cannot be guaranteed. The device should not be
operated at these limits. The parametric values defined in the Electrical
Storage Temperature Range −65°C to +150°C Characteristics tables are not guaranteed at the absolute maximum ratings.
Typical θJA The “Recommended Operating Conditions” table will define the conditions
for actual device operation.
N Package 58.5°C/W
M Package 77.5°C/W

Recommended Operating Conditions


Symbol Parameter Min Nom Max Units
VCC Supply Voltage 4.5 5 5.5 V
VIH HIGH Level Input Voltage 2 V
VIL LOW Level Input Voltage 0.8 V
IOH HIGH Level Output Current −15 mA
IOL LOW Level Output Current 24 mA
TA Free Air Operating Temperature 0 70 °C

Electrical Characteristics
over recommended free air temperature range
Symbol Parameter Test Conditions Min Typ Max Units

VIK Input Clamp Voltage VCC = Min, II = −18 mA −1.2 V


VOH HIGH Level VCC = 4.5V to 5.5V IOH = −0.4 mA VCC − 2
Output Voltage VCC = Min IOH = −3 mA 2.4 3.2 V
IOH = Max 2
VOL LOW Level VCC = Min IOL = 12 mA 0.25 0.4
mA
Output Voltage IOL = 24 mA 0.35 0.5
II Input Current at Maximum
VCC = Max, VI = 7V 100 µA
Input Voltage
IIH HIGH Level Input Current VCC = Max, VI = 2.7V 20 µA
IIL LOW Level Input Current VCC = Max, VI = 0.4V −100 µA
IOZH HIGH Level 3-STATE
VCC = Max, VO = 2.7V 20 µA
Output Current
IOZL LOW Level 3-STATE
VCC = Max, VO = 0.4V −20 µA
Output Current
IO Output Drive Current VCC = Max, VO = 2.25V −30 −112 mA
ICC Supply Current VCC = Max Outputs HIGH 6 14
Outputs LOW 15 25 mA
Outputs Disabled 13.5 22

www.fairchildsemi.com 2

Tabla 3.1: Extraı́do de la hoja de caracterı́sticas del CI 74LS151 (http://www.fairchildsemi.com)


3. Caracterización y Tecnologı́as de Circuitos Integrados Digitales 32

Solución:

a) Analizar el diagrama lógico del CI 74ALS541 (Fig. 3.1) y completar la tabla de verdad
adjunta.
Para los todos los posibles valores de las entradas OE1, OE2 y A1, se completará la salida.

OE1 OE2 A1 Y1
0 1 X Z
1 0 X Z
1 1 X Z
0 0 0 0
0 0 1 1

b) Consultando la información que proporciona el fabricante obtener los siguientes


parámetros:
1) Valor máximo de VOLmax :
VOLmax = 0,4V ; IOL = 12mA
VOLmax = 0, 5V ; IOL = 24mA
2) Valor de IOHmax para el cual está garantizado VOHmin :
IOHmax = -15 mA
3) Margen de ruido:
M RH =VOHmin - VILmin =0,4V
M RL =VILmax - VOLmax =0,3V

Ej6.2. En la tabla anexa se exponen los niveles lógicos y las corrientes de las familias lógicas
74LSXX y 74HCXX.

a) Calcular el margen de ruido estricto en las familias LSTTL y HCMOS ¿Qué familia
tecnológica elegir si el circuito va a trabajar en ambiente ruidoso?
b) Calcular el Fan-out de ambas familias teniendo en cuenta los niveles lógicos y co-
rrientes de la Tabla.
c) ¿Cuántas unidades de carga LSTTL pueden conectarse a una salida HCMOS, sa-
biendo que esta familia puede entregar hasta una IOHmax = −4mA manteniendo
VOH ≥ 4V y una IOLmax = 4mA con VOL ≤ 0, 4V ?
3. Caracterización y Tecnologı́as de Circuitos Integrados Digitales 33

74LSXX 74HCXX
VIHmin 2V 3, 15V
VILmax 0, 8V 0, 9V
VOHmin 2, 7V 4, 4V
VOLmax 0, 4V 0, 1V
IIHmax 20µA 1µA
IILmax −0,4mA −1µA
IOHmax −400µA −20µA
IOLmax 8mA 20µA

Solución:

a) Margen de ruido estricto en las familias LSTTL y HCMOS ¿Qué familia tecnológica
elegir si el circuito va a trabajar en ambiente ruidoso?
Tecnologı́a LS
M RH = VOHmin − VIHmin = 2, 7 − 2 = 0, 7V
M RL = VILmax − VOLmax = 0, 8 − 0, 4 = 0, 4V

Tecnologı́a HC
M RH = VOHmin − VIHmin = 4, 4 − 3, 15 = 1, 25V
M RL = VILmax − VOLmax = 0, 9 − 0, 1 = 0, 8V

Se elegirá la familia HCMOS por ser la que mayor margen de ruido tiene (0.8 V)
b) Fan-out de ambas familias
Tecnologı́a LS
400µA
F AN − OU TH = = 20puertas
20µA
8mA
F AN − OU TL = = 20puertas
0,4mA
Tecnologı́a HC
20µA
F AN − OU TH = = 20puertas
1µA
20µA
F AN − OU TL = = 20puertas
1µA
3. Caracterización y Tecnologı́as de Circuitos Integrados Digitales 34

c) ¿Cuántas unidades de carga LSTTL pueden conectarse a una salida HCMOS, sa-
biendo que esta familia puede entregar hasta una IOHmax = −4mA manteniendo
VOH ≥ 4V y una IOLmax = 4mA con VOL ≤ 0, 4V ?

4mA
U CH = = 200puertas
20µA
4mA
U CL = = 10puertas
0,4mA
10 Unidades de carga

Ej6.3. Se suministra un número secreto de 5 cifras grabado en una tarjeta magnética a, b, c,


d, e, con el que se puede acceder a un edificio. El diseñador del sistema ha utilizado la
siguiente función:
Apertura de la puerta −→ ābc̄dē

Tabla 3.2: Caracterı́sticas de las familias

FAMILIA IIL (mA) IIH (µA) IOL (mA) IOH (mA) VILmax (V ) VIHmin (V ) VOLmax (V ) VOHmin (V )
LS -0.4 20 4 -0.4 0.7 2 0.4 2.5
FC -0.6 20 8 -0.4 0.8 2 0.5 2.5
HC -0.001 1 0.02 -0.02 0.9 3.15 0.1 4.4

a) Si se dispone sólo de puertas NAND de dos entradas, diseñar el circuito.


b) ¿Qué tecnologı́a LS, FC, HC es la más apropiada de cara a implementar el circuito
en un entorno ruidoso?¿Por qué?
c) ¿Cuántas puertas de tecnologı́a FC se podrı́an conectar una puerta de tecnologı́a LS?

Solución:

a) Implementar con puertas NAND de dos entradas.


La expresión lógica de la función de “apertura” es:

ābc̄dē = āb c̄dē


3. Caracterización y Tecnologı́as de Circuitos Integrados Digitales 35

Por tanto, dibujando directamente la esta expresión:


b) ¿Qué tecnologı́a LS, FC, HC es la más apropiada de cara a implementar el circuito
en un entorno ruidoso?¿Por qué?
Cálculo del margen de ruido:
1) Tecnologı́a LS
N ML = VILmax − VOLmax = 0,7 − 0,3 = 0,4V
N MH = VOHmin − VIHmin = 2,5 − 2 = 0,5V

2) Tecnologı́a FC
N ML = VILmax − VOLmax = 0,8 − 0,5 = 0,3V
N MH = VOHmin − VIHmin = 2,5 − 2 = 0,5V

3) Tecnologı́a HC
N ML = VILmax − VOLmax = 0,9 − 0,1 = 0,8V
N MH = VOHmin − VIHmin = 4,4 − 3,15 = 0,8V

Serı́a mejor utilizar la tecnologı́a HC debido a que tiene mayores márgenes de ruido.
c) ¿Cuántas puertas de tecnologı́a FC se podrı́an conectar una puerta de tecnologı́a LS?
|IOHmaxLS |/|IIHmaxF C |=0,4 · 10−3 A/20 · 10−6 = 20
|IOLmaxLS |/|IILmaxF C |=4 · 10−3 A/0,6 · 10−3 = 6,66

Se podrı́an conectar 6 puertas para que funcione en ambos niveles serı́an 6.

Ej6.4. Clasificar, de mayor a menor y sin poner valores, las familias lógicas TTL, ECL y MOS.

a) Según velocidad
b) Según la potencia disipada.
3. Caracterización y Tecnologı́as de Circuitos Integrados Digitales 36

c) Indicar las condiciones que tienen que cumplir las tensiones (VILmax VIHmin VOLmax
VOHmin ) y las corrientes (IILmax IIHmax IOLmax IOHmax ), para poder conectar dos
puertas TTL

Solución:

a) Según velocidad
VECL > VT T L > VM OS
b) Según la potencia disipada
PECL > PT T L > PM OS
c) Indicar las condiciones que tienen que cumplir las tensiones y las corrientes, para
poder conectar dos puertas TTL.
En tensiones:
VOHmin ≥ VIHmin
VOLmax ≤ VILmax

En corrientes:
IOHmax ≥ IIHmax
IOLmax ≥ IILmax

Ej6.5. En la tabla se tienen algunas caracterı́sticas de dos familias lógicas F1 y F2. Estudiar las
compatibilidades entre dichas familias, tanto desde el punto de vista de niveles de ten-
sióon como de intensidades, e indicar si son compatibles:
La F1 como excitadora y la F2 como carga
La F2 como excitadora y la F1 como carga1

Tabla 3.3: Caracterı́sticas de las familias

FAMILIA VOHmin VOLmax VIHmin VILmax IOHmax IOLmax IIHmax IOLmax


F1 4.99V 0.001V 3.5V 1.5 -0.5mA 0.4mA 10pA -10pA
F2 2.4V 0.4V 2V 0.8V -800 A 16mA 40A -1.6mA

1
Nota: El signo - indica que la corriente es saliente
3. Caracterización y Tecnologı́as de Circuitos Integrados Digitales 37

Solución:

Puertas F1 excitadoras y puerta F2 carga:


F1 F2
VOHmin = 4,99V ≥ VIHmin = 2V
VOLmax = 0,001V ≤ VILmax = 0,8V No son compatibles
| IOHmax |=| −0,5mA | ≥ | IIHmax |=| 40A |
| IOLmax |=| 0,4mA | ≥ | IILmax |=| −1,6mA |

Puertas F2 excitadoras y puerta F1 carga:


F1 F2
VOHmin = 2,4V ≥ VIHmin = 3,5V
VOLmax = 0,4V ≤ VILmax = 1,5V No son compatibles
| IOHmax |=| −800A | ≥ | IIHmax |=| 10pA |
| IOLmax |=| 16mA | ≥ | IILmax |=| −10pA |
3. Caracterización y Tecnologı́as de Circuitos Integrados Digitales 38

EJERCICIOS PROPUESTOS

1. Indicar las condiciones que se deben cumplir para que dos familias lógicas sean compa-
tibles, en todas las posibles formas de conectarse entre sı́.

2. La siguiente tabla muestra algunos de los valores correspondientes a los parámetros ca-
racterı́sticos de dos familias lógicas. (NOTA: los valores de corrientes de entrada se refieren a
corriente por cada entrada de una puerta)
Familia lógica VOHM IN VIHM IN VOLM AX VILM AX IOHM AX IIHM AX IOLM AX IILM AX
A 2.5V 0.7V -20µA
B 2.3V -2ma

a) Completar la tabla para que la siguiente conexión sea posible, garantizando unos márgenes
de ruido NML =NMH =0,12V.

b) Para ello especificar los valores que faltan de la siguiente forma:


Indicar los valores extremos de tensiones y corrientes que sean necesarios para efectuar
tal conexión (valores mı́nimos o máximos según considere en cada caso)
Si el parámetro que falta es irrelevante para tal conexión, indı́quese con “ ∗ ”

3. Dada la función de transferencia de la figura 3.2, indicar:

Figura 3.2: Función de transferencia

a) Tipo de puerta a la que corresponde (AND, OR, SEGUIDOR, NOT, etc.) la figura 3.2.
b) Tensiones caracterı́sticas de la entrada y la salida de la figura.
c) ¿Funcionará correctamente un sistema con 2 puertas de este tipo conectadas en serie? Justi-
ficar la respuesta.
3. Caracterización y Tecnologı́as de Circuitos Integrados Digitales 39

4. Suponer que tenemos dos subfamilias TTL con las caracterı́sticas indicadas en la tabla siguiente:
Subfamilia VOHM IN VIHM IN VOLM AX VILM AX IOHM AX IIHM AX IOLM AX IILM AX
A 2.4V 0.4V 2V 0.5V -400µA 16mA 40µA -1.6mA
B 2.7V 0.6V 2V 0.9V -2mA 20mA 20µA -0.5ma

a) Indicar si dichas familias son compatibles cuando A excita a B y cuando B excita a A.


b) Calcular el margen de ruido cuando A excita a B.

5. Utilizando las hojas de caracterı́sticas del integrado 74LS00, determine:

a) Márgenes de ruido.
b) Potencia estática máxima disipada por una puerta NAND. Suponer que la puerta invierte
50 % del tiempo en estado alto y 50 % en estado bajo.
c) Valor máximo del producto potencia-retardo de puerta.

6. Con los datos de la siguiente tabla que se adjunta (VDD = 5V ), calcule:

a) ¿Cuántas entradas 74HC pueden ser excitadas por una salida 74LS?
b) ¿Cuántas entradas 74HCT pueden ser excitadas por una salida 74LS?
c) ¿Cuántas entradas 74LS pueden ser excitadas por una salida 74HC?

Subfamilia VIhmin VILmax VOHmin VOlmax IIHmax IILmax IOHmax IOLmax


LS 2.0V 0.8V 2.7V 0.5V 20µA -0.4mA -0.4µA 8mA
HC 3.5V 1.5V 4.34V 0.33V 1µA -1µA -4.0mA 4.0ma
HCT 2.0V 0.8V 4.34V 0.33V 1µA -1µA -4.0mA 4.0ma

7. Calcular el tiempo máximo que puede necesitar este circuito desde que se produce un cambio en
una de sus entradas hasta que la salida se estabiliza, sabiendo que los tiempos de propagación de
las puertas son: NOT: 5ns, OR: 10ns, AND: 10ns y XOR: 15ns.

8. El circuito de la figura 3.3 está alimentado a +5V. Las entradas B, C y D están siempre en H. Las
salidas X, Y y Z están al aire. En la entrada A hay una señal rectangular de frecuencia f y 50 %
de duty cycle. Con los datos de las puertas que se dan a continuación, ¿a partir de qué frecuen-
cia el circuito implementado con puertas CMOS consume más que el circuito implementado con
puertas TTL?
CMOS: IDD = 20µA; CI = 7pF ; CP D = 20pF
TTL: ICCH = 1,6mA; ICCL = 4,4mA
3. Caracterización y Tecnologı́as de Circuitos Integrados Digitales 40

Figura 3.3: Circuito implementado con puertas CMOS o TTL

9. Dados 2 circuitos TTL, conectados según el esquema de la figura, indicar:

a) Caracterı́stica que deben tener las puertas OR y XOR para que dicho conexionado sea válido.
b) Suponiendo que la conexión es válida, indicar qué función lógica se obtiene a la salida,
F=f(A, B, C, D)
Capı́tulo 4

Circuitos Combinacionales

4.1. Diseñar un codificador 16:4 con codificadores 8:3 Figura 4.1.

Figura 4.1: Codificador 8:3

Solución

A partir del codificador representado en la Fig. 4.1 se pretende diseñar un circuito que se
comporte como un codificador 16:4 con las lı́neas activas por nivel alto.
Si observamos el esquema Fig. 4.1 vemos que la lı́nea E0 es conectada a EI según el si-
guiente razonamiento; si ninguna entrada entre D8 y D15 ha sido activada (las de mayor
prioridad) E0 se pone a uno, y por tanto, al estar conectada a EI, se habilita el servicio a las
ocho lı́neas de menor peso. Y sucederı́a lo contrario si alguna de las entradas de más peso
se activara, la lı́nea correspondiente a E0 se pondrı́a a 0 y con ella la EI , deshabilitando el
codificador con las entradas de menos peso.

41
4. Circuitos Combinacionales 42

Figura 4.2: Codificador 16:4

4.2. Implementar un decodificador 3:8 con decodificadores 1:2 (1 entrada de control y dos
salidas de datos).

Solución

Figura 4.3: Decodificador 3:8


4. Circuitos Combinacionales 43

4.3. Se dispone de varios multiplexores 2 a 1 donde también se especifica la tabla de verdad:

Entrada Salida
I0 I1 S0 W
I0 X 0 I0
X I1 1 I1

Figura 4.4: Multiplexor 2:1 (longitud de palabra 1 bit)

a) Implementar un multiplexor de dos datos de cuatro bit cada uno a partir de multi-
plexores 2 a 1.

Entrada Salida
A B S0 W
A X 0 A
X B 1 B

Figura 4.5: Multiplexor 2:1 (longitud de palabra 4 bits)

b) Multiplexar cuatro entradas de dos bit cada una a partir de multiplexores 2 a 1.

Entrada Salida
A B C D S0 S1 W
A X X X 0 0 A
X B X X 0 1 B
X X C X 1 0 C
X X X D 1 1 D

Figura 4.6: Multiplexor 4:1 (longitud de palabra 2 bits)

Solución
4. Circuitos Combinacionales 44

a) Implementar un multiplexor de dos datos de cuatro bit cada uno.


Para multiplexar dos datos de cuatro bits se necesita utilizar cuatro multiplexores de
2 a 1 que proporcionan la cuatro salidas necesarias.
La solución de muestra en la Figura 4.7

Figura 4.7: Multiplexor 2:1 (longitud de palabra 4 bits)

b) Multiplexar cuatro entradas de dos bit cada una .


En este caso hay que implementar un doble multiplexor de dos entradas. La solución
de muestra en la Figura 4.8.

Figura 4.8: Multiplexor 4:1 (longitud de palabra 2 bits)


4. Circuitos Combinacionales 45

4.4. Diseñar un circuito combinacional que, sobre palabras de 4 bits y según las entradas de
selección, realice las siguientes operaciones:

Desplazamiento de una posición a la derecha.


Desplazamiento de una posición a la izquierda.
Transferencia de entrada a salida, sin transformación.
Complemento a uno o complemento lógico

Suponer los bits rotativos en los desplazamientos.

Se pide:

a) El número de entradas de selección necesarias. Justificarlo.


b) Las ecuaciones lógicas de las salidas.
c) Considerar un bit genérico de peso m. Realizar la parte del circuito correspondiente
a Sm utilizando puertas simples de cualquier número de entradas.
d) Realizar el circuito completo utilizando multiplexores con el menor número de en-
tradas de control y puertas inversoras. Indicar la ecuación del multiplexor.

Solución

a) Número de entradas
Hay 4 operaciones −→ Necesitamos 4 combinaciones = 2n −→ n = 2 entradas de
selección (C1 y C2 ).
4. Circuitos Combinacionales 46

b) Tabla de verdad

C1 C2 S3 S2 S1 S0
0 0 E0 E3 E2 E1 Desplazamiento a derecha
0 1 E2 E1 E0 E3 Desplazamiento a izquierda
1 0 E3 E2 E1 E0 Transferencia de información
1 1 E0 E1 E2 E3 Complemento a 1

Las ecuaciones son:

S3 = E0 C1 C2 + E2 C1 C2 + E3 C1 C2 + E3 C1 C2

S2 = E3 C1 C2 + E1 C1 C2 + E2 C1 C2 + E2 C1 C2

S1 = E2 C1 C2 + E0 C1 C2 + E1 C1 C2 + E1 C1 C2

S0 = E1 C1 C2 + E3 C1 C2 + E0 C1 C2 + E0 C1 C2

c) Circuito correspondiente a Sm
Las ecuaciones anteriores se corresponden a:

d) Implementación de los circuitos con multiplexores


Para realizar cualquiera de las funciones, necesitamos un multiplexor de 2 entradas
de control (que se corresponderán con C1 y C2 ) y 4 entradas de datos.
4. Circuitos Combinacionales 47

z = I0 a0 a1 + I1 a1 a0 + I2 a1 a0 + I3 a1 a0

Para realizar las 4 funciones necesitamos 4 multiplexores con (a1 = C1 y a0 = C2 ).

a1 a0 S3 = z S2 = z S1 = z S0 = z
0 0 I0 = E0 I0 = E3 I0 = E2 I0 = E1
0 1 I1 = E2 I1 = E1 I1 = E0 I1 = E3
1 0 I2 = E3 I2 = E2 I2 = E1 I2 = E0
1 1 I3 = E3 I3 = E2 I3 = E1 I3 = E0

Figura 4.9: Implementación del registro mediante multiplexores


4. Circuitos Combinacionales 48

4.5. Realizar a nivel de puertas un demultiplexor 1:2:

a) Basado en puertas AND


b) Basado en puertas NAND

Solución

a) Basado en puertas AND

b) Basado en puertas NAND

4.6. Realizar la sı́ntesis de una función de 4 variables a, b, c y d que tome el valor 1 cuando
el número de variables que están en estado 1 es superior al de las que se encuentran
en estado 0. Nunca puede haber más de tres variables en estado 1 simultáneamente. Para
ello, obtener la tabla de verdad, las expresiones mı́nimas de términos canónicos, y a partir
de ahı́, implementar el circuito:

a) Usando puertas NAND y NOR.


b) Empleando el multiplexor 74LS151 y las puertas lógicas que consideres necesarias.
c) Empleando el decodificador 74LS154 y las puertas lógicas que consideres necesarias.

Solución
4. Circuitos Combinacionales 49

a b c d F
0 0 0 0 0 0
1 0 0 0 1 0
2 0 0 1 0 0
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 1
8 1 0 0 0 0
9 1 0 0 1 0
10 1 0 1 0 0
11 1 0 1 1 1
12 1 1 0 0 0
13 1 1 0 1 1
14 1 1 1 0 1
15 1 1 1 1 0

f (a, b, c, d) = ābcd + ab̄cd + abc̄d + abcd¯

b
f:
d

0 0 0 0
0 1 5 4

0 0 1 0
c 2 3 7 6

0 1 0 1
a 10 11 15 14

0 0 1 0
8 9 13 12

a) Usando puertas NAND y NOR.

¯
f (a, b, c, d) = (ābcd)(ab̄cd)(abc̄d)(abcd)

f (a, b, c, d) = a + b̄ + c̄ + d¯ + ā + b + c̄ + d¯ + ā + b̄ + c + d¯ + ā + b̄ + c̄ + d
4. Circuitos Combinacionales 50

b) Empleando el multiplexor 74LS151 y las puertas lógicas que consideres necesarias.

Figura 4.10: Solución empleando el multiplexor 74LS151

c) Empleando el decodificador 74LS154 y las puertas lógicas que consideres necesarias.

Figura 4.11: Solución empleando el decodificador 74LS154

4.7. Analizar el circuito de la figura 4.12:

Solución

z = (ēc + ed)a + (ēc + ed)b


4. Circuitos Combinacionales 51

Figura 4.12: Multiplexores 2x1

4.8. Utilizando un decodificador ((4 a 16)) como bloque, puertas NAND e inversores, diseñar
un circuito lógico que tenga por entrada un número binario, N de 4 bits y que gobierne a
su salida una columna de 4 diodos LED (D1, D2, D3 y D4) de la forma siguiente:

Valor de N Diodos encendidos


0≤N≤3 D1
4≤N≤7 D1,D2
8≤N≤11 D1,D2,D3
12≤N≤15 D1,D2,D3,D4

Solución
Siempre que esté encendido un diodo, los de menor peso también lo deben de estar. Para
conseguir esto se llevan las salidas de mayor peso hacia las de menor peso para activar
los diodos inferiores.

Figura 4.13: Circuito decodificador que activa diodos


4. Circuitos Combinacionales 52

4.9. La información que produce un dispositivo digital son palabras de 16 bits en paralelo que
se pretende transformar en una única salida serie para su posterior transmisión.

a) Si se dispone de multiplexores 74LS151 y de un circuito contador de 4 bits. Diseñar


el sistema que realiza la conversión.
b) Si el contador está gobernado por una señal de frecuencia 1 MHz, ¿qué separación
temporal habrá entre los datos consecutivos de la linea serie que pertenezcan a la
misma entrada paralelo?

Solución

a) Diseñar el sistema que realiza la conversión.


La entrada al sistema son datos de 16 bits en paralelo. Por ello se realiza una am-
pliación del tamaño del multiplexor utilizando dos multiplexores de 8 entradas de
datos.

Figura 4.14: Circuito que transforma 16 bits en paralelo en una salida serie

b) ¿Cuál serı́a la frecuencia de los datos consecutivos de la linea serie que pertenezcan
a la misma entrada paralelo?
Si la frecuencia de la señal de reloj del contador es de 1Mz, su periodo, por tanto, es
de 1µs. Se necesitan 16 periodos de esta señal para señalizar completamente el dato
de entrada. Por ello la separación entre 2 datos consecutivos debe ser de 16µs.
4. Circuitos Combinacionales 53

4.10. Se dispone de un decodificador 3:8 (3 entradas y 8 salidas) con salidas activas a nivel alto,
que posee además una entrada de habilitación (G) activa a nivel alto. Además pueden
utilizar puertas NOR de dos entradas.

a) Obtener a partir de este decodificador un demultiplexor (una entrada y ocho salidas


con tres lı́neas de selección)
b) Si se desea que el multiplexor diseñado tenga una entrada de habilitación (activa a
nivel alto). Obténgase, usando las puertas NOR necesarias.
c) ¿Qué modificaciones realizarı́a en el diseño realizado, tras los dos apartados ante-
riores, si el decodificador hubiese tenido salidas activas a nivel bajo?

Solución

a) Obtener a partir de este decodificador un demultiplexor.


Para obtener un demultiplexor a partir del decodificador, se utiliza la entrada de
habilitación como entrada de datos del demultiplexor.

b) Obtener una entrada de habilitación en el multiplexor diseñado.


Para introducir una entrada de habilitación activa a nivel alto en el demultiplexor
se debe introducir por la entrada de habilitación del decodificador, teniendo ahora
doble función de entrada de datos (entrada D) y de habilitación del demultiplexor
(entrada E), debiendo cumplir la siguiente tabla.

D E G
0 0 0
0 1 0
1 0 0
1 1 1

G = E · D = Ē + D̄
4. Circuitos Combinacionales 54

c) ¿Qué modificaciones realizarı́a en el diseño realizado, tras los dos apartados ante-
riores, si el decodificador hubiese tenido salidas activas a nivel bajo?
Si la salida del decodificador es activa a nivel bajo, pero se desea que la salida del
demultiplexor sea activa a nivel alto basta introducir la señal D por la entrada de
enable invertida, es decir, introducir una puerta NOR conectada directamente a la
señal D.

4.11. Implementar las siguientes funciones:

¯ + a1a0
a) f (a1, a0) = a1 ¯

b) f (c, b, a) = abc̄ + āb̄c̄ + ab̄c


c) f (c, b, a) = āb̄ + āc + abc̄
d) f (z, y, x) = x + xz̄ + yz

a) Usando un multiplexor 4 a 1 (4 entradas con 2 lı́neas de selección y una salida) y los


inversores necesarios.
b) Empleando el decodificador 3:8 (3 entradas y 8 salidas) con salidas activas a nivel
alto y las puertas que consideres oportunas.

Solución

a) Usando un multiplexor (4 entradas con 2 lı́neas de selección y una salida) y los in-
versores necesarios.
La solución se muestra en la Fig. 4.15.
4. Circuitos Combinacionales 55

(a) (b) (c) (d)

Figura 4.15: Implementación de las funciones con multiplexores

b) Empleando un decodificador 3:8 (3 entradas y 8 salidas) con salidas activas a nivel


alto y las puertas que consideres oportunas.
La solución se muestra en la Fig. 4.16.

(a) (b) (c) (d)

Figura 4.16: Implementación de las funciones con decodificadores

4.12. Se pretende visualizar en los diplays la representación en código octal de dos dı́gitos
(unidades y octenas) correspondientes a un número A(0..3) de 4 bits codificado en binario
natural.

Solución

Se trata de realizar un cambiador de código de binario natural de 4 bits a octal de dos ci-
fras. La tabla siguiente representa el número de entrada en binario natural y las unidades
y octenas del número en octal de dos cifras.
Analizando la tabla y utilizando dos displays y conversores de código con las conexiones
oportunas se llegarı́a a visualizar el la información obtenida.
4. Circuitos Combinacionales 56

A3 A2 A1 A0 OCTENAS UNIDADES
0000 0000 0000
0001 0000 0001
0010 0000 0010
0011 0000 0011
0100 0000 0100
0101 0000 0101
0110 0000 0110
0111 0000 0111
1000 0001 0000
1001 0001 0001
1010 0001 0010
1011 0001 0011
1100 0001 0100
1101 0001 0101
1110 0001 0110
1111 0001 0111

4.13. Diseñar un circuito que ante dos entradas de cuatro bits (X e Y) presente a su salida (Z) el
menor de ambos. Para el diseño se emplearán comparadores de cuatro bits y multiplexo-
res de dos canales de cuatro bits cada uno.

Solución
Para detectar el menor de dos números de cuatro bits se emplea un comparador de 4 bits.
La salida > detecta que número X es mayor y se utiliza para seleccionar mediante un
multiplexor de dos entradas de longitud de palabra 4 bits. (Figura 4.17).

Figura 4.17: Circuito que selecciona el menor de dos números


4. Circuitos Combinacionales 57

4.14. Diseñar un circuito que permita introducir dos números decimales A y B y visualizar en
un display 7 segmentos el mayor de ellos. Si ambos resultaran iguales, no se visualizarı́a
nada.

Solución

Codificador de 10:4, codificar las entradas decimales a binario.


Comparador de 4 bits, comparar A y B utilizando A > B y A = B.
Elegir entre A y B según el valor de A > B:
• Si A es mayor que B, A > B = 1, entonces S=A.
• Si A no es mayor que B, A > B = 0, entonces S=B.
Cuádruple multiplexor 2:1.
Visualizar en un display de 7 segmentos la señal elegida, solo si A=B no se represen-
tará nada, esto se logra conectando la lı́nea A=B a la entrada BI.

Figura 4.18: Representa el mayor de dos números decimales

4.15. A partir de un comparador de 2 bits con la señal de habilitación, y si es necesario de


puertas lógicas, como elementos de diseño. Diseñar un comparador:

a) De 3 bits
b) De 5 bits

Solución
4. Circuitos Combinacionales 58

Figura 4.19: Comparador de 3 bits

a) De 3 bits
b) De 5 bits

Figura 4.20: Comparador de 5 bits


4. Circuitos Combinacionales 59

EJERCICIOS PROPUESTOS

1. Determinar la expresión de la función combinacional a la salida de estos 2 circuitos. De-


mostrar si ambos son equivalentes.

2. Dado el diagrama lógico de la figura:

a) Determinar la expresión booleana correspondiente a cada una de las funciones de


cuatro variables F y G.
b) Construir un diagrama lógico de dos niveles. Verificar si corresponde a la una im-
plementación mı́nima y si no lo es construirla.
c) Construir un diagrama lógico mı́nimo que use exclusivamente puertas NAND de
dos entradas.

3. Diseñar un circuito combinacional cuya entrada sea un número binario de tres bits N y
su salida el número binario Z (con el número de bit que sea necesario) tal que: Si N > 3,
entonces Z=N+1 y en caso contrario Z=N-1. Obtener un circuito mı́nimo y justificar que lo
es. Dibujar su diagrama lógico utilizando exclusivamente puertas NOR de dos entradas.
4. Circuitos Combinacionales 60

4. Diseñar un circuito digital mı́nimo para construir el bloque conversor de código binario
natural a código Gray y viceversa para palabras de tres bits que se especifica como sigue:
El sistema posee, además de las entradas de la palabra de código B, una entrada adicional
C tal que:

Si C=0 la palabra de salida S muestra el código Gray correspondiente al código bi-


nario natural de la entrada B.
Si C=1, la salida S muestra el código binario natural correspondiente al código Gray
de la entrada B.

5. Construir un circuito lógico en forma AND/OR, esto es, suma de productos, para con-
vertir un dı́gito BCD en un dı́gito BCD exceso a tres.

6. Para promocionar un nuevo producto farmacéutico, una empresa de marketing propone


el diseño de un sistema digital que realice un test para aconsejar, al potencial cliente, la
conveniencia o no del producto según los parámetros de edad, sexo, tipo de trabajo y
peso. El circuito de evaluación del test consiste en un sistema combinacional que ha de
realizarse siguiendo las siguientes especificaciones.
El producto resulta recomendable para:

Varones adultos con exceso de peso.


Personas con trabajo sedentario y exceso de peso.
Varones con trabajo activo y peso adecuado.
Mujeres con trabajo sedentario.
El producto no resulta recomendable para los niños.
El producto no es perjudicial en el resto de las situaciones.

a) Especificar dicho sistema indicando cuales serán sus variables binarias de entra-
da/salida y su significado.
b) Construir una tabla de verdad que recoja las especificaciones del sistema propuesto.
c) Obtener una expresión algebraica mı́nima para la función booleana que representa
al sistema y dibujar el correspondiente diagrama lógico.
d) Interpretar el significado de la expresión mı́nima resultante.

7. Se quiere diseñar un sistema digital combinacional que transforme un número binario


expresado en formato signo magnitud en el correspondiente numero binario expresado
en el convenio de complemento a dos. Si se sabe que el tamaño del campo de magnitud
de dicho número es 3 bits:
4. Circuitos Combinacionales 61

a) Determinar el rango de valores enteros con los que puede ser usado dicho sistema,
determinado por el numero de entradas y salidas necesarias.
b) Obtener la tabla de verdad que describe el comportamiento del sistema.
c) Obtener una expresión normalizada mı́nima para cada una de las funciones de sali-
da. Justificar por qué la expresión obtenida es mı́nima.

8. Un examen de Circuitos Lógicos consta de cinco preguntas numeradas del uno a cinco,
P(1:5). Para calificar dicho examen el profesor quiere disponer de un pequeño sistema
digital combinacional cuyo funcionamiento se especifica de la siguiente manera:

Para que el examen sea corregido en su totalidad será necesario haber respondido
correctamente a la pregunta P1. En caso contrario será calificado como Suspenso.
La calificación final (Suspenso, Aprobado, Notable, Sobresaliente, Matricula de Ho-
nor) se obtendrá tras evaluar el resto de preguntas, P(2:5) según el siguiente criterio:
• Para obtener al menos la calificación de Aprobado será necesario haber respon-
dido correctamente la pregunta P5 y al menos una de las tres restantes. O bien,
haber respondido correctamente las preguntas P2, P3 y P4.
• Para obtener al menos la calificación de Notable será necesario haber respondi-
do correctamente la pregunta P5 y al menos dos de las tres restantes. O bien, P5
y P2.
• Para obtener al menos la calificación de Sobresaliente será necesario haber res-
pondido correctamente las preguntas P5 y P3, y al menos una de las dos restan-
tes.
• Para obtener la calificación de Matricula de Honor será necesario haber respon-
dido correctamente todas las preguntas.
• En el caso de no alcanzar al menos la calificación de Aprobado, ésta será de
Suspenso.

a) Especificar dicho sistema empleando un número mı́nimo de variables binarias de


entrada/ salida y describir su significado.
b) Realizar un diseño en dos niveles obtenido a partir de expresiones booleanas mı́ni-
mas de las funciones de salida. Usar puertas lógicas del tipo y número de entradas
que sea necesario.
c) Realizar un diseño utilizando un multiplexor 8x1 con entrada de habilitación activa
a nivel bajo y un número mı́nimo de puertas lógicas. Justificar adecuadamente el
correcto funcionamiento del sistema.
4. Circuitos Combinacionales 62

9. Construir un circuito lógico minimizado para convertir un dı́gito BCD más un bit de
signo, a un número binario expresado en complemento a dos.

10. Diseñar un circuito combinacional que tenga como entradas dos números binarios de dos
bits A y B, y como salida un numero binario C; tal que:

C = A. Si A contiene más bits al valor lógico uno que B.


C = B. Si B contiene más bits al valor lógico uno que A.
C = 0. Si A y B contienen igual numero de bits al valor lógico uno.

Especificar el mı́nimo número de niveles de puertas lógicas necesarios para su construc-


ción.

11. Dibujar el esquema lógico de un multiplexor 4:1 para palabras de dos bits con una lı́nea
común de selección y una entrada de habilitación.

12. Implementar con un decodificador adecuado y la lógica externa necesaria las siguientes
funciones booleanas:

F 1 = (x̄ȳz̄ + xz)

F 2 = (xȳ z̄ + x̄y)

F 3 = (x̄ȳz + xy)

Implementar las funciones anteriores con un multiplexor adecuado.

13. Obtener el comportamiento del circuito mostrado a continuación.

14. Implementar la función F = M · C + A · C + A · B · M

a) Con un único decodificador y una única puerta lógica (ambos a su elección).


b) Utilizando únicamente dos multiplexores de 4 entradas de datos.

15. A partir del análisis del siguiente circuito comprobar el cronograma adjunto suponiendo
que las puertas no tienen retardo.
4. Circuitos Combinacionales 63

Q
16. Implementar la función F (x, y, w, z) = 4 (0, 1, 4, 6, 7, 8, 9, 12) utilizando únicamente el
multiplexor de la figura.

17. Analizar el circuito de la figura y obtener la expresión mı́nima como producto de suma de
la función F(A,B,C,D). Diseñar un circuito que implemente la misma función utilizando
únicamente puertas lógicos NOR.
4. Circuitos Combinacionales 64

18. Implementar un decodificador binario de 4 a 16 lı́neas con entrada de habilitación EN


activa en bajo. Se dispone de decodificadores binarios de 3 a 8 lı́neas (74LS138). Dibuje el
esquema del circuito diseñado realizando las conexiones necesarias entre los decodifica-
dores. No se puede utilizar puertas adicionales.

Figura 4.21: Sı́mbolo 74LS138

19. Implementar la siguiente función booleana:

X
F (a, b, c, d) = (0, 3, 5, 6, 8, 9, 14, 15)
4

a) Con multiplexores 8x1 y la lógica adecuada.


b) Con decodificadores 3:8 y puertas OR.

20. Encontrar la solución mı́nima de un circuito combinacional que tiene por entradas un
número codificado en BCD de 4 bits (x3,x2,x1,x0) y una señal de control (C). Si la señal de
control toma el valor cero y el número BCD es mayor o igual que 5 la salida vale uno y si
es menor que 5 la salida vale cero. Si la señal de control toma el valor uno y el número de
entradas es menor o igual que 5 la salida vale uno y si es mayor que 5 la salida vale cero.

21. Diseñar un codificador de prioridad de cuatro entradas, para el que la lı́nea D0 sea la más
prioritaria y D3 la menos. Obtener un circuito de dos niveles.

22. Diseñar, utilizando exclusivamente multiplexores, un circuito combinacional capaz de


realizar el complemento a 2 de un número de 3 bits o el complemento a 1 o dejarlo como
está en función de un par de señales S1 y S0 de la forma siguiente:

S0 S1 Función
0 0 N
0 1 Complemento a 2 de N
1 0 Complemento a 1 de N
1 1 Sin definir
4. Circuitos Combinacionales 65

23. El diagrama lógico de la figura corresponde a una realización de la función booleana


F(a,b,c,d,e). Obtener una expresión booleana mı́nima para F y justificar que lo es.

24. Basándonos en un comparador de cuatro bits en binario puro, diseñar un nuevo compa-
rador para números de 4 bits en complemento a 2. Para ello, además del comparador de
cuatro bits en binario puro indicado, se podrán utilizar otros módulos combinacionales
básicos y/o puertas lógicas.

25. El circuito de la Fig. 4.22 ha sido propuesto por un alumno como respuesta al siguiente
enunciado: Diseñar un sistema digital para comparar las magnitudes de dos números
binarios de dos bits A=A1A0 y B =B1B0. El circuito ha de poseer dos salidas Z e Y tales
que:

Z=1 e Y = 0 si A > B
Z=0 e Y = 1 si B > A
Z=Y=0 si A = B

a) Justificar si la respuesta del alumno es o no correcta; y, en su caso, modificar el diseño


propuesto para que sea correcto.
b) Obtener una expresión mı́nima para Z en forma de producto de sumas.
c) Realizar un diseño correcto de sistema utilizando el menor número posible de deco-
dificadores 3:8 y puertas OR de dos y tres entradas. Justificar su funcionamiento.
d) Realizar la función utilizando el menor número posible de multiplexores 2x1.

Figura 4.22: Circuito lógico propuesto


Capı́tulo 5

Circuitos Combinacionales Aritméticos

5.1. Un restador binario completo es un circuito que realiza la resta de una pareja de bits (m
y s) teniendo en cuenta la que se lleva (c′ ) de la pareja anterior de bits. En sus salidas
se obtiene dicha resta ó diferencia (d) y la que se lleva (c) de la pareja actual de bits. Se
pretende diseñar el restador binario completo para lo cual se pide:

a) Obtener la tabla de verdad del restador binario completo.


b) Escribir las expresiones simplificadas de d y c en forma de sumas de productos.
c) Realizar la función d empleando sólo puertas OR EXCLUSIVA de dos entradas.
d) Realizar la función c empleando un multiplexor de 4 entradas de datos.

Solución

a) Tabla de verdad del restador binario completo.


Si m=0, s=1 y c’=1 se tiene:
d = m − (s + c′ ) = 0 − (1 + 1) = 0 − 10 = 10 − 10 = 0 1
c=1

1
+=suma aritmética

66
5. Circuitos Combinacionales Aritméticos 67

Tabla de verdad:
m s c’ d c
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1

b) Simplificación por Karnaugh


m m
d c
c′ c′

0 1 0 1 0 1 0 0
0 1 5 4 0 1 5 4

s 1 0 1 0 s 1 1 1 0
2 3 7 6 2 3 7 6

c = ms + mc′ + sc′
Tablero de ajedrez −→ OR Exclusiva
d = msc′ + ms c′ + m sc′ + msc′
c) Realizar la función d con puertas OR EXCLUSIVA
d = msc′ +ms c′ +m sc′ +msc′ = (ms+ms) c′ +(m s+ms)c′ = (m⊕s)c′ +(m ⊕ s)c′ =
m ⊕ s ⊕ c′

d) Realizar la función c con un multiplexor de 4 entradas de datos


Un multiplexor de 4 entradas de datos (I0 , I1 , I2 , I3 ) tiene 2 entradas de control (S0
y S1 ).
5. Circuitos Combinacionales Aritméticos 68

La función del multiplexor:

z = I0 S 1 S 0 + I1 S 1 S 0 + I2 S 1 S 0 + I3 S 0 S 1 (5.1)

La función que hay que realizar:

c = ms + mc′ + sc′ (5.2)

Tomamos como entradas de control las variables m y s, es decir, S0 = m y S1 = s.


Desarrollamos la expresión (5.2) según los productos canónicos de m y s.

c = ms + mc′ + sc′ =
= ms + m(s + s)c′ + (m + m)sc′ =
= ms + msc′ + m sc′ + msc′ + msc′ =
= ms(1 + c′ + c′ ) + m sc′ + msc′ = ms + m sc′ + msc′ =
= c′ m s + 0 · ms + 1 · ms + c′ ms

Comparando las expresiones (5.1) y (5.3) tenemos: I0 = c′ ; I1 = 1; I2 = 0; I3 = c′

5.2. Diseñar un convertidor de código que pase números codificados en BCD AIKEN al códi-
go BCD NATURAL. Utilizar para su implementación solamente sumadores completos de
cuatro bits.

Solución

La tabla expresa la relación entre el código BCD NATURAL y el código BCD AIKEN.
5. Circuitos Combinacionales Aritméticos 69

DECIMAL B3 B2 B1 B0 A3 A2 A1 A0
0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1
2 0 0 1 0 0 0 1 0
3 0 0 1 1 0 0 1 1
4 0 1 0 0 0 1 0 0
5 0 1 0 1 1 0 1 1
6 0 1 1 0 1 1 0 0
7 0 1 1 1 1 1 0 1
8 1 0 0 0 1 1 1 0
9 1 0 0 1 1 1 1 1
De la tabla se deduce:

De 0 a 4 −→ Coinciden BCD Aiken con BCD natural


De 5 a 9 −→ BCD Aiken - BCD natural= 610 =01102 BCD natural=BCD Aiken + CA2(6)
−→ BCD natural=BCD Aiken + 1010

Ejemplo: 1011 (BCDAIKEN )+1010=0101(BCDN AT U RAL )


Conclusión:

De 0 a 4 hay que sumar 0 al BCD Aiken para obtener BCD natural.


De 5 a 9 hay que sumar 1010 al BCD Aiken par obtener BCD natural y despreciar el
acarreo.
Teniendo en cuenta que:
De 0 a 4: A3 =0
De 5 a 9: A3 =1
Utilizando un sumador completo de 4 bits.
5. Circuitos Combinacionales Aritméticos 70

5.3. Partiendo de un comparador, un sumador, un multiplexor y las puertas que considere


necesarias, realizar un circuito que haga la suma del número X de un bit (x1 ) con el mayor
de los dos números Y (y1 ) y Z (z1 ). Si los números Y y Z son iguales, el resultado ha de
ser igual al número X.

Solución

Si Y = Z → E=1 → S=X
Si Y > Z → E=0 → S=X+Y
Si Y < Z → E=0 → S=X+Z

5.4. Diseñar el circuito necesario (con puertas lógicas) para obtener, a partir de las salidas G y
P de circuitos 74391 o 74182, el último acarreo de un proceso de suma (Cn+4 )

Solución

En los circuitos 743381 y 47182 las salidas Ḡ y P̄ tienen la siguiente expresión:

Ḡ = G3 + G2P 3 + P 3P 2G1 + P 3P 2P 1G0

P̄ = P 3P 2P 1P 0
5. Circuitos Combinacionales Aritméticos 71

El siguiente acarreo, tras Cn+z serı́a;

Cn+4 = G3 + G2P 3 + G1P 3P 2 + G0P 3P 2P 1 + P 3P 2P 1P 0Cn = G + P Cn = ḠP Cn

La solución se representa en la siguiente figura:

5.5. Empleando dos sumadores de 4 bits, con entrada y salida de acarreo serie, realizar las
conexiones necesarias entre ellos para efectuar la suma (S) de dos números (A y B) de
7 bits codificados en complemento a dos. Para evitar el posible overflow se ha decidido
obtener el resultado de la suma de 8 bits.

a) Suponer que A=1110101 y B= 0110110, ambos ya codificados en complemento a dos.


¿Qué resultado se obtendrá a la salida?
b) Sin ninguna modificación en el circuito, se introducen los números A y B codificados
en complemento a uno por error (A=1110101 y B=0110110 ya en complemento a uno)
¿Cuál será en este caso el resultado a la salida?

Solución

Para obtener el resultado en 8 bits se amplia el bit de signo (a6 y b6). El acarreo producido
por los 4 bits de menor peso (suma de uno de los sumadores) debe propagarse hasta la
entrada del otro bloque sumador. (Figura 5.1)

Figura 5.1: Sumador de 8 bits


5. Circuitos Combinacionales Aritméticos 72

a) Suponer que A=1110101 y B= 0110110, ambos ya codificados en complemento a dos.


¿Qué resultado se obtendrá a la salida?
El acarreo suma bit a bit con acarreo inicial nulo. Ampliando el signo se obtiene.

b) Sin ninguna modificación en el circuito, se introducen los números A y B codificados


en C-1 por error (A=1110101 y B=0110110 ya en complemento a uno) ¿Cuál será en
este caso el resultado a la salida?
El circuito suma bit a bit, y como los operandos son idénticos a los del apartado
anterior, el resultado binario también será el mismo. Por tanto, dicho resultado no
es correcto ya que en complemento a 1 habrı́a que llevar el acarreo final a la entrada
de acarreo inicial.

5.6. En la entrada se dispone de un dı́gito BCD, si el número introducido es mayor o igual


que 5 se le suma 3, en caso contrario se le suma 2. Diseñar el circuitos lógico.

Solución

Figura 5.2: Circuito lógico que realiza la suma de dos dı́gitos BCD
5. Circuitos Combinacionales Aritméticos 73

5.7. Sean A y B dos números binarios de 4 dı́gitos. Diseñar el circuito aritmético que gene-
re la función F(A,B) = 2A + 3B. Debe utilizarse para ello el menor número posible de
componentes combinacionales estándar del número de bits que sea necesario

Solución

0b b  
b ...b 0
 

Peso 4 3 2 1 0
A: a a a a
   

B: b b b b
   

2A: a a a a 0
   
43210 43210
2B: b b b b 0
   
0
C1 SUMADOR C0

S4 S3 S2 S1 S0

0a a 0
 

543210 5 43210

C1 SUMADOR C0 0

6 5 4 3 2 1 0

S  S S S S S S
    

Figura 5.3: Circuito digital que realiza la función F(A,B) = 2A + 3B


5. Circuitos Combinacionales Aritméticos 74

EJERCICIOS PROPUESTOS

1. Construir un convertidor de código BCD natural → BCD exceso a 3 con sumadores pa-
ralelo de 4 bits. Convertir el circuito diseñado en un conversor BCD exceso a 3 → BCD
natural.

2. Implementar un sumador completo usando:

a) Un multiplexor 4x1 para la salida Ci+1


b) Un decodificador y una puerta OR para la salida Si

3. Usando sumadores y restadores, diseña un circuito que permita comparar dos números
naturales de 4 bits, y nos diga, mediante tres bits independientes, si A > B, A = B y
A < B.

4. Sea un sumador/restador paralelo de 4 bits. Sus entradas A[3..0] y B[3..0] son números
binarios sin signo, S[3..0] es su salida y C el bit de acarreo. Completar la siguiente tabla.

S/R A[3 . . . 0] B[3 . . . 0] C S[3 . . . 0]


0 0111 0110
1 1100 1001
0 1000 1001
1 0101 1010
1 0000 0001

5. Construir utilizando como bloques combinacionales módulos sumador/restador un cir-


cuito combinacional cuya entrada sean dos números binarios sin signo de cuatro bits y
una señal de selección S/R y su salida sea un numero binario expresado en formato signo
magnitud del tamaño necesario para evitar el desbordamiento en la suma.

6. Diseñar un sistema combinacional cuya entrada sea un numero decimal representado por
medio de dos dı́gitos BCD y que indique a la salida si dicho número es o no múltiplo de
tres.

7. Diseñar un circuito sumador/restador de 16 bits con acarreo paralelo, con un terminal


de control de selección de SUMA/RESTA, a partir de las ALU´s 74381 y 74382, del cir-
cuito generador de acarreo 74192 y de las puertas que sean necesarias. Se supone que los
números vienen representados según el convenio Ca2. Se desea, además, que el sistema
posea una señal de salida que advierta de los posibles desbordamientos.
5. Circuitos Combinacionales Aritméticos 75

Supónganse que al sistema diseñado se introducen dos números de 16 bits (A y B) siem-


pre positivos. Demuéstrese que, en este caso, al hacer la operación A-B, si se observa el
acarreo final, éste indica si A es mayor o menor que B (toma valor 1 en el primer caso y 0
en el segundo)¿Qué valor toma dicho acarreo si A=B?

8. Se desea realizar un sumador de dos números escritos en BCD con dos dı́gitos cada uno
que llamaremos A y B para el primer número (dı́gito más significativo es A y menos
significativo es B), y C y D para el segundo número (dı́gito más significativo es C y menos
significativo D). El resultado debe obtenerse en tres dı́gitos BCD, E, F y G . El sumador se
realizará conectando bloques de sumadores individuales de dos dı́gitos BCD con acarreo
de entrada y de salida.

9. Diseñar un sistema combinacional para calcular a = 1/2 · b − |c|, si los operandos y el


resultado tienen valores enteros en el rango [-31,31] y están representados en el sistema
complemento a uno. Incluir una señal de overflow.
Utilizar los siguientes componentes:

Un sumador de seis bits.


Las puertas lógicas que considere necesarias

10. Usando un único sumador de 4 bits, diseñar una ALU con salida out de 4 bits que, a partir
de 2 entradas de control S1 y S0, realizar las siguientes operaciones sobre dos números A
y B de 4 bits:

a) S1=0, S0=0: Out=A+B


b) S1=0, S0=1: Out=A-B
c) S1=1, S0=0: Out=A
d) S1=1, S0=1: Out=-A

Para el diseño debes usar únicamente un sumador con propagación de acarreo de 4 bits
y las puertas lógicas que consideres necesarias
Añadir a la ALU diseñada en el apartado anterior la lógica necesaria para calcular los
siguientes bits de condición:

O ′ : Overflow si los números de entrada son naturales.


O: Overflow si los números de entrada son enteros.
N: Signo si los números de entrada son enteros. N=1 si el resultado de la operación
es negativo, y cero en caso contrario.
Z: Z=1 si el valor de Out es 0, y vale 0 en caso contrario.
Capı́tulo 6

Sistemas Secuenciales: Biestables

6.1. Una báscula SR construida a partir de puertas NAND se muestra en la Fig. 3d. Determinar
los niveles lógicos en los puntos a, b, y c bajo las siguientes condiciones:

a) S=0, R=0 y Q=0.


b) Como en el apartado anterior, pero S cambia de 0 a 1.
c) S=0, R=0 y Q=1. R cambia de 0 a 1.

Figura 6.1: Báscula SR

Solución

a) S=0, R =0 y Q =0.
a=1, c=1 y b = aQ̄ = 0
b) Como en el apartado anterior, pero S cambia de 0 a 1.
a=0, c=1 y b = aQ̄ = 1

76
6. Sistemas Secuenciales: Biestables 77

c) S=0, R=0 y Q=1. R cambia de 0 a 1.


a=1, c = 1 −→ c = 0 y b = aQ̄ = 1 · 1 = 0

6.2. Obtener las tablas de verdad de los siguientes circuitos e indicar su función.

a) Biestable RS activado por flanco de subida donde S=X y R = X̄.


b) Biestable JK activo por flanco de bajada de CLK. Dispone de entradas preset y clear
ası́ncronas activas a nivel alto y J=K=X.
c) Biestable JK activo por flanco de bajada con entradas ası́ncronas de preset (activa a
nivel alto) y clear (activa a nivel alto).
d) Biestable D realimentado con la salida Q̄.

Solución

a) Biestable RS activado por flanco de subida donde S=X y R = X̄ (Biestable D).

CLK x Qt+1 Q′t+1


↑ L L H
↑ H H L

b) Biestable JK activo por flanco de bajada de CLK. Dispone de entradas preset y clear
ası́ncronas activas a nivel alto y J=K=X.

CLR PR CLK x Qt+1 Q′t+1


L H X X H L
H L X X L H
H H X X No deseado
L L ↓ L L H
L L ↓ H H L
6. Sistemas Secuenciales: Biestables 78

c) Biestable JK activo por flanco de subida con entradas ası́ncronas de preset (activa a
nivel alto) y clear (activa a nivel alto).

CLR PR CLK x Qt+1 Q′t+1


L H X X H L
H L X X L H
H H X X No deseado
L L ↑ L Qt Q′t
L L ↑ H Q′t Qt

d) Biestable D realimentado con la salida Q̄. Cada vez que llegue un flanco de subida
por la señal X la salida del biestable pasará a valer Qt+1 = Q̄t .

CLR PR x Qt+1 Q′t+1


L H X H L
H L X L H
H H X No deseado
L L ↑ Q′t Qt
6. Sistemas Secuenciales: Biestables 79

6.3. Dados los biestables de las figuras completar el cronograma adjunto a partir de la evo-
lución de las entradas dadas, suponiendo que todos los elementos son ideales (todas las
caracterı́sticas temporales son nulas).

Solución

a)

CLK

PR

CLR

b)

CLK

PR

CLR

c)

CLK

PR

CLR

Q
6. Sistemas Secuenciales: Biestables 80

d)

CLK

PR

CLR

6.4. En el circuito de la figura 6.2 donde los biestables D son Master-Slave considerando que
inicialmente todos los biestables están puestos a 1 (Q=1), y que tienen un tiempo no nulo,
se pide completar el cronograma respecto de la evolución del reloj en los puntos A, B y C
del circuito.

Figura 6.2: Circuito formado por dos biestables D

Solución

CLK

6.5. Se tienen dos biestables D, interconectados como se indica en la figura 6.3.


Retardo de un biestable D=20ns
6. Sistemas Secuenciales: Biestables 81

Figura 6.3: Circuito formado por dos biestables D con la misma señal de reloj

Tiempo de establecimiento (tsep−up ) = 5ns


Retardo de una puerta = 10ns

a) Suponiendo que los restardos son despreciables frente a la anchura de impulsos y


que inicialmente Q1=Q2=0, dibujar las formas de onda que se tendrán en Q1 y Q2,
en respuesta a la señal de reloj indicada.
b) Teniendo en cuenta los retardos y tiempos de establecimiento, calcular la máxima
frecuencia de la onda cuadrada que puede aplicarse a la entrada de reloj, sin que el
funcionamiento del circuito sea incorrecto.

Solución

a) Las ecuaciones excitación de los biestables D son:

D1 = Q1Q2 + Q1Q2 = Q1 ⊕ Q2

D2 = Q2

Se obtiene la siguiente tabla:


6. Sistemas Secuenciales: Biestables 82

CLK D1 D2 Q1t+1 Q2t+1


↑ 0 1 0 1
↑ 1 0 1 0
↑ 1 1 1 1
↑ 0 0 0 0
↑ 0 1 0 1
↑ 1 0 1 0
↑ 1 1 1 1
↑ 0 0 0 0
↑ 0 1 0 1

CLK

Q1

Q2

b) La máxima frecuencia de la onda cuadrada que puede aplicarse a la entrada de re-


loj, sin que el funcionamiento del circuito sea incorrecto, se calcuları́a a partir de la
excitación de D1 es a través de 2 puertas:

Tmin = tpb + 2tpp + tsu = 45ns

fmax = 1/Tmin = 1/45ns = 22,2M Hz

6.6. Determinar la evolución de las salidas Q1 y Q2 para los siguientes circuitos (figuras 6.4 y
6.5). Se supondrá que ambos biestables son activos por flanco y que todas las caracterı́sti-
cas temporales son nulas. Se parte de la situación Q1=Q2=0.

Solución

a) En ambos biestables se cumple que D = Q̄ por lo que cada vez que se produce un
flanco de subida en su entrada de reloj estos cambian de estado. El biestable de la
izquierda cambia con la señal de reloj y el de la derecha con los flancos de subida de
la señal Q1. Por lo tanto se debe empezar por la señal Q1 y a partir de esta Q2.
6. Sistemas Secuenciales: Biestables 83

Figura 6.4: Circuito A

CLK

Q1

Q2

Figura 6.5: Circuito B

b) En este caso, en el biestable de la izquierda se cumple que D = Q̄, y cambia en el


flanco de subida del CLK, en el de la derecha D=Q1, y cambia en cada flanco de
bajada de CLK.

CLK

Q1

Q2

6.7. El circuito de la figura 6.6 consta de un biestable D y un biestable JK Master-Slave de


caracterı́sticas ideales. Para las señales de entrada especificadas completar el cronograma
que se adjunta.

Solución
6. Sistemas Secuenciales: Biestables 84

Figura 6.6: Circuito a analizar compuesto por 2 biestables

El primer biestable, tipo D, toma el dato que tiene en su entrada y lo carga en la salida S1,
coincidiendo con cada flanco de subida de la señal del reloj. En el segundo biestable JK,
J=K=S1, conmutarán de estado si S1=1 y mantendrán el estado anterior si S1=0, siempre
durante los flancos de bajada.

CLK

PR

CLR

Q1

Q2

6.8. El circuito de la figura 6.7 es un contador de código Johnson modificado, formado por 3
flip.plops J-K activos en le flanco de subida de la señal CLK de caracterı́sticas ideales. Si
inicialmente se supone que Q0=Q1=Q2=0, completar el diagrama de tiempos de funcio-
namiento.

Figura 6.7: Contador código Johnson modificado


6. Sistemas Secuenciales: Biestables 85

Solución
La solución se muestra en la siguiente figura:

CLK

Q0

Q1

Q2

6.9. Dado el circuito secuencial de la figura 6.8 que integra dos flip-flops tipo D de carac-
terı́sticas ideales disparados por flanco de subida con preset y clear, y suponiendo que
inicialmente el circuito parte de un reset QA=QB=0, completar el siguiente cronograma.

Figura 6.8: Circuito secuencial formado por biestables D

Solución
La solución se muestra el la siguiente figura:

CLK

QA

QB

6.10. Dado el circuito de la figura 6.9, construida a partir de biestables JK activados en el flanco
ascendente, suponiendo que sus caracterı́sticas temporales son nulas, se pide:
6. Sistemas Secuenciales: Biestables 86

Figura 6.9: Circuito secuencial a analizar compuesto de biestables T

a) Representar el diagrama de tiempos Q0, Q1, Q2, Q3 y C.


b) Indicar la función que realiza el circuito.

Solución

a) La evolución temporal de las diferentes salidas es la indicada en la figura ??

CLK

Q0

Q1

Q2

Q3

b) Indicar la función que realiza el circuito.


Se trata de un contador de 4 bits con acarreo final C.
6. Sistemas Secuenciales: Biestables 87

EJERCICIOS PROPUESTOS

1. Completar el cronograma que correspondiente al circuito descrito a la figura. Inicialmen-


te, suponer que la salida Q vale zero.

2. Convertir un flip-flop D en un flip-flop JK añadiendo la lógica externa adecuada.

3. Convertir un flip-flop D en un flip-flop T añadiendo la lógica externa adecuada.

4. Convertir un flip-flop T en un flip-flop JK añadiendo la lógica externa adecuada.

5. Convertir un flip-flop T en un flip-flop D añadiendo la lógica externa adecuada.

6. Un biestable JN tiene dos entradas, J y N. J se comporta de manera idéntica a la entrada J


de un biestable JK, N se comporta como la entrada K complementada de un biestable JK.

a) Escribir su tabla caracterı́stica.


b) Escribir su tabla de excitación.
6. Sistemas Secuenciales: Biestables 88

7. Dado un hipotético flip-flop PK definido por la ecuación de transición siguiente:

Q = P̄ K̄ + q P̄ + P K q̄

Obtener:

a) Su tabla de excitación.
b) Implementarlo utilizando un flip-flop JK y la lógica adecuada.

8. Analizar el siguiente circuito secuencial. Además del análisis, completar el cronograma


adjunto suponiendo que todos los elementos son ideales (en el sentido de que todas las
caracterı́sticas temporales son nulas).

9. Analizar el siguiente circuito y completar el cronograma adjunto (en el caso de que al-
gunas señales internas no estén inicializadas en el cronograma, tomar el valor bajo como
valor inicial).

10. Completar las formas de onda para un elemento de memoria tipo D:

a) Transparente
b) Latch sensible al nivel alto
c) Flip-flop disparado por la transici.n de subida.

Los biestables tendrán las siguientes caracterı́sticas temporales, según corresponda:


6. Sistemas Secuenciales: Biestables 89

tsetup = 1ns.
thold = 2 ns.
tw = 3 ns.
Capı́tulo 7

Sistemas Secuenciales: Registros y


Contadores

7.1. Un contador binario como el de la Fig. 7.1 está formado por Flip-flops y puertas lógicas
cuyas caracterı́sticas son:

Tiempo de propagación de las salidas desde el flanco activo: 20 ns


Tiempo de set-up: 5 ns
Tiempo de hold: 5 ns.
Puertas lógicas: Tiempo de propagación: 10 ns

Figura 7.1: Contador binario

¿Funcionarı́a este circuito correctamente con una señal de reloj de 1MHz? En caso de
contestar afirmativamente a la pregunta, calcule cuál serı́a la frecuencia máxima de fun-
cionamiento de este circuito.

Solución

90
7. Sistemas Secuenciales: Registros y Contadores 91

El circuito funcionarı́a correctamente. Su frecuencia máxima de funcionamiento serı́a:


1
f max = = 200M Hz
Tset−up + Thold + 2 ∗ T ppuerta + tpbble

7.2. Indicar cuál es el módulo de los contadores siguientes realizados con el registro de des-
plazamiento 74195 (Figura 7.2).

(a) (b)

(c) (d)

Figura 7.2: Contadores realizados con el registro de desplazamiento 74195


7. Sistemas Secuenciales: Registros y Contadores 92

Solución:
Una aplicación de los registros de desplazamiento es la de realizar contadores cuyas sa-
lidas representan códigos distintos del binario. Un contador tiene módulo M cuando sus
salidas presentan M combinaciones distintas.

a) En este caso las entradas del registro toman los siguientes valores:
CLR: Esta entrada está unida a un circuito RC que hace que al conectar el circuito a
la alimentación se genere un 0 en el instante inicial y posteriormente se tendrá un 1
de forma permanente. Los valores de las distintas entradas son:

J = QD

S/L̄ = 1

K̄ = QC QD

A=B=C=D=1

Por tanto cada flanco de reloj produce un desplazamiento de los datos de salida
(QA −→ QB −→ QC −→ QD ). Teniendo en cuenta que la entrada J es activa a nivel
alto y K a nivel bajo y que QA es función de J y K, los valores que toman las salidas
QA , QB , QC y QD en función de la señal de reloj (CLK) es la que se indica en la
siguiente tabla, resultando un contador de módulo 8.

RELOJ J /K QA QB QC QD Función que se realiza


Inicio ... ... 0 0 0 0 Clear inicial (CLR=0)
↑ 1 1 1 0 0 0 Set QA
↑ 1 1 1 1 0 0 ”
↑ 1 1 1 1 1 0 ”
↑ 1 1 1 1 1 1 ”
↑ 0 0 0 1 1 1 Reset QA
↑ 0 0 0 0 1 1 ”
↑ 0 0 0 0 0 1 ”
↑ 0 1 0 0 0 0 Mantenimiento QA
↑ 1 1 1 0 0 0 Set QA
... ... .. ... ... ... ... ...
7. Sistemas Secuenciales: Registros y Contadores 93

b) En este caso las entradas del registro toman los siguientes valores:
CLR: Al igual que en el caso anterior el circuito RC hace que al conectar el circuito a
la alimentación se genere un 0 en el instante inicial y posteriormente se tendrá un 1
de forma permanente. En este caso se cumple:

J = K̄ = QC

S/L̄ = QD

A = QC

B=D=0

C = QC

En función del valor de QD se producirá desplazamientos ó se almacenará el valor


de la entradas (téngase presente que S/L̄ = QD ). Los valores que toman las salidas
QA , QB , QC y QD en función de la señal de reloj (CLK) es la que se indica en la
siguiente tabla, resultando un contador de módulo 6.

RELOJ J /K QA QB QC QD Función que se realiza


Inicio ... ... 0 0 0 0 Clear inicial (CLR=0)
↑ 1 1 1 0 0 0 Set QA
↑ 1 1 1 1 0 0 ”
↑ 1 1 1 1 1 0 ”
↑ 0 0 0 1 1 1 Reset QA
↑ 0 0 0 0 1 0 Load
↑ 0 0 0 0 0 1 Reset QA
↑ 0 0 1 0 0 0 Load
↑ 1 1 1 1 0 0 Set QA
... ... .. ... ... ... ... ...
c) En este caso las entradas del registro toman los siguientes valores:
CLR: Idem apartados anteriores.

J = QC

K̄ = QB QC

S/L̄ = 1

A=B=C=D=1
7. Sistemas Secuenciales: Registros y Contadores 94

Por tanto, K teniendo en cuenta que S/L̄ = 1, cada flanco de reloj produce un des-
plazamiento de los datos de salida. Los valores que toman las salidas QA , QB , QC
y QD en función de la señal de reloj (CLK) es la que se indica en la siguiente tabla,
resultando un contador de módulo 6.

RELOJ J /K QA QB QC QD Función que se realiza


Inicio ... ... 0 0 0 0 Clear inicial (CLR=0)
↑ 1 1 1 0 0 0 Set QA
↑ 1 1 1 1 0 0 ”
↑ 1 1 1 1 1 0 ”
↑ 0 0 0 1 1 1 Reset QA
↑ 0 0 0 0 1 1 ”
↑ 0 1 0 0 0 1 Mantenimiento QA
↑ 1 1 1 0 0 0 Set QA
↑ 1 1 1 1 0 0 ”
... ... .. ... ... ... ... ...

d) En este caso las entradas del registro toman los siguientes valores:
CLR: Idem apartados anteriores.

J = QD

K̄ = QD

A=B=C=D=0

Al conectar la alimentación se produce le borrado de las salidas del circuito, y a


continuación se desactiva la señal CLR. El modo desplazamiento está activado (ya
que S/L=H). El modo de desplazamiento depende del nivel de las señales J y K, las
cuales están conectadas a las salidas QD y a su complementaria respectivamente,
por lo que solamente se podrán dar dos combinaciones, HL o LH. La evolución se
muestra en la siguiente tabla, siendo su módulo 15.
7. Sistemas Secuenciales: Registros y Contadores 95

RELOJ J /K QA QB QC QD Función que se realiza


Inicio 1 0 0 0 0 0 Clear inicial (CLR=0)
↑ 1 0 1 0 0 0 Inversión de QA
↑ 1 0 0 1 0 0 ”
↑ 1 0 1 0 1 0 ”
↑ 1 0 0 1 0 1 ”
↑ 0 1 0 0 1 0 Mantiene QA
↑ 1 0 1 0 0 0 Inversión de QA
↑ 0 1 1 1 0 0 Mantiene QA
↑ 1 0 0 1 1 0 Inversión de QA
↑ 1 0 1 0 1 1 ”
↑ 0 1 1 1 0 1 Mantiene QA
↑ 0 1 1 1 1 0 ”
↑ 1 0 0 1 1 1 Inversión de QA
↑ 0 1 0 0 1 1 Mantiene QA
↑ 0 1 0 0 0 1 ”
↑ 0 1 0 0 0 0 ”

7.3. Diseñar un contador ası́ncrono activo por flancos ascendentes cuya secuencia sea 0, 1, 2,
3, 4, 5, 0, . . . Completar el cronograma correspondiente sin tener en cuenta los tiempos de
retardo.

Solución:

Figura 7.3: Contador ası́ncrono 0, 1, 2, 3, 4, 5, 0, . . .

Se conectan cuatro J-K ası́ncronamente para obtener un contador ascendente de módulo


8. Se decodifica el primer estado no deseado, 110: Q2Q1Q0 y por último se conecta la
7. Sistemas Secuenciales: Registros y Contadores 96

salida de la NAND a los CLEAR de los J-K. Otra posible solución más optimizada, serı́a
utilizar una NAND de dos entradas, con Q2 y Q1 para decodificar el 6, puesto que la señal
Q0 no serı́a estrictamente necesaria (Fig. 7.3). Se pretende que el contador cuente hasta
el primer estado no deseado, 6 (110), en cuyo caso se fuerza el valor 0 en el contador. El
contador llega a tomar este estado durante un breve instante tiempo hasta que es activado
el CLEAR de los JK. A este comportamiento indeseado y transitorio se le llama glitch.

7.4. Realizar a partir de circuitos contadores 74HC163 un contador binario de 12 bits.

a) Ampliándolo de forma sı́ncrona.


b) Ampliándolo de forma ası́ncrona.

Nota: La ampliación deberá realizarse por medio de las señales de Reset y Load.

Solución:
Como el CI 74163 es un contador de 4 bits, para conseguir un contador de 12 bits en los
dos casos planteados se deben utilizar 3 módulos.

a) Ampliándolo de forma sı́ncrona.


En este caso hay que unir las tres entradas de reloj (CLK) de cada uno de los circuitos
integrados 74163, las entradas ENP y ENT del contador, cuyas salidas son los bits de
menor peso del contador global, se deben poner a nivel alto, mientras que las de los
otros circuitos deben ir unidas a la salida RCO (Ripple Carry Output) del contador
que le precede en peso. Si se pretende tener una única entrada de CLR y LOAD se
deben unir las de los tres circuitos integrados. La solución se muestra en la Fig. 7.4.
b) Ampliándolo de forma ası́ncrona.
Para obtener un contador ası́ncrono la señal de reloj (CLK) se aplica a la entrada CLK
del módulo de menor peso y la salida RCO de éste a la entrada CLK del siguiente
y ası́ sucesivamente. Sólo hay que tener presente, para el correcto funcionamiento,
que si la entrada CLK es activa en el flanco de subida, la salida RCO debe ser activa
a nivel bajo, en caso contrario hay que introducir un inversor en la unión de ambos
terminales. En la ampliación ası́ncrona no se utilizan los terminales de entrada ENP
y ENT, por lo tanto hay que elevarlas al nivel lógico en que se inhabilitan. Al igual
que en el caso de ampliación sı́ncrona si se pretende tener una única entrada de CLR
y LOAD se deben unir las de los tres circuitos integrados. La solución se muestra en
la Fig. 7.6.
7. Sistemas Secuenciales: Registros y Contadores 97

Figura 7.4: Ampliación sı́ncrona

Figura 7.5: Ampliación ası́ncrona

7.5. Diseñar un contador un contador módulo (85)10 a partir del contador 7490.

Solución:

El diseño de un contador módulo 85, se obtiene modificando el contador módulo


100, para lo cual se escribe el equivalente BCD del valor del módulo, en este caso
8510 =1000 0101BCD , y se detecta a través de una puerta AND, para eso se realimentan
las salidas que generan los unos del número BCD obtenido, en este caso: QD de las de-
cenas, QC y QA de las unidades. La conexión con la puerta OR sirve para reiniciar el
circuito al conectar la alimentación.
7. Sistemas Secuenciales: Registros y Contadores 98

Figura 7.6: Contador de módulo 85

7.6. A partir de un registro 74LS194 de desplazamiento se ha diseñado un contador como el


indicado en la siguiente figura. Completar la tabla de evolución de los estados del conta-
dor tras los ocho primeros ciclos de reloj indicando en módulo del contador obtenido.

Figura 7.7: Registro 74LS194

Solución:
7. Sistemas Secuenciales: Registros y Contadores 99

El circuito de la figura partirá del código cero debido a que al conectar la alimentación la
red RC forzará el borrado de las salidas. A continuación , dado que S1=H y S0=QA, las
únicas operaciones que pueden tener lugar son la de carga S1 S0 = H H) o la de desplaza-
miento a izquierda (S1 S0 =H L). En el caso de la carga dato que se almacena será el 0, que
es el dato fijado en las cuatro entradas (A=B=C=D=L) y en el desplazamiento a izquierda,
se introduce el dato por el terminal SL, que en este caso es un nivel alto (H).

ESTADO QA QB QC QD Función que se realiza


conexión alimentación L L L L Clear inicial (CLR=0)
↑ L L L H Desplazamiento a izquierda
↑ L L H H Desplazamiento a izquierda
↑ L H H H Desplazamiento a izquierda
↑ H H H H Desplazamiento a izquierda
↑ L L L L Carga
↑ L L L H Desplazamiento a izquierda
↑ L L H H Desplazamiento a izquierda
↑ L H H H Desplazamiento a izquierda

7.7. Utilizando el contador 74LS161, sabiendo que la señal de clear (CLR) es ası́ncrona, y la de
LOAD sı́ncrona, se desea diseñar un contador que siga la secuencia: 3,4,5, . . . , 11,12,3,4,
...
Notas:

Todos los códigos generados deben tener la misma duración.


Cuando se conecte la alimentación, la cuenta se debe iniciar con el código 3.

Solución:

Dado que la secuencia se debe iniciar con el código 3, al conectar la alimentación se debe
provocar la carga de dicho código, lo cual se conseguirá con una red RC, lo cual se con-
seguirá con una red RC que mantenga activa la señal de LOAD inicialmente un tiempo
suficiente para que se produzca un flanco de subida de la señal de reloj. Por tanto, hay
que diseñar un circuito, en que la señal de carga, que genere un nivel bajo al conectar la
7. Sistemas Secuenciales: Registros y Contadores 100

alimentación y al detectar el código 12 en las salidas del contador. Las señales de habili-
tación deberán estar conectadas a nivel alto para permitir la cuenta y la de borrado, CLR,
se llevará a este mismo nivel para que permanezca inactiva. La solución se muestra en la
Fig. 7.8

Figura 7.8: Contador que sigue la secuencia: 3,4,5, . . . , 11,12,3,4, . . .


7. Sistemas Secuenciales: Registros y Contadores 101

EJERCICIOS PROPUESTOS

1. Diseñar un sistema obtener la siguiente secuencia:


1000 0100 0010 0001
Para ello se dispone de un registro de desplazamiento universal igual al 74194 y un bies-
table tipo D con entrada de clear ası́ncrona a nivel bajo y la lógica adicional que considere
necesaria. El sistema se supone que inicialmente esta en 0000. Una vez que llega una señal
ası́ncrona de duración inferior a un ciclo de reloj, en el primer flanco de subida del ciclo
de reloj se carga el valor 1000 en el registro. A partir del segundo flanco de subida del reloj
el circuito funciona como se pide. Si posteriormente se vuelve a actuar la señal ası́ncrona,
el circuito vuelve a hacer lo ya explicado.

2. A partir del siguiente circuito:

a) Dibujar el diagrama de tiempos de (Q2,Q1,Q0) y de Clear.


b) Calcular el retardo más largo desde el flanco de disparo hasta que el contador al-
canza un determinado estado. Especificar para que estado (estados) se produce ese
caso.
c) Si el contador fuera sı́ncrono, ¿cuál serı́a el retardo más largo?

3. Diseñar un contador sı́ncrono utilizando biestables J-K que efectúe las siguientes se-
cuencias de conteo: 0, 2, 3, 0, 2, 3, . . . cuando el valor de una variable auxiliar C = 1, y
3, 2, 0, 3, 2, 0, . . . cuando el valor de C = 0.

4. Diseñar usando flip-flops D un contador sı́ncrono que realice la siguiente secuencia bina-
ria.

0− > 1− > 2− > 4− > 6− > 0


7. Sistemas Secuenciales: Registros y Contadores 102

5. Diseñar un contador sı́ncrono módulo 12 utilizando puertas NOR y:

a) Biestables T
b) Biestables SR
c) Biestables JK
d) Biestables D

6. Determinar de forma razonada la secuencia de estados por los que pasa el contador
74LS169 de la figura 7.9. Suponga que el contador comienza en el estado 7 (0111). De-
termine la frecuencia máxima de trabajo del circuito.
DATOS: tSU (/LD) = 25ns tP max(/RCO) = 35ns tSU (U/D) = 30ns tpmax(Q) = 32ns
tSU (DAT A) = 20ns tP max(IN V ) = 15ns

Figura 7.9: CI 74LS169

Figura 7.10: Cronograma del CI 74LS169.


7. Sistemas Secuenciales: Registros y Contadores 103

7. Diseñar un contador sı́ncrono de 3 bits que funcione de la forma siguiente:


Dispone de 2 señales de control: ENABLE y MODE

Si ENABLE=1 el contador funciona según la señal MODE.


Si ENABLE=0 el contador para la cuenta y se pone la salida a valor 0.
Si MODE=0 es un contador según: 1,3,7,6,4,1,....
Si MODE=1 es un contador según: 1,4,6,7,3,1,....

8. Se dispone del circuito de la figura:

a) Obtener la máxima frecuencia de funcionamiento de dicho circuito suponiendo los


siguientes valores de temporización. tpAN D = 1,5ns; tpN AN D = 1ns; tpXOR = 1,5ns;
tpf f D = 1ns; tsetupf f D = 2ns
b) Obtener justificadamente el máximo tiempo de hold (tholdmax ) del biestable para un
correcto funcionamiento del circuito.
c) Obtener justificadamente la probabilidad de que el circuito de la figura no funcione
correctamente si utilizamos una frecuencia de reloj CLK de 125 MHz, suponiendo
que las entradas A y B pueden cambiar aleatoriamente en el tiempo con una distri-
bución uniforme. Indique claramente los motivos de fallo sobre un cronograma.

9. Convertir el código binario, de longitud de palabra 4 bits, a su código Gray correspon-


diente, y diseñar un contador utilizando biestables JK y puertas NAND para generar este
código.

10. En el sistema que aparece a continuación se ha utilizado un contador 74LS190 cuyo fun-
cionamiento se describe mediante los cronogramas que se adjuntan (figura 7.11).

a) A partir de dicha información representar en un cronograma la secuencia que sigue


la salida del sistema Q[3...0], junto con la evolución de las señales TOGGLE y DIR.
7. Sistemas Secuenciales: Registros y Contadores 104

b) Indicar razonadamente cuál es el módulo del contador implementado en el sistema,


no el del 74LS190.

Figura 7.11: Descripción de funcionamiento del CI 74LS190


Capı́tulo 8

Sistemas Secuenciales: Diseño

8.1. Diseñar e implementar el autómata de Mealy capaz de detectar tres ó más unos consecu-
tivos en la lı́nea de entrada E.

Solución:

Diagrama de transición de estados:

1/1
0/0

1/0 1/0

q0 q1 q2
0/0
0/0

Se comenzarı́a por el estado q0 , y por tanto todavı́a no se ha recibido ninguna entrada. El


primer bit recibido puede ser un 0 ó un 1, ¿avanza, regresa ó se queda?

Con un 0, se queda esperando. La salida es un cero.


Con un 1 avanza. Se crea un nuevo estado, q1 , y la salida es 0.

Estando en q1 la entrada puede ser 0 ó 1, ¿avanza, regresa ó se queda?

Con un 0, regresa a q0 . La salida es un cero.

105
8. Sistemas Secuenciales: Diseño 106

Con un 1 avanza. Se crea un nuevo estado, q2 , y la salida es 0.

Estando en q2 la entrada puede ser 0 ó 1, ¿avanza, regresa ó se queda?

Con un 0, regresa a q0 . La salida es un cero.


Con un 1 ocurren dos cosas. Por un lado ya se han recibido tres 1, hay que poner la
salida a 1. Pero además hay qué decidir cuál es el nuevo estado. Como se permite el
solapamiento, el nuevo estado ha de ser el q2 , ası́ si recibe otra entrada a 1, la salida
se volverá a poner a 1. No son necesarios otros tres 1, valen los dos últimos 1 de la
anterior secuencia.

Tabla de transición de estados y salidas:

Q(t+1)/Z
Q(t) Entrada
0 1
q0 q0 /0 q1 /0
q1 q0 /0 q2 /0
q2 q0 /0 q2 /1

Tabla de codificación de estados:

Q1 Q0
q0 00
q1 01
q2 10
x 11

Con esta asignación tenemos:

Q(t+1)/Z
Q(t) Entrada
0 1
q0 00/0 01/0
q1 00/0 10/0
q2 00/0 10/1
q3 XX XX
8. Sistemas Secuenciales: Diseño 107

Tabla de excitación de biestables:

E Q1(t) Q0(t) Q1(t+1) Q0(t+1) J1 K1 J0 K0 S0


0 0 0 0 0 0 X 0 X 0
0 0 1 0 0 0 X X 1 0
0 1 0 0 0 X 1 0 X 0
0 1 1 X X X X X X X
1 0 0 0 1 0 X 1 X 0
1 0 1 1 0 1 X X 1 0
1 1 0 1 0 X 0 0 X 1
1 1 1 X X X X X X X

E E E
J1 K1 J0
Q0 Q0 Q0

0 0 1 0 X X X X 0 X X 1
0 1 5 4 0 1 5 4 0 1 5 4

Q1 X X X X Q1 1 X X 0 Q1 0 X X 0
2 3 7 6 2 3 7 6 2 3 7 6

E E
K0 S0
Q0 Q0

X 1 1 X 0 0 0 0
0 1 5 4 0 1 5 4

Q1 X X X X Q1 0 X X 1
2 3 7 6 2 3 7 6

Tras simplificar por Karnaugh:


J1 = E · Q0 K1 = E0
J0 = E · Q1 K0 = 1
S0 = E · Q1
8. Sistemas Secuenciales: Diseño 108

Q0

Q1

Figura 8.1: Circuito detector de la secuencia 111 (Máquina de Mealy)

8.2. Se quiere diseñar un autómata de Moore que reciba datos en serie por una lı́nea de entra-
da y sea capaz de detectar secuencias de tres o más unos consecutivos.

Solución

En este caso, de nuevo, el circuito dispone de una sola entrada, que llamaremos X0, y
una salida, Z0. En cuanto a los estados, se puede pensar inicialmente en los siguientes:

Estado q0 : no se ha recibido ningún 1 (estado inicial).


Estado q1 : se ha recibido un primer 1.
Estado q2 : se han recibido dos 1’s consecutivos.
Estado q3 : se han recibido tres o más 1’s consecutivos.

A partir de estos estados se puede deducir que:

a) Si estando en el estado q0 la entrada es 1 se debe pasar al estado q1 , y si es 0 se debe


permanecer en q0 . La salida estando en q0 debe ser 0.
b) Estando en q1 (indicativo de que se ha recibido el primer 1) si se recibe un 1 se
debe pasar al estado q2 (indicativo de que se ha recibido la secuencia 11). Si, por el
8. Sistemas Secuenciales: Diseño 109

contrario, se recibe un 0 la secuencia se rompe, y hay que retornar al estado inicial


q0 (es como si no se hubiera recibido ningún 1). La salida estando en q1 debe ser 0.
c) Si en q2 se recibe un 1 se pasa al estado q3 (indicativo de haber recibido una secuencia
111). Si se recibe un 0, la secuencia se rompe, y hay que retornar al estado inicial q0
(es como si no se hubiera recibido ningún 1). La salida estando en q2 debe ser 0.
d) Si estando en q3 (indicativo de que se ha recibido la secuencia 111) se recibe un 0 se
debe retornar al estado q0 , y si la entrada es 1 se debe permanecer en q3 . La salida
estando en q3 debe ser 1.

El grafo correspondiente se muestra en la siguiente figura:

0
1
q0/0 q1/0
0
0
1
0

1
q3/1 q2/0
1

Como hay 4 estados se necesitan 2 flip-flops, y cada estado se codificará con una combi-
nación de 2 bits. La asignación de estados puede ser: q0 = 00, q1 = 01, q2 = 10, q3 = 11, y
con esto se puede rescribir la tabla, a partir de la tabla de estados codificada.
En este caso se van a utilizar flip-flops de tipo D, a cuyas salidas denominaremos Q1 y
Q0 y a sus entradas D1 y D0, respectivamente. A continuación debemos calcular la exci-
tación que es necesario aplicar a cada una de estas entradas para obtener las transiciones
buscadas y realizar su simplificación.
8. Sistemas Secuenciales: Diseño 110

Tabla de transición de estados y salidas:

Q(t+1)/Z
Q(t) Entrada
0 1
q0 /0 q0 q1
q1 /0 q0 q2
q2 /0 q0 q3
q3 /1 q0 q3

Tabla de codificación de estados:

Q1Q0
q0 00
q1 01
q2 10
q3 11

Con esta asignación tenemos:

Q(t+1)/Z
Q(t) Entrada
0 1
q0 /0 00 01
q1 /0 00 10
q2 /0 00 11
q3 /1 00 11
8. Sistemas Secuenciales: Diseño 111

Tabla de excitación de biestables

X0 Q1(t) Q0(t) Q1(t+1) Q0(t+1) D1 D0 Z0


0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 1 0 0 0 0 0 0
0 1 1 0 0 0 0 1
1 0 0 0 1 0 1 0
1 0 1 1 0 1 0 0
1 1 0 1 1 1 1 0
1 1 1 1 1 1 1 1

X0 X0 X0
D1 D0 Z0
Q0 Q0 Q0

0 0 1 0 0 0 0 1 0 0 0 0
0 1 5 4 0 1 5 4 0 1 5 4

Q1 0 0 1 1 Q1 0 0 1 1 Q1 0 1 1 0
2 3 7 6 2 3 7 6 2 3 7 6

Tras simplificar por Karnaugh:

D1 = Q0 · X0 + Q1 · E

D0 = Q1 · X0 + Q0 · X0

A continuación calculamos la función de salida. En este caso, al tratarse de un autómata


de Moore, la salida sólo depende del estado interno.

Z0 = Q0 · Q1

Por último, es necesario incluir el control de las entradas ası́ncronas de los biestables para
asegurar que el estado inicial sea q0 , es decir, que la salida de ambos biestables sea cero.
El circuito completo se muestra en la Fig. 8.2.
8. Sistemas Secuenciales: Diseño 112

Figura 8.2: Circuito detector de la secuencia 111 (Máquina de Moore)

8.3. Se quiere diseñar un autómata de Mealy que realice la suma de dos datos que llegan en
serie por dos canales diferentes.

Solución
Primero se presentan los bits de menor peso de ambos sumandos, el sumador los suma y
obtiene el bit de menor peso del resultado y toma nota del acarreo, sumando a continua-
ción los siguientes bits y el acarreo, y ası́ sucesivamente. El resultado se va presentando a
la salida en serie a medida que se va generando.
Como paso previo a la elaboración del grafo del autómata, comenzaremos planteando la
tabla de verdad del sumador de un bit con acarreo (Tabla 8.1).

Acarreo anterior X1 X0 Acarreo generado Suma(Z0)


0(q0 ) 0 0 0(q0 ) 0
0(q0 ) 0 1 0(q0 ) 1
0(q0 ) 1 0 0(q0 ) 1
0(q0 ) 1 1 1(q1 ) 0
1(q1 ) 0 0 0(q0 ) 1
1(q1 ) 0 1 1(q1 ) 0
1(q1 ) 1 0 1(q1 ) 0
1(q1 ) 1 1 1(q1 ) 1

Tabla 8.1: Tabla de verdad del sumador


8. Sistemas Secuenciales: Diseño 113

En ella hemos denominado X0 y X1 a los sumandos y S al resultado (suma). Para ver los
estados que se necesitan solamente hay que darse cuenta de que las dos situaciones que
se pueden presentar son que la suma se realice con y sin acarreo (si se genera acarreo hay
que almacenarlo y sumarlo con los dos bits X0 y X1 siguientes). Por tanto, para recordar
si ha habido acarreo o no, necesitamos 2 estados: si la suma no genera acarreo estamos en
el estado q0 y si lo genera en el q1 .
Según la tabla 8.1, si estando en el estado q0 (acarreo anterior=0) los bits X0 y X1 toman
valores X0 = 0 y X1 = 0, X0 = 0 y X1 = 1 ó X0 = 1 y X1 = 0 la suma es 0, 1, 1,
respectivamente y el acarreo generado es 0 en todos los casos, es decir, el estado siguiente
es q0 . Sin embargo, si el dato es X0 = 1 y X1 = 1, la suma es S=0 y se produce acarreo,
por tanto, el estado siguiente será q1 .
Por otra parte, si en q1 (acarreo anterior=1) los datos de entrada son X0 = 0 y X1 = 1,
X0 = 1 y X1 = 0 ó X0 = 1 y X1 = 1 la suma es 0 (acarreo anterior (1) + 0 + 1 = 0), 0
(acarreo anterior (1) + 1 + 0 = 0), 1 (acarreo anterior (1) + 1 + 1 = 1), respectivamente, y en
todos los casos el acarreo generado es 1, lo que hace que permanezca en el estado q1 . Por
el contrario, si los datos son X0 = 0 y X1 = 0, la suma es 1 y el acarreo generado es 0, y
se pasa al estado q0 . El estado inicial será q0 , porque el primer acarreo es 0.
Esta descripción se corresponde con el grafo siguiente:

00/0

11/0 10/0
01/1

q0 q1 11/1
00/1
10/1
01/0

Tabla de transición de estados y salidas:

Estado siguiente/salida
Estado Actual Entradas
00 01 10 11
q0 q0 /0 q0 /1 q0 /1 q1 /0
q1 q0 /1 q1 /0 q1 /0 q1 /1
8. Sistemas Secuenciales: Diseño 114

Tabla de codificación de estados:

Q0
q0 0
q1 1

Como hay 2 estados, será suficiente con 1 biestable. La asignación de estados puede ser:
q0 = 0, q1 = 1. La tabla siguiente muestra Q0 como salida fı́sica del flip-flop, las lı́neas de
entrada del circuito son X0 y X1, y la salida fı́sica Z0.

Estado siguiente/salida
Entrada
Estado Actual 00 01 10 11
q0 0/0 0/1 0/1 1/0
q1 0/1 1/0 1/0 1/1

Tabla de excitación de biestables:

X0 X1 Q0(t) Q0(t+1) J0 K0 Z0
0 0 0 0 0 X 0
0 0 1 0 X 1 1
0 1 0 1 0 X 1
0 1 1 0 X 0 0
1 0 0 0 0 X 1
1 0 1 1 X 0 0
1 1 0 1 1 X 0
1 1 1 1 X 0 1

Los mapas de Karnaugh quedarı́an:


X0 X0 X0
J0 K0 Z0
Q0 Q0 Q0

0 X X 0 X 1 0 X 0 1 0 1
0 1 5 4 0 1 5 4 0 1 5 4

X1 0 X X 1 X1 X 0 0 X X1 1 0 1 0
2 3 7 6 2 3 7 6 2 3 7 6
8. Sistemas Secuenciales: Diseño 115

A continuación calculamos la función lógica de la salida del circuito, Z(t), a partir de la


información de la tabla 3, utilizando el mapa de Karnaugh.

Z0 = X0 · X1 · Q0 + X0 · X1 · Q0 + X0 · X1 · Q0 + X0 · X1 · Q0 = X0 ⊕ X1 ⊕ Q0

Ya tenemos toda la información necesaria para implementar el circuito, que se muestra


en la Fig. 8.3.

Figura 8.3: Implementación del autómata (sumador serie)

8.4. Un coche gobernado por control remoto está dotado de dos motores, y dispone a su vez
de dos mandos A y B.
Si se presiona el mando A se acciona el motor delantero y el coche se mueve hacia delante,
aunque se deje de presionar dicho mando. Al presionar una vez el mando B el coche se
para. Si se presionan los dos mandos a la vez, A y B, el coche se moverá hacia atrás,
aunque se hayan dejado de presionar los botones.
Habrá que diseñar una máquina de Moore, que realice las secuencias diseñadas. Para ello
se pide:

a) Diagrama de estados del circuito, indicando el significado de cada uno.


b) Diseñar y dibujar el circuito como máquina de Moore con biestables J-K con flanco
activo en bajada y la lógica que se estime necesaria.

Solución
8. Sistemas Secuenciales: Diseño 116

a) Diagrama de estados
ENTRADAS:
A
B
SALIDAS:
D (Motor Delantero)
T (Motor Trasero)

Estados posibles:
Q0: parada → D=T=0
Q1: hacia delante → D=1; T=0
Q2: hacia atrás → D=0; T=1

11

0X 11,00 X0
10 11
q0/00 q1/00 q2/00
01 10

01

Tabla de transición de estados y salidas:

Estado Siguiente
Estado Actual/DT Entradas: A B
00 01 10 11
q0 /00 q0 q0 q1 q2
q1 /10 q1 q0 q1 q2
q2 /01 q2 q0 q1 q2

Tabla de codificación de estados:


8. Sistemas Secuenciales: Diseño 117

Q1Q0
q0 00
q1 01
q2 10
X 11

Con esta asignación tenemos:

00 01 10 11
q0 /00 00 00 01 10
q1 /10 01 00 01 10
q2 /01 10 00 01 10
q3 /xx xx xx xx xx

Tabla de excitación de biestables:

A B Q1(t) Q0(t) Q1(t+1) Q0(t+1) J1 K1 J0 K0


0 0 0 0 0 0 0 X 0 X
0 0 0 1 0 1 0 X X 0
0 0 1 0 1 0 0 X 0 X
0 0 1 1 X X X X X X
0 1 0 0 0 0 0 X 0 X
0 1 0 1 0 0 0 X X 1
0 1 1 0 0 0 X 1 0 X
0 1 1 1 X X X X X X
1 0 0 0 0 1 0 X 1 X
1 0 0 1 0 1 0 X X 0
1 0 1 0 0 1 X 1 1 X
1 0 1 1 X X X X X X
1 1 0 0 1 0 1 X 0 X
1 1 0 1 1 0 1 X X 1
1 1 1 0 1 0 X 0 0 X
1 1 1 1 X X X X X X
8. Sistemas Secuenciales: Diseño 118

Los mapas de Karnaugh quedarı́an:


B B
J1 : K1 :
Q0 Q0

0 0 0 0 X X X X
0 1 5 4 0 1 5 4

X X X X 0 X X 1
Q1 2 3 7 6
Q1 2 3 7 6

X X X X 1 X X 0
10 11 15 14 10 11 15 14
A A
0 0 1 1 X X X X
8 9 13 12 8 9 13 12

B B
J0 : K0 :
Q0 Q0

0 X X 0 X 0 1 X
0 1 5 4 0 1 5 4

0 X X 0 X X X X
Q1 2 3 7 6
Q1 2 3 7 6

1 X X 0 X X X X
10 11 15 14 10 11 15 14
A A
1 X X 0 X 0 1 X
8 9 13 12 8 9 13 12

Tras simplificar por Karnaugh:


J1 = A · B K1 = AB + AB = A ⊕ B
J0 = A · B K0 = B
Las salidas sólo dependen del estado actual (máquina de Moore): D=Q0 y T=Q1

Figura 8.4: Circuito lógico implementado con biestables J-K


8. Sistemas Secuenciales: Diseño 119

8.5. Diseñar e implementar el autómata de Mealy capaz de generar el bit de paridad par desde
los unos para un mensaje de tres bits recibido por E. El mensaje se recibe en serie bit a
bit, cada tres bits de salida deberá tomar el valor correspondiente al criterio enunciado,
durante los dos primeros bits, arbitrariamente, la salida valdrá cero.

¿Cómo será el autómata de Moore correspondiente?

Solución

Debido a que se trata de un generador de paridad serie, el bit generado ha de cumplir el


criterio de transmisión.
Por ejemplo, para tres bits un criterio de paridad par, es que el número total de unos ha
de ser par. Si lo recibido fuera 001, el bit de paridad habrı́a de ser 1.
El bit de paridad no se sabe hasta recibir el tercer bit, mientras tanto, arbitrariamente, se
asigna un 0 a la salida.
El planteamiento del diagrama de transición de estados consiste en abrir caminos para
cada bit recibido. Por ejemplo, si el autómata está en q4 es que ha recibido 10 por la
entrada. Si estando en q4 se recibe un 1 por la entrada, lo recibido será 101, y por tanto la
salida será 0. Además el nuevo estado será q0 , para desde él empezar a recibir los tres bits
del siguiente paquete de información. Si estando en q4 , se hubiera recibido un 0, entonces
la salida hubiera sido un 1. El nuevo estado seguirı́a siendo q0 . Este mismo procedimiento
se realizarı́a para el resto de estados.
Tabla de transición de estados y salidas:

q(t+1)/salida
q(t) Entradas
0 1
q0 q2 /0 q1 /0
q1 q4 /0 q3 /0
q2 q3 /0 q4 /0
q3 q0 /0 q0 /1
q4 q0 /1 q0 /0
8. Sistemas Secuenciales: Diseño 120

q0

1/0 0/0

0/0 0/1
q1 q2
1/1 0/0 0/0 1/0

1/0 1/0

q3 q4

Tabla de codificación de estados:

Q2 Q1 Q0
q0 0 0 0
q1 0 0 1
q2 0 1 0
q3 0 1 1
q4 1 0 0
X 1 0 1
X 1 1 0
X 1 1 1

Con esta asignación tenemos:

0 1
q0 010/0 001/0
q1 100/0 011/0
q2 011/0 100/0
q3 000/0 000/1
q4 000/1 000/0
X XXX XXX
X XXX XXX
X XXX XXX
8. Sistemas Secuenciales: Diseño 121

Tabla de excitación de biestables:

E Q2(t) Q1(t) Q0(t) Q2(t+1) Q1(t+1) Q0(t+1) J2 K2 J1 K1 J0 K0 S0


0 0 0 0 0 1 0 0 X 1 X 0 X 0
0 0 0 1 1 0 0 1 X 0 X X 1 0
0 0 1 0 0 1 1 0 X X 0 1 X 0
0 0 1 1 0 0 0 0 X X 1 X 1 0
0 1 0 0 0 0 0 X 1 0 X 0 X 1
0 1 0 1 X X X X X X X X X X
0 1 1 0 X X X X X X X X X X
0 1 1 1 X X X X X X X X X X
1 0 0 0 0 0 1 0 X 0 X 1 X 0
1 0 0 1 0 1 1 0 X 1 X X 0 0
1 0 1 0 1 0 0 1 X X 1 0 X 0
1 0 1 1 0 0 0 0 X X 1 X 1 1
1 1 0 0 0 0 0 X 1 0 X 0 X 0
1 1 0 1 X X X X X X X X X X
1 1 1 0 X X X X X X X X X X
1 1 1 1 X X X X X X X X X X

Los mapas de Karnaugh quedarı́an:


Q2 Q2
J2 : K2 :
Q0 Q0

0 1 X X X X X 1
0 1 5 4 0 1 5 4

0 0 X X X X X X
Q1 2 3 7 6
Q1 2 3 7 6

1 0 X X X X X X
10 11 15 14 10 11 15 14
E E
0 0 X X X X X 1
8 9 13 12 8 9 13 12
8. Sistemas Secuenciales: Diseño 122

Q2 Q2
J1 : K1 :
Q0 Q0

1 0 X 0 X X X X
0 1 5 4 0 1 5 4

X X X X 0 1 X X
Q1 2 3 7 6
Q1 2 3 7 6

X X X X 1 1 X X
10 11 15 14 10 11 15 14
E E
0 1 X 0 X X X X
8 9 13 12 8 9 13 12

Q2 Q2
J0 : K0 :
Q0 Q0

0 X X 0 X 1 X X
0 1 5 4 0 1 5 4

1 X X X X 1 X X
Q1 2 3 7 6
Q1 2 3 7 6

0 X X X X 1 X X
10 11 15 14 10 11 15 14
E E
1 X X 0 X 0 X X
8 9 13 12 8 9 13 12

Q2
S0 :
Q0

0 0 X 1
0 1 5 4

0 0 X X
Q1 2 3 7 6

0 1 X X
10 11 15 14
E
0 0 X 0
8 9 13 12

Tras simplificar por Karnaugh:

J2 = E · Q1 · Q0 + E · Q1 · Q0 K2 = 1
J1 = E · Q2 · Q0 + E · Q0 K1 = Q0 + E
J0 = E · Q2 · Q1 + E · Q1 K0 = E + Q1
S0 = E · Q1 · Q0 + E · Q2

El circuito completo se muestra en la Fig. 8.5.


8. Sistemas Secuenciales: Diseño 123

Figura 8.5: Autómata de Mealy. Generador de paridad par


8. Sistemas Secuenciales: Diseño 124

Autómata de Moore

El autómata de Moore tendrá 7 estados. En Mealy las salidas van asociadas a la transición,
de donde va al nuevo estado q0 , mientras que Moore tiene que crear un nuevo estado q5
para asignar la salida, y luego ir al destino. Mealy lo hace en una vez, y Moore en dos.
Mealy necesita dos flancos y que esté presente la nueva entrada. En este mismo instante,
sin llegar un nuevo flanco, el autómata puede decir cuál será la salida. Mealy se adelanta
al flanco para obtener la salida.
Moore necesita tres flancos. Aunque llegue el tercer bit, éste no será procesado hasta el
siguiente flanco; es más lento y ordenado; primero llega el bit y después da la salida.
8. Sistemas Secuenciales: Diseño 125

EJERCICIOS PROPUESTOS

1. Obtener las tablas de estado correspondientes a los siguientes diagramas:

2. Obtener los diagramas de estado correspondientes a las siguientes tablas de estado:

3. Diseñar un contador sı́ncrono basado en biestables J-K y con una entrada de control (Z)
que realice las siguientes secuencias a su salida:

Z = 0 ⇒ (0, 1, 2, 0, 1, 2, . . .)
8. Sistemas Secuenciales: Diseño 126

Z = 1 ⇒ (1, 2, 3, 1, 2, 3, . . .)

En el diseño debe aparecer el diagrama de estados, tabla de transición, simplificación


de funciones y esquema final del contador. NOTA: las transiciones no contempladas en el
diagrama de estados pueden establecerse de manera que favorezcan al máximo la simplificación
de las funciones por el método de Karnaugh.

4. Diseñar un contador sı́ncrono basado en biestables D, activos mediante flanco ascendente, que
realice la siguiente secuencia a su salida: (0, 2, 4, 6, 0, 2, . . .) En el diseño debe aparecer el diagrama
de estados, la tabla de transición, la simplificación de funciones y esquema lógico del contador.
NOTA: las transiciones desde los estados impares ponen el contador a cero.

5. Un circuito secuencial posee dos flip-flops tipo D, A y B disparados por flanco de bajada; dos
entradas X e Y, y una salida Z. Su funcionamiento está especificado por las siguientes ecuaciones:

A(t + 1) = X̄Y + X · A(t)

B(t + 1) = X̄ · B(t) + x · ×A(t)

Z =B

a) Dibujar el diagrama lógico del circuito.


b) Construir su tabla de estados.
c) Construir un diagrama de estados.

6. Diseñar un circuito secuencial con flip-flops JK, con dos entradas E y X. Si E=0 el circuito per-
manece en el mismo estado independientemente del valor de X. Cuando E=1 y X=1 el circuito
transita según la secuencia 00− > 01− > 10− > 11− > 00 y repite. Cuando E=1 y X=0 el circuito
realiza la secuencia 00− > 11− > 10− > 01− > 00 y repite.

7. Diseñar un sistema secuencial sı́ncrono con una entrada X, que detecte la secuencia de entrada de
tres bits 101, activando un pulso coincidiendo con la llegada del tercer bit de la secuencia correcta.
Si la secuencia no es correcta para alguno de los dı́gitos se ignoran los dı́gitos sucesivos hasta
completar una secuencia de tres bits antes de comprobar una nueva.

8. Un circuito secuencial posee un biestable D disparado por flanco de subida, dos entradas X e Y y
una salida S, conectados según el siguiente diagrama lógico:

a) Escribir las ecuaciones algebraicas que describen el comportamiento del sistema.


b) Encontrar su tabla de estados.
c) Construir un diagrama de estados que represente el comportamiento del circuito.
8. Sistemas Secuenciales: Diseño 127

9. Un circuito secuencial tiene tres flip-flops A, B y C, una entrada X y una salida Y. Su comporta-
miento puede describirse mediante el diagrama de estados siguiente. Construir un diseño usando:

a) Flip-flops tipo T.
b) Flip-flops tipo JK.

Tratar los estados no usados como indiferencia en la tabla de estados y una vez diseñados los
circuitos comprobar que el comportamiento de los estados no usados para verificar que no llevan
a situaciones anómalas en caso de que por causa aleatoria el sistema llegue a los mismos. Usar la
asignación de estados: a=001, b=100, c=011, d=010, e=000.

10. Dado el circuito secuencial de la figura:

a) Obtener un diagrama de transición de estados que recoja el comportamiento del circuito.


b) Construir, a partir de él y la lógica adecuada, un sistema secuencial sı́ncrono que genere a su
salida la secuencia A− > B− > C− > D− > E− > F − > G− > H− > A, cuyos códigos se
muestran en la tabla adjunta.

11. Dado el circuito de la figura:


8. Sistemas Secuenciales: Diseño 128

a) Analizar el sistema y obtener las expresión booleana de las funciones de salida y de excita-
ción de los flip-flops.
b) Obtener su tabla de transición de estados.
c) Obtener un diagrama de transición de estados y explicar el comportamiento del circuito.
d) Diseñar de nuevo el circuito usando flip-flop tipo JK.

12. Diseñar un sistema digital sı́ncrono, que siga el modelo de Moore, que controle el funcionamiento
de un semáforo situado en una travesı́a para regular la velocidad de los vehı́culos que llegan a la
misma. El funcionamiento del mismo se especifica de la siguiente manera:

Si la velocidad de los vehı́culos que se acercan es inferior a los 40Km/h., el semáforo está en
ámbar intermitente.
Si la velocidad de los vehı́culos es igual o excede los 40Km/h, el semáforo pasa a ámbar no
intermitente.
Si la velocidad de los vehı́culos excede los 50Km/h, el semáforo pasa a rojo.
Una vez que el semáforo está en rojo permanece ası́ hasta que la velocidad de los vehı́culos
baja por debajo de los 20Km/h.
8. Sistemas Secuenciales: Diseño 129

Para detectar la velocidad de los vehı́culos que llegan se dispone de un sistema radar que propor-
ciona 4 señales digitales que se activan indicando lo siguiente:
A0: Velocidad mayor o igual a 20Km/h.
A1: Velocidad mayor o igual a 30Km/h.
A2: Velocidad mayor o igual a 40Km/h.
A3: Velocidad mayor o igual a 50Km/h.

13. Resolver el problema anterior empleando un sistema digital sı́ncrono que siga el modelo de Mealy.

14. Diseñar un circuito con dos entradas, X e Y, que de salida Z=1 cuando en los cuatro últimos ciclos
de reloj, las entradas hayan sido 11, 01, 01, 11. El circuito debe ser implementado mediante un
esquema de Mealy y utilizando biestables tipo D.

También podría gustarte