Hallo, ich möchte innerhalb eines Designs aus der Testbench heraus ein internes Signal (Bus) forcen. Das Signal im Design sein mal: signal b : std_logic_vector(7 downto 0); ... Das Signal, welches als Referenz dient sei: signal a : std_logic_vector(7 downto 0); ... Nun möchte ich a einen Wert zuweisen und ihn auch an b übergeben. Folgendes Konstrukt funktioniert schonmal: a <= Wertzuweisung; if a(0) = '1' then signal_force("/tb/b(0)", "1" , 0 ns, freeze, open, 0); else signal_force("/tb/b(0)", "0" , 0 ns, freeze, open, 0); end if; if a(1) = '1' then signal_force("/tb/b(1)", "1" , 0 ns, freeze, open, 0); else signal_force("/tb/b(1)", "0" , 0 ns, freeze, open, 0); end if; ... if a(7) = '1' then signal_force("/tb/b(7)", "1" , 0 ns, freeze, open, 0); else signal_force("/tb/b(7)", "0" , 0 ns, freeze, open, 0); end if; Ist mir aber irgendwie zu umständlich. Mit einer Schleife habe ich es auch schon probiert, was aber nicht zum Erfolg führte. Ich suche nun nach einer eleganteren Beschreibung die in etwa so aussieht: signal_force("/tb/b", a , 0 ns, freeze, open, 0); Hat jemand eine Idee, wie man Modelsim dazu überreden kann? Der Besucher
Du spiegelst das Signal aus dem Design in die Testbench. Dazu benutzt du zu dem signal_force verwandte signal_spy's. Nun kannst du das Spiegel Signal in der TB beliebig mittels vhdl schreiben und lesen. Aus der Doku: The init_signal_spy() utility mirrors the value of a VHDL signal or Verilog register/net onto an existing VHDL signal or Verilog register. This allows you to reference signals, registers, or nets at any level of hierarchy from within a VHDL architecture (such as a test bench).
Ottmar schrieb: > Nun kannst du das Spiegel Signal in der TB beliebig mittels vhdl > schreiben und lesen. Schreiben klappt bei mir leider nicht. Auf jeden Fall sehe ich keine Auswirkungen auf das Signal, welches sich im Design befindet. Der Besucher
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.