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

Subversion Repositories ethmac10g

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 40 to Rev 41
    Reverse comparison

Rev 40 → Rev 41

/trunk/rtl/verilog/rx_engine/counter.v
1,23 → 1,52
`timescale 100ps / 10ps
////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
`include "timescale.v"
//////////////////////////////////////////////////////////////////////
//// ////
//// MODULE NAME: counter ////
//// ////
//// DESCRIPTION: 8bit counter ////
//// ////
//// ////
//// This file is part of the 10 Gigabit Ethernet IP core project ////
//// http://www.opencores.org/projects/ethmac10g/ ////
//// ////
//// AUTHOR(S): ////
//// Zheng Cao ////
//// ////
//////////////////////////////////////////////////////////////////////
//// ////
//// Copyright (c) 2005 AUTHORS. All rights reserved. ////
//// ////
//// This source file may be used and distributed without ////
//// restriction provided that this copyright statement is not ////
//// removed from the file and that any derivative work contains ////
//// the original copyright notice and the associated disclaimer. ////
//// ////
//// This source file is free software; you can redistribute it ////
//// and/or modify it under the terms of the GNU Lesser General ////
//// Public License as published by the Free Software Foundation; ////
//// either version 2.1 of the License, or (at your option) any ////
//// later version. ////
//// ////
//// This source is distributed in the hope that it will be ////
//// useful, but WITHOUT ANY WARRANTY; without even the implied ////
//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ////
//// PURPOSE. See the GNU Lesser General Public License for more ////
//// details. ////
//// ////
//// You should have received a copy of the GNU Lesser General ////
//// Public License along with this source; if not, download it ////
//// from http://www.opencores.org/lgpl.shtml ////
//// ////
//////////////////////////////////////////////////////////////////////
//
// Create Date: 15:53:19 11/22/05
// Design Name:
// Module Name: counter
// Project Name:
// Target Device:
// Tool versions:
// Description:
// CVS REVISION HISTORY:
//
// Dependencies:
// $Log: not supported by cvs2svn $
// Revision 1.1 2005/12/25 16:43:10 Zheng Cao
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
////////////////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////
module counter(clk, reset, load, en, value);
input clk;
input reset;
/trunk/rtl/verilog/rx_engine/rxReceiveEngine.v
57,7 → 57,7
input reset_in; //Globle reset of receive engine
input [31:0] rxd_in; //XGMII RXD
input [3:0] rxc_in; //XGMII RXC
output [17:0] rxStatRegPlus; //Signals for statistics
output [18:0] rxStatRegPlus; //Signals for statistics
input [64:0] cfgRxRegData_in; //Signals for configuration
output [63:0] rx_data; //Received data sent to upper layer
output [7:0] rx_data_valid; //Receive data valid indicator
/trunk/rtl/verilog/rx_engine/rxStatModule.v
75,11 → 75,11
input length_1024_max;
input jumbo_frame;
input get_error_code;
output [17:0] rxStatRegPlus;
output [18:0] rxStatRegPlus;
 
parameter TP =1;
 
wire[17:0] rxStatRegPlus_tmp;
wire[18:0] rxStatRegPlus_tmp;
 
////////////////////////////////////////////
// Count for Frames Received OK
140,38 → 140,44
// Count for Length/Type Out of Range
//////////////////////////////////////////////
assign rxStatRegPlus_tmp[11] = large_error;
//////////////////////////////////////////////
// Count for Pause Frames Received OK
//////////////////////////////////////////////
// assign rxStatRegPlus_tmp[12] = tagged_frame & good_frame_get;
 
//////////////////////////////////////////////
// Count for Pause Frames Received OK
//////////////////////////////////////////////
assign rxStatRegPlus_tmp[12] = pause_frame & good_frame_get;
assign rxStatRegPlus_tmp[13] = pause_frame & good_frame_get;
 
/////////////////////////////////////////////////////////////
// Count for Control Frames Received with Unsupported Opcode.
/////////////////////////////////////////////////////////////
// assign rxStatRegPlus_tmp[13] = pause_frame & good_frame_get;
// assign rxStatRegPlus_tmp[14] = pause_frame & good_frame_get;
 
///////////////////////////////////////////////
// Count for Oversize Frames Received OK
///////////////////////////////////////////////
assign rxStatRegPlus_tmp[14] = jumbo_frame & good_frame_get;
assign rxStatRegPlus_tmp[15] = jumbo_frame & good_frame_get;
 
///////////////////////////////////////////////
// Count for Undersized Frames Received
///////////////////////////////////////////////
assign rxStatRegPlus_tmp[15] = small_error;
assign rxStatRegPlus_tmp[16] = small_error;
 
///////////////////////////////////////////////
// Count for Fragment Frames Received
///////////////////////////////////////////////
assign rxStatRegPlus_tmp[16] = receiving & get_error_code;
assign rxStatRegPlus_tmp[17] = receiving & get_error_code;
 
///////////////////////////////////////////////
// Count for Number of Bytes Received
///////////////////////////////////////////////
assign rxStatRegPlus_tmp[17] = receiving;
assign rxStatRegPlus_tmp[18] = receiving;
 
reg[17:0] rxStatRegPlus;
reg[18:0] rxStatRegPlus;
always@(posedge rxclk or posedge reset) begin
if(reset)
rxStatRegPlus <=#TP 0;

powered by: WebSVN 2.1.0

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