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


von Gerd L. (Firma: Loch Leiterplatten) (gloch)


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

von hgru (Gast)


Lesenswert?

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

Gruß
Horst

von Duke Scarring (Gast)


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

von Gerd L. (Firma: Loch Leiterplatten) (gloch)


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

von Gerd L. (Firma: Loch Leiterplatten) (gloch)


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

von Duke Scarring (Gast)


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

von Gerd L. (Firma: Loch Leiterplatten) (gloch)


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

von Kest (Gast)


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

von Gerd L. (Firma: Loch Leiterplatten) (gloch)


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

von hgru (Gast)


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

von Gerd L. (Firma: Loch Leiterplatten) (gloch)


Lesenswert?

Hallo Horst,

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

Gerd

von Sym (Gast)


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.

von Gerd L. (Firma: Loch Leiterplatten) (gloch)


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

von SuperWilly (Gast)


Lesenswert?

Hast du mal die Ergebnisse des "TimeQuest Timing Analyzer" und des 
"Classic Timing Analyzer" verglichen ?

VG, SuperWilly

von Gerd L. (Firma: Loch Leiterplatten) (gloch)


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

von Gerd L. (Firma: Loch Leiterplatten) (gloch)


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

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.