Forum: FPGA, VHDL & Co. TEMAC mit RGMII auf ML410


von A. M. (am85)


Lesenswert?

Hi

Nachdem ich es endlich geschafft habe, auf dem ML410 mit dem 
xps_ll_temac Core und dem hard TEMAC Block eine funktionierende 
Netzwerkverbindung herzustellen, wollte ich mich einmal von MII hin zu 
RGMII bewegen, um das ganze mal mit Gigabitgeschwindigkeit zu testen. Da 
ich die EDK 10.1 SP3 Version benutze, bringt mir das Tutorial auf der 
Xilinx Seite zu dem Board nicht viel. Deswegen habe ich mich auf dieses 
File hier bezogen: 
http://www.xilinx.com/products/boards/ml510/ml510_10.1_3/docs/ml510_bsb1_std_ip_addition.pdf. 
Das ist zwar für das ML510, aber die gemachten Einstellungen sind ja 
eigentlich nur für den xps_ll_temac Core.

Das ganze Funktioniert aber leider noch nicht. Ich bekommen keine 
Verbindung hergestellt und ein automatisch von der EKD erstelltes 
Testprogramm, dass die ganzen peripherals testet, hängts sich auch beim 
TEMAC Test auf bzw. bleibt dort hängen. Den Jumper auf dem Board habe 
ich natürlich von MII auf RGMII umgestellt. Doch scheint es mir, dass 
die Verbindung zwischen dem TEMAC und der PHY nicht richtig sind, also 
das mit RGMII nicht so recht läuft. Was die Constraints angeht, da habe 
ich mich auf die Angaben von hier bezogen: 
http://www.xilinx.com/support/answers/32713.htm

Hat vielleicht jemand eine Idee, was falsch sein oder was fehlen könnte?

Schöne Grüße

von floGzmo (Gast)


Lesenswert?

schon versucht zu debuggen um zu sehen wo genau er sich aufhängt?
hast rs232/uart für die ausgabe der print befehle der testapp? wenn nein 
dann das ganze zeug auskommentieren. da hat er sich bei mir mal 
aufgehangen.

von A. M. (am85)


Lesenswert?

An der Ausgabe wird es nicht liegen und ich denke, der Code wird so 
schon normal laufen. Der gleiche Code läuft mit einem anderen Design 
auch ohne Problem. Ich denke, dass sich das RGMII nicht zum arbeiten 
bewegen lässt und das da noch irgendwo was klemmt. Fraglich ist auch, 
welche Timingsignale das RGMII überhaupt braucht. Ich bin aus der ganzen 
Dokumentation bis jetzt noch nicht sonderlich schlau geworden.

von A. M. (am85)


Lesenswert?

Mittlerweile hat sich das Problem ein bisschen verschoben. Ich habe 
einmal die contraints von dieser Seite hier 
http://www.rcs.uncc.edu/wiki/index.php/Overview_of_System übernommen und 
damit ein Design aufgesetzt. Das scheint auch zu funktionieren, 
zumindest auf den ersten Blick. Auf den zweiten Blick geseen, bringt es 
aber ein andere Problem mit sich. Auf dem Board lasse ich einen kleinen 
lwIP Beispielcode laufen, der, wie gesagt, sonst auch läuft. Halt mit 
MII und 100Mbit. Versuche ich nun aber eine Verbindung zum Board hin 
herzustellen, erhalte ich auf dem Terminal die Meldung

Temac error interrupt: Rx packet rejected

Laut Xilinx Forum kann diese Ausgabe mehrere Ursachen haben und 
eigentlich sollte das dahinter stehende Problem, das irgendwie aber 
nicht explizit beschrieben wird, seit dem SP 2 der EDK 10.1 behoben 
sein. Dummerweise habe ich das Problem aber trozdem mit der EDK 10.1 
SP3. Hat vielleicht jemand eine Idee, die zur Lösung führt?

Dazu sei vielleicht noch zu sagen, dass das ganze bei einem Cross-Over 
Kabel auf 100Mbit passiert. Stecke ich das Kabel in die gigabitfähige 
Netzwerkkarte des Hostrechners, dann passiert gar nichts. Also weder 
eine Fehlermeldung, noch ein Verbindungsaufbau oder sonst was. Also 
eigentlich wie tot.

Schöne Grüße

von floGzmo (Gast)


Lesenswert?

soweit bin ich leider noch nicht.
wie hast du den temac von gmii auf mii umgestellt? also ich weiß das man 
unter den properties auf mii umstellen kann, aber dann stimmen die ports 
ja nicht mehr und die placement und timing constraints die der base 
system builder wizard so schön erstellt hat. hast du alles händisch 
angepasst? hab das schon ein bisschen versucht aber an den timing 
constraints scheitere ich dann. versuchs jetzt mal noch mit gmii in der 
hoffnung dass die autoerkennung von 100mbit karte funktioniert.

