Forum: FPGA, VHDL & Co. Opencores Tri-Mode Ethernet MAC Loopback


von Micha von Bonn (Gast)


Lesenswert?

Hallo zusammen,
ich versuche momentan den Opencores Tri-Mode Ethernet MAC auf dem SP605 
zu implementieren.
http://opencores.org/project,ethernet_tri_mode

Zum testen habe ich hinter den MAC Buffern Rx und Tx miteinander 
verbunden.
Nun kann ich mittels dem tool Ostinato ein Paket erzeugen und zum FPGA 
schicken. Dieser schickt es dann zum PC zurück und ich kann es mit 
Wireshark sichtbar machen. So weit so gut. Leider funktioniert das nur 
für genau ein Paket. Alle weiteren werden zwar von Ostinato verschickt, 
kommen aber nicht mehr zurück.
Hat jemand Erfahrungen mit diesem Core und kann mir ggf. einen Hinweis 
geben woran es liegen könnte?

Meine derzeitige Verdrahtung von Rx und Tx sieht wie folgt aus:
1
//user interface
2
 .Rx_mac_ra(),                      //out
3
 .Rx_mac_rd(1),                    //in
4
 .Rx_mac_data(rx_mac_data),//out
5
 .Rx_mac_BE(BE),                 //out
6
 .Rx_mac_pa(rx_mac_pa),       //out
7
 .Rx_mac_sop(rx_mac_sop),   //out
8
 .Rx_mac_eop(rx_mac_eop),   //out
9
10
 .Tx_mac_wa(tx_mac_wa_int),  //out
11
 .Tx_mac_wr(rx_mac_pa),         //in
12
 .Tx_mac_data(rx_mac_data),   //in
13
 .Tx_mac_BE(BE),//big endian  //in
14
 .Tx_mac_sop(rx_mac_sop),     //in
15
 .Tx_mac_eop(rx_mac_eop),     //in

Die gleiche Frage habe ich auch in der google support Gruppe gestellt. 
Jedoch habe ich die Befürchtung das dort niemand mehr antworten wird.
https://groups.google.com/forum/#!topic/opencores-tri-mode-eth-mac/2Nq3-T_3mkk

Danke und Gruß aus Bonn

von Duke Scarring (Gast)


Lesenswert?

Micha von Bonn schrieb:
> Leider funktioniert das nur
> für genau ein Paket. Alle weiteren werden zwar von Ostinato verschickt,
> kommen aber nicht mehr zurück.
Für micht klingt das nach einer FSM, die stecken bleibt.
Ich würde da mit Chipscope die States und ein paar Steuersignale 
mitloggen.

Duke

von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

> Zum testen habe ich hinter den MAC Buffern Rx und Tx miteinander
> verbunden.
> Nun kann ich mittels dem tool Ostinato ein Paket erzeugen und zum FPGA
> schicken. Dieser schickt es dann zum PC zurück und ich kann es mit
> Wireshark sichtbar machen. So weit so gut. Leider funktioniert das nur
> für genau ein Paket. Alle weiteren werden zwar von Ostinato verschickt,
> kommen aber nicht mehr zurück.
> Hat jemand Erfahrungen mit diesem Core und kann mir ggf. einen Hinweis
> geben woran es liegen könnte?

Welche Paket kommt den zurück?

In Ethernet-Header steht eine Destination und Source Addresse.
Eine ARP Anfrage z.B. wird an alle gesendet. Andere Paket haben eine 
spezifische Adresse als Ziel. Es kann sein, dass dein PC Ethernetkarte 
diese schon aussortiert. Oder ein Router kann Paket umleiten.

von Micha von Bonn (Gast)


Lesenswert?

Hallo,
danke für die Antworten.
Es lag scheinbar an dem Signal
.Rx_mac_rd()
Tiefer im Code findet man eine Stelle, an welcher das Signal negiert 
wird.
Somit wird aus der übergebenen dauerhaften 1 eine dauerhafte 0, was nach 
dem ersten Paket dafür sorgt, dass der Core einen Wartezustand 
beibehält. Nach entfernung der Negierung scheint alles sehr gut zu 
laufen.

Gruß

Micha

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.