Hallo,
demnächst beginne ich eine kleine Studienarbeit über die Implementierung
eines TCP/IP Stacks auf FPGAs. Dem voraus geht eine kleine Marktanalyse
á la "was gibts schon, was kostets, Implementierungsaufwand, Preis,
Hersteller .."
Hat jemand eine Ahnung wo man da anfängt zu suchen ?
Wo findet man Material, Datenblätter, Vergleichstabellen.
Gibt es aktuele Bücher ?
Ich brauch eben erstmal einen Einstieg.
Meine Vorkenntnisse : Elektrotechnik Studium ; Arbeit mit
uC-Controllern; habe ein kleines VHDL-Rrojekt realisiert (Schaltplan und
Logisynthese zu gleichen Teilen)
Ich danke euch, für das LEsen meines Anfängerposts.
Also auf einem Xilinx Virtex 4 mit PowerPC und GBit-Ethernet MAC läuft
das ganz gut, von Xilinx gibts direkt eine Appnote mit dem LwIP Stack.
Ist aber wenig optmiert und nutzt die tollen Sachen wie
Checksum-Offloading usw nicht aus. Wir haben uns selber einen UDP/IP
Stack geschrieben, der die Ressourcen im Virtex (Checksum Offloading,
Interrupt-Bündelung, Jumbo-Frames, Scatter-Gather-DMA-Controller),
effektiv ausnutzt (ist auch eine Diplomarbeit). Ist aber eine Mege
Arbeit und ohne Prozessor ist TCP ja eigentlich gar nicht machbar, UDP
wäre auch ein Krampf in reiner Hardware. Je nach Geschwindigkeit und
FPGA kannst du ja auch einen Soft-Core Prozessor wie den Microblaze
benutzen, mit dem PPC405 hat man allerdings mehr Freiräume. Übrigens
gibts auch eine MontaVista Linux Implementierung auf dem Xilinx Virtex
4.
Was ist die Schwierigkeit bei einer reinen Implementierung in Hardware.
Was haltet ihr von den NIOS II Boards ?
Gibts vergleichbares /besseres ?
Sorry die Antwort war schon echt gut, aber ich bin eben immer noch auf
der Suche nach ein paar Hausnummern zur Orientierung.
Vielen Dank
@ Chrischan (Gast)
>Was ist die Schwierigkeit bei einer reinen Implementierung in Hardware.
Die Komplexität. Das in eine State machine zu giessen dürfte recht
aufwänfig werden, soohl vom Design als von der Hardwareressource.
>Was haltet ihr von den NIOS II Boards ?
Recht brauchbar wie man hört.
>Gibts vergleichbares /besseres ?
Die Xilinx Boards mit Microblaze oder PPC.
MFg
Falk
TCP in Hardware? Das wird lustig....UDP ist ja noch machbar, aber für
die anderen Protokolle, die sowas sinnvoll machen (ARP, ICMP, DHCP...)
wirds schon schwierig. TCB braucht ja haufenweise Puffer und Intelligenz
für die Sliding Windows, Acks usw....mir ist zumindest keine
Hardware-Implementierung für TCP bekannt. UDP hab ich mal was gesehen,
glaube ich.
Mit dem NIOS hab ich selber keine Erfahrungen, hab aber auch mal eine
Diplomarbeit gelesen, da hat einer UDP auf dem NIOS implementiert, und
etwa 700MBit/s erreicht. Mit dem LwIP wars auch da grottig langsam. Wir
haben aus dem DDR SDRAM mit dem Virtex-4 FX und allen o.g. Features
eingesetzt nahezu die möglichen 125MB/s erreicht. Allerdings nur UDP und
als dem RAM, keine Acks, und PCI Express NIC am PC. In 2 Wochen hat mein
Diplomand, der das bearbeitet, Verteidigung, dann müssen wir mal sehen,
ob wir die DA freigeben können, dann kann ich dir die gerne mal
schicken. Natürlich ohne Quellcodes, versteht sich.
Chrischan wrote:
...
>> Hat jemand eine Ahnung wo man da anfängt zu suchen ?> Wo findet man Material, Datenblätter, Vergleichstabellen.> Gibt es aktuele Bücher ?
Such mal nach "TCP off load engine" auch TOE abgekürzt.
Habe ich das nun richtig verstanden, es gibt mehrere Möglichkeiten einen
TCP/IP Stack zu nutzen :
1. externe Hardware (Hardwire)
2. alles selbst in Hardware gießen (wohl sehr aufwändig)
3. mit Hilfe von Microcontrollern (? wie das ?)
4. ?
derzeit schieße ich mich gerade auf die Nios II Boards ein und werde
dort wahrscheinlich bald erste praktische Versuche starten.
Danke für die Antworten bisher !
Hallo,
ich weis nicht wie weit Du schon mit deiner Versuch vorangeschritten
bist. Falls noch Interesse besteht, habe 2005 eine Diplom-Arbeit über
Implementierung eines TCP/IP Stacks auf einem FPGA (Spartan3) verfasst
(Hardware gegossen). Allerdings nur auf UDP-Ebene, da TCP in anbetracht
der Zeit zu komplex war.
Hallo!
Ich würde sehr sehr gerne einen Blick in deine Arbeit werfen, so langsam
komm ich doch etwas in Zeitnöte..
Viele Grüße !
Vielleicht per Mail ?
Chris90@gmx.net
Danke sehr !
Hallo,
ich bin auch sehr inetrsiert an einer Hardwarelösung von TCP Stack, da
ich von software fast keine Ahnung habe und ich muss meine Register über
eine WEB Browser direckt erreichen ohne software oder Treiber:
Registerbanck <--> TCP interface <--> frame de/encapsulation <--> MAC
<--> PHY <-----------> PC (web interface)
Ich benutze Spartan6 und einen MAC habe ich auch.
Ich bin dankbar für jede Hilfe oder Tips.
Danke
Mazda