Forum: FPGA, VHDL & Co. Virtex 5 Rocket IOs - XenPak


von Manu (Gast)


Lesenswert?

Guten Morgen,

Ich habe 2 Fragen bezüglich Rocket IOs des Virtex 5.
Es geht um die "Kommunikation" zwischen den Rocket IOs und XenPak 
Optomodulen.

1. Wie muss ich denn die Rocket IOs und die XenPak zusammenschließen?
   Am Virtex5 habe ich ja die Rocket IO "Gruppen" jeweils mit Tx0/Tx1 
und an   den XenPak Tx[0..3]. Gibt es hier Regel bezüglich der 
Verdrahtung, welche Rocket IOs an welche TXLANE der XenPak dürfen?

2. Wann weiss der XenPak, dass er die Daten vom FPGA abschicken kann 
(als ethernetframe)? Sind in die 32bit irgendwelche Control-Bits 
eingebaut?

(Ich hoffe meine Problemstellung ist einigermaßen verständlich, bin noch 
Student und kenne mich mit FPGAs sogut wie nicht aus)

Viele Grüße,
Manu

von Falk B. (falk)


Lesenswert?

@Manu (Gast)

>und an   den XenPak Tx[0..3]. Gibt es hier Regel bezüglich der
>Verdrahtung, welche Rocket IOs an welche TXLANE der XenPak dürfen?

Ja gibt es. Denn hier wird Channel Bonding gemacht, sprich eine logische 
Zusammenfassung von 4x2.5Gbit/s zu 1x10Gbit/s.
Genaueres sagt dir das Datenblatt bzw. der User Guide der Rocket IOs.

>2. Wann weiss der XenPak, dass er die Daten vom FPGA abschicken kann

Das macht er kontinuierlich. Bzw. der Xenpak weiss gar nix von 
Ethernetpaketen, der schickt nur dumm Bytes.

>(als ethernetframe)? Sind in die 32bit irgendwelche Control-Bits
>eingebaut?

Sicher, sonst wirds nix mit channel Bonding und anderen Dingen.

>(Ich hoffe meine Problemstellung ist einigermaßen verständlich, bin noch
>Student und kenne mich mit FPGAs sogut wie nicht aus)

Da ist 10G Ethernet aber schon ein grosser Brocken . . .

MFG
Falk

von Manu (Gast)


Lesenswert?

Verstehe ich das soweit richtig:
(Für meine Anwendung brauche ich 2 Channels mit je 2 TX-Lanes)
Per Channel Bonding stelle ich ein, wer von den 2 Channels Master und 
wer Slave ist.
Den Master OUT verbinde ich mit den Slaves INs.

Stimmt folgende Konfiguration?:

GTP_DUALX0_Y1 Tx0 p/n <=> XenPak TxLane0 p/n
GTP_DUALX0_Y1 Tx1 p/n <=> XenPak TxLane1 p/n
GTP_DUALX0_Y2 Tx0 p/n <=> XenPak TxLane2 p/n
GTP_DUALX0_Y2 Tx1 p/n <=> XenPak TxLane3 p/n

Y1 ist eine "Rocket-IO Bank", Y2 ist die nächste.

von Falk B. (falk)


Lesenswert?

@Manu (Gast)

>(Für meine Anwendung brauche ich 2 Channels mit je 2 TX-Lanes)

XenPak arbeitet aber mit 4 Lanes, also 4xRX und 4xTX. Das kann man nciht 
mit 2 Betreiben, AFAIK.

>Per Channel Bonding stelle ich ein, wer von den 2 Channels Master und
>wer Slave ist.

Hat damit nix zu tun. Da gibt es keinen Master oder Slave, nur 
Blocksyncronmarken. Alle 4 Rocket-IOs werden zu EINEM logischen Kanal 
zusammengeschlossen. Das kann man nicht seitens des FPGA als 2 logische 
Kanäle laufen lassen, AFAIK.

>Stimmt folgende Konfiguration?:

>GTP_DUALX0_Y1 Tx0 p/n <=> XenPak TxLane0 p/n
>GTP_DUALX0_Y1 Tx1 p/n <=> XenPak TxLane1 p/n
>GTP_DUALX0_Y2 Tx0 p/n <=> XenPak TxLane2 p/n
>GTP_DUALX0_Y2 Tx1 p/n <=> XenPak TxLane3 p/n

Denke schon.

MFg
Falk

von Manu (Gast)


Lesenswert?

Ich muss jetzt nochmal speziell fragen, da ich leider keine 
Testmöglichkeit habe (und es 100% funktionieren sollte). Bisher bin ich 
mit den Datenblättern nur zu dem Entschluss gekommen: es könnte so 
passen...

Kann ich die foldenden GPT Transceiver wie folgt an die XenPak Module 
anschließen:

MGT_Tx0 p/n_116 => TxLane 0 p/n
MGT_Tx1 p/n_116 => TxLane 1 p/n
MGT_Tx0 p/n_112 => TxLane 2 p/n
MGT_Tx1 p/n_112 => TxLane 3 p/n

Viele Grüße,
Manu

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.