Forum: FPGA, VHDL & Co. Verhaltenssimulation und Taktsynchronisation


von Valko Z. (hydravliska)


Lesenswert?

Servus,

mich würde interessieren ob man in einem Modelsim Verhaltenssimulation 
die Taktübergänge simulieren kann.

Da Modelsim alles ideal anzeigt ist es schwer zu erkennen ob man alle 
Signale sauber eingetaktet hat. Erst nach der Synthese wird einer klar, 
dass irgendwas nicht stimmt...
Und es ist nicht immer sofort klar wo man es vergessen hat.

Deswegen die Frage. Mir ist es nicht bekannt wie ich metastabile 
Zustände in einer Verhaltenssimulation nachstellen kann.

Besser gesagt, kann man "constraints" auf Simulationsebene setzen.

Danke im voraus.

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


Lesenswert?

V. S. schrieb:
> Da Modelsim alles ideal anzeigt ist es schwer zu erkennen ob man alle
> Signale sauber eingetaktet hat.
Das ist nicht die Aufgabe einer Verhaltenssimulation.
Und du kannst auch mit einer Timingsimulation nicht sicherstellen, dass 
alles gut geht. Denn du kannst niemals alle auftretenden Fälle 
durchsimulieren.

> Erst nach der Synthese wird einer klar, dass irgendwas nicht stimmt...
Das wäre arg früh. Nach der Synthese kommt eigentlich erst der 
(wirklich) hardwareabhängige Teil...

> Mir ist es nicht bekannt wie ich metastabile
> Zustände in einer Verhaltenssimulation nachstellen kann.
Das ist nicht die Aufgabe einer Verhaltenssimulation.

> Besser gesagt, kann man "constraints" auf Simulationsebene setzen.
Man setzt Constraints (=englisch für Einschränkungen) auf Ebene der 
Hardwareumsetzung. Dann also, wenn man sich ausdenkt, welcher Pin wo 
angeschlossen werden soll (sonst würden die beliebig verteilt), oder wo 
man sich eine Taktfrequenz wünscht (sonst wäre beliebig langsam noch 
schnell genug), oder wo Laufzeiten eingehalten werden müssen (sonst 
würde es reichen, wenn das Signal morgen kommt).
Und zur Analyse, ob das Timing eingehalten wurde, taugt die /Statische 
Timinganalyse/ allemal besser als eine Timing-Simulation, die sowieso 
nur eine Stichprobe wäre.

von Valko Z. (hydravliska)


Lesenswert?

Hi, Lothar,

an was ich dachte is sowas wie ein Setup/Hold Zeit für die Simulation, 
aber das ist eher zu optimistisch gedacht.

Danke für die Aufklärung.

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


Lesenswert?

V. S. schrieb:
> an was ich dachte is sowas wie ein Setup/Hold Zeit für die Simulation,
Du hast in der Verhaltenssimulation keinerlei Laufzeiten der Gatter.
Wenn du da selber irgendwelche angenommene werte hinschreibst, dann 
können die nur falsch sein. Dadurch wird die Simulation nicht 
zuverlässiger.

Sieh dir mal den Beitrag "Re: Frage zu Pseudozufallsgenerator!?" an.

> aber das ist eher zu optimistisch gedacht.
Was du willst, ist eine Timingsimulation. Aber dort hast du dann idR. 
deine Signalnamen oder gleich komplette Signale verloren, weil sie von 
der Synthese hin- und heroptimiert wurden.

von Valko Z. (hydravliska)


Lesenswert?

Hi,

das verstehe ich alles was du sagst, ich wollte eigentlich Modelsim 
austricksen :)

Naja, das Leben geht weiter :)

Danke trotzdem.

Schönes Wochenende.

von OOO (Gast)


Lesenswert?

Mit dem Questa CDC tool geht das zum Beispiel. Gibt auch was 
vergleichbares von Cadence, mir fällt aber der Name gerade nicht ein.

http://www.mentor.com/products/fv/0-in-cdc/

Im Grunde ist das Modelsim mit Spezialfeaturs.

Das ist aber ein Tool der Preis-Kategorie Fertighaus.

von Hannes (Gast)


Lesenswert?

Wofü braucht man das bei FPGAs?

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.