Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/04/2007, à 22:33

rniamo

vhdl et linux, possible ? [résolu]

bonjour,

est-il possible de faire du développement de circuit électronique en VHDL sous ubuntu ?

si oui comment ?

Dernière modification par rniamo (Le 07/04/2007, à 10:01)


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#2 Le 04/04/2007, à 23:06

reeth

Re : vhdl et linux, possible ? [résolu]

Hello,
Je suis aussi en recherche. D'après mes premières recherches (20s et 5 centièmes ^^), je suis tombé sur ce site qui explique pas à pas l'installation de xilinx webpack ISE que j'utilise dans mon école. Donc a mon avis il faut s'empresser de suivre ce tuto (fait pour ubuntu génial! lol) et sa devrait rouler (ATTENTION l'installation de ce logiciel prends plus de 2Go d'espace !!!!!).

edit : si tu testes, tu peux me faire un retour sur l'installation stp (je vais refaire une installation propre de feisty et augmenter la partition / car j'ai un petit soucis d'espace disque insuffisant ^^)

Dernière modification par reeth (Le 04/04/2007, à 23:08)

Hors ligne

#3 Le 05/04/2007, à 06:46

rniamo

Re : vhdl et linux, possible ? [résolu]

moi j'avais trouvé ghdl (compilation avec gcc), quartus (développé par altera) et simuli...mais les deux dernier s'installent mais je reste bloaqué aprés l'installation.

