Forum: FPGA, VHDL & Co. Fehler ist Testbench


von Andi (loopy83)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich versuche gerade für meinen 8bit Deserializer eine Testbench zu 
schreiben, um die Funktion zu überprüfen.

Bisher habe ich noch nicht viel mit Simulation zu tun gehabt, habe immer 
eher mit Chipsscope direkt in der Hardware gearbeitet/getestet.
Nun wollte ich mir mit diesem einfachen Beispiel die Grundlagen 
erarbeiten.

Ich denke die vhd Datei sollte in Ordnung sein, aber wo liegt der Fehler 
in der Testbench?
Kann dort vielleicht jemand einen Fehler entdecken bzw. lässt sich der 
Testbench unter Modelsim ausführen?

Ich arbeite unter einer Linuxumgebung, die mir noch etwas befremdlich 
ist.
Bei dem Befehl run -all bleibt er irgendwie hängen bzw. verläuft sich 
ins Nirvana.
Es gibt make files und Befehle zum Ausführen von Modelsim. Da mir diese 
Umgebung noch nicht vertraut ist und der zuständige Laboringenieur nicht 
greifbar ist, wollte ich nun auf diesem Wege erfragen, ob prinzipiell 
der Testbench so laufen könnte.

Vielen Dank,
Andreas

von Duke Scarring (Gast)


Angehängte Dateien:

Lesenswert?

Irgendwie verhängt sich Deine Testbench in den loops.
Ich hab das Ganze mel etwas vereinfacht.
1
$ vlib work
2
$ vcom deseri.vhd
3
Model Technology ModelSim PE vcom 10.1 Beta 2 Compiler 2011.10 Oct  1 2011
4
-- Loading package STANDARD
5
-- Loading package TEXTIO
6
-- Loading package std_logic_1164
7
-- Compiling entity deseri
8
-- Compiling architecture rtl of deseri
9
$ vcom tb_deseri.vhd
10
Model Technology ModelSim PE vcom 10.1 Beta 2 Compiler 2011.10 Oct  1 2011
11
-- Loading package STANDARD
12
-- Loading package TEXTIO
13
-- Loading package std_logic_1164
14
-- Compiling entity sim_dut
15
-- Compiling architecture tb of sim_dut
16
$ vsim -gui sim_dut
17
VISM 1> add wave *
18
VSIM 2> run -all

Duke

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Duke Scarring schrieb:
> Irgendwie verhängt sich Deine Testbench in den loops.
Aber gleich so, dass der ISIM das ganze System lahmlegt. Da war erst mal 
ein Reboot fällig.... :-o


Andreas B. schrieb:
> Bei dem Befehl run -all bleibt er irgendwie hängen bzw. verläuft sich
> ins Nirvana.
Lass mal das ganze Gebastel mit deiner Ende-Abfrage der Simulationszeit 
weg, und probiers so:
1
begin -- architecture --
2
3
DUT : deseri 
4
port map ( ... );
5
6
  clock_in <= not(clock_in) after clock_period/2;
7
  data_in <= not(data_in) after data_period/2;
8
  reset_n_in <= '1' after reset_time;
9
10
check_simzeit : process          
11
begin  
12
  wait for SimZeit;
13
  assert false report "Simulation durch" severity failure;
14
end process;
15
16
end tb; -- architecture --


BTW:
> der Testbench
DIE Testbench

von Andi (loopy83)


Lesenswert?

Hallo und vielen Dank!

Da habe ich wohl wieder alles verkompliziert.

Andreas

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.