Hi allesamt, ich hab mal ein paar Fragen zum Thema Netzlisten in ISE. Wenn ich eine Synthese mit XST durchführe erhalte ich ja ein NGC-file - laut Xilinx enthält diese Datei die logische Netzliste wie auch die dazugehörigen Constraints. Nur, WELCHE constraints sind darin enthalten? Kann ich dem Synthesetool mit einer XCF-Datei (btw. was ist eigentlich der Unterschid zwischen einer XCF und einer UCF Datei?) die notwendigen Timing-Constraints mitteilen, so dass diese innerhalb der NGC-Datei eingebunden werden? Hintergrund ist dass ich gern einige Teilprojekte als Netzliste in unser Hauptprojekt einbinden möchte. Es wäre natürlich sehr praktisch wenn ich die dazugehörigen Timing constraints nicht mehr im globalen UCF-File des Hauptprojektes einbinden müsste, sondern diese quasi Bestandteil der Netzliste wären. Danke für die Antwort Gruß
Marc Schmitt schrieb: > Nur, WELCHE constraints sind darin enthalten? Kann ich dem Synthesetool > mit einer XCF-Datei (btw. was ist eigentlich der Unterschid zwischen > einer XCF und einer UCF Datei?) die notwendigen Timing-Constraints > mitteilen, so dass diese innerhalb der NGC-Datei eingebunden werden? Die XCF constraints werden schon bei der Synthese (xst) beachtet. Das UCF-File kommt erst bei translate (ngdbuild) ins Spiel. Näheres zu XCF findest Du z.B. im XST User Guide (xst.pdf) Chapter 6. Ob die XCF-Constraints nur für die Synthese beachtet werden oder ob sie auch ins ngc-File wandern, weiß ich nicht. Duke
> nicht mehr im globalen UCF-File des Hauptprojektes einbinden müsste Seit der Version 10 werden auch mehrere UCF im Projekt unterstützt (es gibt also nicht mehr nur das eine "globale" UCF), so dass sich so eine Aufteilung in Funktionsgruppen bewerkstelligen liesse... http://www.xilinx.com/itp/xilinx10/isehelp/ise_c_constraints_entry_methods.htm Und dann gibt es da ja noch die PCF und die NCF :-o Mehr dazu im Constraints Guide: http://www.xilinx.com/support/documentation/sw_manuals/xilinx11/cgd.pdf
Duke Scarring schrieb: > Die XCF constraints werden schon bei der Synthese (xst) beachtet. Verwendet ihr die auch regelmäßig?
Anguel S. schrieb: > Verwendet ihr die auch regelmäßig? Ja, weil z.B. ein KEEP constraint im UCF auf ein in der Synthese wegoptimierten oder umbenannten NET-Namen danach fürchterliche Fehlermeldungen verursacht.
Anguel S. schrieb: > Verwendet ihr die auch regelmäßig? Ich hatte bisher nicht die Not... ;-) Das angesprochene KEEP kommt bei mir als Attribut direkt in den VHDL-Code.
Lothar Miller schrieb: > Das angesprochene KEEP kommt bei mir als Attribut direkt in den > VHDL-Code. Ist Geschmackssache. Ich bin der Meinung, daß solche Parameter nichts im Code zu suchen haben. Da gehört meiner Meinung nach nichts technologie- oder toolspezifisches rein. Deswegen verlagere ich sowas zentral in eine XCF-Datei. Außerdem können so auch Timing-Constraints an die Synthese mit übergeben werden (hab ich aber noch nie richtig ausprobiert). Muß aber auch zugeben, daß ein gemeinsames Constraint-File mit einheitlicher Syntax für Synthese und Place and Route schöner wäre.
hans schrieb: > Ich bin der Meinung, daß solche Parameter nichts im Code zu suchen haben. > Da gehört meiner Meinung nach nichts technologie oder toolspezifisches > rein. Ja, das ist der Traum von der reinen Lehre. Das hört aber schon bei der Instantiierung von simplen und tagtäglich nötigen Hardwarekomponenten (wie z.B. Taktmanager) auf. Und mir ist ehrlich gesagt lieber, ich habe sowas im Code stehen, denn dann weiß ich, dass es da mal Probleme gab. Denn ohne Grund braucht man keinen KEEP...
> Verwendet ihr die auch regelmäßig?
Man kann damit auch pro Modul die Optimierungen einstellen. Gerade bei
speed vs. area für den opt_mode finde ich das praktisch. Ich habe auch
den Eindruck, dass Timingconstraints beim xst auch schon Auswirkungen
auf die synthetisierte Logik haben. Kann aber auch Einbildung sein ;)
Hi allesamt, erstmal vielen Dank für die vielen Antworten. Lothar Miller schrieb: >> nicht mehr im globalen UCF-File des Hauptprojektes einbinden müsste > Seit der Version 10 werden auch mehrere UCF im Projekt unterstützt (es > gibt also nicht mehr nur das eine "globale" UCF), so dass sich so eine > Aufteilung in Funktionsgruppen bewerkstelligen liesse... > http://www.xilinx.com/itp/xilinx10/isehelp/ise_c_c... Danke für diesen Tipp - das wusste ich nicht. Ist nun auch die Lösung meiner Wahl da ich einige der Constraints die ich benutze leider nicht in das XCF einbinden kann - bzw. nicht in dem Maße in welchem ich es möchte. Hab dann aber gleich mal die nächste Frage ;). Zur Zeit füge ich meinem Main-Projekt jeweils das komplette Work-Verzeichnis meiner Unterprojekte hinzu - das NGC alleine reicht ja nicht aus. a) Gibt es irgendein Xilinx-Dokument das den ISE Design-Flow unter dem Gesichtspunkte der Implementierung zuvor synthetisierter Netzlisten erläutert? b) Welche der vielen Dateien die ISE da erzeugt benötige ich eigentlich um eine synthetisierte Netzliste einzubinden? Danke + Gruß
Marc Schmitt schrieb: > a) Gibt es irgendein Xilinx-Dokument das den ISE Design-Flow unter dem > Gesichtspunkte der Implementierung zuvor synthetisierter Netzlisten > erläutert? Nicht das ich wüßte. Aber vielleicht kommst Du mit dem Stichwort partitions weiter [1]. > b) Welche der vielen Dateien die ISE da erzeugt benötige ich eigentlich > um eine synthetisierte Netzliste einzubinden? Eigentlich sollte das ngc ausreichen. Für die Instanziierung gibt es dann meistens noch ein Template mit dem Namen vhf. Öffne doch mal alle generierten Dateien mit einem etwas besseren Editor, der auch Binärdaten sinnvoll darstellen kann. Duke [1] http://www.xilinx.com/support/documentation/application_notes/xapp918.pdf
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.