« Return to Thread: bugs in ethernet MAC
I am trying to use the Ethenet MAC in an FPGA I am working
on.
After getting it mostly working, I believe that I have found
3 bugs which render the IP unsuitable for use.
The bugs are:
1) If I change
a receive descriptor from invalid to valid while a packet is being received,
only the part of the packet received after the descriptor is valid is put in my
buffer. However, the packet is marked as received correctly.
2) I have a
situation where I have only very few receive descriptors. I occasionally
run out. Once I run out, I see that the hardware continues to update the
status fields and length fields in the buffer descriptors which do not have
0x80 set in them. Once this starts happening, the internal buffer descriptor
pointer used to poll descriptors (which I brought out to a register) is no
longer in sync with the software pointer. Since the hardware is writing
buffer descriptors, it can overwrite the valid buffer descriptors as I update
them. The result is that buffer descriptors with the empty bit set are
lost, resulting eventually in the loss of all receive activity.
3) The
transmitter has a silent hang in the following situation: User has IP set
in full duplex mode, PHY is either in half duplex mode or in the case of the
National PHY it has a link down situation. User is transmitting
packets. In these cases, the PHY sends TX_COL signals. After a
number of these unexpected TX_COLs, the transmitter stops sending, even if I
set all 0x80 bits in all transmit descriptors.
These problems are quite discouraging, because I will need
to deeply understand the RTL in order to know how to exercise it in a way which
shows the failure. (The failures happen in just a few seconds on
hardware).
Of course, what seems to be a hardware bug might be a
software bug. I can demonstrate the first bug in simulation, and in the
other two cases I can look at all user-visible state plus the internal buffer
descriptor pointers, and everything points to hardware problems.
Is anyone interested in working with me to try to find and
fix these problems?
Regards:
« Return to Thread: bugs in ethernet MAC
| Free embeddable forum powered by Nabble | Forum Help |