Line 41... |
Line 41... |
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
//
|
//
|
// CVS Revision History
|
// CVS Revision History
|
//
|
//
|
// $Log: not supported by cvs2svn $
|
// $Log: not supported by cvs2svn $
|
|
// Revision 1.4 2002/01/23 10:28:16 mohor
|
|
// Link in the header changed.
|
|
//
|
// Revision 1.3 2001/10/19 08:43:51 mohor
|
// Revision 1.3 2001/10/19 08:43:51 mohor
|
// eth_timescale.v changed to timescale.v This is done because of the
|
// eth_timescale.v changed to timescale.v This is done because of the
|
// simulation of the few cores in a one joined project.
|
// simulation of the few cores in a one joined project.
|
//
|
//
|
// Revision 1.2 2001/09/11 14:17:00 mohor
|
// Revision 1.2 2001/09/11 14:17:00 mohor
|
Line 160... |
Line 163... |
// Defining the next state
|
// Defining the next state
|
assign StartIPG = StateDefer & ~ExcessiveDefer & ~CarrierSense;
|
assign StartIPG = StateDefer & ~ExcessiveDefer & ~CarrierSense;
|
|
|
assign StartIdle = StateIPG & (Rule1 & NibCnt[6:0] >= IPGT | ~Rule1 & NibCnt[6:0] >= IPGR2);
|
assign StartIdle = StateIPG & (Rule1 & NibCnt[6:0] >= IPGT | ~Rule1 & NibCnt[6:0] >= IPGR2);
|
|
|
assign StartPreamble = StateIdle & TxStartFrm;
|
assign StartPreamble = StateIdle & TxStartFrm & ~CarrierSense;
|
|
|
assign StartData[0] = ~Collision & (StatePreamble & NibCntEq15 | StateData[1] & ~TxEndFrm);
|
assign StartData[0] = ~Collision & (StatePreamble & NibCntEq15 | StateData[1] & ~TxEndFrm);
|
|
|
assign StartData[1] = ~Collision & StateData[0] & ~TxUnderRun & ~MaxFrame;
|
assign StartData[1] = ~Collision & StateData[0] & ~TxUnderRun & ~MaxFrame;
|
|
|
assign StartPAD = ~Collision & StateData[1] & TxEndFrm & Pad & ~NibbleMinFl;
|
assign StartPAD = ~Collision & StateData[1] & TxEndFrm & Pad & ~NibbleMinFl;
|
|
|
assign StartFCS = ~Collision & StateData[1] & TxEndFrm & (~Pad & CrcEn | Pad & NibbleMinFl)
|
assign StartFCS = ~Collision & StateData[1] & TxEndFrm & (~Pad | Pad & NibbleMinFl) & CrcEn
|
| ~Collision & StatePAD & NibbleMinFl;
|
| ~Collision & StatePAD & NibbleMinFl & CrcEn;
|
|
|
assign StartJam = (Collision | UnderRun) & ((StatePreamble & NibCntEq15) | (|StateData[1:0]) | StatePAD | StateFCS);
|
assign StartJam = (Collision | UnderRun) & ((StatePreamble & NibCntEq15) | (|StateData[1:0]) | StatePAD | StateFCS);
|
|
|
assign StartBackoff = StateJam & ~RandomEq0 & ColWindow & ~RetryMax & NibCntEq7 & ~NoBckof;
|
assign StartBackoff = StateJam & ~RandomEq0 & ColWindow & ~RetryMax & NibCntEq7 & ~NoBckof;
|
|
|
assign StartDefer = StateIPG & ~Rule1 & CarrierSense & NibCnt[6:0] <= IPGR1 & NibCnt[6:0] != IPGR2
|
assign StartDefer = StateIPG & ~Rule1 & CarrierSense & NibCnt[6:0] <= IPGR1 & NibCnt[6:0] != IPGR2
|
| StateIdle & ~TxStartFrm & CarrierSense
|
| StateIdle & CarrierSense
|
| StateJam & NibCntEq7 & (NoBckof | RandomEq0 | ~ColWindow | RetryMax)
|
| StateJam & NibCntEq7 & (NoBckof | RandomEq0 | ~ColWindow | RetryMax)
|
| StateBackOff & (TxUnderRun | RandomEqByteCnt)
|
| StateBackOff & (TxUnderRun | RandomEqByteCnt)
|
| StartTxDone | TooBig;
|
| StartTxDone | TooBig;
|
|
|
|
|