www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Cyclone iii -Timing Problem


Autor: Gerd Loch (Firma: Loch Leiterplatten) (gloch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Cyclone/Verilog Spezialisten,

ich habe für einen Direct Conversion Receiver mit dem Cyclone iii ein 
laufendes Programm mit 1 Receiver auf einer Hardware. Ein Programm mit 4 
Receivern (auf einer Hardware) funktioniert ebenfalls obwohl bei der 
Timing Analyse bereits ein Fehler gemeldet wird: Sollfrequenz Clk 122 
MHz,
Analyse 113 MHz.
Wenn ich nun aber das Programm mit 4 Receivern und einer erhöhten 
Samplingfrequenz von 196 MHz compiliere und lade, dann geht nichts mehr.

Welche Vorgehensweise ist ratsam, um den dafür ausreichned schnellen 
FPGA zu finden?
Verwendet wird jetzt ein EP3C25Q240C8N. Was bringt ein speed grade 7? 
Laut Altera soll es auch einen speed grade 6 geben, den ich aber noch 
nirgendwo gefunden habe.

Gerd

Autor: hgru (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Gerd,
schön, Dich auch hier zu treffen.
Wie lang sind denn Deine Kompilierzeiten mittlerweile bei vier 
Receivern?

Gruß
Horst

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gerd Loch schrieb:
> Welche Vorgehensweise ist ratsam, um den dafür ausreichned schnellen
> FPGA zu finden?

Kannst Du den Code so umstellen, das er schneller läuft? (Stichwort: 
Pipelining)
Möglicherweise läßt sich durch einen höheren Effort bei Place&Route noch 
was rausholen.

Duke

Autor: Gerd Loch (Firma: Loch Leiterplatten) (gloch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Horst,

es ist auch für mich überraschend, Dich hier zu treffen.
Compilierzeiten sind mit 4 Receivern ca. 3,5 Stunden-zugegebenermaßen 
ncht mit dem schnellsten Rechner.

Gerd

Autor: Gerd Loch (Firma: Loch Leiterplatten) (gloch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Duke,

soweit ich weiss ist bereits der höchste Effort eingestellt. Da ich nur 
ein Verilog-Anfänger und nicht der Autor des Programms bin und nur 
versuche eine höhere Sampling Frequenz zum Laufen zu bringen, weiss ich 
nicht wie ich das Programm selbst tunen könnte.

Gerd

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gerd Loch schrieb:
> bereits der höchste Effort eingestellt
Schade, dann ist da nix mehr zu holen. Eventuell hilft noch ein 
manuelles Placement. Aber dazu müßte man die kritischen Pfade ermitteln 
und eigentlich will man das auch nicht. Kommst Du denn an den Autor ran?

Duke

Autor: Gerd Loch (Firma: Loch Leiterplatten) (gloch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Duke,
ja ich kann schon mit dem Autor Kontakt aufnehmen.
Da aber verschiedene Autoren daran schon gearbeitet haben fürchte ich 
dass sich um das Timing bisher noch keiner geschert hat. Läuft ja auch 
mit 122 MHz...
Ich wollte das ja mehr von der Hardware aus angehen. Ich könnte 
natürlich mit anderen FPGA's kompilieren und die Timing Analysen 
vergleichen. Bei den aktuellen Kompilierungszeiten ist das aber eine 
langwierige Angelegenheit.
Daher auch meine Frage nach der prinzipiellen Vorgehensweise.
Wie finde ich den richtigen FPGA für diese (oder eine beliebige) 
Aufgabe.
Es beschränkt sich hier nicht nur auf die Frage, wieviele I/O usw. der 
FPGA hat, sondern mehr um Verarbeitungsgeschwindigkeit.

Gerd

Autor: Kest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich meine EP3C25Q240 gibts in C6 gar nicht.

Nimm F256 Gehäuse und dann C6, kompilliere dafür und da siehst Du ja, ob 
es klappt oder nicht (einfach neu synthetisieren).

Ansonsten:
Pipelining -- muss auf jeden Fall sein, denn von 113 kommst Du sonst nie 
und nimmer auf 196 MHz, auch nicht C6 Speedgrade.

Kennst Du Dich mit TimingAnalyzer aus? Wenn nicht, dann lohnt es sich da 
einzuarbeiten und alles oder zumindest die wichtigsten Teile zu 
definieren (Constraints)

Wie auch immer, da musst Du auf jeden Fall an den Code ran -- hilft 
nichts :-)


Grüße,
Kest

Autor: Gerd Loch (Firma: Loch Leiterplatten) (gloch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kest,
danke für die Hinweise.
Ich werde mich da mal Schritt für Schritt herantasten, auch an die 
Feinheiten der Timing-Analyse.

Gerd

Autor: hgru (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Gerd,

dann mach das mal. Können wir alle nur von profitieren.
Hast Du denn schon mal zumindest zwei Receiver mit dem schnellen Takt 
zum Laufen gebracht?

Horst

Autor: Gerd Loch (Firma: Loch Leiterplatten) (gloch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Horst,

soviel Zeit hatte ich noch nicht.
Der Versuch mit 2 Receivern kommt heute abend dran.

Gerd

Autor: Sym (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Knapp 200 MHz sind selbst bei einem guten Design am Cyclone III nicht 
wirklich möglich, auch nicht mit dem schnellsten Speed-Grade. Meiner 
Erfahrung nach schafft ein Cyclone III etwa 60% der Geschwindigkeit 
eines alten Stratix II.

Wenn man natürlich alles viel stärker pipelint und kritische Operationen 
wie Multiplikationen auf Multi-Cycle umbaut, dann könnte es schon 
funktionieren. Da in ein kleines C25 4 receiver passen, dürfte die 
Modulation nicht besonders komplex sein.

Autor: Gerd Loch (Firma: Loch Leiterplatten) (gloch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sym,

Danke für den Kommentar. Ich habe mal noch wietere Timing Analysen 
laufen lassen und kann die Werte so bestätigen.
Mit Stratix II und Speed Grade C5 komme ich auf max. 215 MHz. Damit 
würde das also gehen.
Was wäre die erste Wahl, wenn ich künftig auch bis 260 MHz Sampling 
Clock kommen möchte?

Gerd

Autor: SuperWilly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du mal die Ergebnisse des "TimeQuest Timing Analyzer" und des 
"Classic Timing Analyzer" verglichen ?

VG, SuperWilly

Autor: Gerd Loch (Firma: Loch Leiterplatten) (gloch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

nein, das habe ich bisher nicht gemacht, sondern immer mit dem Classic 
Timing Analyzer gearbeitet. Gibt das eventuell bessere Ergebnisse?
Ich werde es machen und dann selbst sehen.

Gerd

Autor: Gerd Loch (Firma: Loch Leiterplatten) (gloch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo SuperWilly und die anderen Kommentatoren zu diesem Problem:
Ich habe inzwischen auch Analysen mit dem TimeQuest Timimg Analyzer 
durchgeführt aber keine signifikante Änderung gefunden.
Mit StratixII komme ich auf ca. 210 MHz aber ich hätte gerne noch mehr 
Reserve bis 300 MHz. Wie wähle ich dafür den richtigen FPGA aus ohne 
langwierige Timimg-Analysen?

Gerd

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.