Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[HS] Utilisation de GHDL

5 réponses
Avatar
Leon Gray
Bonjour la liste,

Veuillez m'excuser pour le très gros HS qui va suivre mais je ne trouve
vraiment pas de réponse à ma question sur le net et je ne vois pas où la
poser à part sur cette liste.

J'essaie de me mettre au compilateur GHDL pour mes programmes pour ne
pas avoir à utiliser les soft propriétaires.

Pour programmer j'ai fait une arborescence de répertoire que voici:

"Projet" (répertoire du projet VHDL)
|
|-"src" (répertoire des sources)
| |
| |-"rtl" (répertoire pour les fichiers codés en VHDL)
| |
| |-"bench" (répertoire pour les fichiers test en VHDL)
|
|-"lib"
|
|-"lib_rtl" (répertoire qui contient le résultat de la
| compilation de "rtl")
|
|-"lib-bench" (répertoire contenant le résultat de la
compilation de "bench")


J'ai un fichier "inverseur.vhd" qui décrit un inverseur logique dans le
répertoire "rtl" et un autre fichier, "inverseur_tb.vhd" dans le
répertoire "bench" qui fait appel au premier.
J'ai donc dans "inverseur_tb.vhd" la ligne suivante:

"library lib_rtl"

afin de dire au compilateur d'aller chercher le composant "inverseur"
dans le répertoire "lib_rtl" (c'est l'endroit où il est sensé se trouver).

Ma question: lorsque je lance le compilateur pour le fichier
"inverseur_tb.vhd" avec la commande

Path/Projet$ ghdl -a --workdir=./lib/lib_rtl/ ./src/bench/inverseur_tb.vhd

le compilateur me répond: cannot find resource library "lib_rtl"


Est-ce que quelqu'un sait comment lui indiquer où se trouve la lib que
je veux utiliser?


N.B: j'ai déjà lu (mal lu? peut-être ;) ) toute la documentation fournie
sur le site de GHDL sans succès.


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

5 réponses

Avatar
Leon Gray
Erf... Bon bah a priori personne ne sait (ou n'a compris ce que je
racontais ^^).

Bah merci en tout cas aux courageux qui ont pris la peine de lire le
message même s'ils n'ont pu me répondre.


Leon Gray a écrit :
Bonjour la liste,

Veuillez m'excuser pour le très gros HS qui va suivre mais je ne trouve
vraiment pas de réponse à ma question sur le net et je ne vois pas où la
poser à part sur cette liste.

J'essaie de me mettre au compilateur GHDL pour mes programmes pour ne
pas avoir à utiliser les soft propriétaires.

Pour programmer j'ai fait une arborescence de répertoire que voici:

"Projet" (répertoire du projet VHDL)
|
|-"src" (répertoire des sources)
| |
| |-"rtl" (répertoire pour les fichiers codés en VHDL)
| |
| |-"bench" (répertoire pour les fichiers test en VHDL)
|
|-"lib"
|
|-"lib_rtl" (répertoire qui contient le résultat de la
| compilation de "rtl")
|
|-"lib-bench" (répertoire contenant le résultat de
la compilation de "bench")


J'ai un fichier "inverseur.vhd" qui décrit un inverseur logique dans le
répertoire "rtl" et un autre fichier, "inverseur_tb.vhd" dans le
répertoire "bench" qui fait appel au premier.
J'ai donc dans "inverseur_tb.vhd" la ligne suivante:

"library lib_rtl"

afin de dire au compilateur d'aller chercher le composant "inverseur"
dans le répertoire "lib_rtl" (c'est l'endroit où il est sensé se trouver).

Ma question: lorsque je lance le compilateur pour le fichier
"inverseur_tb.vhd" avec la commande

Path/Projet$ ghdl -a --workdir=./lib/lib_rtl/ ./src/bench/inverseur_tb.vhd

le compilateur me répond: cannot find resource library "lib_rtl"


Est-ce que quelqu'un sait comment lui indiquer où se trouve la lib que
je veux utiliser?


N.B: j'ai déjà lu (mal lu? peut-être ;) ) toute la documentation fournie
sur le site de GHDL sans succès.






--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
fra-duf-no-spam
Le 13925ième jour après Epoch,
Leon Gray écrivait:

Erf... Bon bah a priori personne ne sait (ou n'a compris ce que je
racontais ^^).



Tu sais, il se peut aussi que tu n'aies pas assez attendu ;) ...

Leon Gray a écrit :



[...]

