Hi,
so endlich Feierabend. Hier mal der Error Report vom Fitter.
ERROR:Cpld:868 - Cannot fit the design into any of the specified
devices with
ERROR:Cpld:886 - Function block FB10 was too congested to route
successfully.
ERROR:Cpld:868 - Cannot fit the design into any of the specified
devices with
ERROR:Cpld:886 - Function block FB10 was too congested to route
successfully.
ERROR:Cpld:868 - Cannot fit the design into any of the specified
devices with
ERROR:Cpld:886 - Function block FB10 was too congested to route
successfully.
ERROR:Cpld:868 - Cannot fit the design into any of the specified
devices with
ERROR:Cpld:886 - Function block FB10 was too congested to route
successfully.
ERROR:Cpld:868 - Cannot fit the design into any of the specified
devices with
ERROR:Cpld:886 - Function block FB10 was too congested to route
successfully.
ERROR:Cpld:868 - Cannot fit the design into any of the specified
devices with
ERROR:Cpld:886 - Function block FB10 was too congested to route
successfully.
ERROR:Cpld:868 - Cannot fit the design into any of the specified
devices with
Ich hoffe mir kann jemand ein Tipp geben.
Gruß,
Dirk
Hi,
ich hab den Fehler gefunden. Der CPLD scheint ueberladen zusein. Ich
hab das Design auf mein FPGA abgeaendert und die Contraints neu
erstellt.
Gruß,
Dirk
Hi,
nachdem ich den abend nochmal alles geprueft habe muss ein Fehler in
der UCF Datei sein. Ich hab die Version mit einer neu erstellten
Constraints synthesiert und auch ein Fit Report erstellt. 201 von 288
Makrozellen sind belegt.
Der CPLD ist somit nicht ueberladen, desweiteren hab ich mir von der
Time Analyse auch mal ein Fit Report erstellt (205/288).
Gruß,
Dirk
Hm congested heisst verstopft, soll wohl heissen das zuviele Signale zu
dieser makrozelle laufen. Dann muss man wohl dies entflechten. Hier
könnte man Duplizierung versuchen. Also statt ein Signal in zwei
verknüpfungen zu verwenden, zwei identische Signale erzeugen und diese
verwenden.
Ich sehe hier guten Chancen das mit Synthese- und Fitteroptionen zu
lösen. Zum Beispiel als Optimierungsziel Speed vorgeben und nicht Area.
Ansonsten probieren. Wenn die Optionen nicht helfen, dann muss das
Design im VHDL angepasst werden.
Oft ist schlechtes Pinning ein Problem (wobei dies eher bei FPGA als
bei CPLD's zutrifft). Du kannst ja mal alle Pin Locations im ucf
deaktivieren und schauen ob er das schafft. Wenn das prob allerdings
daran liegt brauchts natürlich ein neues PCB. In seltenen Fällen ist
das PCB noch mit Fädeldrähten etc zu retten.
Hi,
ich hab die UCF (Constraints) nach Timing genommen und es
funktionierte. Ich werde heute abend mal das Pinning prüfen.
Eine Frage haette ich aber noch:
Der Entwickler hat als Speed Grade Type -6 genommen. Wie bzw. Wo kann
ich sehen ob auch der CPLD mit Speed Grade -10 funktioniert?
Gruß,
Dirk
Moin!
Hab mal mit Version 6.3 getestet, da hat der FIT ohne knurren
funktioniert. Irgendwie macht da ISE beim Import in neueren Versionen
mist.
Weiss jemand wie man unterschiedliche ISE Versionen gleichzeitig
installieren kann ?
mfg,
Bjoern
#Weiss jemand wie man unterschiedliche ISE Versionen gleichzeitig
#installieren kann ?
Gleichzeitig installieren ist kein problem, aber andere files ausser
den VHDL_sourcen deines projektes mit verschiedenen versionen zu nutzen
wird schnell zur Katastrophe. da werden immer wieder Fileformate
umgestellt.
Falls du nicht mit scripten und/oder makefile arbeiten willst, solltest
du für den selben FPGA getrennte Projekt-verzeichnisse und dateien
halten.
Umschalten zwischen den versionen geschieht per Umsetzten der
Enviromentvariable(n). Unter Windows sollte es nur die Variable XILINX
sein, unter Linux kommt mind. noch die LD_LIBRARY_PATH hinzu.
Für jede version muss man die Simulationsbibliotheken UNISIM, SIMPRIM
und COREGEN(?) getrennt compilieren, obwohl es manchmal klappt alte ISE
Projekte mit neuen Xilinx-Bibliotheken zu compilierten.
Coregen ändert sich auch öfters und die mit alten/neuen coregen
erzeugten netzlisten lassen sich nicht immer problemfrei in einen Flow
mit neuen/alten ISE-tools verwenden. Am besten die CoreGen
Einstellungen (*.xco) durch den jeweils genutzten CoreGen schicken und
die so erzeugten Files nicht zwischen den Versionen mischen.
Das ucf file ändert sich auch gelegentlich zuletzt wurde der
Pathseperator geändert.
Mit makefiles gehts etwas besser. ich ändere dann den Pfad zu den
benutzten tools zw. den verschiedenen Installationen (und setzetn der
XILINX Variable nicht vergessen.
Kurz zusammengefasst:
Verschiedene ISE Versionen zu halten ist kein Problem, immer die
Umgebungsvariablen korrekt setzten und keine Files zw. den Toolflows
mischen. Alte Installationen und darauf basierende designs nie löschen
sondern archivieren.
#Eine Frage haette ich aber noch:
#Der Entwickler hat als Speed Grade Type -6 genommen. Wie bzw. Wo kann
#ich sehen ob auch der CPLD mit Speed Grade -10 funktioniert?
Hm hoffentlich hat er nicht asynchron gebaut und zu wenig timing
constraints gesetzt. dann hilft nur probieren. Bei synchronen designs
sollte es OK sein da -10 schneller als -6 (zumindest bei Xilinx
FPGA's). Xilinx sagt was von um 10% schneller pro speedgrad.
Letzlich musst du die tools für den neuen Chip fitten und schauen, ob
die timing constraints erfüllt werden. In der ISE dazu die Properties
des Projektes ändern, dort wird der Typ abgefragt.
Um sicher zu gehen das es immer noch stimmt, solltest du eine Timing
Simulation durchführen. (gelegentlich auch VITAL oder Post-Fit oder
Post-Placeand route simulation genannt). und die Waveforms mit den
datenblatt der angesteuereten Peripherie vergleichen.
Letzlich hängt alles davon ab ob alle IO Pins richtig constraint sind
und die max. taktfrequenz nicht überschritten wird.
Hi,
>Bei synchronen designs sollte es OK sein da -10 schneller als -6>(zumindest bei Xilinx FPGA's). Xilinx sagt was von um 10% schneller>pro speedgrad.
Der Speed Grade gibt do den Path Delay Pin to Pin an und dann sollte
aber -6 schneller sein als -10.
Gruß,
Dirk
FPGAküchle wrote:
> @Dirk>> Bei CPLD's scheints wirklich so zu sein, Speedgrad entspricht> verzögerung, also -10 langsamer als -6.
Kleinere Zahlen bedeuten immer "schneller", so weit ich das übersehe.