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

Subversion Repositories ethernet_tri_mode

[/] [ethernet_tri_mode/] [trunk/] [rtl/] [verilog/] [RMON.v] - Blame information for rev 7

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 maverickis
//////////////////////////////////////////////////////////////////////
2
////                                                              ////
3 7 maverickis
////  RMON.v                                                      ////
4 5 maverickis
////                                                              ////
5
////  This file is part of the Ethernet IP core project           ////
6
////  http://www.opencores.org/projects.cgi/web/ethernet_tri_mode/////
7
////                                                              ////
8
////  Author(s):                                                  ////
9 7 maverickis
////      - Jon Gao (gaojon@yahoo.com)                            ////
10 5 maverickis
////                                                              ////
11
////                                                              ////
12
//////////////////////////////////////////////////////////////////////
13
////                                                              ////
14
//// Copyright (C) 2001 Authors                                   ////
15
////                                                              ////
16
//// This source file may be used and distributed without         ////
17
//// restriction provided that this copyright statement is not    ////
18
//// removed from the file and that any derivative work contains  ////
19
//// the original copyright notice and the associated disclaimer. ////
20
////                                                              ////
21
//// This source file is free software; you can redistribute it   ////
22
//// and/or modify it under the terms of the GNU Lesser General   ////
23
//// Public License as published by the Free Software Foundation; ////
24
//// either version 2.1 of the License, or (at your option) any   ////
25
//// later version.                                               ////
26
////                                                              ////
27
//// This source is distributed in the hope that it will be       ////
28
//// useful, but WITHOUT ANY WARRANTY; without even the implied   ////
29
//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      ////
30
//// PURPOSE.  See the GNU Lesser General Public License for more ////
31
//// details.                                                     ////
32
////                                                              ////
33
//// You should have received a copy of the GNU Lesser General    ////
34
//// Public License along with this source; if not, download it   ////
35
//// from http://www.opencores.org/lgpl.shtml                     ////
36
////                                                              ////
37
//////////////////////////////////////////////////////////////////////
38
//                                                                    
39
// CVS Revision History                                               
40
//                                                                    
41 6 maverickis
// $Log: not supported by cvs2svn $
42 7 maverickis
// Revision 1.2  2005/12/16 06:44:16  Administrator
43
// replaced tab with space.
44
// passed 9.6k length frame test.
45
//
46 6 maverickis
// Revision 1.1.1.1  2005/12/13 01:51:44  Administrator
47
// no message
48
// 
49 5 maverickis
 
50
module RMON (
51 7 maverickis
Clk                 ,
52
Reset               ,
53 5 maverickis
//Tx_RMON            
54 7 maverickis
Tx_pkt_type_rmon    ,
55
Tx_pkt_length_rmon  ,
56
Tx_apply_rmon       ,
57 5 maverickis
Tx_pkt_err_type_rmon,
58
//Tx_RMON            
59 7 maverickis
Rx_pkt_type_rmon    ,
60
Rx_pkt_length_rmon  ,
61
Rx_apply_rmon       ,
62 5 maverickis
Rx_pkt_err_type_rmon,
63
//CPU                
64 7 maverickis
CPU_rd_addr         ,
65
CPU_rd_apply        ,
66
CPU_rd_grant        ,
67
CPU_rd_dout
68 5 maverickis
 
69
);
70 7 maverickis
input               Clk                 ;
71
input               Reset               ;
72
                    //Tx_RMON
73
input   [2:0]       Tx_pkt_type_rmon    ;
74
input   [15:0]      Tx_pkt_length_rmon  ;
75
input               Tx_apply_rmon       ;
76
input   [2:0]       Tx_pkt_err_type_rmon;
77
                    //Tx_RMON
78
input   [2:0]       Rx_pkt_type_rmon    ;
79
input   [15:0]      Rx_pkt_length_rmon  ;
80
input               Rx_apply_rmon       ;
81
input   [2:0]       Rx_pkt_err_type_rmon;
82
                    //CPU
83
input   [5:0]       CPU_rd_addr         ;
84
input               CPU_rd_apply        ;
85
output              CPU_rd_grant        ;
86
output  [31:0]      CPU_rd_dout         ;
87 5 maverickis
 
