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

Subversion Repositories ethmac

[/] [ethmac/] [trunk/] [rtl/] [verilog/] [eth_rxaddrcheck.v] - Diff between revs 93 and 148

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

Rev 93 Rev 148
Line 39... Line 39...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
//
// CVS Revision History
// CVS Revision History
//
//
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
 
// Revision 1.6  2002/03/20 15:14:11  mohor
 
// When in promiscous mode some frames were not received correctly. Fixed.
 
//
// Revision 1.5  2002/03/02 21:06:32  mohor
// Revision 1.5  2002/03/02 21:06:32  mohor
// Log info was missing.
// Log info was missing.
//
//
//
//
// Revision 1.1  2002/02/08 12:51:54  ditt
// Revision 1.1  2002/02/08 12:51:54  ditt
Line 101... Line 104...
 wire [31:0] IntHash;
 wire [31:0] IntHash;
 reg [7:0]  ByteHash;
 reg [7:0]  ByteHash;
 reg MulticastOK;
 reg MulticastOK;
 reg UnicastOK;
 reg UnicastOK;
 reg RxAbort;
 reg RxAbort;
 reg CrcHashGood_d;  // delay HashGood by one cycle
 
 
 
assign RxAddressInvalid = ~(UnicastOK | BroadcastOK | MulticastOK | r_Pro);
assign RxAddressInvalid = ~(UnicastOK | BroadcastOK | MulticastOK | r_Pro);
 
 
assign BroadcastOK = Broadcast & ~r_Bro;
assign BroadcastOK = Broadcast & ~r_Bro;
 
 
Line 116... Line 118...
 
 
always @ (posedge MRxClk or posedge Reset)
always @ (posedge MRxClk or posedge Reset)
begin
begin
  if(Reset)
  if(Reset)
    RxAbort <= #Tp 1'b0;
    RxAbort <= #Tp 1'b0;
  else if(CrcHashGood_d & RxAddressInvalid & RxCheckEn)
  else if(RxAddressInvalid & ByteCntEq7 & RxCheckEn)
    RxAbort <= #Tp 1'b1;
    RxAbort <= #Tp 1'b1;
  else
  else
    RxAbort <= #Tp 1'b0;
    RxAbort <= #Tp 1'b0;
end
end
 
 
// Hash Address Check, Multicast
// Hash Address Check, Multicast
 
 
 
 
// delay CrcHashGood by 1 cycle
 
always @ (posedge MRxClk or posedge Reset)
 
begin
 
  if(Reset)
 
    CrcHashGood_d <= #Tp 1'b0;
 
  else
 
    CrcHashGood_d <= #Tp CrcHashGood;
 
end
 
 
 
always @ (posedge MRxClk or posedge Reset)
always @ (posedge MRxClk or posedge Reset)
begin
begin
  if(Reset)
  if(Reset)
    MulticastOK <= #Tp 1'b0;
    MulticastOK <= #Tp 1'b0;
  else if(RxEndFrm | RxAbort)
  else if(RxEndFrm | RxAbort)

powered by: WebSVN 2.1.0

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