Use valores flotantes en el código VHDL

1

Suponga que quiero tener una señal sinusoidal continua como entrada a mi código VHDL. Los valores serán de tipo float ya que tomarán valores no enteros, por ejemplo: 10.5 mA.

¿Cómo administro estos números en mi código VHDL?

He intentado usar: type Voltage_Level is range -5.5 to +5.5; como ejemplo, pero no funcionó porque no pude importar el vector firmado en Voltage_level, ya que Voltage_level debe representarse como una señal.

¿Apreciaría si alguien pudiera ayudar con este tipo de problemas? ¿Cuál es la forma más fácil de lidiar con esto?

El problema básico es cuando ingreso valores no enteros, digamos 10.5 y trato de usar el mismo valor que la entrada. El FPGA genera un entero redondeado, en este caso 10. Parece que puedo usar VHDL solo cuando trato con enteros y vectores de bits, que es un escenario de uso muy limitante. Especialmente para personas como yo que trabajan mucho con varios tipos de señales.

    
pregunta bojee

1 respuesta

1

En su lugar, intente usar la notación de punto fijo. El punto de flotación es un poco tedioso en VHDL. Ya que su rango no es amplio, puede usar la representación de punto fijo. Para ver más sobre el punto fijo visita:

Lea otras preguntas en las etiquetas