mikrocontroller.net

Forum: FPGA, VHDL & Co. Post-Route Simulation ; Wie Testbench einbinden ISE 8.1


Autor: FPGA-Fragender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich bitte euch um Hilfe, weil ich trotz Suche und Help Files durchlesen 
einfach nicht mehr weiterkomme.

Mein VHDL Entwurf ist fehlerfrei durch Place and Rout durchgelaufen. ( 
siehe Datei im Anhang )

Lt. Helpfile hab ich beim Process Generate Post P+R Simulation Modell in 
den <Properties> unter <erweiterten Optionen> das Häckchen für <Create 
Testbench> zur Sicherheit angekreuzt.

In der Anlage könnt ich sehen wie bei mir das Process Fenster für die 
<Post-Route Simulation> aussieht.

Bei mir erscheint unter den Sources kein File unter meinem Baustein.

Wenn ich mit create Source ein Testbench File hinzufüge, dann erscheint 
das VHD Testfile immer under dem Process <Behaviour> aber nicht unter 
dem <Post-Route Simulation> Fenster.


Wie kann ich denn nun für die Post Route Simulation einen Testbench 
einbinden ? Oder muss ich dafür einen Simulator extern einbinden ? Davon 
stand allerdings nirgends in den Helpfiles was.

Ich bitte euch dringend um Tipps, denn ich mach da jetzt schon ganz 
schön lange rum und bin echt Down.

Gruß vom FPGA-Fragenden

Autor: FPGA-Fragender (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hoppla Anlagen vergessen

Autor: Stefan Hanke (stefanhanke)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich tippe mal auf Bug in der ISE :D

"Project Clean" mal gemacht?
ModelSim XE ausprobiert?

Hast du mal versucht, das Post-PAR Modell als VHDL-Quelldatei zu laden 
("Add Copy of Source", netgen/par/<DESIGN>_timesim.vhd)? Die SDF-Datei 
liegt im gleichen Verzeichnis.

Hat es bei einem anderen Projekt schon mal funktioniert?

HTH

 -- stefan

Autor: FPGA-Fragender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Stefan,

Du bist ne Wucht !!! Und hast wohl schon selbst genügend Lehrgeld 
bezahlt !!

" Ich tippe mal auf Bug in der ISE :D "

That´s right.

Ich hab den Rechner komplett neu gestartet.

Alle VHDL Files in ein neues Projekt kopiert.
Alles nochmal durchlaufen lassen und siehe da es hat geschnaggelt.

Das einzige Problem was ich nun habe ist folgendes:

Wenn man in der Post Route Simulation die Signale aussuchen möchte, die 
man sich anschauen will, dann wir das aber voll %&$§??#+

Soll heißen in der Auswahlliste im "Model under Test" erscheinen in der 
Liste nun ewig viele "sozusagen Teilsignale" und man sucht sich einen 
Bär, bis man das gewünschte Signal findet.

Gibt es da nicht irgend einen Trick.

Ich glaub ich hab bestimmt 15 min gesucht bis ich ein best. Signal das 
ich suchte gefunden hab.

Ein Tipp wäre nicht schlecht. Wie löst Du das Problem ?

Gruß vom FPGA-Fragenden

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ FPGA-Fragender

>Ich glaub ich hab bestimmt 15 min gesucht bis ich ein best. Signal das
>ich suchte gefunden hab.

>Ein Tipp wäre nicht schlecht. Wie löst Du das Problem ?

Ich löse das Problem, indem ich keine Post P%R Simulation mache. Wenn 
das Design sauber synchron ist reicht eine automatische, statische 
Timinganalyse.

MFG
Falk

Autor: Stefan Hanke (stefanhanke)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In dieser Hinsicht bin ich selbst noch Anfänger.
Ich habe schon versucht, Post-PAR Simulationen durchzuführen, die aber 
schiefgegangen sind ... ergo habe ich in meinem Design noch Fehler 
drinne.

Falk, als du Anfänger warst, hast du doch sicher auch Timingsimulationen 
durchgeführt. Wann war der Punkt, als du das aufgegeben hast?

Es wird wohl darauf hinauslaufen, das "gesamte" Design mit Constraints 
zu belegen und dann das Tool machen zu lassen. Dafür muss man dann aber 
das Verhalten der externen Bausteine kennen.

 -- stefan

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Stefan Hanke

>In dieser Hinsicht bin ich selbst noch Anfänger.
>Ich habe schon versucht, Post-PAR Simulationen durchzuführen, die aber
>schiefgegangen sind ... ergo habe ich in meinem Design noch Fehler
>drinne.

Sicher, aber das sind zu 99% Logikfehler, die du auch in einer normalen 
Verhaltenssimulation auf VHDL Ebene findest. Und dort sind alle 
Signalnamen wie im VHDL. Deine Testbench muss einige worst case Fälle 
simulieren.

>Falk, als du Anfänger warst, hast du doch sicher auch Timingsimulationen
>durchgeführt. Wann war der Punkt, als du das aufgegeben hast?

Ich war nie Anfänger. ;-)
Kleiner Scherz.
Nein, ich hab auch nicht aufgegeben. Ich habe einfach nur das gemacht, 
was zum Erreichen des Ziels (sicher funktionierendes Design) notwendig 
war. Und da habe ich schnell gemerkt und gelernt, dass eine 
Timingsimulation zu 99% sinnlos ist.

>Es wird wohl darauf hinauslaufen, das "gesamte" Design mit Constraints
>zu belegen und dann das Tool machen zu lassen. Dafür muss man dann aber
>das Verhalten der externen Bausteine kennen.

Sicher. Aber löse dich mal von dem Gedanken "mit nem Haufen Constraints 
wird das Tool es schon richtig machen". DU must es richtig machen, und 
den Tools gewisse Hinweise geben.
Für ein sauberes synchrones Design brauchst du nur 3 Angaben.

Taktfrequenz
Datenverfügbarkeit am Eingang (offset for ...)
Datenverfügbarkeit am Ausgang (offset after . . .)

Das sind drei einfach Zeilen im UCF (bei Xilinx).

Ausserdem können auch die besten in Massen vergebenen Constraints keine 
Logikfehler ausbügeln.

MfG
Falk

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch was. Dein IO Timing kannst du fürs erste am besten im realen Design 
mit nem Oszi prüfen. Wenn da was arg daneben liegt siehts du das. Aber 
bitte ein Oszi und Tastkopf auswählen, das der Geschindigkeit der 
Schnittstellen angemessen ist!

MFG
Falk

Autor: Stefan Hanke (stefanhanke)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein paar Tectronix müssten hier rumstehen. :)

Nochmal zur Denkweise: Die Constraints sagen, was ich gerne hätte. Das 
Tool kann dann die Synthese/etc "anleiten". Danach dienen die 
Constraints dazu, per statischer Timinganalyse die Einhaltung zu 
überprüfen.

Die statische Timinganalyse ist quasi das gleiche wie eine 
Timingsimulation, nur wird sie automatisch durchgeführt. Sie liefert mir 
dann aber die entscheidenden Hinweise, welche Pfade Constraints 
verletzen.

 -- stefan

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja.

MfG
Falk

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.