Changes between Initial Version and Version 1 of HardwareUsersGuides/WARPv3/FMC


Ignore:
Timestamp:
Jul 28, 2012, 7:15:23 PM (12 years ago)
Author:
murphpo
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • HardwareUsersGuides/WARPv3/FMC

    v1 v1  
     1[[TracNav(HardwareUsersGuides/WARPv3/TOC)]]
     2= WARP v3 User Guide: FMC Slot =
     3The WARP v3 board implements a high-pin count (HPC) FMC carrier slot. For details on the FMC standard, refer to [http://www.vita.com/fmc.html VITA specification 57.1]. The details of the WARP v3 FMC implementation are described below.
     4
     5|| [[Image(wiki:HardwareUsersGuides/WARPv3/files:important.png,nolink,valign=middle)]] || Always disconnect the WARP v3 board power supply before mounting/removing an FMC module. The external 12VDC is routed directly to the FMC connector, even when the power switch is off.[[BR]][[BR]]Be careful when inserting FMC modules. '''DO NOT''' simply press down on the module, thereby flexing the WARP v3 board. It is essential to support both sides of the board when inserting a module. We recommend "pinching" the module into place from both sides of the boards, with fingers/thumbs on opposite sides of the FMC connector. Refer to the [wiki:howtos/FMC FMC module howto] for an illustration. [[BR]][[BR]]Damage to the WARP v3 components or PCB resulting from mechanical strain is not covered by warranty. ||
     6
     7== Signal Connections ==
     8The FMC specification provides multiple banks of signals which can be connected to the FPGA on a carrier board.  The WARP v3 FMC implementation connects all required and most optional signals.
     9
     10'''FPGA general purpose I/O:'''
     11 * 156 general purpose FPGA I/O are connected to the FMC slot
     12  * FMC LA: Fully connected - 34 differential pairs (68 I/O)
     13  * FMC HA: Fully connected - 24 differential pairs (48 I/O)
     14  * FMC HB:
     15   * HB![0:19] connected - 20 differential pairs (40 I/O)
     16   * H![20:21] unconnected
     17 * All LA, HA signals must use 2.5v I/O
     18 * HB signals use VCCO driven by FMC module
     19 * All LA, HA, HB signals must use IOSTANDARDs which require no external VREF
     20
     21'''FPGA multi-gigabit transceivers:'''
     22 * 8 MGTs connected to FMC DP![0:7]
     23 * FMC DP![8:9] unconnected
     24 * Both M2C MGT reference clocks connected (GBTCLK![0:1]_p/n)
     25
     26'''FMC Clock signals:'''
     27 * CLK0_M2C and CLK1_M2C connected to FPGA global clock pins
     28 * CLK2_BIDIR and CLK3_BIDIR driven by WARP v3 RF interface clock buffers
     29 * All LA, HA, HB CC signals are connected to FPGA MRCC or SRCC pins in FPGA columns 2 or 3
     30
     31'''Power:'''
     32 * All required voltage rails provided (12v, 3.3v, 2.5v)
     33 * FMC VADJ fixed at 2.5v
     34 * FMC VIO_B_M2C connected to VCCO for FPGA bank 36 (only bank with HB I/O connections)
     35 * FMC VREF_A_M2C and VREF_B_M2C are unconnected
     36
     37'''Misc:'''
     38 * FMC JTAG pins connected to 3.3v JTAG chain
     39 * FMC IIC EEPROM pins connected to 3.3v FPGA I/O (via 2.5v-3.3v level shifting)
     40
     41The sections below describe the WARP v3 FMC implementation in detail.
     42----
     43
     44== FPGA I/O ==
     45The FMC LA, HA and HB banks are connected to general purpose FPGA pins in I/O banks 24, 25, 26, 35 and 36. Every signal is routed as half of a differential pair according to the mapping defined in the FMC spec. The _p and _n halves of each pair are connected to _p and _n FPGA I/O.
     46
     47All 156 signals are connected directly to FPGA pins with no termination on the WARP v3 board. You must use the FPGA's internal LVDS termination for any differential pair driven by an FMC module.
     48
     49In order to maximize signal integrity, every FMC I/O trace is routed on exactly one internal layer with only two vias (to connect to the FMC and FPGA pins). Every FMC routing layer is directly adjacent to a solid ground plane.
     50
     51The length of the p and n traces in each differential pair are well matched. The trace lengths in each bank are matched to the ranges listed below.
     52  ||= Bank =||= Min Length =||= Max Length =||
     53  || LA || 0.867" || 1.277" ||
     54  || HA || 0.830" || 1.493" ||
     55  || HB || 0.957" || 1.853" ||
     56
     57== Clocks ==
     58The FMC spec defines four dedicated differential clock signals:
     59 * CLK![0:1]_M2C_p/n: Always driven by the FMC module into the carrier board's FPGA
     60 * CLK![2:3]_BIDIR_p/n: Driven by either the carrier board or FMC module
     61
     62The WARP v3 FMC implementation connections CLK![0:1]_M2C to FPGA GCLK pins, as listed below.
     63  ||= FMC CLK =||= FPGA Pin =||
     64  || CLK0_M2C_P || K24 ||
     65  || CLK0_M2C_N || K23 ||
     66  || CLK1_M2C_P || L23 ||
     67  || CLK1_M2C_N || M22 ||
     68
     69The FMC CLK![2:3]_BIDIR signals are always driven by the WARP v3 board and must either be unconnected or routed to IC inputs on the FMC module. The WARP v3 FMC implementaton uses these clock signals to drive copies of the RF interface clocks to an FMC module. This will enable RF circuits on an FMC module to be synchronized with the integrated RF interfaces without any external cabling. The CLK![2:3]_BIDIR connections are listed below.
     70
     71  ||= FMC CLK =||= WARP v3 Signal =||= WARP v3 Connection =||
     72  || CLK2_BIDIR || Sampling Clock || U46.CLKOUT4 ||
     73  || CLK3_BIDIR || RF Reference Clock || U20.CLKOUT4 ||
     74
     75Both CLK![2:3]_BIDIR signals are driven by LVDS outputs on the AD9512 clock buffers. The FMC module must implement far-end LVDS termination.
     76
     77In addition to the dedicated clock signals, the FMC spec recommends a subset of each I/O bank be tied to clock-capable pins on the carrier FPGA. The WARP v3 FMC implementation connects all recommended CC I/O to column 2 or 3 CC pins on the FPGA. The details are listed below.
     78
     79  ||= FMC I/O =||= FPGA p/n Pins =||= FPGA Pin Type =||
     80  ||LA![0]_CC || F21/G20 || MRCC ||
     81  ||LA![1]_CC || B20/C19 || MRCC ||
     82  ||LA![17]_CC || L13/M13 || MRCC ||
     83  ||LA![18]_CC || M12/M11 || MRCC ||
     84  ||HA![0]_CC || C28/B28 || MRCC ||
     85  ||HA![1]_CC || C29/D29 || MRCC ||
     86  ||HA![17]_CC || F25/G25 || SRCC ||
     87  ||HB![0]_CC || K16/L16 || MRCC ||
     88  ||HB![6]_CC || L15/L14 || MRCC ||
     89  ||HB![17]_CC || A16/B16 || SRCC ||
     90
     91
     92== MGTs ==
     93The FMC DP![0:7] pins are connected directly to Virtex-6 GTX transceiver dedicated pins. As required by the FMC spec, the WARP v3 board does not include any AC-coupling caps for MGT traces. The FMC module must include these in its MGT circuit.
     94
     95The mapping of FMC DP![0:7] to FPGA GTX is listed below.
     96  ||= FMC DP =||= GTX LOC =||= GTX Tx+/Tx- Pins =||= FTX Rx+/Rx- Pins =||
     97  || 0 || 116_1 || C3/C4 || E3/D4 ||
     98  || 1 || 116_3 || A3/A4 || B5/B6 ||
     99  || 2 || 116_2 || B1/B2 || D5/D6 ||
     100  || 3 || 116_0 || D1/D2 || G3/G4 ||
     101  || 4 || 115_2 || H1/H2 || K5/K6 ||
     102  || 5 || 115_0 || M1/M2 || N3/N4 ||
     103  || 6 || 115_1 || K1/K2 || L3/L4 ||
     104  || 7 || 115_3 || F1/F2 || J3/J4 ||
     105
     106FMC modules which use MGTs must also supply the MGT reference clock running at whatever frequency is required by the module's MGT circuits. The FMC spec defines two MGT reference clocks, both of which are connected on WARP v3. The FMC and FPGA connections are listed below.
     107  ||= FMC GBTCLK =||= FPGA Buffer =||= FPGA Pin =||
     108  || GBTCLK0_M2C_P || MGTREFCLK0P_115 || P6 ||
     109  || GBTCLK0_M2C_N || MGTREFCLK0N_115 || P5 ||
     110  || GBTCLK1_M2C_P || MGTREFCLK0P_116 || H6 ||
     111  || GBTCLK1_M2C_N || MGTREFCLK0N_116 || H5 ||
     112
     113As required by the spec, the MGT clock signals are AC-coupled on the WARP v3 board by 100nF series capacitors.
     114
     115The WARP v3 board provides sufficient power to utilize all 8 MGTs simultaneously at their maximum rated speed.
     116
     117For details on the protocols and frequencies supported by the MGTs refer to the [http://www.xilinx.com/support/documentation/user_guides/ug366.pdf Virtex-6 GTX Transceiver User Guide].
     118
     119== JTAG ==
     120The FMC spec provides dedicated JTAG pins for routing a JTAG chain from the carrier card through ICs on the FMC module. On WARP v3 this JTAG chain operates at 3.3v. The only IC on this chain is the configuration CPLD. The chain is driven by a standard 14-pin JTAG header at J17 (back side).
     121
     122If no FMC module is mounted a shunt must be mounted at J7 to complete the JTAG chain for access to the CPLD. The shunt should be removed when a JTAG-equipped FMC module is connected.
     123
     124The FPGA JTAG interface is separate from the FMC/CPLD chain.
     125
     126== Supported FMC Modules ==
     127The WARP v3 FMC implementation is designed to support FMC-compliant modules compatible with the voltage, I/O and clock connections listed above. Any module known to work on the Xilinx ML605 should work on WARP v3. As we test various third-party modules we will update this section.
     128
     129If you're concerned about compatibility with a third-party module, please share this page with the module designer. The details above should be enough to confirm compatibility with our FMC implementation.
     130
     131----
     132
     133== FPGA Connections ==
     134The UCF snippet below lists the FPGA pins connected to the FMC slot.
     135
     136{{{
     137#!sh
     138#####################################
     139###FMC HPC Connector
     140#Control
     141NET "FMC_CLK_DIR" LOC = "M23" | IOSTANDARD = "LVCMOS25";
     142NET "FMC_PRSNT_M2C" LOC = "K32" | IOSTANDARD = "LVCMOS25";
     143NET "FMC_I2C_SCL" LOC = "F23" | IOSTANDARD = "LVCMOS25";
     144NET "FMC_I2C_SDA" LOC = "F24" | IOSTANDARD = "LVCMOS25";
     145
     146#Clocks
     147NET "FMC_CLK0_M2C_N" LOC = "K23" | IOSTANDARD = "LVDS_25" | DIFF_TERM = "TRUE";
     148NET "FMC_CLK0_M2C_P" LOC = "K24" | IOSTANDARD = "LVDS_25" | DIFF_TERM = "TRUE";
     149NET "FMC_CLK1_M2C_N" LOC = "M22" | IOSTANDARD = "LVDS_25" | DIFF_TERM = "TRUE";
     150NET "FMC_CLK1_M2C_P" LOC = "L23" | IOSTANDARD = "LVDS_25" | DIFF_TERM = "TRUE";
     151
     152#I/O Bank HA
     153NET "FMC_HA00_CC_N" LOC = "B28" | IOSTANDARD = "LVCMOS25";
     154NET "FMC_HA00_CC_P" LOC = "C28" | IOSTANDARD = "LVCMOS25";
     155NET "FMC_HA01_CC_N" LOC = "D29" | IOSTANDARD = "LVCMOS25";
     156NET "FMC_HA01_CC_P" LOC = "C29" | IOSTANDARD = "LVCMOS25";
     157NET "FMC_HA02_N" LOC = "E27" | IOSTANDARD = "LVCMOS25";
     158NET "FMC_HA02_P" LOC = "D27" | IOSTANDARD = "LVCMOS25";
     159NET "FMC_HA03_N" LOC = "A31" | IOSTANDARD = "LVCMOS25";
     160NET "FMC_HA03_P" LOC = "B31" | IOSTANDARD = "LVCMOS25";
     161NET "FMC_HA04_N" LOC = "E28" | IOSTANDARD = "LVCMOS25";
     162NET "FMC_HA04_P" LOC = "F28" | IOSTANDARD = "LVCMOS25";
     163NET "FMC_HA05_N" LOC = "B30" | IOSTANDARD = "LVCMOS25";
     164NET "FMC_HA05_P" LOC = "A30" | IOSTANDARD = "LVCMOS25";
     165NET "FMC_HA06_N" LOC = "G28" | IOSTANDARD = "LVCMOS25";
     166NET "FMC_HA06_P" LOC = "H27" | IOSTANDARD = "LVCMOS25";
     167NET "FMC_HA07_N" LOC = "A26" | IOSTANDARD = "LVCMOS25";
     168NET "FMC_HA07_P" LOC = "B26" | IOSTANDARD = "LVCMOS25";
     169NET "FMC_HA08_N" LOC = "A25" | IOSTANDARD = "LVCMOS25";
     170NET "FMC_HA08_P" LOC = "B25" | IOSTANDARD = "LVCMOS25";
     171NET "FMC_HA09_N" LOC = "D26" | IOSTANDARD = "LVCMOS25";
     172NET "FMC_HA09_P" LOC = "D25" | IOSTANDARD = "LVCMOS25";
     173NET "FMC_HA10_N" LOC = "D30" | IOSTANDARD = "LVCMOS25";
     174NET "FMC_HA10_P" LOC = "C30" | IOSTANDARD = "LVCMOS25";
     175NET "FMC_HA11_N" LOC = "C25" | IOSTANDARD = "LVCMOS25";
     176NET "FMC_HA11_P" LOC = "C24" | IOSTANDARD = "LVCMOS25";
     177NET "FMC_HA12_N" LOC = "D22" | IOSTANDARD = "LVCMOS25";
     178NET "FMC_HA12_P" LOC = "C22" | IOSTANDARD = "LVCMOS25";
     179NET "FMC_HA13_N" LOC = "G27" | IOSTANDARD = "LVCMOS25";
     180NET "FMC_HA13_P" LOC = "G26" | IOSTANDARD = "LVCMOS25";
     181NET "FMC_HA14_N" LOC = "A19" | IOSTANDARD = "LVCMOS25";
     182NET "FMC_HA14_P" LOC = "A18" | IOSTANDARD = "LVCMOS25";
     183NET "FMC_HA15_N" LOC = "L21" | IOSTANDARD = "LVCMOS25";
     184NET "FMC_HA15_P" LOC = "L20" | IOSTANDARD = "LVCMOS25";
     185NET "FMC_HA16_N" LOC = "C27" | IOSTANDARD = "LVCMOS25";
     186NET "FMC_HA16_P" LOC = "B27" | IOSTANDARD = "LVCMOS25";
     187NET "FMC_HA17_CC_N" LOC = "G25" | IOSTANDARD = "LVCMOS25";
     188NET "FMC_HA17_CC_P" LOC = "F25" | IOSTANDARD = "LVCMOS25";
     189NET "FMC_HA18_N" LOC = "F26" | IOSTANDARD = "LVCMOS25";
     190NET "FMC_HA18_P" LOC = "E26" | IOSTANDARD = "LVCMOS25";
     191NET "FMC_HA19_N" LOC = "K22" | IOSTANDARD = "LVCMOS25";
     192NET "FMC_HA19_P" LOC = "K21" | IOSTANDARD = "LVCMOS25";
     193NET "FMC_HA20_N" LOC = "E24" | IOSTANDARD = "LVCMOS25";
     194NET "FMC_HA20_P" LOC = "D24" | IOSTANDARD = "LVCMOS25";
     195NET "FMC_HA21_N" LOC = "A29" | IOSTANDARD = "LVCMOS25";
     196NET "FMC_HA21_P" LOC = "A28" | IOSTANDARD = "LVCMOS25";
     197NET "FMC_HA22_N" LOC = "J22" | IOSTANDARD = "LVCMOS25";
     198NET "FMC_HA22_P" LOC = "H22" | IOSTANDARD = "LVCMOS25";
     199NET "FMC_HA23_N" LOC = "C18" | IOSTANDARD = "LVCMOS25";
     200NET "FMC_HA23_P" LOC = "B18" | IOSTANDARD = "LVCMOS25";
     201
     202#I/O Bank HB
     203NET "FMC_HB00_CC_N" LOC = "L16" | IOSTANDARD = "LVCMOS25";
     204NET "FMC_HB00_CC_P" LOC = "K16" | IOSTANDARD = "LVCMOS25";
     205NET "FMC_HB01_N" LOC = "M17" | IOSTANDARD = "LVCMOS25";
     206NET "FMC_HB01_P" LOC = "M18" | IOSTANDARD = "LVCMOS25";
     207NET "FMC_HB02_N" LOC = "J19" | IOSTANDARD = "LVCMOS25";
     208NET "FMC_HB02_P" LOC = "K19" | IOSTANDARD = "LVCMOS25";
     209NET "FMC_HB03_N" LOC = "D17" | IOSTANDARD = "LVCMOS25";
     210NET "FMC_HB03_P" LOC = "E18" | IOSTANDARD = "LVCMOS25";
     211NET "FMC_HB04_N" LOC = "J16" | IOSTANDARD = "LVCMOS25";
     212NET "FMC_HB04_P" LOC = "J17" | IOSTANDARD = "LVCMOS25";
     213NET "FMC_HB05_N" LOC = "H18" | IOSTANDARD = "LVCMOS25";
     214NET "FMC_HB05_P" LOC = "G18" | IOSTANDARD = "LVCMOS25";
     215NET "FMC_HB06_CC_N" LOC = "L14" | IOSTANDARD = "LVCMOS25";
     216NET "FMC_HB06_CC_P" LOC = "L15" | IOSTANDARD = "LVCMOS25";
     217NET "FMC_HB07_N" LOC = "L18" | IOSTANDARD = "LVCMOS25";
     218NET "FMC_HB07_P" LOC = "L19" | IOSTANDARD = "LVCMOS25";
     219NET "FMC_HB08_N" LOC = "D16" | IOSTANDARD = "LVCMOS25";
     220NET "FMC_HB08_P" LOC = "E16" | IOSTANDARD = "LVCMOS25";
     221NET "FMC_HB09_N" LOC = "G17" | IOSTANDARD = "LVCMOS25";
     222NET "FMC_HB09_P" LOC = "H17" | IOSTANDARD = "LVCMOS25";
     223NET "FMC_HB10_N" LOC = "B17" | IOSTANDARD = "LVCMOS25";
     224NET "FMC_HB10_P" LOC = "C17" | IOSTANDARD = "LVCMOS25";
     225NET "FMC_HB11_N" LOC = "E17" | IOSTANDARD = "LVCMOS25";
     226NET "FMC_HB11_P" LOC = "F18" | IOSTANDARD = "LVCMOS25";
     227NET "FMC_HB12_N" LOC = "G16" | IOSTANDARD = "LVCMOS25";
     228NET "FMC_HB12_P" LOC = "F16" | IOSTANDARD = "LVCMOS25";
     229NET "FMC_HB13_N" LOC = "B15" | IOSTANDARD = "LVCMOS25";
     230NET "FMC_HB13_P" LOC = "A15" | IOSTANDARD = "LVCMOS25";
     231NET "FMC_HB14_N" LOC = "F15" | IOSTANDARD = "LVCMOS25";
     232NET "FMC_HB14_P" LOC = "G15" | IOSTANDARD = "LVCMOS25";
     233NET "FMC_HB15_N" LOC = "C15" | IOSTANDARD = "LVCMOS25";
     234NET "FMC_HB15_P" LOC = "D15" | IOSTANDARD = "LVCMOS25";
     235NET "FMC_HB16_N" LOC = "M15" | IOSTANDARD = "LVCMOS25";
     236NET "FMC_HB16_P" LOC = "M16" | IOSTANDARD = "LVCMOS25";
     237NET "FMC_HB17_CC_N" LOC = "B16" | IOSTANDARD = "LVCMOS25";
     238NET "FMC_HB17_CC_P" LOC = "A16" | IOSTANDARD = "LVCMOS25";
     239NET "FMC_HB18_N" LOC = "J15" | IOSTANDARD = "LVCMOS25";
     240NET "FMC_HB18_P" LOC = "H15" | IOSTANDARD = "LVCMOS25";
     241NET "FMC_HB19_N" LOC = "K17" | IOSTANDARD = "LVCMOS25";
     242NET "FMC_HB19_P" LOC = "K18" | IOSTANDARD = "LVCMOS25";
     243
     244#I/O Bank LA
     245NET "FMC_LA00_CC_N" LOC = "G20" | IOSTANDARD = "LVCMOS25";
     246NET "FMC_LA00_CC_P" LOC = "F21" | IOSTANDARD = "LVCMOS25";
     247NET "FMC_LA01_CC_N" LOC = "C19" | IOSTANDARD = "LVCMOS25";
     248NET "FMC_LA01_CC_P" LOC = "B20" | IOSTANDARD = "LVCMOS25";
     249NET "FMC_LA02_N" LOC = "E23" | IOSTANDARD = "LVCMOS25";
     250NET "FMC_LA02_P" LOC = "E22" | IOSTANDARD = "LVCMOS25";
     251NET "FMC_LA03_N" LOC = "C23" | IOSTANDARD = "LVCMOS25";
     252NET "FMC_LA03_P" LOC = "B23" | IOSTANDARD = "LVCMOS25";
     253NET "FMC_LA04_N" LOC = "D19" | IOSTANDARD = "LVCMOS25";
     254NET "FMC_LA04_P" LOC = "E19" | IOSTANDARD = "LVCMOS25";
     255NET "FMC_LA05_N" LOC = "E21" | IOSTANDARD = "LVCMOS25";
     256NET "FMC_LA05_P" LOC = "D21" | IOSTANDARD = "LVCMOS25";
     257NET "FMC_LA06_N" LOC = "G22" | IOSTANDARD = "LVCMOS25";
     258NET "FMC_LA06_P" LOC = "G21" | IOSTANDARD = "LVCMOS25";
     259NET "FMC_LA07_N" LOC = "F20" | IOSTANDARD = "LVCMOS25";
     260NET "FMC_LA07_P" LOC = "F19" | IOSTANDARD = "LVCMOS25";
     261NET "FMC_LA08_N" LOC = "A24" | IOSTANDARD = "LVCMOS25";
     262NET "FMC_LA08_P" LOC = "A23" | IOSTANDARD = "LVCMOS25";
     263NET "FMC_LA09_N" LOC = "H20" | IOSTANDARD = "LVCMOS25";
     264NET "FMC_LA09_P" LOC = "H19" | IOSTANDARD = "LVCMOS25";
     265NET "FMC_LA10_N" LOC = "B22" | IOSTANDARD = "LVCMOS25";
     266NET "FMC_LA10_P" LOC = "B21" | IOSTANDARD = "LVCMOS25";
     267NET "FMC_LA11_N" LOC = "D20" | IOSTANDARD = "LVCMOS25";
     268NET "FMC_LA11_P" LOC = "C20" | IOSTANDARD = "LVCMOS25";
     269NET "FMC_LA12_N" LOC = "A21" | IOSTANDARD = "LVCMOS25";
     270NET "FMC_LA12_P" LOC = "A20" | IOSTANDARD = "LVCMOS25";
     271NET "FMC_LA13_N" LOC = "J21" | IOSTANDARD = "LVCMOS25";
     272NET "FMC_LA13_P" LOC = "J20" | IOSTANDARD = "LVCMOS25";
     273NET "FMC_LA14_N" LOC = "J14" | IOSTANDARD = "LVCMOS25";
     274NET "FMC_LA14_P" LOC = "K14" | IOSTANDARD = "LVCMOS25";
     275NET "FMC_LA15_N" LOC = "H14" | IOSTANDARD = "LVCMOS25";
     276NET "FMC_LA15_P" LOC = "G13" | IOSTANDARD = "LVCMOS25";
     277NET "FMC_LA16_N" LOC = "H13" | IOSTANDARD = "LVCMOS25";
     278NET "FMC_LA16_P" LOC = "G12" | IOSTANDARD = "LVCMOS25";
     279NET "FMC_LA17_CC_N" LOC = "M13" | IOSTANDARD = "LVCMOS25";
     280NET "FMC_LA17_CC_P" LOC = "L13" | IOSTANDARD = "LVCMOS25";
     281NET "FMC_LA18_CC_N" LOC = "M11" | IOSTANDARD = "LVCMOS25";
     282NET "FMC_LA18_CC_P" LOC = "M12" | IOSTANDARD = "LVCMOS25";
     283NET "FMC_LA19_N" LOC = "E14" | IOSTANDARD = "LVCMOS25";
     284NET "FMC_LA19_P" LOC = "F14" | IOSTANDARD = "LVCMOS25";
     285NET "FMC_LA20_N" LOC = "J12" | IOSTANDARD = "LVCMOS25";
     286NET "FMC_LA20_P" LOC = "H12" | IOSTANDARD = "LVCMOS25";
     287NET "FMC_LA21_N" LOC = "B13" | IOSTANDARD = "LVCMOS25";
     288NET "FMC_LA21_P" LOC = "B12" | IOSTANDARD = "LVCMOS25";
     289NET "FMC_LA22_N" LOC = "A14" | IOSTANDARD = "LVCMOS25";
     290NET "FMC_LA22_P" LOC = "A13" | IOSTANDARD = "LVCMOS25";
     291NET "FMC_LA23_N" LOC = "C14" | IOSTANDARD = "LVCMOS25";
     292NET "FMC_LA23_P" LOC = "D14" | IOSTANDARD = "LVCMOS25";
     293NET "FMC_LA24_N" LOC = "E11" | IOSTANDARD = "LVCMOS25";
     294NET "FMC_LA24_P" LOC = "D11" | IOSTANDARD = "LVCMOS25";
     295NET "FMC_LA25_N" LOC = "E12" | IOSTANDARD = "LVCMOS25";
     296NET "FMC_LA25_P" LOC = "D12" | IOSTANDARD = "LVCMOS25";
     297NET "FMC_LA26_N" LOC = "B11" | IOSTANDARD = "LVCMOS25";
     298NET "FMC_LA26_P" LOC = "A11" | IOSTANDARD = "LVCMOS25";
     299NET "FMC_LA27_N" LOC = "C12" | IOSTANDARD = "LVCMOS25";
     300NET "FMC_LA27_P" LOC = "C13" | IOSTANDARD = "LVCMOS25";
     301NET "FMC_LA28_N" LOC = "F13" | IOSTANDARD = "LVCMOS25";
     302NET "FMC_LA28_P" LOC = "E13" | IOSTANDARD = "LVCMOS25";
     303NET "FMC_LA29_N" LOC = "J10" | IOSTANDARD = "LVCMOS25";
     304NET "FMC_LA29_P" LOC = "J11" | IOSTANDARD = "LVCMOS25";
     305NET "FMC_LA30_N" LOC = "G10" | IOSTANDARD = "LVCMOS25";
     306NET "FMC_LA30_P" LOC = "H10" | IOSTANDARD = "LVCMOS25";
     307NET "FMC_LA31_N" LOC = "F11" | IOSTANDARD = "LVCMOS25";
     308NET "FMC_LA31_P" LOC = "G11" | IOSTANDARD = "LVCMOS25";
     309NET "FMC_LA32_N" LOC = "L11" | IOSTANDARD = "LVCMOS25";
     310NET "FMC_LA32_P" LOC = "K11" | IOSTANDARD = "LVCMOS25";
     311NET "FMC_LA33_N" LOC = "K12" | IOSTANDARD = "LVCMOS25";
     312NET "FMC_LA33_P" LOC = "K13" | IOSTANDARD = "LVCMOS25";
     313
     314#MGTs (Tx=C2M=FPGA Ouput, Rx=M2C=FPGA Input)
     315NET "FMC_MGTCLK_AC_0_N" LOC = "P5";
     316NET "FMC_MGTCLK_AC_0_P" LOC = "P6";
     317NET "FMC_MGTCLK_AC_1_N" LOC = "H5";
     318NET "FMC_MGTCLK_AC_1_P" LOC = "H6";
     319
     320NET "MGT_115_0_RX_N" LOC = "N4"; #FMC DP5
     321NET "MGT_115_0_RX_P" LOC = "N3";
     322NET "MGT_115_0_TX_N" LOC = "M2";
     323NET "MGT_115_0_TX_P" LOC = "M1";
     324NET "MGT_115_1_RX_N" LOC = "L4"; #FMC DP6
     325NET "MGT_115_1_RX_P" LOC = "L3";
     326NET "MGT_115_1_TX_N" LOC = "K2";
     327NET "MGT_115_1_TX_P" LOC = "K1";
     328NET "MGT_115_2_RX_N" LOC = "K6"; #FMC DP4
     329NET "MGT_115_2_RX_P" LOC = "K5";
     330NET "MGT_115_2_TX_N" LOC = "H2";
     331NET "MGT_115_2_TX_P" LOC = "H1";
     332NET "MGT_115_3_RX_N" LOC = "J4"; #FMC DP7
     333NET "MGT_115_3_RX_P" LOC = "J3";
     334NET "MGT_115_3_TX_N" LOC = "F2";
     335NET "MGT_115_3_TX_P" LOC = "F1";
     336NET "MGT_116_0_RX_N" LOC = "G4"; #FMC DP3
     337NET "MGT_116_0_RX_P" LOC = "G3";
     338NET "MGT_116_0_TX_N" LOC = "D2";
     339NET "MGT_116_0_TX_P" LOC = "D1";
     340NET "MGT_116_1_RX_N" LOC = "E4"; #FMC DP0
     341NET "MGT_116_1_RX_P" LOC = "E3";
     342NET "MGT_116_1_TX_N" LOC = "C4";
     343NET "MGT_116_1_TX_P" LOC = "C3";
     344NET "MGT_116_2_RX_N" LOC = "D6"; #FMC DP2
     345NET "MGT_116_2_RX_P" LOC = "D5";
     346NET "MGT_116_2_TX_N" LOC = "B2";
     347NET "MGT_116_2_TX_P" LOC = "B1";
     348NET "MGT_116_3_RX_N" LOC = "B6"; #FMC DP1
     349NET "MGT_116_3_RX_P" LOC = "B5";
     350NET "MGT_116_3_TX_N" LOC = "A4";
     351NET "MGT_116_3_TX_P" LOC = "A3";
     352#####################################
     353}}}