Ethernet MAC von Opencore in VHDL-Projekt einbinden

Gast #901686
Lesenswert?

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.
Gast #902711
Lesenswert?

Den Wishbone-Bus kannst Du natürlich auch "per Hand" ansteuern (z.B. via 
FSM). Aber eigentlich ist der dazu gedacht Wishbone-Devices mit einem 
Wishbone-fähigen Core zu verbinden. So eine Art ISA-Bus (Vorgänger von 
PCI-Bus) im FPGA.
Dann brauchst Du "nur noch" die entsprechende Software auf Deinem Core 
laufen zu lassen.

Rick
#902753
Lesenswert?

Hallo,

ich habe so einen Mac-Core auf einem Altera Board unter µc-Linux zum 
laufen bekommen. Allerdings habe ich den Mac von Maco benutzt, da dieser 
auf den Avalon-Bus abgestimmt ist. Falls ein Board mit dem Avalon-Bus 
genutzt wird, würde ich auf jeden Fall diesen Core empfehlen.

Die Register gibt es einmal im MAC selbst und dann noch einmal im 
verwendeten PHY. Bei mir wird dann der MAC mit dem PHY über das MII 
verbunden.

Über das MII sind dann die Regs vom Phy erreichbar.

Als Buffer dient bei mir der SDRAM, welcher mit dem Slave Eingang des 
Core's verbunden wird.

Mal am Rande.
Was für ein Board und was für ein PHY wird denn benutzt ?


Gruß,

Andreas
Gast #1134567
Lesenswert?

Hallo zusammen,

Ich möchte auch eine Ethernet-Schnittstelle (nur MDIO/MDC) realisieren.
Das ganze soll über einen Wishbonebus angesteuert werden.

Ich habe in dieser Sache nicht gerade viel Informationen bei google 
gefunden.
Die Seite Opencores läuft momentan nicht bei mir....

Hat jemand so etwas schon mal zum laufen gebracht?
Könnte er ein Beispiel ins Forum stellen?

Wäre super!!

Gruss frouni
(Firma: www.dossmatik.de) #1274930
Lesenswert?

Frouni schrieb:
> Hallo zusammen,
>
> Ich möchte auch eine Ethernet-Schnittstelle (nur MDIO/MDC) realisieren.
> Das ganze soll über einen Wishbonebus angesteuert werden.

Das ist doch nur der Bus für die Register in der Phy, Die Daten werden 
über die Leitungen TX und RX übertragen. Das reicht nicht für eine LAN 
Schnittstelle.

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