88
//******************************************************************************  
89
//interface signals
90
//******************************************************************************  
91 7 maverickis
wire                Reg_apply_0     ;
92
wire    [4:0]       Reg_addr_0      ;
93
wire    [15:0]      Reg_data_0      ;
94
wire                Reg_next_0      ;
95
wire                Reg_apply_1     ;
96
wire    [4:0]       Reg_addr_1      ;
97
wire    [15:0]      Reg_data_1      ;
98
wire                Reg_next_1      ;
99
wire    [5:0]       Addra           ;
100
wire    [31:0]      Dina            ;
101
wire    [31:0]      Douta           ;
102
wire                Wea             ;
103 5 maverickis
 
104
//******************************************************************************  
105
 
106 7 maverickis
assign      RxAddrb=0;
107
assign      TxAddrb=0;
108 5 maverickis
 
109
RMON_addr_gen U_0_Rx_RMON_addr_gen(
110 7 maverickis
.Clk                    (Clk                        ),
111
.Reset                  (Reset                      ),
112
 //RMON                 (//RMON                     ),                                 
113
.Pkt_type_rmon          (Rx_pkt_type_rmon           ),
114
.Pkt_length_rmon        (Rx_pkt_length_rmon         ),
115
.Apply_rmon             (Rx_apply_rmon              ),
116
.Pkt_err_type_rmon      (Rx_pkt_err_type_rmon       ),
117
 //Rmon_ctrl            (//Rron_ctrl                ),                                          
118
.Reg_apply              (Reg_apply_0                ),
119
.Reg_addr               (Reg_addr_0                 ),
120
.Reg_data               (Reg_data_0                 ),
121
.Reg_next               (Reg_next_0                 ),
122
 //CPU                  (//CPU                       ),                                 
123
.Reg_drop_apply         (                           ));
124 5 maverickis
 
125
RMON_addr_gen U_0_Tx_RMON_addr_gen(
126 7 maverickis
.Clk                    (Clk                        ),
127
.Reset                  (Reset                      ),
128
 //RMON                 (//RMON                     ),                                 
129
.Pkt_type_rmon          (Tx_pkt_type_rmon           ),
130
.Pkt_length_rmon        (Tx_pkt_length_rmon         ),
131
.Apply_rmon             (Tx_apply_rmon              ),
132
.Pkt_err_type_rmon      (Tx_pkt_err_type_rmon       ),
133
 //Rmon_ctrl            (//Rron_ctrl                ),                                              
134
.Reg_apply              (Reg_apply_1                ),
135
.Reg_addr               (Reg_addr_1                 ),
136
.Reg_data               (Reg_data_1                 ),
137
.Reg_next               (Reg_next_1                 ),
138
 //CPU                  (//CPU                       ),                                 
139
.Reg_drop_apply         (                           ));
140 5 maverickis
 
141
RMON_CTRL U_RMON_CTRL(
142 7 maverickis
.Clk                    (Clk                        ),
143
.Reset                  (Reset                      ),
144
 //RMON_CTRL            (//RMON_CTRL                ),  
145
.Reg_apply_0            (Reg_apply_0                ),
146
.Reg_addr_0             (Reg_addr_0                 ),
147
.Reg_data_0             (Reg_data_0                 ),
148
.Reg_next_0             (Reg_next_0                 ),
149
.Reg_apply_1            (Reg_apply_1                ),
150
.Reg_addr_1             (Reg_addr_1                 ),
151
.Reg_data_1             (Reg_data_1                 ),
152
.Reg_next_1             (Reg_next_1                 ),
153
 //dual-port ram        (//dual-port ram            ),  
154
.Addra                  (Addra                      ),
155
.Dina                   (Dina                       ),
156
.Douta                  (Douta                      ),
157
.Wea                    (Wea                        ),
158
 //CPU                  (//CPU                      ),    
159
.CPU_rd_addr            (CPU_rd_addr                ),
160
.CPU_rd_apply           (CPU_rd_apply               ),
161
.CPU_rd_grant           (CPU_rd_grant               ),
162
.CPU_rd_dout            (CPU_rd_dout                )
163 5 maverickis
);
164
 
165
RMON_dpram U_Rx_RMON_dpram(
166 7 maverickis
.Reset                  (Reset                      ),
167
.Clk                    (Clk                        ),
168
//port-a for Rmon       (//port-a for Rmon          ),
169
.Addra                  (Addra                      ),
170
.Dina                   (Dina                       ),
171
.Douta                  (Douta                      ),
172
.Wea                    (Wea                        ),
173
//port-b for CPU        (//port-b for CPU           ),
174
.Addrb                  (RxAddrb                    ),
175
.Doutb                  (RxDoutb                    ));
176 5 maverickis
 
177
endmodule

powered by: WebSVN 2.1.0

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