mikrocontroller.net

Forum: FPGA, VHDL & Co. unterschiedliche Takte und IOs über Banken hinweg mischen


Autor: FPGA-Frager (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich sitze an einem grösseren Design und frage mich, wie ich am Besten 
mit den Bussen klarkomme. Aufgrund der äusseren Umstände wird es nicht 
möglich sein, jeden Buss auf eine eigene Bank zu legen, d.h. Es müssen 6 
Busse auf 3 Banken verteilt werden und an einer Bank werden dann sogar 
mal 3 unterschiedliche Busse anliegen.

Jeder Buss hat seinen eigenen Takt, mit dem die Daten reingetaktet 
werden müssen (alle jenseits der 100MHz) und Ich frage mich wie das mit 
den Laufzeiten und den FlipFlops funktioniert.

Kann Ich an einer Bank dreiverschiedene Takte für die IO-FFs nehmen?
Wie finde Ich eine optimale Reihenfolge?
Kann theoretisch jedes FF jeden Takt zugeführt bekommen? Ich meine, dass 
es da Regionen gibt und Ich das sicher gruppieren muss.

Wie passt es dann mit den Laufzeiten der Signale von einem Buss über 2 
Banken, die mit demselben Takt verdrahtet werden?

Kriegt man das noch hin?

Gäbe es Vorzüge hinsichtlich dieser Problematik für Altera statt für 
Xilinx? D.h. welden FPGA würde man dafür nehmen?

Danke

Autor: hodor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst die Register in jeder Bank mit vier Takten betreiben. Mögliche 
Quellen sind: clock capable IO Pins (gibt es vier in jeden Bank), 
MMCM/PLL, und BUFMR.

Autor: tja (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das sollte kein Problem darstellen. Am Besten du machst dir nach deinen 
Vorgaben ein Trivial-Design mit entsprechender Logik - muss ja nicht 
viel sein, und dann überprüft du, wie dein Place&Route aussieht.

Aber der umgekehrte Fall ist deutlich kritischer: 1 Takt + Daten an 
verschiedenen Bänken.

Autor: Jürgen S. (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ob und was da geht, hängt vom FPGA ab. In jedem Fall ist das Eintakten 
über jeweils eine Bank ein guter Ansatz, wenn die Verdrahtung das 
hergibt, weil die Verschaltungsoptionen für manche Buffer an der 
Bankgrenze enden.

Welcher FPGA?

Autor: Thomas R. (Firma: abaxor engineering) (abaxor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,


als erstes kann man auf dem Board für gleiche Laufzeiten sorgen. Falls 
das nicht möglich ist, kannst du unterschiedliche Laufzeiten im FPGA 
ausgleichen. Bei Xilinx-FPGAs gibt es ein idelay, mit dem man Laufzeiten 
im Subnanosekunden Bereich einfügen kann. Bei Altera gibt es auch so 
etwas. Die Verzögerung stellt man dort über das SDC-File mit 
set_input_delay eine Verzögerung relativ zu einem Takt ein. Es hängt 
immer vom verwendeten FPGA ab, ob und wie es geht. Falls ihr bei einem 
deutschen Distributor kauft, kannst du auch dort mal bei einem FAE nach 
fragen.

Tom

Autor: Weltbester FPGA-Pongo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man es ganz richtig macht, wird ERST das FPGA-Design gezimmert und 
DANN das Layout des PCB gemacht und angepasst.

Im Nachhinein die Leitungen verteilen ist Käse.

Es haben auch nicht alle FPGAs überall alle Typen von IOs.

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.