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

Subversion Repositories sgmii

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

Go to most recent revision | 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_pcs.v,v $
7
// $Source: /ipbu/cvs/sio/projects/TriSpeedEthernet/src/RTL/Top_level_modules/altera_tse_pcs.v,v $
8
//
9
// $Revision: #1 $
10
// $Date: 2011/11/10 $
11
// Check in by : $Author: max $
12
// Author      : Arul Paniandi
13
//
14
// Project     : Triple Speed Ethernet
15
//
16
// Description : 
17
//
18
// Top level module for Triple Speed Ethernet PCS
19
 
20
// 
21
// ALTERA Confidential and Proprietary
22
// Copyright 2006 (c) Altera Corporation
23
// All rights reserved
24
//
25
// -------------------------------------------------------------------------
26
// -------------------------------------------------------------------------
27
 
28
(*altera_attribute = {"-name SYNCHRONIZER_IDENTIFICATION OFF" } *)
29
module altera_tse_pcs /* synthesis ALTERA_ATTRIBUTE = "SUPPRESS_DA_RULE_INTERNAL=\"R102,R105,D102,D101,D103\"" */(
30
 
31
    reg_clk,                     // Avalon slave - clock
32
    reg_rd,                      // Avalon slave - read
33
    reg_wr,                      // Avalon slave - write
34
    reg_addr,                    // Avalon slave - address
35
    reg_data_in,                 // Avalon slave - writedata
36
    reg_data_out,                // Avalon slave - readdata
37
    reg_busy,                    // Avalon slave - waitrequest
38
    reset_reg_clk,               // Avalon slave - reset  
39
    reset_rx_clk,
40
    reset_tx_clk,
41
    rx_clk,
42
    tx_clk,
43
        rx_clkena,
44
        tx_clkena,
45
    gmii_rx_dv,
46
    gmii_rx_d,
47
    gmii_rx_err,
48
    gmii_tx_en,
49
    gmii_tx_d,
50
    gmii_tx_err,
51
    mii_rx_dv,
52
    mii_rx_d,
53
    mii_rx_err,
54
    mii_tx_en,
55
    mii_tx_d,
56
    mii_tx_err,
57
    mii_col,
58
    mii_crs,
59
    tbi_rx_clk,
60
    tbi_tx_clk,
61
    tbi_rx_d,
62
    tbi_tx_d,
63
    sd_loopback,
64
    powerdown,
65
    set_10,
66
    set_100,
67
    set_1000,
68
    hd_ena,
69
    led_col,
70
    led_an,
71
    led_char_err,
72
    led_disp_err,
73
    led_crs,
74
    led_link);
75
 
76
 
77
parameter PHY_IDENTIFIER     = 32'h 00000000 ;
78
parameter DEV_VERSION        = 16'h 0001 ;
79
parameter ENABLE_SGMII       = 1;                 //  Enable SGMII logic for synthesis
80
parameter SYNCHRONIZER_DEPTH = 3;                 //  Number of synchronizer   
81
 
82
input   reset_rx_clk;           //  Asynchronous Reset - rx_clk Domain
83
input   reset_tx_clk;           //  Asynchronous Reset - tx_clk Domain
84
input   reset_reg_clk;          //  Asynchronous Reset - clk Domain
85
output  rx_clk;                 //  MAC Receive clock
86
output  tx_clk;                 //  MAC Transmit clock
87
output  rx_clkena;              //  MAC Receive Clock Enable
88
output  tx_clkena;              //  MAC Transmit Clock Enable
89
output  gmii_rx_dv;             //  GMII Receive Enable
90
output  [7:0] gmii_rx_d;        //  GMII Receive Data
91
output  gmii_rx_err;            //  GMII Receive Error
92
input   gmii_tx_en;             //  GMII Transmit Enable
93
input   [7:0] gmii_tx_d;        //  GMII Transmit Data
94
input   gmii_tx_err;            //  GMII Transmit Error
95
output  mii_rx_dv;              //  MII Receive Enable
96
output  [3:0] mii_rx_d;         //  MII Receive Data
97
output  mii_rx_err;             //  MII Receive Error
98
input   mii_tx_en;              //  MII Transmit Enable
99
input   [3:0] mii_tx_d;         //  MII Transmit Data
100
input   mii_tx_err;             //  MII Transmit Error
101
output  mii_col;                //  MII Collision
102
output  mii_crs;                //  MII Carrier Sense
103
input   tbi_rx_clk;             //  125MHz Recoved Clock
104
input   tbi_tx_clk;             //  125MHz Transmit Clock
105
input   [9:0] tbi_rx_d;         //  Non Aligned 10-Bit Characters
106
output  [9:0] tbi_tx_d;         //  Transmit TBI Interface
107
output  sd_loopback;            //  SERDES Loopback Enable
108
output  powerdown;              //  Powerdown Enable
109
input   reg_clk;                //  Register Interface Clock
110
input   reg_rd;                 //  Register Read Enable
111
input   reg_wr;                 //  Register Write Enable
112
input   [4:0] reg_addr;         //  Register Address
113
input   [15:0] reg_data_in;     //  Register Input Data 
114
output  [15:0] reg_data_out;    //  Register Output Data
115
output  reg_busy;               //  Access Busy 
116
output  led_crs;                //  Carrier Sense
117
output  led_link;               //  Valid Link 
118
output  hd_ena;                 //  Half-Duplex Enable
119
output  led_col;                //  Collision Indication
120
output  led_an;                 //  Auto-Negotiation Status
121
output  led_char_err;           //  Character Error
122
output  led_disp_err;           //  Disparity Error
123
output  set_10;                 //  10Mbps Link Indication
124
output  set_100;                //  100Mbps Link Indication
125
output  set_1000;               //  Gigabit Link Indication
126
 
