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

Subversion Repositories ethmac

[/] [ethmac/] [trunk/] [rtl/] [verilog/] [eth_transmitcontrol.v] - Diff between revs 15 and 18

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

Rev 15 Rev 18
Line 39... Line 39...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
//
// CVS Revision History
// CVS Revision History
//
//
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
 
// Revision 1.1  2001/08/06 14:44:29  mohor
 
// A define FPGA added to select between Artisan RAM (for ASIC) and Block Ram (For Virtex).
 
// Include files fixed to contain no path.
 
// File names and module names changed ta have a eth_ prologue in the name.
 
// File eth_timescale.v is used to define timescale
 
// All pin names on the top module are changed to contain _I, _O or _OE at the end.
 
// Bidirectional signal MDIO is changed to three signals (Mdc_O, Mdi_I, Mdo_O
 
// and Mdo_OE. The bidirectional signal must be created on the top level. This
 
// is done due to the ASIC tools.
 
//
// Revision 1.1  2001/07/30 21:23:42  mohor
// Revision 1.1  2001/07/30 21:23:42  mohor
// Directory structure changed. Files checked and joind together.
// Directory structure changed. Files checked and joind together.
//
//
// Revision 1.1  2001/07/03 12:51:54  mohor
// Revision 1.1  2001/07/03 12:51:54  mohor
// Initial release of the MAC Control module.
// Initial release of the MAC Control module.
Line 222... Line 232...
    ByteCnt <= #Tp 6'h0;
    ByteCnt <= #Tp 6'h0;
  else
  else
  if(ResetByteCnt)
  if(ResetByteCnt)
    ByteCnt <= #Tp 6'h0;
    ByteCnt <= #Tp 6'h0;
  else
  else
  if(IncrementByteCnt & (~DlyCrcEn | DlyCrcEn & &DlyCrcCnt[1:0]))
  if(IncrementByteCnt & (~DlyCrcEn | DlyCrcEn & (&DlyCrcCnt[1:0])))
    ByteCnt <= #Tp (ByteCnt[5:0] ) + 1'b1;
    ByteCnt <= #Tp (ByteCnt[5:0] ) + 1'b1;
end
end
 
 
 
 
assign ControlEnd = ByteCnt[5:0] == 6'h22;
assign ControlEnd = ByteCnt[5:0] == 6'h22;
Line 234... Line 244...
 
 
// Control data generation (goes to the TxEthMAC module)
// Control data generation (goes to the TxEthMAC module)
always @ (ByteCnt or DlyCrcEn or MAC or TxPauseTV or DlyCrcCnt)
always @ (ByteCnt or DlyCrcEn or MAC or TxPauseTV or DlyCrcCnt)
begin
begin
  case(ByteCnt)
  case(ByteCnt)
    6'h0:    if(~DlyCrcEn | DlyCrcEn & &DlyCrcCnt[1:0])
    6'h0:    if(~DlyCrcEn | DlyCrcEn & (&DlyCrcCnt[1:0]))
               MuxedCtrlData[7:0] = 8'h01;                   // Reserved Multicast Address
               MuxedCtrlData[7:0] = 8'h01;                   // Reserved Multicast Address
             else
             else
                                                         MuxedCtrlData[7:0] = 8'h0;
                                                         MuxedCtrlData[7:0] = 8'h0;
    6'h2:      MuxedCtrlData[7:0] = 8'h80;
    6'h2:      MuxedCtrlData[7:0] = 8'h80;
    6'h4:      MuxedCtrlData[7:0] = 8'hC2;
    6'h4:      MuxedCtrlData[7:0] = 8'hC2;

powered by: WebSVN 2.1.0

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