Forum: FPGA, VHDL & Co. Interface auf mehrere Banken vom FPGA verteilt routen?!


von Yafes61 (Gast)


Lesenswert?

Hallo,

habe mal eine Frage zu meinem Design.

Ich muss an einem Virtex 5 Xilinx FPGA 6 CF Karten anschließen, die alle 
unabhängig voneinander arbeiten. Getatktet wird alles im FPGA Design mit 
der selben CLK, heißt beim Schreiben und Lesen wird synchron gearbeitet, 
letztendlich wird es ein synchrones Desing.

Nun habe ich 168 single ended Signale zu verbinden. Ist es OK wenn ich 
die CF Interface Signale gemischt auf 6 Bänke verteilt anschließen bzw. 
route?

Oder ist es unbedingt notwendig, das ein CF Interface Bus auf die selbe 
Bank im FPGA geroutet sein muss?

Was meint ihr?

LG
Yafes61

von Duke Scarring (Gast)


Lesenswert?

Witziges Projekt.
Will man heute nicht lieber SATA-SSD statt CF-Karten nehmen?

Wie schnell arbeiten denn Deine CF-Karten?
Und wie schnell soll Dein FPGA-Design laufen?

Duke

von Yafes61 (Gast)


Lesenswert?

Das Design wird bei 133MHz laufen.

Die CF Karten die für uns in Frage kommen, können maximal 100MB/s im 
UDMA.

Aufgrund der Erfahrung mit den verwendeten CF Karten (Aerospace) ist 
dieses Projekt entstanden. SSD war auch in Frage, war aber nicht im 
Budget drin. Die CF UDMA Core ist eine verifizierte Eigenentwicklung.

von Vancouver (Gast)


Lesenswert?

Spricht eigentlich nichts dagegen, das auf unterschiedliche Bänke zu 
verteilen. 133MHz ist ja jetzt nicht so die Welt für einen Virtex5. Die 
Bankspannung muss halt übereinstimmen und Du musst schauen, dass das 
Timing passt.d.h. auch auf die Leiterbahnlänge achten. Falls Du 
irgendwas mit regional clocking verwendest, müssen die natürlich an der 
selben Region liegen.

von Yafes61 (Gast)


Lesenswert?

Benutzt wird wie gesagt ein gemeinsamer Clock um alles synchron zu 
generieren.

Bezüglich der Längenterminierung gibt mit die CF Spec +/- 12.7mm vom 
Daten zum Strobe Signal vor. Das wird im Design beachtet.

Würde es FPGA Schaltungstechnisch besseres Timing erbringen wenn man 
doch ein CF Interface alles über eine Bank steuert? und nicht 
willkürlich verteilt? Unter Umständen schalten 17 I/Os gleichzeitig.

von Tobias B. (Firma: www.elpra.de) (ttobsen) Benutzerseite


Lesenswert?

Yafes61 schrieb:
> Würde es FPGA Schaltungstechnisch besseres Timing erbringen wenn man
> doch ein CF Interface alles über eine Bank steuert? und nicht
> willkürlich verteilt? Unter Umständen schalten 17 I/Os gleichzeitig.

Ja waere es theoretisch. In deinem Fall ist das aber absolut nicht 
noetig und waere am falschen Ende Zeit und Geld investiert.

Ich wuerde bei den mickrigen Taktraten dem Layouter alle Freiheiten 
lassen die Bahnen dahin zu routen wie es am einfachsten ist bei 
optimalen Ergebnissen.

Zu meiner Diplomarbeit Zeiten mussten 18x8 1Gb/s Channels eines Virtex 6 
LX365T ueber eine VXS Backplane an Transientenrekorder angeschlossen 
werden. Bei diesen Datenraten ist es dann schon empfehlenswert gleiche 
FPGA Baenke zu verwenden, wobei es selbst hier nicht noetig gewesen 
waehre da sich mittels IODelays und SERDES saemtliche Timings 
ausgelichen lassen.

Auch wuerde ich mir kein Bein mit Maeanderleiterbahnen abbrechen. Bei 
133 MHz hast du soviel Spielraum den du im Zweifel auch mit IODelays 
ausgleichen kannst. Muss man auch die Rahmenbedingungen wie Platz auf 
der Platine abwegen um die Situation im Ganzen bewerten zu koennen.

Lange Rede kurzer Sinn: Wenn es kein extra Aufwand ist, dann gruppiere 
die Leitungen sinnvoll aufm FPGA Baenke zusammen. Falls es mit erhoehtem 
Kosten- und Zeitaufwand verbunden ist, dann lass es bleiben, wird auch 
so funktionieren.

von T.U.Darmstadt (Gast)


Lesenswert?

Tobias B. schrieb:
> Auch wuerde ich mir kein Bein mit Maeanderleiterbahnen abbrechen. Bei
> 133 MHz hast du soviel Spielraum den du im Zweifel auch mit IODelays
> ausgleichen kannst.

Das meandern macht man ohnehin nur bei Bauteilen mit festem Timing, wie 
RAMs. Ansonsten müsste man auch die "Hin-Leitungen" abgleichen und das 
ist ein wenig schwierig.

von Tobias B. (Firma: www.elpra.de) (ttobsen) Benutzerseite


Lesenswert?

Thomas U. schrieb:
> Tobias B. schrieb:
>> Auch wuerde ich mir kein Bein mit Maeanderleiterbahnen abbrechen. Bei
>> 133 MHz hast du soviel Spielraum den du im Zweifel auch mit IODelays
>> ausgleichen kannst.
>
> Das meandern macht man ohnehin nur bei Bauteilen mit festem Timing, wie
> RAMs. Ansonsten müsste man auch die "Hin-Leitungen" abgleichen und das
> ist ein wenig schwierig.

Jein. Es gibt auch Bauteile bei denen man nur die Clock verzoegern kann, 
z.B. LMH0340. Das hilft aber nicht, wenn das Timing der uebrigen 
Datenleitung nicht einzeln ausgeglichen werden kann. Haben die dann 
untereinander einen zu hohen Skew kann man an der Clock Phase drehen 
soviel man will, hilft alles nichts.

von Weltbester FPGA-Pongo (Gast)


Lesenswert?

Yafes61 schrieb:
> Benutzt wird wie gesagt ein gemeinsamer Clock um alles synchron zu
> generieren.

Bei DER Frequenz sollte es egal sein, was die Leitungen an 
unterschiedlichen Bänken tun. Die Difs liegen da bei 200ps und weniger.

Jitter ist da regelmässig grösser.

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.