Si desea implementar aritmética de punto fijo en sintetizable VHDL, tiene dos formas:
- Hazlo tú mismo. Es un método bastante difícil, pero puede depender de la cantidad y complejidad de las ecuaciones que desee implementar. En general, cada "variable" debe tener dos partes (integrales y fraccionarias) compuestas de
std_logic_vector
s. Por supuesto, tiene que implementar operaciones matemáticas básicas (suma, resta, etc.).
- Simplemente descargue y use el paquete
fixed_pkg
, implementa tipos de puntos fijos firmados y sin firmar y todas las matemáticas básicas - más here .
Pero antes que nada, ¿realmente necesita tipos de puntos fijos (o flotantes)? La mayoría de las matemáticas se podrían realizar en std_logic_vector
, al igual que hacemos en microcontroladores que utilizan los tipos int
.
EDITAR:
Lamentablemente, el enlace a las bibliotecas dentro de la guía pdf del enlace anterior está muerto. Alguien borra los archivos. Pero no debería ser un problema: actualmente todas las bibliotecas ieee_proposed
se mueven a VHDL2008 estándar, así que solo cambie el estándar usado en las propiedades de Su proyecto.