127
wire    rx_clk;
128
wire    tx_clk;
129
wire    rx_clkena;
130
wire    tx_clkena;
131
wire    gmii_rx_dv;
132
wire    [7:0] gmii_rx_d;
133
wire    gmii_rx_err;
134
wire    mii_rx_dv;
135
wire    [3:0] mii_rx_d;
136
wire    mii_rx_err;
137
wire    mii_col;
138
wire    mii_crs;
139
wire    [9:0] tbi_tx_d;
140
wire    sd_loopback;
141
wire    powerdown;
142
wire    [15:0] reg_data_out;
143
wire    reg_busy;
144
wire    led_crs;
145
wire    led_link;
146
wire    hd_ena;
147
wire    led_col;
148
wire    led_an;
149
wire    led_char_err;
150
wire    led_disp_err;
151
wire    set_10;
152
wire    set_100;
153
wire    set_1000;
154
 
155
 
156
 
157
    altera_tse_top_1000_base_x    top_1000_base_x_inst(
158
        .reset_rx_clk(reset_rx_clk),
159
        .reset_tx_clk(reset_tx_clk),
160
        .reset_reg_clk(reset_reg_clk),
161
        .rx_clk(rx_clk),
162
        .tx_clk(tx_clk),
163
                .rx_clkena(rx_clkena),
164
                .tx_clkena(tx_clkena),
165
                .ref_clk(1'b0),
166
        .gmii_rx_dv(gmii_rx_dv),
167
        .gmii_rx_d(gmii_rx_d),
168
        .gmii_rx_err(gmii_rx_err),
169
        .gmii_tx_en(gmii_tx_en),
170
        .gmii_tx_d(gmii_tx_d),
171
        .gmii_tx_err(gmii_tx_err),
172
        .mii_rx_dv(mii_rx_dv),
173
        .mii_rx_d(mii_rx_d),
174
        .mii_rx_err(mii_rx_err),
175
        .mii_tx_en(mii_tx_en),
176
        .mii_tx_d(mii_tx_d),
177
        .mii_tx_err(mii_tx_err),
178
        .mii_col(mii_col),
179
        .mii_crs(mii_crs),
180
        .tbi_rx_clk(tbi_rx_clk),
181
        .tbi_tx_clk(tbi_tx_clk),
182
        .tbi_rx_d(tbi_rx_d),
183
        .tbi_tx_d(tbi_tx_d),
184
        .sd_loopback(sd_loopback),
185
        .reg_clk(reg_clk),
186
        .reg_rd(reg_rd),
187
        .reg_wr(reg_wr),
188
        .reg_addr(reg_addr),
189
        .reg_data_in(reg_data_in),
190
        .reg_data_out(reg_data_out),
191
        .reg_busy(reg_busy),
192
        .powerdown(powerdown),
193
        .set_10(set_10),
194
        .set_100(set_100),
195
        .set_1000(set_1000),
196
        .hd_ena(hd_ena),
197
        .led_col(led_col),
198
        .led_an(led_an),
199
        .led_char_err(led_char_err),
200
        .led_disp_err(led_disp_err),
201
        .led_crs(led_crs),
202
        .led_link(led_link));
203
 
204
defparam
205
    top_1000_base_x_inst.PHY_IDENTIFIER = PHY_IDENTIFIER,
206
    top_1000_base_x_inst.DEV_VERSION = DEV_VERSION,
207
    top_1000_base_x_inst.ENABLE_SGMII = ENABLE_SGMII;
208
 
209
 
210
 
211
endmodule

powered by: WebSVN 2.1.0

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