mikrocontroller.net

Forum: FPGA, VHDL & Co. ModelSim: Update nach Codeänderung?


Autor: Chris R. (mrgreen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
was muss ich machen, damit Modelsim auch ohne neu gestartet zu werden 
Codeänderungen erkennt und mir dn neuen Code simuliert?

Ich habe durch Rechtsklick auf die Bibliothek (work), dann Update und 
dann Refresh versucht, den Code neu zu compilieren. Laut Log compiliert 
er auch neu.

Aber wenn ich die Simulation neu starte, dann wird der alte Code 
simuliert?

Bisher hab ich es nur so geschafft, dass ich Modelsim beendet hab. Das 
kann's ja aber nicht sein...

MfG
Mr.Green

Autor: SeriousSam (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei mir funktioniert in der Dateiansicht die Datei auswählen, auf 
kompilieren klicken und danach die Simulation neu starten.

Autor: Thomas Hertwig (mac4ever)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Siehe Anhang ...

Autor: simsam (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Startest du aus ISE?
Dann in der Kommandozeile unten den ersten ausgefuehrten Befehl wieder 
auswaehlen (Pfeiltaste nach oben bis zum ersten), das ist ein "do ..." 
der eine Kette von Eregnissen ausfuehrt. Dann kannst du den neuen Code 
simulieren.

Autor: Chris R. (mrgreen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den Button anklicken hilft nicht.
Ein "do..." ist auch nicht der erste Befehl in der Liste.

Ich schreib den Code in Quartus, und auch die Testbench.

Dann starte ich extern Modelsim, lad mir den Code und simulier das.
Wenn ich jetzt die z.B. Testbench änder, und dann auf den Button klick, 
ändert sich das Waveform nicht. Ich seh weiter die Simulation des alten 
Codes...

Autor: simsam (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann fuehr eben den ersten Befehl oder die ersten Befehle aus. Sollten 
die sein, die die Testbench initialisieren und das Design kompilieren.

Autor: Chris R. (mrgreen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab ich getan, das sollte meine Testbench neu compilieren.
Die Simulation bleibt dieselbe.

Autor: Klaus Falser (kfalser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich habe durch Rechtsklick auf die Bibliothek (work), dann Update und
> dann Refresh versucht, den Code neu zu compilieren. Laut Log compiliert
> er auch neu.
Refresh ist nicht das selbe wie neu kompilieren! Du musst im 
Projekt-Fenster die Datei auswählen und neu kompilieren.

Wenn man eine Datei ändert, dann muss man :
- Datei neu kompilieren
- Restart der Simulation machen. (Simulate->Run..->Restart). Dabei 
siehst du unten in der Kommandozeile
"Loading ....work/modul....
- Simulation neu laufen lassen (Run 100 ns)

Vielleicht kompilierst Du deine Testbench nicht in die richtige Library.

Autor: FPGA-Jeck (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei package gibt modelsim gelegentlich die Warnung aus
".. not loading changed .." und empfiehl ein neustart der simulation.
ist aber selten, in der regel klappt neukompilieren und restart. dazu 
muß man
modelsim nicht neu starten.

kennst du die history funktion von modelsim? gibt dazu mal "history" in 
der modelsim shell ein. dann zeigt er dir die bisher ausgeführten 
kommandos.

bei Codeänderungen mache ich folgendes:
 -neukompilieren (im sim (oder lib) fenster ? die entity unter den 
mauszeiger nehmen, dann mit muosebottun (weiss grad nicht ob rechts oder 
links klicken und im Kontextmenu recompile auswählen, oder falls du 
schon mal diese datei während dieser sitzung kompiliert hast, in shell 
fenster !vcom tippern.
-jetzt entweder die Simualtion zurücksetzten (in der shell restart 
-force -all
tippern, oder die simulation neustarten (wieder per history !vsim)
nun run eintippern und alles ist neu.

natürlich kann der oben geschilderte selten auftreten (dann hilft aber 
!vsim)
oder simulierte /kompilierte file stimmen nicht überein (beispielsweise 
wie Vorredner erwähnt falsche Bibliothek) oder deine Änderungen sind 
keine wirklichen Änderungen,...

Autor: Loizel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es könnte sein, daß in die falsche lib compiliert wird. Manche Tools 
setzen die temporäre Lib in die compiliert wird nicht für das Modelsim 
Projekt, sodaß die Vorteinstellungen dann für einen manuellen Restart 
nicht stimmen. Daher:

Dateien im Fenster anwählen, rechte Maustase und "compile properties" 
checken. -> "lib = work ???"

Ich arbeite immer über eigene Prokjekte mit den passenden zugelinkten 
libs. Da hat man alles unter Kontrolle.

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.