Forum: FPGA, VHDL & Co. Suche Informationen über Rocket IO bzw. schnelle Datenverbindung zw. Spartans FPGAs


von Bustle (Gast)


Lesenswert?

Hallo,

ich hab mal von einem Rocket IO als Datenaustauschleitung zwischen FPGAs 
gehört. Nun möchte ich mich darüber näher informieren.

Welche Geschwindigkeit kann damit erreicht werden?

Kann dieses Protokoll auch bei Spartan3 angewandt werden? (Obwohl ich es 
im Core Generator von Xilinx nur für Virtex gefunden hab)

Falls es für Spartan3 nicht geht, welche schnelle Kommunikation kann man 
hier stattdessen verwendet werden?

Gruß, Bustle

von Gast (Gast)


Lesenswert?

Xilinx hat dazu eine Menge Dokumente auf der Homepage.

von Bustle (Gast)


Lesenswert?

@Gast: Danke für die ausführliche Antwort. Bevor ich meinen Forumeintrag 
geschrieben habe, war ich auch auf der Xilinx Seite.

Vielleicht kann mir jemand anders aber auch Erfahrungen aus der Praxis 
nennen. Wäre euch dankbar.

von Gast (Gast)


Lesenswert?

Entschuldige, nur wenn du schreibst "ich hab das was gehoert, dass es da 
was gibt" dann klingt das nicht nach schonmal auf der Homepage geschaut.
Da gibt es papers usw. zu den RocketIOs, die im Grunde alles abdecken 
was man braucht.
Zum Beispiel unter

http://www.xilinx.com/support/documentation/virtex-ii_pro.htm

der Rocket IO Transceiver User Guide und andere.
Ich habe bisher davon nur im Zusammenhang mit VirtexII-Pro gelesen.

von Bustle (Gast)


Lesenswert?

das war/ist meine Befürchtung, dass es Rocket IO nur für die Virtex 
Familie gibt. Dachte aber auch schon was in Verbindung mit Spartan3 
gelesen zu haben...

Welche Möglichkeiten hat man beim Spartan3 (schnelle Kommunikation 
zwischen mehreren FPGAs). Gibt es da nicht auch irgendwas ähnliches? 
Oder muss man dann ein Kommunikationsprotokoll selber schreiben?

Gruß, Bustle

von Lupinus Digitalus (Gast)


Lesenswert?

Hallo Bustle,

die RocketIO sind spezielle IO's, die eine serielle Datenübertragung im 
Gigabit Bereich ermöglichen und auch eine. s.g. Clock Data Recovery 
machen. Bedeutet das für die Übertragung nur eine differentielle Leitung 
nötig ist auf der Daten und Takt gemeinsam übertragen werden.
Ähnlich wie Altera hat Xilinx diese speziellen IO's nur für Ihre s.h. 
HighEnd FPGA's vorgesehen, .d.h. in einen Kostenbereich in dem der 
Spartan3 liegt, wirst Du so etwas nur bei Lattice (ECP2M) finden.

Alternativ kannst Du natürlich eine s.g. Source Synchrone Ünertragung 
wählen, bei der Du über ein IO-Paar den Takt und über x andere die Daten 
übertragst. Hierzu verwendest Du am Besten die DDR Register um eine hohe 
Übertragungsrate zu bekommen.

Welche Übertragungsrate musst Du den erreichen?

Gruss

von Bustle (Gast)


Lesenswert?

360MBit/s pro Endgerät. Also je schneller desto besser, denn desto mehr 
Endgeräte können versorgt werden.

In diesem Fall muss ich mir ein eigenes Modul schreiben, welches die 
Kommunikation ermöglicht. Oder gibt es doch etwas im Core Generator?

Werd mich nun erstmal über die DDR Register informieren...

Gruß und Danke.

von Gast (Gast)


Lesenswert?

360 Mbit/s seriell?

von Falk B. (falk)


Lesenswert?

@ Bustle (Gast)

>360MBit/s pro Endgerät. Also je schneller desto besser, denn desto mehr
>Endgeräte können versorgt werden.

"Wenn man weiss was man tut" (tm) schafft man das auf einem Spartan3 
relativ leicht. Ein LVDS Signal für die Daten, eins für den Takt. Dazu 
gibte es diverse Application Notes von Xilinx.


MfG
Falk

von Lupinus Digitalus (Gast)


Lesenswert?

Aber 360 schafft doch jedes FPGA locker, da stellen sich dann doch eher 
Fragen ob man genügend Platz hat, also eher etwas ohne externen 
Konfigurator möchte oder noch höher in der Bandbreite gehen will.

Vor allen beim Einstieg in die FPGA Technologie sollte man auch
andere Faktoren wie z.B. technische Unterstützung in Betracht ziehen.

Oder wie siehst Du das Falk?

Gruss

von Matthias (Gast)


Lesenswert?

wenn noch genügend IOs frei sind einfach n 8Bit Datenbus nutzen, dann 
ist man bei weniger als 50MHz. Das ist einfach handhabbar, ganz ohne 
DDR.

von Bustle (Gast)


Lesenswert?

360MBit/s pro Endgerät ...das heißt je schneller ich den Transfer hin 
bekomme, desto mehr Endgeräte kann ich anschließen.

Da ich die Daten über ein Kabel leiten muss, wären mir so wenig 
Leitungen wie möglich am liebsten.

Werde mir aber was simples überlegen. Dachte mir nur, ich frag mal, 
nicht das es nachher ein fertiges Modul oder im Core Generator was dafür 
gibt.

Gruß

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.