Actualmente estoy haciendo algunos tutoriales y leyendo algunos libros sobre cómo escribir VHDL. Como tengo curiosidad y aprendo mejor con tutoriales prácticos, voy a comenzar a implementar mis proyectos que me servirán bien en el futuro.
Para mi primer proyecto real, estoy tratando de implementar una arctg
función seguida de una función de operador de agregación.
No quiero reinventar la rueda y no quiero que me confundan más, así que hago aquí las siguientes preguntas:
He visto en alguna parte que el paquete math_real
ya tiene una ARCTAN
función que acepta una REAL
que supongo que es un flotador. Entonces:
2.1. ¿Es esto sintetizable? Si no, ¿por qué está incluso codificado?
2.2. Si todo debe convertirse de flotante a entero para poder pasar entre funciones, ¿por qué ARCTAN
acepta REAL
y no un entero?
VHDL-2008 tiene bibliotecas de punto fijo y punto flotante sintetizables, además de ieee.math_real
que es estrictamente para simulación. Puede crear una instancia del paquete flotante con cualquier ancho de mantisa y exponente, o usar los tipos flotantes predefinidos (aproximadamente IEEE P754). El paquete de punto fijo es una mejor opción para DSP y, por lo general, produce hardware más pequeño.
Estas bibliotecas deberían manejar la pregunta (1) por usted.
Para la pregunta 2)
math_real
ARCTAN se usa en simulación, no para síntesis.
Eugenio Sh.
Joao Pereira
Eugenio Sh.
pjc50
Joao Pereira
Eugenio Sh.
Neil_ES
pjc50
Joao Pereira
arctg
función aparentemente necesitaré CORDIC, verificaré si eso es posible con fixed_pointJoao Pereira
double floats
de un archivo, que es mi objetivo final en el proyecto VHDL.Eugenio Sh.
Joao Pereira
Eugenio Sh.