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
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
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.
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.
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.
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.
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.