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

Subversion Repositories ethernet_tri_mode

[/] [ethernet_tri_mode/] [trunk/] [bench/] [verilog/] [tb_top.v] - Blame information for rev 6

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

Line No. Rev Author Line
1 6 maverickis
`timescale 1 ns/100ps
2 5 maverickis
//////////////////////////////////////////////////////////////////////
3
////                                                              ////
4 6 maverickis
////  tb_top.v                                                    ////
5 5 maverickis
////                                                              ////
6
////  This file is part of the Ethernet IP core project           ////
7
////  http://www.opencores.org/projects.cgi/web/ethernet_tri_mode/////
8
////                                                              ////
9
////  Author(s):                                                  ////
10
////      - Jon Gao (gaojon@yahoo.com)                            ////
11
////                                                              ////
12
////                                                              ////
13
//////////////////////////////////////////////////////////////////////
14
////                                                              ////
15
//// Copyright (C) 2001 Authors                                   ////
16
////                                                              ////
17
//// This source file may be used and distributed without         ////
18
//// restriction provided that this copyright statement is not    ////
19
//// removed from the file and that any derivative work contains  ////
20
//// the original copyright notice and the associated disclaimer. ////
21
////                                                              ////
22
//// This source file is free software; you can redistribute it   ////
23
//// and/or modify it under the terms of the GNU Lesser General   ////
24
//// Public License as published by the Free Software Foundation; ////
25
//// either version 2.1 of the License, or (at your option) any   ////
26
//// later version.                                               ////
27
////                                                              ////
28
//// This source is distributed in the hope that it will be       ////
29
//// useful, but WITHOUT ANY WARRANTY; without even the implied   ////
30
//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      ////
31
//// PURPOSE.  See the GNU Lesser General Public License for more ////
32
//// details.                                                     ////
33
////                                                              ////
34
//// You should have received a copy of the GNU Lesser General    ////
35
//// Public License along with this source; if not, download it   ////
36
//// from http://www.opencores.org/lgpl.shtml                     ////
37
////                                                              ////
38
//////////////////////////////////////////////////////////////////////
39
//                                                                    
40
// CVS Revision History                                               
41
//                                                                    
42 6 maverickis
// $Log: not supported by cvs2svn $
43
// Revision 1.1.1.1  2005/12/13 01:51:44  Administrator
44
// no message
45
// 
46 5 maverickis
 
47
module tb_top (
48
);
49
//******************************************************************************
50
//internal signals                                                              
51
//******************************************************************************
52
                                //system signals
53 6 maverickis
reg                             Reset                                   ;
54
reg                             Clk_125M                                ;
55
reg                             Clk_user                                ;
56
reg                             Clk_reg                                 ;
57 5 maverickis
                                //user interface 
58 6 maverickis
wire                    Rx_mac_ra                               ;
59
wire                    Rx_mac_rd                               ;
60
wire    [31:0]   Rx_mac_data                             ;
61
wire    [1:0]    Rx_mac_BE                               ;
62
wire                    Rx_mac_pa                               ;
63
wire                    Rx_mac_sop                              ;
64
wire                    Rx_mac_eop                              ;
65 5 maverickis
                                //user interface 
66 6 maverickis
wire                    Tx_mac_wa                       ;
67
wire                    Tx_mac_wr                       ;
68
wire    [31:0]   Tx_mac_data                     ;
69
wire    [1:0]    Tx_mac_BE                               ;//big endian
70
wire                    Tx_mac_sop                      ;
71
wire                    Tx_mac_eop                              ;
72 5 maverickis
                                //Phy interface          
73
                                //Phy interface                 
74 6 maverickis
wire                    Gtx_clk                                 ;//used only in GMII mode
75
wire                    Rx_clk                                  ;
76
wire                    Tx_clk                                  ;//used only in MII mode
77
wire                    Tx_er                                   ;
78
wire                    Tx_en                                   ;
79
wire    [7:0]    Txd                                             ;
80
wire                    Rx_er                                   ;
81
wire                    Rx_dv                                   ;
82
wire    [7:0]    Rxd                                             ;
83
wire                    Crs                                             ;
84
wire                    Col                                             ;
85 5 maverickis
                                //Tx host interface 
86 6 maverickis
wire    [4:0]    Tx_Hwmark                               ;
87
wire    [4:0]    Tx_Lwmark                               ;
88
wire                    pause_frame_send_en             ;
89
wire    [15:0]   pause_quanta_set                ;
90
wire                    MAC_tx_add_en                   ;
91
wire                    FullDuplex                      ;
92
wire    [3:0]    MaxRetry                        ;
93
wire    [5:0]    IFGset                                  ;
94
wire    [7:0]    MAC_tx_add_prom_data    ;
95
wire    [2:0]    MAC_tx_add_prom_add             ;
96
wire                    MAC_tx_add_prom_wr              ;
97
wire                    tx_pause_en                             ;
98
wire                    xoff_cpu                        ;
99
wire                    xon_cpu                 ;
100 5 maverickis
                                //Rx host interface     
101 6 maverickis
wire                    MAC_rx_add_chk_en               ;
102
wire    [7:0]    MAC_rx_add_prom_data    ;
103
wire    [2:0]    MAC_rx_add_prom_add             ;
104
wire                    MAC_rx_add_prom_wr              ;
105
wire                    broadcast_filter_en         ;
106
wire    [15:0]   broadcast_MAX           ;
107
wire                    RX_APPEND_CRC                   ;
108
wire                    CRC_chk_en                              ;
109
wire    [5:0]    RX_IFG_SET                              ;
110
wire    [15:0]   RX_MAX_LENGTH                   ;//     1518
111
wire    [6:0]    RX_MIN_LENGTH                   ;//     64
112 5 maverickis
                                //RMON host interface
113 6 maverickis
wire    [5:0]    CPU_rd_addr                             ;
114
wire                    CPU_rd_apply                    ;
115
wire                    CPU_rd_grant                    ;
116
wire    [31:0]   CPU_rd_dout                             ;
117 5 maverickis
                                //Phy int host interface     
118 6 maverickis
wire                    Line_loop_en                    ;
119
wire    [2:0]    Speed                                   ;
120 5 maverickis
                                //MII to CPU 
121 6 maverickis
wire   [7:0]     Divider                         ;// Divider for the host clock
122
wire    [15:0]   CtrlData                        ;// Control Data (to be written to the PHY reg.)
123
wire   [4:0]     Rgad                            ;// Register Address (within the PHY)
124
wire   [4:0]     Fiad                            ;// PHY Address
125
wire            NoPre                           ;// No Preamble (no 32-bit preamble)
126
wire            WCtrlData                       ;// Write Control Data operation
127
wire            RStat                           ;// Read Status operation
128
wire            ScanStat                        ;// Scan Status operation
129
wire            Busy                            ;// Busy Signal
130
wire            LinkFail                        ;// Link Integrity Signal
131
wire            Nvalid                          ;// Invalid Status (qualifier for the valid scan result)
132
wire    [15:0]   Prsd                            ;// Read Status Data (data read from the PHY)
133
wire            WCtrlDataStart                  ;// This signals resets the WCTRLDATA bit in the MIIM Command register
134
wire            RStatStart                      ;// This signal resets the RSTAT BIT in the MIIM Command register
135
wire            UpdateMIIRX_DATAReg             ;// Updates MII RX_DATA register with read data
136 5 maverickis
                                //MII interface signals
137 6 maverickis
wire            Mdio                    ;// MII Management Data In
138
wire            Mdc                             ;// MII Management Data Clock   
139 5 maverickis
 
140
//******************************************************************************
141
//internal signals                                                              
142
//******************************************************************************
143
 
144 6 maverickis
initial
145
        begin
146
                        Reset   =1;
147
        #20             Reset   =0;
148
        end
149
always
150
        begin
151
        #4              Clk_125M=0;
152
        #4              Clk_125M=1;
153
        end
154
 
155
always
156
        begin
157
        #5              Clk_user=0;
158
        #5              Clk_user=1;
159
        end
160
 
161
always
162
        begin
163
        #10             Clk_reg=0;
164
        #10             Clk_reg=1;
165
        end
166
 
167
 
168
initial
169
        begin
170
        $shm_open("tb_top.shm",,900000000,);
171
        $shm_probe("AS");
172
        end
173
 
174
 
175 5 maverickis
MAC_top U_MAC_top(
176 6 maverickis
 //system signals                       (//system signals           ),
177 5 maverickis
.Reset                                          (Reset                                      ),
178
.Clk_125M                                       (Clk_125M                                   ),
179
.Clk_user                                       (Clk_user                                   ),
180
.Clk_reg                                            (Clk_reg                                    ),
181 6 maverickis
 //user interface               (//user interface           ),
182 5 maverickis
.Rx_mac_ra                                      (Rx_mac_ra                                  ),
183
.Rx_mac_rd                                      (Rx_mac_rd                                  ),
184
.Rx_mac_data                                (Rx_mac_data                                ),
185
.Rx_mac_BE                                      (Rx_mac_BE                                  ),
186
.Rx_mac_pa                                      (Rx_mac_pa                                  ),
187
.Rx_mac_sop                                     (Rx_mac_sop                                 ),
188
.Rx_mac_eop                                     (Rx_mac_eop                                 ),
189 6 maverickis
 //user interface               (//user interface           ),
190 5 maverickis
.Tx_mac_wa                              (Tx_mac_wa                          ),
191
.Tx_mac_wr                              (Tx_mac_wr                          ),
192
.Tx_mac_data                        (Tx_mac_data                        ),
193
.Tx_mac_BE                                      (Tx_mac_BE                                  ),
194
.Tx_mac_sop                             (Tx_mac_sop                         ),
195
.Tx_mac_eop                                     (Tx_mac_eop                                 ),
196 6 maverickis
 //Phy interface                (//Phy interface            ),
197
 //Phy interface                            (//Phy interface                    ),
198 5 maverickis
.Gtx_clk                                            (Gtx_clk                                    ),
199
.Rx_clk                                         (Rx_clk                                     ),
200
.Tx_clk                                         (Tx_clk                                     ),
201
.Tx_er                                          (Tx_er                                      ),
202
.Tx_en                                          (Tx_en                                      ),
203
.Txd                                                (Txd                                                ),
204
.Rx_er                                          (Rx_er                                      ),
205
.Rx_dv                                          (Rx_dv                                      ),
206
.Rxd                                                (Rxd                                                ),
207
.Crs                                                (Crs                                                ),
208
.Col                                                (Col                                                ),
209 6 maverickis
 //Tx host interface            (//Tx host interface        ),
210 5 maverickis
.Tx_Hwmark                                      (Tx_Hwmark                                  ),
211
.Tx_Lwmark                                      (Tx_Lwmark                                  ),
212
.pause_frame_send_en                (pause_frame_send_en                ),
213
.pause_quanta_set                       (pause_quanta_set                   ),
214
.MAC_tx_add_en                          (MAC_tx_add_en                      ),
215
.FullDuplex                         (FullDuplex                         ),
216
.MaxRetry                               (MaxRetry                           ),
217
.IFGset                                         (IFGset                                     ),
218
.MAC_tx_add_prom_data           (MAC_tx_add_prom_data       ),
219
.MAC_tx_add_prom_add                (MAC_tx_add_prom_add                ),
220
.MAC_tx_add_prom_wr                     (MAC_tx_add_prom_wr                 ),
221
.tx_pause_en                                (tx_pause_en                                ),
222
.xoff_cpu                               (xoff_cpu                           ),
223
.xon_cpu                            (xon_cpu                    ),
224 6 maverickis
 //Rx host interface            (//Rx host interface        ),
225 5 maverickis
.MAC_rx_add_chk_en                      (MAC_rx_add_chk_en                  ),
226
.MAC_rx_add_prom_data           (MAC_rx_add_prom_data       ),
227
.MAC_rx_add_prom_add                (MAC_rx_add_prom_add                ),
228
.MAC_rx_add_prom_wr                     (MAC_rx_add_prom_wr                 ),
229
.broadcast_filter_en            (broadcast_filter_en        ),
230
.broadcast_MAX                  (broadcast_MAX              ),
231
.RX_APPEND_CRC                          (RX_APPEND_CRC                      ),
232
.CRC_chk_en                                     (CRC_chk_en                                 ),
233
.RX_IFG_SET                                     (RX_IFG_SET                                 ),
234
.RX_MAX_LENGTH                          (RX_MAX_LENGTH                      ),
235
.RX_MIN_LENGTH                          (RX_MIN_LENGTH                      ),
236 6 maverickis
 //RMON host interface          (//RMON host interface      ),
237 5 maverickis
.CPU_rd_addr                                (CPU_rd_addr                                ),
238
.CPU_rd_apply                           (CPU_rd_apply                       ),
239
.CPU_rd_grant                           (CPU_rd_grant                       ),
240
.CPU_rd_dout                                (CPU_rd_dout                                ),
241 6 maverickis
 //Phy int host interface       (//Phy int host interface   ),
242 5 maverickis
.Line_loop_en                           (Line_loop_en                       ),
243
.Speed                                          (Speed                                      ),
244 6 maverickis
 //MII to CPU                   (//MII to CPU               ),
245 5 maverickis
.Divider                            (Divider                            ),
246
.CtrlData                           (CtrlData                           ),
247
.Rgad                               (Rgad                               ),
248
.Fiad                               (Fiad                               ),
249
.NoPre                              (NoPre                              ),
250
.WCtrlData                          (WCtrlData                          ),
251
.RStat                              (RStat                              ),
252
.ScanStat                           (ScanStat                           ),
253
.Busy                               (Busy                               ),
254
.LinkFail                           (LinkFail                           ),
255
.Nvalid                             (Nvalid                             ),
256
.Prsd                               (Prsd                               ),
257
.WCtrlDataStart                     (WCtrlDataStart                     ),
258
.RStatStart                         (RStatStart                         ),
259
.UpdateMIIRX_DATAReg                (UpdateMIIRX_DATAReg                ),
260 6 maverickis
 //MII interface signals        (//MII interface signals    ),
261 5 maverickis
.Mdio                           (Mdio                       ),
262
.Mdc                                (Mdc                                )
263 6 maverickis
);
264 5 maverickis
 
265 6 maverickis
Phy_sim U_Phy_sim (
266
.Gtx_clk                                                (Gtx_clk                                ),
267
.Rx_clk                             (Rx_clk                             ),
268
.Tx_clk                             (Tx_clk                             ),
269
.Tx_er                              (Tx_er                              ),
270
.Tx_en                              (Tx_en                              ),
271
.Txd                                    (Txd                                ),
272
.Rx_er                              (Rx_er                              ),
273
.Rx_dv                              (Rx_dv                              ),
274
.Rxd                                    (Rxd                                ),
275
.Crs                                    (Crs                                ),
276
.Col                                    (Col                                ),
277
.Speed                              (Speed                              )
278
);
279 5 maverickis
 
280 6 maverickis
User_int_sim U_User_int_sim(
281
.Reset                                                  (Reset                                          ),
282
.Clk_user                                   (Clk_user                           ),
283
 //user inputerface             (//user inputerface         ),
284
.Rx_mac_ra                                  (Rx_mac_ra                          ),
285
.Rx_mac_rd                                  (Rx_mac_rd                          ),
286
.Rx_mac_data                            (Rx_mac_data                        ),
287
.Rx_mac_BE                                  (Rx_mac_BE                          ),
288
.Rx_mac_pa                                  (Rx_mac_pa                          ),
289
.Rx_mac_sop                                 (Rx_mac_sop                         ),
290
.Rx_mac_eop                                 (Rx_mac_eop                         ),
291
 //user inputerface             (//user inputerface         ),
292
.Tx_mac_wa                          (Tx_mac_wa                  ),
293
.Tx_mac_wr                          (Tx_mac_wr                  ),
294
.Tx_mac_data                    (Tx_mac_data                ),
295
.Tx_mac_BE                                  (Tx_mac_BE                          ),
296
.Tx_mac_sop                         (Tx_mac_sop                 ),
297
.Tx_mac_eop                                 (Tx_mac_eop                         )
298 5 maverickis
);
299 6 maverickis
 
300
reg_int_sim U_reg_int_sim(
301
.Reset                                  (Reset                          ),
302
.Clk_reg                                (Clk_reg                        ),
303
 //Tx host interface            (//Tx host interface        ),
304
.Tx_Hwmark                                      (Tx_Hwmark                                  ),
305
.Tx_Lwmark                                      (Tx_Lwmark                                  ),
306
.pause_frame_send_en                (pause_frame_send_en                ),
307
.pause_quanta_set                       (pause_quanta_set                   ),
308
.MAC_tx_add_en                          (MAC_tx_add_en                      ),
309
.FullDuplex                         (FullDuplex                         ),
310
.MaxRetry                               (MaxRetry                           ),
311
.IFGset                                         (IFGset                                     ),
312
.MAC_tx_add_prom_data           (MAC_tx_add_prom_data       ),
313
.MAC_tx_add_prom_add                (MAC_tx_add_prom_add                ),
314
.MAC_tx_add_prom_wr                     (MAC_tx_add_prom_wr                 ),
315
.tx_pause_en                                (tx_pause_en                                ),
316
.xoff_cpu                               (xoff_cpu                           ),
317
.xon_cpu                            (xon_cpu                    ),
318
 //Rx host interface            (//Rx host interface        ),
319
.MAC_rx_add_chk_en                      (MAC_rx_add_chk_en                  ),
320
.MAC_rx_add_prom_data           (MAC_rx_add_prom_data       ),
321
.MAC_rx_add_prom_add                (MAC_rx_add_prom_add                ),
322
.MAC_rx_add_prom_wr                     (MAC_rx_add_prom_wr                 ),
323
.broadcast_filter_en            (broadcast_filter_en        ),
324
.broadcast_MAX                  (broadcast_MAX              ),
325
.RX_APPEND_CRC                          (RX_APPEND_CRC                      ),
326
.CRC_chk_en                                     (CRC_chk_en                                 ),
327
.RX_IFG_SET                                     (RX_IFG_SET                                 ),
328
.RX_MAX_LENGTH                          (RX_MAX_LENGTH                      ),
329
.RX_MIN_LENGTH                          (RX_MIN_LENGTH                      ),
330
 //RMON host interface          (//RMON host interface      ),
331
.CPU_rd_addr                                (CPU_rd_addr                                ),
332
.CPU_rd_apply                           (CPU_rd_apply                       ),
333
.CPU_rd_grant                           (CPU_rd_grant                       ),
334
.CPU_rd_dout                                (CPU_rd_dout                                ),
335
 //Phy int host interface       (//Phy int host interface   ),
336
.Line_loop_en                           (Line_loop_en                       ),
337
.Speed                                          (Speed                                      ),
338
 //MII to CPU                   (//MII to CPU               ),
339
.Divider                            (Divider                            ),
340
.CtrlData                           (CtrlData                           ),
341
.Rgad                               (Rgad                               ),
342
.Fiad                               (Fiad                               ),
343
.NoPre                              (NoPre                              ),
344
.WCtrlData                          (WCtrlData                          ),
345
.RStat                              (RStat                              ),
346
.ScanStat                           (ScanStat                           ),
347
.Busy                               (Busy                               ),
348
.LinkFail                           (LinkFail                           ),
349
.Nvalid                             (Nvalid                             ),
350
.Prsd                               (Prsd                               ),
351
.WCtrlDataStart                     (WCtrlDataStart                     ),
352
.RStatStart                         (RStatStart                         ),
353
.UpdateMIIRX_DATAReg                (UpdateMIIRX_DATAReg                )
354
);
355 5 maverickis
endmodule

powered by: WebSVN 2.1.0

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