mikrocontroller.net

Forum: FPGA, VHDL & Co. TCP/IP Stack auf FPGA Boards


Autor: Chrischan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Chrischan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Günter -.. (guenter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.latticesemi.com/documents/doc26534x90.pdf
Da ist ein Referenz-Modell dazu, weiteres findest du in den
App-Notes u. Usern& Foren "TCP/IP" eingeben .

Gruss Holger.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt externe Hardware (ICs) die das Protokoll erledigen (die 
sogenannten Hardwire TCP/IP Stacks)

http://www.dacomwest.de/de/etherics_hardwired_w5100.htm

http://www.saelig.com/pr/w5100.htm

oder mal nach der Firma Wiznet suchen.

Autor: Chris Kl (chrisch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 !

Autor: Fabian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Chris Kl (chrisch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 !

Autor: Mazda (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zum Thema TCP Stack auf einem FPGA Board mit Hilfe eines Softcores 
(=eingebetteter Microcontroller) siehe beispielsweise
http://www.elektor.de/jahrgang/2007/februar/fpga-k...

Dort wurde ein Webserver auf dem Elektor FPGA Board entwickelt.
Den VHDL Source kann man sich bei Elektor runterladen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.