W5500 ähnlich für GBE

#7562327
Lesenswert?

Kann ich mir ehrlich gesagt nicht vorstellen. Was hast du vor? Mit SPI schaffst die ja schon nicht mal fast ethernet (100MBit). Wozu brauchst die dann GigE? Und das ist ja dann sowieso Punkt zu Punkt, da kann der Switch oder wer auch immer am anderen Ende doch die Umsetzung von 100MBit zu GigE machen.

Un die SPI Ethernet Chips sind in der Regel euch eher eine Krücke. Die Latenz wird auch nicht gerade besser damit.

OP #7562340
Lesenswert?

Benjamin K. schrieb:

Wozu brauchst die dann GigE?

Nun ich brauche mehr als 100mbit bandbreite. (Zum FPGA)

Benjamin K. schrieb:

Un die SPI Ethernet Chips sind in der Regel euch eher eine Krücke.

TCP/UDP IP im FPGA ist leider auch murks (nicht frei verfügbar in HDL), RGMII (PHY) ist von den constraints her auch nicht einfach.

Benjamin K. schrieb:

Mit SPI schaffst die ja schon nicht mal fast ethernet (100MBit).

klar kann desshalb für GBE ein SPI mit mehreren Datenleitungen sien (aka. paralell bus)

Benjamin K. schrieb:

Die Latenz wird auch nicht gerade besser damit.

Latenz ist weniger kritisch als Durchsatz.

#7562548
Lesenswert?

Max M. schrieb:

Nun ich brauche mehr als 100mbit bandbreite. (Zum FPGA)

Kann Dein FPGA PCIe? Dann nimm das und häng' einen PCIe-Ethernet-Chip dran. Selbst für die von Realtek gibt es (Linux- und FreeBSD-) Treibersourcen, so daß Du herausfinden kannst, wie mit den Dingern zu reden ist.

Kann Dein FPGA USB? Dann häng' da einen USB-Ethernet-Chip dran; es gibt dafür eine Standardgeräteklasse, so daß Du auch da keine besonderen Klimmzüge in der Treiberentwicklung treiben müsstest.

Für diese Standardgeräteklasse gibt es Chips mit 100 MBit, aber auch GBit- und sogart 2.5-GBit.

OP #7562742
Lesenswert?

Obelix X. schrieb:

Was für eine Datenrate brauchst du denn effektiv Brutto oder Netto?

so 3-400 net wären gut.

Εrnst B. schrieb:

Aber er sucht ja was, was neben Ethernet auch den IP-Stack integriert hat

genau

Niklas G. schrieb:

Auf dem Cortex-A9 im Zynq kann man Linux o.ä. inkl. IP-Stack laufen lassen

ja irgend ein FPGA mit hard core wie der Zynq wäre natürlich ne lösung. aber möchte es eigentlich möglichst bei hdl bleiben. Der Core würde dann ausschliesslich für das netzwerk genutzt.

Harald K. schrieb:

Kann Dein FPGA PCIe? Dann nimm das und häng' einen PCIe-Ethernet-Chip dran. Selbst für die von Realtek gibt es (Linux- und FreeBSD-) Treibersourcen, so daß Du herausfinden kannst, wie mit den Dingern zu reden ist.

Nun dann habe ich aber meines wissens weder IP stack, zudem muss ich nebst pcie zeugs ebenfalls den chip reverse engineeren.

Harald K. schrieb:

Kann Dein FPGA USB?

? Nun gewiss wenn man einen USB Host PHY einsetzen würde o_O.

Frank K. schrieb:

GMII

Ja GMII ist ok, schlussendlich wäre mein SPI mit paralellen daten (wie ichs oben erwähnt habe) praktisch genau das. Es mangelt mehr an der implementation des IP zeugs in HDL (ist einfach nichts brauchbares libre verfügbar). Daher ein Phy welcher etwas mehr kann und auch den stack macht wie der W5500 wäre ideal, aber halt auf GBE. Oder noch besser ein guter HDL code der alles macht und mit nem normalen GMII PHY klarkommt.

#7562821
Lesenswert?

Es mangelt mehr an der implementation des IP zeugs in HDL (ist einfach nichts brauchbares libre verfügbar).

Gibt's überhaupt eine TCP/IP-Stack (libre oder nicht), der das ohne Soft-/Hardcore macht? Glaube kaum. Absolut rudimentäres TCP in Hardware wird wohl schon deutlich mehr Resourcen fressen, als ein Softcore und bietet keine Vorteile.

Selbst die Idee, so etwas wie einen W5500 (mit Socket-API) per HDL anzusteuern, scheint mir etwas abstrus - ein minimaler UDP-Stack sollte nicht viel aufwendiger sein. Btw, UDP dürfte bei einer Anwendung, die einen konstanten Durchsatz haben will, eh sinnvoller sein.

#7562824
Lesenswert?

Wie anderes das machen:

https://excamera.com/files/j1.pdf

"Abstract — This paper describes a 16-bit Forth CPU core, intended for FPGAs. The instruction set closely matches the Forth programming language, simplifying cross-compilation. Because it has higher throughput than comparable CPU cores, it can stream uncompressed video over Ethernet using a simple software loop. The entire system (source Verilog, cross compiler, and TCP/IP networking code) is published under the BSD license. The core is less than 200 lines of Verilog, and operates reliably at 80 MHz in a Xilinx Spartan(R)-3E FPGA, delivering approximately 100 ANS Forth MIPS."

#7562833
Lesenswert?

Max M. schrieb:

TCP/UDP IP im FPGA ist leider auch murks (nicht frei verfügbar in HDL), RGMII (PHY) ist von den constraints her auch nicht einfach.

Kann ich nicht so richtig nachvollziehen. Ich hatte vor 10 Jahren ein Evalboard (Damals gab es noch Altera). Darauf war auch 1G Ethernet. Das konnte man mit einem Altera Core (<1000 Euro) bedienen. Ich habe es aber auch testweise selber gemacht, so die CRC selbst implementiert, die RGMII Leitungen programmiert, etc. Damit war Ethernet auch kostenlos möglich. Ist nur eine Frage, wie gut du bist.

Vielleicht ist ein IP Core billiger, als 1 Monat lang frickeln.

Und wenn du es ganz billig willst: Kauf einen 8er Switch. Nimm 8* WE5500 mit unterschiedlichen IP Adressen, und generiere einfach 8 SPI Devices parallel. Das kann man beliebig hochskalieren, und der VHDL-Code existiert ja schon.

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