eBook Chapter PDF 00341 Prob ResueltosCircuitos Logicos
-
Upload
marcos-cid-luna -
Category
Documents
-
view
304 -
download
1
Transcript of eBook Chapter PDF 00341 Prob ResueltosCircuitos Logicos
Problemas Resueltos de Circuitos
Logicos
Raquel Cervigon Abad
Cuenca, marzo 2010
Indice general
1. Sistemas de Numeracion y Codigos 1
2. Algebra de Boole 9
3. Caracterizacion y Tecnologıas de Circuitos Integrados Digitales 30
4. Circuitos Combinacionales 41
5. Circuitos Combinacionales Aritmeticos 66
6. Sistemas Secuenciales: Biestables 76
7. Sistemas Secuenciales: Registros y Contadores 90
8. Sistemas Secuenciales: Diseno 105
I
Capıtulo 1
Sistemas de Numeracion y Codigos
1.1. Convertir a base decimal los siguientes numeros:
a) (FFA,7)16
b) (100)5
c) (26,5)8
d) (10,101)2
e) (1001111011)2
Solucion
a) (FFA,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 numeros:
a) (10,375)10
b) (2506)16
1
1. Sistemas de Numeracion y Codigos 2
c) (F10A0)16
d) (7512)8
e) (2506)8
Solucion
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) (F10A0)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. ¿Cual es el
valor de (104)10 en la base b?
Solucion
100 = 4 · b2 + 0 · b1 + 0 · b0 −→ b = 5
1. Sistemas de Numeracion y Codigos 3
Para pasar 104 decimal a base 5, debemos utilizar el metodo de divisiones iterativas.
(104)10 = (404)5
1.4. Representar los siguientes numeros en el formato IEEE 754 de 32 bits.
a) (−123,75)10
b) (199,5)10
c) (42F80000)16
Solucion
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) (42F80000)16 −→ 0 10011101 00001011111000000000000
1. Sistemas de Numeracion y Codigos 4
1.5. Determinar el valor decimal del numero 11111110 expresado en el formato del convenio
de complemento a 2.
Solucion
00000010 −→ (2)10 Su complementado serıa (−2)10
1.6. Obtener el correspondiente numero binario en Complemento a 2 de 16 bits del decimal
-554.
Solucion
(554)10 −→ 0000001000101010
(−554)10 −→ 1111110111010110
1.7. Codificar en complemento a 1 (C-1) y complemento a 2 (C-2) los siguientes numeros de-
cimales: 7, -7, 39, -39, 1 , -1, 0.
Solucion
+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 numeros A=11001 y B = 11101, representados en palabras de 5
bits si su sistema de representacion es:
a) Complemento a uno
b) Complemento a dos
1. Sistemas de Numeracion y Codigos 5
Solucion
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 numeros A=11001 y B = 11101, representados en palabras de 5 bits
si su sistema de representacion es:
a) Complemento a uno
b) Complemento a dos
Solucion
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 representacion en complemento a dos de numeros binarios es de:
a) [−2n−1, 2n−1 − 1]
b) [−2n−1, 2n−1]
c) [−(2n−1 − 1), 2n−1 − 1]
1En complemento a uno se suma el acarreo final al resultado.
1. Sistemas de Numeracion y Codigos 6
d) [−2n−1, 2n−1 + 1]
Solucion
El rango de representacion en complemento a dos de numeros binarios es de
[−2n−1, 2n−1 − 1].
1.11. Codificar del numero decimal 18, en codigos binarios de palabra (binario natural y binario
gray) y BCD (natural, aiken y exceso a tres).
Solucion
Decimal Binario Natural Binario Gray
18 10010 11011
Decimal BCD Natural BCD Aiken BCD XS3
18 00011000 00011110 01001011
1. Sistemas de Numeracion y Codigos 7
EJERCICIOS PROPUESTOS
1. Representar la cantidad sesenta y una unidades en los sistemas de numeracion en base 2, 5,
8 y 16.
2. Representar en los sistemas de numeracion binario, octal y hexadecimal los siguientes
numeros decimales:
a) 215
b) 129
c) 614
3. ¿Cuantos dıgitos seran necesarios para representar en binario, octal y hexadecimal cada
uno de los siguientes numeros decimales?
a) 50
b) 1000
c) 5000
d) 1000000
4. Encontrar la expresion decimal de los siguientes numeros:
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 numero posible de bits en los formato complemento a uno y
complemento a dos, los siguientes numeros enteros:
a) -122
b) 122
c) -64
d) -15
1. Sistemas de Numeracion y Codigos 8
e) 37
f ) -37
6. Un sistema digital puede procesar numeros representados en formato de 7 bits. Indicar
cuales de los siguientes numeros 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 numero (8620)10 en los siguientes codigos:
a) BCD natural
b) BCD exceso a tres
c) BCD AIKEN
9. Obtener un codigo Gray para codificar 32 sımbolos diferentes.
10. Obtener un codigo 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+ abc
b) f(a, b, c) = (b+ acc+ ab+ abcb+ ab)(ac + ac+ c)
c) f(a, b, c, d) = a+ bc+ a+ bd+ cd
d) f(a, b, c, d) = a+ bc+ a+ bd+ bd
e) f(a, b, c, d) = ((a+ b)c+ a+ b+ c+ d) (cb)
f ) f(a, b) = a(b+ ab)
Solucion
a) f(a, b, c) = ab+ ac+ abc
f(a, b, c) = ab+ ac+ abc =
= a(b+ c) + abc =
= a+ bc+ abc =
= a(1 + bc) + bc =
= a+ bc
9
2. Algebra de Boole 10
b) f(a, b, c) = (b+ acc+ ab+ abcb+ ab)(ac + ac+ c)
f(a, b, c) = (b+ acc+ ab+ abcb+ ab)(ac + ac+ c) =
= (b+ ab+ ab)((a+ a)c+ c) =
= (b(1 + a) + ab)(c+ c) =
= (b+ ab)
c) f(a, b, c, d) = a+ bc+ a+ bd+ cd
f(a, b, c, d) = a+ bc+ a+ bd+ cd =
= abc+ a+ bd+ cd =
= a+ bd+ cd =
= ¯a · bd · cd =
= a(b+ d)(c+ d) = abc+ abd+ adc+ add =
= abc+ abd+ adc
d) f(a, b, c, d) = a+ bc+ a+ bd+ bd
f(a, b, c, d) = a+ bc+ a+ bd+ bd =
= abc+ a+ bd+ bd =
= a(1 + bc) + (b+ b)d =
= a+ d = ad
e) f(a, b, c, d) = ((a+ b)c+ a+ b+ c+ d) (cb)
2. Algebra de Boole 11
f(a, b, c, d) = ((a+ b)c+ a+ b+ c+ d) (cb) =
= ac+ bc+ a+ b+ c+ d(b+ c) =
= ac+ b(c+ 1) + a+ c+ d(b+ c) =
= ac+ a+ b+ c+ d(b+ c) =
= (a+ a)(a+ c) + b+ c+ d(b+ c) =
= a+ c+ b+ c+ d(b+ c) =
= a+ b+ d+ 1(b+ c) =
= 1(b+ c) = 0
f ) f(a, b) = a(b+ ab)
f(a, b) = a(b+ ab) =
= a(a+ b)(b+ b) = a(a+ b) =
= aa+ ab = a(1 + b) = a
2.2. A partir de estas sumas de productos, obtener una expresion en producto de sumas.
a) f(a, b, c, d) =∑
(0, 3, 7, 9, 12, 15)
b) f(a, b, c, d) =∑
(0, 1, 3, 4, 6, 8)
Solucion
a) f(a, b, c, d) =∑
(0, 3, 7, 9, 12, 15)
2. Algebra de Boole 12
f(a, b, c, d) =∑
(0, 3, 7, 9, 12, 15)
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 =
= M14 ·M13 ·M11 ·M10 ·M9 ·M7 ·M5 ·M4 ·M2 ·M1
b) f(a, b, c, d) =∑
(0, 1, 3, 4, 6, 8)
f(a, b, c, d) =∑
(0, 1, 3, 4, 6, 8)
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 =
= M13 ·M10 ·M8 ·M6 ·M5 ·M4 ·M3 ·M2 ·M1 ·M0
2.3. Expresar la siguiente funcion en forma canonica como suma de miniterminos.
a) f(a, b, c) = a+ b+ c
b) f(a, b, c) = a+ b(b+ c)
Solucion
a) f(a, b, c) = a+ b+ c
f(a, b, c) = M5
f(a, b, c) = M0 ·M1 ·M2 ·M3 ·M4 ·M6 ·M7
f(a, b, c) = M0 ·M1 ·M2 ·M3 ·M4 ·M6 ·M7 =
= 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) =
= (ab)(b+ c) =
= abb+ abc =
= abc = a+ b+ c = M6
f(a, b, c) = M0 ·M1 ·M2 ·M3 ·M4 ·M5 ·M7
f(a, b, c) = m7 +m6 +m5 +m4 +m3 +m2 +m0
2.4. Expresar las siguientes funciones en forma canonica como producto de maxiterminos.
a) f(a, b, c) = (a+ b)(a+ b+ c) + bc
b) f(a, b) = a+ ab
Solucion
a) f(a, b, c) = (a+ b)(a+ b+ c) + bc
f(a, b, c) = (a+ b)(a+ b+ c) + bc =
= (aa+ ab+ ac+ ab+ bb+ bc) + bc =
= ab+ ac+ ab+ bc+ bc =
= abc+ abc+ abc+ abc+ abc+ abc+ abc+ abc+ abc+ abc =
=∑
3
(0, 1, 4, 5, 6, 7)
= m0 +m1 +m4 +m5 +m6 +m7
f(a, b, c) = m2 +m3
f(a, b, c) = m2 +m3 = m2 ·m3 = M5 ·M4
2. Algebra de Boole 14
b) f(a, b) = a+ ab
f(a, b) = a+ ab =
= a · ab =
= a(a+ b) = a · a+ a · b = a · b = m3
f(a, b) = m0 +m1 +m2
f(a, b) = m0 +m1 +m2 = m0 ·m1 ·m2 = M3 ·M2 ·M1
2.5. Dadas f1(a, b) =∑
(0, 3) y f2(c, d) =∏(1, 2).
Calcular G(a, b, c, d) = f1(a, b)⊕
f2(c, d).
Solucion
f1(a, b) = m0 +m3 = ab+ ab
f2(c, d) = M1 ·M2 =
= M0 ·M3 = M0 +M3 = m3 +m0 = cd+ cd
g(a, b, c, d) = (ab+ ab)⊕ (cd+ cd) =
= (ab+ ab)(cd+ cd) + (ab+ ab)(cd+ cd) =
= (ab · ab)(cd+ cd) + (ab+ ab)(cd · cd) =
= (a+ b)(a+ b)(cd+ cd) + (ab+ ab)(c+ d)(c+ d) =
= (aa+ ab+ ab+ bb)(cd+ cd) + (cc+ cd+ cd+ dd)(ab+ ab) =
= abcd+ abcd+ abcd+ abcd+ abcd+ abcd+ abcd+ abcd
g(a, b, c, d) =∑
4
(1, 2, 4, 7, 8, 11, 13, 14)
2. Algebra de Boole 15
2.6. Analizar los siguientes circuitos y obtener su funcion logica.
Solucion
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+ yy ⊗ 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 = y(x+ z)
g)
F (x, y, z) = x+ y + z = xyz
h)
F (x, y, z) = y + xz
i)
F (x, y, z) = zx wx yw y wx
j)
F (z, x,w) = xz + xzy + xz(x+ y)y
2. Algebra de Boole 17
2.7. Disenar un generador de paridad par para cuatro bits.
Solucion
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) = bcd+ bcd+ bcd+ bcd =
= b(cd+ cd) + b(cd+ cd) =
= b(c⊕ d) + b(c⊕ d) = b⊕ (c⊕ d)
Para 4 bits a, b, c y d:
Para a = 0 → f(b, c, d)
Para a = 1 → f(b, c, d)
2. Algebra de Boole 18
f(b, d, d) = g → f(a, b, c, d) = ag + ag = a⊕ g = a⊕ (b⊕ (c⊕ d))
2.8. Disenar y minimizar un circuito logico de tres variables de entrada que se disparen cuan-
do:
a) Dos o mas de las entradas esten en alta a la vez.
b) El decimal equivalente al numero binario que representan las tres entradas sea impar
(1, 3, 5 o 7).
c) El decimal equivalente al numero binario que representan las tres entradas sea par
(0, 2, 4 o 6).
Solucion
a) Dos o mas de las entradas esten 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
f1
00
01
02
13
04
15
16
17
a
b
c
f1(a, b, c) = bc+ ac+ ab
2. Algebra de Boole 19
b) El decimal equivalente al numero binario que representan las tres entradas sea impar
(1, 3, 5 o 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
f2
00
11
02
13
04
15
06
17
a
b
c
f2(a, b, c) = c
c) El decimal equivalente al numero binario que representan las tres entradas sea par
(0, 2, 4 o 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
f3
10
01
12
03
14
05
16
07
a
b
c
f3(a, b, c) = c
2.9. Dibujar un circuito empleando exclusivamente puertas NAND que detecte los numeros
primos comprendidos entre 0 y 15, representados en binario natural.(Considerese el cero
como no primo a efectos de realizar la tabla de verdad)
Solucion
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) = abcd+ abcd+ abcd+ abcd+ abcd+ abcd+ abcd
2. Algebra de Boole 21
f
00
11
12
13
04
15
06
17
08
09
010
111
012
113
014
015a
b
c
d
f(a, b, c, d) = ad+ bcd+ abc+ bcd =
= ad · bcd · abc · bcd =
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 activara cuando la temperatura de entrada este entre -3 y
4oC, ambas incluidas, y el rojo en el resto de los casos. La temperara estara codificada con
cuatro bits en binario puro con signo en complemento a 2.
Solucion
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
LV
10
11
12
13
14
05
06
07
08
09
010
011
012
113
114
115T3
T2
T1
T0
LV (T3, T2, T1, T0) = T3T2 + T3T1T0 + T3T2T1 + T3T2T0
2. Algebra de Boole 23
LR
00
01
02
03
04
15
16
17
18
19
110
111
112
013
014
015T3
T2
T1
T0
LR(T3, T2, T1, T0) = T3T2 + T3T1T0 + T3T2T0 + T3T2T1
Puesto que no se pone ninguna restriccion 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 centimos de euro,
en las que cabe un unica 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 centimos. Disenar el circuito logico capaz de entregar el producto
cuando el valor de la entrada iguale o supere a los 90 centimos, y devolver correctamente
los cambios.
Solucion
Variables de entrada: cuatro bits, 2 de 50 centimos (A5 y B5)y 2 de 20 centimos (A2 y B2).
Variables de salida: cuatro bits, producto (P), vueltas de 10 centimos (D1) y vueltas de 20
centimos (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 (B5, A5, A2, B2) =∑
4(7, 11, 12, 13, 14, 15)
D1(B5, A5, A2, B2) =∑
4(12, 13, 14, 15)
D2(B5, A5, A2, B2) =∑
4(13, 14, 15)
D3(B5, A5, A2, B2) =∑
4(15)
P
00
01
02
03
04
05
06
17
08
09
010
111
112
113
114
115B5
A5
A2
B2D1
00
01
02
03
04
05
06
07
08
09
010
011
112
113
114
115B5
A5
A2
B2
2. Algebra de Boole 25
D2
00
01
02
03
04
05
06
07
08
09
010
011
012
113
114
115B5
A5
A2
B2D3
00
01
02
03
04
05
06
07
08
09
010
011
012
013
014
115B5
A5
A2
B2
P = A5B5 +A5A2B2 +B5A2B2
D1 = A5B5
D2 = A5B5B2 +A5B5A2
D3 = A5B5A2B2
2.12. Dada las siguientes funciones, simplificar e implementar el circuito utilizando puertas
NOR de dos entradas.
a) f1(d, c, b, a) =∑
(0, 2, 3, 6, 7, 11, 13, 15)
b) f2(e, d, c, b, a) =∑
(0, 2, 3, 6, 7, 9, 11, 13, 15, 16, 25, 27, 29, 31)
c) f3(d, c, b, a) =∏(1, 2, 5, 9, 12, 13)
Solucion
a) f1(d, c, b, a) =∑
(0, 2, 3, 6, 7, 11, 13, 15)
f1
10
01
12
13
04
05
16
17
08
09
010
111
012
113
014
115d
c
b
a
2. Algebra de Boole 26
f1(d, c, b, a) = db+ ba+ dca+ dca = d+ b+ b+ a+ d+ c+ a+ d+ c+ a
b) f2(e, d, c, b, a) =∑
(0, 2, 3, 6, 7, 9, 11, 13, 15, 16, 25, 27, 29, 31)
f2
10
01
12
13
04
05
16
17
08
19
010
111
012
113
014
115
116
017
018
019
020
021
022
023
024
125
026
127
028
129
030
131
e
d
c
b
a a
f2(e, d, c, b, a) = da+ dcba+ edb = d+ a+ d+ c+ b+ a+ e+ d+ b
c) f3(d, c, b, a) =∏(1, 2, 5, 9, 12, 13)
f3
10
11
02
03
14
15
06
17
18
19
010
111
112
013
014
115d
c
b
a
f3(d, c, b, a) = (b+ a)(d + c+ b)(d+ c+ b+ a)
f3(d, c, b, a) = b+ a+ d+ c+ b+ d+ c+ b+ a
2. Algebra de Boole 27
EJERCICIOS PROPUESTOS
1. Construir una tabla con todos los miniterminos y maxiterminos de una funcion de cuatro
variables.
2. Que son y como se definen las formas canonicas de una funcion booleana. Expresar en
forma canonica (producto de suma o suma de productos) la funcion booleana de cuatro
variables F(x,y,z,t) = x.
3. Dadas las funciones booleanas: Obtener dos expresiones normalizadas y dos expresiones
canonicas 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) · (xy + z)
c) F3(x, y, z) = (xy + xz) · (x+ yz)
d) F4(x, y, z, t) = xy + t+ xyz + t
e) F5(x, y, z, t) = (xy + zt)⊕ (xy + zt)
4. Simplificar las siguientes expresiones utilizando el Algebra de Boole:
a) [AB(C +BD) + AB]C
b) AB +AC + ABC
c) AB +A(B + C) +B(B + C)
5. Obtener una expresion 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 logico que se comporte como la funcion 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 expresion algebraica de la funcion booleana que se comporta como un circui-
to electrico 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 expresion mınima:
F (x, y, z) =∑
3
(0, 1, 2, 5, 6, 7)
F (x, y, z, t) =∑
4
(4, 7, 13, 14) +∑
∅
(0, 3, 6, 10, 11, 15)
a) Mediante suma de productos.
b) Mediante producto de sumas.
12. Dada la expresion algebraica de la funcion 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 expresion normalizadas en forma de su-
ma de productos. Comprobar si la expresion obtenida es la mınima y justificar la
respuesta.
b) Obtener una expresion normalizada mınima en forma de producto de sumas. Jus-
tificar que la expresion 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 expresion obtenidad en el apartado anterior.
13. Dada la funcion booleana en forma canonica:
F (A,B,C,D) =∏
4
(1, 2, 3, 5, 6, 7, 8, 10)∏
∅
(11, 13)
Justificar adecuadamente cuales de las siguientes expresiones representan a una funcion
booleana equivalente:
a) F1(A,B,C,D) =∑
4(0, 4, 9, 11, 12, 13, 14, 15) +∑
∅(2, 3)
b) F2(A,B,C,D) = (ACD +BCD +ABC +ABCD)
c) F3(A,B,C,D) = (A+B +D)[A+ (CD)]
d) F4(A,B,C,D) = (ACD +AB +AD)
2. Algebra de Boole 29
14. Dada la funcion booelana.
F (x, y, z, t) =∑
4
(0, 2, 3, 4, 9, 11) +∑
∅
(1, 13)
a) Expresarla en su forma canonica producto de maxiterminos.
b) Obtener una expresion mınima de F en forma de suma de productos.
c) Obtener una expresion mınima de F en forma de producto de sumas.
15. Dada la expresion algebraica de la funcion booleana F(x,y,z,t):
F (x, y, z, t) = xy + xy + xyt
a) Representarla sobre un mapa de Karnaugh indicando sobre el mismo los grupos de
miniterminos cubiertos por cada uno de los terminos producto. Indicar para cada
uno de los terminos producto si se trata de implicante, implicante primo o implicante
primo esencial.
b) Obtener una expresion normalizada mınima en forma de suma de productos. Jus-
tificar que la expresion obtenida es mınima ilustrando el razonamiento mediante
mapas de Karnaugh.
c) Obtener una expresion normalizada mınima en forma de producto de sumas. Jus-
tificar que la expresion obtenida es mınima ilustrando el razonamiento mediante
mapas de Karnaugh.
d) Obtener un diagrama logico a partir de cada una de las expresiones mınimas obte-
nidas en los apartados anteriores empleando unicamente puertas NOR.
Capıtulo 3
Caracterizacion y Tecnologıas de
Circuitos Integrados Digitales
3.1. La informacion que proporciona el fabricante del CI 74ALS541 se muestra a continuacion
en la tabla 3.1.
a) Analizar el diagrama logico del CI 74ALS541 (Fig. 3.1) y completar la tabla de verdad
de las salidas en funcion de las entradas.
b) Consultando la informacion que proporciona el fabricante obtener los siguientes
parametros:
1) Valor maximo de VOLmax
2) Valor de IOHmax para el cual esta garantizado VOHmin
3) Margen de ruido
Figura 3.1: Diagrama logico CI 74LS151
30
3. Caracterizacion y Tecnologıas de Circuitos Integrados Digitales 31
www.fairchildsemi.com 2
DM
74
AL
S5
41
Absolute Maximum Ratings(Note 1)
Note 1: The “Absolute Maximum Ratings” are those values beyond which
the safety of the device cannot be guaranteed. The device should not be
operated at these limits. The parametric values defined in the Electrical
Characteristics tables are not guaranteed at the absolute maximum ratings.
The “Recommended Operating Conditions” table will define the conditions
for actual device operation.
Recommended Operating Conditions
Electrical Characteristics over recommended free air temperature range
Supply Voltage 7V
Input Voltage: Control Inputs 7V
Voltage Applied to a Disabled
3-STATE Output 5.5V
Operating Free-Air Temperature Range 0°C to +70°C
Storage Temperature Range −65°C to +150°C
Typical θJA
N Package 58.5°C/W
M Package 77.5°C/W
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
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.4mA
Output Voltage IOL = 24 mA 0.35 0.5
II Input Current at MaximumVCC = 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-STATEVCC = Max, VO = 2.7V 20 µA
Output Current
IOZL LOW Level 3-STATEVCC = 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
Tabla 3.1: Extraıdo de la hoja de caracterısticas del CI 74LS151 (http://www.fairchildsemi.com)
3. Caracterizacion y Tecnologıas de Circuitos Integrados Digitales 32
Solucion:
a) Analizar el diagrama logico 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 completara 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 informacion que proporciona el fabricante obtener los siguientes
parametros:
1) Valor maximo de VOLmax:
VOLmax = 0,4V ; IOL = 12mA
VOLmax = 0, 5V ; IOL = 24mA
2) Valor de IOHmax para el cual esta garantizado VOHmin:
IOHmax = -15 mA
3) Margen de ruido:
MRH=VOHmin - VILmin=0,4V
MRL=VILmax - VOLmax=0,3V
3.2. En la tabla anexa se exponen los niveles logicos y las corrientes de las familias logicas
74LSXX y 74HCXX.
a) Calcular el margen de ruido estricto en las familias LSTTL y HCMOS ¿Que familia
tecnologica elegir si el circuito va a trabajar en ambiente ruidoso?
b) Calcular el Fan-out de ambas familias teniendo en cuenta los niveles logicos y co-
rrientes de la Tabla.
c) ¿Cuantas 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. Caracterizacion 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
Solucion:
a) Margen de ruido estricto en las familias LSTTL y HCMOS ¿Que familia tecnologica
elegir si el circuito va a trabajar en ambiente ruidoso?
Tecnologıa LS
MRH = VOHmin − VIHmin = 2, 7 − 2 = 0, 7V
MRL = VILmax − VOLmax = 0, 8− 0, 4 = 0, 4V
Tecnologıa HC
MRH = VOHmin − VIHmin = 4, 4 − 3, 15 = 1, 25V
MRL = VILmax − VOLmax = 0, 9− 0, 1 = 0, 8V
Se elegira la familia HCMOS por ser la que mayor margen de ruido tiene (0.8 V)
b) Fan-out de ambas familias
Tecnologıa LS
FAN −OUTH =400µA
20µA= 20puertas
FAN −OUTL =8mA
0,4mA= 20puertas
Tecnologıa HC
FAN −OUTH =20µA
1µA= 20puertas
FAN −OUTL =20µA
1µA= 20puertas
3. Caracterizacion y Tecnologıas de Circuitos Integrados Digitales 34
c) ¿Cuantas 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 ?
UCH =4mA
20µA= 200puertas
UCL =4mA
0,4mA= 10puertas
10 Unidades de carga
3.3. Se suministra un numero secreto de 5 cifras grabado en una tarjeta magnetica a, b, c,
d, e, con el que se puede acceder a un edificio. El disenador del sistema ha utilizado la
siguiente funcion:
Apertura de la puerta −→ abcde
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 solo de puertas NAND de dos entradas, disenar el circuito.
b) ¿Que tecnologıa LS, FC, HC es la mas apropiada de cara a implementar el circuito
en un entorno ruidoso?¿Por que?
c) ¿Cuantas puertas de tecnologıa FC se podrıan conectar una puerta de tecnologıa LS?
Solucion:
a) Implementar con puertas NAND de dos entradas.
La expresion logica de la funcion de “apertura” es:
abcde = ab cde
3. Caracterizacion y Tecnologıas de Circuitos Integrados Digitales 35
Por tanto, dibujando directamente la esta expresion:
b) ¿Que tecnologıa LS, FC, HC es la mas apropiada de cara a implementar el circuito
en un entorno ruidoso?¿Por que?
Calculo del margen de ruido:
1) Tecnologıa LS
NML = VILmax − VOLmax = 0,7− 0,3 = 0,4V
NMH = VOHmin − VIHmin = 2,5− 2 = 0,5V
2) Tecnologıa FC
NML = VILmax − VOLmax = 0,8− 0,5 = 0,3V
NMH = VOHmin − VIHmin = 2,5− 2 = 0,5V
3) Tecnologıa HC
NML = VILmax − VOLmax = 0,9− 0,1 = 0,8V
NMH = VOHmin − VIHmin = 4,4− 3,15 = 0,8V
Serıa mejor utilizar la tecnologıa HC debido a que tiene mayores margenes de ruido.
c) ¿Cuantas puertas de tecnologıa FC se podrıan conectar una puerta de tecnologıa LS?
|IOHmaxLS |/|IIHmaxFC |=0,4 · 10−3A/20 · 10−6 = 20
|IOLmaxLS |/|IILmaxFC |=4 · 10−3A/0,6 · 10−3 = 6,66
Se podrıan conectar 6 puertas para que funcione en ambos niveles serıan 6.
3.4. Clasificar, de mayor a menor y sin poner valores, las familias logicas TTL, ECL y MOS.
a) Segun velocidad
b) Segun la potencia disipada.
3. Caracterizacion 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
Solucion:
a) Segun velocidad
VECL > VTTL > VMOS
b) Segun la potencia disipada
PECL > PTTL > PMOS
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
3.5. En la tabla se tienen algunas caracterısticas de dos familias logicas F1 y F2. Estudiar las
compatibilidades entre dichas familias, tanto desde el punto de vista de niveles de ten-
sioon 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
1Nota: El signo - indica que la corriente es saliente
3. Caracterizacion y Tecnologıas de Circuitos Integrados Digitales 37
Solucion:
Puertas F1 excitadoras y puerta F2 carga:
F1 F2
VOHmin = 4,99V ≥ VIHmin = 2V
VOLmax = 0,001V ≤ VILmax = 0,8V
| IOHmax |=| −0,5mA | ≥ | IIHmax |=| 40A |
| IOLmax |=| 0,4mA | ≥ | IILmax |=| −1,6mA |
No son compatibles
Puertas F2 excitadoras y puerta F1 carga:
F1 F2
VOHmin = 2,4V ≥ VIHmin = 3,5V
VOLmax = 0,4V ≤ VILmax = 1,5V
| IOHmax |=| −800A | ≥ | IIHmax |=| 10pA |
| IOLmax |=| 16mA | ≥ | IILmax |=| −10pA |
No son compatibles
3. Caracterizacion y Tecnologıas de Circuitos Integrados Digitales 38
EJERCICIOS PROPUESTOS
1. Indicar las condiciones que se deben cumplir para que dos familias logicas sean compa-
tibles, en todas las posibles formas de conectarse entre sı.
2. La siguiente tabla muestra algunos de los valores correspondientes a los parametros ca-
racterısticos de dos familias logicas. (NOTA: los valores de corrientes de entrada se refieren a
corriente por cada entrada de una puerta)
Familia logica VOHMIN VIHMIN VOLMAX VILMAX IOHMAX IIHMAX IOLMAX IILMAX
A 2.5V 0.7V -20µA
B 2.3V -2ma
a) Completar la tabla para que la siguiente conexion sea posible, garantizando unos margenes
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 conexion (valores mınimos o maximos segun considere en cada caso)
Si el parametro que falta es irrelevante para tal conexion, indıquese con “ ∗ ”
3. Dada la funcion de transferencia de la figura 3.2, indicar:
Figura 3.2: Funcion 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) ¿Funcionara correctamente un sistema con 2 puertas de este tipo conectadas en serie? Justi-
ficar la respuesta.
3. Caracterizacion 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 VOHMIN VIHMIN VOLMAX VILMAX IOHMAX IIHMAX IOLMAX IILMAX
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) Margenes de ruido.
b) Potencia estatica maxima disipada por una puerta NAND. Suponer que la puerta invierte
50 % del tiempo en estado alto y 50 % en estado bajo.
c) Valor maximo del producto potencia-retardo de puerta.
6. Con los datos de la siguiente tabla que se adjunta (VDD = 5V ), calcule:
a) ¿Cuantas entradas 74HC pueden ser excitadas por una salida 74LS?
b) ¿Cuantas entradas 74HCT pueden ser excitadas por una salida 74LS?
c) ¿Cuantas 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 maximo 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 propagacion de
las puertas son: NOT: 5ns, OR: 10ns, AND: 10ns y XOR: 15ns.
8. El circuito de la figura 3.3 esta alimentado a +5V. Las entradas B, C y D estan siempre en H. Las
salidas X, Y y Z estan al aire. En la entrada A hay una senal rectangular de frecuencia f y 50 %
de duty cycle. Con los datos de las puertas que se dan a continuacion, ¿a partir de que frecuen-
cia el circuito implementado con puertas CMOS consume mas que el circuito implementado con
puertas TTL?
CMOS: IDD = 20µA; CI = 7pF ; CPD = 20pF
TTL: ICCH = 1,6mA; ICCL = 4,4mA
3. Caracterizacion y Tecnologıas de Circuitos Integrados Digitales 40
Figura 3.3: Circuito implementado con puertas CMOS o TTL
9. Dados 2 circuitos TTL, conectados segun el esquema de la figura, indicar:
a) Caracterıstica que deben tener las puertas OR y XOR para que dicho conexionado sea valido.
b) Suponiendo que la conexion es valida, indicar que funcion logica se obtiene a la salida,
F=f(A, B, C, D)
Capıtulo 4
Circuitos Combinacionales
4.1. Disenar un codificador 16:4 con codificadores 8:3 Figura 4.1.
Figura 4.1: Codificador 8:3
Solucion
A partir del codificador representado en la Fig. 4.1 se pretende disenar 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 segun 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 mas 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).
Solucion
Figura 4.3: Decodificador 3:8
4. Circuitos Combinacionales 43
4.3. Se dispone de varios multiplexores 2 a 1 donde tambien 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)
Solucion
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 solucion 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 solucion
de muestra en la Figura 4.8.
Figura 4.8: Multiplexor 4:1 (longitud de palabra 2 bits)
4. Circuitos Combinacionales 45
4.4. Disenar un circuito combinacional que, sobre palabras de 4 bits y segun las entradas de
seleccion, realice las siguientes operaciones:
Desplazamiento de una posicion a la derecha.
Desplazamiento de una posicion a la izquierda.
Transferencia de entrada a salida, sin transformacion.
Complemento a uno o complemento logico
Suponer los bits rotativos en los desplazamientos.
Se pide:
a) El numero de entradas de seleccion necesarias. Justificarlo.
b) Las ecuaciones logicas de las salidas.
c) Considerar un bit generico de peso m. Realizar la parte del circuito correspondiente
a Sm utilizando puertas simples de cualquier numero de entradas.
d) Realizar el circuito completo utilizando multiplexores con el menor numero de en-
tradas de control y puertas inversoras. Indicar la ecuacion del multiplexor.
Solucion
a) Numero de entradas
Hay 4 operaciones −→ Necesitamos 4 combinaciones = 2n −→ n = 2 entradas de
seleccion (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 informacion
1 1 E0 E1 E2 E3 Complemento a 1
Las ecuaciones son:
S3 = E0C1C2 + E2C1C2 + E3C1C2 + E3C1C2
S2 = E3C1C2 + E1C1C2 + E2C1C2 + E2C1C2
S1 = E2C1C2 + E0C1C2 + E1C1C2 + E1C1C2
S0 = E1C1C2 + E3C1C2 + E0C1C2 + E0C1C2
c) Circuito correspondiente a Sm
Las ecuaciones anteriores se corresponden a:
d) Implementacion de los circuitos con multiplexores
Para realizar cualquiera de las funciones, necesitamos un multiplexor de 2 entradas
de control (que se corresponderan con C1 y C2) y 4 entradas de datos.
4. Circuitos Combinacionales 47
z = I0a0 a1 + I1a1a0 + I2a1a0 + I3a1a0
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: Implementacion 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
Solucion
a) Basado en puertas AND
b) Basado en puertas NAND
4.6. Realizar la sıntesis de una funcion de 4 variables a, b, c y d que tome el valor 1 cuando
el numero de variables que estan en estado 1 es superior al de las que se encuentran
en estado 0. Nunca puede haber mas de tres variables en estado 1 simultaneamente. Para
ello, obtener la tabla de verdad, las expresiones mınimas de terminos canonicos, y a partir
de ahı, implementar el circuito:
a) Usando puertas NAND y NOR.
b) Empleando el multiplexor 74LS151 y las puertas logicas que consideres necesarias.
c) Empleando el decodificador 74LS154 y las puertas logicas que consideres necesarias.
Solucion
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) = abcd+ abcd+ abcd+ abcd
f :
00
01
02
03
04
05
06
17
08
09
010
111
012
113
114
015a
b
c
d
a) Usando puertas NAND y NOR.
f(a, b, c, d) = (abcd)(abcd)(abcd)(abcd)
f(a, b, c, d) = a+ b+ c+ d+ a+ b+ c+ d+ a+ b+ c+ d+ a+ b+ c+ d
4. Circuitos Combinacionales 50
b) Empleando el multiplexor 74LS151 y las puertas logicas que consideres necesarias.
Figura 4.10: Solucion empleando el multiplexor 74LS151
c) Empleando el decodificador 74LS154 y las puertas logicas que consideres necesarias.
Figura 4.11: Solucion empleando el decodificador 74LS154
4.7. Analizar el circuito de la figura 4.12:
Solucion
z = (ec+ ed)a+ (ec+ 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, disenar
un circuito logico que tenga por entrada un numero 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
Solucion
Siempre que este encendido un diodo, los de menor peso tambien 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 informacion que produce un dispositivo digital son palabras de 16 bits en paralelo que
se pretende transformar en una unica salida serie para su posterior transmision.
a) Si se dispone de multiplexores 74LS151 y de un circuito contador de 4 bits. Disenar
el sistema que realiza la conversion.
b) Si el contador esta gobernado por una senal de frecuencia 1 MHz, ¿que separacion
temporal habra entre los datos consecutivos de la linea serie que pertenezcan a la
misma entrada paralelo?
Solucion
a) Disenar el sistema que realiza la conversion.
La entrada al sistema son datos de 16 bits en paralelo. Por ello se realiza una am-
pliacion del tamano 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) ¿Cual serıa la frecuencia de los datos consecutivos de la linea serie que pertenezcan
a la misma entrada paralelo?
Si la frecuencia de la senal de reloj del contador es de 1Mz, su periodo, por tanto, es
de 1µs. Se necesitan 16 periodos de esta senal para senalizar completamente el dato
de entrada. Por ello la separacion 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 ademas una entrada de habilitacion (G) activa a nivel alto. Ademas 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 seleccion)
b) Si se desea que el demultiplexor disenado tenga una entrada de habilitacion (activa
a nivel alto). Obtengase, usando las puertas NOR necesarias.
c) ¿Que modificaciones realizarıa en el diseno realizado, tras los dos apartados ante-
riores, si el decodificador hubiese tenido salidas activas a nivel bajo?
Solucion
a) Obtener a partir de este decodificador un demultiplexor.
Para obtener un demultiplexor a partir del decodificador, se utiliza la entrada de
habilitacion como entrada de datos del demultiplexor.
b) Obtener una entrada de habilitacion en el demultiplexor disenado.
Para introducir una entrada de habilitacion activa a nivel alto en el demultiplexor
se debe introducir por la entrada de habilitacion del decodificador, teniendo ahora
doble funcion de entrada de datos (entrada D) y de habilitacion 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 = E + D
4. Circuitos Combinacionales 54
c) ¿Que modificaciones realizarıa en el diseno 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 senal D por la entrada de
enable invertida, es decir, introducir una puerta NOR conectada directamente a la
senal D.
4.11. Implementar las siguientes funciones:
a) f(a1, a0) = a1 + a1a0
b) f(c, b, a) = abc+ abc+ abc
c) f(c, b, a) = ab+ ac+ abc
d) f(z, y, x) = x+ xz + yz
a) Usando un multiplexor 4 a 1 (4 entradas con 2 lıneas de seleccion 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.
Solucion
a) Usando un multiplexor (4 entradas con 2 lıneas de seleccion y una salida) y los in-
versores necesarios.
La solucion se muestra en la Fig. 4.15.
4. Circuitos Combinacionales 55
(a) (b) (c) (d)
Figura 4.15: Implementacion 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 solucion se muestra en la Fig. 4.16.
(a) (b) (c) (d)
Figura 4.16: Implementacion de las funciones con decodificadores
4.12. Se pretende visualizar en los diplays la representacion en codigo octal de dos dıgitos
(unidades y octenas) correspondientes a un numero A(0..3) de 4 bits codificado en binario
natural.
Solucion
Se trata de realizar un cambiador de codigo de binario natural de 4 bits a octal de dos ci-
fras. La tabla siguiente representa el numero de entrada en binario natural y las unidades
y octenas del numero en octal de dos cifras.
Analizando la tabla y utilizando dos displays y conversores de codigo con las conexiones
oportunas se llegarıa a visualizar el la informacion obtenida.
4. Circuitos Combinacionales 56
A3 A2 A1 A0 OCTENAS UNIDADES
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 0 1 0
0 0 1 1 0 0 0 0 0 0 1 1
0 1 0 0 0 0 0 0 0 1 0 0
0 1 0 1 0 0 0 0 0 1 0 1
0 1 1 0 0 0 0 0 0 1 1 0
0 1 1 1 0 0 0 0 0 1 1 1
1 0 0 0 0 0 0 1 0 0 0 0
1 0 0 1 0 0 0 1 0 0 0 1
1 0 1 0 0 0 0 1 0 0 1 0
1 0 1 1 0 0 0 1 0 0 1 1
1 1 0 0 0 0 0 1 0 1 0 0
1 1 0 1 0 0 0 1 0 1 0 1
1 1 1 0 0 0 0 1 0 1 1 0
1 1 1 1 0 0 0 1 0 1 1 1
4.13. Disenar un circuito que ante dos entradas de cuatro bits (X e Y) presente a su salida (Z) el
menor de ambos. Para el diseno se emplearan comparadores de cuatro bits y multiplexo-
res de dos canales de cuatro bits cada uno.
Solucion
Para detectar el menor de dos numeros de cuatro bits se emplea un comparador de 4 bits.
La salida > detecta que numero 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 numeros
4. Circuitos Combinacionales 57
4.14. Disenar un circuito que permita introducir dos numeros decimales A y B y visualizar en
un display 7 segmentos el mayor de ellos. Si ambos resultaran iguales, no se visualizarıa
nada.
Solucion
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 segun 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.
Cuadruple multiplexor 2:1.
Visualizar en un display de 7 segmentos la senal elegida, solo si A=B no se represen-
tara nada, esto se logra conectando la lınea A=B a la entrada BI.
Figura 4.18: Representa el mayor de dos numeros decimales
4.15. A partir de un comparador de 2 bits con la senal de habilitacion, y si es necesario de
puertas logicas, como elementos de diseno. Disenar un comparador:
a) De 3 bits
b) De 5 bits
Solucion
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 expresion de la funcion combinacional a la salida de estos 2 circuitos. De-
mostrar si ambos son equivalentes.
2. Dado el diagrama logico de la figura:
a) Determinar la expresion booleana correspondiente a cada una de las funciones de
cuatro variables F y G.
b) Construir un diagrama logico de dos niveles. Verificar si corresponde a la una im-
plementacion mınima y si no lo es construirla.
c) Construir un diagrama logico mınimo que use exclusivamente puertas NAND de
dos entradas.
3. Disenar un circuito combinacional cuya entrada sea un numero binario de tres bits N y
su salida el numero binario Z (con el numero 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 logico utilizando exclusivamente puertas NOR de dos entradas.
4. Circuitos Combinacionales 60
4. Disenar un circuito digital mınimo para construir el bloque conversor de codigo binario
natural a codigo Gray y viceversa para palabras de tres bits que se especifica como sigue:
El sistema posee, ademas de las entradas de la palabra de codigo B, una entrada adicional
C tal que:
Si C=0 la palabra de salida S muestra el codigo Gray correspondiente al codigo bi-
nario natural de la entrada B.
Si C=1, la salida S muestra el codigo binario natural correspondiente al codigo Gray
de la entrada B.
5. Construir un circuito logico 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 farmaceutico, una empresa de marketing propone
el diseno de un sistema digital que realice un test para aconsejar, al potencial cliente, la
conveniencia o no del producto segun los parametros de edad, sexo, tipo de trabajo y
peso. El circuito de evaluacion 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 ninos.
El producto no es perjudicial en el resto de las situaciones.
a) Especificar dicho sistema indicando cuales seran 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 expresion algebraica mınima para la funcion booleana que representa
al sistema y dibujar el correspondiente diagrama logico.
d) Interpretar el significado de la expresion mınima resultante.
7. Se quiere disenar un sistema digital combinacional que transforme un numero binario
expresado en formato signo magnitud en el correspondiente numero binario expresado
en el convenio de complemento a dos. Si se sabe que el tamano del campo de magnitud
de dicho numero 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 expresion normalizada mınima para cada una de las funciones de sali-
da. Justificar por que la expresion obtenida es mınima.
8. Un examen de Circuitos Logicos consta de cinco preguntas numeradas del uno a cinco,
P(1:5). Para calificar dicho examen el profesor quiere disponer de un pequeno sistema
digital combinacional cuyo funcionamiento se especifica de la siguiente manera:
Para que el examen sea corregido en su totalidad sera necesario haber respondido
correctamente a la pregunta P1. En caso contrario sera calificado como Suspenso.
La calificacion final (Suspenso, Aprobado, Notable, Sobresaliente, Matricula de Ho-
nor) se obtendra tras evaluar el resto de preguntas, P(2:5) segun el siguiente criterio:
• Para obtener al menos la calificacion de Aprobado sera 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 calificacion de Notable sera 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 calificacion de Sobresaliente sera necesario haber res-
pondido correctamente las preguntas P5 y P3, y al menos una de las dos restan-
tes.
• Para obtener la calificacion de Matricula de Honor sera necesario haber respon-
dido correctamente todas las preguntas.
• En el caso de no alcanzar al menos la calificacion de Aprobado, esta sera de
Suspenso.
a) Especificar dicho sistema empleando un numero mınimo de variables binarias de
entrada/ salida y describir su significado.
b) Realizar un diseno en dos niveles obtenido a partir de expresiones booleanas mıni-
mas de las funciones de salida. Usar puertas logicas del tipo y numero de entradas
que sea necesario.
c) Realizar un diseno utilizando un multiplexor 8x1 con entrada de habilitacion activa
a nivel bajo y un numero mınimo de puertas logicas. Justificar adecuadamente el
correcto funcionamiento del sistema.
4. Circuitos Combinacionales 62
9. Construir un circuito logico minimizado para convertir un dıgito BCD mas un bit de
signo, a un numero binario expresado en complemento a dos.
10. Disenar un circuito combinacional que tenga como entradas dos numeros binarios de dos
bits A y B, y como salida un numero binario C; tal que:
C = A. Si A contiene mas bits al valor logico uno que B.
C = B. Si B contiene mas bits al valor logico uno que A.
C = 0. Si A y B contienen igual numero de bits al valor logico uno.
Especificar el mınimo numero de niveles de puertas logicas necesarios para su construc-
cion.
11. Dibujar el esquema logico de un multiplexor 4:1 para palabras de dos bits con una lınea
comun de seleccion y una entrada de habilitacion.
12. Implementar con un decodificador adecuado y la logica externa necesaria las siguientes
funciones booleanas:
F1 = (xyz + xz)
F2 = (xyz + xy)
F3 = (xyz + xy)
Implementar las funciones anteriores con un multiplexor adecuado.
13. Obtener el comportamiento del circuito mostrado a continuacion.
14. Implementar la funcion F = M · C +A · C +A · B ·M
a) Con un unico decodificador y una unica puerta logica (ambos a su eleccion).
b) Utilizando unicamente dos multiplexores de 4 entradas de datos.
15. A partir del analisis del siguiente circuito comprobar el cronograma adjunto suponiendo
que las puertas no tienen retardo.
4. Circuitos Combinacionales 63
16. Implementar la funcion F (x, y, w, z) =∏
4(0, 1, 4, 6, 7, 8, 9, 12) utilizando unicamente el
multiplexor de la figura.
17. Analizar el circuito de la figura y obtener la expresion mınima como producto de suma de
la funcion F(A,B,C,D). Disenar un circuito que implemente la misma funcion utilizando
unicamente puertas logicos NOR.
4. Circuitos Combinacionales 64
18. Implementar un decodificador binario de 4 a 16 lıneas con entrada de habilitacion EN
activa en bajo. Se dispone de decodificadores binarios de 3 a 8 lıneas (74LS138). Dibuje el
esquema del circuito disenado realizando las conexiones necesarias entre los decodifica-
dores. No se puede utilizar puertas adicionales.
Figura 4.21: Sımbolo 74LS138
19. Implementar la siguiente funcion booleana:
F (a, b, c, d) =∑
4
(0, 3, 5, 6, 8, 9, 14, 15)
a) Con multiplexores 8x1 y la logica adecuada.
b) Con decodificadores 3:8 y puertas OR.
20. Encontrar la solucion mınima de un circuito combinacional que tiene por entradas un
numero codificado en BCD de 4 bits (x3,x2,x1,x0) y una senal de control (C). Si la senal de
control toma el valor cero y el numero BCD es mayor o igual que 5 la salida vale uno y si
es menor que 5 la salida vale cero. Si la senal de control toma el valor uno y el numero de
entradas es menor o igual que 5 la salida vale uno y si es mayor que 5 la salida vale cero.
21. Disenar un codificador de prioridad de cuatro entradas, para el que la lınea D0 sea la mas
prioritaria y D3 la menos. Obtener un circuito de dos niveles.
22. Disenar, utilizando exclusivamente multiplexores, un circuito combinacional capaz de
realizar el complemento a 2 de un numero de 3 bits o el complemento a 1 o dejarlo como
esta en funcion de un par de senales S1 y S0 de la forma siguiente:
S0 S1 Funcion
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 logico de la figura corresponde a una realizacion de la funcion booleana
F(a,b,c,d,e). Obtener una expresion booleana mınima para F y justificar que lo es.
24. Basandonos en un comparador de cuatro bits en binario puro, disenar un nuevo compa-
rador para numeros de 4 bits en complemento a 2. Para ello, ademas del comparador de
cuatro bits en binario puro indicado, se podran utilizar otros modulos combinacionales
basicos y/o puertas logicas.
25. El circuito de la Fig. 4.22 ha sido propuesto por un alumno como respuesta al siguiente
enunciado: Disenar un sistema digital para comparar las magnitudes de dos numeros
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 diseno
propuesto para que sea correcto.
b) Obtener una expresion mınima para Z en forma de producto de sumas.
c) Realizar un diseno correcto de sistema utilizando el menor numero posible de deco-
dificadores 3:8 y puertas OR de dos y tres entradas. Justificar su funcionamiento.
d) Realizar la funcion utilizando el menor numero posible de multiplexores 2x1.
Figura 4.22: Circuito logico propuesto
Capıtulo 5
Circuitos Combinacionales Aritmeticos
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 o diferencia (d) y la que se lleva (c) de la pareja actual de bits. Se
pretende disenar 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 funcion d empleando solo puertas OR EXCLUSIVA de dos entradas.
d) Realizar la funcion c empleando un multiplexor de 4 entradas de datos.
Solucion
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 aritmetica
66
5. Circuitos Combinacionales Aritmeticos 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) Simplificacion por Karnaugh
d
00
11
12
03
14
05
06
17
m
s
c′c
00
11
12
13
04
05
06
17
m
s
c′
c = ms+mc′ + sc′
Tablero de ajedrez −→ OR Exclusiva
d = msc′ +msc′ +msc′ +msc′
c) Realizar la funcion d con puertas OR EXCLUSIVA
d = msc′+msc′+msc′+msc′ = (ms+ms) c′+(ms+ms)c′ = (m⊕s)c′+(m⊕ s)c′ =
m⊕ s⊕ c′
d) Realizar la funcion 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 Aritmeticos 68
La funcion del multiplexor:
z = I0S1 S0 + I1S1S0 + I2S1S0 + I3S0S1 (5.1)
La funcion 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 expresion (5.2) segun los productos canonicos de m y s.
c = ms+mc′ + sc′ =
= ms+m(s+ s)c′ + (m+m)sc′ =
= ms+msc′ +msc′ +msc′ +msc′ =
= ms(1 + c′ + c′) +msc′ +msc′ = ms+msc′ +msc′ =
= c′ms+ 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. Disenar un convertidor de codigo que pase numeros codificados en BCD AIKEN al codi-
go BCD NATURAL. Utilizar para su implementacion solamente sumadores completos de
cuatro bits.
Solucion
La tabla expresa la relacion entre el codigo BCD NATURAL y el codigo BCD AIKEN.
5. Circuitos Combinacionales Aritmeticos 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(BCDNATURAL)
Conclusion:
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 Aritmeticos 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 numero X de un bit (x1) con el mayor
de los dos numeros Y (y1) y Z (z1). Si los numeros Y y Z son iguales, el resultado ha de
ser igual al numero X.
Solucion
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. Disenar el circuito necesario (con puertas logicas) para obtener, a partir de las salidas G y
P de circuitos 74391 o 74182, el ultimo acarreo de un proceso de suma (Cn+4)
Solucion
En los circuitos 743381 y 47182 las salidas G y P tienen la siguiente expresion:
G = G3 +G2P3 + P3P2G1 + P3P2P1G0
P = P3P2P1P0
5. Circuitos Combinacionales Aritmeticos 71
El siguiente acarreo, tras Cn+z serıa;
Cn+4 = G3 +G2P3 +G1P3P2 +G0P3P2P1 + P3P2P1P0Cn = G+ PCn = GPCn
La solucion 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 numeros (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.
¿Que resultado se obtendra a la salida?
b) Sin ninguna modificacion en el circuito, se introducen los numeros A y B codificados
en complemento a uno por error (A=1110101 y B=0110110 ya en complemento a uno)
¿Cual sera en este caso el resultado a la salida?
Solucion
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 Aritmeticos 72
a) Suponer que A=1110101 y B= 0110110, ambos ya codificados en complemento a dos.
¿Que resultado se obtendra a la salida?
El acarreo suma bit a bit con acarreo inicial nulo. Ampliando el signo se obtiene.
b) Sin ninguna modificacion en el circuito, se introducen los numeros A y B codificados
en C-1 por error (A=1110101 y B=0110110 ya en complemento a uno) ¿Cual sera en
este caso el resultado a la salida?
El circuito suma bit a bit, y como los operandos son identicos a los del apartado
anterior, el resultado binario tambien sera 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 numero introducido es mayor o igual
que 5 se le suma 3, en caso contrario se le suma 2. Disenar el circuitos logico.
Solucion
Figura 5.2: Circuito logico que realiza la suma de dos dıgitos BCD
5. Circuitos Combinacionales Aritmeticos 73
5.7. Sean A y B dos numeros binarios de 4 dıgitos. Disenar el circuito aritmetico que gene-
re la funcion F(A,B) = 2A + 3B. Debe utilizarse para ello el menor numero posible de
componentes combinacionales estandar del numero de bits que sea necesario
Solucion
0 b�����b�
b�...b�0
43210 43210
C1 SUMADOR C0
S4 S3 S2 S1 S0
543210 5 43210
C1 SUMADOR C0
6 5 4 3 2 1 0
0
0
Peso 4 3 2 1 0
A: a� a� a� a�
B: b� b� b� b�
2A: a� a� a� a� 0
2B: b� b� b� b� 0
0 a�� ��a�0
S� S� S S� S� S� S�
Figura 5.3: Circuito digital que realiza la funcion F(A,B) = 2A + 3B
5. Circuitos Combinacionales Aritmeticos 74
EJERCICIOS PROPUESTOS
1. Construir un convertidor de codigo BCD natural → BCD exceso a 3 con sumadores pa-
ralelo de 4 bits. Convertir el circuito disenado 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, disena un circuito que permita comparar dos numeros
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 numeros
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 modulos sumador/restador un cir-
cuito combinacional cuya entrada sean dos numeros binarios sin signo de cuatro bits y
una senal de seleccion S/R y su salida sea un numero binario expresado en formato signo
magnitud del tamano necesario para evitar el desbordamiento en la suma.
6. Disenar 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 numero es o no multiplo de
tres.
7. Disenar un circuito sumador/restador de 16 bits con acarreo paralelo, con un terminal
de control de seleccion 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
numeros vienen representados segun el convenio Ca2. Se desea, ademas, que el sistema
posea una senal de salida que advierta de los posibles desbordamientos.
5. Circuitos Combinacionales Aritmeticos 75
Suponganse que al sistema disenado se introducen dos numeros de 16 bits (A y B) siem-
pre positivos. Demuestrese que, en este caso, al hacer la operacion A-B, si se observa el
acarreo final, este indica si A es mayor o menor que B (toma valor 1 en el primer caso y 0
en el segundo)¿Que valor toma dicho acarreo si A=B?
8. Se desea realizar un sumador de dos numeros escritos en BCD con dos dıgitos cada uno
que llamaremos A y B para el primer numero (dıgito mas significativo es A y menos
significativo es B), y C y D para el segundo numero (dıgito mas significativo es C y menos
significativo D). El resultado debe obtenerse en tres dıgitos BCD, E, F y G . El sumador se
realizara conectando bloques de sumadores individuales de dos dıgitos BCD con acarreo
de entrada y de salida.
9. Disenar 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 estan representados en el sistema
complemento a uno. Incluir una senal de overflow.
Utilizar los siguientes componentes:
Un sumador de seis bits.
Las puertas logicas que considere necesarias
10. Usando un unico sumador de 4 bits, disenar 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 numeros 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 diseno debes usar unicamente un sumador con propagacion de acarreo de 4 bits
y las puertas logicas que consideres necesarias
Anadir a la ALU disenada en el apartado anterior la logica necesaria para calcular los
siguientes bits de condicion:
O′: Overflow si los numeros de entrada son naturales.
O: Overflow si los numeros de entrada son enteros.
N: Signo si los numeros de entrada son enteros. N=1 si el resultado de la operacion
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 bascula SR construida a partir de puertas NAND se muestra en la Fig. 3d. Determinar
los niveles logicos 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: Bascula SR
Solucion
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 funcion.
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.
Solucion
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 senal X la salida del biestable pasara a valer Qt+1 = Qt.
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-
lucion de las entradas dadas, suponiendo que todos los elementos son ideales (todas las
caracterısticas temporales son nulas).
Solucion
a)
CLK
PR
CLR
J
K
Q
b)
CLK
PR
CLR
Q
c)
CLK
PR
CLR
D
Q
6. Sistemas Secuenciales: Biestables 80
d)
CLK
PR
CLR
R
S
Q
6.4. En el circuito de la figura 6.2 donde los biestables D son Master-Slave considerando que
inicialmente todos los biestables estan puestos a 1 (Q=1), y que tienen un tiempo no nulo,
se pide completar el cronograma respecto de la evolucion del reloj en los puntos A, B y C
del circuito.
Figura 6.2: Circuito formado por dos biestables D
Solucion
CLK
A
B
C
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 senal 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 tendran en Q1 y Q2,
en respuesta a la senal de reloj indicada.
b) Teniendo en cuenta los retardos y tiempos de establecimiento, calcular la maxima
frecuencia de la onda cuadrada que puede aplicarse a la entrada de reloj, sin que el
funcionamiento del circuito sea incorrecto.
Solucion
a) Las ecuaciones excitacion 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
Q2
Q1
b) La maxima 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
excitacion de D1 es a traves de 2 puertas:
Tmin = tpb + 2tpp + tsu = 45ns
fmax = 1/Tmin = 1/45ns = 22,2MHz
6.6. Determinar la evolucion de las salidas Q1 y Q2 para los siguientes circuitos (figuras 6.4 y
6.5). Se supondra que ambos biestables son activos por flanco y que todas las caracterısti-
cas temporales son nulas. Se parte de la situacion Q1=Q2=0.
Solucion
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 senal de reloj y el de la derecha con los flancos de subida de
la senal Q1. Por lo tanto se debe empezar por la senal 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 senales de entrada especificadas completar el cronograma
que se adjunta.
Solucion
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 senal del reloj. En el segundo biestable JK,
J=K=S1, conmutaran de estado si S1=1 y mantendran el estado anterior si S1=0, siempre
durante los flancos de bajada.
CLK
PR
CLR
D
Q1
Q2
6.8. El circuito de la figura 6.7 es un contador de codigo Johnson modificado, formado por 3
flip.plops J-K activos en le flanco de subida de la senal 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 codigo Johnson modificado
6. Sistemas Secuenciales: Biestables 85
Solucion
La solucion 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
Solucion
La solucion 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 funcion que realiza el circuito.
Solucion
a) La evolucion temporal de las diferentes salidas es la indicada en la figura ??
CLK
Q0
Q1
Q2
Q3
C
b) Indicar la funcion 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 anadiendo la logica externa adecuada.
3. Convertir un flip-flop D en un flip-flop T anadiendo la logica externa adecuada.
4. Convertir un flip-flop T en un flip-flop JK anadiendo la logica externa adecuada.
5. Convertir un flip-flop T en un flip-flop D anadiendo la logica externa adecuada.
6. Un biestable JN tiene dos entradas, J y N. J se comporta de manera identica 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 excitacion.
6. Sistemas Secuenciales: Biestables 88
7. Dado un hipotetico flip-flop PK definido por la ecuacion de transicion siguiente:
Q = P K + qP + PKq
Obtener:
a) Su tabla de excitacion.
b) Implementarlo utilizando un flip-flop JK y la logica adecuada.
8. Analizar el siguiente circuito secuencial. Ademas del analisis, 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 senales internas no esten 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 tendran las siguientes caracterısticas temporales, segun 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 esta formado por Flip-flops y puertas logicas
cuyas caracterısticas son:
Tiempo de propagacion de las salidas desde el flanco activo: 20 ns
Tiempo de set-up: 5 ns
Tiempo de hold: 5 ns.
Puertas logicas: Tiempo de propagacion: 10 ns
Figura 7.1: Contador binario
¿Funcionarıa este circuito correctamente con una senal de reloj de 1MHz? En caso de
contestar afirmativamente a la pregunta, calcule cual serıa la frecuencia maxima de fun-
cionamiento de este circuito.
Solucion
90
7. Sistemas Secuenciales: Registros y Contadores 91
El circuito funcionarıa correctamente. Su frecuencia maxima de funcionamiento serıa:
fmax =1
Tset−up + Thold + 2 ∗ Tppuerta + tpbble= 200MHz
7.2. Indicar cual es el modulo 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
Solucion:
Una aplicacion de los registros de desplazamiento es la de realizar contadores cuyas sa-
lidas representan codigos distintos del binario. Un contador tiene modulo M cuando sus
salidas presentan M combinaciones distintas.
a) En este caso las entradas del registro toman los siguientes valores:
CLR: Esta entrada esta unida a un circuito RC que hace que al conectar el circuito a
la alimentacion se genere un 0 en el instante inicial y posteriormente se tendra un 1
de forma permanente. Los valores de las distintas entradas son:
J = QD
S/L = 1
K = QCQD
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 funcion de J y K, los valores que toman las salidas
QA, QB , QC y QD en funcion de la senal de reloj (CLK) es la que se indica en la
siguiente tabla, resultando un contador de modulo 8.
RELOJ J /K QA QB QC QD Funcion 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 alimentacion se genere un 0 en el instante inicial y posteriormente se tendra un 1
de forma permanente. En este caso se cumple:
J = K = QC
S/L = QD
A = QC
B = D = 0
C = QC
En funcion del valor de QD se producira desplazamientos o se almacenara el valor
de la entradas (tengase presente que S/L = QD). Los valores que toman las salidas
QA, QB , QC y QD en funcion de la senal de reloj (CLK) es la que se indica en la
siguiente tabla, resultando un contador de modulo 6.
RELOJ J /K QA QB QC QD Funcion 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 = QBQC
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 funcion de la senal de reloj (CLK) es la que se indica en la siguiente tabla,
resultando un contador de modulo 6.
RELOJ J /K QA QB QC QD Funcion 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 alimentacion se produce le borrado de las salidas del circuito, y a
continuacion se desactiva la senal CLR. El modo desplazamiento esta activado (ya
que S/L=H). El modo de desplazamiento depende del nivel de las senales J y K, las
cuales estan conectadas a las salidas QD y a su complementaria respectivamente,
por lo que solamente se podran dar dos combinaciones, HL o LH. La evolucion se
muestra en la siguiente tabla, siendo su modulo 15.
7. Sistemas Secuenciales: Registros y Contadores 95
RELOJ J /K QA QB QC QD Funcion que se realiza
Inicio 1 0 0 0 0 0 Clear inicial (CLR=0)
↑ 1 0 1 0 0 0 Inversion 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 Inversion de QA
↑ 0 1 1 1 0 0 Mantiene QA
↑ 1 0 0 1 1 0 Inversion 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 Inversion de QA
↑ 0 1 0 0 1 1 Mantiene QA
↑ 0 1 0 0 0 1 ”
↑ 0 1 0 0 0 0 ”
7.3. Disenar 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.
Solucion:
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 modulo
8. Se decodifica el primer estado no deseado, 110: Q2Q1Q0 y por ultimo se conecta la
7. Sistemas Secuenciales: Registros y Contadores 96
salida de la NAND a los CLEAR de los J-K. Otra posible solucion mas optimizada, serıa
utilizar una NAND de dos entradas, con Q2 y Q1 para decodificar el 6, puesto que la senal
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) Ampliandolo de forma sıncrona.
b) Ampliandolo de forma asıncrona.
Nota: La ampliacion debera realizarse por medio de las senales de Reset y Load.
Solucion:
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 modulos.
a) Ampliandolo 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 unica entrada de CLR y LOAD se
deben unir las de los tres circuitos integrados. La solucion se muestra en la Fig. 7.4.
b) Ampliandolo de forma asıncrona.
Para obtener un contador asıncrono la senal de reloj (CLK) se aplica a la entrada CLK
del modulo de menor peso y la salida RCO de este a la entrada CLK del siguiente
y ası sucesivamente. Solo 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 union de ambos
terminales. En la ampliacion asıncrona no se utilizan los terminales de entrada ENP
y ENT, por lo tanto hay que elevarlas al nivel logico en que se inhabilitan. Al igual
que en el caso de ampliacion sıncrona si se pretende tener una unica entrada de CLR
y LOAD se deben unir las de los tres circuitos integrados. La solucion se muestra en
la Fig. 7.6.
7. Sistemas Secuenciales: Registros y Contadores 97
Figura 7.4: Ampliacion sıncrona
Figura 7.5: Ampliacion asıncrona
7.5. Disenar un contador un contador modulo (85)10 a partir del contador 7490.
Solucion:
El diseno de un contador modulo 85, se obtiene modificando el contador modulo
100, para lo cual se escribe el equivalente BCD del valor del modulo, en este caso
8510=1000 0101BCD , y se detecta a traves de una puerta AND, para eso se realimentan
las salidas que generan los unos del numero BCD obtenido, en este caso: QD de las de-
cenas, QC y QA de las unidades. La conexion con la puerta OR sirve para reiniciar el
circuito al conectar la alimentacion.
7. Sistemas Secuenciales: Registros y Contadores 98
Figura 7.6: Contador de modulo 85
7.6. A partir de un registro 74LS194 de desplazamiento se ha disenado un contador como el
indicado en la siguiente figura. Completar la tabla de evolucion de los estados del conta-
dor tras los ocho primeros ciclos de reloj indicando en modulo del contador obtenido.
Figura 7.7: Registro 74LS194
Solucion:
7. Sistemas Secuenciales: Registros y Contadores 99
El circuito de la figura partira del codigo cero debido a que al conectar la alimentacion la
red RC forzara el borrado de las salidas. A continuacion , dado que S1=H y S0=QA, las
unicas 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 sera 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 Funcion que se realiza
conexion alimentacion 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 senal de clear (CLR) es asıncrona, y la de
LOAD sıncrona, se desea disenar un contador que siga la secuencia: 3,4,5, . . . , 11,12,3,4,
. . .
Notas:
Todos los codigos generados deben tener la misma duracion.
Cuando se conecte la alimentacion, la cuenta se debe iniciar con el codigo 3.
Solucion:
Dado que la secuencia se debe iniciar con el codigo 3, al conectar la alimentacion se debe
provocar la carga de dicho codigo, lo cual se conseguira con una red RC, lo cual se con-
seguira con una red RC que mantenga activa la senal de LOAD inicialmente un tiempo
suficiente para que se produzca un flanco de subida de la senal de reloj. Por tanto, hay
que disenar un circuito, en que la senal de carga, que genere un nivel bajo al conectar la
7. Sistemas Secuenciales: Registros y Contadores 100
alimentacion y al detectar el codigo 12 en las salidas del contador. Las senales de habili-
tacion deberan estar conectadas a nivel alto para permitir la cuenta y la de borrado, CLR,
se llevara a este mismo nivel para que permanezca inactiva. La solucion 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. Disenar 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 logica adicional que considere
necesaria. El sistema se supone que inicialmente esta en 0000. Una vez que llega una senal
asıncrona de duracion 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 senal 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 mas 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, ¿cual serıa el retardo mas largo?
3. Disenar un contador sıncrono utilizando biestables J-K que efectue 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. Disenar 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. Disenar un contador sıncrono modulo 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 maxima de trabajo del circuito.
DATOS: tSU(/LD) = 25ns tPmax(/RCO) = 35ns tSU(U/D) = 30ns tpmax(Q) = 32ns
tSU(DATA) = 20ns tPmax(INV ) = 15ns
Figura 7.9: CI 74LS169
Figura 7.10: Cronograma del CI 74LS169.
7. Sistemas Secuenciales: Registros y Contadores 103
7. Disenar un contador sıncrono de 3 bits que funcione de la forma siguiente:
Dispone de 2 senales de control: ENABLE y MODE
Si ENABLE=1 el contador funciona segun la senal MODE.
Si ENABLE=0 el contador para la cuenta y se pone la salida a valor 0.
Si MODE=0 es un contador segun: 1,3,7,6,4,1,....
Si MODE=1 es un contador segun: 1,4,6,7,3,1,....
8. Se dispone del circuito de la figura:
a) Obtener la maxima frecuencia de funcionamiento de dicho circuito suponiendo los
siguientes valores de temporizacion. tpAND = 1,5ns; tpNAND = 1ns; tpXOR = 1,5ns;
tpffD = 1ns; tsetupffD = 2ns
b) Obtener justificadamente el maximo 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-
bucion uniforme. Indique claramente los motivos de fallo sobre un cronograma.
9. Convertir el codigo binario, de longitud de palabra 4 bits, a su codigo Gray correspon-
diente, y disenar un contador utilizando biestables JK y puertas NAND para generar este
codigo.
10. En el sistema que aparece a continuacion 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 informacion representar en un cronograma la secuencia que sigue
la salida del sistema Q[3...0], junto con la evolucion de las senales TOGGLE y DIR.
7. Sistemas Secuenciales: Registros y Contadores 104
b) Indicar razonadamente cual es el modulo del contador implementado en el sistema,
no el del 74LS190.
Figura 7.11: Descripcion de funcionamiento del CI 74LS190
Capıtulo 8
Sistemas Secuenciales: Diseno
8.1. Disenar e implementar el automata de Mealy capaz de detectar tres o mas unos consecu-
tivos en la lınea de entrada E.
Solucion:
Diagrama de transicion de estados:
q0 q1 q2
0/0
1/0
0/0
1/1
0/0
1/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 o un 1, ¿avanza, regresa o 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 o 1, ¿avanza, regresa o se queda?
Con un 0, regresa a q0. La salida es un cero.
105
8. Sistemas Secuenciales: Diseno 106
Con un 1 avanza. Se crea un nuevo estado, q2, y la salida es 0.
Estando en q2 la entrada puede ser 0 o 1, ¿avanza, regresa o 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 ademas hay que decidir cual 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 volvera a poner a 1. No son necesarios otros tres 1, valen los dos ultimos 1 de la
anterior secuencia.
Tabla de transicion 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 codificacion de estados:
Q1 Q0
q0 00
q1 01
q2 10
x 11
Con esta asignacion 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: Diseno 107
Tabla de excitacion 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
J1
00
01
X2
X3
04
15
X6
X7
E
Q1
Q0K1
X0
X1
12
X3
X4
X5
06
X7
E
Q1
Q0J0
00
X1
02
X3
14
X5
06
X7
E
Q1
Q0
K0
X0
11
X2
X3
X4
15
X6
X7
E
Q1
Q0S0
00
01
02
X3
04
05
16
X7
E
Q1
Q0
Tras simplificar por Karnaugh:
J1 = E ·Q0 K1 = E0
J0 = E ·Q1 K0 = 1
S0 = E ·Q1
8. Sistemas Secuenciales: Diseno 108
Q0
Q1
Figura 8.1: Circuito detector de la secuencia 111 (Maquina de Mealy)
8.2. Se quiere disenar un automata de Moore que reciba datos en serie por una lınea de entra-
da y sea capaz de detectar secuencias de tres o mas unos consecutivos.
Solucion
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 ningun 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 mas 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: Diseno 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 ningun 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 ningun 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:
q0/0 q1/0
q2/0
0
1
1
0
0
1
1q3/1
0
Como hay 4 estados se necesitan 2 flip-flops, y cada estado se codificara con una combi-
nacion de 2 bits. La asignacion 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 continuacion debemos calcular la exci-
tacion que es necesario aplicar a cada una de estas entradas para obtener las transiciones
buscadas y realizar su simplificacion.
8. Sistemas Secuenciales: Diseno 110
Tabla de transicion 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 codificacion de estados:
Q1Q0
q0 00
q1 01
q2 10
q3 11
Con esta asignacion 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: Diseno 111
Tabla de excitacion 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
D1
00
01
02
03
04
15
16
17
X0
Q1
Q0D0
00
01
02
03
14
05
16
17
X0
Q1
Q0Z0
00
01
02
13
04
05
06
17
X0
Q1
Q0
Tras simplificar por Karnaugh:
D1 = Q0 ·X0 +Q1 · E
D0 = Q1 ·X0 +Q0 ·X0
A continuacion calculamos la funcion de salida. En este caso, al tratarse de un automata
de Moore, la salida solo depende del estado interno.
Z0 = Q0 ·Q1
Por ultimo, 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: Diseno 112
Figura 8.2: Circuito detector de la secuencia 111 (Maquina de Moore)
8.3. Se quiere disenar un automata de Mealy que realice la suma de dos datos que llegan en
serie por dos canales diferentes.
Solucion
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-
cion 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 elaboracion del grafo del automata, 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: Diseno 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.
Segun 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 o 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 sera 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 o 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 sera q0, porque el primer acarreo es 0.
Esta descripcion se corresponde con el grafo siguiente:
q0 q1
00/0
11/0
00/1
10/0
01/1
10/1
11/1
01/0
Tabla de transicion 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: Diseno 114
Tabla de codificacion de estados:
Q0
q0 0
q1 1
Como hay 2 estados, sera suficiente con 1 biestable. La asignacion 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 excitacion 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:
J0
00
X1
02
X3
04
X5
16
X7
X0
X1
Q0K0
X0
11
X2
03
X4
05
X6
07
X0
X1
Q0Z0
00
11
12
03
14
05
06
17
X0
X1
Q0
8. Sistemas Secuenciales: Diseno 115
A continuacion calculamos la funcion logica de la salida del circuito, Z(t), a partir de la
informacion 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 informacion necesaria para implementar el circuito, que se muestra
en la Fig. 8.3.
Figura 8.3: Implementacion del automata (sumador serie)
8.4. Un coche gobernado por control remoto esta 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 movera hacia atras,
aunque se hayan dejado de presionar los botones.
Habra que disenar una maquina de Moore, que realice las secuencias disenadas. Para ello
se pide:
a) Diagrama de estados del circuito, indicando el significado de cada uno.
b) Disenar y dibujar el circuito como maquina de Moore con biestables J-K con flanco
activo en bajada y la logica que se estime necesaria.
Solucion
8. Sistemas Secuenciales: Diseno 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 atras → D=0; T=1
q0/00 q1/00 q2/00
0X
10
01
X0
01
11
11
10
11
Tabla de transicion 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 codificacion de estados:
8. Sistemas Secuenciales: Diseno 117
Q1Q0
q0 00
q1 01
q2 10
X 11
Con esta asignacion 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 excitacion 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: Diseno 118
Los mapas de Karnaugh quedarıan:
J1 :
00
01
X2
X3
04
05
X6
X7
08
09
X10
X11
112
113
X14
X15A
B
Q1
Q0K1 :
X0
X1
02
X3
X4
X5
16
X7
X8
X9
110
X11
X12
X13
014
X15A
B
Q1
Q0
J0 :
00
X1
02
X3
04
X5
06
X7
18
X9
110
X11
012
X13
014
X15A
B
Q1
Q0K0 :
X0
01
X2
X3
X4
15
X6
X7
X8
09
X10
X11
X12
113
X14
X15A
B
Q1
Q0
Tras simplificar por Karnaugh:
J1 = A · B K1 = AB +AB = A⊕B
J0 = A · B K0 = B
Las salidas solo dependen del estado actual (maquina de Moore): D=Q0 y T=Q1
Figura 8.4: Circuito logico implementado con biestables J-K
8. Sistemas Secuenciales: Diseno 119
8.5. Disenar e implementar el automata 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 debera tomar el valor correspondiente al criterio enunciado,
durante los dos primeros bits, arbitrariamente, la salida valdra cero.
¿Como sera el automata de Moore correspondiente?
Solucion
Debido a que se trata de un generador de paridad serie, el bit generado ha de cumplir el
criterio de transmision.
Por ejemplo, para tres bits un criterio de paridad par, es que el numero 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 transicion de estados consiste en abrir caminos para
cada bit recibido. Por ejemplo, si el automata esta en q4 es que ha recibido 10 por la
entrada. Si estando en q4 se recibe un 1 por la entrada, lo recibido sera 101, y por tanto la
salida sera 0. Ademas el nuevo estado sera q0, para desde el empezar a recibir los tres bits
del siguiente paquete de informacion. 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 transicion 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: Diseno 120
0/0
1/1
1/0 0/0
0/0
1/0 1/0
1/0
q1
0/1
q0
q2
q3 q4
0/0
Tabla de codificacion 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 asignacion 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: Diseno 121
Tabla de excitacion 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:
J2 :
00
11
02
03
X4
X5
X6
X7
08
09
110
011
X12
X13
X14
X15E
Q2
Q1
Q0K2 :
X0
X1
X2
X3
14
X5
X6
X7
X8
X9
X10
X11
112
X13
X14
X15E
Q2
Q1
Q0
8. Sistemas Secuenciales: Diseno 122
J1 :
10
01
X2
X3
04
X5
X6
X7
08
19
X10
X11
012
X13
X14
X15E
Q2
Q1
Q0K1 :
X0
X1
02
13
X4
X5
X6
X7
X8
X9
110
111
X12
X13
X14
X15E
Q2
Q1
Q0
J0 :
00
X1
12
X3
04
X5
X6
X7
18
X9
010
X11
012
X13
X14
X15E
Q2
Q1
Q0K0 :
X0
11
X2
13
X4
X5
X6
X7
X8
09
X10
111
X12
X13
X14
X15E
Q2
Q1
Q0
S0 :
00
01
02
03
14
X5
X6
X7
08
09
010
111
012
X13
X14
X15E
Q2
Q1
Q0
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: Diseno 123
Figura 8.5: Automata de Mealy. Generador de paridad par
8. Sistemas Secuenciales: Diseno 124
Automata de Moore
El automata de Moore tendra 7 estados. En Mealy las salidas van asociadas a la transicion,
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 este presente la nueva entrada. En este mismo instante,
sin llegar un nuevo flanco, el automata puede decir cual sera la salida. Mealy se adelanta
al flanco para obtener la salida.
Moore necesita tres flancos. Aunque llegue el tercer bit, este no sera procesado hasta el
siguiente flanco; es mas lento y ordenado; primero llega el bit y despues da la salida.
8. Sistemas Secuenciales: Diseno 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. Disenar 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: Diseno 126
Z = 1 ⇒ (1, 2, 3, 1, 2, 3, . . .)
En el diseno debe aparecer el diagrama de estados, tabla de transicion, simplificacion
de funciones y esquema final del contador. NOTA: las transiciones no contempladas en el
diagrama de estados pueden establecerse de manera que favorezcan al maximo la simplificacion
de las funciones por el metodo de Karnaugh.
4. Disenar 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 diseno debe aparecer el diagrama
de estados, la tabla de transicion, la simplificacion de funciones y esquema logico 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 esta especificado por las siguientes ecuaciones:
A(t+ 1) = XY +X ·A(t)
B(t+ 1) = X ·B(t) + x · ×A(t)
Z = B
a) Dibujar el diagrama logico del circuito.
b) Construir su tabla de estados.
c) Construir un diagrama de estados.
6. Disenar 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 segun 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. Disenar 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 segun el siguiente diagrama logico:
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: Diseno 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 diseno 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 disenados los
circuitos comprobar que el comportamiento de los estados no usados para verificar que no llevan
a situaciones anomalas en caso de que por causa aleatoria el sistema llegue a los mismos. Usar la
asignacion 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 transicion de estados que recoja el comportamiento del circuito.
b) Construir, a partir de el y la logica adecuada, un sistema secuencial sıncrono que genere a su
salida la secuencia A− > B− > C− > D− > E− > F− > G− > H− > A, cuyos codigos se
muestran en la tabla adjunta.
11. Dado el circuito de la figura:
8. Sistemas Secuenciales: Diseno 128
a) Analizar el sistema y obtener las expresion booleana de las funciones de salida y de excita-
cion de los flip-flops.
b) Obtener su tabla de transicion de estados.
c) Obtener un diagrama de transicion de estados y explicar el comportamiento del circuito.
d) Disenar de nuevo el circuito usando flip-flop tipo JK.
12. Disenar un sistema digital sıncrono, que siga el modelo de Moore, que controle el funcionamiento
de un semaforo 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 semaforo esta en
ambar intermitente.
Si la velocidad de los vehıculos es igual o excede los 40Km/h, el semaforo pasa a ambar no
intermitente.
Si la velocidad de los vehıculos excede los 50Km/h, el semaforo pasa a rojo.
Una vez que el semaforo esta en rojo permanece ası hasta que la velocidad de los vehıculos
baja por debajo de los 20Km/h.
8. Sistemas Secuenciales: Diseno 129
Para detectar la velocidad de los vehıculos que llegan se dispone de un sistema radar que propor-
ciona 4 senales 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. Disenar un circuito con dos entradas, X e Y, que de salida Z=1 cuando en los cuatro ultimos 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.