FPGA-Auswahl für Ethernet Anwendung

OP #803416
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ß
#803440
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/fastether_sw.jsp

Cheers, Roger
Gast #804466
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.

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