Forum: FPGA, VHDL & Co. Timing Simulation


von Michael (Gast)


Lesenswert?

Hi @all

ich schreibe gerade an meiner Diplomarbeit.

In meiner Diplomarbeit geht es um ein FPGA-Projekt. Dieses habe ich
auch schon fast fertig, jedoch funktioniert nur die
"funktionale-Simulation". Wenn ich das erzeugte Bit-File auf den FPGA
hochlade, dann funktioniert viele Module nicht mehr. Nun versuche ich
den Fehler zu finden. Diese ist recht schwierig, wenn das Projekt schon
recht groß ist. Deshalb möchte ich eine Timing-Simulation durchführen.
Ich verwende das Tool "Protel DXP 2004". Falls jemand das Tool
benutzt und weiß wie ich die Timing-Simulation durchführen kann dann
schreibt mir bitte. Das Problem ist das ich mit "Protel DXP 2004"
dein "sdf-file" (standard delay file) erzeugen kann (wird für die
Timing-Simulation benötigt). Deshalb muss ich mit Protel DXP 2004 eine
edif-Netzliste erzeugen. Diese Netzliste lade ich in Xilinx ISE 6.3 und
erzeuge dann mit Xilinx ISE 6.3 ein "sdf-file" Wenn ich dieses dann
aber in Protel DXP 2004 verwende, dann kommt es zu Problemen.

von Jörn (Gast)


Lesenswert?

Hallo Michael,

wenn Du Probleme mit DXP bei der Simulation hast, nimm doch Modelsim
von Mentor. Xilinx bietet eine kostenlose Version an. Mit dem hab ich
heute eine Post P&R Simulation durchgeführt.

Gruß Jörn
P.s.: Solle man die Post P&R Simulation nicht bevor man das File in das
FPGA programmiert machen  ;)

von Alex1 (Gast)


Lesenswert?

Hallo Jörn,

ich habe auch Probleme mit ModelSim:
Ich habe mir eine voellig einfachen Addressdekoder gemacht. Diesen
moechte ich mit ModelSim simulieren.
Ich habe drei Eingänge und 2 Ausgänge. Diesen 3 Eingänge moechte ich
jeweils einen Takt geben, so das ich die 2 Ausgaenge betrachten kann.
Wie fange ich es an?

Alex

von Michael (Gast)


Lesenswert?

Ich dachte immer modelsim ist eine eigenständige Software und kostet
viel Geld. Ich werde es aber mal ausprobieren.

Kann man bei Modelsim meine Testbench benutzen oder muss ich dort ein
anderes File erstellen?

von Jörn (Gast)


Lesenswert?

Hi Alex,

hast Du schon eine Testbench für Deinen Adressdecoder geschrieben?
Diese ist der erste Schritt zum die Funktion zu verifizieren.

Gruß Jörn

von Jörn (Gast)


Lesenswert?

Hi Michael,

Es gibt eine Xilinxedition von Modelsim. Diese kannst Du auf HP von
Xilinx, nachdem Du Dich registiert hast, runterladen. Die Performance
gegenüber der Orginal Modelsimversion ist eingeschränkt.

Deine Testbench kannst Du weiter benutzten. Du benötigt für die
Simultion noch die xxx_timesim.vhd und xxx_timesim.sdf Dateien, die von
ISE erzeugt werden.

Gruß Jörn

von Alex1 (Gast)


Lesenswert?

Hallo Jörn!
Was heisst ein Testbench geschrieben?
Ich habe mir ein Bench erstellt. Genau da wollte ich ja meine Eingänge
beschreiben, bzw. das Signal der Eingänge. Das ging aber nur bei dem
ersten.
Wie mache ich das richtig? Das Tutorial hat mich auch nicht wirklich
weitergebracht.

Danke
Alex

von Jörn (Gast)


Lesenswert?

Hallo Alex,

kannst Du mir mal Deinen Quellcode schicken oder ihn posten.

Gruß Jörn

von Michael (Gast)


Angehängte Dateien:

Lesenswert?

An Alex1

Mit einer Testbench kann man seine Software debuggen.

Die Testbench wird für eine Simulation benötigt. In ihr steht die
Zustände der Eingänge im Topdesign. (das heist du hast auf Deinem
obersten Schaltplan Ports.) Wenn Du z.B. einen AD-Wandler hast, dann
steuerst Du den AD-Wandler mit dem FPGA an. Nun möchtest Du das Signal,
welches der AD-Wandler liefert weiter verarbeiten. Damit Du die
Weiterverarbeitung Simulieren kannst, erstellt man eine Testbench. In
der Testbench steht dann z.B. das der Port "DATA-ADC" (Daten die vom
AD-wandler kommen) für 35ns den Zustand "1" haben soll ( DATA_ADC <=
'1'; wait for 35ns; Durch die Testbench kannst Du dann die
Datenverarbeitung simulieren, da Du Dir selber Werte erzeugst, die der
AD-Wandler liefert. Durch die Simulation wirst Du außerdem schnell
grobe Fehler erkennen.

Ich hoffe ich konnte Dir damit weiterhelfen (Sorry für die
Rechtschreibfehler aber ich habe einfach drauf losgeschrieben)

Gruß Micahel

von Michael (Gast)


Lesenswert?

Zuerst habe ich ein Project mit ISE 6.2 erstellt. Anschließend habe ich
eine die "Simulate Post-Place & VHDL Model" (Timing Simulation) aus
ISE gestartet. Modelsim öffnet sich und fängt an zu arbeiten. Bleibt
dann aber stehn und zeigt folgenden Fehler an:

Error (vcom-19) Failed to access library 'simprim' at 'simprim'
No such file or directory
Error c:/programme/modelsim/win32/vcom failed

Was mache ich falsch? (benutze Modelsim 6.0a SE)

Michael

von Thomas (Gast)


Lesenswert?

die Library simprim wird zur Timing Simu verwendet.

Kann sein das die bei Dir noch nicht eingebunden ist.
Frag mich jetzt net, wie man die einbinded (manuals ...) bin froh das
es bei mir jetzt funktioniert.


Thomas

von Alex1 (Gast)


Lesenswert?

Hallo...
Danke!

Ich glaube, ich habe es geschafft. Zumindest zeigen mir jetzt die
Ausgaenge auch Werte an.

Ich hatte das "test bench waveform" benutzt.

mal schauen, ob ich noch weiter komme. ;-))

Alex

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.