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

Subversion Repositories ethmac

[/] [ethmac/] [trunk/] [rtl/] [verilog/] [eth_maccontrol.v] - Diff between revs 37 and 251

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

Rev 37 Rev 251
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

powered by: WebSVN 2.1.0

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