eFEX firmware  1.7.3
ATLAS l1-calo - electron and tau feature extraction firmware for eFEX boards

Back to eFEX documentation
mgt11g2_tx_rx_cfpga_gt_usrclk_source.vhd
1 ------------------------------------------------------------------------------
2 -- ____ ____
3 -- / /\/ /
4 -- /___/ \ / Vendor: Xilinx
5 -- \ \ \/ Version : 3.6
6 -- \ \ Application : 7 Series FPGAs Transceivers Wizard
7 -- / / Filename : mgt11g2_tx_rx_cfpga_gt_usrclk_source.vhd
8 -- /___/ /\
9 -- \ \ / \
10 -- \___\/\___\
11 --
12 --
13 -- Module mgt11g2_tx_rx_cfpga_GT_USRCLK_SOURCE (for use with GTs)
14 -- Generated by Xilinx 7 Series FPGAs Transceivers 7 Series FPGAs Transceivers Wizard
15 --
16 --
17 -- (c) Copyright 2010-2012 Xilinx, Inc. All rights reserved.
18 --
19 -- This file contains confidential and proprietary information
20 -- of Xilinx, Inc. and is protected under U.S. and
21 -- international copyright and other intellectual property
22 -- laws.
23 --
24 -- DISCLAIMER
25 -- This disclaimer is not a license and does not grant any
26 -- rights to the materials distributed herewith. Except as
27 -- otherwise provided in a valid license issued to you by
28 -- Xilinx, and to the maximum extent permitted by applicable
29 -- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
30 -- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
31 -- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
32 -- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
33 -- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
34 -- (2) Xilinx shall not be liable (whether in contract or tort,
35 -- including negligence, or under any other theory of
36 -- liability) for any loss or damage of any kind or nature
37 -- related to, arising under or in connection with these
38 -- materials, including for any direct, or any indirect,
39 -- special, incidental, or consequential loss or damage
40 -- (including loss of data, profits, goodwill, or any type of
41 -- loss or damage suffered as a result of any action brought
42 -- by a third party) even if such damage or loss was
43 -- reasonably foreseeable or Xilinx had been advised of the
44 -- possibility of the same.
45 --
46 -- CRITICAL APPLICATIONS
47 -- Xilinx products are not designed or intended to be fail-
48 -- safe, or for use in any application requiring fail-safe
49 -- performance, such as life-support or safety devices or
50 -- systems, Class III medical devices, nuclear facilities,
51 -- applications related to the deployment of airbags, or any
52 -- other applications that could lead to death, personal
53 -- injury, or severe property or environmental damage
54 -- (individually and collectively, "Critical
55 -- Applications"). Customer assumes the sole risk and
56 -- liability of any use of Xilinx products in Critical
57 -- Applications, subject only to applicable laws and
58 -- regulations governing limitations on product liability.
59 --
60 -- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
61 -- PART OF THIS FILE AT ALL TIMES.
62 
63 
64 library ieee;
65 use ieee.std_logic_1164.all;
66 use ieee.numeric_std.all;
67 use ieee.std_logic_unsigned.all;
68 library UNISIM;
69 use UNISIM.VCOMPONENTS.ALL;
70 
71 --***********************************Entity Declaration*******************************
73 port
74 (
75 
76  GT0_TXUSRCLK_OUT : out std_logic;
77  GT0_TXUSRCLK2_OUT : out std_logic;
78  GT0_TXOUTCLK_IN : in std_logic;
79  GT0_RXUSRCLK_OUT : out std_logic;
80  GT0_RXUSRCLK2_OUT : out std_logic;
81  GT0_RXOUTCLK_IN : in std_logic;
82 
83  GT1_TXUSRCLK_OUT : out std_logic;
84  GT1_TXUSRCLK2_OUT : out std_logic;
85  GT1_TXOUTCLK_IN : in std_logic;
86  GT1_RXUSRCLK_OUT : out std_logic;
87  GT1_RXUSRCLK2_OUT : out std_logic;
88  GT1_RXOUTCLK_IN : in std_logic;
89 
90  GT2_TXUSRCLK_OUT : out std_logic;
91  GT2_TXUSRCLK2_OUT : out std_logic;
92  GT2_TXOUTCLK_IN : in std_logic;
93  GT2_RXUSRCLK_OUT : out std_logic;
94  GT2_RXUSRCLK2_OUT : out std_logic;
95  GT2_RXOUTCLK_IN : in std_logic;
96 
97  GT3_TXUSRCLK_OUT : out std_logic;
98  GT3_TXUSRCLK2_OUT : out std_logic;
99  GT3_TXOUTCLK_IN : in std_logic;
100  GT3_RXUSRCLK_OUT : out std_logic;
101  GT3_RXUSRCLK2_OUT : out std_logic;
102  GT3_RXOUTCLK_IN : in std_logic;
103  Q1_CLK1_GTREFCLK_PAD_N_IN : in std_logic;
104  Q1_CLK1_GTREFCLK_PAD_P_IN : in std_logic;
105  Q1_CLK1_GTREFCLK_OUT : out std_logic
106 );
107 
108 
110 
112 
113 component MGT11G2_TX_RX_CFPGA_CLOCK_MODULE is
114 generic
115 (
116  MULT : real := 2.0;
117  DIVIDE : integer := 2;
118  CLK_PERIOD : real := 6.4;
119  OUT0_DIVIDE : real := 2.0;
120  OUT1_DIVIDE : integer := 2;
121  OUT2_DIVIDE : integer := 2;
122  OUT3_DIVIDE : integer := 2
123 );
124 port
125  (-- Clock in ports
126  CLK_IN : in std_logic;
127  -- Clock out ports
128  CLK0_OUT : out std_logic;
129  CLK1_OUT : out std_logic;
130  CLK2_OUT : out std_logic;
131  CLK3_OUT : out std_logic;
132  -- Status and control signals
133  MMCM_RESET_IN : in std_logic;
134  MMCM_LOCKED_OUT : out std_logic
135  );
136 end component;
137 
138 --*********************************Wire Declarations**********************************
139 
140  signal tied_to_ground_i : std_logic;
141  signal tied_to_vcc_i : std_logic;
142 
143  signal gt0_txoutclk_i : std_logic;
144  signal gt0_rxoutclk_i : std_logic;
145 
146  signal gt1_txoutclk_i : std_logic;
147  signal gt1_rxoutclk_i : std_logic;
148 
149  signal gt2_txoutclk_i : std_logic;
150  signal gt2_rxoutclk_i : std_logic;
151 
152  signal gt3_txoutclk_i : std_logic;
153  signal gt3_rxoutclk_i : std_logic;
154 
155  attribute syn_noclockbuf : boolean;
156  signal q1_clk1_gtrefclk : std_logic;
157  attribute syn_noclockbuf of q1_clk1_gtrefclk : signal is true;
158 
159  signal gt0_txusrclk_i : std_logic;
160  signal gt0_rxusrclk_i : std_logic;
161  signal gt1_rxusrclk_i : std_logic;
162  signal gt2_rxusrclk_i : std_logic;
163  signal gt3_rxusrclk_i : std_logic;
164 
165 
166 begin
167 
168 --*********************************** Beginning of Code *******************************
169 
170  -- Static signal Assignments
171  tied_to_ground_i <= '0';
172  tied_to_vcc_i <= '1';
173  gt0_txoutclk_i <= GT0_TXOUTCLK_IN;
174  gt0_rxoutclk_i <= GT0_RXOUTCLK_IN;
175  gt1_txoutclk_i <= GT1_TXOUTCLK_IN;
176  gt1_rxoutclk_i <= GT1_RXOUTCLK_IN;
177  gt2_txoutclk_i <= GT2_TXOUTCLK_IN;
178  gt2_rxoutclk_i <= GT2_RXOUTCLK_IN;
179  gt3_txoutclk_i <= GT3_TXOUTCLK_IN;
180  gt3_rxoutclk_i <= GT3_RXOUTCLK_IN;
181 
182  Q1_CLK1_GTREFCLK_OUT <= q1_clk1_gtrefclk;
183 
184  --IBUFDS_GTE2
185  ibufds_instq1_clk1 : IBUFDS_GTE2
186  port map
187  (
188  O => q1_clk1_gtrefclk,
189  ODIV2 => open,
190  CEB => tied_to_ground_i,
191  I => Q1_CLK1_GTREFCLK_PAD_P_IN,
192  IB => Q1_CLK1_GTREFCLK_PAD_N_IN
193  );
194 
195 
196 
197  -- Instantiate a MMCM module to divide the reference clock. Uses internal feedback
198  -- for improved jitter performance, and to avoid consuming an additional BUFG
199  txoutclk_bufg0_i : BUFH
200  port map
201  (
202  I => gt0_txoutclk_i,
203  O => gt0_txusrclk_i
204  );
205 
206 
207  rxoutclk_bufg0_i : BUFH
208  port map
209  (
210  I => gt0_rxoutclk_i,
211  O => gt0_rxusrclk_i
212  );
213 
214 
215  rxoutclk_bufg1_i : BUFH
216  port map
217  (
218  I => gt1_rxoutclk_i,
219  O => gt1_rxusrclk_i
220  );
221 
222 rxoutclk_bufg2_i : BUFH
223  port map
224  (
225  I => gt2_rxoutclk_i,
226  O => gt2_rxusrclk_i
227  );
228 
229 rxoutclk_bufg3_i : BUFH
230  port map
231  (
232  I => gt3_rxoutclk_i,
233  O => gt3_rxusrclk_i
234  );
235 
236 
237 
238 
239 
240 
241 
242 GT0_TXUSRCLK_OUT <= gt0_txusrclk_i;
243 GT0_TXUSRCLK2_OUT <= gt0_txusrclk_i;
244 GT0_RXUSRCLK_OUT <= gt0_rxusrclk_i;
245 GT0_RXUSRCLK2_OUT <= gt0_rxusrclk_i;
246 
247 GT1_TXUSRCLK_OUT <= gt0_txusrclk_i;
248 GT1_TXUSRCLK2_OUT <= gt0_txusrclk_i;
249 GT1_RXUSRCLK_OUT <= gt1_rxusrclk_i;
250 GT1_RXUSRCLK2_OUT <= gt1_rxusrclk_i;
251 
252 GT2_TXUSRCLK_OUT <= gt0_txusrclk_i;
253 GT2_TXUSRCLK2_OUT <= gt0_txusrclk_i;
254 GT2_RXUSRCLK_OUT <= gt2_rxusrclk_i;
255 GT2_RXUSRCLK2_OUT <= gt2_rxusrclk_i;
256 
257 GT3_TXUSRCLK_OUT <= gt0_txusrclk_i;
258 GT3_TXUSRCLK2_OUT <= gt0_txusrclk_i;
259 GT3_RXUSRCLK_OUT <= gt3_rxusrclk_i;
260 GT3_RXUSRCLK2_OUT <= gt3_rxusrclk_i;
261 end RTL;
262