Forum: FPGA, VHDL & Co. GHDL - Kein Ergebnis


von Logikgatter (Gast)


Angehängte Dateien:

Lesenswert?

Hallo liebe Mitelektroniker

ich versuche mich grade an einer einfachen VHDL-Simulation, nur will das 
nicht so wie geplant.

Ich nutze GHDL für Windows und versuche das ganze mit GTKWave 
darzustellen,
jedoch ist das Ergebnis bescheiden, die Konsole sagt mir:
1
>ghdl -a --ieee=synopsys -fexplicit testbench.vhdl
2
3
>ghdl -e --ieee=synopsys -fexplicit ADDER_TB
4
testbench.vhdl:33:9:warning: component instance "u_adder" is not bound
5
testbench.vhdl:16:14:warning: (in default configuration of adder_tb(tb))
6
7
>ghdl -r --ieee=synopsys -fexplicit ADDER_TB --vcd=adder.vcd
8
testbench.vhdl:33:9:warning: component instance "u_adder" is not bound
9
testbench.vhdl:16:14:warning: (in default configuration of adder_tb(tb))

Außerdem muss ich die Ausführung mit CTRL-C abbrechen weil er sonst ewig 
läuft.

Am ende habe ich dann die adder.vcd, aber dort steht nur
1
$date
2
  Thu Jun 06 11:53:59 2013
3
$end
4
$version
5
  GHDL v0
6
$end
7
$timescale
8
  1 fs
9
$end

drin. Vermutlich ist der Fehler im Makefile, in jedem Tutorial machen 
sie es anders, mal wird es kompiliert, mal analysiert, mal erstellen sie 
objektdateien, mal wieder nicht... Bräuchte vermutlich nur einmal ein 
richtiges Makefile

Wie bekomm ich da nun Signale raus?

Quellen:

GHDL von http://ghdl.free.fr/site/pmwiki.php?n=Main.Download
GTKWave von http://www.dspia.com/gtkwave.html
adder und testbench von http://esd.cs.ucr.edu/labs/tutorial/

MfG
Logikgatter

von Marius W. (mw1987)


Lesenswert?

1
ghdl -a --ieee=synopsys -fexplicit testbench.vhdl

Da fehlt noch die VHDL-Datei deines DUT inkl. aller Submodules.

Gruß
Marius

von Logikgatter (Gast)


Lesenswert?

Okay, macht irgentwie Sinn ;) in einem Tutorial stand dass er seine 
Dateien von selber findet, hab das wohl falsch verstanden.

Damit sind alle Warnungen weg, aber der Output ist immernoch der selbe, 
und abbrechen muss ich die Simulation immernoch.

von Logikgatter (Gast)


Angehängte Dateien:

Lesenswert?

Da keinerlei Ausgabe erfolgte habe ich mal aus spaß mit report ein 
string ausgegeben und siehe da, auf einmal tut sich was, die Ausgabe ist 
nun:
1
>ghdl -a --ieee=synopsys -fexplicit testbench.vhdl add
2
er.vhdl
3
4
>ghdl -e --ieee=synopsys -fexplicit ADDER_TB
5
6
>ghdl -r --ieee=synopsys -fexplicit ADDER_TB --vcd=add
7
er.vcd
8
testbench.vhdl:41:8:@0ms:(report note): start!
9
..\..\v87\synopsys\std_logic_arith.vhd:255:20:@0ms:(assertion warning): There is an 'U'|'X'|'W'
10
|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).
11
..\..\v87\synopsys\std_logic_arith.vhd:255:20:@0ms:(assertion warning): There is an 'U'|'X'|'W'
12
|'Z'|'-' in an arithmetic operand, the result will be 'X'(es).
13
testbench.vhdl:94:12:@50ns:(assertion note): Testbench of Adder completed successfully!
14
15
>gtkwave adder.vcd
16
17
>pause

adder.vcd sieht auch schon besser aus (siehe Anhang)

Allerdings bekomme ich keine GUI, es passiert absolut nichts wenn ich 
gtkwave mit adder.vcd aufrufe (im Makefile vorher war noch ein typo, 
daran liegt es also nicht). Wie bekomme ich den das behoben?

Was bedeutet die Warnung und wie behebe ich sie?

MfG Logikgatter

von Logikgatter (Gast)


Lesenswert?

Nach testen verschiedener Versionen von GTKWave habe ich jetzt endlich 
eine GUI, er zeigt auch meine Signale links in der Auswahl an, nur wenn 
ich diese anklicke bekomme ich kein Verlauf.

Was noch komisch ist dass sobald ich die Testausgabe herausnehme nichts 
mehr funktioniert, sobald ich aber ein einfaches report "Start"; an den 
anfang der testbench schreibe bekomme ich den Output wie im letzten 
Post.

von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

Auf der linken Seite hast du den Baum. Und unter dem Baum siehst du die 
Signale. Mit der Maus musst du die Signale in die Leiste für das 
Diagrammfenster ziehen. Dann werden die Signal im Taktdiagramm aktiv.




Übrigens  ich habe mal ein Anleitung für GHDL in Verbindung mit unisim 
geschrieben. Das erste Beispiel erzeugt ein VGA-Bildsignal.

Ist mit auf der Seite ... zu finden.
http://www.dossmatik.de/vhdl.html

von Logikgatter (Gast)


Lesenswert?

Ah jetzt sehe ich was :) die Kurven sehen auch richtig aus.

Bleibt nurnoch die Frage wieso ich keine Ausgabe bekomme wenn ich keinen 
"Dummystring" ausgebe. Kann es sein dass der Compiler da etwas 
wegoptimiert?

Auf jeden Fall Danke an euch 2, darauf kann man schon aufbauen

MfG Logikgatter

von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

> Bleibt nurnoch die Frage wieso ich keine Ausgabe bekomme wenn ich keinen
> "Dummystring" ausgebe. Kann es sein dass der Compiler da etwas
> wegoptimiert?
>

Frage nicht verstanden.

Du kannst auch mal deine Erfahrungen posten. Für weitere Anfänger. Gab 
hier auch in einem anderem Forum ein Diskussion zur Lernkurve für VHDL. 
Dabei spielt der Simulator eine wesentliche Rolle. Das Forum lebt hier 
von vielen Seiten.

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.