Estoy viendo diferentes FPGA para mi proyecto de tesis y sigo viendo que los bloques multiplicadores son de 18x18 bits, ¿por qué sucede esto? ¿Por qué no son de 16 bits?
Estoy viendo diferentes FPGA para mi proyecto de tesis y sigo viendo que los bloques multiplicadores son de 18x18 bits, ¿por qué sucede esto? ¿Por qué no son de 16 bits?
¿Por qué no? Realmente, es completamente arbitrario. El costo en términos de área de chip para 18 × 18 bits frente a 16 × 16 bits es insignificante en comparación con el área utilizada para todos los demás recursos (especialmente enrutamiento) en un FPGA. Si no necesita los bits adicionales, simplemente ignórelos.
Sin embargo, creo que la práctica común de hacer bloques multiplicadores de 18 × 18 bits tiene su base en el hecho de que las memorias en chip de muchos FPGA tienen múltiples enlaces de 9 bits de ancho.
¿Por qué las memorias tienen 9 bits de ancho? Bueno, 9 bits le permite almacenar 8 bits más paridad, o 64 bits más 8 bits de ECC (72 bits en total). Las aplicaciones que se preocupan por la integridad de los datos pueden hacer un buen uso de tales memorias.
Sin embargo, hay muchas aplicaciones que no necesitan el noveno bit para protección y prefieren usarlo para una mayor precisión en los datos. Simplemente no tendría sentido diseñar un chip que pueda almacenar datos en fragmentos de 18 bits, pero solo puede procesar fragmentos de 16 bits.
Creo que proviene de los recuerdos.
Ya eran 18 bits (para permitir un bit de paridad por byte) y lo habían sido durante una generación (de FPGA, ¡no ingenieros!) antes de que los multiplicadores entraran en escena. Y dado que uno de los grandes usos fue para los filtros FIR, luego para las aplicaciones donde no se necesitaba paridad, tener coeficientes de 18 bits es mejor que tener solo coeficientes de 16 bits, ya que el aumento del área de silicio es muy pequeño.
Lea otras preguntas en las etiquetas fpga