Download - bCapítulo03Circuitos Combinacionales
Sistemas Digitales 1
SISTEMAS COMBINACIONALES
Sistemas Digitales 2
Introducción En este capítulo estudiaremos
circuitos típicos que son utilizables en diversas máquinas digitales
Una de las más conocidas máquinas digitales son los computadores.
Sistemas Digitales 3
Introducción Los computadores hacen uso de
circuitos tales como: Unidad Aritmética Lógica (ALU) Comparadores Multiplexores o selectores de datos Demultiplexores o decodificadores Codificadores Registros de desplazamientos (shift register) Contadores Etc.
Sistemas Digitales 4
Sumador Binario de 2 bits Diseño de un sumador de 2 bits para sumar 2 números de dos bits AB y CD y un carry-in E.
yzE Carry-in (acarreo)
AB + CD
XYZ Suma
yz Carry-out
Sumador de2 bits
XX
YY
ZZ
EE
AA
BB
CC
DD
Sistemas Digitales 5
Sumador Binario de 2 bits La representación simbólica sugiere
diseñar un sumador de 1 bit (EBD) y llevar en cascada el carry-out al 2º sumador de 1 bit y sumar zAC
El diagrama en bloques sugiere hacer una tabla de verdad y luego minimizar la función
Sistemas Digitales 6
Sumador Binario de 2 bits La suma Z=1 Si un número impar de
entradas EBD = 1Z= E’B’D + E’BD’ + EB’D’ + EBD = E (B D)
El carry-out z= 1 si 2 o más entradas EBD = 1:z= E’BD + EB’D + EBD’ + EBD = EB + ED + BD
Similarmente en la segunda columna:Y= z’A’C + z’AC’ + zA’C’ + zAC = z (A C)y= z’AC + zA’C + zAC’ + zAC = zA + zC + AC
En la tercera columna:X = y
Sistemas Digitales 7
Sumador Binario de 2 bits Diagrama en bloques
Sumador de 1 bit Sumador de 1 bit
A B A B C D C D
X Y X Y Z Z
yy zzEE
Sistemas Digitales 8
Sumador Binario de 2 bits Diagrama lógico
BD
E
Z
z
AC
Y
X
Sistemas Digitales 9
Sumador Binario de 2 bits directo, no en cascada Diagrama lógico
A B C B
Y ZX
E
E AB + CD XYZ Sumador de 2 bits
Sistemas Digitales 10
Sumador Binario de 2 bits directo, no en cascada
E A B C D X Y Z
0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 1
2 0 0 0 1 0 0 1 0
3 0 0 0 1 1 0 1 1
4 0 0 1 0 0 0 0 1
5 0 0 1 0 1 0 1 0
6 0 0 1 1 0 0 1 1
7 0 0 1 1 1 1 0 0
8 0 1 0 0 0 0 1 0
9 0 1 0 0 1 0 1 1
10 0 1 0 1 0 1 0 0
11 0 1 0 1 1 1 0 1
12 0 1 1 0 0 0 1 1
13 0 1 1 0 1 1 0 0
14 0 1 1 1 0 1 0 1
15 0 1 1 1 1 1 1 0
E A B C D X Y Z
16 1 0 0 0 0 0 0 1
17 1 0 0 0 1 0 1 0
18 1 0 0 1 0 1 1 1
19 1 0 0 1 1 1 0 0
20 1 0 1 0 0 0 1 0
21 1 0 1 0 1 0 1 1
22 1 0 1 1 0 1 0 0
23 1 0 1 1 1 1 0 1
24 1 1 0 0 0 0 1 1
25 1 1 0 0 1 1 0 0
26 1 1 0 1 0 1 0 1
27 1 1 0 1 1 1 1 0
28 1 1 1 0 0 1 0 0
29 1 1 1 0 1 1 0 1
30 1 1 1 1 0 1 1 0
31 1 1 1 1 1 1 1 1
Sistemas Digitales 11
Sumador Binario de 2 bits directo, no en cascada Obteniendo las funciones y
minimizando se tiene:X= ABD + EBA + EAD + BCD + EBC + ECD + AC
Y= E’A’B’C’ + E’A’CD’ + E’AB’C’ + E’AC’D’ + EA’BC’ + EA’C’D + EABC + EACD + A’B’CD’ + AB’C’D’ + A’BC’D + ABCD
Z= EBD + EB’D’ + E’BD’ + E’B’D
Sistemas Digitales 12
Sumador Binario de 2 bits directo, no en cascada estas expresiones pueden ser
escritas de otra forma:X= AC + A(BD + EB + ED) + C(BD + EB +
ED)X= AC + (A + C)(BD + EB + ED)
Y= (BD + EB +ED) (A C)
Z= E(BD + B’D’) + E’(BD’ + B’D)Z= E(B D)’ + E’(B D)Z= E (B D)
Sistemas Digitales 13
Sumador Binario de 2 bits directo, no en cascada Diagrama Lógico
Sistemas Digitales 14
Sumador/Restador de 4 bits Se trata de un solo circuito que
es capaz de sumar y restar. Evitando así dos circuitos separados para hacer estas operaciones.
Sistemas Digitales 15
Sumador/Restador de 4 bits
A=5 0101 B=2 0010
0101 0010 forma almacenada
1101+1 complemento a 1 y se suma 1
1110
1 0011 =3 se bota
Sistemas Digitales 16
Sumador/Restador de 4 bits
¿cómo hacer el complemento del sustraendo?
Sea W una entrada de control Sea y una entrada de dato Si W=0 ‘Y’ pasa sin cambiar a la
salida Si W=1 ‘Y’ es complementado
antes de pasar a la salida
Sistemas Digitales 17
Sumador/Restador de 4 bits
Esto corresponde a un OR exclusivo
F = W’Y + WY’ = W Y
Control Dato Salida
W Y F
0 0 0
0 1 1
1 0 1
1 1 0
Y pasa sin cambiarY pasa sin cambiar
Y cambia al inversoY cambia al inverso
Sistemas Digitales 18
Sumador/Restador de 4 bits
La implementación para 4 bits sería:WW
A3
A2
A1
A0
S3
S2
S1
S0
B3
B2
B1
B0
C0
Ci
Sistemas Digitales 19
Diseño de una ALU Una ALU se puede diseñar
incorporando alguna circuitería al sumador/restador
Aquí se verá el caso de una ALU con 8 funciones aritméticas lógicas.
Previamente se diseñará un circuito capaz de realizar otras funciones adicionales
Sistemas Digitales 20
Diseño de las funciones True/Complemento/Zero/Uno
Esta unidad (TC01) un circuito lógico combinacional que tiene:
Una entrada multibit Y Dos controles de 1 bit (E=enable;
W=complemento) Una salida multibit F
Sistemas Digitales 21
Diseño de las funciones True/Complemento/Zero/Uno
La salida F del TC01 se define:Control Salida
W E F
0 0 Zeros
0 1 Y
1 0 Unos
1 1 Y’
Sistemas Digitales 22
Diseño de las funciones True/Complemento/Zero/Uno
Suponiendo una entrada de 1 bit la tabla de verdad sería:
W E Y F
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0
Pasa
Complemento
Zero
True
1
Complemento
Sistemas Digitales 23
Diseño de las funciones True/Complemento/Zero/Uno De esta tabla se obtiene la función de salida F y luego aplicando Karnaugh, se obtiene F= W’EY + WY’ + WE’ F= W’EY + W(E’+Y’) F= W’EY + W(E’+Y’)’’ F= W’EY + W(E’’+Y’’)’ F= W’EY + W(EY)’ F= W EY
YE
W
F
Sistemas Digitales 24
Implementación de la ALU de 8 funciones
Las funciones serán: Suma Resta Pasa Decrementa Incrementa Suma con carry-in X + complemento a 1
Sistemas Digitales 25
Implementación de la ALU de 8 funciones
Tabla de verdad:Ci W E F Z Función
0 0 0 0 X Pasa X
0 0 1 Y X+Y Suma
0 1 0 1s X+1s Decrementa X
0 1 1 Y’ X+Y’ X+ complemento a 1
1 0 0 0s X+1 Incrementa X
1 0 1 Y X+Y+1 Suma con Carry-in
1 1 0 1s X+1s+1 Pasa X
1 1 1 Y’ X+Y’+1 Resta
Sistemas Digitales 26
Implementación de la ALU de 8 funciones Ilustración de decremento, incremento y pasa
X = 0101 = 5F = 1111Z = 10100 = 4
Decrementa X
X = 0110 = 6F = 0000Ci = 1Z = 0111 = 7
Incrementa X
X = 0011 = 3F = 1111Ci = 1Z = 10011 = 3
Pasa X
Sistemas Digitales 27
Implementación de la ALU de 8 funciones
f3 f2 f1 f0
Y3 Y2 Y1 Y0X3 X2 X1 X0
Z3 Z2 Z1 Z0
CiCo
E enable
W complemento
Sumador Binario
Sistemas Digitales 28
Implementación de la ALU de 8 funciones
f3 f2 f1 f0
Y3 Y2 Y1 Y0X3 X2 X1 X0
Z3 Z2 Z1 Z0
CiCo
E
W
Sumador Binario
TC01
Sistemas Digitales 29
Comparadores Los comparadores u operaciones de
comparación sirven para Comparar 2 números X e Y, y determinar si
X es igual, mayor o menor que Y Comparar 2 palabras de datos
alfanuméricos A y B, y determinar si A precede o sigue a B en un ordenamiento
Un comparador de n-bits determina si un número X de n-bits es =, > o < que Y de n-bits
Sistemas Digitales 30
Comparadores ¿Cómo comparar dos palabras
alfanuméricas? Los códigos que representan
caracteres alfanuméricos están construidos de modo que: las letras están en secuencia
ascendente y son representados en binario en
forma ascendente
Sistemas Digitales 31
Comparadores Por ejemplo: Código ASCII de 7 bits: A=1000001;
B=1000010; C=1000011 Lo mismo para otros códigos como
ASCII de 8 bits y EBCDIC
Nota: ASCII: American Estándar Code for Information Interchange EBCDI: Extended BCD Interchange Code
Sistemas Digitales 32
Comparadores Comparador de 1 bit
E (=)
G (>)
L (<)
X Y X=Y X>Y X<y
0 0 1 0 0
0 1 0 0 1
1 0 0 1 0
1 1 1 0 0
E=X’Y’ + XY = (X Y)’
G= XY’
L= X’Y
Sistemas Digitales 33
Comparadores Circuito lógico del comparador de
1 bit
XY
X
G
L
Sistemas Digitales 34
Comparador de 2 bits
Sea X= X1X0 e Y= Y1Y0; entonces:
X=Y si X1=Y1 y X0=Y0
Luego: E= (X1 Y1)’ (X0 Y0)’ X>Y cuando:
(X1>Y1) o (X1=Y1 y X0>Y0)
Luego: G= X1(Y1)’ + (X1 Y1)’X0(Y0)’
Sistemas Digitales 35
Comparador de 2 bits
Finalmente X<Y cuando:(X1 <Y1) o (X1=Y1 y X0 <Y0)
Luego: L= (X1)’Y1 + (X1 Y1)’(X0)’Y0)
Comparador de 2 bits
X1
X0
Y1
Y0
E
G
L
Sistemas Digitales 36
Operaciones Lógicas y Aritméticas
Una ALU simple tiene la capacidad de realizar operaciones aritmética y lógicas
Aplicaciones comunes son: Enmascarar Fundir Complementar bits individuales de
palabras de datos
Sistemas Digitales 37
Operaciones Lógicas y Aritméticas
AND: se puede usar para enmascarar (deshabilitar) parte de una palabra y extraer (habilitar) la parte restante
Ejemplo1010 1100 Palabra de dato
AND 1111 0000 Máscara1010 0000 Resultado
Sistemas Digitales 38
Operaciones Lógicas y Aritméticas
OR: se puede usar para combinar (merge) dos palabras. Esto hace que aparezca un 1 en cada posición que hay un 1.
Ejemplo0011 1100 Palabra 1
OR 0101 0101 Palabra 20111 1101 Resultado
Sistemas Digitales 39
Operaciones Lógicas y Aritméticas
XOR: se usa para pasar selectivamente o complementar bits individuales.
Ejemplo1100 0101 Palabra
XOR 0000 1111 Palabra Control1100 1010 Resultado
pasado complementado
Sistemas Digitales 40
Operaciones Lógicas y Aritméticas
Estas tres operaciones son inherentes a un sumador completo
A
B
A B
A+B
A . B
C
S = C (A B)
C = AB + C (A + B)
Sistemas Digitales 41
Multiplexores Un MUX es un dispositivo con múltiples
entradas y una salida, que selecciona una entrada la cual pasa a la salida
También es llamado Selector de datos Un MUX que tiene 2n entradas requiere
n líneas selectoras para elegir cual de las 2n entradas pasará a la salida
Sistemas Digitales 42
Multiplexores
I0
I1
IN-1
Entrada de datos
Salida
Entradas de selección
Sistemas Digitales 43
MUX 2 a 1i1
i0
O
salida
Sselector
S O
0 i0
1 i1
O= i0 S’ + i1 S
Oi0
S
i1
Sistemas Digitales 44
MUX 4 a 1
i0
i1
i2
i3
O
salida
selectores
x y O
0 0 i0
0 1 i1
1 0 i2
1 1 i3
O= i0 x’y’ + i1 x’y + i2 xy’ + i3 xy
x y
Sistemas Digitales 45
MUX 4 a 1
O
i0
i1
i2
i3
x
y
Sistemas Digitales 46
Demultiplexor (DEMUX) Es un dispositivo con una
entrada y múltiples salidas que encamina la entrada a las salidas seleccionadas
También se conoce como distribuidor de datos
Sistemas Digitales 47
Demultiplexor (DEMUX)
O0
O1
ON-1
Datos de entrada
Entradas de selección
Sistemas Digitales 48
Demux 1 a 4O0
O1
O2
O3
x y O0 O1 O2 O3
0 0 I 0 0 0
0 1 0 I 0 0
1 0 0 0 I 0
1 1 0 0 0 I
I
entrada
selectores
x y
salidas
I
Sistemas Digitales 49
Demux 1 a 4 O0 = x’y’I; O1 = x’yI; O2 = xy’I; O3
= xyII
x
y
O0
O1
O2
O3
Sistemas Digitales 50
Codificadores, decodificadores, conversores de código Debido a que la memoria de muchos
computadores consiste de elementos de dispositivos de 2 estados, cada carácter de un conjunto de caracteres externos (letras, dígitos, símbolos) debe ser codificado en alguna forma binaria para ser almacenado en memoria
Cuando la palabra código es recuperada de memoria, debe ser decodificada a su forma original.
Sistemas Digitales 51
Codificadores, decodificadores, conversores de código En los sistemas digitales se utilizan
diversos códigos Unos son numéricos
Binario natural BCD (Binary Coded Decimal) Gray Johnson De exceso tres
Otros son alfanuméricos
Sistemas Digitales 52
Codificadores, decodificadores, conversores de código
Otros son alfanuméricos ASCII............................7 bits ASCII extendido........8 bits EBCDIC.........................8 bits
Sistemas Digitales 53
Codificador BCD a 7 segmentos
Una representación de números muy usada es la lograda con 7 segmentos
Esto permite leer números en la forma conocida por seres humanos.
a
b
c
d
gf
e
Sistemas Digitales 54
Codificador BCD a 7 segmentos
La representación de los números se logra activando los segmentos adecuados
Sistemas Digitales 55
Codificador BCD a 7 segmentos
Dec A B C D a b c d e f g
0 0 0 0 0 1 1 1 1 1 1 0
1 0 0 0 1 0 1 1 0 0 0 0
2 0 0 1 0 1 1 0 1 1 0 1
3 0 0 1 1 1 1 1 1 0 0 1
4 0 1 0 0 0 1 1 0 0 1 1
5 0 1 0 1 1 0 1 1 0 1 1
6 0 1 1 0 0 0 1 1 1 1 1
7 0 1 1 1 1 1 1 0 0 0 0
8 1 0 0 0 1 1 1 1 1 1 1
9 1 0 0 1 1 1 1 0 0 1 1
- 1 0 1 0 x x x x x x x
- 1 0 1 1 x x x x x x x
- 1 1 0 0 x x x x x x x
- 1 1 0 1 x x x x x x x
- 1 1 1 0 x x x x x x x
- 1 1 1 1 x x x x x x x
Sistemas Digitales 56
Codificador BCD a 7 segmentos
AB\CD 00 01 11 10
00 1 1 1
01 1 1
11 X X X X
10 1 1 X X
a= A+CD+B’D’+BD = A+CD+ (B D)’
AB\CD 00 01 11 10
00 1 1 1 1
01 1 1
11 X X X X
10 1 1 X X
b= B’+C’D’+CD = B’+ (C D)’
Sistemas Digitales 57
Codificador BCD a 7 segmentos
AB\CD 00 01 11 10
00 1 1 1
01 1 1 1 1
11 X X X X
10 1 1 X X
c= C’+D+B
AB\CD 00 01 11 10
00 1 1 1
01 1 1
11 X X X X
10 1 X X
d= B’D’+B’C+CD’+BC`D
Sistemas Digitales 58
Codificador BCD a 7 segmentos
AB\CD 00 01 11 10
00 1 1
01 1
11 X X X X
10 1 X X
e= B’D’+CD’
AB\CD 00 01 11 10
00 1
01 1 1 1
11 X X X X
10 1 1 X X
f= A+C’D’+BC’+BD’
Sistemas Digitales 59
Codificador BCD a 7 segmentos
AB\CD 00 01 11 10
00 1 1
01 1 1 1
11 X X X X
10 1 1 X X
g= A+ CD’+ BC’+ B’C = A+CD’+ (B C)
Sistemas Digitales 60
Generador y Chequeador de Paridad Paridad PAR: se cuentan los 1s en
la palabra y si es impar se agrega un 1 de paridad; si es par se agrega un 0.
El total de 1s después de la generación, debe ser par
Sistemas Digitales 61
Generador y Chequeador de Paridad Paridad IMPAR: se cuentan los 1s
en la palabra y si es par se agrega un 1 de paridad; si es impar se agrega un 0.
El total de 1s después de la generación, debe ser impar
Sistemas Digitales 62
Generador de ParidadA B C D P(par) P(impar)
0 0 0 0 0 1
0 0 0 1 1 0
0 0 1 0 1 0
0 0 1 1 0 1
0 1 0 0 1 0
0 1 0 1 0 1
0 1 1 0 0 1
0 1 1 1 1 0
1 0 0 0 1 0
1 0 0 1 0 1
1 0 1 0 0 1
1 0 1 1 1 0
1 1 0 0 0 1
1 1 0 1 1 0
1 1 1 0 1 0
1 1 1 1 0 1
Sistemas Digitales 63
Generador de Paridad Par P= (A’B’C’D+A’B’CD’) + (A’BC’D’+A’BCD) +
(ABC’D+ABCD’) + (AB’C’D’+AB’CD) P= A’B’(C’D+CD’) + A’B(C’D’+CD) +
AB(C’D+CD’) + AB’(C’D’+CD) P= (A’B’+AB)(C`D+CD’) + (A’B+AB’)
(C’D’+CD) Sea:
X= A’B+AB’ = A B Y= C`D+CD’ = C D
P= X’Y+XY’ = X Y = (A B) (C D)
Sistemas Digitales 64
Generador de Paridad Par
AB
CD
P
PAB
CD
Sistemas Digitales 65
Chequeador de Paridad Es un dispositivo que prueba un
dato más su paridad para determinar si ha ocurrido un error en la palabra
Se verá el caso de un chequeador de paridad par para palabras de 2 bits a la que se agrega un tercer bit de paridad
Sistemas Digitales 66
Chequeador de Paridad Par
F= P (A B)
A B P F
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
AB
P
F
Sistemas Digitales 67
F I N