Hallo. Ich versuche mich seit etwa 3 Wochen am Xilinx Board Spartan-3A DSP S3D1800A MicroBlaze. Mit diesem Board und VHDL möchte ich einen Impulsgenerator mit variabeler Ausgangsfrequenz und Impulsbreite erstellen. Dazu möchte/muss ich per Ethernet entsprechende Parameter (Frequenz und Impulsbreite) an den FPGA übermitteln. Meine Frage: Wie lässt sich schnell und so einfach wie möglich eine Ethernet-Komunikation auf so einem Board aufbauen? Das Board wird direkt an einen PC angebunden, also kein HUB/Switch etc.. Eine interessante Lösung habe ich auf http://www.fpga4fun.com/10BASE-T.html finden können. Nur leider besitze ich keine Kenntnisse in Verilog. Kennt eventuell jemand ein vergleichbares HowTo für VHDL? Oder sollte man gleich ein IP-Core von Xilinx/OpenCores.org verwenden. Wenn ja welchen? MfG Helmut
Bei Deinem Board ist doch eine EDK-Lizenz dabei. Wieso nimmst Du dann nicht einfach den Ethernet-Core, der beim EDK dabei ist: http://www.xilinx.com/products/ipcenter/xps_ethernetlite.htm
Danke für die Antwort. Ich muss zugeben ich habe keine Idee wie ich diesen Core einsetzte. Muss ich um den Core verwenden zu können einen Prozessor wie den Microblaze mit implementieren? Oder kann ich ihn seperat imlementieren und direkt auf die dann verfügbaren Schnittstellen zugreifen? Ich habe momentan ein VHDL-Code für einen Impulsgenerator. Diesen Code möchte ich erweitern, um z.B. Parameter per Ethernet empfange und versenden zu können. Ich hoffe ich habe euch mit diesem Post nicht noch mehr verwirrt. MfG Helmut
Ich besitze das EDK nicht, aber Du kannst es selbst überprüfen indem Du einfach den Core Generator startest (über Xilinx/ISE/Accessories im Startmenü/Programme) und nachschaust, ob der Core da auftaucht.
Habe da schnell nachgeschaut. Der von Xenu vorgeschlagene xps_ethernetlite taucht dort nicht auf. Wenn ich ein neues Projekt in ISE anlege und unter Projekt-->New Source-->IP(CORE Generator&...) versuche einen Ethernet-Core zu finden, sehe ich 4 Angaben. 1. Ethernet 1000BASE-X PCS/PMA or SGMII v9.1 2. Ethernet Statistics v2.5 3. Gigabit Ethernet MAC v8.4 4. Tri Mode Ethernet MAC v3.5 Habe versucht alle aus Ethernet Statistics meinem Projekt hinzuzufügen, bekomme aber immer die Meldung, dass meine Lizenz nicht ausreicht um einen Bitstream zu erzeugen. Habe mir die Dokumentation zu XPS_Ethernet-Lite durchgelesen und dieser würde für meine Bedürfnisse ausreichen. Nur lese ich die ganze Zeit auch das er mit einem MicroBlaze oder PowerPC zu verwenden ist. Ist dies wirklich so, hat wer schon mit gearbeitet? MfG Helmut
Naja, du musst halt abschätzen, ob es sinnvoll ist, den FPGA damit vollzuknallen. Du müsstest ja den MAC und die drüberliegenden Schichten im Spartan dann machen. Besser wäre vielleicht, einen externen PHY/MAC Chip zu benutzen, dann hast du für UDP und alles was sonst noch dran muss, schon genug in deinem Spartan zu tun. Muss es denn unbedingt Ethernet sein? USB 2.0 würde nicht gehn? Oder schau dir mal einen Controller von Wiznet an, da hast du noch viel weniger im FPGA zu realisieren.
-Du müsstest ja den MAC und die drüberliegenden Schichten -im Spartan dann machen." Wenn das so stimmt, dann habe ich das Prinzip des Cores nicht verstanden. Ich dachte, dass dieser mir genau das abnimmt und mir Schnittstellen zur Verfügung stellt, an die ich dann meine zu sendenden Daten und noch weitere Parameter wie Zieladresse etc. übergeben und mich um die eigentliche Übertragung nicht mehr kümmern muss. Eine weiter Frage: Realisieren die Cores eine eingenständige Ethernetschnittstelle oder kann man die in Verbindung mit dem auf dem Board sich befindenden Schnittstelle benutzen? Auf dem Board ist ein National Semiconductor DP83865DVH angesiedelt. Ich dachte mit, dass der Core diesen Chip ansteuert.
Naja, der Core deckt ja den MAC-Layer ab. Alles was darüber ist, musst du selber machen. Bei UDP geht das eventuell noch in Hardware, bei TCP wirds schon schwierig. Musst du auch schauen, dass du genug Platz hast, so ein MAC-Core braucht ja einiges an FIFOs und Slices. Der externe Phy wird dann über ein standardisiertes Interface mit dem MAC-Core verbunden, das ist schon richtig. Du musst mal bissl auseinander halten zwischen Ethernet und IP und UDP und was immer du noch machen willst. Ethernet ist ja nur der Phy, das ist in jedem Fall ein externer Chip. Schau dir mal UDP/IP im OSI-Modell an...
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.