|
| 1 | +# XDC constraints for the Xilinx ZCU106 board |
| 2 | +# part: xczu7ev-ffvc1156-2-e |
| 3 | + |
| 4 | +# General configuration |
| 5 | +set_property BITSTREAM.GENERAL.COMPRESS true [current_design] |
| 6 | + |
| 7 | +# System clocks |
| 8 | +# 125 MHz |
| 9 | +set_property -dict {LOC H9 IOSTANDARD LVDS} [get_ports clk_125mhz_p] |
| 10 | +set_property -dict {LOC G9 IOSTANDARD LVDS} [get_ports clk_125mhz_n] |
| 11 | +create_clock -period 8.000 -name clk_125mhz [get_ports clk_125mhz_p] |
| 12 | + |
| 13 | +# LEDs |
| 14 | +set_property -dict {LOC AL11 IOSTANDARD LVCMOS12 SLEW SLOW DRIVE 8} [get_ports {led[0]}] |
| 15 | +set_property -dict {LOC AL13 IOSTANDARD LVCMOS12 SLEW SLOW DRIVE 8} [get_ports {led[1]}] |
| 16 | +set_property -dict {LOC AK13 IOSTANDARD LVCMOS12 SLEW SLOW DRIVE 8} [get_ports {led[2]}] |
| 17 | +set_property -dict {LOC AE15 IOSTANDARD LVCMOS12 SLEW SLOW DRIVE 8} [get_ports {led[3]}] |
| 18 | +set_property -dict {LOC AM8 IOSTANDARD LVCMOS12 SLEW SLOW DRIVE 8} [get_ports {led[4]}] |
| 19 | +set_property -dict {LOC AM9 IOSTANDARD LVCMOS12 SLEW SLOW DRIVE 8} [get_ports {led[5]}] |
| 20 | +set_property -dict {LOC AM10 IOSTANDARD LVCMOS12 SLEW SLOW DRIVE 8} [get_ports {led[6]}] |
| 21 | +set_property -dict {LOC AM11 IOSTANDARD LVCMOS12 SLEW SLOW DRIVE 8} [get_ports {led[7]}] |
| 22 | + |
| 23 | +# Reset button |
| 24 | +set_property -dict {LOC G13 IOSTANDARD LVCMOS12} [get_ports reset] |
| 25 | + |
| 26 | +# Push buttons |
| 27 | +set_property -dict {LOC AG13 IOSTANDARD LVCMOS12} [get_ports btnu] |
| 28 | +set_property -dict {LOC AK12 IOSTANDARD LVCMOS12} [get_ports btnl] |
| 29 | +set_property -dict {LOC AP20 IOSTANDARD LVCMOS12} [get_ports btnd] |
| 30 | +set_property -dict {LOC AC14 IOSTANDARD LVCMOS12} [get_ports btnr] |
| 31 | +set_property -dict {LOC AL10 IOSTANDARD LVCMOS12} [get_ports btnc] |
| 32 | + |
| 33 | +# DIP switches |
| 34 | +set_property -dict {LOC A17 IOSTANDARD LVCMOS18} [get_ports {sw[0]}] |
| 35 | +set_property -dict {LOC A16 IOSTANDARD LVCMOS18} [get_ports {sw[1]}] |
| 36 | +set_property -dict {LOC B16 IOSTANDARD LVCMOS18} [get_ports {sw[2]}] |
| 37 | +set_property -dict {LOC B15 IOSTANDARD LVCMOS18} [get_ports {sw[3]}] |
| 38 | +set_property -dict {LOC A15 IOSTANDARD LVCMOS18} [get_ports {sw[4]}] |
| 39 | +set_property -dict {LOC A14 IOSTANDARD LVCMOS18} [get_ports {sw[5]}] |
| 40 | +set_property -dict {LOC B14 IOSTANDARD LVCMOS18} [get_ports {sw[6]}] |
| 41 | +set_property -dict {LOC B13 IOSTANDARD LVCMOS18} [get_ports {sw[7]}] |
| 42 | + |
| 43 | +# UART |
| 44 | +set_property -dict {LOC AL17 IOSTANDARD LVCMOS12 SLEW SLOW DRIVE 8} [get_ports uart_txd] |
| 45 | +set_property -dict {LOC AH17 IOSTANDARD LVCMOS12} [get_ports uart_rxd] |
| 46 | +set_property -dict {LOC AM15 IOSTANDARD LVCMOS12} [get_ports uart_rts] |
| 47 | +set_property -dict {LOC AP17 IOSTANDARD LVCMOS12 SLEW SLOW DRIVE 8} [get_ports uart_cts] |
| 48 | + |
| 49 | +# SFP+ Interface |
| 50 | +set_property -dict {LOC AA2 } [get_ports sfp0_rx_p] ;# MGTYRXP2_225 GTHE4_CHANNEL_X0Y10 / GTHE4_COMMON_X0Y2 |
| 51 | +#set_property -dict {LOC AA1 } [get_ports sfp0_rx_n] ;# MGTYRXN2_225 GTHE4_CHANNEL_X0Y10 / GTHE4_COMMON_X0Y2 |
| 52 | +set_property -dict {LOC Y4 } [get_ports sfp0_tx_p] ;# MGTYTXP2_225 GTHE4_CHANNEL_X0Y10 / GTHE4_COMMON_X0Y2 |
| 53 | +#set_property -dict {LOC Y3 } [get_ports sfp0_tx_n] ;# MGTYTXN2_225 GTHE4_CHANNEL_X0Y10 / GTHE4_COMMON_X0Y2 |
| 54 | +set_property -dict {LOC W2 } [get_ports sfp1_rx_p] ;# MGTYRXP3_225 GTHE4_CHANNEL_X0Y11 / GTHE4_COMMON_X0Y2 |
| 55 | +#set_property -dict {LOC W1 } [get_ports sfp1_rx_n] ;# MGTYRXN3_225 GTHE4_CHANNEL_X0Y11 / GTHE4_COMMON_X0Y2 |
| 56 | +set_property -dict {LOC W6 } [get_ports sfp1_tx_p] ;# MGTYTXP3_225 GTHE4_CHANNEL_X0Y11 / GTHE4_COMMON_X0Y2 |
| 57 | +#set_property -dict {LOC W5 } [get_ports sfp1_tx_n] ;# MGTYTXN3_225 GTHE4_CHANNEL_X0Y11 / GTHE4_COMMON_X0Y2 |
| 58 | +set_property -dict {LOC U10 } [get_ports sfp_mgt_refclk_0_p] ;# MGTREFCLK1P_226 from U56 SI570 via U51 SI53340 |
| 59 | +#set_property -dict {LOC U9 } [get_ports sfp_mgt_refclk_0_n] ;# MGTREFCLK1N_226 from U56 SI570 via U51 SI53340 |
| 60 | +#set_property -dict {LOC W10 } [get_ports sfp_mgt_refclk_1_p] ;# MGTREFCLK1P_225 from U20 CKOUT2 SI5328 |
| 61 | +#set_property -dict {LOC W9 } [get_ports sfp_mgt_refclk_1_n] ;# MGTREFCLK1N_225 from U20 CKOUT2 SI5328 |
| 62 | +#set_property -dict {LOC H11 IOSTANDARD LVDS} [get_ports sfp_recclk_p] ;# to U20 CKIN1 SI5328 |
| 63 | +#set_property -dict {LOC G11 IOSTANDARD LVDS} [get_ports sfp_recclk_n] ;# to U20 CKIN1 SI5328 |
| 64 | +set_property -dict {LOC AE22 IOSTANDARD LVCMOS12} [get_ports sfp0_tx_disable_b] |
| 65 | +set_property -dict {LOC AF20 IOSTANDARD LVCMOS12} [get_ports sfp1_tx_disable_b] |
| 66 | + |
| 67 | +# 156.25 MHz MGT reference clock |
| 68 | +create_clock -period 6.400 -name sfp_mgt_refclk_0 [get_ports sfp_mgt_refclk_0_p] |
| 69 | + |
| 70 | +# PCIe Interface |
| 71 | +#set_property -dict {LOC AE2 } [get_ports {pcie_rx_p[0]}] ;# MGTHRXP3_224 GTHE4_CHANNEL_X0Y7 / GTHE4_COMMON_X0Y1 |
| 72 | +#set_property -dict {LOC AE1 } [get_ports {pcie_rx_n[0]}] ;# MGTHRXN3_224 GTHE4_CHANNEL_X0Y7 / GTHE4_COMMON_X0Y1 |
| 73 | +#set_property -dict {LOC AD4 } [get_ports {pcie_tx_p[0]}] ;# MGTHTXP3_224 GTHE4_CHANNEL_X0Y7 / GTHE4_COMMON_X0Y1 |
| 74 | +#set_property -dict {LOC AD3 } [get_ports {pcie_tx_n[0]}] ;# MGTHTXN3_224 GTHE4_CHANNEL_X0Y7 / GTHE4_COMMON_X0Y1 |
| 75 | +#set_property -dict {LOC AF4 } [get_ports {pcie_rx_p[1]}] ;# MGTHRXP2_224 GTHE4_CHANNEL_X0Y6 / GTHE4_COMMON_X0Y1 |
| 76 | +#set_property -dict {LOC AF3 } [get_ports {pcie_rx_n[1]}] ;# MGTHRXN2_224 GTHE4_CHANNEL_X0Y6 / GTHE4_COMMON_X0Y1 |
| 77 | +#set_property -dict {LOC AE6 } [get_ports {pcie_tx_p[1]}] ;# MGTHTXP2_224 GTHE4_CHANNEL_X0Y6 / GTHE4_COMMON_X0Y1 |
| 78 | +#set_property -dict {LOC AE5 } [get_ports {pcie_tx_n[1]}] ;# MGTHTXN2_224 GTHE4_CHANNEL_X0Y6 / GTHE4_COMMON_X0Y1 |
| 79 | +#set_property -dict {LOC AG2 } [get_ports {pcie_rx_p[2]}] ;# MGTHRXP1_224 GTHE4_CHANNEL_X0Y5 / GTHE4_COMMON_X0Y1 |
| 80 | +#set_property -dict {LOC AG1 } [get_ports {pcie_rx_n[2]}] ;# MGTHRXN1_224 GTHE4_CHANNEL_X0Y5 / GTHE4_COMMON_X0Y1 |
| 81 | +#set_property -dict {LOC AG6 } [get_ports {pcie_tx_p[2]}] ;# MGTHTXP1_224 GTHE4_CHANNEL_X0Y5 / GTHE4_COMMON_X0Y1 |
| 82 | +#set_property -dict {LOC AG5 } [get_ports {pcie_tx_n[2]}] ;# MGTHTXN1_224 GTHE4_CHANNEL_X0Y5 / GTHE4_COMMON_X0Y1 |
| 83 | +#set_property -dict {LOC AJ2 } [get_ports {pcie_rx_p[3]}] ;# MGTHRXP0_224 GTHE4_CHANNEL_X0Y4 / GTHE4_COMMON_X0Y1 |
| 84 | +#set_property -dict {LOC AJ1 } [get_ports {pcie_rx_n[3]}] ;# MGTHRXN0_224 GTHE4_CHANNEL_X0Y4 / GTHE4_COMMON_X0Y1 |
| 85 | +#set_property -dict {LOC AH4 } [get_ports {pcie_tx_p[3]}] ;# MGTHTXP0_224 GTHE4_CHANNEL_X0Y4 / GTHE4_COMMON_X0Y1 |
| 86 | +#set_property -dict {LOC AH3 } [get_ports {pcie_tx_n[3]}] ;# MGTHTXN0_224 GTHE4_CHANNEL_X0Y4 / GTHE4_COMMON_X0Y1 |
| 87 | +#set_property -dict {LOC AB8 } [get_ports pcie_mgt_refclk_p] ;# MGTREFCLK0P_224 |
| 88 | +#set_property -dict {LOC AB7 } [get_ports pcie_mgt_refclk_n] ;# MGTREFCLK0N_224 |
| 89 | +#set_property -dict {LOC L8 IOSTANDARD LVCMOS33 PULLUP true} [get_ports pcie_reset_n] |
| 90 | + |
| 91 | +# 100 MHz MGT reference clock |
| 92 | +#create_clock -period 10 -name pcie_mgt_refclk [get_ports pcie_mgt_refclk_p] |
| 93 | + |
| 94 | + |
0 commit comments