Hallo Kennt jemand einen einfachen ETH chip (wie W5500) aber für GBE? (und dann halt x-Fach SPI)
:
Bearbeitet durch User
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.
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.
:
Bearbeitet durch User
Max M. schrieb: > klar kann desshalb für GBE ein SPI mit mehreren Datenleitungen sien > (aka. paralell bus) Das "S" in SPI steht aber für Seriel. Was für eine Datenrate brauchst du denn effektiv Brutto oder Netto?
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.
Max M. schrieb: > RGMII (PHY) ist von den constraints her auch nicht einfach. Dann nimm doch GMII. Pins wirst Du wohl genug haben. > klar kann desshalb für GBE ein SPI mit mehreren Datenleitungen sien > (aka. paralell bus) GMII hat 8 bit parallel für TX und 8 Bit parallel für RX bei 125 MHz. fchk
Frank K. schrieb: > Dann nimm doch GMII. Niklas G. schrieb: > Die Zynq 7000 haben GBit-Ethernet integriert Aber er sucht ja was, was neben Ethernet auch den IP-Stack integriert hat, weil: Max M. schrieb: > TCP/UDP IP im FPGA ist leider auch murks
Εrnst B. schrieb: > 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...
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.
Max M. schrieb: > aber möchte es eigentlich möglichst bei hdl bleiben. 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.
Max M. schrieb: > Der Core würde dann ausschliesslich für das netzwerk genutzt. 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
> 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.
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."
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.