quartus2: warning que je ne comprend pas
Modérateur : Modérateur
-
- Administrateur
- Messages : 2328
- Inscription : 23 sept. 2003 19:14
- Localisation : Strasbourg
- Contact :
En flottant ça risque de ne pas être très simple.
J'ai regardé dans la doc de Quartus et apparemment le type flottant n'existe pas par défaut, il faut coder son nombre en virgule flottante (2 parties distinctes mantisse, exposant) et utiliser une fonction comme le altfp_mult qui sait faire des multiplications sur des flottants.
J'ai trouvé ces infos ici : http://www.synthworks.com/papers/vhdl20 ... g_2004.pdf
Ca ne va pas être évident, bonne chance
J'ai regardé dans la doc de Quartus et apparemment le type flottant n'existe pas par défaut, il faut coder son nombre en virgule flottante (2 parties distinctes mantisse, exposant) et utiliser une fonction comme le altfp_mult qui sait faire des multiplications sur des flottants.
Il permet apparemment bien de déclarer des nombres flottants mais toi tu utilises: ufixed <-virgule fixe qui n'est pas adaptée à la multiplication. Il faut que tu utilises fp <-virgule flottanteuse ieee.fixed_pkg.all;
J'ai trouvé ces infos ici : http://www.synthworks.com/papers/vhdl20 ... g_2004.pdf
Ca ne va pas être évident, bonne chance
hum, je viens de relire mon message: j'ai mal écris, c'est bien fixed_pkg.vhd qu' utilise l'exemple que j'ai trouvé: ici
http://www.codecomments.com/archive378- ... 41345.html
c'est l'avant dernier topic.
là où se trouve mon pb, c'est que je ne dispose pas de ce package: g trouvé le source correspondant mais je ne sais pas comment le compiler pour qu'il fasse partie du package ieee....
http://www.codecomments.com/archive378- ... 41345.html
c'est l'avant dernier topic.
là où se trouve mon pb, c'est que je ne dispose pas de ce package: g trouvé le source correspondant mais je ne sais pas comment le compiler pour qu'il fasse partie du package ieee....
-
- Administrateur
- Messages : 2328
- Inscription : 23 sept. 2003 19:14
- Localisation : Strasbourg
- Contact :
Dans le post de Bert Cuzeau, il n'utilise pas de nombre flottant :
Q <= to_unsigned( (to_integer(D) * 7301 / 8192 ),24);
Pour la division, de David Bishop, j'ai des doutes, si la multiplication n'est pas adapté je ne pense pas que la dision le soit plus (Enfin c'est ce qu'on m'a appri)
Essayes peut être de trouver le répertoire qui contient les librairies et mets le dedans.
Q <= to_unsigned( (to_integer(D) * 7301 / 8192 ),24);
Pour la division, de David Bishop, j'ai des doutes, si la multiplication n'est pas adapté je ne pense pas que la dision le soit plus (Enfin c'est ce qu'on m'a appri)
à où se trouve mon pb, c'est que je ne dispose pas de ce package: g trouvé le source correspondant mais je ne sais pas comment le compiler pour qu'il fasse partie du package ieee....
Essayes peut être de trouver le répertoire qui contient les librairies et mets le dedans.
-
- Administrateur
- Messages : 2328
- Inscription : 23 sept. 2003 19:14
- Localisation : Strasbourg
- Contact :
Pour Quartus II :
To add a user library to the current project:
1. If you have not already done so, create a new project or open an existing project.
2. Choose Settings (Assignments menu). Shortcut
3. In the Category list, select User Libraries.
4. In the Library name box, type the library name, and click Add, or select the library you want to add to the Libraries list with Browse (...).
5. If you want to change the order in which the user libraries are listed, select a library name, and click Up or Down. More Details
6. If necessary, repeat steps 4-5 above to add more libraries.
7. Click OK.
ben ce que j'ai essayé de faire des le départ, c placer dans le dossier library\ieee\ de quartus les fichiers fixed_pkg et math_real (que je n'ai pas non plus, et dont a besoin le premier.)
Et lorsque j'analyse le fichier j'ai le message suivant:
Error: VHDL Use Clause error at Multiplieur.vhd(5): design library ieee does not contain primary unit fixed_pkg...apperement les library doivent être compilées...
mais je vais voir si je peux les rajouter à mon projet.
m'enfin ça va pas faire propre.
Et lorsque j'analyse le fichier j'ai le message suivant:
Error: VHDL Use Clause error at Multiplieur.vhd(5): design library ieee does not contain primary unit fixed_pkg...apperement les library doivent être compilées...
mais je vais voir si je peux les rajouter à mon projet.
m'enfin ça va pas faire propre.
ayé ça marche!
ayé mon multiplieur fonctionne!
J'ai téléchargé la version 5.0 de quartus où j'ai pu avoir la librairie math_real: déjà ça aide, et j'ai rajouté la librairie fixed_pkg.vhd en l'incorporant à mon projet.
maintenant ça marche avec la virgule fixe, par contre je suis limité en précision, effectivement. mais ça devrait aller.
J'ai téléchargé la version 5.0 de quartus où j'ai pu avoir la librairie math_real: déjà ça aide, et j'ai rajouté la librairie fixed_pkg.vhd en l'incorporant à mon projet.
maintenant ça marche avec la virgule fixe, par contre je suis limité en précision, effectivement. mais ça devrait aller.