mikrocontroller.net

Forum: FPGA, VHDL & Co. FPGA Timing optimieren


Autor: Henk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe ein ganz ein großes Problem mit meine FPGA-Applikation für eine 
Stratix: Die Signale kommen etwas zu spät aus den Ausgängen heraus im 
Vergleich zu die gewünschten Timings. Der Chip, der weiterverarbeitet, 
sieht die clock zu früh. Ich habe schon schon eine Extra-Clock gemacht, 
auf die sich die Ausgänge beziehen können (Vierteltakt verzögert) und 
Ausgänge auf Fast-Io contraint. Im ModelSim und vho-Sim läuft perfekt, 
aber MEssung zeigt, daß etwas nicht stimmt. Wie kann ich contraints 
anlegen, daß die Ausgänge schneller kommen ?

Henk ten Bakker
(clock constraints und pad-to-setup stimmen)

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Taktung FPGA/CPLD

Und man sollte Output-FlipFlops nutzen.

MfG
Falk

Autor: FPGA-Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was "stimmt da nicht"? Timingdiagramm?

Wenn der Takt, mit dem der zeite Chip übernimmt, um 25% verzögert ist, 
müsste das doch locker reichen.

Autor: Henk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Signalen kommen innen im FPGA mit einer kleinen Verzögerung mit dem 
Takt wie es sein soll. Das zeigt auch Simulation. Das funktioniert aber 
in einem anderen Chip nur, wenn die Clock auch da etwas später kommt. 
Leider sind die Signale am Ausgang etwas später, während der Takt 
schnell ist. So sind einige Signalen zu spät und werden falsch getaktet. 
Etwa jede 1000 Operationen ist falsch, stimen Bits nicht.

Für clock to pad habe ich einen Takte eingestellt. Ist laut Theorie ok. 
Nun habe ich etwas weniger, Synthese funktioniert gerade noch, aber 
Problem bleibt.

Wo ist der Denkfehler ?

Henk ten Bakker

Autor: fpgaküchle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die outputs werden etwas schneller bei besseren IO-constraints. Also
die treiberstärke hoch setzten (DRIVE = 24), die Flankensteilheit 
anziehen
(SLEW = FAST). das verringert die verzögerung zw. takt und datenausgang
and den Ausgangpins.

und wie der vorredner sollten die "letzten FF" nicht mitten im FPGA 
liegen (slice-FF) sondern direkt in der PAD (fpga-io) -Zelle. ob das so 
ist findest du im pad report (*.pad) vom map. Dort gibt es eine spaltem 
IOB-FF (o.ä). oft mus man den code extra so schreiben, das das FF in die 
padzelle passt. schau mal ob die iob-ff genutzt werden, wenn nicht poste 
mal den code.

Autor: Sym (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Takt kommt zu früh = die Daten ändern sich noch knapp vor der 
steigenden Flanke. Oder Daten überholen Takt. Es kommt zu einer 
Hold-Time Violation.

Stimmt meine Annahme? Welche Violation hast du denn?

Grundsätzlich gibt es natürlich eine Verzögerung vom Register zum 
Ausgangspin, das liegt aber recht gering (unter 1ns).

Es stellt sich die Frage, woher der Takt für die externe Logik kommt? 
Vom FPGA? Dann musst du unbedingt einen Clockein/ausgang verwenden. 
Sonst gibt's Clock Hold-Time Violations!

Clocks um eine gewisse Phase zu verschieben ist gar keine gute Idee! 
Lass das. Wenn dann den Takt mit einer PLL korrekt erzeugen lassen.

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.