Sumador Ripple-Carry Sumador de N bits conectando en cascada N circuitos sumadores completos (FA) conectando C o,k-1 a C i,k para k=1 a N- 1 y con C i,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 t p = (N-1)t carry + t sum
Propagación en un RCA 0 1 0 1 0 1 1 1 3t carry 2t carry t carry 3t carry +t sum 2t carry +t sum t carry +t sum t sum t RCA = 3t carry + t sum
Propagación en un RCA 0 1 0 0 0 1 1 1 2t carry 2t carry t carry 2t carry +t sum 2t carry +t sum t carry +t sum t sum t RCA = 2t carry + t sum
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 t carry que t sum.
Sumador Carry Lookahead Ejemplo 1 Ejemplo 2 + 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 C = f( A, B, C ) = G + P C ok, k k ok, 1 k k ok, 1 C = G + P ( G + P C ) ok, k k k 1 k 1 ok, 2 ( ( P( G P C ))) K C = G + P G + P + + ok, k k k 1 k 1 1 0 0 i,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.
"0" Sumador Carry-Select Setup P,G "0" Carry Propagation Se generan las señales G y P para calcular los acarreos intermedios de cada bloque "1" "1" Carry Propagation Selecciona los acarreos precalculados en función del acarreo de entrada recibido C o,k-1 Multiplexer C o,k+3 Sum Generation Carry Vector 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 Multiplexer Multiplexer Multiplexer Multiplexer C i,0 C o,3 C o,7 C o,11 C o,15 Sum Generation Sum Generation Sum Generation Sum Generation S 0 3 S 4 7 S 8 11 S 12 15 Sumador lineal de 16 bits con carry-select
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á: t p = t setup + M t carry + N/M t mux + t sum
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 t p (in unit delays) 40 30 20 10 Ripple adder Linear select Square root select 0 0 20 40 N 60