Sumador de selección de transporte - Carry-select adder

En electrónica, un sumador de acarreo-selección es una forma particular de implementar un sumador , que es un elemento lógico que calcula la suma de bits de dos números de bits. El sumador de selección de acarreo es simple pero bastante rápido, y tiene una profundidad de nivel de puerta de .

Construcción

El sumador de acarreo-selección generalmente consta de sumadores de acarreo de rizo y un multiplexor . La suma de dos números de n bits con un sumador de selección de acarreo se realiza con dos sumadores (por lo tanto, dos sumadores de acarreo de rizo), para realizar el cálculo dos veces, una vez asumiendo que el acarreo es cero y la otra asumiendo será uno. Una vez calculados los dos resultados, se selecciona la suma correcta, así como la ejecución correcta, con el multiplexor una vez que se conoce la transferencia correcta.

El número de bits en cada bloque de selección de acarreo puede ser uniforme o variable. En el caso uniforme, el retraso óptimo se produce para un tamaño de bloque de . Cuando sea variable, el tamaño del bloque debe tener un retardo, desde las entradas de suma A y B hasta la ejecución, igual al de la cadena del multiplexor que conduce a él, de modo que la ejecución se calcule justo a tiempo. El retraso se deriva de un tamaño uniforme, donde el número ideal de elementos sumadores completos por bloque es igual a la raíz cuadrada del número de bits que se agregan, ya que eso producirá un número igual de retrasos MUX.

Bloque de construcción básico

Carry-select-sumador-detallado-bloque.png

Arriba está el bloque de construcción básico de un sumador de acarreo-selección, donde el tamaño del bloque es 4. Dos sumadores de acarreo de rizado de 4 bits se multiplexan juntos, donde los bits de acarreo y suma resultantes son seleccionados por el acarreo. Dado que un sumador de acarreo ondulado asume un acarreo de 0 y el otro asume un acarreo de 1, seleccionar qué sumador tuvo la suposición correcta a través del acarreo real produce el resultado deseado.

Sumador de tamaño uniforme

Carry-select-adder-fixed-size.png

Se puede crear un sumador de selección de acarreo de 16 bits con un tamaño de bloque uniforme de 4 con tres de estos bloques y un sumador de acarreo de rizado de 4 bits. Dado que el acarreo se conoce al comienzo del cálculo, no se necesita un bloque de selección de acarreo para los primeros cuatro bits. El retraso de este sumador será cuatro retrasos de sumador completo, más tres retrasos MUX.

Sumador de tamaño variable

Carry-select-sumador-tamaño-variable.png

De manera similar, se puede crear un sumador de selección de acarreo de 16 bits con tamaño variable. Aquí mostramos un sumador con tamaños de bloque de 2-2-3-4-5. Esta ruptura es ideal cuando el retardo del sumador completo es igual al retardo MUX, lo cual es poco probable. El retraso total es de dos retrasos de sumador completo y cuatro retrasos de mux. Intentamos igualar el retraso a través de las dos cadenas de acarreo y el retraso del acarreo de la etapa anterior.

Sumador de suma condicional

Un sumador de suma condicional es una estructura recursiva basada en el sumador de acarreo-selección. En el sumador de suma condicional, el nivel MUX elige entre dos entradas de n / 2 bits que se construyen a su vez como sumador de suma condicional. El nivel inferior del árbol consta de pares de sumadores de 2 bits (1 medio sumador y 3 sumadores completos) más 2 multiplexores de un solo bit.

El sumador condicional sufre un gran abanico de las salidas de acarreo intermedias. El abanico de salida puede ser tan alto como n / 2 en el último nivel, donde se activan todos los multiplexores de a .

Combinando con otras estructuras sumadoras

El diseño de sumador de acarreo select se puede complementar con una estructura de sumador de acarreo anticipado para generar las entradas MUX, obteniendo así un rendimiento aún mayor como sumador de prefijo paralelo y, al mismo tiempo, reducir potencialmente el área.

Se muestra un ejemplo en el artículo sumador de Kogge-Stone .

Otras lecturas

  • Savard, John JG (2018) [2006]. "Técnicas aritméticas avanzadas" . quadibloc . Archivado desde el original el 3 de julio de 2018 . Consultado el 16 de julio de 2018 .