Forum: FPGA, VHDL & Co. DLL benutzen bei XILINX FPGA


von Christian (Gast)


Lesenswert?

Hallo zusammen,

kennt sich von euch jemand aus wie man die DLL in einem FPGA benutzt. 
(Typ: Xilinx Virtex 300, Entwicklungsumgebung: ISE 8.2i). Ich sollte die 
Frequenz verdoppeln, jedoch steht in den Tutorials von Xilinx nur die 
Möglichkeit mit dem IP Core so ein DCM Modul zu erstellen, jedoch ist 
dieses Modul in meiner ISE SW nicht enthalten.

Kann man die Hardwareelemente des FPGA auch mit VHDL Syntax ansprechen?

Für Hilfe wäre ich sehr dankbar.

MFG
Christian


von Schlumpf (Gast)


Lesenswert?

Ich kenn jetzt Speziell Xilinx nicht, aber ich vermute mal, dass es da 
so sein wird, wie bei allen andern auch.
Es gibt in der Entwicklungsumgebung ein Tool mit dem du dir die 
Komponenten zusammenklicken und danach als Schaltplansymbol aufnehmen 
kannst. (So ist es zumindest bei Lattice und Altera)
Natürlich kannst du auch optional das "von Hand" programmieren, aber 
dazu musst du die entsprechende Bibliothek einbinden und das Teil 
instanziieren und dann per Port map anschliessen bzw. konfigurieren.

google doch mal "Xilinx DLL Virtex"

http://www.xilinx.com/bvdocs/appnotes/xapp132.pdf
ftp://ftp.xilinx.com/pub/applications/xapp/xapp132.zip

von Christian (Gast)


Lesenswert?

Das mit den Graphischen Eingaben hab ich schon versucht. Bin ich nicht 
wirklich begeister, vor allem weil ich schon ein riesiges VHDL Gerüst 
hab und die Implementierung von diesen Schematics in ein "VHDL File" 
mich nicht wirklich begeistert.

Hab bei Xilinx den Link: www.xilinx.com/bvdocs/appnotes/xapp132.zip
gefunden, dort ist ein Beispiel für ne DLL-Funktion in VHDL und Verilog, 
mal sehen ob das synthesefähig ist?!

Gruß Christian

von Matthias (Gast)


Lesenswert?

Es geht auch so:
Du musst irgendwo in ISE auf die "Glühbirne" (weißes etwas) klicken. 
Dann kann man über Device Primitive Instatiation und die Auswahl des 
passenden FPGAs den VHDL code ansehen, der für die Instatiierung einer 
DLL benötigt wird.

von Schlumpf (Gast)


Lesenswert?

schau mal was ich dir oben für nen Link geschickt hab ;-)
Ist das gleiche ZIP-File

Ja, probier das mal aus.

Gruß

von Klaus F. (kfalser)


Lesenswert?

Du brauchst sicher keine Schematics-Eingabe.

Es schaut so aus, als ob für den Virtex der Architecture Wizard die DLL 
nicht unterstützt.
Du musst also die DLL wie in der Application Note mit Hand instanzieren, 
das ist nicht so kompliziert.
Zuerst die Komponente deklarieren, und dann eine Instanz erzeugen.

In der Library Guide (Software Manuals) ist die CLKDLL Primitive 
aufgeführt.
Dort steht auch das Beispiel für die Component und für die Instanz.
Rauskopieren und in Dein Programm einfügen.

Den Ausgang der DLL musst Du wieder auf eine Taktleitung legen, dazu 
führst Du die verwendeten Ausgänge auf eine BUFG Primitive und der 
Ausgang der BUFG Primitive ist dann der zu verwendende Takt.

Klaus

von Christian (Gast)


Lesenswert?

Dank euch allen,

hab das beispiel von der zip file mal synthetisiert und das funktioniert 
einwandfrei.  Ist beim simmulieren bissle "fummelig" weil Modelsim dafür 
ne auflösung von mind. 1 ps benötigt (Hängt irgendwie mit den Librarys 
zusammen.

von Schlumpf (Gast)


Lesenswert?

Für die Simulation kannst ja dann, wenn es zu stressig für den Simulator 
wird, auch die PLL ausbauen und deinen Takt mit der Hand am Arm 
generieren.

von Christian (Gast)


Lesenswert?

Kann das sein das Microsim beim Map Simulation Model Probleme weil in 
der Lib nur die Hardware "Anschlsse" implementiert sind und die 
HW-Simulation der DLL gar nicht funktioniert?!

Nach dem Synthetisieren funktionierts, jedoch im Map und PAR Mode nicht 
mehr!

von Klaus F. (kfalser)


Lesenswert?

Wie bitte?

von Christian (Gast)


Lesenswert?

Hab die DLL synthetisier, in den Baustein übersetzt (Translation) und 
simmuliert, das hat wunderbar funktioniert.

Dann "MAP" und "Place and Route" hatt ISE auch richtig übernommen jedoch 
beim Simulieren in  ModelSim springt die DLL nicht an.
Hab die Library Unisim von Xilinx verwendet, die Buffer funktionieren 
aber DLL nicht.

von Falk (Gast)


Lesenswert?

@ Christian (Gast)

>Hab die DLL synthetisier, in den Baustein übersetzt (Translation) und
>simmuliert, das hat wunderbar funktioniert.

>Dann "MAP" und "Place and Route" hatt ISE auch richtig übernommen jedoch
>beim Simulieren in  ModelSim springt die DLL nicht an.

Lass den Quark mit der Simulation der DLL. Die funktioniert wunderbar. 
Ist auch praktisch von äusserst geringem Wert.

MFG
Falk


von Christian (Gast)


Lesenswert?

OK Danke, den Gedankengang hat ich auch, war mir nur nicht sicher weils 
das erste Projekt mit nem FPGA ist und mich daher ein wenig gewundert 
hab.

Aber nochmal danke an alle für die schnellen Antworten!!!

Gruß Christian

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.