Hallo
Kennt jemand einen einfachen ETH chip (wie W5500) aber für GBE? (und dann halt x-Fach SPI)
|
Anzeige
|
W5500 ähnlich für GBEHallo Kennt jemand einen einfachen ETH chip (wie W5500) aber für GBE? (und dann halt x-Fach SPI) 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.
Nun ich brauche mehr als 100mbit bandbreite. (Zum FPGA)
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.
klar kann desshalb für GBE ein SPI mit mehreren Datenleitungen sien (aka. paralell bus)
Latenz ist weniger kritisch als Durchsatz.
Das "S" in SPI steht aber für Seriel. Was für eine Datenrate brauchst du denn effektiv Brutto oder Netto?
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.
Dann nimm doch GMII. Pins wirst Du wohl genug haben.
GMII hat 8 bit parallel für TX und 8 Bit parallel für RX bei 125 MHz. fchk Die Zynq 7000 haben GBit-Ethernet integriert
Aber er sucht ja was, was neben Ethernet auch den IP-Stack integriert hat, weil:
Auf dem Cortex-A9 im Zynq kann man Linux o.ä. inkl. IP-Stack laufen lassen, das wäre gratis...
so 3-400 net wären gut.
genau
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.
Nun dann habe ich aber meines wissens weder IP stack, zudem muss ich nebst pcie zeugs ebenfalls den chip reverse engineeren.
? Nun gewiss wenn man einen USB Host PHY einsetzen würde o_O.
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.
Der W5500 und eine fiktive Gigabit Variante enthält ja auch einen Prozessor. Beim Zynq ist es halt bloß alles auf einem SoC, und effizient angebunden.
Tja, jetzt musst du stark sein, aber der Grund wieso heute bald jeder Toaster Linux bootet ist ja gerade das der ganze Netzwerk/Internet Kram sehr komplex ist und mit Linux alles umsonst und 'relativ' einfach ist. Vanye
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. 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."
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 schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|