Suche IO-Standard für High-Speed-BUS

06/12/2007 - 22:29 von Erik | Report spam
Hallo NG,


Vorgeschichte :

ich soll auf einer Platine 4 FPGAs (Actel A3PE1500) miteinander über einen performanten Bus verbinden.
Ich würde mich gerne für 64Bit-PCI mit 200MHz entscheiden (so eine Quadrat-/Überkreuzverdrahtung wie die 6 Hypertransport-Verbindungen auf einem 4 Opteron-Board, mit 3 Links pro CPU, ist mir zu kompliziert und in PCI bin ich fit).
Um Ground-Bouncing u.à. Effekte, wenn 80 IOs synchron schalten, zu vermeinden will ich nicht 3,3V LVCMOS benutzen. Da die FPGAs eine Core-Spannung von 1,5V haben und für die Peripherie ja noch 3,3V benötigt werden würde ich einen IO-Standard mit 1,5V bevorzugen damit ich nicht noch eine dritte Spannung benötige. Beim Studium des FPGA-Datasheet ist mir HSTL(I) ins Auge gesprungen. Vor allem die Terminierung auf Vddq/2 und der geringe Spannungshub sind mir positiv aufgefallen. Dafür würde ich einige Pins in den betroffenen IO-Bànken als Vref verwenden müssen aber damit könnt ich gut leben.

Zu diesem IO-Standard hab ich nun ein paar Fragen :

Wenn der Bus im Tristate ist, also alle 4 Teilnehmer ihre Pins auf High-Z schalten, pegelt sich die Spannung auf den Datenleitungen ja bei Vref bzw. Vddq/2 ein. In der JESD8-6 steht in Kapitel 2.2 "Inputs should not be held at Vref". Wie soll das bei einem korrekt terminierten Bus im Tristate gewàhrleistet werden? Vertragen das die Inputs trotzdem?


Was ist von den restlichen unterstützen IO-Standards (GTL / GTL+ / SSTL) zu halten?
Hat mit einem derartigem Bus schon mal jemand Erfahrungen sammeln dürfen/müssen und mag hier ein bisschen was berichten?


Dann hàtte ich noch eine Layout-Frage :

Ich möchte die 4 FPGAs über Kreuz anordnen: einen Oben, einen Unten, einen Links und einen Rechts. Für den Bus benötige ich am FPGA wahrscheinlich 3 Layer (von einer 8 Layer-Platine) so das ich die FPGAs "Oben" und "Unten" auf den Lagen 1 bis 3 direkt verbinden und die FPGAs "Links" und "Rechts" auf den Lagen 4 bis 6 direkt verbinden möchte. Am Kreuzungspunkt (eher Bereich) würde ich die Leitungen mit Durchsteigern verbinden und auf der Unterseite gleich überall den Terminierungswiderstand anschließen. Ich denke das die Leitungen, pro Richtung, nicht lànger als 10cm werden.
Was haltet ihr von dieser Variante?
Sind damit die angestrebten 200MHz realistisch? (166MHz wàhren auch noch OKay ;-)


Grüße und Danke für alle guten Antworten
Erik
 

Lesen sie die antworten

#1 Joerg
06/12/2007 - 22:41 | Warnen spam
Erik wrote:
Hallo NG,


Vorgeschichte :

ich soll auf einer Platine 4 FPGAs (Actel A3PE1500) miteinander über
einen performanten Bus verbinden.




Performant = fulminant, sauschnell, blitz-g'writtrisch?


Ich würde mich gerne für 64Bit-PCI mit 200MHz entscheiden (so eine
Quadrat-/Überkreuzverdrahtung wie die 6 Hypertransport-Verbindungen auf
einem 4 Opteron-Board, mit 3 Links pro CPU, ist mir zu kompliziert und
in PCI bin ich fit).
Um Ground-Bouncing u.à. Effekte, wenn 80 IOs synchron schalten, zu
vermeinden will ich nicht 3,3V LVCMOS benutzen. Da die FPGAs eine
Core-Spannung von 1,5V haben und für die Peripherie ja noch 3,3V
benötigt werden würde ich einen IO-Standard mit 1,5V bevorzugen damit
ich nicht noch eine dritte Spannung benötige. Beim Studium des
FPGA-Datasheet ist mir HSTL(I) ins Auge gesprungen. Vor allem die
Terminierung auf Vddq/2 und der geringe Spannungshub sind mir positiv
aufgefallen. Dafür würde ich einige Pins in den betroffenen IO-Bànken
als Vref verwenden müssen aber damit könnt ich gut leben.

Zu diesem IO-Standard hab ich nun ein paar Fragen :

Wenn der Bus im Tristate ist, also alle 4 Teilnehmer ihre Pins auf
High-Z schalten, pegelt sich die Spannung auf den Datenleitungen ja bei
Vref bzw. Vddq/2 ein. In der JESD8-6 steht in Kapitel 2.2 "Inputs should
not be held at Vref". Wie soll das bei einem korrekt terminierten Bus im
Tristate gewàhrleistet werden? Vertragen das die Inputs trotzdem?


Was ist von den restlichen unterstützen IO-Standards (GTL / GTL+ / SSTL)
zu halten?
Hat mit einem derartigem Bus schon mal jemand Erfahrungen sammeln
dürfen/müssen und mag hier ein bisschen was berichten?


Dann hàtte ich noch eine Layout-Frage :

Ich möchte die 4 FPGAs über Kreuz anordnen: einen Oben, einen Unten,
einen Links und einen Rechts. Für den Bus benötige ich am FPGA
wahrscheinlich 3 Layer (von einer 8 Layer-Platine) so das ich die FPGAs
"Oben" und "Unten" auf den Lagen 1 bis 3 direkt verbinden und die FPGAs
"Links" und "Rechts" auf den Lagen 4 bis 6 direkt verbinden möchte. Am
Kreuzungspunkt (eher Bereich) würde ich die Leitungen mit Durchsteigern
verbinden und auf der Unterseite gleich überall den
Terminierungswiderstand anschließen. Ich denke das die Leitungen, pro
Richtung, nicht lànger als 10cm werden.
Was haltet ihr von dieser Variante?
Sind damit die angestrebten 200MHz realistisch? (166MHz wàhren auch noch
OKay ;-)




HSTL kenne ich nicht, aber ich muss oft alle moglichen Busse als
HF-Mensch aus dem Graben zerren. 200MHz ist realistisch. Da Du mit 10cm
aber schon ein Stueck der Viertelwellenlaenge hochlaeufst, waere ein
Ausrechnen der Bahnbreiten auf passenden Wellenwiderstand sinnvoll.
Kostet ausser Gehirnschmalz nichts und ich denke, Du weisst wie (falls
nicht, nochmal melden). Falls es wegen Terminierung keine starren
Vorschriften gibt, empfehle ich die AC Terminierung anzusehen, ob sie
geeignet ist. Tri-State braucht dann aber noch einen "Bleeder", je nach
Standard. Dabei halte ich den Kondensator etwa 2-3 mal so gross wie
noetig, aber mehr nicht. Das spart eine Menge Verlustleistung beim
jeweiligen Treiber. Du musst das aber alles fuer HSTL auf Zulaessigkeit
untersuchen, ich kenne wie gesagt diesen Bus nicht.


Grüße und Danke für alle guten Antworten


^^^^^

Das weiss man immer erst, wenn's nachher auch funzt ;-)

Gruesse, Joerg

http://www.analogconsultants.com/

Ähnliche fragen