Forum: FPGA, VHDL & Co. PLL läuft in ModelSim nicht


von Mirko (Gast)


Lesenswert?

Hi,
ich möchte mit Modelsim ein Projekt simulieren welches Daten in einen 
SDRAM schreibt. Hierfür benutze ich eine PLL um den richtigen Takt zu 
generieren. In der RTL-Simulation funktioniert die PLL auch incl. Phase 
Shift super, sobald ich aber eine Gate Level Simulation ausführen 
möchte, fängt die PLL in der Simulation nicht an zu schwingen sondern 
bleibt im undefinierten Zustand X hängen.
Beim Laden der Simulation gibt Modelsim keinerlei Warnungen oder Fehler 
aus, lediglich den Hinweis:
1
# ** Note: (vsim-3587) SDF Backannotation Successfully Completed.
2
#    Time: 0 ps  Iteration: 0  Instance: /tb_Testumgebung2_1 File: C:/Users/Mojo/Uni/FPGA/Projekte/Testumgebung2/testbench/tb_Testumgebung2_1.v
wobei ich in ihm keinen Hinweis zu meinem Problem erkenne.

Was mich ratlos macht ist die Tatsache dass ich in einem anderen Projekt 
schon mal das Gleiche gemacht habe (PLL und SDRAM simulieren) und es 
dort keine Probleme gab.

Modelsim starte ich über den Native Link von Quartus II.

Ich benutze
-Quartus II 32-Bit Version Build 12.0 Web Edition
-ModelSim Altera Starter Edition 10.0d
-Geschrieben ist das ganze Projekt in Verilog


Bin an nem Punkt an dem ich nicht mehr weiß was ich noch ausprobieren 
kann und hoffe auf eure Hilfe.

Schöne Grüße
Mirko

von Schlumpf (Gast)


Lesenswert?

Ich hatte mal ein ähnliches Problem und es lag daran, dass ich die 
Zeitauflösung in Modelsim etwas feiner einstellen musste. Dann tat es.
Vielleicht ist es ja bei dir die gleiche Ursache

von Ralf (Gast)


Lesenswert?

Jop - fs waren mitunter nötigt. Aber warum muss man eine PLL simulieren? 
Wenn sie funktioniell arbeitet, also zum rechten Zeitpunkt resettet und 
sich neu synched, wenn es angesagt ist, ist das doch ausreichend, um sie 
als funktionierend abzutun und weiter zu designen.

Was die reale PLL macht ist eh nicht zu simulieren! Die driftet 
chaotisch in gewissen engen Grenzen, da lässt sich keine Aussage 
treffen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Mirko schrieb:
> eine Gate Level Simulation ausführen
Das ist das eigentlich Unnötige an der ganzen Aktion. Wenn die 
Verhaltenssimulation funktioniert und sich die PLL wie im Datenblatt 
verhält und zudem die richtigen Constraints gesetzt sind, dann wird 
auch das Design tun. Das Erste hast du schon kontrolliert, vom Zweiten 
kannst du ausgehen, das Dritte kannst nur du machen.
Du wirst mit der Timing-Simulation sowieso bestenfalls noch Fehler in 
den Timingconstraints finden können. Denn die Umwelt wird sich nicht 
an deine Testbensch halten. Da spielen dann nämlich das Layout (SSSO, 
Ground-Bouncing, Entkopplung) und EMV-Einkopplungen noch eine Rolle, die 
du nicht in die Testbench abgebildet bekommst.

von Mirko (Gast)


Lesenswert?

Vielen Dank für die Antworten.
Habe jetzt noch einmal das ganze Design geändert (aus anderen Gründen) 
und werde die Tage mich aus Interesse an die Gate-Level Simulation 
setzen und das mit der Auflösung ausprobieren.

@Ralf: Hintergrund meines Versuches war nicht eine PLL alleine zu 
simulieren sondern mich interessierte das komplette Verhalten meines 
Designes, in dem die PLL recht wichtig ist.

Das die Gate-Level Simulation in meinem Fall überflüssig/nicht 
weiterführend ist war mir nicht bewusst, danke für den Hinweis.

Schöne Grüße
Mirko

von Matthias (Gast)


Lesenswert?

Ich habe was Ähnliches mit ISIM: in der Verhaltenssimulation läuft die 
PLL nicht, konkret kommt kein locked, obwohl die Ausgänge arbeiten.

woran kann das liegen?

von Duke Scarring (Gast)


Lesenswert?

Matthias schrieb:
> woran kann das liegen?
Hast Du den reset mal für drei Takte betätigt?
Kannst Du uns einen Screenshot zeigen?

Duke

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.