Sumador Ripple

Anuncio
Sumador Ripple-Carry
• Sumador de N bits conectando en
cascada N circuitos sumadores completos
(FA) conectando Co,k-1 a Ci,k para k=1 a N1 y con Ci,0 conectado a 0
Sumador Ripple-Carry
• El retardo del circuito depende del número
de etapas lógicas que haya que recorrer, y
estará en función de las señales de
entrada aplicadas
Sumador Ripple-Carry
• Para algunas señales de entrada no se
produce ningún efecto de propagación,
mientras que para otras el acarreo tiene que
propagarse a lo largo de todo el circuito desde
el bit LSB hasta el bit MSB
Sumador Ripple-Carry
•El retardo de propagación en este caso (camino
crítico) se define como el retardo de caso peor
para todos los posibles patrones de entrada
•tp = (N-1)tcarry + tsum
Propagación en un RCA
0
1
0
1
3tcarry
3tcarry +tsum
0
1
2tcarry
2tcarry +tsum
1
1
tcarry
tcarry +tsum
•tRCA = 3tcarry + tsum
tsum
Propagación en un RCA
0
1
0
0
2tcarry
2tcarry +tsum
0
1
2tcarry
2tcarry +tsum
1
1
tcarry
tcarry +tsum
•tRCA = 2tcarry + tsum
tsum
Propagación en un RCA
• El retardo de propagación del sumador RCA
es linealmente proporcional a N. Este
sumador resulta adecuado para la
implementación de sumas con longitud de
palabra relativamente pequeña.
• Al diseñar la celda de sumador completo
para un sumador rápido con propagación de
acarreo, es mucho más importante optimizar
tcarry que tsum.
Sumador Carry Lookahead
Ejemplo 2
Ejemplo 1
Sumar:
3456789876543
+
6543210123456
Sumar:
3456789876543
+
6544210123456
propaga acarreo
• Sumador con acarreo anticipado
Sumador Carry Lookahead
Ejemplo 1
Ejemplo 2
Sumar:
3456789876543
+
6543210123456
Sumar:
3456789876543
+
6544210123456
propaga acarreo
propaga acarreo
genera acarreo
• Sumador con acarreo anticipado
Sumador Carry Lookahead
• Sumador con acarreo anticipado
Sumador Carry Lookahead
• Para evitar el retardo de la cadena de acarreo, se
generan directamente los acarreos intermedios a
partir de las entradas
Sumador Carry Lookahead
Co,k = f ( Ak , Bk , Co,k −1 ) = Gk + Pk ⋅ Co,k −1 ⇒
Co,k = Gk + Pk ⋅ (Gk −1 + Pk −1 ⋅ Co,k −2 ) ⇒
(
Co,k = Gk + Pk ⋅ Gk −1 + Pk −1 ⋅ (K + P1(G0 + P0 ⋅ Ci ,0 ))
)
Sumador Carry Lookahead
• Para cada bit, las salidas de acarreo y de
suma son independientes de los bits
anteriores.
• Por tanto, el efecto de propagación se ha
eliminado y el tiempo de suma debería ser
independiente del número de bits.
• Sin embargo, el alto fan-in del circuito hace
que sea prohibitivamente lento para valores
grandes de N. Además, el fan-out de algunas
señales crece en exceso.
Sumador Carry-Select
• Principio: Precalcular los acarreos de un
grupo de bits intermedios para los dos
posibles valores de acarreo de entrada
evitando así el tiempo de espera de su
llegada.
• Cuando llega el acarreo de entrada definitivo,
los acarreos siguientes ya están preparados
y sólo hay que seleccionar el correcto
mediante una etapa multiplexora.
Sumador Carry-Select
Se generan las
Setup
señales G y P para
calcular los acarreos
intermedios de cada
bloque
P,G
"0"
"1"
Co,k-1
"0" Carry Propagation
"1" Carry Propagation
Selecciona los
acarreos
precalculados en
función del acarreo de
entrada recibido
Multiplexer
C o,k+3
Carry Vector
Sum Generation
Generada con la señal
P y los acarreos
Topología de un módulo de selección de acarreo
Sumador Carry-Select
Bit 0–3
Bit 4–7
Bit 8–11
Bit 12–15
Setup
Setup
Setup
Setup
0
0-Carry
0
0-Carry
0
0-Carry
0
0-Carry
1
1-Carry
1
1-Carry
1
1-Carry
1
1-Carry
Ci,0
Multiplexer
Co,3
Multiplexer
Co,7
Multiplexer
Co,11
Multiplexer
Sum Generation
Sum Generation
Sum Generation
Sum Generation
S0–3
S4–7
S8–11
S12–15
Sumador lineal de 16 bits con carry-select
Co,15
Sumador Carry-Select
Se puede construir un sumador completo de N
bits con carry-select encadenando una serie de
etapas sumadoras de igual longitud, de M bits
cada una, como en la técnica de carry-bypass.
El retardo de propagación de caso peor será:
tp = tsetup + M·tcarry + N/M·tmux + tsum
Sumador Carry-Select - Retardo
El retardo es también linealmente proporcional a
N, porque la señal de selección de bloque que
elige entre las soluciones correspondientes a los
casos 0 y 1 continúa teniendo que propagarse a
través de todas las etapas en el caso peor.
Sumador Carry-Select - Desventajas
Se duplican los recursos (doble generación de acarreo)
→ Hardware adicional: extra camino de generación de
carry + un multiplexor
→ 30% extra área y mayor coste
Sumadores- Retardos
50
Ripple adder
tp (in unit delays)
40
30
Linear select
20
10
0
Square root select
0
20
40
N
60
Descargar