I am using Atlys board (Spartan-6). It has Marvell Alaska Tri-mode PHY (the 88E1111). I want to establish Ethernet connection (GMII- 10/100/1000 Mbps) which can dynamically switch between these speeds depending upon the type of network switch (10/100/1000 Mbps). Currently I am trying Address swap example generated by the trimac 4.6 core and it works fine with 1000 Mbps switch. When I change the switch (100 Mbps this time), address swap example doesn't transmit back the packet. I am using Colasoft packet builder and Wireshark to send and check the packets. On observing further, I found that there is a Multiplexer which is deciding the clock for either 100 or 1000 Mbps mode. The select line of this MUX is 'speedis10100_int'. I tied this signal (speedis10100_int) to an LED and found that this select line is not changing on changing the Switch (1000 to 100 Mbps). I further tried driving this select line of MUX manually by a Slide switch. Then I can observe the clock (output of MUX) changing from 125 Mhz to 25 Mhz (when i slide the switch and change the network switch to 100mbps). But still the address swap example doesn't work at 100 Mbps.
Inputs of the MUX are 1) 125 Mhz generated by clock generator and,
2) mii_tx_clk (25 Mhz coming from PHY)
Thanks in advance.