Gast
#901686
Moin moin, ich möchte für ein VHDL-Projekt eine Ethernet-Schnittstelle für eine PC-Steueroberfläche nutzen. Dazu habe ich mir den Ethernet MAC "ethmac" von Opencore geladen. Mir ist noch nicht ganz klar, wie ich diesen Core in ein Projekt einbinden kann. Die Fragen dabei sind vor allem, wie ich diesen WISHBONE-Bus für das Senden und Empfangen korrekt nutze. Über den Wishbone-Bus kommuniziere ich mit dem Core, um meine Daten zu transferieren. Nachdem ich die Daten in einen Speicher geladen und die Register mit den Pointern auf den Speicher korrekt gesetzt habe beginnt die Übertragung. Die Datenblätter lassen sich aber gar nicht zum Datenspeicher aus. Ist in dem Core bereits ein Speicher vorhanden, in den ich meine zu sendenden Daten schreiben kann oder muss ich einen externen Speicher mit dem Bus verbinden? In den Datenblättern habe ich lediglich die Adressen für die Register und die "Buffer Descriptoren" gefunden. Falls ich einen externen Speicher nutzen muss, wie unterscheidet der Core, ob die Speicheradresse, die ich auf den Bus lege, für den Master/Slave(Register, Tx/RxBuffer) oder für den externen Speicher(Daten) ist? Falls ich keinen externen Speicher nutzen muss - welche Adressen hat der Speicher für die Sende-/Empfangsdaten? Wie steuere ich den Core korrekt für einen Sende-/Empfangsvorgang über den Wishbone-Bus an? Wäre toll, wenn mir jemand mit seinen Erfahrungen aushelfen könnte. Vielleicht hat jemand einmal mit diesem Core gearbeitet und kann mir ein exemplarisches Programmbeispiel zur Verfügung stellen, aus dem ich ersehen könnte, wie die Kommunikation prinzipiell funktioniert. Vielen Dank im Voraus.