Sé que hoy en día los FPGA tienen un rendimiento de punto flotante muy bueno, como se informa aquí, por ejemplo. Pero entonces, ¿por qué se dice que el punto flotante no es sintetizable en verilog? ¿Cómo flotan entonces los mangos de FPGA?
No es que no se puedan sintetizar (¡pueden, por supuesto!), pero las herramientas no lo harán de forma combinada (como lo harían con un sumador de punto fijo) porque el uso de recursos sería inviablemente grande. Por lo tanto, se realiza secuencialmente en múltiples pasos, y hay muchas, muchas formas de hacerlo con varias compensaciones a considerar, siendo la división bastante compleja. Por lo tanto, su operación de punto flotante debe tratarse como cualquier otro módulo, puede diseñarlo usted mismo o obtener una licencia de un proveedor, y una herramienta no sintetizará c = a/b por usted, por las mismas razones por las que no sintetizará un solucionador de integrales o de ecuaciones, ¡pero eso no significa que no se pueda hacer en un FPGA!
Sé que preguntó por Verilog, pero como complemento a la respuesta de apalopohapa, VHDL tiene una biblioteca de coma flotante sintetizable , que no requiere la creación de instancias de módulos para realizar operaciones de coma flotante, simplemente el uso de llamadas de función ordinarias.
Aparte del uso elegante de la numeración de bits de VHDL para separar el exponente y el significado, no creo que haya nada que impida que alguien escriba un conjunto similar de funciones para que Verilog brinde la misma capacidad.
Samuel
gpuguy
Samuel