xilink est un peu gros pour ce que je veux faire (2Go c'est pas négligeable quand même)...je verrais ce week-end si je n'ai rien trouvé d'autre.


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#4 Le 05/04/2007, à 07:53

slapierre

Re : vhdl et linux, possible ? [résolu]

Le sujet m'intéresse grandement!

Effectivement je trouve que le webpack de Xilinx est une solution intéressante, mais il est très lourd et le debugger n'est pas à mon goût. Au fil du temps, je suis devenu un amateur de ModelSim, et une petite recherche à retourné une solution qui semble satisfaisante pour le développement :

ModelSim SE > http://www.model.com/products/pdf/datasheets/se.pdf

Vous pourrez toujours synthétiser (pardonnez l'anglicisme) votre code au département de génie électrique le plus près de chez vous...

Simon


"Le spectre de la folie nous empêchera-t-il de hisser l'étendard de l'imagination?" - André Breton

Hors ligne

#5 Le 05/04/2007, à 13:53

reeth

Re : vhdl et linux, possible ? [résolu]

rniamo a écrit :

moi j'avais trouvé ghdl (compilation avec gcc), quartus (développé par altera) et simuli...mais les deux dernier s'installent mais je reste bloaqué aprés l'installation.

Tu peux développer stp : qu'est-ce qui te bloque? Et ghdl est bien? Après xilinx c'est ce que j'utilise dans mon école donc c'est pour sa que je me tournerai bien vers ce programme.

edit : tout bien regardé, xilinx ne prend que 1Go une fois installé (mais il y a 1Go à télécharger)
edit2 : je crois que je vais sortir ^^ en effet il faut bien 2Go + 1Go pour les sources!!!!!

Dernière modification par reeth (Le 05/04/2007, à 13:58)

Hors ligne

#6 Le 05/04/2007, à 17:31

rniamo

Re : vhdl et linux, possible ? [résolu]

ghdl il marche mais il compile pas mes source, i lmanque un (ou plusieurs) librairie apperemment.

Pour simili et quartus, mon problème est que je ne sais pas les lancer (je sais c'est bête) mais pour simili (je crois) il faut faire 'sonata -L' en console (enfin j'ai cru comprendre) et ça me retourne un :

bash: sonata : commande introuvable


il y a un problème de variable d'environnement mais là dessus je n'y connait rien...


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#7 Le 05/04/2007, à 17:35

rniamo

Re : vhdl et linux, possible ? [résolu]

je viens de regarder ModelSim SE, idem, y a une variable d'environnement à paramétrer...y a pas un deb qui traine ?;)...ou une interface pour ghdl, se serait sympa non ?


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#8 Le 05/04/2007, à 20:34

reeth

Re : vhdl et linux, possible ? [résolu]

Tu peux mettre les messages d'erreur stp? Sinon va faire un tour sur le tuto que j'ai donné, des fois que les erreurs soient du même type.

Hors ligne

#9 Le 05/04/2007, à 20:42

slapierre

Re : vhdl et linux, possible ? [résolu]

Pas de paquets disponibles car on doit respecter la license d'utilisation avant de télécharger le logiciel. Pour les variables d'environnements, ajoute là à ton .bash_profile puis ouvre un nouveau terminal.

   $ cd
   $ gedit .bash_profile
      > export VAR=/usr/share/truc

Ou simplement dans le shell avec
   $ VAR=/usr/src

Si tu dois rajouter un chemin à la variable PATH, dans la ligne de commande

   $ PATH=$PATH:/usr/share/truc


Je vais tenter d'installer ModelSim tout plus tard, si tout fonctionne bien je vous redonne de mes nouvelles. Il faudrait éventuellement installer ISE Xilinx pour être en mesure de "brûler" un chip, car ce n'est pas pcq ça compile que ça synthétise.

----

Côté interface, j'utilise souvent Kate bien que je sois sous Gnome (si tu roules un programme KDE, disont Amarok, c'est sur que tu l'as, car il fait partie de kde-core).
Pour le HDL, une petite MAJ de la coloration syntaxique :

   Configuration > Éditeur : Coloration Syntaxique > Télécharger


Simon

Dernière modification par slapierre (Le 05/04/2007, à 20:49)


"Le spectre de la folie nous empêchera-t-il de hisser l'étendard de l'imagination?" - André Breton

Hors ligne

#10 Le 05/04/2007, à 21:34

rniamo

Re : vhdl et linux, possible ? [résolu]

/home/rniamo/Desktop/te.vhd:1:1: design file is empty (no design unit found)
/usr/lib/ghdl/bin/ghdl: compilation error


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#11 Le 05/04/2007, à 21:42

rniamo

Re : vhdl et linux, possible ? [résolu]

oups je me suis trompé de fichier (il était vide, donc pas de compilation...logique.lol)

finalement ça compil avec ghdl....mais qu'est-ce que ça fait ?
c'est à dire que j'aimerais vérifier si mon code est bon, y a t-il un moyen de simuler via ghdl ?


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#12 Le 05/04/2007, à 21:52

rniamo

Re : vhdl et linux, possible ? [résolu]

rniamo@ubuntu:~$ ghdl -e /home/rniamo/Desktop/fich_vhdl.vhd
/usr/lib/ghdl/bin/ghdl:*command-line*: bad character in identifier

le -a (analyse) marche mais l'élaboration (-e) pas encore


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#13 Le 05/04/2007, à 21:57

rniamo

Re : vhdl et linux, possible ? [résolu]

je pense cependant que le vhdl est en tord (enfin moi)...


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#14 Le 05/04/2007, à 22:20

rniamo

Re : vhdl et linux, possible ? [résolu]

si quelqu'un sait utiliser ghdl, est-ce qu'il pourrai m'aider parce que le site officel répond à tout mais sans exemples je suis perdu...

j'ai un fichier .vhdl avec une entité ent et une architecture arch

je fais :

ghdl -a fichier.vhdl ->OK
ghdl -s fichier.vhdl ->OK
ghdl -f fichier.vhdl ->OK (affiche les UNIT d'aprés ce que j'ai compri)
ghdl -e ent arch -> OK (il me créer des fichiers ent-arch.o et ent-arch)

et là, je fais quoi aprés ?

j'aimerais bien visualiser le résultat.


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#15 Le 05/04/2007, à 23:46

reeth

Re : vhdl et linux, possible ? [résolu]

slapierre a écrit :

Je vais tenter d'installer ModelSim tout plus tard, si tout fonctionne bien je vous redonne de mes nouvelles. Il faudrait éventuellement installer ISE Xilinx pour être en mesure de "brûler" un chip, car ce n'est pas pcq ça compile que ça synthétise.

Sa serait bien en effet. Je pense que j'installerai le tout après avoir installé Feisty, donc vers la fin du mois.

Hors ligne

#16 Le 06/04/2007, à 00:54

slapierre

Re : vhdl et linux, possible ? [résolu]

Pas trop de problèmes à installer ModelSim LE, ce que j'ai dit plus haut concernant les variables d'environnements tient la route.

J'ai fait une requête de licence pour la version LE de ModelSim, j'attend la réponse pour finaliser l'installation car sans le fichier license.dat, pas moyen de démarrer le logiciel.

J'espère qu'ils vont me l'envoyer malgré le fait que le champ "compagnie" est vide!


Simon


"Le spectre de la folie nous empêchera-t-il de hisser l'étendard de l'imagination?" - André Breton

Hors ligne

#17 Le 06/04/2007, à 06:56

rniamo

Re : vhdl et linux, possible ? [résolu]

pour les variables d'environnement, j'ai testé avec simili (parce qu'il est encore sur le pc) et ça marche pas...mais je dois avouer que je ne comprend pas trop ce que c'est...


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#18 Le 06/04/2007, à 09:28

Luzerne

Re : vhdl et linux, possible ? [résolu]

Bonjour. Je viens de découvrir vos questions.

Pour répondre à la question initiale du message #1 (de rniamo), oui il est possible de faire de la conception FPGA en VHDL sous Ubuntu, du moins pour les FPGA Xilinx.


Concernant le message #2 (de reeth), je suis l'auteur des deux premiers tutoriaux publiés sur le site Harded a propos de l'installation de Xilinx Webpack sur Ubuntu Dapper :
* "Installation Xilinx Webpack 7.1i sur linux (ubuntu breezy badger)"
http://harded.free.fr/site/?p=31
* "Installation Xilinx Webpack 8.1i sur linux (ubuntu 6.06 “dapper drake”)"
http://harded.free.fr/site/?p=55

Mais qqn vient d'en publier un nouveau qui aborde quelques autres points :
"Installation Xilinx Webpack 9.1i sur linux (ubuntu 6.06 “dapper drake”) et Windows XP Pro"
http://harded.free.fr/site/?p=68


Concernant le message #3 (de rniamo) : je fais tourner ghdl (programme GPL) et simili (programme propriétaire) sans probléme sur ma Ubuntu Dapper. Par contre, je ne crois pas que la version gratuite de Quartus II soit disponible pour Linux, et ma dernière tentative pour le faire tourner sous Wine n'avait pas été concluante. Donc si tu es parvenu a faire tourner Quartus II sur Ubuntu, un retour d'expérience m'intéresserait.


Concernant la simulation, j'ai testé simili, que j'ai trouvé assez bien, mais je n'utilise plus que GHDL, associé à GTKWave pour la visualisation du résultat de la simulation, car cette solution tout aussi efficace pour moi a le merite d'être libre.

Concernant le message #9 (de slapierre), en ce qui me concerne, comme éditeur, j'utilise (x)emacs et son fabuleux "vhdl-mode" (pouvoir copier d'un coup l'ensemble des ports et generic d'une entité, et les coller en tant que component, instanciation, testbench complet ou déclaration de signaux étant au final ce que je trouve le plus pratique).

Pour répondre au message #14 (de rniamo), oui je peux t'aider smile

Il faut d'abord bien comprendre comment fonctionne GHDL, et pour cela l'aide présente sur le site de GHDL est je pense ce qu'il y a de mieux.

Ensuite, il faut passer à l'utilisation pratique, et pour ca, au final, le mieux est de se faire un Makefile. Pour ma part, si j'ai un design constitué des fichiers "test_top.vhd" "test1.vhd" et "test2.vhd", je crée un fichier de testbench "test_tb.vhd" (dont le top level s'appelle "test_tb"), et je crée un fichier "option.txt" qui contient :

PROJECT = essai
FILES = test_top.vhd test1.vhd test2.vhd
SIMFILES = test_tb.vhd
SIMTOP = test_tb

Puis je fais un "make ghdl-compil" avec un fichier Makefile qui en gros fait ceci :

# The variables defined in the option file are included in the makefile
# If the option file doesn't exist (options.txt by default), an error is returned.
OPT             ?= options.txt
include $(OPT)

GHDL_CMD        = /usr/local/bin/ghdl
GHDL_FLAGS      = --ieee=synopsys --warn-no-vital-generic
#GHDL_FLAGS      = --ieee=synopsys -P/path/unisim --warn-no-vital-generic

GHDL_SIM_OPT    = --assert-level=error
#GHDL_SIM_OPT    = --stop-time=10000ns

VIEW_CMD        = /usr/local/bin/gtkwave

OBJS_FILES      = $(patsubst %.vhd, %.o, $(notdir $(FILES)) )
OBJS_SIMFILES   = $(patsubst %.vhd, %.o, $(notdir $(SIMFILES)) )

$(GHDL_CMD) -i $(GHDL_FLAGS) --workdir=DIR_SIM_$(PROJECT) --work=work_$(SIMTOP) $(FILES) $(SIMFILES)

$(GHDL_CMD) -m $(GHDL_FLAGS) --workdir=DIR_SIM_$(PROJECT) --work=work_$(SIMTOP) $(SIMTOP)
@mv $(SIMTOP) DIR_SIM_$(PROJECT)/$(SIMTOP)

Ceci me donne un exécutable "test_tb" dans le sous-repertoire "DIR_SIM_essai".

Après quoi, pour lancer la simulation, je fais un "make ghdl-run" qui dans le Makefile correspond en gros à cette règle :

@DIR_SIM_$(PROJECT)/$(SIMTOP) $(GHDL_SIM_OPT) --vcdgz=DIR_SIM_$(PROJECT)/$(SIMTOP).vcdgz

Ceci va créer un fichier de résultat de simulation au format VCD compressé, toujorus dans le même sous repertoire "DIR_SIM_essai". Pour visualiser les courbes, je fais un "make ghdl-view" qui fait ceci :

gunzip --stdout DIR_SIM_$(PROJECT)/$(SIMTOP).vcdgz | $(VIEW_CMD) --vcd

Voila. je pense que ceci devrait vous faire gagner du temps pour mettre en place un environnement de développement un peu efficace smile

Sinon, concernant GHDL_FLAGS, le -P/path/unisim permet de spécifier un repertoire ou GHDL trouvera d'autres lib déja compilé pour/par lui, et qui en l'occurence contient les lib compilés de unisim (indispensable pour simuler un design qui comprends des blocs spécifique à l'architecture cible, genre FIFO, DSP48 ou BRAM).

Concernant GHDL_SIM_OPT, il faut comprendre que quand on lance la simulation, GHDL arrete l'execution soit apres une durée donnée (cf --stop-time), soit quand le testbench renvoi une erreur d'un niveau donné (cf --assert-level avec un niveau qui peut être au choix failure/error/warning/note).

En pratique on utilise plutot cette dernière solution, avec dans le testbench la génération en fin de simulation d'une erreur artificielle du niveau voulu. Un truc du genre :

    -- message de fin
    assert false
      report "End of test."
      severity error;

Voila, vous savez tout (ou presque). Bon design de FPGA. Si vous avez d'autres questions, je me ferai un plaisir d'y repondre... du moins si j'ai le temps.

Luzerne GANHIR

Dernière modification par Luzerne (Le 06/04/2007, à 09:39)

Hors ligne

#19 Le 06/04/2007, à 16:26

reeth

Re : vhdl et linux, possible ? [résolu]

Merci pour ton aide luzerne, elle est précieuse (je n'ai pas trouvé de fil intéressant sur le vhdl sur ubuntu-fr) et servira surement à beaucoup d'étudiants et de personnes souhaitant passer de win à linux sans trop de problème de logiciels manquant. J'espère que sa ne te dérange pas que j'ai mis un lien vers ton tuto (que je testerai dès que je pourrai, j'ai un projet de vhdl cette année, et avoir xilinx pour travailler dessus sera cool wink).

Hors ligne

#20 Le 06/04/2007, à 19:08

rniamo

Re : vhdl et linux, possible ? [résolu]

j'en suis au makefile mais j'ai l'erreur

Makefile:21: *** séparateur manquant . Arrêt.


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#21 Le 06/04/2007, à 19:27

rniamo

Re : vhdl et linux, possible ? [résolu]

désolé Luzerne mais je suis perdu, voici ce que je fais (parce que je crois comprendre plus ou moins) :

rniamo@ubuntu:~/Desktop/time$ ghdl -a fichier_test.vhd
rniamo@ubuntu:~/Desktop/time$ ghdl -f fichier_test.vhd
entity time_tb **
architecture behav of time_tb
rniamo@ubuntu:~/Desktop/time$ ghdl -e time_tb behav
rniamo@ubuntu:~/Desktop/time$ ghdl --gen-makefile time_tb behav
rniamo@ubuntu:~/Desktop/time$ ghdl -r time_tb behav

le makefile obtenu est :

# Makefile automatically generated by ghdl
# Version: GHDL 0.25 (20060811) [Sokcho edition] - GCC back-end code generator
# Command used to generate this makefile:
# /usr/lib/ghdl/bin/ghdl --gen-makefile time_tb behav
GHDL=/usr/lib/ghdl/bin/ghdl
GHDLFLAGS=

# Default target
all: time_tb-behav

# Elaboration target
time_tb-behav: fichier_test.o
        $(GHDL) -e $(GHDLFLAGS) $@

# Run target
run: time_tb-behav
        $(GHDL) -r time_tb-behav $(GHDLRUNFLAGS)

# Targets to analyze files
fichier_test.o: fichier_test.vhd
        $(GHDL) -a $(GHDLFLAGS) $<

# Files dependences
fichier_test.o:

mais il me manque toujours les commande de visualisation et celle-ci me sont inconnues et je ne comprend pas les tiennes. Les make ghdl-... ne marche pas

Makefile:14: *** séparateur manquant  (voulez-vous dire TAB au lieu de 8 blancs d'espacement?). Arrêt.

Si tu pouvez encore m'aider un peu s'il te plait. Et s'il était possible de le faire via la console (parce que les makefile je ne suis pas fan pour le moment)


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#22 Le 07/04/2007, à 09:08

Luzerne

Re : vhdl et linux, possible ? [résolu]

Le code que j'ai cité ne correspond pas à un Makefile fonctionnel. Il manque en effet la définition des cibles dont je parle (ghdl-compil, ghdl-run, ghdl-view), sans parler des dépendances qui ne sont pas indispensables au début.

Je te conseille de chercher une introduction au Makefile dans google, surtout que ca te servira sans doute beaucoup plus tard. Il y a par exemple celle ci :
http://gl.developpez.com/tutoriel/outil/makefile/#L2

Sinon, je pense qu'il n'est pas trop compliqué de comprendre à partir des définitions de variables et des commandes que je donne, comment les adapter pour les executer une par une dans un terminal.

Voila. Je pense qu'avec ca, un peu de recherche sur google, ou quelques essais, tu devrais arriver à t'en sortir. Si ce n'est pas le cas, je pense qu'il vaut mieux que tu insistes un peu, car sinon je ne vois pas comment tu t'en sortiras quand il s'agira pour toi de résoudre les autres multiples difficultés liés au développement VHDL.

Comme encouragement, voici la dernière citation de code avec la mention de la cible :

ghdl-view:
        gunzip --stdout DIR_SIM_$(PROJECT)/$(SIMTOP).vcdgz | $(VIEW_CMD) --vcd

Et comme l'indique ton dernier message d'erreur (souvent, les messages d'erreurs sont une bonne indication de ce qui cloche smile ), il faut bien faire attention de mettre une tabulation devant "gunzip" et non pas des espaces !

En espérant que toutes ces indications t'aide à franchir ce premier obstacle sans que personne n'ai eu a te macher complètement le travail wink

Luzerne GANHIR

Hors ligne

#23 Le 07/04/2007, à 10:00

rniamo

Re : vhdl et linux, possible ? [résolu]

ok Luzerne.

Merci beaucoup pour toute ton aide.

J'en profite d'ailleurs pour remercier toutes les personnes m'ayant répondu.


< Quelques un des mes programmes  | Cuisine Facile (pour les gourmands) | Fast MVC for PHP >
        \   ^__^
         \  (o o)\_______
            (___)\            )\

Hors ligne

#24 Le 17/02/2008, à 21:07

piratox

Re : vhdl et linux, possible ? [résolu]

après maintes installation de modelsim j'ai enfin réussi a l installer sur ubuntu 7.10, avec une petite cerise et hop la version 6.2k marche nikel

#25 Le 18/02/2008, à 12:07

FabM

Re : vhdl et linux, possible ? [résolu]

Bonjour,

Je me permet de remonter ce post parce que je viens de me mettre a la simulation avec ghdl (j'utilisais avant les outils mentor, qui sont d'ailleurs très bien, mais pas libre ;-) ).

Les conseils de Luzerne m'ont beaucoup aider et la simulation de composant se fait très bien (presque aussi bien qu'avec les outils mentor).

Néanmoins j'ai un problème de simulation post-synthèse avec les outils xilinx. J'inclu bien la librairie unisim dans le makefile via l'option :
GHDL_FLAGS      = --ieee=synopsys -P~/Xilinx92i/coregen/ip/xilinx/primary/com/xilinx/ip/unisim --warn-no-vital-generic

Mais j'oblient une erreur interne du compilateur à  la compilation ! Quelqu'un aurait il déjà  rencontré se problème ?

Please report this bug on http://gna.org/projects/ghdl
GHDL release: GHDL 0.26 (20070408) [Sokcho edition]
Compiled with GNAT Version: GPL 2005 (20050729)
In directory: /home/fabien/projetxilinx/bus_led/
Command line:
/usr/local/bin/ghdl -i --ieee=synopsys -P~/Xilinx92i/coregen/ip/xilinx/primary/com/xilinx/ip/unisim --warn-no-vital-generic --workdir=simu --work=work_led_top_tb bin/bus_led_ise/netgen/synthesis testbench/led_top_tb.vhd
Exception TYPES.INTERNAL_ERROR raised
Exception information:
Exception name: TYPES.INTERNAL_ERROR
Message: files_map.adb:780
Call stack traceback locations:
0x80963df 0x808743a 0x80773e0 0x8098b8a 0x8058499 0x804a22b 0x4004104e

Pour information j'ai d'abord obtenu cette erreur avec la version ubuntu de ghdl, mais ce n'est pas la dernière version de ghdl. J'ai donc installé la dernière version (0.26) mais j'obtien exactement la même erreur.