Forum: FPGA, VHDL & Co. Simulationsprobleme mit ModelSim


von Robert M. (andro86)



Lesenswert?

Hallo zusammen,

ich benutze Quartus Prime 15.1 Lite Edition und ModelSim ALTERA STARTER 
EDITION 10.4b.

Da ich noch ein blutiger Anfänger auf dem Gebiet FPGA/ VHDL bin, wollte 
ich mit was kleinem anfangen wie z.B. ein Modul, dass bei jeder 
steigenden Flanke den Wert eines Signales um Eins erhöht. Die 
dazugehörige .*vhd-Datei sieht wie folgt aus:

Testbench.vhd:
1
LIBRARY ieee;
2
use ieee.std_logic_1164.all;
3
use ieee.numeric_std.all;
4
5
entity testbench is
6
  port(  clock, res_n  : in std_logic);
7
end testbench;
8
9
architecture behav of testbench is
10
  
11
  signal counter : integer := 0;
12
  
13
  begin
14
  
15
  delta_Voltage: process(clock, res_n) is 
16
    
17
    begin
18
        if rising_edge(clock) then
19
        
20
          if (counter < 254) then  counter <= counter + 1;
21
          else              counter <= 0;
22
          end if;
23
        end if;
24
    end process;  
25
  
26
end architecture behav;

Um auch mal mit einer Testbench zu arbeiten wollte ich das ganze 
simulieren. Die dazugehörige Testbench sieht wie folgt aus:

Testbench_tb:
1
LIBRARY ieee;
2
library work;
3
use ieee.std_logic_1164.all;
4
use ieee.numeric_std.all;
5
6
entity testbench_tb is
7
end testbench_tb;
8
9
architecture behav of testbench_tb is
10
  
11
  signal clock  :  std_logic;
12
  signal res_n  :  std_logic;
13
  
14
  begin
15
  
16
    dut:  entity work.testbench
17
        port map (  clock => clock,
18
                res_n => res_n);
19
                
20
    clkgen: process is
21
            begin
22
                loop
23
                  clock <= '0';  wait for 5 ns;
24
                  clock <= '1';  wait for 5 ns;
25
                end loop;
26
          end process clkgen;
27
          
28
    resgen: process is
29
            begin
30
                res_n <= '0';  wait for 25 ns;
31
                res_n <= '1';  wait;
32
          end process resgen;
33
34
end architecture behav;

Die Entsprechenden Einstellungen könnt ihr den angehängten Bilder 
entnehmen.

Die Analyse und Synthese verläuft fehlerfrei, doch sobald sich ModelSim 
öffnet kriege ich die Fehlermeldung " #Error loading design"

Ich habe mir nun schon verschiedene Dokus von Altera durch gelesen wie 
https://www.altera.com/en_US/pdfs/literature/ug/ug_gs_msa_qii.pdf oder 
https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/hb/qts/qts_qii5v3.pdf, 
doch ich konnte nicht heraus finden weshalb ich diese Fehlermeldung 
kriege. Ich hoffe ihr könnt mir weiterhelfen.

von Vancouver (Gast)


Lesenswert?

Vielleicht, weil Du als Testbench "Testbench_Test" angegeben hast, Deine 
Testbench aber testbench_tb heißt? Ansonsten nimm probeweise mal die 
dut-Instanz aus der Testbench_tb heraus und schaue, ob testbench_tb 
alleine läuft, damit kannst Du den Fehler eingrenzen.

Ein paar Fragen zum Selberstellen:

Wieso heißt dein DUT auch testbench?
Wieso definierst Du einen asynchronen Reset (rst_n) und verwendest ihn 
dann nicht?
Wieso hat Dein Design Eingänge aber keine Ausgänge?

von Markus F. (Gast)


Lesenswert?

Jo, das ist ein naming problem!

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.