mikrocontroller.net

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


Autor: Georg We (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: FPGAküchle (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Georg We (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: FPGAküchle (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

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.