1 votos

Utilizar valores flotantes en el código VHDL

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 puedo gestionar estos números en mi código VHDL?

He tratado de usar: type Voltage_Level is range -5.5 to +5.5; como ejemplo pero no funcionó ya que no pude importar el vector con signo a Voltage_level ya que Voltage_level debe ser representado como una señal.

Agradecería si alguien pudiera ayudar con este tipo de cuestiones? ¿Cuál es la forma más fácil de resolverlo?

El problema básico es que cuando introduzco valores no enteros, por ejemplo 10,5, e intento utilizar el mismo valor como entrada, la FPGA emite un entero redondeado, en este caso 10. Así que parece que sólo puedo usar VHDL cuando trato con enteros y vectores de bits, lo cual es un escenario de uso muy limitado. Especialmente para gente como yo que trabaja mucho con varios tipos de señales.

1voto

chaos0815 Puntos 558

Intenta 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 utilizar la representación de punto fijo. Para ver más sobre el punto fijo visite : http://vhdlguru.blogspot.in/2010/03/fixed-point-operations-in-vhdl-tutorial.html

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X