mikrocontroller.net

Forum: FPGA, VHDL & Co. miniLA


Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

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

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

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


Gruß,
Dirk

Autor: Sven Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin...

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

--
 SJ

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

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

Gruß,
Dirk

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: FPGAküchle (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bjoern Buettner (tishima)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: FPGAküchle (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: FPGAküchle (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: FPGAküchle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Dirk

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

Danke für den Hinweis.

Autor: myscha (Gast)
Datum:

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

Autor: Andreas Fischer (chefdesigner)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: FPGAküchle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nicht bei (neueren) Xilinx FPGAs, da heisst kleinerer Speedgrad 
langsamer

Autor: Fritz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Coole Strategie. So werden die alten langsamen schlagartig schnell. :D

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.