quartus2: warning que je ne comprend pas

Electronique numérique / Circuits logiques programmables EPLD, CPLD, FPGA d'Altera ou de Xilinx VHDL, Verilog ou SystemC

Modérateur : Modérateur

sabord
PONCTUEL
PONCTUEL
Messages : 18
Inscription : 16 mai 2005 8:02

Message par sabord »

si je comprend bien le code, il va renvoyer un entier: et mon coefficient est de 0,03 : pas un entier donc.....

JP
Administrateur
Administrateur
Messages : 2323
Inscription : 23 sept. 2003 18:14
Localisation : Strasbourg
Contact :

Message par JP »

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.
use ieee.fixed_pkg.all;
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 flottante
J'ai trouvé ces infos ici : http://www.synthworks.com/papers/vhdl20 ... g_2004.pdf

Ca ne va pas être évident, bonne chance

sabord
PONCTUEL
PONCTUEL
Messages : 18
Inscription : 16 mai 2005 8:02

Message par sabord »

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....

sabord
PONCTUEL
PONCTUEL
Messages : 18
Inscription : 16 mai 2005 8:02

Message par sabord »

mais merci pour l'info: je ne connaissais pas fp

JP
Administrateur
Administrateur
Messages : 2323
Inscription : 23 sept. 2003 18:14
Localisation : Strasbourg
Contact :

Message par JP »

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)
à 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.

JP
Administrateur
Administrateur
Messages : 2323
Inscription : 23 sept. 2003 18:14
Localisation : Strasbourg
Contact :

Message par JP »

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.

sabord
PONCTUEL
PONCTUEL
Messages : 18
Inscription : 16 mai 2005 8:02

Message par sabord »

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.

sabord
PONCTUEL
PONCTUEL
Messages : 18
Inscription : 16 mai 2005 8:02

ayé ça marche!

Message par sabord »

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.

Répondre