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

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