Performance MGT

OP #3569244
Lesenswert?

Hallo Leute,
ich habe eine Frage zur Performance der MGT(Multi Gigabit Transceiver).
Mal angenommen ich möchte einen 32 Bit Datenwert von einem FPGA zum 
anderen FPGA über die MGTs versenden.
Nach folgender Tabelle würde ich dann Minimum 16.5 Cycles benötigen
(Latency_TX= 4.5 + Latency_RX = 12).

Ist die Rechnung so richtig?

http://www.xilinx.com/support/answers/38242.html#solution

Danke für eure Unterstützung:)
#3569320
Lesenswert?

Vom Minimum darfst du in einer realen Anwendung natürlich nicht 
ausgehen. Bei 32 Bit brauchst du ja TXDATAWIDTH = 2 und den 8B/10B 
brauchste natürlich auch, den RX und TX Buffer sollte man auch benutzen, 
sonst musst du das Alignment selber frickeln. Auf der Empfängerseite 
genauso, Comma Detection wirst du auch benötigen um deine Logik zu 
synchronisieren und die Pausen zu erkennen. Die MGTs sind nicht 
unbedingt dazu gemacht um latenzarm kurze Daten-Stücke zu übertragen. 
Achtung noch: Bei 32 Bit Datenpfad musst du dich selber um die Anordnung 
von High und Low Word kümmern, das Alignment klappt automatisch nur bis 
16 Bit.
OP #3569381
Lesenswert?

Und wenn ich angenommen 4x32Bit zu versenden habe. Müsste ich doch jeden 
32Bit Datenwert seperat versenden. Also die Latenzzeit*4.
Es geht darum große Datenmengen in kurzer Zeit zu versenden.
Und in welchen Applikationen ist es sinnvoll die MGTs zu verwenden?
Danke.
#3569422
Lesenswert?

Naja, was ist denn kurze Zeit bei dir? Die Spartan 6 MGTs können ja 
3,125GBit/s oder sowas maximal, das geht dann trotz allem noch fix. Bei 
32 Bit kannst du dann trotz 8B/10B noch 312,5 MByte/s rüber schaufeln. 
Wenn du nur immer 4 Worte hast, ist natürlich die Latenz auf jeden Fall 
viel größer als die Länge der Nutzdaten. Sinnvoll wird das ganze erst 
bei Dauer-Streaming oder halt großen Blöcken.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren