¿Qué sabrás al final del capítulo?
Diseño de Sumadores Binarios
Semisumadores
Sumador completo
Sumador con acarreo serie
Sumador con acarreo anticipado
Sumador / Restador
Sumador BCD
Diseño de Multiplicadores aritméticos
Funcionamiento de los módulos lógicos
Comparadores
Generadores y detectores de paridad
Conversores de códigos
Diseño de una unidad aritmético-lógica elemental
Sumador Binario
Semisumador (Half Adder)
La operación de suma aritmética tiene como resultado suma y acarreo
No podemos propagar acarreos con semisumadores
(Gp:) A B C S
(Gp:) 0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
S = A ? B Propagación (Pi)
C = A · B Generación (Gi)
Sumador Completo (Full Adder)
Funcionamiento similar al semisumador añadiendo el acarreo de entrada
(Gp:) Ai Bi Ci Ci+1 Si
(Gp:) 0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
Si = Ai ? Bi ? Ci
= Pi ? Ci
Ci+1 = (Ai + Bi) Ci + (Ai Bi)
=(Ai ? Bi) Ci + (Ai Bi)
= Pi Ci + Gi
Sumador completo
Podemos diseñarlo a partir de dos semisumadores
Sumador Completo
¿Cuál será el camino crítico?
(Gp:) semisumador
(Gp:) semisumador
Sumador Completo
camino crítico
tpo. retardo por puerta = 5 ns
semisumador
semisumador
La salida Si llega 10 ns de retardo respecto a las entradas A y B y sólo 5 ns respecto a la entrada C
La salida Ci+1 llega 15 ns de retardo respecto a las entradas A y B y sólo 10 ns respecto a la entrada C
Sumador paralelo con acarreo serie
(Gp:)
FA
(Gp:) A0 B0
(Gp:) S0
(Gp:) C0
(Gp:)
FA
(Gp:) A1 B1
(Gp:) S1
(Gp:) C1
(Gp:)
FA
(Gp:) A2 B2
(Gp:) S2
(Gp:) C2
(Gp:)
FA
(Gp:) An-1 Bn-1
(Gp:) Sn-1
(Gp:) Cn-1
(Gp:) Cn
(Gp:) Sn
(Gp:) C3
(Gp:)
Sumador paralelo con acarreo serie
Cada sumador completo realiza una suma
Genera un acarreo que se le transmite al sumador siguiente
Los tiempos se van acumulando
Si ts es el tiempo para realizar una suma y tc el tiempo para realizar un acarreo, resulta:
Dato en S0 C1 S1 C2
Sn-1 Sn = Cn
Tiempo ts tc ts + tc 2 tc
ts + (n-1) tc n tc
Sumador con acarreo anticipado
Los acarreos se evalúan anticipadamente con lógica de 2 niveles de puertas
Las sumas se realizan posteriormente en paralelo
En primer lugar se obtienen los términos de generación y propagación
Pi = Ai ? Bi
Gi = Ai Bi
Todos los términos se calculan en
paralelo desde el primer momento
Sumador con acarreo anticipado
Cálculo del acarreo
desarrollando la fórmula iterativa Ci+1 = Pi Ci + Gi todos los acarreos dependen de propagaciones, generaciones y acarreo inicial
cualquier función booleana puede expresarse con lógica de 2 niveles de puertas
Cálculo de las sumas
C1 = P0 C0 + G0
C2 = P1 C1 + G1 = P1 (P0 C0 + G0) + G1 = P1P0C0 + P1G0 + G1
C3 = P2 C2 + G2 = P2P1P0C0 + P2P1G0 + P2G1 + G2
C4 = P3 C3 + G3 = P3P21P0C0+P3P2P1G0+P3P2G1+P3G2+G3
Si = Pi ? Ci
Sumador con acarreo anticipado
1.- Propagación y
Generación
3.- Sumas
2.- Acarreos
t
t
2t
Sumadores de 4 bits
Sumador / Restador
A3 A2 A1 A0
B3 B2 B1 B0
S4 S3 S2 S1 S0
S/R
S/R = 0 ? suma
S/R = 1 ? resta
sumador
Complementador a 2
El uso del complemento a 2 permite realizar sumas y restas con un sumador y un poco de lógica adicional
Código BCD
El código BCD es un código de 4 bits que representa los 10 dígitos decimales como si fueran binarios naturales
Cada dígito decimal se sustituye por sus cuatro bits
El código BCD, al igual que el binario, es un código ponderado de pesos 8 4 2 1
Puede haber otros códigos BCD con otra relación de ponderación o, incluso, no ponderados
Otros códigos BCD
Decimal Código BCD Código BCD exceso3 Código BCD Aiken
0 0000 0011 0000
1 0001 0100 0001
2 0010 0101 0010
3 0011 0110 0011
4 0100 0111 0100
5 0101 1000 1011
6 0110 1001 1100
7 0111 1010 1101
8 1000 1011 1110
9 1001 1100 1111
autocomplementarios
Ponderado 8 4 2 1
Ponderado 2 4 2 1
No Ponderado
Sumador BCD
Suma números codificados en BCD, y genera otro BCD
Si el resultado es > 10 es necesario corregir restando 10
A3 A2 A1 A0
B3 B2 B1 B0
S4 S3 S2 S1 S0
sumador
corrección
sumador
corregir?
0
corregir = 0 ? 0000
corregir = 1 ? 0110
últimos 4 bits de +6 =
últimos 4 bits de -10
Z4 Z3 Z2 Z1 Z0
Multiplicadores combinacionales
Multiplicadores
La multiplicación aritmética coincide con el producto lógico
FA
FA
FA
FA
FA
FA
Módulos lógicos
Comparadores
Comparador de 1 bit
Comparador de 2 bits
A0>B0
A0=B0
A0B1 ó (A1=B1 y A0>B0)
A1=B1 y A0=B0
A1