achja, gestern kam ise 12.0 raus

von A. M. (am85)


Lesenswert?

Ich habe mich beim Umstieg von MII auf RGMII auf diese Seite bezogen: 
http://www.rcs.uncc.edu/wiki/index.php/Overview_of_System Die reine 
Verdrahtung sollte also passen, die timing constraints sollten es auch, 
denn die haben es ja genau mit dem ML410 ausprobiert und es scheint ja 
geklappt zu haben. GMII unterstützt das ML410 leider nicht.

von floGzmo (Gast)


Lesenswert?

achso ok. ml501 unterstützt gmii aber da kann ich für mii eben nicht vom 
ml410 einfach die constraints übernehmen. werd ich mal weiter probieren

von A. M. (am85)


Lesenswert?

floGzmo schrieb:
> ml501 unterstützt gmii aber da kann ich für mii eben nicht vom
> ml410 einfach die constraints übernehmen. werd ich mal weiter probieren

Ne, das wird definitiv nicht klappen.

von A. M. (am85)


Lesenswert?

Ok, langsam tut sich etwas. Das Design ist das gleiche, wie oben, eben 
nach dem genannten Link abgeändert. Mit dem einzigen Unterschied, dass 
ich es von RGMII v1.3 auf v2.0 umgestellt habe. In meinem Hostrechner 
habe ich zwei NIC's. Eine, die 10/100Mbit (3Com 905er Serie) fähig ist 
und eine Intel 82573V, die scheinbar 10/100/1000Mbit kann. Schließe ich 
das Board an die 3Com Karte an, pendeln sich die Karte und das Board auf 
100Mbit ein und ich bekomme eine Verbindung hergestellt (Ping, Iperf, 
etc.). Das ging unter RGMII v1.3 nicht.

Schließe ich das Board nun an die Intel NIC an, passiert gar nichts 
mehr. Kein Ping und keine Iperf Verbindung. Jetzt ist die Frage, woran 
es liegen könnte? Das Design sollte, da es bei 100Mbit läuft, eigentlich 
funktionieren. An der PHY blinken in allen Fällen immer die LED's, wenn 
Daten vom Host kommen.

von A. M. (am85)


Lesenswert?

Hat vielleicht noch wer eine Idee?

von floGzmo (Gast)


Lesenswert?

Sieh mal in den Einstellungen deiner Netzwerkkarte nach ob die auf 
100Mbit full duplex gestellt ist oder auf auto sense.

Also du die Webserver Demo bzw die lwip Demo ausprobiert hast, hat da 
dieser Befehl geklappt? dow -data sw/standalone/lwipdemo/image.mfs 
0x8a400000
Bei mir kommt diese Fehlermeldung:
Downloading Data File -- sw/standalone/lwipdemo/image.mfs at 0x8a400000
ERROR: Debug Memory Access Check Failed
Section, 0x8a400000-0x8a4027ff Not Accessible from Processor Debug 
Interface

Diese Adresse ist im .mhs File auch nicht gemapped. Sobald ich dann das 
.elf File auf den FPGA lade, kreidet er mir natürlich das Fehlende .mfs 
File an.

von A. M. (am85)


Lesenswert?

floGzmo schrieb:
> Sieh mal in den Einstellungen deiner Netzwerkkarte nach ob die auf
> 100Mbit full duplex gestellt ist oder auf auto sense.

100Mbit klappt ja ohne Probleme ;-)

floGzmo schrieb:
> Also du die Webserver Demo bzw die lwip Demo ausprobiert hast, hat da
> dieser Befehl geklappt? dow -data sw/standalone/lwipdemo/image.mfs
> 0x8a400000
> Bei mir kommt diese Fehlermeldung:
> Downloading Data File -- sw/standalone/lwipdemo/image.mfs at 0x8a400000
> ERROR: Debug Memory Access Check Failed
> Section, 0x8a400000-0x8a4027ff Not Accessible from Processor Debug
> Interface
>
> Diese Adresse ist im .mhs File auch nicht gemapped. Sobald ich dann das
> .elf File auf den FPGA lade, kreidet er mir natürlich das Fehlende .mfs
> File an.

Sowohl das Design als auch das elf-File werden ohne Fehler oder sonstige 
Probleme aufs Board übertragen. Daran liegt es also nicht.

von A. M. (am85)


Lesenswert?

Leider habe ich immer noch keine Lösung für mein Problem. Hatte 
vielleicht irgendwer schonmal erfolgreich ein Design mit RGMII und 
Gigabit Ethernet zum laufen gebracht?

von A. M. (am85)


Lesenswert?

Ich bin immer noch auf der Suche nach einer Lösung. Hat denn niemand 
Erfahrung mit Gigabit Ethernet?

von A. M. (am85)


Lesenswert?

Das Problem besteht leider immer noch und es wäre wirklich klasse, wenn 
noch jemand eine Idee hätte.

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.