Force "pull-up" in Modelsim

Gast #298404
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.
Gast #298406
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren