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

Subversion Repositories sgmii

[/] [sgmii/] [trunk/] [sim/] [BFMs/] [SGMII_altera/] [triple_speed_ethernet-library/] [altera_tse_gxb_gige_inst.v] - Blame information for rev 20

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 9 jefflieu
// -------------------------------------------------------------------------
2
// -------------------------------------------------------------------------
3
//
4
// Revision Control Information
5
//
6
// $RCSfile: altera_tse_gxb_gige_inst.v,v $
7
// $Source: /ipbu/cvs/sio/projects/TriSpeedEthernet/src/RTL/Top_level_modules/altera_tse_gxb_gige_inst.v,v $
8
//
9
// $Revision: #1 $
10 20 jefflieu
// $Date: 2012/06/21 $
11
// Check in by : $Author: swbranch $
12 9 jefflieu
// Author      : Siew Kong NG
13
//
14
// Project     : Triple Speed Ethernet - 1000 BASE-X PCS
15
//
16
// Description : 
17
//
18
// Instantiation for Alt2gxb, Alt4gxb
19
 
20
// 
21
// ALTERA Confidential and Proprietary
22
// Copyright 2007 (c) Altera Corporation
23
// All rights reserved
24
//
25
// -------------------------------------------------------------------------
26
// -------------------------------------------------------------------------
27
 
28
//Legal Notice: (C)2007 Altera Corporation. All rights reserved.  Your
29
//use of Altera Corporation's design tools, logic functions and other
30
//software and tools, and its AMPP partner logic functions, and any
31
//output files any of the foregoing (including device programming or
32
//simulation files), and any associated documentation or information are
33
//expressly subject to the terms and conditions of the Altera Program
34
//License Subscription Agreement or other applicable license agreement,
35
//including, without limitation, that your use is for the sole purpose
36
//of programming logic devices manufactured by Altera and sold by Altera
37
//or its authorized distributors.  Please refer to the applicable
38
//agreement for further details.
39
 
40
module altera_tse_gxb_gige_inst (
41
        cal_blk_clk,
42
        gxb_powerdown,
43
        pll_inclk,
44
        reconfig_clk,
45
        reconfig_togxb,
46
        rx_analogreset,
47
        rx_cruclk,
48
        rx_datain,
49
        rx_digitalreset,
50
        rx_seriallpbken,
51
        tx_ctrlenable,
52
        tx_datain,
53
        tx_digitalreset,
54
    pll_powerdown,
55
    pll_locked,
56
    rx_freqlocked,
57
        reconfig_fromgxb,
58
        rx_ctrldetect,
59
    rx_clkout,
60
        rx_dataout,
61
        rx_disperr,
62
        rx_errdetect,
63
        rx_patterndetect,
64
        rx_rlv,
65
        rx_syncstatus,
66
        tx_clkout,
67
        tx_dataout,
68
        rx_recovclkout,
69
        rx_rmfifodatadeleted,
70
        rx_rmfifodatainserted,
71
        rx_runningdisp
72
);
73
parameter DEVICE_FAMILY           = "ARRIAGX";    //  The device family the the core is targetted for.
74
parameter STARTING_CHANNEL_NUMBER = 0;
75
parameter ENABLE_ALT_RECONFIG     = 0;
76
parameter ENABLE_SGMII            = 1;            //  Use to determine rate match FIFO in ALTGX GIGE mode
77
 
78
 
79
 
80
        input   cal_blk_clk;
81
        input   gxb_powerdown;
82
        input   pll_inclk;
83
        input   reconfig_clk;
84
        input   [3:0]  reconfig_togxb;
85
        input   rx_analogreset;
86
        input   rx_cruclk;
87
        input   rx_datain;
88
        input   rx_digitalreset;
89
        input   rx_seriallpbken;
90
        input   tx_ctrlenable;
91
        input   [7:0]  tx_datain;
92
        input   tx_digitalreset;
93
    input   pll_powerdown;
94
    output  pll_locked;
95
    output  rx_freqlocked;
96
        output  [16:0]  reconfig_fromgxb;
97
        output  rx_ctrldetect;
98
    output      rx_clkout;
99
        output  [7:0]  rx_dataout;
100
        output  rx_disperr;
101
        output  rx_errdetect;
102
        output  rx_patterndetect;
103
        output  rx_rlv;
104
        output  rx_syncstatus;
105
        output  tx_clkout;
106
        output  tx_dataout;
107
        output  rx_recovclkout;
108
        output  rx_rmfifodatadeleted;
109
        output  rx_rmfifodatainserted;
110
        output  rx_runningdisp;
111
 
112
 
113
        wire    [16:0] reconfig_fromgxb;
114
        wire    [2:0]  reconfig_togxb_alt2gxb;
115
        wire    reconfig_fromgxb_alt2gxb;
116
        wire    wire_reconfig_clk;
117
        wire    [3:0] wire_reconfig_togxb;
118
 
119
        (* altera_attribute = "-name MESSAGE_DISABLE 10036" *)
120
        wire    [16:0] wire_reconfig_fromgxb;
121
 
122
 
123
        generate if (ENABLE_ALT_RECONFIG == 0)
124
            begin
125
 
126
                assign wire_reconfig_clk = 1'b0;
127
                assign wire_reconfig_togxb = 4'b0010;
128
                assign reconfig_fromgxb = {17{1'b0}};
129
 
130
            end
131
        else
132
            begin
133
 
134
                assign wire_reconfig_clk = reconfig_clk;
135
                assign wire_reconfig_togxb = reconfig_togxb;
136
                assign reconfig_fromgxb = wire_reconfig_fromgxb;
137
 
138
            end
139
        endgenerate
140
 
141
 
142
        generate if ((DEVICE_FAMILY == "STRATIXIIGX" || DEVICE_FAMILY == "ARRIAGX") && (ENABLE_SGMII == 0))
143
        begin
144
 
145
          altera_tse_alt2gxb_gige the_altera_tse_alt2gxb_gige
146
          (
147
            .cal_blk_clk (cal_blk_clk),
148
            .gxb_powerdown (gxb_powerdown),
149
            .pll_inclk (pll_inclk),
150
            .reconfig_clk(wire_reconfig_clk),
151
            .reconfig_togxb(reconfig_togxb_alt2gxb),
152
            .reconfig_fromgxb(reconfig_fromgxb_alt2gxb),
153
            .rx_analogreset (rx_analogreset),
154
            .rx_cruclk (rx_cruclk),
155
            .rx_ctrldetect (rx_ctrldetect),
156
            .rx_datain (rx_datain),
157
            .rx_dataout (rx_dataout),
158
            .rx_digitalreset (rx_digitalreset),
159
            .rx_disperr (rx_disperr),
160
            .rx_errdetect (rx_errdetect),
161
            .rx_patterndetect (rx_patterndetect),
162
            .rx_rlv (rx_rlv),
163
            .rx_seriallpbken (rx_seriallpbken),
164
            .rx_syncstatus (rx_syncstatus),
165
            .tx_clkout (tx_clkout),
166
            .tx_ctrlenable (tx_ctrlenable),
167
            .tx_datain (tx_datain),
168
            .tx_dataout (tx_dataout),
169
            .tx_digitalreset (tx_digitalreset),
170
            .rx_recovclkout(rx_recovclkout),
171
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted),
172
            .rx_rmfifodatainserted(rx_rmfifodatainserted),
173
            .rx_runningdisp(rx_runningdisp),
174
            .rx_freqlocked(rx_freqlocked),
175
            .pll_locked(pll_locked)
176
          );
177
          defparam
178
              the_altera_tse_alt2gxb_gige.starting_channel_number = STARTING_CHANNEL_NUMBER,
179
              the_altera_tse_alt2gxb_gige.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG;
180
 
181
 
182
          assign reconfig_togxb_alt2gxb = wire_reconfig_togxb[2:0];
183
          assign wire_reconfig_fromgxb = {{16{1'b0}}, reconfig_fromgxb_alt2gxb};
184 20 jefflieu
          assign rx_clkout  = tx_clkout;
185
 
186 9 jefflieu
 
187
        end
188
        endgenerate
189
 
190
    generate if ((DEVICE_FAMILY == "STRATIXIIGX" || DEVICE_FAMILY == "ARRIAGX") && (ENABLE_SGMII == 1))
191
        begin
192
 
193
          altera_tse_alt2gxb_gige_wo_rmfifo the_altera_tse_alt2gxb_gige_wo_rmfifo
194
          (
195
            .cal_blk_clk (cal_blk_clk),
196
            .gxb_powerdown (gxb_powerdown),
197
            .pll_inclk (pll_inclk),
198
            .reconfig_clk(wire_reconfig_clk),
199
            .reconfig_togxb(reconfig_togxb_alt2gxb),
200
            .reconfig_fromgxb(reconfig_fromgxb_alt2gxb),
201
            .rx_analogreset (rx_analogreset),
202
            .rx_cruclk (rx_cruclk),
203
            .rx_ctrldetect (rx_ctrldetect),
204
            .rx_clkout (rx_clkout),
205
            .rx_datain (rx_datain),
206
            .rx_dataout (rx_dataout),
207
            .rx_digitalreset (rx_digitalreset),
208
            .rx_disperr (rx_disperr),
209
            .rx_errdetect (rx_errdetect),
210
            .rx_patterndetect (rx_patterndetect),
211
            .rx_rlv (rx_rlv),
212
            .rx_seriallpbken (rx_seriallpbken),
213
            .rx_syncstatus (rx_syncstatus),
214
            .tx_clkout (tx_clkout),
215
            .tx_ctrlenable (tx_ctrlenable),
216
            .tx_datain (tx_datain),
217
            .tx_dataout (tx_dataout),
218
            .tx_digitalreset (tx_digitalreset),
219
            .rx_recovclkout(rx_recovclkout),
220
            .rx_rmfifodatadeleted(),
221
            .rx_rmfifodatainserted(),
222
            .rx_runningdisp(rx_runningdisp),
223
            .rx_freqlocked(rx_freqlocked),
224
            .pll_locked(pll_locked)
225
          );
226
          defparam
227
              the_altera_tse_alt2gxb_gige_wo_rmfifo.starting_channel_number = STARTING_CHANNEL_NUMBER,
228
              the_altera_tse_alt2gxb_gige_wo_rmfifo.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG;
229
 
230
 
231
          assign reconfig_togxb_alt2gxb = wire_reconfig_togxb[2:0];
232
          assign wire_reconfig_fromgxb = {{16{1'b0}}, reconfig_fromgxb_alt2gxb};
233
 
234
          assign rx_rmfifodatadeleted = 1'b0;
235
          assign rx_rmfifodatainserted = 1'b0;
236
 
237
        end
238
        endgenerate
239
 
240
        generate if ((DEVICE_FAMILY == "STRATIXIV" || DEVICE_FAMILY == "HARDCOPYIV" || DEVICE_FAMILY == "ARRIAIIGX" || DEVICE_FAMILY == "ARRIAIIGZ") && (ENABLE_SGMII == 0))
241
        begin
242
 
243
          altera_tse_alt4gxb_gige the_altera_tse_alt4gxb_gige
244
          (
245
            .cal_blk_clk (cal_blk_clk),
246
            .fixedclk(wire_reconfig_clk),
247
            .fixedclk_fast(6'b0),
248
            .gxb_powerdown (gxb_powerdown),
249
            .pll_inclk (pll_inclk),
250
            .reconfig_clk(wire_reconfig_clk),
251
            .reconfig_togxb(wire_reconfig_togxb),
252
            .reconfig_fromgxb(wire_reconfig_fromgxb),
253
            .rx_analogreset (rx_analogreset),
254
            .rx_cruclk (rx_cruclk),
255
            .rx_ctrldetect (rx_ctrldetect),
256
            .rx_datain (rx_datain),
257
            .rx_dataout (rx_dataout),
258
            .rx_digitalreset (rx_digitalreset),
259
            .rx_disperr (rx_disperr),
260
            .rx_errdetect (rx_errdetect),
261
            .rx_patterndetect (rx_patterndetect),
262
            .rx_rlv (rx_rlv),
263
            .rx_seriallpbken (rx_seriallpbken),
264
            .rx_syncstatus (rx_syncstatus),
265
            .tx_clkout (tx_clkout),
266
            .tx_ctrlenable (tx_ctrlenable),
267
            .tx_datain (tx_datain),
268
            .tx_dataout (tx_dataout),
269
            .tx_digitalreset (tx_digitalreset),
270
            .rx_recovclkout(rx_recovclkout),
271
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted),
272
            .rx_rmfifodatainserted(rx_rmfifodatainserted),
273
            .rx_runningdisp(rx_runningdisp),
274
            .pll_powerdown(pll_powerdown),
275
            .rx_freqlocked(rx_freqlocked),
276
            .pll_locked(pll_locked)
277
          );
278
          defparam
279
              the_altera_tse_alt4gxb_gige.starting_channel_number = STARTING_CHANNEL_NUMBER;
280 20 jefflieu
 
281
            assign rx_clkout  = tx_clkout;
282 9 jefflieu
        end
283
        endgenerate
284
 
285
    generate if ((DEVICE_FAMILY == "STRATIXIV" || DEVICE_FAMILY == "HARDCOPYIV" || DEVICE_FAMILY == "ARRIAIIGX" || DEVICE_FAMILY == "ARRIAIIGZ" ) && (ENABLE_SGMII == 1))
286
        begin
287
 
288
          altera_tse_alt4gxb_gige_wo_rmfifo the_altera_tse_alt4gxb_gige_wo_rmfifo
289
          (
290
            .cal_blk_clk (cal_blk_clk),
291
            .fixedclk(wire_reconfig_clk),
292
            .fixedclk_fast(6'b0),
293
            .gxb_powerdown (gxb_powerdown),
294
            .pll_inclk (pll_inclk),
295
            .reconfig_clk(wire_reconfig_clk),
296
            .reconfig_togxb(wire_reconfig_togxb),
297
            .reconfig_fromgxb(wire_reconfig_fromgxb),
298
            .rx_analogreset (rx_analogreset),
299
            .rx_cruclk (rx_cruclk),
300
            .rx_ctrldetect (rx_ctrldetect),
301
            .rx_clkout (rx_clkout),
302
            .rx_datain (rx_datain),
303
            .rx_dataout (rx_dataout),
304
            .rx_digitalreset (rx_digitalreset),
305
            .rx_disperr (rx_disperr),
306
            .rx_errdetect (rx_errdetect),
307
            .rx_patterndetect (rx_patterndetect),
308
            .rx_rlv (rx_rlv),
309
            .rx_seriallpbken (rx_seriallpbken),
310
            .rx_syncstatus (rx_syncstatus),
311
            .tx_clkout (tx_clkout),
312
            .tx_ctrlenable (tx_ctrlenable),
313
            .tx_datain (tx_datain),
314
            .tx_dataout (tx_dataout),
315
            .tx_digitalreset (tx_digitalreset),
316
            .rx_recovclkout(rx_recovclkout),
317
            .rx_rmfifodatadeleted(),
318
            .rx_rmfifodatainserted(),
319
            .rx_runningdisp(rx_runningdisp),
320
            .pll_powerdown(pll_powerdown),
321
            .rx_freqlocked(rx_freqlocked),
322
            .pll_locked(pll_locked)
323
          );
324
          defparam
325
              the_altera_tse_alt4gxb_gige_wo_rmfifo.starting_channel_number = STARTING_CHANNEL_NUMBER;
326
 
327
          assign rx_rmfifodatadeleted = 1'b0;
328
          assign rx_rmfifodatainserted = 1'b0;
329
 
330
        end
331
        endgenerate
332
 
333
 
334
        generate if ((DEVICE_FAMILY == "CYCLONEIVGX") && (ENABLE_SGMII == 0))
335
        begin
336
 
337
          altera_tse_altgx_civgx_gige the_altera_tse_alt_gx_civgx
338
          (
339
            .cal_blk_clk (cal_blk_clk),
340
            .fixedclk(wire_reconfig_clk),
341
            .fixedclk_fast(1'b0),
342
            .gxb_powerdown (gxb_powerdown),
343
            .pll_inclk (pll_inclk),
344
            .reconfig_clk(wire_reconfig_clk),
345
            .reconfig_togxb(wire_reconfig_togxb),
346
            .rx_analogreset (rx_analogreset),
347
            .rx_ctrldetect (rx_ctrldetect),
348
            .rx_datain (rx_datain),
349
            .rx_dataout (rx_dataout),
350
            .rx_digitalreset (rx_digitalreset),
351
            .rx_disperr (rx_disperr),
352
            .rx_errdetect (rx_errdetect),
353
            .rx_patterndetect (rx_patterndetect),
354
            .rx_rlv (rx_rlv),
355
            .rx_syncstatus (rx_syncstatus),
356
            .tx_clkout (tx_clkout),
357
            .tx_ctrlenable (tx_ctrlenable),
358
            .tx_datain (tx_datain),
359
            .tx_dataout (tx_dataout),
360
            .tx_digitalreset (tx_digitalreset),
361
            .reconfig_fromgxb(wire_reconfig_fromgxb[4:0]),
362
            .rx_recovclkout(rx_recovclkout),
363
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted),
364
            .rx_rmfifodatainserted(rx_rmfifodatainserted),
365
            .rx_runningdisp(rx_runningdisp),
366
            .pll_areset(pll_powerdown),
367
            .rx_freqlocked(rx_freqlocked),
368
            .pll_locked(pll_locked)
369
          );
370
                  defparam
371
              the_altera_tse_alt_gx_civgx.starting_channel_number = STARTING_CHANNEL_NUMBER;
372 20 jefflieu
 
373
            assign rx_clkout  = tx_clkout;
374 9 jefflieu
        end
375
        endgenerate
376
 
377
    generate if ((DEVICE_FAMILY == "CYCLONEIVGX") && (ENABLE_SGMII == 1))
378
        begin
379
 
380
          altera_tse_altgx_civgx_gige_wo_rmfifo the_altera_tse_alt_gx_civgx_wo_rmfifo
381
          (
382
            .cal_blk_clk (cal_blk_clk),
383
            .fixedclk(wire_reconfig_clk),
384
            .fixedclk_fast(1'b0),
385
            .gxb_powerdown (gxb_powerdown),
386
            .pll_inclk (pll_inclk),
387
            .reconfig_clk(wire_reconfig_clk),
388
            .reconfig_togxb(wire_reconfig_togxb),
389
            .rx_analogreset (rx_analogreset),
390
            .rx_ctrldetect (rx_ctrldetect),
391
            .rx_clkout (rx_clkout),
392
            .rx_datain (rx_datain),
393
            .rx_dataout (rx_dataout),
394
            .rx_digitalreset (rx_digitalreset),
395
            .rx_disperr (rx_disperr),
396
            .rx_errdetect (rx_errdetect),
397
            .rx_patterndetect (rx_patterndetect),
398
            .rx_rlv (rx_rlv),
399
            .rx_syncstatus (rx_syncstatus),
400
            .tx_clkout (tx_clkout),
401
            .tx_ctrlenable (tx_ctrlenable),
402
            .tx_datain (tx_datain),
403
            .tx_dataout (tx_dataout),
404
            .tx_digitalreset (tx_digitalreset),
405
            .reconfig_fromgxb(wire_reconfig_fromgxb[4:0]),
406
            .rx_recovclkout(rx_recovclkout),
407
            .rx_rmfifodatadeleted(),
408
            .rx_rmfifodatainserted(),
409
            .rx_runningdisp(rx_runningdisp),
410
            .pll_areset(pll_powerdown),
411
            .rx_freqlocked(rx_freqlocked),
412
            .pll_locked(pll_locked)
413
          );
414
                  defparam
415
              the_altera_tse_alt_gx_civgx_wo_rmfifo.starting_channel_number = STARTING_CHANNEL_NUMBER;
416
 
417
          assign rx_rmfifodatadeleted = 1'b0;
418
          assign rx_rmfifodatainserted = 1'b0;
419
        end
420
        endgenerate
421
 
422
endmodule

powered by: WebSVN 2.1.0

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