[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [ethmac] magic number, compatibility problem?!



in tx module,
if a 32-bit CRC need to be generated and transmitted.
when the CRC is generated, does the data pass the FCS in bit swap?
when the CRC is appended, does the data is transmitted in bit swap?

in the file eth_txethmac.v, the writer shoud be one of the three authors.
it looks that CRC is generated and transmitted in a bit swap way:
"
...
  if(StateFCS)
    MTxD_d[3:0] = {~Crc[28], ~Crc[29], ~Crc[30], ~Crc[31]};     // Crc
...
assign Data_Crc[0] = StateData[0]? TxData[3] : StateData[1]? TxData
[7] : 1'b0;
assign Data_Crc[1] = StateData[0]? TxData[2] : StateData[1]? TxData
[6] : 1'b0;
assign Data_Crc[2] = StateData[0]? TxData[1] : StateData[1]? TxData
[5] : 1'b0;
assign Data_Crc[3] = StateData[0]? TxData[0] : StateData[1]? TxData
[4] : 1'b0;
...
"

i don't know in the normal ethernet controller, how the crc is generated 
and transmitted, in bit swap way or a normal way?

this confused me, and i wonder whether the compatibility problem will 
result here.

maybe i did't say clearly last time. i hope i make you know what i am 
thinking this time.

best regards.
--
To unsubscribe from ethmac mailing list please visit http://www.opencores.org/mailinglists.shtml