Supongamos 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á valores no enteros por ejemplo: 10.5 mA.
¿Cómo administro estos números en mi código VHDL?
Intenté 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.
Agradecerí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 número entero redondeado, en este caso 10. Entonces parece que puedo usar VHDL solo cuando trato con números enteros y vectores de bits, que es un escenario de uso muy limitante. Especialmente para personas como yo que trabajamos mucho con varios tipos de señales.
Intente usar la notación de punto fijo en su lugar. El punto flotante es un poco tedioso en VHDL. Dado que su rango no es amplio, puede usar la representación de punto fijo. Para ver más sobre la visita de punto fijo: http://vhdlguru.blogspot.in/2010/03/fixed-point-operations-in-vhdl-tutorial.html
Salomón lento
usuario_1818839
subtype Voltage_level is real range -5.5 to 5.5;
Alma artificial