www.mikrocontroller.net

Forum: FPGA, VHDL & Co. FPGA-Auswahl für Ethernet Anwendung


Autor: Christian Knecht (morpheus421)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

Ich möchte in einem FPGA einen 3-Port Ethernetswitch unterbringen. Am 
besten würde mir die Lösung gefallen, dass ich 3 MACs einbinde und per 
Microblaze miteinander verheirate. Nun stehe ich vor dem Problem, dass 
ich mich so langsam  entscheiden muss, in welchen Baustein ich das ganze 
packen möchte. Im erstem Projektplan hatte ich einen Spartan 3 2000 
angedacht. Dieser würde von den Logic-Resourcen locker reichen. Aber mir 
wurde gesagt und ich habe es selber schon als Anforderung gesehen, dass 
man viele Clock-Netze benötigt, um einen Ethernet MAC zu realisieren. 
Kann das wer bestätigen? Nach meiner bisherigen Suche bin bei jeweils 2 
GCLK für jeden MAC für die RX und TX Leitungen plus 2 GCLKs für interne 
Registerzugriffe gelandet. Dann kommen noch die GCLKs für den MB hinzu. 
Macht auf jeden Fall eine Zahl größer als 8. Was leider dem Maximum 
eines Spartan 3 entspricht. Nun wollte ich auf Empfehlung auf einen 3 E 
1600 umsteigen, der beinhaltet schon mal 16 GCLKs... kann man da sowas 
drin realisieren? Sollte man das Switching überhaupt im MB realisieren? 
Oder lieber im VHDL? Ist es im MB noch schnell genug? Es soll die 
Möglichkeit eines Managments vorbehalten sein... was wohl eher in 
Richtung MB abzielen würde oder? Hat da wer schon Erfahrung?

Gruß

Autor: Roger Steiner (edge)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Christian,

Du brauchst pro Port zwei Clock-Netze, jedoch wuerde ich den Switch core 
und MicroBlaze in einer einzigen clock domain realisieren.

> Sollte man das Switching überhaupt im MB realisieren?
> Oder lieber im VHDL? Ist es im MB noch schnell genug?

Was sind deine Anforderungen an die performance? Welchen speed haben die 
interfaces? Welche Switch-Architektur brauchst du?

Wenn mit MicroBlaze, dann wuerde ich nur das header processing in 
Software machen und die Frames DMA like in Hardware.

Da du ja eh PHYs zu deinen Ethernet ports brauchst, schau mal hier:

http://www.micrel.com/page.do?page=product-info/fa...

Cheers, Roger

Autor: Sym (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Je nach MAC benötigen diese schon einiges an Platz.

Switching in Software? Naja, da dürfen die Switching tables aber klein 
sein und nur wenige Ports bedient werden. Ich würds so machen: Switching 
selbst in Hardware, die Tables aber mit einer CPU verwalten.

Das Problem mit den vielen Taktennetzen kann man ganz leicht mit RMII 
umgehen. Da gibt es einen 50 MHz Takt für alle PHYs. Auch das 
Platinenlayout wird etwas einfacher.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
dieses Projekt könnte nützlich für dich sein:
http://netfpga.org/

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.