Hi - würde gerne in meiner Testbench als Text anzeigen, welchen Test ich gerade durchführe. Habe es derzeit mit write(state,string'("modul im reset")); .. diese Variable kann ich aber in der Testbench nicht tracen. Kann mir da Jemand weiterhelfen? Danke, Gabriel
Wenn du deinen States selber Namen gibst erscheinen diese Auch in der Simulation.
Danke. Bei einer statemachine, ich weiss.. aber wie mache ich sowas: entity top_tb is end top_tb; architecture behaviour of top_tb is component xy.. port(.. ); end component; signal xy.. begin uut: xy port map( ); stim_proc: process RESETN <= '0'; wait for 100 ns; RESETN <= '1'; .. .. ####hier möchte ich als signal / info wie auch immer einen string schreiben können, so dass ich im Simulationsfenster sehe, welcher test gerade ausgeführt wird#### .. .. begin end process; end ;
Abhängig davon welchen Simulator du benutzt: mit assert(...) gibts eine Konsolenausgabe.
assert nutzen:
1 | assert (dout /= value) report "not passed" severity error; |
In einer Testbench verwende ich auch ganz gerne das:
1 | signal text: string(1 to 10) := ("UNASSIGNED"); |
2 | |
3 | BEGIN
|
4 | |
5 | wait until rising_edge(clk); |
6 | text <= "first edge"; |
7 | wait until rising_edge(clk); |
8 | text <= "seco. edge"; |
Dabei ist zu beachhten das der String auch 10 Zeichen hat.
schade - in modelsim wird das signal text wohl rausoptimiert. das signal steht nicht zum tracen zur verfügung.
Da sollte eigentlich nix rausoptimiert werden. Zeig mal deinen Code. Ansonsten, was ist mit der assert-Anweisung? Mit assert false report "wasauchimmer" severity note; sollte es klappen.
Hm???? Wüsste nicht das in einer TESTBENCH was "rausoptimiert" wird. Da gibt es nichts zu optimieren. Der code gehört in die Testbench, sicher das du es da rein geschrieben hast? und nicht vielleicht in deinen eigentlichen Code?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.