Documentos de Académico
Documentos de Profesional
Documentos de Cultura
de Circuitos Lógicos
ISBN: 978-84-693-0570-6
Cuenca, 2010
Índice general
2. Algebra de Boole 9
4. Circuitos Combinacionales 41
I
Capı́tulo 1
a) (F F A,7)16
b) (100)5
c) (26,5)8
d) (10,101)2
e) (1001111011)2
Solución
a) (10,375)10
b) (2506)16
1
1. Sistemas de Numeración y Códigos 2
c) (F 10A0)16
d) (7512)8
e) (2506)8
Solución
a) (10,375)10
b) (2506)16 −→ 0010010100000110
c) (F 10A0)16 −→ 11110001000010100000
d) (7512)8 −→ 111101001010
e) (2506)8 −→ 010101000110
1.3. Dado la siguiente igualdad: (100)10 = (400)b , determinar el valor de la base b. ¿Cuál es el
valor de (104)10 en la base b?
Solución
100 = 4 · b2 + 0 · b1 + 0 · b0 −→ b = 5
1. Sistemas de Numeración y Códigos 3
Para pasar 104 decimal a base 5, debemos utilizar el método de divisiones iterativas.
(104)10 = (404)5
a) (−123,75)10
b) (199,5)10
c) (42F 80000)16
Solución
a) (−123,75)10
1.5. Determinar el valor decimal del número 11111110 expresado en el formato del convenio
de complemento a 2.
Solución
00000010 −→ (2)10 Su complementado serı́a (−2)10
Solución
(554)10 −→ 0000001000101010
(−554)10 −→ 1111110111010110
1.7. Codificar en complemento a 1 (C-1) y complemento a 2 (C-2) los siguientes números de-
cimales: 7, -7, 39, -39, 1 , -1, 0.
Solución
+7 -7 39 -39 1 -1 0
C-1 0111 1000 0100111 1011000 01 10 00/11
C-2 0111 1001 0100111 1011001 01 11 00
a) Complemento a uno
b) Complemento a dos
1. Sistemas de Numeración y Códigos 5
Solución
a) Complemento a uno1
11001C1 +11101C1 =10111C1
−6 − 2 = −8
b) Complemento a dos
11001C2 +11101C2 =10110C2
−7 − 3 = −10
1.9. Realizar la resta de los números A=11001 y B = 11101, representados en palabras de 5 bits
si su sistema de representación es:
a) Complemento a uno
b) Complemento a dos
Solución
a) Complemento a uno
11001C1 -11101C1 =11001C1 +00010C1 =11011C1
−6 + 2 = −4
b) Complemento a dos
11001C2 -11101C2 =11001C2 +00011C2 =11100C2
−7 + 3 = −4
a) [−2n−1 , 2n−1 − 1]
b) [−2n−1 , 2n−1 ]
c) [−(2n−1 − 1), 2n−1 − 1]
1
En complemento a uno se suma el acarreo final al resultado.
1. Sistemas de Numeración y Códigos 6
d) [−2n−1 , 2n−1 + 1]
Solución
El rango de representación en complemento a dos de números binarios es de
[−2n−1 , 2n−1 − 1].
1.11. Codificar del número decimal 18, en códigos binarios de palabra (binario natural y binario
gray) y BCD (natural, aiken y exceso a tres).
Solución
EJERCICIOS PROPUESTOS
a) 215
b) 129
c) 614
3. ¿Cuántos dı́gitos serán necesarios para representar en binario, octal y hexadecimal cada
uno de los siguientes números decimales?
a) 50
b) 1000
c) 5000
d) 1000000
a) (10011)2
b) (10011)3
c) (10011)4
d) (10011)8
e) (10011)16
f ) (215)6
g) (214)8
5. Representar con el menor número posible de bits en los formato complemento a uno y
complemento a dos, los siguientes números enteros:
a) -122
b) 122
c) -64
d) -15
1. Sistemas de Numeración y Códigos 8
e) 37
f ) -37
a) -127
b) 127
c) -64
d) 128
e) 63
f ) -63
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
a) BCD natural
b) BCD exceso a tres
c) BCD AIKEN
10. Obtener un código Johnson para codificar al menos ocho sı́mbolos diferentes
Capı́tulo 2
Algebra de Boole
a) f (a, b, c) = ab + ac + āb̄c
b) f (a, b, c) = (b + acc̄ + āb + abcb̄ + ab̄)(ac̄ + āc̄ + c)
c) f (a, b, c, d) = a + bc + ā + b̄d + c̄d¯
d) f (a, b, c, d) = a + bc + ā + b̄d + bd
¯ (c̄b̄)
e) f (a, b, c, d) = ((ā + b)c̄ + a + b + c + d)
f ) f (a, b) = ā(b + āb̄)
Solución
a) f (a, b, c) = ab + ac + āb̄c
f (a, b, c) = ab + ac + āb̄c =
= a(b + c) + āb̄c =
= ā + b̄c̄ + āb̄c =
= ā(1 + b̄c) + b̄c̄ =
= ā + b̄c̄
9
2. Algebra de Boole 10
d) f (a, b, c, d) = a + bc + ā + b̄d + bd
f (a, b, c, d) = a + bc + ā + b̄d + bd =
= āb̄c + ā + b̄d + bd =
= ā(1 + b̄c) + (b̄ + b)d =
= ā + d = ad¯
¯ (c̄b̄)
e) f (a, b, c, d) = ((ā + b)c̄ + a + b + c + d)
2. Algebra de Boole 11
¯ (c̄b̄) =
f (a, b, c, d) = ((ā + b)c̄ + a + b + c + d)
¯ + c) =
= āc̄ + bc̄ + a + b + c + d(b
¯ + c) =
= āc̄ + b(c̄ + 1) + a + c + d(b
¯ + c) =
= āc̄ + a + b + c + d(b
¯ + c) =
= (a + ā)(a + c̄) + b + c + d(b
¯ + c) =
= a + c̄ + b + c + d(b
= a + b + d¯ + 1(b + c) =
= 1(b + c) = 0
2.2. A partir de estas sumas de productos, obtener una expresión en producto de sumas.
P
a) f (a, b, c, d) = (0, 3, 7, 9, 12, 15)
P
b) f (a, b, c, d) = (0, 1, 3, 4, 6, 8)
Solución
P
a) f (a, b, c, d) = (0, 3, 7, 9, 12, 15)
2. Algebra de Boole 12
X
f (a, b, c, d) = (0, 3, 7, 9, 12, 15)
X
f (a, b, c, d) = (1, 2, 4, 5, 6, 8, 10, 11, 13, 14)
f (a, b, c, d) = m1 + m2 + m4 + m5 + m6 + m8 + m10 + m11 + m13 + m14 =
= m1 · m2 · m4 · m5 · m6 · m8 · m10 · m11 · m13 · m14 =
= M 14 · M 13 · M 11 · M 10 · M 9 · M 7 · M 5 · M 4 · M 2 · M 1
P
b) f (a, b, c, d) = (0, 1, 3, 4, 6, 8)
X
f (a, b, c, d) = (0, 1, 3, 4, 6, 8)
X
f (a, b, c, d) = (2, 5, 7, 9, 10, 11, 12, 13, 14, 15)
f (a, b, c, d) = m2 + m5 + m7 + m9 + m10 + m11 + m12 + m13 + m14 + m15 =
= m2 · m5 · m7 · m9 · m10 · m11 · m12 · m13 · m14 · m15 =
= M 13 · M 10 · M 8 · M 6 · M 5 · M 5 · M 4 · M 3 · M 2 · M 1 · M 0
a) f (a, b, c) = a + b + c
b) f (a, b, c) = a + b(b + c)
Solución
a) f (a, b, c) = a + b + c
f (a, b, c) = M 5
f (a, b, c) = M 0 · M 1 · M 2 · M 3 · M 4 · M 6 · M 7
f (a, b, c) = M 0 · M 1 · M 2 · M 3 · M 4 · M 6 · M 7 =
= M0 + M1 + M2 + M3 + M4 + M6 + M7 =
= m7 + m6 + m5 + m4 + m3 + m1 + m0
2. Algebra de Boole 13
b) f (a, b, c) = a + b(b + c)
f (a, b, c) = a + b(b + c) =
= (āb̄)(b + c) =
= āb̄b + āb̄c =
= āb̄c = a + b + c̄ = M 6
f (a, b, c) = M 0 · M 1 · M 2 · M 3 · M 4 · M 5 · M 7
f (a, b, c) = m7 + m6 + m5 + m4 + m3 + m2 + m0
2.4. Expresar las siguientes funciones en forma canónica como producto de maxitérminos.
Solución
b) f (a, b) = ā + ab̄
f (a, b) = ā + ab̄ =
= a · ab̄ =
= a(ā + b) = a · ā + a · b = a · b = m3
f (a, b) = m0 + m1 + m2
f (a, b) = m0 + m1 + m2 = m0 · m1 · m2 = M 3 · M 2 · M 1
P Q
2.5. Dadas f1 (a, b) = (0, 3) y f2 (c, d) = (1, 2).
L
Calcular G(a, b, c, d) = f1 (a, b) f2 (c, d).
Solución
f1 (a, b) = m0 + m3 = āb̄ + ab
f2 (c, d) = M 1 · M 2 =
= M 0 · M 3 = M 0 + M 3 = m3 + m0 = cd + c̄d¯
= (aā + ab̄ + āb + bb̄)(c̄d¯ + cd) + (cc̄ + c̄d + cd¯ + dd)(ā¯ b̄ + ab) =
Solución
a)
F (a, b, c) = (x + y + z)(y + z)z̄
2. Algebra de Boole 16
b)
F (x, y, z) = xy ⊕ (y + z̄)
c)
F (x1, x2, x3, x4) = (x1 ⊕ x2) + x3
d)
F (x, y) = x + y ȳ ⊗ ȳ
e)
X(b2, a2, b1, a1) = (a2 ⊗ b2)b1a1) + (b2a2)
f)
F (x, y, z) = (x + y) + (y + z) + y = ȳ(x̄ + z̄)
g)
F (x, y, z) = x + y + z = x̄ȳz̄
h)
F (x, y, z) = y + xz̄
i)
F (x, y, z) = zx wx yw y wx
j)
F (z, x, w) = xz + xzy + x̄z(x + y)y
2. Algebra de Boole 17
Solución
a b c d f
0 0 0 0 0
0 0 0 1 1
0 0 1 0 1
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
0 1 1 0 0
0 1 1 1 1
1 0 0 0 1
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 0
= b̄(c ⊕ d) + b(c ⊕ d) = b ⊕ (c ⊕ d)
Para 4 bits a, b, c y d:
P ara a = 0 → f (b, c, d)
P ara a = 1 → f (b, c, d)
2. Algebra de Boole 18
2.8. Diseñar y minimizar un circuito lógico de tres variables de entrada que se disparen cuan-
do:
Solución
a
f1
c
0 0 1 0
0 1 5 4
b 0 1 1 1
2 3 7 6
f 1(a, b, c) = bc + ac + ab
2. Algebra de Boole 19
b) El decimal equivalente al número binario que representan las tres entradas sea impar
(1, 3, 5 ó 7).
a b c f2
0 0 0 0 0
1 0 0 1 1
2 0 1 0 0
3 0 1 1 1
4 1 0 0 0
5 1 0 1 1
6 1 1 0 0
7 1 1 1 1
a
f2
c
0 1 1 0
0 1 5 4
b 0 1 1 0
2 3 7 6
f 2(a, b, c) = c
c) El decimal equivalente al número binario que representan las tres entradas sea par
(0, 2, 4 ó 6).
a b c f3
0 0 0 0 1
1 0 0 1 0
2 0 1 0 1
3 0 1 1 0
4 1 0 0 1
5 1 0 1 0
6 1 1 0 1
7 1 1 1 0
2. Algebra de Boole 20
a
f3
c
1 0 0 1
0 1 5 4
b 1 0 0 1
2 3 7 6
f 3(a, b, c) = c̄
2.9. Dibujar un circuito empleando exclusivamente puertas NAND que detecte los números
primos comprendidos entre 0 y 15, representados en binario natural.(Considérese el cero
como no primo a efectos de realizar la tabla de verdad)
Solución
a b c d f3
0 0 0 0 0 0
1 0 0 0 1 1
2 0 0 1 0 1
3 0 0 1 1 1
4 0 1 0 0 0
5 0 1 0 1 1
6 0 1 1 0 0
7 0 1 1 1 1
8 1 0 0 0 0
9 1 0 0 1 0
10 1 0 1 0 0
11 1 0 1 1 1
12 1 1 0 0 0
13 1 1 0 1 1
14 1 1 1 0 0
15 1 1 1 1 0
b
f
d
0 1 1 0
0 1 5 4
1 1 1 0
c 2 3 7 6
0 1 0 0
a 10 11 15 14
0 0 1 0
8 9 13 12
2.10. Implementar el mı́nimo circuito capaz de activar una de las dos salidas, led rojo (LR) y
led verde (LV). El led verde se activará cuando la temperatura de entrada esté entre -3 y
4o C, ambas incluidas, y el rojo en el resto de los casos. La temperara estará codificada con
cuatro bits en binario puro con signo en complemento a 2.
Solución
2. Algebra de Boole 22
T3 T2 T1 T0 LV LR
0 0 0 0 0 1 0
1 0 0 0 1 1 0
2 0 0 1 0 1 0
3 0 0 1 1 1 0
4 0 1 0 0 1 0
5 0 1 0 1 0 1
6 0 1 1 0 0 1
7 0 1 1 1 0 1
-8 1 0 0 0 0 1
-7 1 0 0 1 0 1
-6 1 0 1 0 0 1
-5 1 0 1 1 0 1
-4 1 1 0 0 0 1
-3 1 1 0 1 1 0
-2 1 1 1 0 1 0
-1 1 1 1 1 1 0
T2
LV
T0
1 1 0 1
0 1 5 4
1 1 0 0
2 3 7 6
T1
0 0 1 1
10 11 15 14
T3
0 0 1 0
8 9 13 12
LV (T 3, T 2, T 1, T 0) = T 3 T 2 + T 3 T 1 T 0 + T 3T 2T 1 + T 3T 2T 0
2. Algebra de Boole 23
T2
LR
T0
0 0 1 0
0 1 5 4
0 0 1 1
2 3 7 6
T1
1 1 0 0
10 11 15 14
T3
1 1 0 1
8 9 13 12
LR(T 3, T 2, T 1, T 0) = T 3T 2 + T 3T 1 T 0 + T 3T 2 T 0 + T 3T 2 T 1
Puesto que no se pone ninguna restricción el circuito se podrı́a realizar con puertas NOT,
AND y OR, implementando una de ellas y sacando la otra a partir de un inversor, LR =
LV .
2.11. Una maquina registradora dispone de cuatro ranuras de 50, 50, 20 y 20 céntimos de euro,
en las que cabe un única moneda. En la salida se dispone de un mecanismo para ofrecer
el producto, y para dar las vueltas tiene un dispensador de monedas de 10 centimos y
dos de monedas 20 céntimos. Diseñar el circuito lógico capaz de entregar el producto
cuando el valor de la entrada iguale o supere a los 90 céntimos, y devolver correctamente
los cambios.
Solución
Variables de entrada: cuatro bits, 2 de 50 céntimos (A5 y B5)y 2 de 20 céntimos (A2 y B2).
Variables de salida: cuatro bits, producto (P), vueltas de 10 céntimos (D1) y vueltas de 20
céntimos (D2 y D3).
2. Algebra de Boole 24
B5 A5 A2 B2 P D1 D2 D3
0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0
2 0 0 1 0 0 0 0 0
3 0 0 1 1 0 0 0 0
4 0 1 0 0 0 0 0 0
5 0 1 0 1 0 0 0 0
6 0 1 1 0 0 0 0 0
7 0 1 1 1 1 0 0 0
8 1 0 0 0 0 0 0 0
9 1 0 0 1 0 0 0 0
10 1 0 1 0 0 0 0 0
11 1 0 1 1 1 0 0 0
12 1 1 0 0 1 1 0 0
13 1 1 0 1 1 1 1 0
14 1 1 1 0 1 1 1 0
15 1 1 1 1 1 1 1 1
P
P (B5, A5, A2, B2) = 4 (7, 11, 12, 13, 14, 15)
P
D1(B5, A5, A2, B2) = 4 (12, 13, 14, 15)
P
D2(B5, A5, A2, B2) = 4 (13, 14, 15)
P
D3(B5, A5, A2, B2) = 4 (15)
A5 A5
P D1
B2 B2
0 0 0 0 0 0 0 0
0 1 5 4 0 1 5 4
0 0 1 0 0 0 0 0
2 3 7 6 2 3 7 6
A2 A2
0 1 1 1 0 0 1 1
10 11 15 14 10 11 15 14
B5 B5
0 0 1 1 0 0 1 1
8 9 13 12 8 9 13 12
2. Algebra de Boole 25
A5 A5
D2 D3
B2 B2
0 0 0 0 0 0 0 0
0 1 5 4 0 1 5 4
0 0 0 0 0 0 0 0
2 3 7 6 2 3 7 6
A2 A2
0 0 1 1 0 0 1 0
10 11 15 14 10 11 15 14
B5 B5
0 0 1 0 0 0 0 0
8 9 13 12 8 9 13 12
P = A5 B5 + A5 A2 B2 + B5 A2 B2
D1 = A5 B5
D2 = A5 B5 B2 + A5 B5 A2
D3 = A5 B5 A2 B2
2.12. Dada las siguientes funciones, simplificar e implementar el circuito utilizando puertas
NOR de dos entradas.
P
a) f1 (d, c, b, a) = (0, 2, 3, 6, 7, 11, 13, 15)
P
b) f2 (e, d, c, b, a) = (0, 2, 3, 6, 7, 9, 11, 13, 15, 16, 25, 27, 29, 31)
Q
c) f3 (d, c, b, a) = (1, 2, 5, 9, 12, 13)
Solución
P
a) f1 (d, c, b, a) = (0, 2, 3, 6, 7, 11, 13, 15)
c
f1
a
1 0 0 0
0 1 5 4
1 1 1 1
2 3 7 6
b
0 1 1 0
10 11 15 14
d
0 0 1 0
8 9 13 12
2. Algebra de Boole 26
¯ + ba + dca + dc̄ā
f1 (d, c, b, a) = db ¯ = d + b̄ + b̄ + ā + d¯ + c̄ + ā + d + c + a
P
b) f2 (e, d, c, b, a) = (0, 2, 3, 6, 7, 9, 11, 13, 15, 16, 25, 27, 29, 31)
e
f2 c
a a
1 0 0 0 0 0 0 1
0 1 5 4 20 21 17 16
1 1 1 1 0 0 0 0
2 3 7 6 22 23 19 18
b
0 1 1 0 0 1 1 0
10 11 15 14 30 31 27 26
d
0 1 1 0 0 1 1 0
8 9 13 12 28 29 25 24
¯ b̄ā + ēdb
f2 (e, d, c, b, a) = da + dc̄ ¯ = d¯ + ā + d + c + b + a + e + d + b̄
Q
c) f3 (d, c, b, a) = (1, 2, 5, 9, 12, 13)
c
f3
a
1 1 1 1
0 1 5 4
0 0 1 0
2 3 7 6
b
0 1 1 0
10 11 15 14
d
1 1 0 1
8 9 13 12
f3 (d, c, b, a) = b̄ + a + d + c + b̄ + d¯ + c̄ + b + ā
2. Algebra de Boole 27
EJERCICIOS PROPUESTOS
1. Construir una tabla con todos los minitérminos y maxitérminos de una función de cuatro
variables.
2. Qué son y cómo se definen las formas canónicas de una función booleana. Expresar en
forma canónica (producto de suma o suma de productos) la función booleana de cuatro
variables F(x,y,z,t) = x.
3. Dadas las funciones booleanas: Obtener dos expresiones normalizadas y dos expresiones
canónicas de las mismas.
5. Obtener una expresión mediante suma de productos y otra mediante producto de sumas
de las funciones XOR y XNOR.
7. Demostrar que el operador binario NOR forma un conjunto completo de operadores. Su-
gerencia: Expresar los operadores AND, OR y NOT mediante el operador binario NAND.
8. Obtener un circuito lógico que se comporte como la función NAND de dos entradas,
usando solamente puertas NOR.
9. Construir una NAND de cuatro entradas a partir de puertas NAND de dos entradas.
2. Algebra de Boole 28
10. Encontrar la expresión algebraica de la función booleana que se comporta como un circui-
to eléctrico de tres conmutadores que controlan el encendido y apagado de una bombilla.
11. Simplificar mediante mapas de Karnaugh las siguientes funciones booleanas y obtener
una expresión mı́nima:
X
F (x, y, z) = (0, 1, 2, 5, 6, 7)
3
X X
F (x, y, z, t) = (4, 7, 13, 14) + (0, 3, 6, 10, 11, 15)
4 ∅
Y Y
F (A, B, C, D) = (1, 2, 3, 5, 6, 7, 8, 10) (11, 13)
4 ∅
Caracterización y Tecnologı́as de
Circuitos Integrados Digitales
a) Analizar el diagrama lógico del CI 74ALS541 (Fig. 3.1) y completar la tabla de verdad
de las salidas en función de las entradas.
b) Consultando la información que proporciona el fabricante obtener los siguientes
parámetros:
1) Valor máximo de VOLmax
2) Valor de IOHmax para el cual está garantizado VOHmin
3) Margen de ruido
30
3. Caracterización y Tecnologı́as de Circuitos Integrados Digitales 31
Electrical Characteristics
over recommended free air temperature range
Symbol Parameter Test Conditions Min Typ Max Units
www.fairchildsemi.com 2
Solución:
a) Analizar el diagrama lógico del CI 74ALS541 (Fig. 3.1) y completar la tabla de verdad
adjunta.
Para los todos los posibles valores de las entradas OE1, OE2 y A1, se completará la salida.
OE1 OE2 A1 Y1
0 1 X Z
1 0 X Z
1 1 X Z
0 0 0 0
0 0 1 1
Ej6.2. En la tabla anexa se exponen los niveles lógicos y las corrientes de las familias lógicas
74LSXX y 74HCXX.
a) Calcular el margen de ruido estricto en las familias LSTTL y HCMOS ¿Qué familia
tecnológica elegir si el circuito va a trabajar en ambiente ruidoso?
b) Calcular el Fan-out de ambas familias teniendo en cuenta los niveles lógicos y co-
rrientes de la Tabla.
c) ¿Cuántas unidades de carga LSTTL pueden conectarse a una salida HCMOS, sa-
biendo que esta familia puede entregar hasta una IOHmax = −4mA manteniendo
VOH ≥ 4V y una IOLmax = 4mA con VOL ≤ 0, 4V ?
3. Caracterización y Tecnologı́as de Circuitos Integrados Digitales 33
74LSXX 74HCXX
VIHmin 2V 3, 15V
VILmax 0, 8V 0, 9V
VOHmin 2, 7V 4, 4V
VOLmax 0, 4V 0, 1V
IIHmax 20µA 1µA
IILmax −0,4mA −1µA
IOHmax −400µA −20µA
IOLmax 8mA 20µA
Solución:
a) Margen de ruido estricto en las familias LSTTL y HCMOS ¿Qué familia tecnológica
elegir si el circuito va a trabajar en ambiente ruidoso?
Tecnologı́a LS
M RH = VOHmin − VIHmin = 2, 7 − 2 = 0, 7V
M RL = VILmax − VOLmax = 0, 8 − 0, 4 = 0, 4V
Tecnologı́a HC
M RH = VOHmin − VIHmin = 4, 4 − 3, 15 = 1, 25V
M RL = VILmax − VOLmax = 0, 9 − 0, 1 = 0, 8V
Se elegirá la familia HCMOS por ser la que mayor margen de ruido tiene (0.8 V)
b) Fan-out de ambas familias
Tecnologı́a LS
400µA
F AN − OU TH = = 20puertas
20µA
8mA
F AN − OU TL = = 20puertas
0,4mA
Tecnologı́a HC
20µA
F AN − OU TH = = 20puertas
1µA
20µA
F AN − OU TL = = 20puertas
1µA
3. Caracterización y Tecnologı́as de Circuitos Integrados Digitales 34
c) ¿Cuántas unidades de carga LSTTL pueden conectarse a una salida HCMOS, sa-
biendo que esta familia puede entregar hasta una IOHmax = −4mA manteniendo
VOH ≥ 4V y una IOLmax = 4mA con VOL ≤ 0, 4V ?
4mA
U CH = = 200puertas
20µA
4mA
U CL = = 10puertas
0,4mA
10 Unidades de carga
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
Solución:
2) Tecnologı́a FC
N ML = VILmax − VOLmax = 0,8 − 0,5 = 0,3V
N MH = VOHmin − VIHmin = 2,5 − 2 = 0,5V
3) Tecnologı́a HC
N ML = VILmax − VOLmax = 0,9 − 0,1 = 0,8V
N MH = VOHmin − VIHmin = 4,4 − 3,15 = 0,8V
Serı́a mejor utilizar la tecnologı́a HC debido a que tiene mayores márgenes de ruido.
c) ¿Cuántas puertas de tecnologı́a FC se podrı́an conectar una puerta de tecnologı́a LS?
|IOHmaxLS |/|IIHmaxF C |=0,4 · 10−3 A/20 · 10−6 = 20
|IOLmaxLS |/|IILmaxF C |=4 · 10−3 A/0,6 · 10−3 = 6,66
Ej6.4. Clasificar, de mayor a menor y sin poner valores, las familias lógicas TTL, ECL y MOS.
a) Según velocidad
b) Según la potencia disipada.
3. Caracterización y Tecnologı́as de Circuitos Integrados Digitales 36
c) Indicar las condiciones que tienen que cumplir las tensiones (VILmax VIHmin VOLmax
VOHmin ) y las corrientes (IILmax IIHmax IOLmax IOHmax ), para poder conectar dos
puertas TTL
Solución:
a) Según velocidad
VECL > VT T L > VM OS
b) Según la potencia disipada
PECL > PT T L > PM OS
c) Indicar las condiciones que tienen que cumplir las tensiones y las corrientes, para
poder conectar dos puertas TTL.
En tensiones:
VOHmin ≥ VIHmin
VOLmax ≤ VILmax
En corrientes:
IOHmax ≥ IIHmax
IOLmax ≥ IILmax
Ej6.5. En la tabla se tienen algunas caracterı́sticas de dos familias lógicas F1 y F2. Estudiar las
compatibilidades entre dichas familias, tanto desde el punto de vista de niveles de ten-
sióon como de intensidades, e indicar si son compatibles:
La F1 como excitadora y la F2 como carga
La F2 como excitadora y la F1 como carga1
1
Nota: El signo - indica que la corriente es saliente
3. Caracterización y Tecnologı́as de Circuitos Integrados Digitales 37
Solución:
EJERCICIOS PROPUESTOS
1. Indicar las condiciones que se deben cumplir para que dos familias lógicas sean compa-
tibles, en todas las posibles formas de conectarse entre sı́.
2. La siguiente tabla muestra algunos de los valores correspondientes a los parámetros ca-
racterı́sticos de dos familias lógicas. (NOTA: los valores de corrientes de entrada se refieren a
corriente por cada entrada de una puerta)
Familia lógica VOHM IN VIHM IN VOLM AX VILM AX IOHM AX IIHM AX IOLM AX IILM AX
A 2.5V 0.7V -20µA
B 2.3V -2ma
a) Completar la tabla para que la siguiente conexión sea posible, garantizando unos márgenes
de ruido NML =NMH =0,12V.
a) Tipo de puerta a la que corresponde (AND, OR, SEGUIDOR, NOT, etc.) la figura 3.2.
b) Tensiones caracterı́sticas de la entrada y la salida de la figura.
c) ¿Funcionará correctamente un sistema con 2 puertas de este tipo conectadas en serie? Justi-
ficar la respuesta.
3. Caracterización y Tecnologı́as de Circuitos Integrados Digitales 39
4. Suponer que tenemos dos subfamilias TTL con las caracterı́sticas indicadas en la tabla siguiente:
Subfamilia VOHM IN VIHM IN VOLM AX VILM AX IOHM AX IIHM AX IOLM AX IILM AX
A 2.4V 0.4V 2V 0.5V -400µA 16mA 40µA -1.6mA
B 2.7V 0.6V 2V 0.9V -2mA 20mA 20µA -0.5ma
a) Márgenes de ruido.
b) Potencia estática máxima disipada por una puerta NAND. Suponer que la puerta invierte
50 % del tiempo en estado alto y 50 % en estado bajo.
c) Valor máximo del producto potencia-retardo de puerta.
a) ¿Cuántas entradas 74HC pueden ser excitadas por una salida 74LS?
b) ¿Cuántas entradas 74HCT pueden ser excitadas por una salida 74LS?
c) ¿Cuántas entradas 74LS pueden ser excitadas por una salida 74HC?
7. Calcular el tiempo máximo que puede necesitar este circuito desde que se produce un cambio en
una de sus entradas hasta que la salida se estabiliza, sabiendo que los tiempos de propagación de
las puertas son: NOT: 5ns, OR: 10ns, AND: 10ns y XOR: 15ns.
8. El circuito de la figura 3.3 está alimentado a +5V. Las entradas B, C y D están siempre en H. Las
salidas X, Y y Z están al aire. En la entrada A hay una señal rectangular de frecuencia f y 50 %
de duty cycle. Con los datos de las puertas que se dan a continuación, ¿a partir de qué frecuen-
cia el circuito implementado con puertas CMOS consume más que el circuito implementado con
puertas TTL?
CMOS: IDD = 20µA; CI = 7pF ; CP D = 20pF
TTL: ICCH = 1,6mA; ICCL = 4,4mA
3. Caracterización y Tecnologı́as de Circuitos Integrados Digitales 40
a) Caracterı́stica que deben tener las puertas OR y XOR para que dicho conexionado sea válido.
b) Suponiendo que la conexión es válida, indicar qué función lógica se obtiene a la salida,
F=f(A, B, C, D)
Capı́tulo 4
Circuitos Combinacionales
Solución
A partir del codificador representado en la Fig. 4.1 se pretende diseñar un circuito que se
comporte como un codificador 16:4 con las lı́neas activas por nivel alto.
Si observamos el esquema Fig. 4.1 vemos que la lı́nea E0 es conectada a EI según el si-
guiente razonamiento; si ninguna entrada entre D8 y D15 ha sido activada (las de mayor
prioridad) E0 se pone a uno, y por tanto, al estar conectada a EI, se habilita el servicio a las
ocho lı́neas de menor peso. Y sucederı́a lo contrario si alguna de las entradas de más peso
se activara, la lı́nea correspondiente a E0 se pondrı́a a 0 y con ella la EI , deshabilitando el
codificador con las entradas de menos peso.
41
4. Circuitos Combinacionales 42
4.2. Implementar un decodificador 3:8 con decodificadores 1:2 (1 entrada de control y dos
salidas de datos).
Solución
Entrada Salida
I0 I1 S0 W
I0 X 0 I0
X I1 1 I1
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
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
Solución
4. Circuitos Combinacionales 44
4.4. Diseñar un circuito combinacional que, sobre palabras de 4 bits y según las entradas de
selección, realice las siguientes operaciones:
Se pide:
Solución
a) Número de entradas
Hay 4 operaciones −→ Necesitamos 4 combinaciones = 2n −→ n = 2 entradas de
selección (C1 y C2 ).
4. Circuitos Combinacionales 46
b) Tabla de verdad
C1 C2 S3 S2 S1 S0
0 0 E0 E3 E2 E1 Desplazamiento a derecha
0 1 E2 E1 E0 E3 Desplazamiento a izquierda
1 0 E3 E2 E1 E0 Transferencia de información
1 1 E0 E1 E2 E3 Complemento a 1
S3 = E0 C1 C2 + E2 C1 C2 + E3 C1 C2 + E3 C1 C2
S2 = E3 C1 C2 + E1 C1 C2 + E2 C1 C2 + E2 C1 C2
S1 = E2 C1 C2 + E0 C1 C2 + E1 C1 C2 + E1 C1 C2
S0 = E1 C1 C2 + E3 C1 C2 + E0 C1 C2 + E0 C1 C2
c) Circuito correspondiente a Sm
Las ecuaciones anteriores se corresponden a:
z = I0 a0 a1 + I1 a1 a0 + I2 a1 a0 + I3 a1 a0
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
Solución
4.6. Realizar la sı́ntesis de una función de 4 variables a, b, c y d que tome el valor 1 cuando
el número de variables que están en estado 1 es superior al de las que se encuentran
en estado 0. Nunca puede haber más de tres variables en estado 1 simultáneamente. Para
ello, obtener la tabla de verdad, las expresiones mı́nimas de términos canónicos, y a partir
de ahı́, implementar el circuito:
Solución
4. Circuitos Combinacionales 49
a b c d F
0 0 0 0 0 0
1 0 0 0 1 0
2 0 0 1 0 0
3 0 0 1 1 0
4 0 1 0 0 0
5 0 1 0 1 0
6 0 1 1 0 0
7 0 1 1 1 1
8 1 0 0 0 0
9 1 0 0 1 0
10 1 0 1 0 0
11 1 0 1 1 1
12 1 1 0 0 0
13 1 1 0 1 1
14 1 1 1 0 1
15 1 1 1 1 0
b
f:
d
0 0 0 0
0 1 5 4
0 0 1 0
c 2 3 7 6
0 1 0 1
a 10 11 15 14
0 0 1 0
8 9 13 12
¯
f (a, b, c, d) = (ābcd)(ab̄cd)(abc̄d)(abcd)
f (a, b, c, d) = a + b̄ + c̄ + d¯ + ā + b + c̄ + d¯ + ā + b̄ + c + d¯ + ā + b̄ + c̄ + d
4. Circuitos Combinacionales 50
Solución
4.8. Utilizando un decodificador ((4 a 16)) como bloque, puertas NAND e inversores, diseñar
un circuito lógico que tenga por entrada un número binario, N de 4 bits y que gobierne a
su salida una columna de 4 diodos LED (D1, D2, D3 y D4) de la forma siguiente:
Solución
Siempre que esté encendido un diodo, los de menor peso también lo deben de estar. Para
conseguir esto se llevan las salidas de mayor peso hacia las de menor peso para activar
los diodos inferiores.
4.9. La información que produce un dispositivo digital son palabras de 16 bits en paralelo que
se pretende transformar en una única salida serie para su posterior transmisión.
Solución
Figura 4.14: Circuito que transforma 16 bits en paralelo en una salida serie
b) ¿Cuál serı́a la frecuencia de los datos consecutivos de la linea serie que pertenezcan
a la misma entrada paralelo?
Si la frecuencia de la señal de reloj del contador es de 1Mz, su periodo, por tanto, es
de 1µs. Se necesitan 16 periodos de esta señal para señalizar completamente el dato
de entrada. Por ello la separación entre 2 datos consecutivos debe ser de 16µs.
4. Circuitos Combinacionales 53
4.10. Se dispone de un decodificador 3:8 (3 entradas y 8 salidas) con salidas activas a nivel alto,
que posee además una entrada de habilitación (G) activa a nivel alto. Además pueden
utilizar puertas NOR de dos entradas.
Solución
D E G
0 0 0
0 1 0
1 0 0
1 1 1
G = E · D = Ē + D̄
4. Circuitos Combinacionales 54
c) ¿Qué modificaciones realizarı́a en el diseño realizado, tras los dos apartados ante-
riores, si el decodificador hubiese tenido salidas activas a nivel bajo?
Si la salida del decodificador es activa a nivel bajo, pero se desea que la salida del
demultiplexor sea activa a nivel alto basta introducir la señal D por la entrada de
enable invertida, es decir, introducir una puerta NOR conectada directamente a la
señal D.
¯ + a1a0
a) f (a1, a0) = a1 ¯
Solución
a) Usando un multiplexor (4 entradas con 2 lı́neas de selección y una salida) y los in-
versores necesarios.
La solución se muestra en la Fig. 4.15.
4. Circuitos Combinacionales 55
4.12. Se pretende visualizar en los diplays la representación en código octal de dos dı́gitos
(unidades y octenas) correspondientes a un número A(0..3) de 4 bits codificado en binario
natural.
Solución
Se trata de realizar un cambiador de código de binario natural de 4 bits a octal de dos ci-
fras. La tabla siguiente representa el número de entrada en binario natural y las unidades
y octenas del número en octal de dos cifras.
Analizando la tabla y utilizando dos displays y conversores de código con las conexiones
oportunas se llegarı́a a visualizar el la información obtenida.
4. Circuitos Combinacionales 56
A3 A2 A1 A0 OCTENAS UNIDADES
0000 0000 0000
0001 0000 0001
0010 0000 0010
0011 0000 0011
0100 0000 0100
0101 0000 0101
0110 0000 0110
0111 0000 0111
1000 0001 0000
1001 0001 0001
1010 0001 0010
1011 0001 0011
1100 0001 0100
1101 0001 0101
1110 0001 0110
1111 0001 0111
4.13. Diseñar un circuito que ante dos entradas de cuatro bits (X e Y) presente a su salida (Z) el
menor de ambos. Para el diseño se emplearán comparadores de cuatro bits y multiplexo-
res de dos canales de cuatro bits cada uno.
Solución
Para detectar el menor de dos números de cuatro bits se emplea un comparador de 4 bits.
La salida > detecta que número X es mayor y se utiliza para seleccionar mediante un
multiplexor de dos entradas de longitud de palabra 4 bits. (Figura 4.17).
4.14. Diseñar un circuito que permita introducir dos números decimales A y B y visualizar en
un display 7 segmentos el mayor de ellos. Si ambos resultaran iguales, no se visualizarı́a
nada.
Solución
a) De 3 bits
b) De 5 bits
Solución
4. Circuitos Combinacionales 58
a) De 3 bits
b) De 5 bits
EJERCICIOS PROPUESTOS
3. Diseñar un circuito combinacional cuya entrada sea un número binario de tres bits N y
su salida el número binario Z (con el número de bit que sea necesario) tal que: Si N > 3,
entonces Z=N+1 y en caso contrario Z=N-1. Obtener un circuito mı́nimo y justificar que lo
es. Dibujar su diagrama lógico utilizando exclusivamente puertas NOR de dos entradas.
4. Circuitos Combinacionales 60
4. Diseñar un circuito digital mı́nimo para construir el bloque conversor de código binario
natural a código Gray y viceversa para palabras de tres bits que se especifica como sigue:
El sistema posee, además de las entradas de la palabra de código B, una entrada adicional
C tal que:
5. Construir un circuito lógico en forma AND/OR, esto es, suma de productos, para con-
vertir un dı́gito BCD en un dı́gito BCD exceso a tres.
a) Especificar dicho sistema indicando cuales serán sus variables binarias de entra-
da/salida y su significado.
b) Construir una tabla de verdad que recoja las especificaciones del sistema propuesto.
c) Obtener una expresión algebraica mı́nima para la función booleana que representa
al sistema y dibujar el correspondiente diagrama lógico.
d) Interpretar el significado de la expresión mı́nima resultante.
a) Determinar el rango de valores enteros con los que puede ser usado dicho sistema,
determinado por el numero de entradas y salidas necesarias.
b) Obtener la tabla de verdad que describe el comportamiento del sistema.
c) Obtener una expresión normalizada mı́nima para cada una de las funciones de sali-
da. Justificar por qué la expresión obtenida es mı́nima.
8. Un examen de Circuitos Lógicos consta de cinco preguntas numeradas del uno a cinco,
P(1:5). Para calificar dicho examen el profesor quiere disponer de un pequeño sistema
digital combinacional cuyo funcionamiento se especifica de la siguiente manera:
Para que el examen sea corregido en su totalidad será necesario haber respondido
correctamente a la pregunta P1. En caso contrario será calificado como Suspenso.
La calificación final (Suspenso, Aprobado, Notable, Sobresaliente, Matricula de Ho-
nor) se obtendrá tras evaluar el resto de preguntas, P(2:5) según el siguiente criterio:
• Para obtener al menos la calificación de Aprobado será necesario haber respon-
dido correctamente la pregunta P5 y al menos una de las tres restantes. O bien,
haber respondido correctamente las preguntas P2, P3 y P4.
• Para obtener al menos la calificación de Notable será necesario haber respondi-
do correctamente la pregunta P5 y al menos dos de las tres restantes. O bien, P5
y P2.
• Para obtener al menos la calificación de Sobresaliente será necesario haber res-
pondido correctamente las preguntas P5 y P3, y al menos una de las dos restan-
tes.
• Para obtener la calificación de Matricula de Honor será necesario haber respon-
dido correctamente todas las preguntas.
• En el caso de no alcanzar al menos la calificación de Aprobado, ésta será de
Suspenso.
9. Construir un circuito lógico minimizado para convertir un dı́gito BCD más un bit de
signo, a un número binario expresado en complemento a dos.
10. Diseñar un circuito combinacional que tenga como entradas dos números binarios de dos
bits A y B, y como salida un numero binario C; tal que:
11. Dibujar el esquema lógico de un multiplexor 4:1 para palabras de dos bits con una lı́nea
común de selección y una entrada de habilitación.
12. Implementar con un decodificador adecuado y la lógica externa necesaria las siguientes
funciones booleanas:
F 1 = (x̄ȳz̄ + xz)
F 2 = (xȳ z̄ + x̄y)
F 3 = (x̄ȳz + xy)
15. A partir del análisis del siguiente circuito comprobar el cronograma adjunto suponiendo
que las puertas no tienen retardo.
4. Circuitos Combinacionales 63
Q
16. Implementar la función F (x, y, w, z) = 4 (0, 1, 4, 6, 7, 8, 9, 12) utilizando únicamente el
multiplexor de la figura.
17. Analizar el circuito de la figura y obtener la expresión mı́nima como producto de suma de
la función F(A,B,C,D). Diseñar un circuito que implemente la misma función utilizando
únicamente puertas lógicos NOR.
4. Circuitos Combinacionales 64
X
F (a, b, c, d) = (0, 3, 5, 6, 8, 9, 14, 15)
4
20. Encontrar la solución mı́nima de un circuito combinacional que tiene por entradas un
número codificado en BCD de 4 bits (x3,x2,x1,x0) y una señal de control (C). Si la señal de
control toma el valor cero y el número BCD es mayor o igual que 5 la salida vale uno y si
es menor que 5 la salida vale cero. Si la señal de control toma el valor uno y el número de
entradas es menor o igual que 5 la salida vale uno y si es mayor que 5 la salida vale cero.
21. Diseñar un codificador de prioridad de cuatro entradas, para el que la lı́nea D0 sea la más
prioritaria y D3 la menos. Obtener un circuito de dos niveles.
S0 S1 Función
0 0 N
0 1 Complemento a 2 de N
1 0 Complemento a 1 de N
1 1 Sin definir
4. Circuitos Combinacionales 65
24. Basándonos en un comparador de cuatro bits en binario puro, diseñar un nuevo compa-
rador para números de 4 bits en complemento a 2. Para ello, además del comparador de
cuatro bits en binario puro indicado, se podrán utilizar otros módulos combinacionales
básicos y/o puertas lógicas.
25. El circuito de la Fig. 4.22 ha sido propuesto por un alumno como respuesta al siguiente
enunciado: Diseñar un sistema digital para comparar las magnitudes de dos números
binarios de dos bits A=A1A0 y B =B1B0. El circuito ha de poseer dos salidas Z e Y tales
que:
Z=1 e Y = 0 si A > B
Z=0 e Y = 1 si B > A
Z=Y=0 si A = B
5.1. Un restador binario completo es un circuito que realiza la resta de una pareja de bits (m
y s) teniendo en cuenta la que se lleva (c′ ) de la pareja anterior de bits. En sus salidas
se obtiene dicha resta ó diferencia (d) y la que se lleva (c) de la pareja actual de bits. Se
pretende diseñar el restador binario completo para lo cual se pide:
Solución
1
+=suma aritmética
66
5. Circuitos Combinacionales Aritméticos 67
Tabla de verdad:
m s c’ d c
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
0 1 0 1 0 1 0 0
0 1 5 4 0 1 5 4
s 1 0 1 0 s 1 1 1 0
2 3 7 6 2 3 7 6
c = ms + mc′ + sc′
Tablero de ajedrez −→ OR Exclusiva
d = msc′ + ms c′ + m sc′ + msc′
c) Realizar la función d con puertas OR EXCLUSIVA
d = msc′ +ms c′ +m sc′ +msc′ = (ms+ms) c′ +(m s+ms)c′ = (m⊕s)c′ +(m ⊕ s)c′ =
m ⊕ s ⊕ c′
z = I0 S 1 S 0 + I1 S 1 S 0 + I2 S 1 S 0 + I3 S 0 S 1 (5.1)
c = ms + mc′ + sc′ =
= ms + m(s + s)c′ + (m + m)sc′ =
= ms + msc′ + m sc′ + msc′ + msc′ =
= ms(1 + c′ + c′ ) + m sc′ + msc′ = ms + m sc′ + msc′ =
= c′ m s + 0 · ms + 1 · ms + c′ ms
5.2. Diseñar un convertidor de código que pase números codificados en BCD AIKEN al códi-
go BCD NATURAL. Utilizar para su implementación solamente sumadores completos de
cuatro bits.
Solución
La tabla expresa la relación entre el código BCD NATURAL y el código BCD AIKEN.
5. Circuitos Combinacionales Aritméticos 69
DECIMAL B3 B2 B1 B0 A3 A2 A1 A0
0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1
2 0 0 1 0 0 0 1 0
3 0 0 1 1 0 0 1 1
4 0 1 0 0 0 1 0 0
5 0 1 0 1 1 0 1 1
6 0 1 1 0 1 1 0 0
7 0 1 1 1 1 1 0 1
8 1 0 0 0 1 1 1 0
9 1 0 0 1 1 1 1 1
De la tabla se deduce:
Solución
Si Y = Z → E=1 → S=X
Si Y > Z → E=0 → S=X+Y
Si Y < Z → E=0 → S=X+Z
5.4. Diseñar el circuito necesario (con puertas lógicas) para obtener, a partir de las salidas G y
P de circuitos 74391 o 74182, el último acarreo de un proceso de suma (Cn+4 )
Solución
P̄ = P 3P 2P 1P 0
5. Circuitos Combinacionales Aritméticos 71
5.5. Empleando dos sumadores de 4 bits, con entrada y salida de acarreo serie, realizar las
conexiones necesarias entre ellos para efectuar la suma (S) de dos números (A y B) de
7 bits codificados en complemento a dos. Para evitar el posible overflow se ha decidido
obtener el resultado de la suma de 8 bits.
Solución
Para obtener el resultado en 8 bits se amplia el bit de signo (a6 y b6). El acarreo producido
por los 4 bits de menor peso (suma de uno de los sumadores) debe propagarse hasta la
entrada del otro bloque sumador. (Figura 5.1)
Solución
Figura 5.2: Circuito lógico que realiza la suma de dos dı́gitos BCD
5. Circuitos Combinacionales Aritméticos 73
5.7. Sean A y B dos números binarios de 4 dı́gitos. Diseñar el circuito aritmético que gene-
re la función F(A,B) = 2A + 3B. Debe utilizarse para ello el menor número posible de
componentes combinacionales estándar del número de bits que sea necesario
Solución
0b b
b ...b 0
Peso 4 3 2 1 0
A: a a a a
B: b b b b
2A: a a a a 0
43210 43210
2B: b b b b 0
0
C1 SUMADOR C0
S4 S3 S2 S1 S0
0a a 0
543210 5 43210
C1 SUMADOR C0 0
6 5 4 3 2 1 0
S S S S S S S
EJERCICIOS PROPUESTOS
1. Construir un convertidor de código BCD natural → BCD exceso a 3 con sumadores pa-
ralelo de 4 bits. Convertir el circuito diseñado en un conversor BCD exceso a 3 → BCD
natural.
3. Usando sumadores y restadores, diseña un circuito que permita comparar dos números
naturales de 4 bits, y nos diga, mediante tres bits independientes, si A > B, A = B y
A < B.
4. Sea un sumador/restador paralelo de 4 bits. Sus entradas A[3..0] y B[3..0] son números
binarios sin signo, S[3..0] es su salida y C el bit de acarreo. Completar la siguiente tabla.
6. Diseñar un sistema combinacional cuya entrada sea un numero decimal representado por
medio de dos dı́gitos BCD y que indique a la salida si dicho número es o no múltiplo de
tres.
8. Se desea realizar un sumador de dos números escritos en BCD con dos dı́gitos cada uno
que llamaremos A y B para el primer número (dı́gito más significativo es A y menos
significativo es B), y C y D para el segundo número (dı́gito más significativo es C y menos
significativo D). El resultado debe obtenerse en tres dı́gitos BCD, E, F y G . El sumador se
realizará conectando bloques de sumadores individuales de dos dı́gitos BCD con acarreo
de entrada y de salida.
10. Usando un único sumador de 4 bits, diseñar una ALU con salida out de 4 bits que, a partir
de 2 entradas de control S1 y S0, realizar las siguientes operaciones sobre dos números A
y B de 4 bits:
Para el diseño debes usar únicamente un sumador con propagación de acarreo de 4 bits
y las puertas lógicas que consideres necesarias
Añadir a la ALU diseñada en el apartado anterior la lógica necesaria para calcular los
siguientes bits de condición:
6.1. Una báscula SR construida a partir de puertas NAND se muestra en la Fig. 3d. Determinar
los niveles lógicos en los puntos a, b, y c bajo las siguientes condiciones:
Solución
a) S=0, R =0 y Q =0.
a=1, c=1 y b = aQ̄ = 0
b) Como en el apartado anterior, pero S cambia de 0 a 1.
a=0, c=1 y b = aQ̄ = 1
76
6. Sistemas Secuenciales: Biestables 77
6.2. Obtener las tablas de verdad de los siguientes circuitos e indicar su función.
Solución
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 subida con entradas ası́ncronas de preset (activa a
nivel alto) y clear (activa a nivel alto).
d) Biestable D realimentado con la salida Q̄. Cada vez que llegue un flanco de subida
por la señal X la salida del biestable pasará a valer Qt+1 = Q̄t .
6.3. Dados los biestables de las figuras completar el cronograma adjunto a partir de la evo-
lución de las entradas dadas, suponiendo que todos los elementos son ideales (todas las
caracterı́sticas temporales son nulas).
Solución
a)
CLK
PR
CLR
b)
CLK
PR
CLR
c)
CLK
PR
CLR
Q
6. Sistemas Secuenciales: Biestables 80
d)
CLK
PR
CLR
6.4. En el circuito de la figura 6.2 donde los biestables D son Master-Slave considerando que
inicialmente todos los biestables están puestos a 1 (Q=1), y que tienen un tiempo no nulo,
se pide completar el cronograma respecto de la evolución del reloj en los puntos A, B y C
del circuito.
Solución
CLK
Figura 6.3: Circuito formado por dos biestables D con la misma señal de reloj
Solución
D1 = Q1Q2 + Q1Q2 = Q1 ⊕ Q2
D2 = Q2
CLK
Q1
Q2
6.6. Determinar la evolución de las salidas Q1 y Q2 para los siguientes circuitos (figuras 6.4 y
6.5). Se supondrá que ambos biestables son activos por flanco y que todas las caracterı́sti-
cas temporales son nulas. Se parte de la situación Q1=Q2=0.
Solución
a) En ambos biestables se cumple que D = Q̄ por lo que cada vez que se produce un
flanco de subida en su entrada de reloj estos cambian de estado. El biestable de la
izquierda cambia con la señal de reloj y el de la derecha con los flancos de subida de
la señal Q1. Por lo tanto se debe empezar por la señal Q1 y a partir de esta Q2.
6. Sistemas Secuenciales: Biestables 83
CLK
Q1
Q2
CLK
Q1
Q2
Solución
6. Sistemas Secuenciales: Biestables 84
El primer biestable, tipo D, toma el dato que tiene en su entrada y lo carga en la salida S1,
coincidiendo con cada flanco de subida de la señal del reloj. En el segundo biestable JK,
J=K=S1, conmutarán de estado si S1=1 y mantendrán el estado anterior si S1=0, siempre
durante los flancos de bajada.
CLK
PR
CLR
Q1
Q2
6.8. El circuito de la figura 6.7 es un contador de código Johnson modificado, formado por 3
flip.plops J-K activos en le flanco de subida de la señal CLK de caracterı́sticas ideales. Si
inicialmente se supone que Q0=Q1=Q2=0, completar el diagrama de tiempos de funcio-
namiento.
Solución
La solución se muestra en la siguiente figura:
CLK
Q0
Q1
Q2
6.9. Dado el circuito secuencial de la figura 6.8 que integra dos flip-flops tipo D de carac-
terı́sticas ideales disparados por flanco de subida con preset y clear, y suponiendo que
inicialmente el circuito parte de un reset QA=QB=0, completar el siguiente cronograma.
Solución
La solución se muestra el la siguiente figura:
CLK
QA
QB
6.10. Dado el circuito de la figura 6.9, construida a partir de biestables JK activados en el flanco
ascendente, suponiendo que sus caracterı́sticas temporales son nulas, se pide:
6. Sistemas Secuenciales: Biestables 86
Solución
CLK
Q0
Q1
Q2
Q3
EJERCICIOS PROPUESTOS
Q = P̄ K̄ + q P̄ + P K q̄
Obtener:
a) Su tabla de excitación.
b) Implementarlo utilizando un flip-flop JK y la lógica adecuada.
9. Analizar el siguiente circuito y completar el cronograma adjunto (en el caso de que al-
gunas señales internas no estén inicializadas en el cronograma, tomar el valor bajo como
valor inicial).
a) Transparente
b) Latch sensible al nivel alto
c) Flip-flop disparado por la transici.n de subida.
tsetup = 1ns.
thold = 2 ns.
tw = 3 ns.
Capı́tulo 7
7.1. Un contador binario como el de la Fig. 7.1 está formado por Flip-flops y puertas lógicas
cuyas caracterı́sticas son:
¿Funcionarı́a este circuito correctamente con una señal de reloj de 1MHz? En caso de
contestar afirmativamente a la pregunta, calcule cuál serı́a la frecuencia máxima de fun-
cionamiento de este circuito.
Solución
90
7. Sistemas Secuenciales: Registros y Contadores 91
7.2. Indicar cuál es el módulo de los contadores siguientes realizados con el registro de des-
plazamiento 74195 (Figura 7.2).
(a) (b)
(c) (d)
Solución:
Una aplicación de los registros de desplazamiento es la de realizar contadores cuyas sa-
lidas representan códigos distintos del binario. Un contador tiene módulo M cuando sus
salidas presentan M combinaciones distintas.
a) En este caso las entradas del registro toman los siguientes valores:
CLR: Esta entrada está unida a un circuito RC que hace que al conectar el circuito a
la alimentación se genere un 0 en el instante inicial y posteriormente se tendrá un 1
de forma permanente. Los valores de las distintas entradas son:
J = QD
S/L̄ = 1
K̄ = QC QD
A=B=C=D=1
Por tanto cada flanco de reloj produce un desplazamiento de los datos de salida
(QA −→ QB −→ QC −→ QD ). Teniendo en cuenta que la entrada J es activa a nivel
alto y K a nivel bajo y que QA es función de J y K, los valores que toman las salidas
QA , QB , QC y QD en función de la señal de reloj (CLK) es la que se indica en la
siguiente tabla, resultando un contador de módulo 8.
b) En este caso las entradas del registro toman los siguientes valores:
CLR: Al igual que en el caso anterior el circuito RC hace que al conectar el circuito a
la alimentación se genere un 0 en el instante inicial y posteriormente se tendrá un 1
de forma permanente. En este caso se cumple:
J = K̄ = QC
S/L̄ = QD
A = QC
B=D=0
C = QC
J = QC
K̄ = QB QC
S/L̄ = 1
A=B=C=D=1
7. Sistemas Secuenciales: Registros y Contadores 94
Por tanto, K teniendo en cuenta que S/L̄ = 1, cada flanco de reloj produce un des-
plazamiento de los datos de salida. Los valores que toman las salidas QA , QB , QC
y QD en función de la señal de reloj (CLK) es la que se indica en la siguiente tabla,
resultando un contador de módulo 6.
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
7.3. Diseñar un contador ası́ncrono activo por flancos ascendentes cuya secuencia sea 0, 1, 2,
3, 4, 5, 0, . . . Completar el cronograma correspondiente sin tener en cuenta los tiempos de
retardo.
Solución:
salida de la NAND a los CLEAR de los J-K. Otra posible solución más optimizada, serı́a
utilizar una NAND de dos entradas, con Q2 y Q1 para decodificar el 6, puesto que la señal
Q0 no serı́a estrictamente necesaria (Fig. 7.3). Se pretende que el contador cuente hasta
el primer estado no deseado, 6 (110), en cuyo caso se fuerza el valor 0 en el contador. El
contador llega a tomar este estado durante un breve instante tiempo hasta que es activado
el CLEAR de los JK. A este comportamiento indeseado y transitorio se le llama glitch.
Nota: La ampliación deberá realizarse por medio de las señales de Reset y Load.
Solución:
Como el CI 74163 es un contador de 4 bits, para conseguir un contador de 12 bits en los
dos casos planteados se deben utilizar 3 módulos.
7.5. Diseñar un contador un contador módulo (85)10 a partir del contador 7490.
Solución:
Solución:
7. Sistemas Secuenciales: Registros y Contadores 99
El circuito de la figura partirá del código cero debido a que al conectar la alimentación la
red RC forzará el borrado de las salidas. A continuación , dado que S1=H y S0=QA, las
únicas operaciones que pueden tener lugar son la de carga S1 S0 = H H) o la de desplaza-
miento a izquierda (S1 S0 =H L). En el caso de la carga dato que se almacena será el 0, que
es el dato fijado en las cuatro entradas (A=B=C=D=L) y en el desplazamiento a izquierda,
se introduce el dato por el terminal SL, que en este caso es un nivel alto (H).
7.7. Utilizando el contador 74LS161, sabiendo que la señal de clear (CLR) es ası́ncrona, y la de
LOAD sı́ncrona, se desea diseñar un contador que siga la secuencia: 3,4,5, . . . , 11,12,3,4,
...
Notas:
Solución:
Dado que la secuencia se debe iniciar con el código 3, al conectar la alimentación se debe
provocar la carga de dicho código, lo cual se conseguirá con una red RC, lo cual se con-
seguirá con una red RC que mantenga activa la señal de LOAD inicialmente un tiempo
suficiente para que se produzca un flanco de subida de la señal de reloj. Por tanto, hay
que diseñar un circuito, en que la señal de carga, que genere un nivel bajo al conectar la
7. Sistemas Secuenciales: Registros y Contadores 100
alimentación y al detectar el código 12 en las salidas del contador. Las señales de habili-
tación deberán estar conectadas a nivel alto para permitir la cuenta y la de borrado, CLR,
se llevará a este mismo nivel para que permanezca inactiva. La solución se muestra en la
Fig. 7.8
EJERCICIOS PROPUESTOS
3. Diseñar un contador sı́ncrono utilizando biestables J-K que efectúe las siguientes se-
cuencias de conteo: 0, 2, 3, 0, 2, 3, . . . cuando el valor de una variable auxiliar C = 1, y
3, 2, 0, 3, 2, 0, . . . cuando el valor de C = 0.
4. Diseñar usando flip-flops D un contador sı́ncrono que realice la siguiente secuencia bina-
ria.
a) Biestables T
b) Biestables SR
c) Biestables JK
d) Biestables D
6. Determinar de forma razonada la secuencia de estados por los que pasa el contador
74LS169 de la figura 7.9. Suponga que el contador comienza en el estado 7 (0111). De-
termine la frecuencia máxima de trabajo del circuito.
DATOS: tSU (/LD) = 25ns tP max(/RCO) = 35ns tSU (U/D) = 30ns tpmax(Q) = 32ns
tSU (DAT A) = 20ns tP max(IN V ) = 15ns
10. En el sistema que aparece a continuación se ha utilizado un contador 74LS190 cuyo fun-
cionamiento se describe mediante los cronogramas que se adjuntan (figura 7.11).
8.1. Diseñar e implementar el autómata de Mealy capaz de detectar tres ó más unos consecu-
tivos en la lı́nea de entrada E.
Solución:
1/1
0/0
1/0 1/0
q0 q1 q2
0/0
0/0
105
8. Sistemas Secuenciales: Diseño 106
Q(t+1)/Z
Q(t) Entrada
0 1
q0 q0 /0 q1 /0
q1 q0 /0 q2 /0
q2 q0 /0 q2 /1
Q1 Q0
q0 00
q1 01
q2 10
x 11
Q(t+1)/Z
Q(t) Entrada
0 1
q0 00/0 01/0
q1 00/0 10/0
q2 00/0 10/1
q3 XX XX
8. Sistemas Secuenciales: Diseño 107
E E E
J1 K1 J0
Q0 Q0 Q0
0 0 1 0 X X X X 0 X X 1
0 1 5 4 0 1 5 4 0 1 5 4
Q1 X X X X Q1 1 X X 0 Q1 0 X X 0
2 3 7 6 2 3 7 6 2 3 7 6
E E
K0 S0
Q0 Q0
X 1 1 X 0 0 0 0
0 1 5 4 0 1 5 4
Q1 X X X X Q1 0 X X 1
2 3 7 6 2 3 7 6
Q0
Q1
8.2. Se quiere diseñar un autómata de Moore que reciba datos en serie por una lı́nea de entra-
da y sea capaz de detectar secuencias de tres o más unos consecutivos.
Solución
En este caso, de nuevo, el circuito dispone de una sola entrada, que llamaremos X0, y
una salida, Z0. En cuanto a los estados, se puede pensar inicialmente en los siguientes:
0
1
q0/0 q1/0
0
0
1
0
1
q3/1 q2/0
1
Como hay 4 estados se necesitan 2 flip-flops, y cada estado se codificará con una combi-
nación de 2 bits. La asignación de estados puede ser: q0 = 00, q1 = 01, q2 = 10, q3 = 11, y
con esto se puede rescribir la tabla, a partir de la tabla de estados codificada.
En este caso se van a utilizar flip-flops de tipo D, a cuyas salidas denominaremos Q1 y
Q0 y a sus entradas D1 y D0, respectivamente. A continuación debemos calcular la exci-
tación que es necesario aplicar a cada una de estas entradas para obtener las transiciones
buscadas y realizar su simplificación.
8. Sistemas Secuenciales: Diseño 110
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
Q1Q0
q0 00
q1 01
q2 10
q3 11
Q(t+1)/Z
Q(t) Entrada
0 1
q0 /0 00 01
q1 /0 00 10
q2 /0 00 11
q3 /1 00 11
8. Sistemas Secuenciales: Diseño 111
X0 X0 X0
D1 D0 Z0
Q0 Q0 Q0
0 0 1 0 0 0 0 1 0 0 0 0
0 1 5 4 0 1 5 4 0 1 5 4
Q1 0 0 1 1 Q1 0 0 1 1 Q1 0 1 1 0
2 3 7 6 2 3 7 6 2 3 7 6
D1 = Q0 · X0 + Q1 · E
D0 = Q1 · X0 + Q0 · X0
Z0 = Q0 · Q1
Por último, es necesario incluir el control de las entradas ası́ncronas de los biestables para
asegurar que el estado inicial sea q0 , es decir, que la salida de ambos biestables sea cero.
El circuito completo se muestra en la Fig. 8.2.
8. Sistemas Secuenciales: Diseño 112
8.3. Se quiere diseñar un autómata de Mealy que realice la suma de dos datos que llegan en
serie por dos canales diferentes.
Solución
Primero se presentan los bits de menor peso de ambos sumandos, el sumador los suma y
obtiene el bit de menor peso del resultado y toma nota del acarreo, sumando a continua-
ción los siguientes bits y el acarreo, y ası́ sucesivamente. El resultado se va presentando a
la salida en serie a medida que se va generando.
Como paso previo a la elaboración del grafo del autómata, comenzaremos planteando la
tabla de verdad del sumador de un bit con acarreo (Tabla 8.1).
En ella hemos denominado X0 y X1 a los sumandos y S al resultado (suma). Para ver los
estados que se necesitan solamente hay que darse cuenta de que las dos situaciones que
se pueden presentar son que la suma se realice con y sin acarreo (si se genera acarreo hay
que almacenarlo y sumarlo con los dos bits X0 y X1 siguientes). Por tanto, para recordar
si ha habido acarreo o no, necesitamos 2 estados: si la suma no genera acarreo estamos en
el estado q0 y si lo genera en el q1 .
Según la tabla 8.1, si estando en el estado q0 (acarreo anterior=0) los bits X0 y X1 toman
valores X0 = 0 y X1 = 0, X0 = 0 y X1 = 1 ó X0 = 1 y X1 = 0 la suma es 0, 1, 1,
respectivamente y el acarreo generado es 0 en todos los casos, es decir, el estado siguiente
es q0 . Sin embargo, si el dato es X0 = 1 y X1 = 1, la suma es S=0 y se produce acarreo,
por tanto, el estado siguiente será q1 .
Por otra parte, si en q1 (acarreo anterior=1) los datos de entrada son X0 = 0 y X1 = 1,
X0 = 1 y X1 = 0 ó X0 = 1 y X1 = 1 la suma es 0 (acarreo anterior (1) + 0 + 1 = 0), 0
(acarreo anterior (1) + 1 + 0 = 0), 1 (acarreo anterior (1) + 1 + 1 = 1), respectivamente, y en
todos los casos el acarreo generado es 1, lo que hace que permanezca en el estado q1 . Por
el contrario, si los datos son X0 = 0 y X1 = 0, la suma es 1 y el acarreo generado es 0, y
se pasa al estado q0 . El estado inicial será q0 , porque el primer acarreo es 0.
Esta descripción se corresponde con el grafo siguiente:
00/0
11/0 10/0
01/1
q0 q1 11/1
00/1
10/1
01/0
Estado siguiente/salida
Estado Actual Entradas
00 01 10 11
q0 q0 /0 q0 /1 q0 /1 q1 /0
q1 q0 /1 q1 /0 q1 /0 q1 /1
8. Sistemas Secuenciales: Diseño 114
Q0
q0 0
q1 1
Como hay 2 estados, será suficiente con 1 biestable. La asignación de estados puede ser:
q0 = 0, q1 = 1. La tabla siguiente muestra Q0 como salida fı́sica del flip-flop, las lı́neas de
entrada del circuito son X0 y X1, y la salida fı́sica Z0.
Estado siguiente/salida
Entrada
Estado Actual 00 01 10 11
q0 0/0 0/1 0/1 1/0
q1 0/1 1/0 1/0 1/1
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
0 X X 0 X 1 0 X 0 1 0 1
0 1 5 4 0 1 5 4 0 1 5 4
X1 0 X X 1 X1 X 0 0 X X1 1 0 1 0
2 3 7 6 2 3 7 6 2 3 7 6
8. Sistemas Secuenciales: Diseño 115
Z0 = X0 · X1 · Q0 + X0 · X1 · Q0 + X0 · X1 · Q0 + X0 · X1 · Q0 = X0 ⊕ X1 ⊕ Q0
8.4. Un coche gobernado por control remoto está dotado de dos motores, y dispone a su vez
de dos mandos A y B.
Si se presiona el mando A se acciona el motor delantero y el coche se mueve hacia delante,
aunque se deje de presionar dicho mando. Al presionar una vez el mando B el coche se
para. Si se presionan los dos mandos a la vez, A y B, el coche se moverá hacia atrás,
aunque se hayan dejado de presionar los botones.
Habrá que diseñar una máquina de Moore, que realice las secuencias diseñadas. Para ello
se pide:
Solución
8. Sistemas Secuenciales: Diseño 116
a) Diagrama de estados
ENTRADAS:
A
B
SALIDAS:
D (Motor Delantero)
T (Motor Trasero)
Estados posibles:
Q0: parada → D=T=0
Q1: hacia delante → D=1; T=0
Q2: hacia atrás → D=0; T=1
11
0X 11,00 X0
10 11
q0/00 q1/00 q2/00
01 10
01
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
Q1Q0
q0 00
q1 01
q2 10
X 11
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
0 0 0 0 X X X X
0 1 5 4 0 1 5 4
X X X X 0 X X 1
Q1 2 3 7 6
Q1 2 3 7 6
X X X X 1 X X 0
10 11 15 14 10 11 15 14
A A
0 0 1 1 X X X X
8 9 13 12 8 9 13 12
B B
J0 : K0 :
Q0 Q0
0 X X 0 X 0 1 X
0 1 5 4 0 1 5 4
0 X X 0 X X X X
Q1 2 3 7 6
Q1 2 3 7 6
1 X X 0 X X X X
10 11 15 14 10 11 15 14
A A
1 X X 0 X 0 1 X
8 9 13 12 8 9 13 12
8.5. Diseñar e implementar el autómata de Mealy capaz de generar el bit de paridad par desde
los unos para un mensaje de tres bits recibido por E. El mensaje se recibe en serie bit a
bit, cada tres bits de salida deberá tomar el valor correspondiente al criterio enunciado,
durante los dos primeros bits, arbitrariamente, la salida valdrá cero.
Solución
q(t+1)/salida
q(t) Entradas
0 1
q0 q2 /0 q1 /0
q1 q4 /0 q3 /0
q2 q3 /0 q4 /0
q3 q0 /0 q0 /1
q4 q0 /1 q0 /0
8. Sistemas Secuenciales: Diseño 120
q0
1/0 0/0
0/0 0/1
q1 q2
1/1 0/0 0/0 1/0
1/0 1/0
q3 q4
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
0 1
q0 010/0 001/0
q1 100/0 011/0
q2 011/0 100/0
q3 000/0 000/1
q4 000/1 000/0
X XXX XXX
X XXX XXX
X XXX XXX
8. Sistemas Secuenciales: Diseño 121
0 1 X X X X X 1
0 1 5 4 0 1 5 4
0 0 X X X X X X
Q1 2 3 7 6
Q1 2 3 7 6
1 0 X X X X X X
10 11 15 14 10 11 15 14
E E
0 0 X X X X X 1
8 9 13 12 8 9 13 12
8. Sistemas Secuenciales: Diseño 122
Q2 Q2
J1 : K1 :
Q0 Q0
1 0 X 0 X X X X
0 1 5 4 0 1 5 4
X X X X 0 1 X X
Q1 2 3 7 6
Q1 2 3 7 6
X X X X 1 1 X X
10 11 15 14 10 11 15 14
E E
0 1 X 0 X X X X
8 9 13 12 8 9 13 12
Q2 Q2
J0 : K0 :
Q0 Q0
0 X X 0 X 1 X X
0 1 5 4 0 1 5 4
1 X X X X 1 X X
Q1 2 3 7 6
Q1 2 3 7 6
0 X X X X 1 X X
10 11 15 14 10 11 15 14
E E
1 X X 0 X 0 X X
8 9 13 12 8 9 13 12
Q2
S0 :
Q0
0 0 X 1
0 1 5 4
0 0 X X
Q1 2 3 7 6
0 1 X X
10 11 15 14
E
0 0 X 0
8 9 13 12
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
Autómata de Moore
El autómata de Moore tendrá 7 estados. En Mealy las salidas van asociadas a la transición,
de donde va al nuevo estado q0 , mientras que Moore tiene que crear un nuevo estado q5
para asignar la salida, y luego ir al destino. Mealy lo hace en una vez, y Moore en dos.
Mealy necesita dos flancos y que esté presente la nueva entrada. En este mismo instante,
sin llegar un nuevo flanco, el autómata puede decir cuál será la salida. Mealy se adelanta
al flanco para obtener la salida.
Moore necesita tres flancos. Aunque llegue el tercer bit, éste no será procesado hasta el
siguiente flanco; es más lento y ordenado; primero llega el bit y después da la salida.
8. Sistemas Secuenciales: Diseño 125
EJERCICIOS PROPUESTOS
3. Diseñar un contador sı́ncrono basado en biestables J-K y con una entrada de control (Z)
que realice las siguientes secuencias a su salida:
Z = 0 ⇒ (0, 1, 2, 0, 1, 2, . . .)
8. Sistemas Secuenciales: Diseño 126
Z = 1 ⇒ (1, 2, 3, 1, 2, 3, . . .)
4. Diseñar un contador sı́ncrono basado en biestables D, activos mediante flanco ascendente, que
realice la siguiente secuencia a su salida: (0, 2, 4, 6, 0, 2, . . .) En el diseño debe aparecer el diagrama
de estados, la tabla de transición, la simplificación de funciones y esquema lógico del contador.
NOTA: las transiciones desde los estados impares ponen el contador a cero.
5. Un circuito secuencial posee dos flip-flops tipo D, A y B disparados por flanco de bajada; dos
entradas X e Y, y una salida Z. Su funcionamiento está especificado por las siguientes ecuaciones:
Z =B
6. Diseñar un circuito secuencial con flip-flops JK, con dos entradas E y X. Si E=0 el circuito per-
manece en el mismo estado independientemente del valor de X. Cuando E=1 y X=1 el circuito
transita según la secuencia 00− > 01− > 10− > 11− > 00 y repite. Cuando E=1 y X=0 el circuito
realiza la secuencia 00− > 11− > 10− > 01− > 00 y repite.
7. Diseñar un sistema secuencial sı́ncrono con una entrada X, que detecte la secuencia de entrada de
tres bits 101, activando un pulso coincidiendo con la llegada del tercer bit de la secuencia correcta.
Si la secuencia no es correcta para alguno de los dı́gitos se ignoran los dı́gitos sucesivos hasta
completar una secuencia de tres bits antes de comprobar una nueva.
8. Un circuito secuencial posee un biestable D disparado por flanco de subida, dos entradas X e Y y
una salida S, conectados según el siguiente diagrama lógico:
9. Un circuito secuencial tiene tres flip-flops A, B y C, una entrada X y una salida Y. Su comporta-
miento puede describirse mediante el diagrama de estados siguiente. Construir un diseño usando:
a) Flip-flops tipo T.
b) Flip-flops tipo JK.
Tratar los estados no usados como indiferencia en la tabla de estados y una vez diseñados los
circuitos comprobar que el comportamiento de los estados no usados para verificar que no llevan
a situaciones anómalas en caso de que por causa aleatoria el sistema llegue a los mismos. Usar la
asignación de estados: a=001, b=100, c=011, d=010, e=000.
a) Analizar el sistema y obtener las expresión booleana de las funciones de salida y de excita-
ción de los flip-flops.
b) Obtener su tabla de transición de estados.
c) Obtener un diagrama de transición de estados y explicar el comportamiento del circuito.
d) Diseñar de nuevo el circuito usando flip-flop tipo JK.
12. Diseñar un sistema digital sı́ncrono, que siga el modelo de Moore, que controle el funcionamiento
de un semáforo situado en una travesı́a para regular la velocidad de los vehı́culos que llegan a la
misma. El funcionamiento del mismo se especifica de la siguiente manera:
Si la velocidad de los vehı́culos que se acercan es inferior a los 40Km/h., el semáforo está en
ámbar intermitente.
Si la velocidad de los vehı́culos es igual o excede los 40Km/h, el semáforo pasa a ámbar no
intermitente.
Si la velocidad de los vehı́culos excede los 50Km/h, el semáforo pasa a rojo.
Una vez que el semáforo está en rojo permanece ası́ hasta que la velocidad de los vehı́culos
baja por debajo de los 20Km/h.
8. Sistemas Secuenciales: Diseño 129
Para detectar la velocidad de los vehı́culos que llegan se dispone de un sistema radar que propor-
ciona 4 señales digitales que se activan indicando lo siguiente:
A0: Velocidad mayor o igual a 20Km/h.
A1: Velocidad mayor o igual a 30Km/h.
A2: Velocidad mayor o igual a 40Km/h.
A3: Velocidad mayor o igual a 50Km/h.
13. Resolver el problema anterior empleando un sistema digital sı́ncrono que siga el modelo de Mealy.
14. Diseñar un circuito con dos entradas, X e Y, que de salida Z=1 cuando en los cuatro últimos ciclos
de reloj, las entradas hayan sido 11, 01, 01, 11. El circuito debe ser implementado mediante un
esquema de Mealy y utilizando biestables tipo D.