OpenCores
URL https://opencores.org/ocsvn/ethmac/ethmac/trunk

Subversion Repositories ethmac

[/] [ethmac/] [trunk/] [rtl/] [verilog/] [eth_txethmac.v] - Diff between revs 79 and 277

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 79 Rev 277
Line 41... Line 41...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
//
// CVS Revision History
// CVS Revision History
//
//
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
 
// Revision 1.7  2002/02/26 16:24:01  mohor
 
// RetryCntLatched was unused and removed from design
 
//
// Revision 1.6  2002/02/22 12:56:35  mohor
// Revision 1.6  2002/02/22 12:56:35  mohor
// Retry is not activated when a Tx Underrun occured
// Retry is not activated when a Tx Underrun occured
//
//
// Revision 1.5  2002/02/11 09:18:22  mohor
// Revision 1.5  2002/02/11 09:18:22  mohor
// Tx status is written back to the BD.
// Tx status is written back to the BD.
Line 91... Line 94...
module eth_txethmac (MTxClk, Reset, TxStartFrm, TxEndFrm, TxUnderRun, TxData, CarrierSense,
module eth_txethmac (MTxClk, Reset, TxStartFrm, TxEndFrm, TxUnderRun, TxData, CarrierSense,
                     Collision, Pad, CrcEn, FullD, HugEn, DlyCrcEn, MinFL, MaxFL, IPGT,
                     Collision, Pad, CrcEn, FullD, HugEn, DlyCrcEn, MinFL, MaxFL, IPGT,
                     IPGR1, IPGR2, CollValid, MaxRet, NoBckof, ExDfrEn,
                     IPGR1, IPGR2, CollValid, MaxRet, NoBckof, ExDfrEn,
                     MTxD, MTxEn, MTxErr, TxDone, TxRetry, TxAbort, TxUsedData, WillTransmit,
                     MTxD, MTxEn, MTxErr, TxDone, TxRetry, TxAbort, TxUsedData, WillTransmit,
                     ResetCollision, RetryCnt, StartTxDone, StartTxAbort, MaxCollisionOccured,
                     ResetCollision, RetryCnt, StartTxDone, StartTxAbort, MaxCollisionOccured,
                     LateCollision, StartDefer, StatePreamble, StateData
                     LateCollision, DeferIndication, StatePreamble, StateData
 
 
                    );
                    );
 
 
parameter Tp = 1;
parameter Tp = 1;
 
 
Line 135... Line 138...
output [3:0] RetryCnt;          // Latched Retry Counter for tx status purposes
output [3:0] RetryCnt;          // Latched Retry Counter for tx status purposes
output StartTxDone;
output StartTxDone;
output StartTxAbort;
output StartTxAbort;
output MaxCollisionOccured;
output MaxCollisionOccured;
output LateCollision;
output LateCollision;
output StartDefer;
output DeferIndication;
output StatePreamble;
output StatePreamble;
output [1:0] StateData;
output [1:0] StateData;
 
 
reg [3:0] MTxD;
reg [3:0] MTxD;
reg MTxEn;
reg MTxEn;
Line 162... Line 165...
wire StartIPG;
wire StartIPG;
wire StartPreamble;
wire StartPreamble;
wire [1:0] StartData;
wire [1:0] StartData;
wire StartFCS;
wire StartFCS;
wire StartJam;
wire StartJam;
 
wire StartDefer;
wire StartBackoff;
wire StartBackoff;
wire StateDefer;
wire StateDefer;
wire StateIPG;
wire StateIPG;
wire StateIdle;
wire StateIdle;
wire StatePAD;
wire StatePAD;
Line 195... Line 199...
 
 
assign ResetCollision = ~(StatePreamble | (|StateData) | StatePAD | StateFCS);
assign ResetCollision = ~(StatePreamble | (|StateData) | StatePAD | StateFCS);
 
 
assign ExcessiveDeferOccured = TxStartFrm & StateDefer & ExcessiveDefer & ~StopExcessiveDeferOccured;
assign ExcessiveDeferOccured = TxStartFrm & StateDefer & ExcessiveDefer & ~StopExcessiveDeferOccured;
 
 
assign StartTxDone = ~Collision & (StateFCS & NibCntEq7 | StateData[1] & TxEndFrm & ~Pad & ~CrcEn);
assign StartTxDone = ~Collision & (StateFCS & NibCntEq7 | StateData[1] & TxEndFrm & (~Pad | Pad & NibbleMinFl) & ~CrcEn);
 
 
assign UnderRun = StateData[0] & TxUnderRun & ~Collision;
assign UnderRun = StateData[0] & TxUnderRun & ~Collision;
 
 
assign TooBig = ~Collision & MaxFrame & (StateData[0] & ~TxUnderRun | StateFCS);
assign TooBig = ~Collision & MaxFrame & (StateData[0] & ~TxUnderRun | StateFCS);
 
 
Line 448... Line 452...
                        .NibbleMinFl(NibbleMinFl), .RandomEq0(RandomEq0), .ColWindow(ColWindow), .RetryMax(RetryMax),
                        .NibbleMinFl(NibbleMinFl), .RandomEq0(RandomEq0), .ColWindow(ColWindow), .RetryMax(RetryMax),
                        .NoBckof(NoBckof), .RandomEqByteCnt(RandomEqByteCnt), .StateIdle(StateIdle),
                        .NoBckof(NoBckof), .RandomEqByteCnt(RandomEqByteCnt), .StateIdle(StateIdle),
                        .StateIPG(StateIPG), .StatePreamble(StatePreamble), .StateData(StateData), .StatePAD(StatePAD),
                        .StateIPG(StateIPG), .StatePreamble(StatePreamble), .StateData(StateData), .StatePAD(StatePAD),
                        .StateFCS(StateFCS), .StateJam(StateJam), .StateJam_q(StateJam_q), .StateBackOff(StateBackOff),
                        .StateFCS(StateFCS), .StateJam(StateJam), .StateJam_q(StateJam_q), .StateBackOff(StateBackOff),
                        .StateDefer(StateDefer), .StartFCS(StartFCS), .StartJam(StartJam), .StartBackoff(StartBackoff),
                        .StateDefer(StateDefer), .StartFCS(StartFCS), .StartJam(StartJam), .StartBackoff(StartBackoff),
                        .StartDefer(StartDefer), .StartPreamble(StartPreamble), .StartData(StartData), .StartIPG(StartIPG)
                        .StartDefer(StartDefer), .DeferIndication(DeferIndication), .StartPreamble(StartPreamble), .StartData(StartData), .StartIPG(StartIPG)
                       );
                       );
 
 
 
 
wire Enable_Crc;
wire Enable_Crc;
wire [3:0] Data_Crc;
wire [3:0] Data_Crc;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.