1
0
mirror of https://github.com/corundum/corundum.git synced 2025-01-16 08:12:53 +08:00
2016-10-06 17:52:23 -07:00

69 lines
3.8 KiB
Tcl

# XDC constraints for the Digilent Nexys Video board
# part: xc7a200tsbg484-1
# General configuration
set_property CFGBVS VCCO [current_design]
set_property CONFIG_VOLTAGE 3.3 [current_design]
# 100 MHz clock
set_property -dict {LOC R4 IOSTANDARD LVCMOS33} [get_ports clk]
create_clock -period 10.000 -name clk [get_ports clk]
set_clock_groups -asynchronous -group [get_clocks clk -include_generated_clocks]
# LEDs
set_property -dict {LOC T14 IOSTANDARD LVCMOS25 SLEW SLOW DRIVE 12} [get_ports {led[0]}]
set_property -dict {LOC T15 IOSTANDARD LVCMOS25 SLEW SLOW DRIVE 12} [get_ports {led[1]}]
set_property -dict {LOC T16 IOSTANDARD LVCMOS25 SLEW SLOW DRIVE 12} [get_ports {led[2]}]
set_property -dict {LOC U16 IOSTANDARD LVCMOS25 SLEW SLOW DRIVE 12} [get_ports {led[3]}]
set_property -dict {LOC V15 IOSTANDARD LVCMOS25 SLEW SLOW DRIVE 12} [get_ports {led[4]}]
set_property -dict {LOC W16 IOSTANDARD LVCMOS25 SLEW SLOW DRIVE 12} [get_ports {led[5]}]
set_property -dict {LOC W15 IOSTANDARD LVCMOS25 SLEW SLOW DRIVE 12} [get_ports {led[6]}]
set_property -dict {LOC Y13 IOSTANDARD LVCMOS25 SLEW SLOW DRIVE 12} [get_ports {led[7]}]
# Reset button
set_property -dict {LOC G4 IOSTANDARD LVCMOS15} [get_ports reset_n]
# Push buttons
set_property -dict {LOC F15 IOSTANDARD LVCMOS12} [get_ports btnu]
set_property -dict {LOC C22 IOSTANDARD LVCMOS12} [get_ports btnl]
set_property -dict {LOC D22 IOSTANDARD LVCMOS12} [get_ports btnd]
set_property -dict {LOC D14 IOSTANDARD LVCMOS12} [get_ports btnr]
set_property -dict {LOC B22 IOSTANDARD LVCMOS12} [get_ports btnc]
# Toggle switches
set_property -dict {LOC E22 IOSTANDARD LVCMOS12} [get_ports {sw[0]}]
set_property -dict {LOC F21 IOSTANDARD LVCMOS12} [get_ports {sw[1]}]
set_property -dict {LOC G21 IOSTANDARD LVCMOS12} [get_ports {sw[2]}]
set_property -dict {LOC G22 IOSTANDARD LVCMOS12} [get_ports {sw[3]}]
set_property -dict {LOC H17 IOSTANDARD LVCMOS12} [get_ports {sw[4]}]
set_property -dict {LOC J16 IOSTANDARD LVCMOS12} [get_ports {sw[5]}]
set_property -dict {LOC K13 IOSTANDARD LVCMOS12} [get_ports {sw[6]}]
set_property -dict {LOC M17 IOSTANDARD LVCMOS12} [get_ports {sw[7]}]
# UART
set_property -dict {LOC AA19 IOSTANDARD LVCMOS33 SLEW SLOW DRIVE 12} [get_ports uart_txd]
set_property -dict {LOC V18 IOSTANDARD LVCMOS33} [get_ports uart_rxd]
# Gigabit Ethernet RGMII PHY
set_property -dict {LOC V13 IOSTANDARD LVCMOS25} [get_ports phy_rx_clk]
set_property -dict {LOC AB16 IOSTANDARD LVCMOS25} [get_ports {phy_rxd[0]}]
set_property -dict {LOC AA15 IOSTANDARD LVCMOS25} [get_ports {phy_rxd[1]}]
set_property -dict {LOC AB15 IOSTANDARD LVCMOS25} [get_ports {phy_rxd[2]}]
set_property -dict {LOC AB11 IOSTANDARD LVCMOS25} [get_ports {phy_rxd[3]}]
set_property -dict {LOC W10 IOSTANDARD LVCMOS25} [get_ports phy_rx_ctl]
set_property -dict {LOC AA14 IOSTANDARD LVCMOS25 SLEW FAST DRIVE 16} [get_ports phy_tx_clk]
set_property -dict {LOC Y12 IOSTANDARD LVCMOS25 SLEW FAST DRIVE 16} [get_ports {phy_txd[0]}]
set_property -dict {LOC W12 IOSTANDARD LVCMOS25 SLEW FAST DRIVE 16} [get_ports {phy_txd[1]}]
set_property -dict {LOC W11 IOSTANDARD LVCMOS25 SLEW FAST DRIVE 16} [get_ports {phy_txd[2]}]
set_property -dict {LOC Y11 IOSTANDARD LVCMOS25 SLEW FAST DRIVE 16} [get_ports {phy_txd[3]}]
set_property -dict {LOC V10 IOSTANDARD LVCMOS25 SLEW FAST DRIVE 16} [get_ports phy_tx_ctl]
set_property -dict {LOC U7 IOSTANDARD LVCMOS33 SLEW SLOW DRIVE 12} [get_ports phy_reset_n]
set_property -dict {LOC Y14 IOSTANDARD LVCMOS25} [get_ports phy_int_n]
set_property -dict {LOC W14 IOSTANDARD LVCMOS25} [get_ports phy_pme_n]
#set_property -dict {LOC Y16 IOSTANDARD LVCMOS25 SLEW SLOW DRIVE 12} [get_ports phy_mdio]
#set_property -dict {LOC AA16 IOSTANDARD LVCMOS25 SLEW SLOW DRIVE 12} [get_ports phy_mdc]
create_clock -period 8.000 -name phy_rx_clk [get_ports phy_rx_clk]
set_clock_groups -asynchronous -group [get_clocks phy_rx_clk -include_generated_clocks]