"Projet" (répertoire du projet VHDL)
|
|-"src" (répertoire des sources)
| |
| |-"rtl" (répertoire pour les fichiers codés en VHDL)
| |
| |-"bench" (répertoire pour les fichiers test en VHDL)
|
|-"lib"
|
|-"lib_rtl" (répertoire qui contient le résultat de la
| compilation de "rtl")
|
|-"lib-bench" (répertoire contenant le résultat de la
compilation de "bench")





[...]

Path/Projet$ ghdl -a --workdir=./lib/lib_rtl/ ./src/bench/inverseur_tb .vhd

le compilateur me répond: cannot find resource library "lib_rtl"





Tu peux éventuellement essayer les chemins absolus, juste pour voir,
non?

Sinon, au pire, tu utilises strace pour voir où et comment il cherche
lib_rtl ...

--
Il y a deux sortes de diplômés : ceux qui ont appris à appre ndre et ceux
qui ont appris à penser.
-+- Anko Jansen -+-
Avatar
Leon Gray
a écrit :
Bonsoir,



Bonjour,

Je suis très intéressé (...) par ce que tu cherches a faire


(...)

quel outils as-tu choisit pour ton générateur de compilateur ?
C'est dans quel état ?
c'est dans quel cadre ?




Bon, je vais tenter de répondre d'une manière aussi détaillé que possible:

<ma vie>
Pour le projet en question, je dois coder un AES en VHDL (avec les
outils que je veux: notepad++, kwrite, vim, emacs, etc... ModelSIM,
Xilinx ISE, etc...). Perso, j'ai choisi Emacs + GHDL(qui est une
surcouche de GCC si j'ai bien compris)+ GtkWave.

Pour le moment il est juste question de coder l'AES et de regarder les
résultats des Bench avec... GtkWave par exemple (ou autre...).
Je ne pense pas que le code soit envoyé ensuite dans un FPGA, mais si
c'est le cas, il y a de forte chance pour qu'il s'agisse de la
Virtex2Pro de Xilinx.

Actuellement, j'ai codé les blocs de base (SubBytes, ShiftRows,
MixColumn, RoundKey...).

Je crois que j'ai fais le tour...
Ah si, dans quel cadre? Mon école me demande de faire ce projet, je dois
me débrouiller pour le faire ^^.
</ma vie>

J'espère avoir répondu à tes questions.


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Leon Gray
François TOURDE a écrit :

[...]

Tu sais, il se peut aussi que tu n'aies pas assez attendu ;) ...



En effet ^^.


Leon Gray a écrit :



[...]

"Projet" (répertoire du projet VHDL)
|
|-"src" (répertoire des sources)
| |
| |-"rtl" (répertoire pour les fichiers codés en VHDL)
| |
| |-"bench" (répertoire pour les fichiers test en VHDL)
|
|-"lib"
|
|-"lib_rtl" (répertoire qui contient le résultat de la
| compilation de "rtl")
|
|-"lib-bench" (répertoire contenant le résultat de la
compilation de "bench")





[...]

Path/Projet$ ghdl -a --workdir=./lib/lib_rtl/ ./src/bench/inverseur_tb.vhd

le compilateur me répond: cannot find resource library "lib_rtl"





Tu peux éventuellement essayer les chemins absolus, juste pour voir,
non?



Les chemins absolus me mènent au même résultat.


Sinon, au pire, tu utilises strace pour voir où et comment il cherche
lib_rtl ...




strace est très bavarde mais elle ne m'avance pas trop.

Je dois peut-être apporter une petite précision pour éviter les ambigüités.

la réponse exacte du compilateur est:

./src/bench/inverseur_tb.vhd:6:9: cannot find resource library "lib_rtl"
/usr/lib/ghdl/bin/ghdl: compilation error

Je tiens à souligner le "compilation error" pour signaler que "workdir"
indique juste le répertoire de travail mais pas le répertoire des
librairies.
Le compilateur reconnait la commande "Library lib_rtl" écrite dans mon
code VHDL et va chercher par défaut lib_rtl dans le répertoire des
librairies standard. Et forcement il ne la trouve pas.

Je cherche donc la commande susceptible de lui indiquer la localisation
de ma librairie.


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
fra-duf-no-spam
Le 13928ième jour après Epoch,
Leon Gray écrivait:

Je cherche donc la commande susceptible de lui indiquer la
localisation de ma librairie.



Extrait du man (en ligne):

-PPATH
Add PATH to the end of the list of directories to be searched for libra ry files.

Donc il se peut que personne n'ait répondu car tu n'as pas assez
cherché toi-même?

Cette recherche m'a pris 30 secondes:

apt-cache show ghdl ----> ghdl.free.fr

ghdl.free.fr --> documentation

documentation --> librairies

Et voilà.