¿Cómo se implementará un multiplicador con LUT (LookUp Table) o con LUT óptico? ... Sé cómo se implementó el sumador completo con LUT y OLUT.
¿Cómo se implementará un multiplicador con LUT (LookUp Table) o con LUT óptico? ... Sé cómo se implementó el sumador completo con LUT y OLUT.
Un multiplicador es básicamente una serie de desplazadores, compuertas AND sumadores.
Comience con un acumulador de 0.
Si desea un diseño no cronometrado, necesita crear tablas de búsqueda para todos los diferentes conteos de turnos, lo que obviamente requiere un gran uso de recursos, incluso después de optimizar el diseño mediante la combinación de operaciones y el aplanamiento de la jerarquía, por lo que muchas estructuras de FPGA contienen bloques multiplicadores fijos.
La operación de multiplicación básica en dos números de un bit es el AND lógico. Extender esto a múltiples bits implica muchas puertas AND y un árbol sumador. La operación funciona exactamente de la misma manera que se multiplicaría en papel por un dígito a la vez, insertando el número correcto de ceros a la derecha y luego sumando todo. En binario, los productos parciales son cero o una copia desplazada en bits de uno de los operandos, enmascarados por el bit correspondiente en el otro operando. Los productos parciales se pueden calcular uno a la vez con un registro de desplazamiento o en paralelo con una matriz de puertas AND. Luego, los productos parciales se agregan con un conjunto de sumadores llamado árbol sumador. Tanto la generación parcial de productos como el árbol sumador pueden optimizarse significativamente. Los esquemas de generación de productos parciales más complejos pueden reducir la cantidad de productos parciales considerando más de un bit a la vez. El árbol sumador se puede construir con sumadores carry-save y carry-lookahead para aumentar el paralelismo. Los componentes pequeños de todos estos esquemas se implementarían en las LUT (como las puertas AND, los agregadores, etc.), pero se requeriría un gran número de LUT para implementar un multiplicador completo. Como los multiplicadores pueden ocupar una gran cantidad de recursos lógicos y requieren muchos niveles de lógica, muchos FPGA están incluidos en muchos FPGA para mejorar el rendimiento.
Lea otras preguntas en las etiquetas fpga multiplier