mikrocontroller.net

Forum: FPGA, VHDL & Co. GHDL - gcc not found


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: TimS. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag,

ich wollte GHDL nuzen um mir etwas VHDL beizubringen.
Leider bekomme ich folgende Fehlermeldung:

> C:\Users\tims\Desktop\half adder>ghdl -a ha.vhdl
> C:\eda\ghdl\bin\ghdl.exe: installation problem: gcc not found

Im Internet wurde ich nicht fündig. Kann mir jemand helfen und sagen was 
da schief läuft?

Beste Grüße
Tim.

Autor: Tobias B. (Firma: www.elpra.de) (ttobsen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
GHDL uebersetzt deinen VHDL Code in C/C++ Code, welcher dann kompiliert 
und ausgefuehrt wird. Ohne einen entsprechenden Compiler (in diesem Fall 
der GCC) funktioniert das nicht.

Ich verwende GHDL nur unter Linux, da ist in den grossen Distributionen 
GHDL enthalten. Ebenfalls gute Erfahrungen habe ich mit dem Docker Image 
ghdl/ext:vunit gemacht. Da ist noch VUnit dabei, was ich ziemlich 
praktisch finde. :-)

Autor: Markus F. (mfro)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
ghdl gibt es in zwei "Geschmacksrichtungen": einer (interpretierten) 
"mcode"-Version und einer Version, die (mit C/C++-Code als 
Zwischenschritt) ein Binärprogramm erzeugt.

Letztere braucht den entsprechenden Compiler, die mcode-Version (die 
auch so deutlich schneller ist, als die "Lite"-Versionen von modelsim) 
kommt ohne aus.

Autor: Tobias B. (Firma: www.elpra.de) (ttobsen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Vollstaendigkeit halber mal noch ein Verweis auf:

https://ghdl.readthedocs.io/en/latest/building/Building.html

Autor: P.S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal nach, ob Du eine komplette GCC-Installation hast. Ich habe das 
hier unter Linux aber die Verzeichnisstruktur unter Windows sollte 
ähnlich aussehen:
$ ll /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/
insgesamt 166496
drwxr-xr-x 4 root root     4096 23. Apr 12:12 32
drwxr-xr-x 2 root root    36864 23. Apr 12:12 adainclude
drwxr-xr-x 2 root root    20480 23. Apr 12:12 adalib
-rwxr-xr-x 1 root root    98824 17. Apr 10:12 buildid
-rwxr-xr-x 1 root root 26001056 17. Apr 10:12 cc1
-rwxr-xr-x 1 root root 27450560 17. Apr 10:12 cc1plus
-rwxr-xr-x 1 root root   668824 17. Apr 10:12 cgo
-rwxr-xr-x 1 root root   601824 17. Apr 10:12 collect2
-rw-r--r-- 1 root root     2616 17. Apr 10:12 crtbegin.o
-rw-r--r-- 1 root root     2920 17. Apr 10:12 crtbeginS.o
-rw-r--r-- 1 root root     3136 17. Apr 10:12 crtbeginT.o
-rw-r--r-- 1 root root     1336 17. Apr 10:12 crtend.o
-rw-r--r-- 1 root root     1336 17. Apr 10:12 crtendS.o
-rw-r--r-- 1 root root     3920 17. Apr 10:12 crtfastmath.o
-rw-r--r-- 1 root root     3480 17. Apr 10:12 crtprec32.o
-rw-r--r-- 1 root root     3488 17. Apr 10:12 crtprec64.o
-rw-r--r-- 1 root root     3480 17. Apr 10:12 crtprec80.o
-rwxr-xr-x 1 root root 27588048 20. Apr 13:20 ghdl1
-rwxr-xr-x 1 root root 30624960 17. Apr 10:12 gnat1
-rwxr-xr-x 1 root root 27290944 17. Apr 10:12 go1
drwxr-xr-x 3 root root     4096 23. Apr 12:12 include
drwxr-xr-x 2 root root     4096 23. Apr 12:12 include-fixed
drwxr-xr-x 3 root root     4096 23. Apr 12:12 install-tools
-rw-r--r-- 1 root root  3087102 17. Apr 10:12 libgcc.a
...

Die Dateien cc1, cc1plus, ghdl1, usw. sind die eigentlichen Compiler. 
GHDL ist übrigens kein Precompiler der C/C++ generiert, sondern ein 
Compiler-Frontend für GCC.

Autor: Tobias B. (Firma: www.elpra.de) (ttobsen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
P.S. schrieb:
> Die Dateien cc1, cc1plus, ghdl1, usw. sind die eigentlichen Compiler.
> GHDL ist übrigens kein Precompiler der C/C++ generiert, sondern ein
> Compiler-Frontend für GCC.

Ah, merci. Dann ist das was ich oben schrieb Quatsch. Das erklaert auch 
warum Code Coverage mit gcov funktioniert.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.