Line 39... |
Line 39... |
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
//
|
//
|
// CVS Revision History
|
// CVS Revision History
|
//
|
//
|
// $Log: not supported by cvs2svn $
|
// $Log: not supported by cvs2svn $
|
|
// Revision 1.3 2002/01/23 10:28:16 mohor
|
|
// Link in the header changed.
|
|
//
|
// Revision 1.2 2001/10/19 08:43:51 mohor
|
// Revision 1.2 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.1 2001/08/06 14:44:29 mohor
|
// Revision 1.1 2001/08/06 14:44:29 mohor
|
Line 129... |
Line 132... |
wire Pause;
|
wire Pause;
|
wire TxCtrlStartFrm;
|
wire TxCtrlStartFrm;
|
wire [7:0] ControlData;
|
wire [7:0] ControlData;
|
wire CtrlMux;
|
wire CtrlMux;
|
wire SendingCtrlFrm; // Sending Control Frame (enables padding and CRC)
|
wire SendingCtrlFrm; // Sending Control Frame (enables padding and CRC)
|
|
wire BlockTxDone;
|
|
|
|
|
// Signal TxUsedDataOut was detected (a transfer is already in progress)
|
// Signal TxUsedDataOut was detected (a transfer is already in progress)
|
always @ (posedge MTxClk or posedge TxReset)
|
always @ (posedge MTxClk or posedge TxReset)
|
begin
|
begin
|
Line 185... |
Line 189... |
MuxedDone <= #Tp 1'b0;
|
MuxedDone <= #Tp 1'b0;
|
else
|
else
|
if(TxStartFrmIn)
|
if(TxStartFrmIn)
|
MuxedDone <= #Tp 1'b0;
|
MuxedDone <= #Tp 1'b0;
|
else
|
else
|
if(TxDoneIn & ~TxDoneInLatched & TxUsedDataOutDetected)
|
if(TxDoneIn & (~TxDoneInLatched) & TxUsedDataOutDetected & (~BlockTxDone))
|
MuxedDone <= #Tp 1'b1;
|
MuxedDone <= #Tp 1'b1;
|
end
|
end
|
|
|
|
|
// TxDoneOut
|
// TxDoneOut
|
assign TxDoneOut = CtrlMux? (~TxStartFrmIn & MuxedDone) :
|
assign TxDoneOut = CtrlMux? (~TxStartFrmIn & MuxedDone) :
|
(~TxStartFrmIn & TxDoneIn);
|
(~TxStartFrmIn & TxDoneIn);
|
|
//assign TxDoneOut = (~CtrlMux) & (~TxStartFrmIn) & TxDoneIn & (~BlockTxDone);
|
|
|
// TxAbortOut
|
// TxAbortOut
|
assign TxAbortOut = CtrlMux? (~TxStartFrmIn & MuxedAbort) :
|
assign TxAbortOut = CtrlMux? (~TxStartFrmIn & MuxedAbort) :
|
(TxAbortIn);
|
(TxAbortIn);
|
|
|
Line 239... |
Line 245... |
(
|
(
|
.MTxClk(MTxClk), .TxReset(TxReset), .TxUsedDataIn(TxUsedDataIn), .TxUsedDataOut(TxUsedDataOut),
|
.MTxClk(MTxClk), .TxReset(TxReset), .TxUsedDataIn(TxUsedDataIn), .TxUsedDataOut(TxUsedDataOut),
|
.TxDoneIn(TxDoneIn), .TxAbortIn(TxAbortIn), .TxStartFrmIn(TxStartFrmIn), .TPauseRq(TPauseRq),
|
.TxDoneIn(TxDoneIn), .TxAbortIn(TxAbortIn), .TxStartFrmIn(TxStartFrmIn), .TPauseRq(TPauseRq),
|
.TxUsedDataOutDetected(TxUsedDataOutDetected), .TxFlow(TxFlow), .DlyCrcEn(DlyCrcEn), .TxPauseTV(TxPauseTV),
|
.TxUsedDataOutDetected(TxUsedDataOutDetected), .TxFlow(TxFlow), .DlyCrcEn(DlyCrcEn), .TxPauseTV(TxPauseTV),
|
.MAC(MAC), .TxCtrlStartFrm(TxCtrlStartFrm), .TxCtrlEndFrm(TxCtrlEndFrm), .SendingCtrlFrm(SendingCtrlFrm),
|
.MAC(MAC), .TxCtrlStartFrm(TxCtrlStartFrm), .TxCtrlEndFrm(TxCtrlEndFrm), .SendingCtrlFrm(SendingCtrlFrm),
|
.CtrlMux(CtrlMux), .ControlData(ControlData), .WillSendControlFrame(WillSendControlFrame)
|
.CtrlMux(CtrlMux), .ControlData(ControlData), .WillSendControlFrame(WillSendControlFrame), .BlockTxDone(BlockTxDone)
|
);
|
);
|
|
|
|
|
|
|
endmodule
|
endmodule
|