Me gustaría agregar 7 enteros de 32 bits cada uno, usando puertas. La solución ingenua es sumar dos juntos, que la suma de estos dos con el tercer entero. La suma de los tres primeros agregados al cuarto entero ... etc. Sin embargo, esta es probablemente la solución más lenta. Estoy buscando una manera rápida de hacerlo. Esto es para el algoritmo sha256. El cuello de botella de la velocidad principal se debe a un sumador de 32 bits de 7 entradas.
Considere los 32 bits etiquetados: a, b, c, d, e, f, g. Me gustaría generar a + b + c + d + e + f + g usando puertas lo antes posible.
Una forma más rápida sería
(((a + b) + (c + d)) + ((e + f) + (g))) //This is performed in 3 steps.
(((((((a + b) + c) + d) + e) + f) + g) //This is performed in 6 steps.
Me gustaría saber si se puede hacer más rápido que el proceso de 3 pasos, mediante el uso de sumadores especiales que pueden tomar múltiples entradas.