Line 41... |
Line 41... |
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
//
|
//
|
// CVS Revision History
|
// CVS Revision History
|
//
|
//
|
// $Log: not supported by cvs2svn $
|
// $Log: not supported by cvs2svn $
|
|
// Revision 1.11 2004/03/17 09:32:15 igorm
|
|
// Multicast detection fixed. Only the LSB of the first byte is checked.
|
|
//
|
// Revision 1.10 2002/11/22 01:57:06 mohor
|
// Revision 1.10 2002/11/22 01:57:06 mohor
|
// Rx Flow control fixed. CF flag added to the RX buffer descriptor. RxAbort
|
// Rx Flow control fixed. CF flag added to the RX buffer descriptor. RxAbort
|
// synchronized.
|
// synchronized.
|
//
|
//
|
// Revision 1.9 2002/11/19 17:35:35 mohor
|
// Revision 1.9 2002/11/19 17:35:35 mohor
|
Line 144... |
Line 147... |
reg RxValid;
|
reg RxValid;
|
reg RxStartFrm;
|
reg RxStartFrm;
|
reg RxEndFrm;
|
reg RxEndFrm;
|
reg Broadcast;
|
reg Broadcast;
|
reg Multicast;
|
reg Multicast;
|
reg [8:0] CrcHash;
|
reg [5:0] CrcHash;
|
reg CrcHashGood;
|
reg CrcHashGood;
|
reg DelayData;
|
reg DelayData;
|
reg [3:0] LatchedNibble;
|
reg [3:0] LatchedNibble;
|
reg [7:0] LatchedByte;
|
reg [7:0] LatchedByte;
|
reg [7:0] RxData_d;
|
reg [7:0] RxData_d;
|
Line 210... |
Line 213... |
(.MRxClk(MRxClk), .Reset( Reset), .RxData(RxData),
|
(.MRxClk(MRxClk), .Reset( Reset), .RxData(RxData),
|
.Broadcast (Broadcast), .r_Bro (r_Bro), .r_Pro(r_Pro),
|
.Broadcast (Broadcast), .r_Bro (r_Bro), .r_Pro(r_Pro),
|
.ByteCntEq6(ByteCntEq6), .ByteCntEq7(ByteCntEq7), .ByteCntEq2(ByteCntEq2),
|
.ByteCntEq6(ByteCntEq6), .ByteCntEq7(ByteCntEq7), .ByteCntEq2(ByteCntEq2),
|
.ByteCntEq3(ByteCntEq3), .ByteCntEq4(ByteCntEq4), .ByteCntEq5(ByteCntEq5),
|
.ByteCntEq3(ByteCntEq3), .ByteCntEq4(ByteCntEq4), .ByteCntEq5(ByteCntEq5),
|
.HASH0(r_HASH0), .HASH1(r_HASH1),
|
.HASH0(r_HASH0), .HASH1(r_HASH1),
|
.CrcHash(CrcHash[5:0]), .CrcHashGood(CrcHashGood), .StateData(StateData),
|
.CrcHash(CrcHash), .CrcHashGood(CrcHashGood), .StateData(StateData),
|
.Multicast(Multicast), .MAC(MAC), .RxAbort(RxAbort),
|
.Multicast(Multicast), .MAC(MAC), .RxAbort(RxAbort),
|
.RxEndFrm(RxEndFrm), .AddressMiss(AddressMiss), .PassAll(PassAll),
|
.RxEndFrm(RxEndFrm), .AddressMiss(AddressMiss), .PassAll(PassAll),
|
.ControlFrmAddressOK(ControlFrmAddressOK)
|
.ControlFrmAddressOK(ControlFrmAddressOK)
|
);
|
);
|
|
|
Line 243... |
Line 246... |
end
|
end
|
|
|
always @ (posedge MRxClk)
|
always @ (posedge MRxClk)
|
begin
|
begin
|
if(Reset | StateIdle)
|
if(Reset | StateIdle)
|
CrcHash[8:0] <= #Tp 9'h0;
|
CrcHash[5:0] <= #Tp 6'h0;
|
else
|
else
|
if(StateData[0] & ByteCntEq6)
|
if(StateData[0] & ByteCntEq6)
|
CrcHash[8:0] <= #Tp Crc[31:23];
|
CrcHash[5:0] <= #Tp Crc[31:26];
|
end
|
end
|
|
|
|
|
// Output byte stream
|
// Output byte stream
|
always @ (posedge MRxClk or posedge Reset)
|
always @ (posedge MRxClk or posedge Reset)
|