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
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
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
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.
schau mal was ich dir oben für nen Link geschickt hab ;-) Ist das gleiche ZIP-File Ja, probier das mal aus. Gruß
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
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.
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.
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!
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.
@ 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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.