Me pregunto si podría realizar operaciones de punto flotante en un controlador Microblaze. Gracias a todas las respuestas posibles con referencias directas a documentación o artículos.
Me pregunto si podría realizar operaciones de punto flotante en un controlador Microblaze. Gracias a todas las respuestas posibles con referencias directas a documentación o artículos.
Las operaciones de punto flotante están disponibles, consulte este documento. Prueba los foros de Xilinx para obtener ayuda.
Ese documento, en la sección de FPU en la página 78, dice que el procesador admite:
La FPU implementa las siguientes operaciones de punto flotante:
• Además, fadd
• resta, fsub
• multiplicación, fmul
• division, fdiv
• raíz cuadrada, fsqrt (disponible si C_USE_FPU = 2)
Comparación
• comparar less-than, fcmp.lt
• compare igual, fcmp.eq
• comparar menos o igual, fcmp.le
• comparar mayor que, fcmp.gt
• comparar no igual, fcmp.ne
• comparar mayor o igual, fcmp.ge
• comparar desordenado, fcmp.un (usado para NaN)
Conversión
La FPU implementa las siguientes conversiones (disponibles si C_USE_FPU = 2):
• convertir de entero con signo a punto flotante, flt
• convertir de punto flotante a entero con signo, fint
Cualquier microcontrolador puede implementar un punto flotante, es solo que aquellos con hardware pueden hacerlo mucho más rápido. El compilador puede hacer el trabajo requerido para obtener opciones como la división de punto flotante, solo puede tomar miles de ciclos de reloj.
Lea otras preguntas en las etiquetas microcontroller floating-point microblaze