Hi,
After a very enjoyable few days trying to sort out a test design involving Ethernet and Virtex-4 I thought it time to ask some advice.
I have a FX60's embedded MAC using RocketIO to talk 1000Base-X to an SFP module(cat5 copper) this is then cross-over cable connected to an Intel E1000 network card. There are no switches involved in the links. The design is based on the 1.4.1 reference design that comes with coregen
8.1 for the embedded-mac. I am not using the Host Interface or such like, just a basic logic hooked on the end of the MAC with it statically cconfigured using the tie-offs.I can get the PC with Intel card to send raw Ethernet frames to my virtex-4's mac address and they seem to get through about 40% of the time, and I see the "frame good" signal, the rest of the time I see a "bad frame". On looking at more signals I am seeing a large amount of disparity error and NotInTable coming from the RocketIO module and what looks like corruption or bit shifts on the data.
I even see this when there is no traffic on the link and there are just idle frames being sent.. It seems semi-repetitive, with say the order of a few hundred good bytes between small bursts of bad ones.
Anyone got any ideas?
I have checked the network card, the cable(long ones, short ones, good quality ones and bad ones.) All cards and cables pass large statistic back-to-back testing at 1Gig between PC's with very few dropped frames.
My initial thoughts were the reference clock being fed to the RocketIO (which i think is okay, its the ref clock from a PCIexpress socket going via a ICS9DB202 to clean it up and make it 125Mhz.) I have considered heat too, so we bolted a larger heatsink and fan onto the chip...
Words of wisdom will be greatfully received...
-- /\/\arc Kelly ..Just your average physicist trying to get by in a world full of normal people...