URL
https://opencores.org/ocsvn/ethmac/ethmac/trunk
Subversion Repositories ethmac
Compare Revisions
- This comparison shows the changes necessary to convert path
/
- from Rev 251 to Rev 250
- ↔ Reverse comparison
Rev 251 → Rev 250
/trunk/rtl/verilog/eth_maccontrol.v
41,9 → 41,6
// CVS Revision History |
// |
// $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 |
// eth_timescale.v changed to timescale.v This is done because of the |
// simulation of the few cores in a one joined project. |
134,7 → 131,6
wire [7:0] ControlData; |
wire CtrlMux; |
wire SendingCtrlFrm; // Sending Control Frame (enables padding and CRC) |
wire BlockTxDone; |
|
|
// Signal TxUsedDataOut was detected (a transfer is already in progress) |
191,15 → 187,13
if(TxStartFrmIn) |
MuxedDone <= #Tp 1'b0; |
else |
if(TxDoneIn & (~TxDoneInLatched) & TxUsedDataOutDetected & (~BlockTxDone)) |
if(TxDoneIn & ~TxDoneInLatched & TxUsedDataOutDetected) |
MuxedDone <= #Tp 1'b1; |
end |
|
|
// TxDoneOut |
assign TxDoneOut = CtrlMux? (~TxStartFrmIn & MuxedDone) : |
(~TxStartFrmIn & TxDoneIn); |
//assign TxDoneOut = (~CtrlMux) & (~TxStartFrmIn) & TxDoneIn & (~BlockTxDone); |
|
// TxAbortOut |
assign TxAbortOut = CtrlMux? (~TxStartFrmIn & MuxedAbort) : |
247,7 → 241,7
.TxDoneIn(TxDoneIn), .TxAbortIn(TxAbortIn), .TxStartFrmIn(TxStartFrmIn), .TPauseRq(TPauseRq), |
.TxUsedDataOutDetected(TxUsedDataOutDetected), .TxFlow(TxFlow), .DlyCrcEn(DlyCrcEn), .TxPauseTV(TxPauseTV), |
.MAC(MAC), .TxCtrlStartFrm(TxCtrlStartFrm), .TxCtrlEndFrm(TxCtrlEndFrm), .SendingCtrlFrm(SendingCtrlFrm), |
.CtrlMux(CtrlMux), .ControlData(ControlData), .WillSendControlFrame(WillSendControlFrame), .BlockTxDone(BlockTxDone) |
.CtrlMux(CtrlMux), .ControlData(ControlData), .WillSendControlFrame(WillSendControlFrame) |
); |
|
|
/trunk/rtl/verilog/eth_transmitcontrol.v
41,9 → 41,6
// CVS Revision History |
// |
// $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 |
// eth_timescale.v changed to timescale.v This is done because of the |
// simulation of the few cores in a one joined project. |
80,7 → 77,7
module eth_transmitcontrol (MTxClk, TxReset, TxUsedDataIn, TxUsedDataOut, TxDoneIn, TxAbortIn, |
TxStartFrmIn, TPauseRq, TxUsedDataOutDetected, TxFlow, DlyCrcEn, |
TxPauseTV, MAC, TxCtrlStartFrm, TxCtrlEndFrm, SendingCtrlFrm, CtrlMux, |
ControlData, WillSendControlFrame, BlockTxDone |
ControlData, WillSendControlFrame |
); |
|
parameter Tp = 1; |
106,7 → 103,6
output CtrlMux; |
output [7:0] ControlData; |
output WillSendControlFrame; |
output BlockTxDone; |
|
reg SendingCtrlFrm; |
reg CtrlMux; |
120,7 → 116,6
reg TxCtrlEndFrm; |
reg [7:0] ControlData; |
reg TxUsedDataIn_q; |
reg BlockTxDone; |
|
wire IncrementDlyCrcCnt; |
wire ResetByteCnt; |
151,7 → 146,7
if(TxUsedDataIn_q & CtrlMux) |
TxCtrlStartFrm <= #Tp 1'b0; |
else |
if(WillSendControlFrame & ~TxUsedDataOut & (TxDoneIn | TxAbortIn | TxStartFrmIn | (~TxUsedDataOutDetected))) |
if(WillSendControlFrame & ~TxUsedDataOut & (TxDoneIn | TxAbortIn | TxStartFrmIn | ~TxUsedDataOutDetected)) |
TxCtrlStartFrm <= #Tp 1'b1; |
end |
|
209,22 → 204,6
end |
|
|
|
// Generation of the signal that will block sending the Done signal to the eth_wishbone module |
// While sending the control frame |
always @ (posedge MTxClk or posedge TxReset) |
begin |
if(TxReset) |
BlockTxDone <= #Tp 1'b0; |
else |
if(TxCtrlStartFrm) |
BlockTxDone <= #Tp 1'b1; |
else |
if(TxDoneIn) |
BlockTxDone <= #Tp 1'b0; |
end |
|
|
always @ (posedge MTxClk) |
begin |
ControlEnd_q <= #Tp ControlEnd; |