Forum: FPGA, VHDL & Co. miniLA


von Dirk (Gast)


Lesenswert?

Hallo,

im Internet hab ich einen Logic Analyzer gefunden der mir sehr gut
gefaellt.

http://minila.sourceforge.net/

http://sourceforge.net/project/showfiles.php?group_id=129283&package_id=150607

Ich hab mein ISE8.1 mal angeschmissen und die State Analyse Version
sythesiert.

Beim synthesieren gab es keine Probleme. Leider bekomme ich viele
Fehler beim Fit.

Hat jemand ein Tipp wieso ich beim Fitter diese Fehler bekomme?


Gruß,
Dirk

von Dirk (Gast)


Lesenswert?

Hallo,

ist vielleicht einer von den Profi's so nett und versucht auch mal das
Design zu fitten.


Gruß,
Dirk

von Sven Johannes (Gast)


Lesenswert?

Moin...

Wie wärs, wenn du erstmal die Fehlermeldungen hier reinstellst? Oft
kann man da schon einiges ausmachen.

--
 SJ

von Dirk (Gast)


Lesenswert?

Hi,

ok werde ich heute abend, wenn ich feierabend habe posten.

Gruß,
Dirk

von Dirk (Gast)


Lesenswert?

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

von Dirk (Gast)


Lesenswert?

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

von Dirk (Gast)


Lesenswert?

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

von FPGAküchle (Gast)


Lesenswert?

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.

von Dirk (Gast)


Lesenswert?

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

von Bjoern B. (tishima)


Lesenswert?

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

von FPGAküchle (Gast)


Lesenswert?

#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.

von FPGAküchle (Gast)


Lesenswert?

#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.

von Dirk (Gast)


Lesenswert?

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

von FPGAküchle (Gast)


Lesenswert?

@Dirk

Bei CPLD's scheints wirklich so zu sein, Speedgrad entspricht
verzögerung, also -10 langsamer als -6.

Danke für den Hinweis.

von myscha (Gast)


Lesenswert?

Sorry, dass ich den alten Post hier rauskrame, aber hat jemand das 
Dingens mal nachgebaut? Mich würden Meinungen und Erfahrungen dazu 
interessieren...

von A. F. (chefdesigner)


Lesenswert?

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.

von FPGAküchle (Gast)


Lesenswert?

Nicht bei (neueren) Xilinx FPGAs, da heisst kleinerer Speedgrad 
langsamer

von Fritz (Gast)


Lesenswert?

Coole Strategie. So werden die alten langsamen schlagartig schnell. :D

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.