Forum: FPGA, VHDL & Co. VHDL & Ethernet MAC


von Tobias P. (hubertus)


Lesenswert?

Hallo zusammen,

ich habe ein Altera FPGA Eval Board, dort drauf will ich nun einen 
Ethernet MAC synthetisieren und an den Avalon Bus anschliessen.

Zwar gibt es von Altera den TSE MAC, aber der braucht anscheinend eine 
kostenpflichtige Lizenz - allerdings wird einem von Altera immer 
versprochen dass man mit dem Kauf eines solchen Evalboards die Lizenz 
mit bekommt, was aber natürlich nicht der Fall ist.

Nun, ich habe auf Opencores einen freien Ethernet MAC gefunden, der 
gemäss Aussagen des Autors auch an den Avalon angeschlossen werden kann. 
Das Ding ist allerdings in Verilog geschrieben, ich benutze aber VHDL. 
Kann man das mischen? oder komme ich da in Teufels Küche. Falls ja, 
kennt einer einen VHDL-MAC mit 100 MBits und MII Interface?

Gruss Tobias

von Marius W. (mw1987)


Lesenswert?

Tobias Plüss schrieb:
> Zwar gibt es von Altera den TSE MAC, aber der braucht anscheinend eine
> kostenpflichtige Lizenz - allerdings wird einem von Altera immer
> versprochen dass man mit dem Kauf eines solchen Evalboards die Lizenz
> mit bekommt, was aber natürlich nicht der Fall ist.

Du brauchst zum Testen des TSE MAC auch keine Lizenz. Du hast allerdings 
eine Einschränkung. Dein MAC läuft nur in einem "time-limited" Modus. 
Das bedeutet du kannst dein Design maximal eine Stunde ohne JTAG 
Verbindung laufen lassen. Das finde ich sehr fair. Xilinx hat leider 
eine restriktivere Politik.

Gruß
Marius

von Tobias P. (hubertus)


Lesenswert?

Hi Marius,

ja das habe ich schon gesehen, zur Not kann ich damit leben, ABER ich 
möchte gerne eine RBF Datei erzeugen, und das geht mit dem time limited 
mode nicht.

Andere Frage:
weisst du, was ich als absolutes Minimum benötige, um den MAC zum Laufen 
zu bekommen?
Ich nehme an einen Scatter Gather DMA zum Senden und einen zum 
Empfangen. Und dann noch ... ?

von Marius W. (mw1987)


Lesenswert?

Für den TSE brauchst du:
1. Einen SGDMA als TX (Memory-to-Stream)
2. einen als RX (Stream-to-Memory)
3. etwas BRAM (4k On-Chip RAM) als Descriptor-Memory angebunden an die 
beiden SGDMAs und den NIOS Data Master.

Das ganze dann an einen NIOS anschließen und fertig ist das Ethernet. 
Jedenfalls hab ich das so unter µC-Linux als auch standalone mit LWIP 
ans laufen bekommen.

Wenn du Gigabit nutzen wollst, brauchst du auch noch eine PLL, um dir 
die verschiedenen TX Frequenzen zu generieren (2,5 MHz, 25 MHz und 125 
MHz).

Gruß
Marius

von Tobias P. (hubertus)


Lesenswert?

O.K. danke. Werde es heute Abend ausprobieren.

rein aus Neugier - könnte man auch transmit und receive vom MAC 
zusammenschliessen und so alles einfach zurücksenden, was ankommt? ;-) 
Als 1. Test ob der MAC schon mal geht.

von FPGA-Vollprofi (Gast)


Lesenswert?

Den TriCore Ethernet-MAC von Xilinx kann man vergessen. Entweder was 
Ordnetliches vom Dritthersteller oder was Eigenes auf der Basis von Open 
Source.

Welche Bandbreite willst Du realisieren und für welchen PHY?

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
Noch kein Account? Hier anmelden.