source: ResearchApps/PHY/WARPLAB/WARPLab_v6p4/EDK_files_w3_4radio/system.ucf

Last change on this file was 1877, checked in by murphpo, 11 years ago
File size: 46.7 KB
Line 
1#Debug header LOC constraints (manually entered)
2NET "debug_status<0>" LOC = "AG27" | IOSTANDARD = LVCMOS25; #pin 0
3NET "debug_status<1>" LOC = "AE26" | IOSTANDARD = LVCMOS25; #pin 1
4
5NET "debug_sw_gpio<0>" LOC = "AF26"  | IOSTANDARD = "LVCMOS25"; #pin 2
6NET "debug_sw_gpio<1>" LOC = "AD25"  | IOSTANDARD = "LVCMOS25"; #pin 3
7NET "debug_sw_gpio<2>" LOC = "V24"   | IOSTANDARD = "LVCMOS25"; #pin 4
8NET "debug_sw_gpio<3>" LOC = "AA23"  | IOSTANDARD = "LVCMOS25"; #pin 5
9NET "debug_sw_gpio<4>" LOC = "AH30"  | IOSTANDARD = "LVCMOS25"; #pin 6
10NET "debug_sw_gpio<5>" LOC = "AK31"  | IOSTANDARD = "LVCMOS25"; #pin 7
11
12#User IO
13Net USERIO_hexdisp_left_pin<0> LOC=AL33  |  IOSTANDARD = LVCMOS25;
14Net USERIO_hexdisp_left_pin<1> LOC=AK33  |  IOSTANDARD = LVCMOS25;
15Net USERIO_hexdisp_left_pin<2> LOC=AH32  |  IOSTANDARD = LVCMOS25;
16Net USERIO_hexdisp_left_pin<3> LOC=AF29  |  IOSTANDARD = LVCMOS25;
17Net USERIO_hexdisp_left_pin<4> LOC=AE29  |  IOSTANDARD = LVCMOS25;
18Net USERIO_hexdisp_left_pin<5> LOC=AK32  |  IOSTANDARD = LVCMOS25;
19Net USERIO_hexdisp_left_pin<6> LOC=AF30  |  IOSTANDARD = LVCMOS25;
20Net USERIO_hexdisp_right_pin<0> LOC=AE28  |  IOSTANDARD = LVCMOS25;
21Net USERIO_hexdisp_right_pin<1> LOC=AD26  |  IOSTANDARD = LVCMOS25;
22Net USERIO_hexdisp_right_pin<2> LOC=AC24  |  IOSTANDARD = LVCMOS25;
23Net USERIO_hexdisp_right_pin<3> LOC=AE23  |  IOSTANDARD = LVCMOS25;
24Net USERIO_hexdisp_right_pin<4> LOC=AC22  |  IOSTANDARD = LVCMOS25;
25Net USERIO_hexdisp_right_pin<5> LOC=AD27  |  IOSTANDARD = LVCMOS25;
26Net USERIO_hexdisp_right_pin<6> LOC=AB23  |  IOSTANDARD = LVCMOS25;
27Net USERIO_hexdisp_left_dp_pin LOC=AG30  |  IOSTANDARD = LVCMOS25;
28Net USERIO_hexdisp_right_dp_pin LOC=AC23  |  IOSTANDARD = LVCMOS25;
29Net USERIO_leds_red_pin<0> LOC=AN34  |  IOSTANDARD = LVCMOS25;
30Net USERIO_leds_red_pin<1> LOC=AM33  |  IOSTANDARD = LVCMOS25;
31Net USERIO_leds_red_pin<2> LOC=AN33  |  IOSTANDARD = LVCMOS25;
32Net USERIO_leds_red_pin<3> LOC=AP33  |  IOSTANDARD = LVCMOS25;
33Net USERIO_leds_green_pin<0> LOC=AD22  |  IOSTANDARD = LVCMOS25;
34Net USERIO_leds_green_pin<1> LOC=AE22  |  IOSTANDARD = LVCMOS25;
35Net USERIO_leds_green_pin<2> LOC=AM32  |  IOSTANDARD = LVCMOS25;
36Net USERIO_leds_green_pin<3> LOC=AN32  |  IOSTANDARD = LVCMOS25;
37Net USERIO_rfa_led_red_pin LOC=AL34  |  IOSTANDARD = LVCMOS25;
38Net USERIO_rfa_led_green_pin LOC=AK34  |  IOSTANDARD = LVCMOS25;
39Net USERIO_rfb_led_red_pin LOC=AJ34  |  IOSTANDARD = LVCMOS25;
40Net USERIO_rfb_led_green_pin LOC=AH34  |  IOSTANDARD = LVCMOS25;
41Net USERIO_dipsw_pin<3> LOC=AM22  |  IOSTANDARD = LVCMOS15;
42Net USERIO_dipsw_pin<2> LOC=AL23  |  IOSTANDARD = LVCMOS15;
43Net USERIO_dipsw_pin<1> LOC=AM23  |  IOSTANDARD = LVCMOS15;
44Net USERIO_dipsw_pin<0> LOC=AN23  |  IOSTANDARD = LVCMOS15;
45Net USERIO_pb_u_pin LOC=AM21  |  IOSTANDARD = LVCMOS15;
46Net USERIO_pb_m_pin LOC=AN22  |  IOSTANDARD = LVCMOS15;
47Net USERIO_pb_d_pin LOC=AP22  |  IOSTANDARD = LVCMOS15;
48
49#USB UART on WARP v3 rev 1.1
50Net UART_USB_TX_pin LOC = H9  |  IOSTANDARD=LVCMOS25; #FT230X RXD pin
51Net UART_USB_RX_pin LOC = J9  |  IOSTANDARD=LVCMOS25; #FT230X TXD pin
52
53#IIC EEPROM (on board)
54Net IIC_EEPROM_iic_sda_pin LOC = AG23  |  IOSTANDARD=LVCMOS25;
55Net IIC_EEPROM_iic_scl_pin LOC = AF23  |  IOSTANDARD=LVCMOS25;
56
57#ETH A
58Net ETH_A_TemacPhy_RST_n_pin LOC=L9  |  IOSTANDARD = LVCMOS25  |  TIG;
59Net ETH_A_RGMII_TXD_0_pin<0> LOC=AF9  |  IOSTANDARD = LVCMOS25;
60Net ETH_A_RGMII_TXD_0_pin<1> LOC=AF10  |  IOSTANDARD = LVCMOS25;
61Net ETH_A_RGMII_TXD_0_pin<2> LOC=AD9  |  IOSTANDARD = LVCMOS25;
62Net ETH_A_RGMII_TXD_0_pin<3> LOC=AD10  |  IOSTANDARD = LVCMOS25;
63Net ETH_A_RGMII_TX_CTL_0_pin LOC=AG8  |  IOSTANDARD = LVCMOS25;
64Net ETH_A_RGMII_TXC_0_pin LOC=AE9  |  IOSTANDARD = LVCMOS25;
65Net ETH_A_RGMII_RXD_0_pin<0> LOC=AK9  |  IOSTANDARD = LVCMOS25;
66Net ETH_A_RGMII_RXD_0_pin<1> LOC=AJ9  |  IOSTANDARD = LVCMOS25;
67Net ETH_A_RGMII_RXD_0_pin<2> LOC=AH8  |  IOSTANDARD = LVCMOS25;
68Net ETH_A_RGMII_RXD_0_pin<3> LOC=AH9  |  IOSTANDARD = LVCMOS25;
69Net ETH_A_RGMII_RX_CTL_0_pin LOC=AL9  |  IOSTANDARD = LVCMOS25;
70Net ETH_A_RGMII_RXC_0_pin LOC=AC10  |  IOSTANDARD = LVCMOS25;
71#Fix for errata in rev 1.1 schematics
72Net ETH_A_MDC_0_pin LOC=AK8  |  IOSTANDARD = LVCMOS25;
73Net ETH_A_MDIO_0_pin LOC=AP9  |  IOSTANDARD = LVCMOS25 | PULLUP;
74
75#ETH B
76Net ETH_B_RGMII_TXD_0_pin<0> LOC=M10  |  IOSTANDARD = LVCMOS25;
77Net ETH_B_RGMII_TXD_0_pin<1> LOC=B8  |  IOSTANDARD = LVCMOS25;
78Net ETH_B_RGMII_TXD_0_pin<2> LOC=AC9  |  IOSTANDARD = LVCMOS25;
79Net ETH_B_RGMII_TXD_0_pin<3> LOC=E9  |  IOSTANDARD = LVCMOS25;
80Net ETH_B_RGMII_TX_CTL_0_pin LOC=D10  |  IOSTANDARD = LVCMOS25;
81Net ETH_B_RGMII_TXC_0_pin LOC=AB10  |  IOSTANDARD = LVCMOS25;
82Net ETH_B_RGMII_RXD_0_pin<0> LOC=A9  |  IOSTANDARD = LVCMOS25;
83Net ETH_B_RGMII_RXD_0_pin<1> LOC=D9  |  IOSTANDARD = LVCMOS25;
84Net ETH_B_RGMII_RXD_0_pin<2> LOC=C9  |  IOSTANDARD = LVCMOS25;
85Net ETH_B_RGMII_RXD_0_pin<3> LOC=F10  |  IOSTANDARD = LVCMOS25;
86Net ETH_B_RGMII_RX_CTL_0_pin LOC=A8  |  IOSTANDARD = LVCMOS25;
87Net ETH_B_RGMII_RXC_0_pin LOC=L10  |  IOSTANDARD = LVCMOS25;
88Net ETH_B_MDC_0_pin LOC=AN9  |  IOSTANDARD = LVCMOS25;
89Net ETH_B_MDIO_0_pin LOC=AL8  |  IOSTANDARD = LVCMOS25;
90
91#DDR3 SO-DIMM
92Net DDR3_2GB_SODIMM_Clk_pin LOC=AC15  |  IOSTANDARD = DIFF_SSTL15;
93Net DDR3_2GB_SODIMM_Clk_n_pin LOC=AD15  |  IOSTANDARD = DIFF_SSTL15;
94Net DDR3_2GB_SODIMM_CE_pin LOC=AF18  |  IOSTANDARD = SSTL15;
95Net DDR3_2GB_SODIMM_CS_n_pin LOC=AL16  |  IOSTANDARD = SSTL15;
96Net DDR3_2GB_SODIMM_ODT_pin LOC=AP15  |  IOSTANDARD = SSTL15;
97Net DDR3_2GB_SODIMM_RAS_n_pin LOC=AM16  |  IOSTANDARD = SSTL15;
98Net DDR3_2GB_SODIMM_CAS_n_pin LOC=AJ17  |  IOSTANDARD = SSTL15;
99Net DDR3_2GB_SODIMM_WE_n_pin LOC=AF15  |  IOSTANDARD = SSTL15;
100Net DDR3_2GB_SODIMM_BankAddr_pin<0> LOC=AG15  |  IOSTANDARD = SSTL15;
101Net DDR3_2GB_SODIMM_BankAddr_pin<1> LOC=AP16  |  IOSTANDARD = SSTL15;
102Net DDR3_2GB_SODIMM_BankAddr_pin<2> LOC=AD17  |  IOSTANDARD = SSTL15;
103Net DDR3_2GB_SODIMM_Addr_pin<0> LOC=AM17  |  IOSTANDARD = SSTL15;
104Net DDR3_2GB_SODIMM_Addr_pin<1> LOC=AF16  |  IOSTANDARD = SSTL15;
105Net DDR3_2GB_SODIMM_Addr_pin<2> LOC=AN17  |  IOSTANDARD = SSTL15;
106Net DDR3_2GB_SODIMM_Addr_pin<3> LOC=AG17  |  IOSTANDARD = SSTL15;
107Net DDR3_2GB_SODIMM_Addr_pin<4> LOC=AK16  |  IOSTANDARD = SSTL15;
108Net DDR3_2GB_SODIMM_Addr_pin<5> LOC=AG16  |  IOSTANDARD = SSTL15;
109Net DDR3_2GB_SODIMM_Addr_pin<6> LOC=AK17  |  IOSTANDARD = SSTL15;
110Net DDR3_2GB_SODIMM_Addr_pin<7> LOC=AG18  |  IOSTANDARD = SSTL15;
111Net DDR3_2GB_SODIMM_Addr_pin<8> LOC=AE16  |  IOSTANDARD = SSTL15;
112Net DDR3_2GB_SODIMM_Addr_pin<9> LOC=AD16  |  IOSTANDARD = SSTL15;
113Net DDR3_2GB_SODIMM_Addr_pin<10> LOC=AH15  |  IOSTANDARD = SSTL15;
114Net DDR3_2GB_SODIMM_Addr_pin<11> LOC=AH18  |  IOSTANDARD = SSTL15;
115Net DDR3_2GB_SODIMM_Addr_pin<12> LOC=AE17  |  IOSTANDARD = SSTL15;
116Net DDR3_2GB_SODIMM_Addr_pin<13> LOC=AJ16  |  IOSTANDARD = SSTL15;
117Net DDR3_2GB_SODIMM_Addr_pin<14> LOC=AK18  |  IOSTANDARD = SSTL15;
118Net DDR3_2GB_SODIMM_DQ_pin<0> LOC=AK29  |  IOSTANDARD = SSTL15_T_DCI;
119Net DDR3_2GB_SODIMM_DQ_pin<1> LOC=AN30  |  IOSTANDARD = SSTL15_T_DCI;
120Net DDR3_2GB_SODIMM_DQ_pin<2> LOC=AL29  |  IOSTANDARD = SSTL15_T_DCI;
121Net DDR3_2GB_SODIMM_DQ_pin<3> LOC=AN29  |  IOSTANDARD = SSTL15_T_DCI;
122Net DDR3_2GB_SODIMM_DQ_pin<4> LOC=AP31  |  IOSTANDARD = SSTL15_T_DCI;
123Net DDR3_2GB_SODIMM_DQ_pin<5> LOC=AP30  |  IOSTANDARD = SSTL15_T_DCI;
124Net DDR3_2GB_SODIMM_DQ_pin<6> LOC=AH28  |  IOSTANDARD = SSTL15_T_DCI;
125Net DDR3_2GB_SODIMM_DQ_pin<7> LOC=AH27  |  IOSTANDARD = SSTL15_T_DCI;
126Net DDR3_2GB_SODIMM_DQ_pin<8> LOC=AK28  |  IOSTANDARD = SSTL15_T_DCI;
127Net DDR3_2GB_SODIMM_DQ_pin<9> LOC=AL28  |  IOSTANDARD = SSTL15_T_DCI;
128Net DDR3_2GB_SODIMM_DQ_pin<10> LOC=AJ27  |  IOSTANDARD = SSTL15_T_DCI;
129Net DDR3_2GB_SODIMM_DQ_pin<11> LOC=AH25  |  IOSTANDARD = SSTL15_T_DCI;
130Net DDR3_2GB_SODIMM_DQ_pin<12> LOC=AP29  |  IOSTANDARD = SSTL15_T_DCI;
131Net DDR3_2GB_SODIMM_DQ_pin<13> LOC=AM27  |  IOSTANDARD = SSTL15_T_DCI;
132Net DDR3_2GB_SODIMM_DQ_pin<14> LOC=AJ25  |  IOSTANDARD = SSTL15_T_DCI;
133Net DDR3_2GB_SODIMM_DQ_pin<15> LOC=AH24  |  IOSTANDARD = SSTL15_T_DCI;
134Net DDR3_2GB_SODIMM_DQ_pin<16> LOC=AJ24  |  IOSTANDARD = SSTL15_T_DCI;
135Net DDR3_2GB_SODIMM_DQ_pin<17> LOC=AK24  |  IOSTANDARD = SSTL15_T_DCI;
136Net DDR3_2GB_SODIMM_DQ_pin<18> LOC=AL24  |  IOSTANDARD = SSTL15_T_DCI;
137Net DDR3_2GB_SODIMM_DQ_pin<19> LOC=AK23  |  IOSTANDARD = SSTL15_T_DCI;
138Net DDR3_2GB_SODIMM_DQ_pin<20> LOC=AP27  |  IOSTANDARD = SSTL15_T_DCI;
139Net DDR3_2GB_SODIMM_DQ_pin<21> LOC=AM26  |  IOSTANDARD = SSTL15_T_DCI;
140Net DDR3_2GB_SODIMM_DQ_pin<22> LOC=AN25  |  IOSTANDARD = SSTL15_T_DCI;
141Net DDR3_2GB_SODIMM_DQ_pin<23> LOC=AN24  |  IOSTANDARD = SSTL15_T_DCI;
142Net DDR3_2GB_SODIMM_DQ_pin<24> LOC=AD21  |  IOSTANDARD = SSTL15_T_DCI;
143Net DDR3_2GB_SODIMM_DQ_pin<25> LOC=AE21  |  IOSTANDARD = SSTL15_T_DCI;
144Net DDR3_2GB_SODIMM_DQ_pin<26> LOC=AK22  |  IOSTANDARD = SSTL15_T_DCI;
145Net DDR3_2GB_SODIMM_DQ_pin<27> LOC=AL18  |  IOSTANDARD = SSTL15_T_DCI;
146Net DDR3_2GB_SODIMM_DQ_pin<28> LOC=AN19  |  IOSTANDARD = SSTL15_T_DCI;
147Net DDR3_2GB_SODIMM_DQ_pin<29> LOC=AP19  |  IOSTANDARD = SSTL15_T_DCI;
148Net DDR3_2GB_SODIMM_DQ_pin<30> LOC=AM18  |  IOSTANDARD = SSTL15_T_DCI;
149Net DDR3_2GB_SODIMM_DQ_pin<31> LOC=AN18  |  IOSTANDARD = SSTL15_T_DCI;
150Net DDR3_2GB_SODIMM_DM_pin<0> LOC=AM30  |  IOSTANDARD = SSTL15;
151Net DDR3_2GB_SODIMM_DM_pin<1> LOC=AL26  |  IOSTANDARD = SSTL15;
152Net DDR3_2GB_SODIMM_DM_pin<2> LOC=AP26  |  IOSTANDARD = SSTL15;
153Net DDR3_2GB_SODIMM_DM_pin<3> LOC=AJ22  |  IOSTANDARD = SSTL15;
154Net DDR3_2GB_SODIMM_Reset_n_pin LOC=AP17  |  IOSTANDARD = SSTL15;
155Net DDR3_2GB_SODIMM_DQS_pin<0> LOC=AG25  |  IOSTANDARD = DIFF_SSTL15_T_DCI;
156Net DDR3_2GB_SODIMM_DQS_pin<1> LOC=AN28  |  IOSTANDARD = DIFF_SSTL15_T_DCI;
157Net DDR3_2GB_SODIMM_DQS_pin<2> LOC=AM25  |  IOSTANDARD = DIFF_SSTL15_T_DCI;
158Net DDR3_2GB_SODIMM_DQS_pin<3> LOC=AG22  |  IOSTANDARD = DIFF_SSTL15_T_DCI;
159Net DDR3_2GB_SODIMM_DQS_n_pin<0> LOC=AG26  |  IOSTANDARD = DIFF_SSTL15_T_DCI;
160Net DDR3_2GB_SODIMM_DQS_n_pin<1> LOC=AM28  |  IOSTANDARD = DIFF_SSTL15_T_DCI;
161Net DDR3_2GB_SODIMM_DQS_n_pin<2> LOC=AL25  |  IOSTANDARD = DIFF_SSTL15_T_DCI;
162Net DDR3_2GB_SODIMM_DQS_n_pin<3> LOC=AH22  |  IOSTANDARD = DIFF_SSTL15_T_DCI;
163
164#System clock (80MHz, from sampling clock buffer)
165NET samp_clk_n_pin LOC = V23 | IOSTANDARD = LVDS_25 | DIFF_TERM = TRUE;
166NET samp_clk_p_pin LOC = U23 | IOSTANDARD = LVDS_25 | DIFF_TERM = TRUE;
167Net samp_clk_p_pin TNM_NET = samp_clk_pin;
168TIMESPEC TS_samp_clk_pin = PERIOD samp_clk_pin 80000 kHz;
169
170#System clock (200MHz, from LVDS oscillator)
171Net osc200_p_pin LOC = A10  |  IOSTANDARD=LVDS_25  |  DIFF_TERM = TRUE;
172Net osc200_n_pin LOC = B10  |  IOSTANDARD=LVDS_25  |  DIFF_TERM = TRUE;
173Net osc200_p_pin TNM_NET = osc200_p_pin;
174TIMESPEC TS_osc200_p_pin = PERIOD osc200_p_pin 200000 kHz;
175
176#Processor reset (RESET button on board)
177Net rst_1_sys_rst_pin LOC = AH13  |  IOSTANDARD=LVCMOS15  |  TIG;
178Net rst_1_sys_rst_pin TIG;
179
180INST clock_generator_MPMC_Clocks/*/MMCM0_INST*/MMCM_ADV_inst LOC = MMCM_ADV_X0Y2;
181
182#############################
183#On-board RF interfaces
184#############################
185
186#MAX2829 transceivers and RF front end
187NET RFA_SPI_SCLK_pin LOC=T34 | IOSTANDARD=LVCMOS25;
188NET RFA_SPI_MOSI_pin LOC=T33 | IOSTANDARD=LVCMOS25;
189NET RFA_SPI_CSn_pin LOC=U32 | IOSTANDARD=LVCMOS25;
190NET RFA_SHDN_pin LOC=U27 | IOSTANDARD=LVCMOS25;
191NET RFA_TxEn_pin LOC=T31 | IOSTANDARD=LVCMOS25;
192NET RFA_RxEn_pin LOC=U33 | IOSTANDARD=LVCMOS25;
193NET RFA_RxHP_pin LOC=AG32 | IOSTANDARD=LVCMOS25;
194NET RFA_PAEn_24_pin LOC=U25 | IOSTANDARD=LVCMOS25;
195NET RFA_PAEn_5_pin LOC=U28 | IOSTANDARD=LVCMOS25;
196NET RFA_ANTSW_pin<0> LOC=U31 | IOSTANDARD=LVCMOS25;
197NET RFA_ANTSW_pin<1> LOC=U30 | IOSTANDARD=LVCMOS25;
198NET RFA_LD_pin LOC=U26 | IOSTANDARD=LVCMOS25;
199NET RFA_B_pin<0> LOC=AG33 | IOSTANDARD=LVCMOS25;
200NET RFA_B_pin<1> LOC=AF31 | IOSTANDARD=LVCMOS25;
201NET RFA_B_pin<2> LOC=AF33 | IOSTANDARD=LVCMOS25;
202NET RFA_B_pin<3> LOC=AG31 | IOSTANDARD=LVCMOS25;
203NET RFA_B_pin<4> LOC=AF34 | IOSTANDARD=LVCMOS25;
204NET RFA_B_pin<5> LOC=AE33 | IOSTANDARD=LVCMOS25;
205NET RFA_B_pin<6> LOC=AE34 | IOSTANDARD=LVCMOS25;
206
207NET RFB_SPI_SCLK_pin LOC=H34 | IOSTANDARD=LVCMOS25;
208NET RFB_SPI_MOSI_pin LOC=H33 | IOSTANDARD=LVCMOS25;
209NET RFB_SPI_CSn_pin LOC=J32 | IOSTANDARD=LVCMOS25;
210NET RFB_SHDN_pin LOC=J34 | IOSTANDARD=LVCMOS25;
211NET RFB_TxEn_pin LOC=H32 | IOSTANDARD=LVCMOS25;
212NET RFB_RxEn_pin LOC=J31 | IOSTANDARD=LVCMOS25;
213NET RFB_RxHP_pin LOC=R28 | IOSTANDARD=LVCMOS25;
214NET RFB_PAEn_24_pin LOC=T25 | IOSTANDARD=LVCMOS25;
215NET RFB_PAEn_5_pin LOC=T28 | IOSTANDARD=LVCMOS25;
216NET RFB_ANTSW_pin<0> LOC=T30 | IOSTANDARD=LVCMOS25;
217NET RFB_ANTSW_pin<1> LOC=T29 | IOSTANDARD=LVCMOS25;
218NET RFB_LD_pin LOC=K33 | IOSTANDARD=LVCMOS25;
219NET RFB_B_pin<0> LOC=P27 | IOSTANDARD=LVCMOS25;
220NET RFB_B_pin<1> LOC=R27 | IOSTANDARD=LVCMOS25;
221NET RFB_B_pin<2> LOC=R29 | IOSTANDARD=LVCMOS25;
222NET RFB_B_pin<3> LOC=R26 | IOSTANDARD=LVCMOS25;
223NET RFB_B_pin<4> LOC=R32 | IOSTANDARD=LVCMOS25;
224NET RFB_B_pin<5> LOC=T26 | IOSTANDARD=LVCMOS25;
225NET RFB_B_pin<6> LOC=R31 | IOSTANDARD=LVCMOS25;
226
227NET RFA_AD_spi_sclk_pin LOC = AB33 | IOSTANDARD = LVCMOS25;#
228NET RFA_AD_spi_sdio LOC = AC30 | IOSTANDARD = LVCMOS25;#
229NET RFA_AD_spi_cs_n_pin LOC = AB31 | IOSTANDARD = LVCMOS25;#
230NET RFA_AD_reset_n_pin LOC = AA34 | IOSTANDARD = LVCMOS25;#
231
232NET RFB_AD_spi_sclk_pin LOC = P32 | IOSTANDARD = LVCMOS25;#
233NET RFB_AD_spi_sdio LOC = P34 | IOSTANDARD = LVCMOS25;#
234NET RFB_AD_spi_cs_n_pin LOC = N32 | IOSTANDARD = LVCMOS25;#
235NET RFB_AD_reset_n_pin LOC = N34 | IOSTANDARD = LVCMOS25;#
236
237NET clk_rfref_spi_sclk_pin LOC = V25 | IOSTANDARD = LVCMOS25;#
238NET clk_rfref_spi_mosi_pin LOC = W25 | IOSTANDARD = LVCMOS25;#
239NET clk_rfref_spi_cs_n_pin LOC = W27 | IOSTANDARD = LVCMOS25;#
240NET clk_rfref_spi_miso_pin LOC = Y27 | IOSTANDARD = LVCMOS25;#
241NET clk_rfref_func_pin LOC = L26 | IOSTANDARD = LVCMOS25;
242
243NET clk_samp_spi_sclk_pin LOC = W32 | IOSTANDARD = LVCMOS25;#
244NET clk_samp_spi_mosi_pin LOC = Y29 | IOSTANDARD = LVCMOS25;#
245NET clk_samp_spi_cs_n_pin LOC = W31 | IOSTANDARD = LVCMOS25;#
246NET clk_samp_spi_miso_pin LOC = Y28 | IOSTANDARD = LVCMOS25;#
247NET clk_samp_func_pin LOC = R33 | IOSTANDARD = LVCMOS25;#
248
249#TRXCLK pins driven by AD9963's; assuming 80MHz worst case
250Net RFA_AD_TRXCLK TNM_NET = RFA_AD_TRXCLK;
251TIMESPEC TS_RFA_AD_TRXCLK = PERIOD RFA_AD_TRXCLK 80 MHz;
252
253Net RFB_AD_TRXCLK TNM_NET = RFB_AD_TRXCLK;
254TIMESPEC TS_RFB_AD_TRXCLK = PERIOD RFB_AD_TRXCLK 80 MHz;
255
256#RFA AD9963
257NET RFA_AD_TRXD<0> LOC = AC25 | IOSTANDARD = LVCMOS25;
258NET RFA_AD_TRXD<1> LOC = AB25 | IOSTANDARD = LVCMOS25;
259NET RFA_AD_TRXD<2> LOC = AB32 | IOSTANDARD = LVCMOS25;
260NET RFA_AD_TRXD<3> LOC = AC29 | IOSTANDARD = LVCMOS25;
261NET RFA_AD_TRXD<4> LOC = AD29 | IOSTANDARD = LVCMOS25;
262NET RFA_AD_TRXD<5> LOC = AC33 | IOSTANDARD = LVCMOS25;
263NET RFA_AD_TRXD<6> LOC = AD34 | IOSTANDARD = LVCMOS25;
264NET RFA_AD_TRXD<7> LOC = AC32 | IOSTANDARD = LVCMOS25;
265NET RFA_AD_TRXD<8> LOC = AD31 | IOSTANDARD = LVCMOS25;
266NET RFA_AD_TRXD<9> LOC = AD32 | IOSTANDARD = LVCMOS25;
267NET RFA_AD_TRXD<10> LOC = AE31 | IOSTANDARD = LVCMOS25;
268NET RFA_AD_TRXD<11> LOC = AE32 | IOSTANDARD = LVCMOS25;
269
270NET RFA_AD_TRXCLK LOC = AD30 | IOSTANDARD = LVCMOS25;
271NET RFA_AD_TRXIQ LOC = AC34 | IOSTANDARD = LVCMOS25;
272
273NET RFA_AD_TXCLK LOC = AA31 | IOSTANDARD = LVCMOS25;
274NET RFA_AD_TXIQ LOC = AA33 | IOSTANDARD = LVCMOS25;
275
276NET RFA_AD_TXD<0> LOC = AA25 | IOSTANDARD = LVCMOS25;
277NET RFA_AD_TXD<1> LOC = AB26 | IOSTANDARD = LVCMOS25;
278NET RFA_AD_TXD<2> LOC = Y26 | IOSTANDARD = LVCMOS25;
279NET RFA_AD_TXD<3> LOC = AA26 | IOSTANDARD = LVCMOS25;
280NET RFA_AD_TXD<4> LOC = AA28 | IOSTANDARD = LVCMOS25;
281NET RFA_AD_TXD<5> LOC = AA29 | IOSTANDARD = LVCMOS25;
282NET RFA_AD_TXD<6> LOC = AA30 | IOSTANDARD = LVCMOS25;
283NET RFA_AD_TXD<7> LOC = AB30 | IOSTANDARD = LVCMOS25;
284NET RFA_AD_TXD<8> LOC = AB28 | IOSTANDARD = LVCMOS25;
285NET RFA_AD_TXD<9> LOC = AB27 | IOSTANDARD = LVCMOS25;
286NET RFA_AD_TXD<10> LOC = AC28 | IOSTANDARD = LVCMOS25;
287NET RFA_AD_TXD<11> LOC = AC27 | IOSTANDARD = LVCMOS25;
288
289#RFB
290NET RFB_AD_TRXD<0> LOC = N25 | IOSTANDARD = LVCMOS25;
291NET RFB_AD_TRXD<1> LOC = M25 | IOSTANDARD = LVCMOS25;
292NET RFB_AD_TRXD<2> LOC = N28 | IOSTANDARD = LVCMOS25;
293NET RFB_AD_TRXD<3> LOC = N27 | IOSTANDARD = LVCMOS25;
294NET RFB_AD_TRXD<4> LOC = P29 | IOSTANDARD = LVCMOS25;
295NET RFB_AD_TRXD<5> LOC = M30 | IOSTANDARD = LVCMOS25;
296NET RFB_AD_TRXD<6> LOC = N30 | IOSTANDARD = LVCMOS25;
297NET RFB_AD_TRXD<7> LOC = N29 | IOSTANDARD = LVCMOS25;
298NET RFB_AD_TRXD<8> LOC = P26 | IOSTANDARD = LVCMOS25;
299NET RFB_AD_TRXD<9> LOC = P31 | IOSTANDARD = LVCMOS25;
300NET RFB_AD_TRXD<10> LOC = P25 | IOSTANDARD = LVCMOS25;
301NET RFB_AD_TRXD<11> LOC = P30 | IOSTANDARD = LVCMOS25;
302
303NET RFB_AD_TRXCLK LOC = N33 | IOSTANDARD = LVCMOS25;
304NET RFB_AD_TRXIQ LOC = M33 | IOSTANDARD = LVCMOS25;
305
306NET RFB_AD_TXCLK LOC = L28 | IOSTANDARD = LVCMOS25;
307NET RFB_AD_TXIQ LOC = L29 | IOSTANDARD = LVCMOS25;
308
309NET RFB_AD_TXD<0> LOC = K32 | IOSTANDARD = LVCMOS25;
310NET RFB_AD_TXD<1> LOC = M26 | IOSTANDARD = LVCMOS25;
311NET RFB_AD_TXD<2> LOC = M32 | IOSTANDARD = LVCMOS25;
312NET RFB_AD_TXD<3> LOC = K34 | IOSTANDARD = LVCMOS25;
313NET RFB_AD_TXD<4> LOC = M31 | IOSTANDARD = LVCMOS25;
314NET RFB_AD_TXD<5> LOC = L30 | IOSTANDARD = LVCMOS25;
315NET RFB_AD_TXD<6> LOC = L33 | IOSTANDARD = LVCMOS25;
316NET RFB_AD_TXD<7> LOC = L31 | IOSTANDARD = LVCMOS25;
317NET RFB_AD_TXD<8> LOC = M28 | IOSTANDARD = LVCMOS25;
318NET RFB_AD_TXD<9> LOC = L34 | IOSTANDARD = LVCMOS25;
319NET RFB_AD_TXD<10> LOC = M27 | IOSTANDARD = LVCMOS25;
320NET RFB_AD_TXD<11> LOC = K31 | IOSTANDARD = LVCMOS25;
321
322NET RF_RSSI_CLK LOC = B32 | IOSTANDARD = LVCMOS25;
323NET RF_RSSI_PD LOC = B34 | IOSTANDARD = LVCMOS25;
324NET RFB_RSSI_D<0> LOC = A33 | IOSTANDARD = LVCMOS25;
325NET RFB_RSSI_D<1> LOC = B33 | IOSTANDARD = LVCMOS25;
326NET RFB_RSSI_D<2> LOC = C33 | IOSTANDARD = LVCMOS25;
327NET RFB_RSSI_D<3> LOC = C34 | IOSTANDARD = LVCMOS25;
328NET RFB_RSSI_D<4> LOC = C32 | IOSTANDARD = LVCMOS25;
329NET RFB_RSSI_D<5> LOC = D31 | IOSTANDARD = LVCMOS25;
330NET RFB_RSSI_D<6> LOC = G30 | IOSTANDARD = LVCMOS25;
331NET RFB_RSSI_D<7> LOC = E31 | IOSTANDARD = LVCMOS25;
332NET RFB_RSSI_D<8> LOC = D32 | IOSTANDARD = LVCMOS25;
333NET RFB_RSSI_D<9> LOC = D34 | IOSTANDARD = LVCMOS25;
334NET RFA_RSSI_D<0> LOC = E32 | IOSTANDARD = LVCMOS25;
335NET RFA_RSSI_D<1> LOC = E33 | IOSTANDARD = LVCMOS25;
336NET RFA_RSSI_D<2> LOC = E34 | IOSTANDARD = LVCMOS25;
337NET RFA_RSSI_D<3> LOC = F30 | IOSTANDARD = LVCMOS25;
338NET RFA_RSSI_D<4> LOC = F31 | IOSTANDARD = LVCMOS25;
339NET RFA_RSSI_D<5> LOC = F34 | IOSTANDARD = LVCMOS25;
340NET RFA_RSSI_D<6> LOC = F33 | IOSTANDARD = LVCMOS25;
341NET RFA_RSSI_D<7> LOC = G31 | IOSTANDARD = LVCMOS25;
342NET RFA_RSSI_D<8> LOC = G33 | IOSTANDARD = LVCMOS25;
343NET RFA_RSSI_D<9> LOC = G32 | IOSTANDARD = LVCMOS25;
344
345
346#############################
347# FMC-RF-2X245 RF Interfaces
348#############################
349#User LEDs
350NET "RFC_LED_G" LOC = L19 | IOSTANDARD = LVCMOS25;
351NET "RFC_LED_R" LOC = L18 | IOSTANDARD = LVCMOS25;
352
353NET "RFD_LED_G" LOC = D16 | IOSTANDARD = LVCMOS25;
354NET "RFD_LED_R" LOC = A15 | IOSTANDARD = LVCMOS25;
355
356#FMC module I2C EEPROM
357NET "FMC_IIC_EEPROM_scl_pin" LOC = F23 | IOSTANDARD = LVCMOS25;
358NET "FMC_IIC_EEPROM_sda_pin" LOC = F24 | IOSTANDARD = LVCMOS25;
359
360#RSSI ADC
361NET "RFC_RSSI_D<0>" LOC = D21 | IOSTANDARD = LVCMOS25;
362NET "RFC_RSSI_D<1>" LOC = E19 | IOSTANDARD = LVCMOS25;
363NET "RFC_RSSI_D<2>" LOC = G20 | IOSTANDARD = LVCMOS25;
364NET "RFC_RSSI_D<3>" LOC = E22 | IOSTANDARD = LVCMOS25;
365NET "RFC_RSSI_D<4>" LOC = E23 | IOSTANDARD = LVCMOS25;
366NET "RFC_RSSI_D<5>" LOC = F21 | IOSTANDARD = LVCMOS25;
367NET "RFC_RSSI_D<6>" LOC = B20 | IOSTANDARD = LVCMOS25;
368NET "RFC_RSSI_D<7>" LOC = B23 | IOSTANDARD = LVCMOS25;
369NET "RFC_RSSI_D<8>" LOC = C19 | IOSTANDARD = LVCMOS25;
370NET "RFC_RSSI_D<9>" LOC = C23 | IOSTANDARD = LVCMOS25;
371
372NET "RFD_RSSI_D<0>" LOC = D19 | IOSTANDARD = LVCMOS25;
373NET "RFD_RSSI_D<1>" LOC = E21 | IOSTANDARD = LVCMOS25;
374NET "RFD_RSSI_D<2>" LOC = A23 | IOSTANDARD = LVCMOS25;
375NET "RFD_RSSI_D<3>" LOC = A24 | IOSTANDARD = LVCMOS25;
376NET "RFD_RSSI_D<4>" LOC = F19 | IOSTANDARD = LVCMOS25;
377NET "RFD_RSSI_D<5>" LOC = H19 | IOSTANDARD = LVCMOS25;
378NET "RFD_RSSI_D<6>" LOC = F20 | IOSTANDARD = LVCMOS25;
379NET "RFD_RSSI_D<7>" LOC = H20 | IOSTANDARD = LVCMOS25;
380NET "RFD_RSSI_D<8>" LOC = C20 | IOSTANDARD = LVCMOS25;
381NET "RFD_RSSI_D<9>" LOC = J20 | IOSTANDARD = LVCMOS25;
382
383NET "FMC_RF_RSSI_CLK" LOC = G13 | IOSTANDARD = LVCMOS25;
384NET "FMC_RF_RSSI_PD" LOC = A21 | IOSTANDARD = LVCMOS25;
385
386#FMC module RF A pins (probably renamed RF C in user project)
387
388#ADC/DAC
389NET "RFC_AD_spi_sclk_pin" LOC = B25 | IOSTANDARD = LVCMOS25;
390NET "RFC_AD_SPI_SDIO" LOC = D26 | IOSTANDARD = LVCMOS25 | PULLDOWN;
391NET "RFC_AD_spi_cs_n_pin" LOC = D27 | IOSTANDARD = LVCMOS25;
392NET "RFC_AD_reset_n_pin" LOC = B27 | IOSTANDARD = LVCMOS25;
393
394NET "RFC_AD_TRXCLK" LOC = C28 | IOSTANDARD = LVCMOS25;
395NET "RFC_AD_TRXIQ" LOC = D29 | IOSTANDARD = LVCMOS25;
396
397NET "RFC_AD_TRXD<0>" LOC = C29 | IOSTANDARD = LVCMOS25;
398NET "RFC_AD_TRXD<1>" LOC = C24 | IOSTANDARD = LVCMOS25;
399NET "RFC_AD_TRXD<2>" LOC = C22 | IOSTANDARD = LVCMOS25;
400NET "RFC_AD_TRXD<3>" LOC = G27 | IOSTANDARD = LVCMOS25;
401NET "RFC_AD_TRXD<4>" LOC = G28 | IOSTANDARD = LVCMOS25;
402NET "RFC_AD_TRXD<5>" LOC = D22 | IOSTANDARD = LVCMOS25;
403NET "RFC_AD_TRXD<6>" LOC = G26 | IOSTANDARD = LVCMOS25;
404NET "RFC_AD_TRXD<7>" LOC = A25 | IOSTANDARD = LVCMOS25;
405NET "RFC_AD_TRXD<8>" LOC = A26 | IOSTANDARD = LVCMOS25;
406NET "RFC_AD_TRXD<9>" LOC = H27 | IOSTANDARD = LVCMOS25;
407NET "RFC_AD_TRXD<10>" LOC = E27 | IOSTANDARD = LVCMOS25;
408NET "RFC_AD_TRXD<11>" LOC = B26 | IOSTANDARD = LVCMOS25;
409
410NET "RFC_AD_TXCLK" LOC = C27 | IOSTANDARD = LVCMOS25;
411NET "RFC_AD_TXIQ" LOC = C30 | IOSTANDARD = LVCMOS25;
412
413NET "RFC_AD_TXD<0>" LOC = F26 | IOSTANDARD = LVCMOS25;
414NET "RFC_AD_TXD<1>" LOC = K21 | IOSTANDARD = LVCMOS25;
415NET "RFC_AD_TXD<2>" LOC = E24 | IOSTANDARD = LVCMOS25;
416NET "RFC_AD_TXD<3>" LOC = G25 | IOSTANDARD = LVCMOS25;
417NET "RFC_AD_TXD<4>" LOC = F25 | IOSTANDARD = LVCMOS25;
418NET "RFC_AD_TXD<5>" LOC = E26 | IOSTANDARD = LVCMOS25;
419NET "RFC_AD_TXD<6>" LOC = A19 | IOSTANDARD = LVCMOS25;
420NET "RFC_AD_TXD<7>" LOC = D24 | IOSTANDARD = LVCMOS25;
421NET "RFC_AD_TXD<8>" LOC = A18 | IOSTANDARD = LVCMOS25;
422NET "RFC_AD_TXD<9>" LOC = L21 | IOSTANDARD = LVCMOS25;
423NET "RFC_AD_TXD<10>" LOC = L20 | IOSTANDARD = LVCMOS25;
424NET "RFC_AD_TXD<11>" LOC = D30 | IOSTANDARD = LVCMOS25;
425
426#Front end
427NET "RFC_PAEn_24_pin" LOC = D14 | IOSTANDARD = LVCMOS25;
428NET "RFC_PAEn_5_pin" LOC = M12 | IOSTANDARD = LVCMOS25;
429NET "RFC_AntSw_pin<0>" LOC = M11 | IOSTANDARD = LVCMOS25;
430NET "RFC_AntSw_pin<1>" LOC = A13 | IOSTANDARD = LVCMOS25;
431
432#Transceiver
433NET "RFC_B_pin<0>" LOC = B30 | IOSTANDARD = LVCMOS25;
434NET "RFC_B_pin<1>" LOC = F28 | IOSTANDARD = LVCMOS25;
435NET "RFC_B_pin<2>" LOC = B31 | IOSTANDARD = LVCMOS25;
436NET "RFC_B_pin<3>" LOC = E28 | IOSTANDARD = LVCMOS25;
437NET "RFC_B_pin<4>" LOC = D25 | IOSTANDARD = LVCMOS25;
438NET "RFC_B_pin<5>" LOC = A30 | IOSTANDARD = LVCMOS25;
439NET "RFC_B_pin<6>" LOC = A31 | IOSTANDARD = LVCMOS25;
440
441NET "RFC_SPI_SCLK_pin" LOC = A29 | IOSTANDARD = LVCMOS25;
442NET "RFC_SPI_CSn_pin" LOC = B18 | IOSTANDARD = LVCMOS25;
443NET "RFC_SPI_MOSI_pin" LOC = J22 | IOSTANDARD = LVCMOS25;
444NET "RFC_RXEN_pin" LOC = H22 | IOSTANDARD = LVCMOS25;
445NET "RFC_RXHP_pin" LOC = B28 | IOSTANDARD = LVCMOS25;
446NET "RFC_SHDN_pin" LOC = K22 | IOSTANDARD = LVCMOS25;
447NET "RFC_TXEN_pin" LOC = C18 | IOSTANDARD = LVCMOS25;
448NET "RFC_LD_pin" LOC = A28 | IOSTANDARD = LVCMOS25;
449
450#FMC module RF B pins (probably renamed RF D in user project)
451
452#ADC/DAC
453NET "RFD_AD_spi_sclk_pin" LOC = K17 | IOSTANDARD = LVCMOS25;
454NET "RFD_AD_SPI_SDIO" LOC = B17 | IOSTANDARD = LVCMOS25 | PULLDOWN;
455NET "RFD_AD_spi_cs_n_pin" LOC = D15 | IOSTANDARD = LVCMOS25;
456NET "RFD_AD_reset_n_pin" LOC = G15 | IOSTANDARD = LVCMOS25;
457
458NET "RFD_AD_TRXCLK" LOC = L15 | IOSTANDARD = LVCMOS25;
459NET "RFD_AD_TRXIQ" LOC = K18 | IOSTANDARD = LVCMOS25;
460
461NET "RFD_AD_TRXD<0>" LOC = J16 | IOSTANDARD = LVCMOS25;
462NET "RFD_AD_TRXD<1>" LOC = H17 | IOSTANDARD = LVCMOS25;
463NET "RFD_AD_TRXD<2>" LOC = J17 | IOSTANDARD = LVCMOS25;
464NET "RFD_AD_TRXD<3>" LOC = L16 | IOSTANDARD = LVCMOS25;
465NET "RFD_AD_TRXD<4>" LOC = G18 | IOSTANDARD = LVCMOS25;
466NET "RFD_AD_TRXD<5>" LOC = M18 | IOSTANDARD = LVCMOS25;
467NET "RFD_AD_TRXD<6>" LOC = H18 | IOSTANDARD = LVCMOS25;
468NET "RFD_AD_TRXD<7>" LOC = M17 | IOSTANDARD = LVCMOS25;
469NET "RFD_AD_TRXD<8>" LOC = D17 | IOSTANDARD = LVCMOS25;
470NET "RFD_AD_TRXD<9>" LOC = J19 | IOSTANDARD = LVCMOS25;
471NET "RFD_AD_TRXD<10>" LOC = K19 | IOSTANDARD = LVCMOS25;
472NET "RFD_AD_TRXD<11>" LOC = E18 | IOSTANDARD = LVCMOS25;
473
474NET "RFD_AD_TXCLK" LOC = C17 | IOSTANDARD = LVCMOS25;
475NET "RFD_AD_TXIQ" LOC = E17 | IOSTANDARD = LVCMOS25;
476
477NET "RFD_AD_TXD<0>" LOC = B16 | IOSTANDARD = LVCMOS25;
478NET "RFD_AD_TXD<1>" LOC = J15 | IOSTANDARD = LVCMOS25;
479NET "RFD_AD_TXD<2>" LOC = A16 | IOSTANDARD = LVCMOS25;
480NET "RFD_AD_TXD<3>" LOC = H15 | IOSTANDARD = LVCMOS25;
481NET "RFD_AD_TXD<4>" LOC = M15 | IOSTANDARD = LVCMOS25;
482NET "RFD_AD_TXD<5>" LOC = F15 | IOSTANDARD = LVCMOS25;
483NET "RFD_AD_TXD<6>" LOC = C15 | IOSTANDARD = LVCMOS25;
484NET "RFD_AD_TXD<7>" LOC = M16 | IOSTANDARD = LVCMOS25;
485NET "RFD_AD_TXD<8>" LOC = B15 | IOSTANDARD = LVCMOS25;
486NET "RFD_AD_TXD<9>" LOC = G16 | IOSTANDARD = LVCMOS25;
487NET "RFD_AD_TXD<10>" LOC = F18 | IOSTANDARD = LVCMOS25;
488NET "RFD_AD_TXD<11>" LOC = F16 | IOSTANDARD = LVCMOS25;
489
490#Front end
491NET "RFD_PAEn_24_pin" LOC = A14 | IOSTANDARD = LVCMOS25;
492NET "RFD_PAEn_5_pin" LOC = B13 | IOSTANDARD = LVCMOS25;
493NET "RFD_AntSw_pin<0>" LOC = C14 | IOSTANDARD = LVCMOS25;
494NET "RFD_AntSw_pin<1>" LOC = B12 | IOSTANDARD = LVCMOS25;
495
496#Transceiver
497NET "RFD_B_pin<0>" LOC = H12 | IOSTANDARD = LVCMOS25;
498NET "RFD_B_pin<1>" LOC = H13 | IOSTANDARD = LVCMOS25;
499NET "RFD_B_pin<2>" LOC = M13 | IOSTANDARD = LVCMOS25;
500NET "RFD_B_pin<3>" LOC = G12 | IOSTANDARD = LVCMOS25;
501NET "RFD_B_pin<4>" LOC = F14 | IOSTANDARD = LVCMOS25;
502NET "RFD_B_pin<5>" LOC = H14 | IOSTANDARD = LVCMOS25;
503NET "RFD_B_pin<6>" LOC = J12 | IOSTANDARD = LVCMOS25;
504NET "RFD_SPI_SCLK_pin" LOC = G10 | IOSTANDARD = LVCMOS25;
505NET "RFD_SPI_CSn_pin" LOC = K13 | IOSTANDARD = LVCMOS25;
506NET "RFD_SPI_MOSI_pin" LOC = F11 | IOSTANDARD = LVCMOS25;
507NET "RFD_RXEN_pin" LOC = K12 | IOSTANDARD = LVCMOS25;
508NET "RFD_RXHP_pin" LOC = L13 | IOSTANDARD = LVCMOS25;
509NET "RFD_SHDN_pin" LOC = K11 | IOSTANDARD = LVCMOS25;
510NET "RFD_TXEN_pin" LOC = H10 | IOSTANDARD = LVCMOS25;
511NET "RFD_LD_pin" LOC = L11 | IOSTANDARD = LVCMOS25;
512
513
514###### ETH_A
515###### Hard_Ethernet_MAC
516# This is a RGMII system
517# GTX_CLK_0 = 125MHz
518# LlinkTemac0_CLK = plb_v46 clk = host clock = 100MHz from clock generator
519# Rx/Tx Client clocks are Rx/Tx PHY clocks so CORE Gen PHY clock constraints propagate to Rx/Tx client clock periods
520# Time domain crossing constraints (DATAPATHONLY) are set for maximum bus frequency
521# allowed by IP which is the maximum option in BSB. For lower bus frequency choice in BSB,
522# the constraints are over constrained. Relaxing them for your system may reduce build time.
523
524NET "*ETH_A*/hrst*" TIG;
525
526# Locate the Tri-Mode Ethernet MAC instance
527INST "*ETH_A*v6_emac" LOC = "TEMAC_X0Y0";
528
529###############################################################################
530# CLOCK CONSTRAINTS
531# The following constraints are required. If you choose to not use the example
532# design level of wrapper hierarchy, the net names should be translated to
533# match your design.
534###############################################################################
535
536# Ethernet GTX_CLK high quality 125 MHz reference clock
537NET "*/GTX_CLK_0" TNM_NET = "ref_gtx_clk";                                                 #name of signal connected to TEMAC GTX_CLK_0 input
538TIMEGRP "v6_emac_v1_3_clk_ref_gtx" = "ref_gtx_clk";
539TIMESPEC "TS_v6_emac_v1_3_clk_ref_gtx" = PERIOD "v6_emac_v1_3_clk_ref_gtx" 8 ns HIGH 50 %; #constant value based on constant 125 MHZ GTX clock
540
541# Ethernet RGMII PHY-side transmit clock
542# Changed NET Name - Input to bufg_tx_0
543#     ___________                                         
544#    |           |                 |\                     
545#    | Hard Core |--- tx_clk_0_o --| >---- Tx_Cl_Clk -----
546#    |___________|                 |/                     
547#                                 BUFG
548#
549NET "*ETH_A*/tx_cl_clk" TNM_NET = "A_phy_clk_tx";
550TIMEGRP "A_v6_emac_v1_3_clk_phy_tx" = "A_phy_clk_tx";
551TIMESPEC "TS_A_v6_emac_v1_3_clk_phy_tx" = PERIOD "A_v6_emac_v1_3_clk_phy_tx" 8 ns HIGH 50 %;
552
553# Ethernet RGMII PHY-side receive clock
554# Changed NET Name
555#  RGMII_RXC_0 is the name of the clock net at the TEMAC Port
556#     It is the input to the IODELAY
557#        RxClientClk_0 is the name of the BUFG output clock net
558#
559#                     _________      BUFR
560#                    |         |      |\
561#  ---RGMII_RXC_0----| IODELAY |------| >----RxClientClk_0------------
562#                    |_________|      |/
563#
564NET "ETH_A_RGMII_RXC_0_pin" TNM_NET = "A_phy_clk_rx";
565TIMEGRP "A_v6_emac_v1_3_clk_phy_rx" = "A_phy_clk_rx";
566TIMESPEC "TS_A_v6_emac_v1_3_clk_phy_rx" = PERIOD "A_v6_emac_v1_3_clk_phy_rx" 7.5 ns HIGH 50 %;
567
568# IDELAYCTRL 200 MHz reference clock
569NET "clk_200*MHz*" TNM_NET  = "clk_ref_clk";                                              #name of signal connected to TEMAC REFCLK input   
570TIMEGRP "ref_clk" = "clk_ref_clk";                                                                                                           
571TIMESPEC "TS_ref_clk" = PERIOD "ref_clk" 5 ns HIGH 50 %;                                  #constant value based on constant 200 MHZ ref clock
572
573# Constrain the DCR interface clock to an example frequency of 100 MHz
574# Changed NET Name
575# NET "DCREMACCLK" TNM_NET = "host_clock";
576#NET "*ETH_A*/SPLB_CLK" TNM_NET = "host_clock";
577#TIMEGRP "A_clk_host" = "A_host_clock";
578#TIMESPEC "TS_A_clk_host" = PERIOD "A_clk_host" 10 ns HIGH 50 %;
579
580###############################################################################
581# PHYSICAL INTERFACE CONSTRAINTS
582# The following constraints are necessary for proper operation, and are tuned
583# for this example design. They should be modified to suit your design.
584###############################################################################
585
586# RGMII physical interface constraints
587# -----------------------------------------------------------------------------
588
589# Set the IDELAY and ODELAY values, tuned for this example design.
590# These values should be modified to suit your design.
591# original assuming equal trace lengths  INST "*rgmii?rgmii_rx_ctl_delay" IDELAY_VALUE = 13;
592# original assuming equal trace lengths  INST "*rgmii?rgmii_rx_d0_delay"  IDELAY_VALUE = 13;
593# original assuming equal trace lengths  INST "*rgmii?rgmii_rx_d1_delay"  IDELAY_VALUE = 13;
594# original assuming equal trace lengths  INST "*rgmii?rgmii_rx_d2_delay"  IDELAY_VALUE = 13;
595# original assuming equal trace lengths  INST "*rgmii?rgmii_rx_d3_delay"  IDELAY_VALUE = 13;
596
597INST "*ETH_A*rgmii?rgmii_rx_ctl_delay" IDELAY_VALUE = 13;
598INST "*ETH_A*rgmii?rgmii_rx_d0_delay"  IDELAY_VALUE = 13;
599INST "*ETH_A*rgmii?rgmii_rx_d1_delay"  IDELAY_VALUE = 13;
600INST "*ETH_A*rgmii?rgmii_rx_d2_delay"  IDELAY_VALUE = 13;
601INST "*ETH_A*rgmii?rgmii_rx_d3_delay"  IDELAY_VALUE = 13;
602
603INST "*ETH_A*rgmii_rxc0_delay"          IDELAY_VALUE = 0;
604INST "*ETH_A*rgmii_rxc0_delay"          SIGNAL_PATTERN = CLOCK;
605 
606INST "*ETH_A*rgmii?rgmii_tx_clk_delay" ODELAY_VALUE = 6;
607INST "*ETH_A*rgmii?rgmii_tx_clk_delay" SIGNAL_PATTERN = CLOCK;
608
609# Group all IODELAY-related blocks to use a single IDELAYCTRL
610
611# Change - added TNMs for trace length variations
612INST "ETH_A_RGMII_RXD_0_pin[0]" TNM = "A_rgmii_rx_d0";
613INST "ETH_A_RGMII_RXD_0_pin[1]" TNM = "A_rgmii_rx_d1";
614INST "ETH_A_RGMII_RXD_0_pin[2]" TNM = "A_rgmii_rx_d2";
615INST "ETH_A_RGMII_RXD_0_pin[3]" TNM = "A_rgmii_rx_d3";
616INST "ETH_A_RGMII_RX_CTL_0_pin" TNM = "A_rgmii_rx_ctrl";
617
618# Spec: 1.2ns setup time, 1.2ns hold time
619# The internal PHY delays were not used to derive the OFFSET constraints                                                                 
620# Changed NET Name
621#  This signal trace is longer than the clock trace, and arrives at the FPGA pin 64 ps after the clock
622#  Therefore the offset in constraint must have less setup time than nominal
623TIMEGRP "A_rgmii_rx_d0" OFFSET = IN 1.2 ns VALID 2.4 ns BEFORE "ETH_A_RGMII_RXC_0_pin" RISING;
624TIMEGRP "A_rgmii_rx_d0" OFFSET = IN 1.2 ns VALID 2.4 ns BEFORE "ETH_A_RGMII_RXC_0_pin" FALLING;
625
626#  This signal trace is shorter than the clock trace, and arrives at the FPGA pin 376 ps before the clock
627#  Therefore the offset in constraint must have more setup time than nominal
628TIMEGRP "A_rgmii_rx_d1" OFFSET = IN 1.2 ns VALID 2.4 ns BEFORE "ETH_A_RGMII_RXC_0_pin" RISING;
629TIMEGRP "A_rgmii_rx_d1" OFFSET = IN 1.2 ns VALID 2.4 ns BEFORE "ETH_A_RGMII_RXC_0_pin" FALLING;
630
631#  This signal trace is shorter than the clock trace, and arrives at the FPGA pin 372 ps before the clock
632#  Therefore the offset in constraint must have more setup time than nominal
633TIMEGRP "A_rgmii_rx_d2" OFFSET = IN 1.2 ns VALID 2.4 ns BEFORE "ETH_A_RGMII_RXC_0_pin" RISING;
634TIMEGRP "A_rgmii_rx_d2" OFFSET = IN 1.2 ns VALID 2.4 ns BEFORE "ETH_A_RGMII_RXC_0_pin" FALLING;
635
636#  This signal trace is shorter than the clock trace, and arrives at the FPGA pin 115 ps before the clock
637#  Therefore the offset in constraint must have more setup time than nominal
638TIMEGRP "A_rgmii_rx_d3" OFFSET = IN 1.2 ns VALID 2.4 ns BEFORE "ETH_A_RGMII_RXC_0_pin" RISING;
639TIMEGRP "A_rgmii_rx_d3" OFFSET = IN 1.2 ns VALID 2.4 ns BEFORE "ETH_A_RGMII_RXC_0_pin" FALLING;
640
641#  This signal trace is shorter than the clock trace, and arrives at the FPGA pin 292 ps before the clock
642#  Therefore the offset in constraint must have more setup time than nominal
643TIMEGRP "A_rgmii_rx_ctrl" OFFSET = IN 1.2 ns VALID 2.4 ns BEFORE "ETH_A_RGMII_RXC_0_pin" RISING;
644TIMEGRP "A_rgmii_rx_ctrl" OFFSET = IN 1.2 ns VALID 2.4 ns BEFORE "ETH_A_RGMII_RXC_0_pin" FALLING;
645
646
647NET "*ETH_A*/LlinkTemac0_CLK" TNM_NET = "A_LLCLK0"; #name of signal connected to TEMAC LlinkTemac0_CLK input
648NET "*ETH_A*/SPLB_Clk" TNM_NET = "A_PLBCLK"; #name of signal connected to TEMAC SPLB_Clk input
649NET "*ETH_A*/REFCLK" TNM_NET = "A_REFCLK"; #name of signal connected to TEMAC REFCLK input
650
651TIMESPEC "TS_A_LL_CLK0_2_RX_CLIENT_CLK0"  = FROM A_LLCLK0 TO A_phy_clk_rx 8000 ps DATAPATHONLY; #constant value based on Ethernet clock                 
652TIMESPEC "TS_A_LL_CLK0_2_TX_CLIENT_CLK0"  = FROM A_LLCLK0 TO A_phy_clk_tx 8000 ps DATAPATHONLY; #constant value based on Ethernet clock             
653TIMESPEC "TS_A_RX_CLIENT_CLK0_2_LL_CLK0"  = FROM A_phy_clk_rx TO A_LLCLK0 8000 ps DATAPATHONLY; #varies based on period of LocalLink clock           
654TIMESPEC "TS_A_TX_CLIENT_CLK0_2_LL_CLK0"  = FROM A_phy_clk_tx TO A_LLCLK0 8000 ps DATAPATHONLY; #varies based on period of LocalLink clock           
655
656TIMESPEC "TS_A_REF_CLK_2_PLB_CLIENT_CLK"  = FROM A_REFCLK TO A_PLBCLK 8000 ps DATAPATHONLY; #varies based on period of PLB clock                       
657TIMESPEC "TS_A_PLB_CLIENT_CLK_2_REF_CLK"  = FROM A_PLBCLK TO A_REFCLK 5000 ps DATAPATHONLY; #constant value based on constant 200 MHZ ref clock         
658
659TIMESPEC "TS_A_REF_CLK_2_TX_CLIENT_CLK0"  = FROM A_REFCLK TO A_phy_clk_tx 8000 ps DATAPATHONLY; #constant value based on Ethernet clock                       
660TIMESPEC "TS_A_TX_CLIENT_CLK0_2_REF_CLK"  = FROM A_phy_clk_tx TO A_REFCLK 5000 ps DATAPATHONLY; #constant value based on constant 200 MHZ ref clock           
661
662TIMESPEC "TS_A_REF_CLK_2_RX_CLIENT_CLK0"  = FROM A_REFCLK TO A_phy_clk_rx 8000 ps DATAPATHONLY; #constant value based on Ethernet clock               
663TIMESPEC "TS_A_RX_CLIENT_CLK0_2_REF_CLK"  = FROM A_phy_clk_rx TO A_REFCLK 5000 ps DATAPATHONLY; #constant value based on constant 200 MHZ ref clock   
664
665
666
667###### ETH_B
668###### Hard_Ethernet_MAC
669# This is a RGMII system
670# GTX_CLK_0 = 125MHz
671# LlinkTemac0_CLK = plb_v46 clk = host clock = 100MHz from clock generator
672# Rx/Tx Client clocks are Rx/Tx PHY clocks so CORE Gen PHY clock constraints propagate to Rx/Tx client clock periods
673# Time domain crossing constraints (DATAPATHONLY) are set for maximum bus frequency
674# allowed by IP which is the maximum option in BSB. For lower bus frequency choice in BSB,
675# the constraints are over constrained. Relaxing them for your system may reduce build time.
676
677NET "*ETH_B*/hrst*" TIG;
678
679# Locate the Tri-Mode Ethernet MAC instance
680INST "*ETH_B*v6_emac" LOC = "TEMAC_X0Y1";
681
682###############################################################################
683# CLOCK CONSTRAINTS
684# The following constraints are required. If you choose to not use the example
685# design level of wrapper hierarchy, the net names should be translated to
686# match your design.
687###############################################################################
688
689# Ethernet RGMII PHY-side transmit clock
690# Changed NET Name - Input to bufg_tx_0
691#     ___________                                         
692#    |           |                 |\                     
693#    | Hard Core |--- tx_clk_0_o --| >---- Tx_Cl_Clk -----
694#    |___________|                 |/                     
695#                                 BUFG
696#
697NET "*ETH_B*/tx_cl_clk" TNM_NET = "B_phy_clk_tx";
698TIMEGRP "B_v6_emac_v1_3_clk_phy_tx" = "B_phy_clk_tx";
699TIMESPEC "TS_B_v6_emac_v1_3_clk_phy_tx" = PERIOD "B_v6_emac_v1_3_clk_phy_tx" 8 ns HIGH 50 %;
700
701# Ethernet RGMII PHY-side receive clock
702# Changed NET Name
703#  RGMII_RXC_0 is the name of the clock net at the TEMAC Port
704#     It is the input to the IODELAY
705#        RxClientClk_0 is the name of the BUFG output clock net
706#
707#                     _________      BUFR
708#                    |         |      |\
709#  ---RGMII_RXC_0----| IODELAY |------| >----RxClientClk_0------------
710#                    |_________|      |/
711#
712NET "ETH_B_RGMII_RXC_0_pin" TNM_NET = "B_phy_clk_rx";
713TIMEGRP "B_v6_emac_v1_3_clk_phy_rx" = "B_phy_clk_rx";
714TIMESPEC "TS_B_v6_emac_v1_3_clk_phy_rx" = PERIOD "B_v6_emac_v1_3_clk_phy_rx" 7.5 ns HIGH 50 %;
715
716# Constrain the DCR interface clock to an example frequency of 100 MHz
717# Changed NET Name
718# NET "DCREMACCLK" TNM_NET = "host_clock";
719NET "*ETH_B*/SPLB_CLK" TNM_NET = "host_clock";
720TIMEGRP "B_clk_host" = "B_host_clock";
721TIMESPEC "TS_B_clk_host" = PERIOD "B_clk_host" 10 ns HIGH 50 %;
722
723###############################################################################
724# PHYSICAL INTERFACE CONSTRAINTS
725# The following constraints are necessary for proper operation, and are tuned
726# for this example design. They should be modified to suit your design.
727###############################################################################
728
729# RGMII physical interface constraints
730# -----------------------------------------------------------------------------
731
732# Set the IDELAY and ODELAY values, tuned for this example design.
733# These values should be modified to suit your design.
734# original assuming equal trace lengths  INST "*rgmii?rgmii_rx_ctl_delay" IDELAY_VALUE = 13;
735# original assuming equal trace lengths  INST "*rgmii?rgmii_rx_d0_delay"  IDELAY_VALUE = 13;
736# original assuming equal trace lengths  INST "*rgmii?rgmii_rx_d1_delay"  IDELAY_VALUE = 13;
737# original assuming equal trace lengths  INST "*rgmii?rgmii_rx_d2_delay"  IDELAY_VALUE = 13;
738# original assuming equal trace lengths  INST "*rgmii?rgmii_rx_d3_delay"  IDELAY_VALUE = 13;
739
740INST "*ETH_B*rgmii?rgmii_rx_ctl_delay" IDELAY_VALUE = 13;
741INST "*ETH_B*rgmii?rgmii_rx_d0_delay"  IDELAY_VALUE = 13;
742INST "*ETH_B*rgmii?rgmii_rx_d1_delay"  IDELAY_VALUE = 13;
743INST "*ETH_B*rgmii?rgmii_rx_d2_delay"  IDELAY_VALUE = 13;
744INST "*ETH_B*rgmii?rgmii_rx_d3_delay"  IDELAY_VALUE = 13;
745
746INST "*ETH_B*rgmii_rxc0_delay"          IDELAY_VALUE = 0;
747INST "*ETH_B*rgmii_rxc0_delay"          SIGNAL_PATTERN = CLOCK;
748 
749INST "*ETH_B*rgmii?rgmii_tx_clk_delay" ODELAY_VALUE = 6;
750INST "*ETH_B*rgmii?rgmii_tx_clk_delay" SIGNAL_PATTERN = CLOCK;
751
752# Group all IODELAY-related blocks to use a single IDELAYCTRL
753
754# Change - added TNMs for trace length variations
755INST "ETH_B_RGMII_RXD_0_pin[0]" TNM = "B_rgmii_rx_d0";
756INST "ETH_B_RGMII_RXD_0_pin[1]" TNM = "B_rgmii_rx_d1";
757INST "ETH_B_RGMII_RXD_0_pin[2]" TNM = "B_rgmii_rx_d2";
758INST "ETH_B_RGMII_RXD_0_pin[3]" TNM = "B_rgmii_rx_d3";
759INST "ETH_B_RGMII_RX_CTL_0_pin" TNM = "B_rgmii_rx_ctrl";
760
761# Spec: 1.2ns setup time, 1.2ns hold time
762# The internal PHY delays were not used to derive the OFFSET constraints                                                                 
763# Changed NET Name
764#  This signal trace is longer than the clock trace, and arrives at the FPGA pin 64 ps after the clock
765#  Therefore the offset in constraint must have less setup time than nominal
766TIMEGRP "B_rgmii_rx_d0" OFFSET = IN 1.2 ns VALID 2.4 ns BEFORE "ETH_B_RGMII_RXC_0_pin" RISING;
767TIMEGRP "B_rgmii_rx_d0" OFFSET = IN 1.2 ns VALID 2.4 ns BEFORE "ETH_B_RGMII_RXC_0_pin" FALLING;
768
769#  This signal trace is shorter than the clock trace, and arrives at the FPGA pin 376 ps before the clock
770#  Therefore the offset in constraint must have more setup time than nominal
771TIMEGRP "B_rgmii_rx_d1" OFFSET = IN 1.2 ns VALID 2.4 ns BEFORE "ETH_B_RGMII_RXC_0_pin" RISING;
772TIMEGRP "B_rgmii_rx_d1" OFFSET = IN 1.2 ns VALID 2.4 ns BEFORE "ETH_B_RGMII_RXC_0_pin" FALLING;
773
774#  This signal trace is shorter than the clock trace, and arrives at the FPGA pin 372 ps before the clock
775#  Therefore the offset in constraint must have more setup time than nominal
776TIMEGRP "B_rgmii_rx_d2" OFFSET = IN 1.2 ns VALID 2.4 ns BEFORE "ETH_B_RGMII_RXC_0_pin" RISING;
777TIMEGRP "B_rgmii_rx_d2" OFFSET = IN 1.2 ns VALID 2.4 ns BEFORE "ETH_B_RGMII_RXC_0_pin" FALLING;
778
779#  This signal trace is shorter than the clock trace, and arrives at the FPGA pin 115 ps before the clock
780#  Therefore the offset in constraint must have more setup time than nominal
781TIMEGRP "B_rgmii_rx_d3" OFFSET = IN 1.2 ns VALID 2.4 ns BEFORE "ETH_B_RGMII_RXC_0_pin" RISING;
782TIMEGRP "B_rgmii_rx_d3" OFFSET = IN 1.2 ns VALID 2.4 ns BEFORE "ETH_B_RGMII_RXC_0_pin" FALLING;
783
784#  This signal trace is shorter than the clock trace, and arrives at the FPGA pin 292 ps before the clock
785#  Therefore the offset in constraint must have more setup time than nominal
786TIMEGRP "B_rgmii_rx_ctrl" OFFSET = IN 1.2 ns VALID 2.4 ns BEFORE "ETH_B_RGMII_RXC_0_pin" RISING;
787TIMEGRP "B_rgmii_rx_ctrl" OFFSET = IN 1.2 ns VALID 2.4 ns BEFORE "ETH_B_RGMII_RXC_0_pin" FALLING;
788
789
790NET "*ETH_B*/LlinkTemac0_CLK" TNM_NET = "B_LLCLK0"; #name of signal connected to TEMAC LlinkTemac0_CLK input
791NET "*ETH_B*/SPLB_Clk" TNM_NET = "B_PLBCLK"; #name of signal connected to TEMAC SPLB_Clk input
792
793TIMESPEC "TS_B_LL_CLK0_2_RX_CLIENT_CLK0"  = FROM B_LLCLK0 TO B_phy_clk_rx 8000 ps DATAPATHONLY; #constant value based on Ethernet clock                 
794TIMESPEC "TS_B_LL_CLK0_2_TX_CLIENT_CLK0"  = FROM B_LLCLK0 TO B_phy_clk_tx 8000 ps DATAPATHONLY; #constant value based on Ethernet clock             
795TIMESPEC "TS_B_RX_CLIENT_CLK0_2_LL_CLK0"  = FROM B_phy_clk_rx TO B_LLCLK0 8000 ps DATAPATHONLY; #varies based on period of LocalLink clock           
796TIMESPEC "TS_B_TX_CLIENT_CLK0_2_LL_CLK0"  = FROM B_phy_clk_tx TO B_LLCLK0 8000 ps DATAPATHONLY; #varies based on period of LocalLink clock       
797
798###### DDR3_2GB_SODIMM
799#2012-Apr-2:
800# -Started with old UCF snippet from early FPGA pinout testing
801# -Updated LOC constraints to match MIG 13.4 design which met timing for 2GB SO-DIMM (-1 @ 400MHz, -2 @ 533MHz)
802
803###### DDR3_SDRAM
804
805# Constrain BUFR clocks used to synchronize data from IOB to fabric logic
806# Note that ISE cannot infer this from other PERIOD constraints because
807# of the use of OSERDES blocks in the BUFR clock generation path
808NET "*/mpmc_core_0/gen_v6_ddr3_phy.mpmc_phy_if_0/clk_rsync[?]" TNM_NET = TNM_clk_rsync;
809TIMESPEC "TS_clk_rsync" = PERIOD "TNM_clk_rsync" 5000 ps;       # This is over-constraint for 200MHz, user can relax it to match mpmc_clk0
810 
811# Paths between DQ/DQS ISERDES.Q outputs and CLB flops clocked by falling
812# edge of BUFR will by design only be used if DYNCLKDIVSEL is asserted for
813# that particular flop. Mark this path as being a full-cycle, rather than
814# a half cycle path for timing purposes. NOTE: This constraint forces full-
815# cycle timing to be applied globally for all rising->falling edge paths
816# in all resynchronizaton clock domains. If the user had modified the logic
817# in the resync clock domain such that other rising->falling edge paths
818# exist, then constraint below should be modified to utilize pattern
819# matching to specific affect only the DQ/DQS ISERDES.Q outputs
820TIMEGRP "TG_clk_rsync_rise" = RISING  "TNM_clk_rsync";
821TIMEGRP "TG_clk_rsync_fall" = FALLING "TNM_clk_rsync";
822TIMESPEC "TS_clk_rsync_rise_to_fall" =    FROM "TG_clk_rsync_rise" TO "TG_clk_rsync_fall" 5000 ps;    # This is over-constraint for 200MHz, user can relax it to match mpmc_clk0
823 
824# Signal to select between controller and physical layer signals. Four divided by two clock
825# cycles (4 memory clock cycles) are provided by design for the signal to settle down.
826# Used only by the phy modules.
827INST "*/mpmc_core_0/gen_v6_ddr3_phy.mpmc_phy_if_0/u_phy_init/u_ff_phy_init_data_sel" TNM = "TNM_PHY_INIT_SEL";
828TIMESPEC "TS_MC_PHY_INIT_SEL" = FROM "TNM_PHY_INIT_SEL" TO FFS = 10000 ps;                         # This is over-constraint, user can relax it to match 4 memory clock cycles
829
830#Internal Vref
831CONFIG INTERNAL_VREF_BANK22=0.75;
832CONFIG INTERNAL_VREF_BANK23=0.75;
833CONFIG INTERNAL_VREF_BANK33=0.75;
834
835#DCI Cascading
836CONFIG DCI_CASCADE = "23 22";
837
838#BUFR IOBs (must be unconnected in FPGA and PCB)
839CONFIG PROHIBIT = AH17,AP20;
840
841#BUFIO IOBs (must be unconnected in FPGA and PCB)
842CONFIG PROHIBIT = AC13,AD12,AF19,AF20,AH23,AK27,AN27,AP11;
843
844######################################################################################
845##Place RSYNC OSERDES and IODELAY:                                                  ##
846######################################################################################
847
848#MPMC as of EDK 13.4 only supports 32-bit memories
849##Site: AH17 -- Bank 32
850#INST "*/u_phy_read/u_phy_rdclk_gen/gen_loop_col1.u_oserdes_rsync" LOC = "OLOGIC_X2Y23";
851#INST "*/u_phy_read/u_phy_rdclk_gen/gen_loop_col1.u_odelay_rsync" LOC = "IODELAY_X2Y23";
852#INST "*/u_phy_read/u_phy_rdclk_gen/gen_loop_col1.u_bufr_rsync" LOC = "BUFR_X2Y1";
853
854##Site: AP20 -- Bank 22
855INST "*/u_phy_read/u_phy_rdclk_gen/gen_loop_col0.u_oserdes_rsync" LOC = "OLOGIC_X1Y21";
856INST "*/u_phy_read/u_phy_rdclk_gen/gen_loop_col0.u_odelay_rsync" LOC = "IODELAY_X1Y21";
857INST "*/u_phy_read/u_phy_rdclk_gen/gen_loop_col0.u_bufr_rsync" LOC = "BUFR_X1Y1";
858
859
860######################################################################################
861##Place CPT OSERDES and IODELAY:                                                    ##
862######################################################################################
863
864##Site: AH23 -- Bank 23
865INST "*/u_phy_read/u_phy_rdclk_gen/gen_ck_cpt[0].u_oserdes_cpt" LOC = "OLOGIC_X1Y57";
866INST "*/u_phy_read/u_phy_rdclk_gen/gen_ck_cpt[0].u_odelay_cpt" LOC = "IODELAY_X1Y57";
867
868##Site: AK27 -- Bank 23
869INST "*/u_phy_read/u_phy_rdclk_gen/gen_ck_cpt[1].u_oserdes_cpt" LOC = "OLOGIC_X1Y59";
870INST "*/u_phy_read/u_phy_rdclk_gen/gen_ck_cpt[1].u_odelay_cpt" LOC = "IODELAY_X1Y59";
871
872##Site: AN27 -- Bank 23
873INST "*/u_phy_read/u_phy_rdclk_gen/gen_ck_cpt[2].u_oserdes_cpt" LOC = "OLOGIC_X1Y61";
874INST "*/u_phy_read/u_phy_rdclk_gen/gen_ck_cpt[2].u_odelay_cpt" LOC = "IODELAY_X1Y61";
875
876##Site: AF19 -- Bank 22
877INST "*/u_phy_read/u_phy_rdclk_gen/gen_ck_cpt[3].u_oserdes_cpt" LOC = "OLOGIC_X1Y23";
878INST "*/u_phy_read/u_phy_rdclk_gen/gen_ck_cpt[3].u_odelay_cpt" LOC = "IODELAY_X1Y23";
879
880#MPMC as of EDK 13.4 only supports 32-bit memories
881##Site: AF20 -- Bank 22
882#INST "*/u_phy_read/u_phy_rdclk_gen/gen_ck_cpt[4].u_oserdes_cpt" LOC = "OLOGIC_X1Y17";
883#INST "*/u_phy_read/u_phy_rdclk_gen/gen_ck_cpt[4].u_odelay_cpt" LOC = "IODELAY_X1Y17";
884
885##Site: AP11 -- Bank 33
886#INST "*/u_phy_read/u_phy_rdclk_gen/gen_ck_cpt[5].u_oserdes_cpt" LOC = "OLOGIC_X2Y57";
887#INST "*/u_phy_read/u_phy_rdclk_gen/gen_ck_cpt[5].u_odelay_cpt" LOC = "IODELAY_X2Y57";
888
889##Site: AC13 -- Bank 33
890#INST "*/u_phy_read/u_phy_rdclk_gen/gen_ck_cpt[6].u_oserdes_cpt" LOC = "OLOGIC_X2Y61";
891#INST "*/u_phy_read/u_phy_rdclk_gen/gen_ck_cpt[6].u_odelay_cpt" LOC = "IODELAY_X2Y61";
892
893##Site: AD12 -- Bank 33
894#INST "*/u_phy_read/u_phy_rdclk_gen/gen_ck_cpt[7].u_oserdes_cpt" LOC = "OLOGIC_X2Y59";
895#INST "*/u_phy_read/u_phy_rdclk_gen/gen_ck_cpt[7].u_odelay_cpt" LOC = "IODELAY_X2Y59";
896
897
Note: See TracBrowser for help on using the repository browser.