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


von TimS. (Gast)


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.

von Tobias B. (Firma: www.elpra.de) (ttobsen) Benutzerseite


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

von Markus F. (mfro)


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.

von Tobias B. (Firma: www.elpra.de) (ttobsen) Benutzerseite


Lesenswert?

Der Vollstaendigkeit halber mal noch ein Verweis auf:

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

von P.S. (Gast)


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:
1
$ ll /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/
2
insgesamt 166496
3
drwxr-xr-x 4 root root     4096 23. Apr 12:12 32
4
drwxr-xr-x 2 root root    36864 23. Apr 12:12 adainclude
5
drwxr-xr-x 2 root root    20480 23. Apr 12:12 adalib
6
-rwxr-xr-x 1 root root    98824 17. Apr 10:12 buildid
7
-rwxr-xr-x 1 root root 26001056 17. Apr 10:12 cc1
8
-rwxr-xr-x 1 root root 27450560 17. Apr 10:12 cc1plus
9
-rwxr-xr-x 1 root root   668824 17. Apr 10:12 cgo
10
-rwxr-xr-x 1 root root   601824 17. Apr 10:12 collect2
11
-rw-r--r-- 1 root root     2616 17. Apr 10:12 crtbegin.o
12
-rw-r--r-- 1 root root     2920 17. Apr 10:12 crtbeginS.o
13
-rw-r--r-- 1 root root     3136 17. Apr 10:12 crtbeginT.o
14
-rw-r--r-- 1 root root     1336 17. Apr 10:12 crtend.o
15
-rw-r--r-- 1 root root     1336 17. Apr 10:12 crtendS.o
16
-rw-r--r-- 1 root root     3920 17. Apr 10:12 crtfastmath.o
17
-rw-r--r-- 1 root root     3480 17. Apr 10:12 crtprec32.o
18
-rw-r--r-- 1 root root     3488 17. Apr 10:12 crtprec64.o
19
-rw-r--r-- 1 root root     3480 17. Apr 10:12 crtprec80.o
20
-rwxr-xr-x 1 root root 27588048 20. Apr 13:20 ghdl1
21
-rwxr-xr-x 1 root root 30624960 17. Apr 10:12 gnat1
22
-rwxr-xr-x 1 root root 27290944 17. Apr 10:12 go1
23
drwxr-xr-x 3 root root     4096 23. Apr 12:12 include
24
drwxr-xr-x 2 root root     4096 23. Apr 12:12 include-fixed
25
drwxr-xr-x 3 root root     4096 23. Apr 12:12 install-tools
26
-rw-r--r-- 1 root root  3087102 17. Apr 10:12 libgcc.a
27
...

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.

von Tobias B. (Firma: www.elpra.de) (ttobsen) Benutzerseite


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.