Si hay una operación de división de punto flotante en su diseño de oneAPI, es posible que encuentre resultados inconsistentes entre el hardware de oneAPI FPGA y el emulador debido a que los dos modos de compilación tienen diferentes modos de redondeo de las operaciones de punto flotante.
A continuación se muestra un ejemplo de código y resultado:
Código: float res = 1.0f/1272;
Resultado de salida: el resultado del emulador es 0.000786163, pero el resultado de hardware es 0.000786164
Para evitar este problema, debe utilizar la opción "-fp-model=precise -no-fma" y "-Xsrounding=ieee" en el comando de compilación.
Ejemplo de comando:
icpx -fsycl -fintelfpga -Xshardware -Xsrounding=ieee -fp-model= precise -no-fma <source_file>.cpp
Esta información está programada para agregarse en una versión futura de la Guía de optimización de FPGA para la guía de usuario de oneAPI Toolkits.