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

Subversion Repositories xenie

[/] [xenie/] [trunk/] [examples/] [Eth_example/] [src/] [ip/] [rxaui_0/] [synth/] [rxaui_0.vhd] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 DFC
-------------------------------------------------------------------------------
2
-- Title      : Block level wrapper
3
-- Project    : RXAUI
4
-------------------------------------------------------------------------------
5
-- File       : rxaui_0.vhd
6
-------------------------------------------------------------------------------
7
-- Description: This file is a wrapper for the RXAUI core. It contains the
8
-- RXAUI core, the transceivers and some transceiver logic.
9
-------------------------------------------------------------------------------
10
-- (c) Copyright 2009 - 2013 Xilinx, Inc. All rights reserved. 
11
--
12
-- This file contains confidential and proprietary information
13
-- of Xilinx, Inc. and is protected under U.S. and
14
-- international copyright and other intellectual property
15
-- laws.
16
--
17
-- DISCLAIMER
18
-- This disclaimer is not a license and does not grant any
19
-- rights to the materials distributed herewith. Except as
20
-- otherwise provided in a valid license issued to you by
21
-- Xilinx, and to the maximum extent permitted by applicable
22
-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
23
-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
24
-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
25
-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
26
-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
27
-- (2) Xilinx shall not be liable (whether in contract or tort,
28
-- including negligence, or under any other theory of
29
-- liability) for any loss or damage of any kind or nature
30
-- related to, arising under or in connection with these
31
-- materials, including for any direct, or any indirect,
32
-- special, incidental, or consequential loss or damage
33
-- (including loss of data, profits, goodwill, or any type of
34
-- loss or damage suffered as a result of any action brought
35
-- by a third party) even if such damage or loss was
36
-- reasonably foreseeable or Xilinx had been advised of the
37
-- possibility of the same.
38
--
39
-- CRITICAL APPLICATIONS
40
-- Xilinx products are not designed or intended to be fail-
41
-- safe, or for use in any application requiring fail-safe
42
-- performance, such as life-support or safety devices or
43
-- systems, Class III medical devices, nuclear facilities,
44
-- applications related to the deployment of airbags, or any
45
-- other applications that could lead to death, personal
46
-- injury, or severe property or environmental damage
47
-- (individually and collectively, "Critical
48
-- Applications"). Customer assumes the sole risk and
49
-- liability of any use of Xilinx products in Critical
50
-- Applications, subject only to applicable laws and
51
-- regulations governing limitations on product liability.
52
--
53
-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
54
-- PART OF THIS FILE AT ALL TIMES.
55
-------------------------------------------------------------------------------
56
 
57
library ieee;
58
use ieee.std_logic_1164.all;
59
 
60
entity rxaui_0 is
61
    port (
62
      reset                          : in  std_logic;
63
      dclk                           : in  std_logic;
64
      clk156_out                     : out std_logic;
65
      clk156_lock                    : out std_logic;
66
      refclk_p                       : in  std_logic;
67
      refclk_n                       : in  std_logic;
68
      qplloutclk_out                 : out  std_logic;
69
      qplllock_out                   : out  std_logic;
70
      qplloutrefclk_out              : out  std_logic;
71
      refclk_out                     : out  std_logic;
72
      xgmii_txd                      : in  std_logic_vector(63 downto 0);
73
      xgmii_txc                      : in  std_logic_vector(7 downto 0);
74
      xgmii_rxd                      : out std_logic_vector(63 downto 0);
75
      xgmii_rxc                      : out std_logic_vector(7 downto 0);
76
      rxaui_tx_l0_p                  : out std_logic;
77
      rxaui_tx_l0_n                  : out std_logic;
78
      rxaui_tx_l1_p                  : out std_logic;
79
      rxaui_tx_l1_n                  : out std_logic;
80
      rxaui_rx_l0_p                  : in  std_logic;
81
      rxaui_rx_l0_n                  : in  std_logic;
82
      rxaui_rx_l1_p                  : in  std_logic;
83
      rxaui_rx_l1_n                  : in  std_logic;
84
      signal_detect                  : in  std_logic_vector(1 downto 0);
85
      debug                          : out std_logic_vector(5 downto 0);
86
      mdc                            : in  std_logic;
87
      mdio_in                        : in  std_logic;
88
      mdio_out                       : out std_logic;
89
      mdio_tri                       : out std_logic;
90
      prtad                          : in  std_logic_vector(4 downto 0);
91
      type_sel                       : in  std_logic_vector(1 downto 0)
92
);
93
end rxaui_0;
94
 
95
library rxaui_v4_3_7;
96
use rxaui_v4_3_7.all;
97
 
98
architecture wrapper of rxaui_0 is
99
  component rxaui_0_support is
100
    port (
101
      reset                          : in  std_logic;
102
      dclk                           : in  std_logic;
103
      clk156_out                     : out std_logic;
104
      clk156_lock                    : out std_logic;
105
      refclk_p                       : in  std_logic;
106
      refclk_n                       : in  std_logic;
107
      qplloutclk_out                 : out std_logic;
108
      qplllock_out                   : out std_logic;
109
      qplloutrefclk_out              : out std_logic;
110
      refclk_out                     : out std_logic;
111
      xgmii_txd                      : in  std_logic_vector(63 downto 0);
112
      xgmii_txc                      : in  std_logic_vector(7 downto 0);
113
      xgmii_rxd                      : out std_logic_vector(63 downto 0);
114
      xgmii_rxc                      : out std_logic_vector(7 downto 0);
115
      rxaui_tx_l0_p                  : out std_logic;
116
      rxaui_tx_l0_n                  : out std_logic;
117
      rxaui_tx_l1_p                  : out std_logic;
118
      rxaui_tx_l1_n                  : out std_logic;
119
      rxaui_rx_l0_p                  : in  std_logic;
120
      rxaui_rx_l0_n                  : in  std_logic;
121
      rxaui_rx_l1_p                  : in  std_logic;
122
      rxaui_rx_l1_n                  : in  std_logic;
123
      signal_detect                  : in  std_logic_vector(1 downto 0);
124
      debug                          : out std_logic_vector(5 downto 0);
125
   -- GT Control Ports
126
   -- DRP
127
      gt0_drpaddr                    : in  std_logic_vector(8 downto 0);
128
      gt0_drpen                      : in  std_logic;
129
      gt0_drpdi                      : in  std_logic_vector(15 downto 0);
130
      gt0_drpdo                      : out std_logic_vector(15 downto 0);
131
      gt0_drprdy                     : out std_logic;
132
      gt0_drpwe                      : in  std_logic;
133
   -- TX Reset and Initialisation
134
      gt0_txpmareset_in              : in std_logic;
135
      gt0_txpcsreset_in              : in std_logic;
136
      gt0_txresetdone_out            : out std_logic;
137
   -- RX Reset and Initialisation
138
      gt0_rxpmareset_in              : in std_logic;
139
      gt0_rxpcsreset_in              : in std_logic;
140
      gt0_rxresetdone_out            : out std_logic;
141
   -- Clocking
142
      gt0_rxbufstatus_out            : out std_logic_vector(2 downto 0);
143
      gt0_txphaligndone_out          : out std_logic;
144
      gt0_txphinitdone_out           : out std_logic;
145
      gt0_txdlysresetdone_out        : out std_logic;
146
      gt_qplllock_out                      : out std_logic;
147
   -- Signal Integrity adn Functionality
148
   -- Eye Scan
149
      gt0_eyescantrigger_in          : in  std_logic;
150
      gt0_eyescanreset_in            : in  std_logic;
151
      gt0_eyescandataerror_out       : out std_logic;
152
      gt0_rxrate_in                  : in  std_logic_vector(2 downto 0);
153
   -- Loopback
154
      gt0_loopback_in                : in  std_logic_vector(2 downto 0);
155
   -- Polarity
156
      gt0_rxpolarity_in              : in  std_logic;
157
      gt0_txpolarity_in              : in  std_logic;
158
   -- RX Decision Feedback Equalizer(DFE)
159
      gt0_rxlpmen_in                 : in  std_logic;
160
      gt0_rxdfelpmreset_in           : in  std_logic;
161
      gt0_rxmonitorsel_in            : in  std_logic_vector(1 downto 0);
162
      gt0_rxmonitorout_out           : out std_logic_vector(6 downto 0);
163
   -- TX Driver
164
      gt0_txpostcursor_in            : in  std_logic_vector(4 downto 0);
165
      gt0_txprecursor_in             : in  std_logic_vector(4 downto 0);
166
      gt0_txdiffctrl_in              : in  std_logic_vector(3 downto 0);
167
      gt0_txinhibit_in               : in  std_logic;
168
   -- PRBS
169
      gt0_rxprbscntreset_in          : in  std_logic;
170
      gt0_rxprbserr_out              : out std_logic;
171
      gt0_rxprbssel_in               : in  std_logic_vector(2 downto 0);
172
      gt0_txprbssel_in               : in  std_logic_vector(2 downto 0);
173
      gt0_txprbsforceerr_in          : in  std_logic;
174
 
175
      gt0_rxcdrhold_in               : in  std_logic;
176
      gt0_dmonitorout_out            : out std_logic_vector(7 downto 0);
177
 
178
   -- Status
179
      gt0_rxdisperr_out              : out std_logic_vector(3 downto 0);
180
      gt0_rxnotintable_out           : out std_logic_vector(3 downto 0);
181
      gt0_rxcommadet_out             : out std_logic;
182
   -- DRP
183
      gt1_drpaddr                    : in  std_logic_vector(8 downto 0);
184
      gt1_drpen                      : in  std_logic;
185
      gt1_drpdi                      : in  std_logic_vector(15 downto 0);
186
      gt1_drpdo                      : out std_logic_vector(15 downto 0);
187
      gt1_drprdy                     : out std_logic;
188
      gt1_drpwe                      : in  std_logic;
189
   -- TX Reset and Initialisation
190
      gt1_txpmareset_in              : in std_logic;
191
      gt1_txpcsreset_in              : in std_logic;
192
      gt1_txresetdone_out            : out std_logic;
193
   -- RX Reset and Initialisation
194
      gt1_rxpmareset_in              : in std_logic;
195
      gt1_rxpcsreset_in              : in std_logic;
196
      gt1_rxresetdone_out            : out std_logic;
197
   -- Clocking
198
      gt1_rxbufstatus_out            : out std_logic_vector(2 downto 0);
199
      gt1_txphaligndone_out          : out std_logic;
200
      gt1_txphinitdone_out           : out std_logic;
201
      gt1_txdlysresetdone_out        : out std_logic;
202
   -- Signal Integrity adn Functionality
203
   -- Eye Scan
204
      gt1_eyescantrigger_in          : in  std_logic;
205
      gt1_eyescanreset_in            : in  std_logic;
206
      gt1_eyescandataerror_out       : out std_logic;
207
      gt1_rxrate_in                  : in  std_logic_vector(2 downto 0);
208
   -- Loopback
209
      gt1_loopback_in                : in  std_logic_vector(2 downto 0);
210
   -- Polarity
211
      gt1_rxpolarity_in              : in  std_logic;
212
      gt1_txpolarity_in              : in  std_logic;
213
   -- RX Decision Feedback Equalizer(DFE)
214
      gt1_rxlpmen_in                 : in  std_logic;
215
      gt1_rxdfelpmreset_in           : in  std_logic;
216
      gt1_rxmonitorsel_in            : in  std_logic_vector(1 downto 0);
217
      gt1_rxmonitorout_out           : out std_logic_vector(6 downto 0);
218
   -- TX Driver
219
      gt1_txpostcursor_in            : in  std_logic_vector(4 downto 0);
220
      gt1_txprecursor_in             : in  std_logic_vector(4 downto 0);
221
      gt1_txdiffctrl_in              : in  std_logic_vector(3 downto 0);
222
      gt1_txinhibit_in               : in  std_logic;
223
   -- PRBS
224
      gt1_rxprbscntreset_in          : in  std_logic;
225
      gt1_rxprbserr_out              : out std_logic;
226
      gt1_rxprbssel_in               : in  std_logic_vector(2 downto 0);
227
      gt1_txprbssel_in               : in  std_logic_vector(2 downto 0);
228
      gt1_txprbsforceerr_in          : in  std_logic;
229
 
230
      gt1_rxcdrhold_in               : in  std_logic;
231
      gt1_dmonitorout_out            : out std_logic_vector(7 downto 0);
232
 
233
   -- Status
234
      gt1_rxdisperr_out              : out std_logic_vector(3 downto 0);
235
      gt1_rxnotintable_out           : out std_logic_vector(3 downto 0);
236
      gt1_rxcommadet_out             : out std_logic;
237
      mdc                            : in  std_logic;
238
      mdio_in                        : in  std_logic;
239
      mdio_out                       : out std_logic;
240
      mdio_tri                       : out std_logic;
241
      prtad                          : in  std_logic_vector(4 downto 0);
242
      type_sel                       : in  std_logic_vector(1 downto 0)
243
);
244
  end component;
245
 
246
  ATTRIBUTE CORE_GENERATION_INFO : STRING;
247
  ATTRIBUTE CORE_GENERATION_INFO OF wrapper : ARCHITECTURE IS "rxaui_0,rxaui_v4_3_7,{x_ipProduct=Vivado 2016.4,x_ipVendor=xilinx.com,x_ipLibrary=ip,x_ipName=rxaui,x_ipVersion=4.3,x_ipCoreRevision=7,x_ipLanguage=VHDL,x_ipSimLanguage=MIXED,c_family=kintex7,c_component_name=rxaui_0,c_rxaui_mode=0,c_txdata_width=64,c_rxdata_width=64,c_has_mdio=true,c_gtwizardSubCoreName=rxaui_0_gt,c_gt_dmonitorout_width=8,c_gt_txdiffctrl_width=8,c_gt_daddr_width=9,c_refclkrate=156.25,c_drpclk_freq=100.0,c_gt_loc=X0Y0 X0Y1}";
248
  ATTRIBUTE X_CORE_INFO : STRING;
249
  ATTRIBUTE X_CORE_INFO OF wrapper: ARCHITECTURE IS "rxaui_v4_3_7,Vivado 2016.4";
250
 
251
begin
252
 
253
  U0 : rxaui_0_support
254
    port map (
255
       reset                          => reset,
256
       dclk                           => dclk,
257
       clk156_out                     => clk156_out,
258
       clk156_lock                    => clk156_lock,
259
       refclk_p                       => refclk_p,
260
       refclk_n                       => refclk_n,
261
       qplloutclk_out                 => qplloutclk_out,
262
       qplllock_out                   => qplllock_out,
263
       qplloutrefclk_out              => qplloutrefclk_out,
264
       refclk_out                     => refclk_out,
265
       xgmii_txd                      => xgmii_txd,
266
       xgmii_txc                      => xgmii_txc,
267
       xgmii_rxd                      => xgmii_rxd,
268
       xgmii_rxc                      => xgmii_rxc,
269
       rxaui_tx_l0_p                  => rxaui_tx_l0_p,
270
       rxaui_tx_l0_n                  => rxaui_tx_l0_n,
271
       rxaui_tx_l1_p                  => rxaui_tx_l1_p,
272
       rxaui_tx_l1_n                  => rxaui_tx_l1_n,
273
       rxaui_rx_l0_p                  => rxaui_rx_l0_p,
274
       rxaui_rx_l0_n                  => rxaui_rx_l0_n,
275
       rxaui_rx_l1_p                  => rxaui_rx_l1_p,
276
       rxaui_rx_l1_n                  => rxaui_rx_l1_n,
277
       signal_detect                  => signal_detect,
278
       debug                          => debug,
279
   -- DRP
280
       gt0_drpaddr                    => (others => '0'),
281
       gt0_drpen                      => '0',
282
       gt0_drpdi                      => (others => '0'),
283
       gt0_drpdo                      => open,
284
       gt0_drprdy                     => open,
285
       gt0_drpwe                      => '0',
286
   -- TX Reset and Initialisation
287
       gt0_txpmareset_in              => '0',
288
       gt0_txpcsreset_in              => '0',
289
       gt0_txresetdone_out            => open,
290
   -- RX Reset and Initialisation
291
       gt0_rxpmareset_in              => '0',
292
       gt0_rxpcsreset_in              => '0',
293
       gt0_rxresetdone_out            => open,
294
   -- Clocking
295
       gt0_rxbufstatus_out            => open,
296
       gt0_txphaligndone_out          => open,
297
       gt0_txphinitdone_out           => open,
298
       gt0_txdlysresetdone_out        => open,
299
       gt_qplllock_out                => open,
300
   -- Signal Integrity adn Functionality
301
   -- Eye Scan
302
       gt0_eyescantrigger_in          => '0',
303
       gt0_eyescanreset_in            => '0',
304
       gt0_eyescandataerror_out       => open,
305
       gt0_rxrate_in                  => "000",
306
   -- Loopback
307
       gt0_loopback_in                => "000",
308
   -- Polarity
309
       gt0_rxpolarity_in              => '0',
310
       gt0_txpolarity_in              => '0',
311
   -- RX Decision Feedback Equalizer(DFE)
312
       gt0_rxlpmen_in                 => '1',
313
       gt0_rxdfelpmreset_in           => '0',
314
       gt0_rxmonitorsel_in            => "00",
315
       gt0_rxmonitorout_out           => open,
316
   -- TX Driver
317
       gt0_txdiffctrl_in              => "1010",
318
       gt0_txpostcursor_in            => "00000",
319
       gt0_txprecursor_in             => "00000",
320
       gt0_txinhibit_in               => '0',
321
   -- PRBS - GT
322
       gt0_rxprbscntreset_in          => '0',
323
       gt0_rxprbserr_out              => open,
324
       gt0_rxprbssel_in               => "000",
325
       gt0_txprbssel_in               => "000",
326
       gt0_txprbsforceerr_in          => '0',
327
 
328
       gt0_rxcdrhold_in               => '0',
329
       gt0_dmonitorout_out            => open,
330
 
331
   -- Status
332
       gt0_rxdisperr_out              => open,
333
       gt0_rxnotintable_out           => open,
334
       gt0_rxcommadet_out             => open,
335
   -- DRP
336
       gt1_drpaddr                    => (others => '0'),
337
       gt1_drpen                      => '0',
338
       gt1_drpdi                      => (others => '0'),
339
       gt1_drpdo                      => open,
340
       gt1_drprdy                     => open,
341
       gt1_drpwe                      => '0',
342
   -- TX Reset and Initialisation
343
       gt1_txpmareset_in              => '0',
344
       gt1_txpcsreset_in              => '0',
345
       gt1_txresetdone_out            => open,
346
   -- RX Reset and Initialisation
347
       gt1_rxpmareset_in              => '0',
348
       gt1_rxpcsreset_in              => '0',
349
       gt1_rxresetdone_out            => open,
350
   -- Clocking
351
       gt1_rxbufstatus_out            => open,
352
       gt1_txphaligndone_out          => open,
353
       gt1_txphinitdone_out           => open,
354
       gt1_txdlysresetdone_out        => open,
355
   -- Signal Integrity adn Functionality
356
   -- Eye Scan
357
       gt1_eyescantrigger_in          => '0',
358
       gt1_eyescanreset_in            => '0',
359
       gt1_eyescandataerror_out       => open,
360
       gt1_rxrate_in                  => "000",
361
   -- Loopback
362
       gt1_loopback_in                => "000",
363
   -- Polarity
364
       gt1_rxpolarity_in              => '0',
365
       gt1_txpolarity_in              => '0',
366
   -- RX Decision Feedback Equalizer(DFE)
367
       gt1_rxlpmen_in                 => '1',
368
       gt1_rxdfelpmreset_in           => '0',
369
       gt1_rxmonitorsel_in            => "00",
370
       gt1_rxmonitorout_out           => open,
371
   -- TX Driver
372
       gt1_txdiffctrl_in              => "1010",
373
       gt1_txpostcursor_in            => "00000",
374
       gt1_txprecursor_in             => "00000",
375
       gt1_txinhibit_in               => '0',
376
   -- PRBS - GT
377
       gt1_rxprbscntreset_in          => '0',
378
       gt1_rxprbserr_out              => open,
379
       gt1_rxprbssel_in               => "000",
380
       gt1_txprbssel_in               => "000",
381
       gt1_txprbsforceerr_in          => '0',
382
 
383
       gt1_rxcdrhold_in               => '0',
384
       gt1_dmonitorout_out            => open,
385
 
386
   -- Status
387
       gt1_rxdisperr_out              => open,
388
       gt1_rxnotintable_out           => open,
389
       gt1_rxcommadet_out             => open,
390
       mdc                            => mdc,
391
       mdio_in                        => mdio_in,
392
       mdio_out                       => mdio_out,
393
       mdio_tri                       => mdio_tri,
394
       prtad                          => prtad,
395
       type_sel                       => type_sel
396
);
397
 
398
end wrapper;

powered by: WebSVN 2.1.0

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