mikrocontroller.net

Forum: FPGA, VHDL & Co. Frage zu Testbench Output


Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe ein Verständnis problem zu den Log ausgaben meiner Testbench. 
Dazu erst einmal ein Auszug aus dem Code
gTestEn <= "1101";
signal sActiveCheck : natural;

...

  report "Run Check0:" severity note;
  sActiveCheck <= 0;
  if (gTestEn(0) = '1') then
    -- Führe Test 0 durch
    vTestResult := ";passed";
  else
    vTestResult := ";ignored";
  end if;
  report "Result:" & cTestBenchName & ";#" & integer'image(sActiveCheck) & vTestResult;
  
  report "Run Check1:" severity note;
  sActiveCheck <= 1;
  if (gTestEn(1) = '1') then
    -- Führe Test 1 durch
    vTestResult := ";passed";
  else
    vTestResult := ";ignored";
  end if;
  report "Result:" & cTestBenchName & ";#" & integer'image(sActiveCheck) & vTestResult;
  
  -- ...

Dies führt zu der folgenden Ausgabe:
Run Check0:
Result: MyTestbench;#0;passed
Run Check1:
Result: MyTestbench;#0;ignored
Run Check2:
Result: MyTestbench;#2;passed
...

Nun meine Frage: Warum erhalte ich das Ergebnis
  Result: MyTestbench;#*0*;ignored
und nicht
  Result: MyTestbench;#*1*;ignored?

Die Variable vTestResult wird ja übernommen, der Wert des Signales 
sActiveCheck jedoch nicht...
Ich freu mich auf eure Erläuterungen.

Vielen Dank,
Martin

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Martin schrieb:
> Variable
...
> wird ja übernommen, der Wert des Signales
...
> jedoch nicht...

Du hast gerade den Unterschied zwischen Variable und Signal gefunden.

Duke

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schreib das mal so:
  sActiveCheck <= 0;
  wait for 0 ns;
Hintergrund: beim nächsten wait werden auch Signale aktualisiert...

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für den Wait Tip, dass es mit dem unterschied zwischen 
Signal und Variable zusammenhängt,hab ich mir gedacht, aber keine Idee 
gehabt, wie ich das umgehen kann.

Wieder was dazugelernt :-)

Schönen Tag noch,
Martin

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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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