## Prohibit the automatic placement of pins that are connected to VCC or GND for configuration.
CONFIG PROHIBIT=P99;
CONFIG PROHIBIT=P43;
CONFIG PROHIBIT=P42;
CONFIG PROHIBIT=P39;
CONFIG PROHIBIT=P49;
CONFIG PROHIBIT=P48;
CONFIG PROHIBIT=P47;
CONFIG PART=XC3S500E-VQ100-5;
# Clock
NET "CLK_32MHZ" LOC = "P89" | IOSTANDARD = LVCMOS25 | PERIOD=31.25ns;
# 7-segment display
NET "SS_ANODES<0>" LOC="P67";
NET "SS_ANODES<1>" LOC="P60";
NET "SS_ANODES<2>" LOC="P26";
NET "SS_ANODES<3>" LOC="P18";
NET "SS_SEGS<6>" LOC="P62";
NET "SS_SEGS<5>" LOC="P35";
NET "SS_SEGS<4>" LOC="P33";
NET "SS_SEGS<3>" LOC="P53";
NET "SS_SEGS<2>" LOC="P40";
NET "SS_SEGS<1>" LOC="P65";
NET "SS_SEGS<0>" LOC="P57";
NET "SS_DP" LOC="P23";
# Joystick
NET "BTN_UP" LOC="P25";
NET "BTN_DOWN" LOC="P32";
NET "BTN_LEFT" LOC="P34";
NET "BTN_RIGHT" LOC="P36";
NET "BTN_CENTER" LOC="P22";
# Input SW
NET "SWITCH<7>" LOC = "P91"; # IOSTANDARD=LVTTL;
NET "SWITCH<6>" LOC = "P92"; # | IOSTANDARD=LVTTL;
NET "SWITCH<5>" LOC = "P94"; # | IOSTANDARD=LVTTL;
NET "SWITCH<4>" LOC = "P95"; # | IOSTANDARD=LVTTL;
NET "SWITCH<3>" LOC = "P98"; # | IOSTANDARD=LVTTL;
NET "SWITCH<2>" LOC = "P2" ; # | IOSTANDARD=LVTTL;
NET "SWITCH<1>" LOC = "P3" ; # | IOSTANDARD=LVTTL;
NET "SWITCH<0>" LOC = "P4" ; # | IOSTANDARD=LVTTL;
# LEDs
NET "LED<0>" LOC = "P17";
NET "LED<1>" LOC = "P16";
NET "LED<2>" LOC = "P15";
NET "LED<3>" LOC = "P12";
NET "LED<4>" LOC = "P11";
NET "LED<5>" LOC = "P10";
NET "LED<6>" LOC = "P9";
NET "LED<7>" LOC = "P5";
# VGA
NET "VGA_R<0>" LOC = "P61" | IOSTANDARD=LVTTL;
NET "VGA_R<1>" LOC = "P58" | IOSTANDARD=LVTTL;
NET "VGA_R<2>" LOC = "P54" | IOSTANDARD=LVTTL;
NET "VGA_G<0>" LOC = "P68" | IOSTANDARD=LVTTL;
NET "VGA_G<1>" LOC = "P66" | IOSTANDARD=LVTTL;
NET "VGA_G<2>" LOC = "P63" | IOSTANDARD=LVTTL;
NET "VGA_B<0>" LOC = "P78" | IOSTANDARD=LVTTL;
NET "VGA_B<1>" LOC = "P71" | IOSTANDARD=LVTTL;
NET "VGA_VSYNC" LOC = "P85" | IOSTANDARD=LVTTL;
NET "VGA_HSYNC" LOC = "P83" | IOSTANDARD=LVTTL;