www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Wo Resolution in Modelsim einstellen?


Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte gern die Resolution in Modelsim vom Standardwert 1ps ändern 
auf 1ns. Ziel bei der Sache ist längere Zeiträume zu simulieren ohne 
dafür stundenlang warten zu müssen.

Ich hab inzwischen (unter anderem hier im Forum) verschiedene 
Möglichkeiten gelesen wie das gehen soll.

Keine der Varianten hat bei mir funktioniert bzw sind die beschriebenen 
Einträge in den Menüs meiner ModelSim Version nicht vorhanden.

Ich habe die Version Modelsim XE III / Starter 6.2g (die kostenfreie von 
XILINX)

Kann mir jemand sagen ob es irgendwo einen Menüpunkt gibt wo ich die 
Resolution einstellen kann??

Grüße
Tom

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@om (Gast)

>ich möchte gern die Resolution in Modelsim vom Standardwert 1ps ändern
>auf 1ns.

Das macht man im Batchfile, wo die Simulation aufgerufen wird. Schau die 
mal die *.fdo in deinem Projektverzeichnis an.

MFG
Falk

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In meinem Projektverzeichnis gibt es keine *.fdo Datei. Muss man die 
erst erstellen lassen?

Ist es wirklich nicht möglich dies in einem Menü einzustellen (So wie 
das mit der "Run"-Dauer auch funktioniert)??

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Tom (Gast)

>In meinem Projektverzeichnis gibt es keine *.fdo Datei. Muss man die
>erst erstellen lassen?

Nein, die erstellt ISE automatisch wen es die Simulation für Modelsim 
per Script startet. Wenn du Modelsim allein ohne Xilinx ISE nutzt ist 
das natürlich was anderes, wobei das prinzipielle Vorgehen das gleiche 
ist.

>Ist es wirklich nicht möglich dies in einem Menü einzustellen (So wie
>das mit der "Run"-Dauer auch funktioniert)??

AFAIK nein.

MFG
Falk

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bringt das denn etwas? Modelsim muss doch immer noch alle Ereignisse 
auswerten, macht es da einen Unterschied wie die Simulationsauflösung 
eingestellt ist, solange sie klein genug ist dass keine Zeiten gerundet 
werden?

Autor: Johannes T. (johnsn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich kenn da die Methode, bei der man in der Datei "modelsim.ini" 
unter folgendem Punkt den Parameter ändert:

; Simulator resolution
; Set to fs, ps, ns, us, ms, or sec with optional prefix of 1, 10, or 
100.
Resolution = ps

Autor: C.C.V. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bzw im *.MPF file, das lokal als Kopie der INI angelegt wird.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Andreas Schwarz:
Ich hab mir das so gedacht das der Rechenaufwand wenn ich sagen wir eine 
Sekunde simulieren will doch wesentlich geringer sein muss wenn er nur 
jede ns statt jede ps berechnen/simulieren muss. Seh ich das falsch?

@ Johannes und C.C.V.:

In der mpf Datei kann ich die resolution wie beschrieben einstellen. 
Nachdem ich die Datei dann gespeichert habe und mittels "report 
simulator state" in Modelsim die aktuelle resolution anzeigen lasse 
steht dort immernoch ps drin. Also hab ich Modelsim neu gestartet und 
siehe da nun ist es auf ns geändert

A B E R

sobald ich auf simulate gehe und meine Testbench auswähle und die 
Simulation starte wird es wieder zurück auf ps gestellt (auch in der mpf 
Datei steht jetzt wieder ps)

Autor: Klaus Falser (kfalser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich hab mir das so gedacht das der Rechenaufwand wenn ich sagen wir eine
> Sekunde simulieren will doch wesentlich geringer sein muss wenn er nur
> jede ns statt jede ps berechnen/simulieren muss. Seh ich das falsch?

Ja. Der Simulator arbeitet Ereignis-orientiert, das heißt er berechnet 
nur an den Zeitenpunkten, an denen sich etwas ändert den neuen Zustand.
Die Auflösung legt nur das minimale Zeitincrement fest mit dem der 
Simulator rechnen kann, das heißt aus einem "wait for 10,4 ns" werden 
dann 10 oder 11.
Die Anzahl der Ereignisse ändert sich deshalb nicht.

Ursache dafür, dass man die Auflösung gröber oder feiner einstellen 
kann, ist  die interne Darstellung der Zeit mit 32 Bit, sodass man bei 
feiner Auflösung nicht so lange Zeiten simulieren kann.

Klaus

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK Danke dann bringt mir die ganze Sache sowieso nichts, ich dachte ich 
kann damit Simulationszeit sparen...

Autor: FPGA Spezialist (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sicher kannst Du Simulationszeit sparen. Die Rechung wird gröber und 
ungenauer (und damit falscher).

Teste das mal mit 2 clocks durch, welche mit krummen Freuqenzen 
arbeiten, die auf ps eingestellt werden müssen, um zu stimmen. Dann 
bekommst Du mit der gröberen Sim andere Clockübergänge!

Autor: Klaus Falser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sicher wird das Ergebnis ungenauer.
Ein falscher Ergebnis berechnet sich aber nicht schneller als ein 
genaues, warum sollte man deshalb Simulationszeit einsparen?

Autor: Erik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
man kann es auch direkt beim Vsim Aufruf übergeben:
vsim -t 1ps work.blabla_tb

Autor: OliverKroll (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann die zeitliche Auflösung auch im Auswahlfenster einstellen, das 
sich nach Aufruf von "Start Simulation" öffnet. Man muß das sogar, wenn 
man wait-Statements unterhalb der voreingestellten Auflösung verwendet, 
weil sonst die Simulation nicht anspringt (bleibt mit einer 
Fehlermeldung gleich am Anfang stehen).

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.