Forum: FPGA, VHDL & Co. Force "pull-up" in Modelsim


von Georg We (Gast)


Lesenswert?

Hallo!
Gibt es in Modelsim die Möglichkeit, einen Pull-Up-Widerstand oder
Pull-Down-Widerstand so forcen, OHNE die TB zu ändern ?
Danke im voraus.
Gruß Georg

von FPGAküchle (Gast)


Lesenswert?

Ja, schau dir mal das force command an. IMHO ist der drive modus mit
einer 'H' (PullUp) oder 'L' (PullDown) das was Du suchst.
Voraussetzung,
das das zu veränderte Signal vom type std_logic ist.

Force kannst du im Wave fenster setzen, ween Du mit der Maus über das
zu setzende Signal gehst, rechte Maustaste drückst, dort Force...
auswählst (linke? Maustaste und im aufklappenden Fenster bei Value H
einträgst und Kind auf drive setzt.

Wenn das nicht klappt schau mal ins command referenc Manual und
experiementiere mit der repeat Option von force.

von Georg We (Gast)


Lesenswert?

DANKE für den Tipp - jedoch bei mir ist ein std_ulogic (und hab das
Problem, dass die TB nicht geändert werden darf).
Gibt's eine weitere Möglichkeit?

von FPGAküchle (Gast)


Lesenswert?

Aehm, std_ulogic, mit u wie unresolved ..., also nur ein signaltreiber
gestattet... und damit einen Pull-, der ja einen zweiten treiber
darstellt simulieren ... da fällt mir erstmal nix ein.

In eine richtung könnte man ja einen PullUpemulator zwischen design und
testbench schieben. Also VHDL code und nicht in modelsim.

also

pulldown_emulator_out <= '0' when pulldown_emulator_in =  'Z' else
                         'X'  when pulldown_emulator_in = 'L' else
                         pulldown_emulator_in;

Also wenn:
-hochohmig, dann treibt der PullUp eine '1' (nicht ganz korrekt, aber
 mit 'H' hat sicherlich die testbench ein Problem),
-Pulldown aktiv dann wissens wirs nicht (also gleichzeitig PullUp und
PullDown an einer Strippe)
-alle anderen ('1', '0','U','L') werden unverändert
übernohmen.

bidirektionale Pins (testbench oder Design als INOUT) mit Pull geht
auch in VHDL (guarded signal mit disable (?)), aber da müsste ich
selber in die VHDL Untiefen reinsteigen.

Also schreib ein Modul das die Pulls wie beschrieben nachstellt und
schalte es zwischen Design und Testbench.

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.