################################################### # TIMING CONSTRAINTS ################################################### # System Clock NET "CLKIN_50M" LOC = "E12"| IOSTANDARD = LVCMOS33; NET "CLKIN_50M" PERIOD = 20 ns HIGH 40 %; #NET "CLKIN_50M" TNM_NET = "CLKIN_50M"; # VGA INST "BLUE<0>" TNM = "VGA"; INST "BLUE<1>" TNM = "VGA"; INST "BLUE<2>" TNM = "VGA"; INST "BLUE<3>" TNM = "VGA"; INST "GREEN<0>" TNM = "VGA"; INST "GREEN<1>" TNM = "VGA"; INST "GREEN<2>" TNM = "VGA"; INST "GREEN<3>" TNM = "VGA"; INST "HSYNC" TNM = "VGA"; INST "RED<0>" TNM = "VGA"; INST "RED<1>" TNM = "VGA"; INST "RED<2>" TNM = "VGA"; INST "RED<3>" TNM = "VGA"; INST "VSYNC" TNM = "VGA"; TIMEGRP "VGA" OFFSET = OUT 5.2 ns AFTER "CLKIN_50M" ; # Z80 BUS #INST "ADDR<0>" TNM = "Z80BUS"; #INST "ADDR<1>" TNM = "Z80BUS"; #INST "ADDR<10>" TNM = "Z80BUS"; #INST "ADDR<11>" TNM = "Z80BUS"; #INST "ADDR<12>" TNM = "Z80BUS"; #INST "ADDR<13>" TNM = "Z80BUS"; #INST "ADDR<14>" TNM = "Z80BUS"; #INST "ADDR<15>" TNM = "Z80BUS"; #INST "ADDR<2>" TNM = "Z80BUS"; #INST "ADDR<3>" TNM = "Z80BUS"; #INST "ADDR<4>" TNM = "Z80BUS"; #INST "ADDR<5>" TNM = "Z80BUS"; #INST "ADDR<6>" TNM = "Z80BUS"; #INST "ADDR<7>" TNM = "Z80BUS"; #INST "ADDR<8>" TNM = "Z80BUS"; #INST "ADDR<9>" TNM = "Z80BUS"; #INST "BUSAK_n" TNM = "Z80BUS"; #INST "BUSRQ_n" TNM = "Z80BUS"; #INST "DATA<0>" TNM = "Z80BUS"; #INST "DATA<1>" TNM = "Z80BUS"; #INST "DATA<2>" TNM = "Z80BUS"; #INST "DATA<3>" TNM = "Z80BUS"; #INST "DATA<4>" TNM = "Z80BUS"; #INST "DATA<5>" TNM = "Z80BUS"; #INST "DATA<6>" TNM = "Z80BUS"; #INST "DATA<7>" TNM = "Z80BUS"; #INST "HALT_n" TNM = "Z80BUS"; #INST "INT_n" TNM = "Z80BUS"; #INST "IORQ_n" TNM = "Z80BUS"; #INST "M1_n" TNM = "Z80BUS"; #INST "NMI_n" TNM = "Z80BUS"; #INST "RD_n" TNM = "Z80BUS"; #INST "RFSH_n" TNM = "Z80BUS"; #INST "WAIT_n" TNM = "Z80BUS"; #INST "WR_n" TNM = "Z80BUS"; #TIMEGRP "Z80BUS" OFFSET = IN 10 ns BEFORE "CLKIN_50M" ; #TIMEGRP "Z80BUS" OFFSET = OUT 10 ns AFTER "CLKIN_50M" ; ################################################### # LOCATION CONSTRAINTS ################################################### # For S3AN-Board # VGA NET "RED<3>" LOC = "C8" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; NET "RED<2>" LOC = "B8" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; NET "RED<1>" LOC = "B3" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; NET "RED<0>" LOC = "A3" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; NET "GREEN<3>" LOC = "D6" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; NET "GREEN<2>" LOC = "C6" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; NET "GREEN<1>" LOC = "D5" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; NET "GREEN<0>" LOC = "C5" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; NET "BLUE<3>" LOC = "C9" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; NET "BLUE<2>" LOC = "B9" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; NET "BLUE<1>" LOC = "D7" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; NET "BLUE<0>" LOC = "C7" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; NET "HSYNC" LOC = "C11" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; NET "VSYNC" LOC = "B11" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; # Z80BUS -> FX2 connector #NET "ADDR<0>" LOC = "A13" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "ADDR<1>" LOC = "B13" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "ADDR<2>" LOC = "A14" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "ADDR<3>" LOC = "B15" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "ADDR<4>" LOC = "A15" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "ADDR<5>" LOC = "A16" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "ADDR<6>" LOC = "A17" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "ADDR<7>" LOC = "B17" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "ADDR<8>" LOC = "A18" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "ADDR<9>" LOC = "C18" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "ADDR<10>" LOC = "A19" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "ADDR<11>" LOC = "B19" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "ADDR<12>" LOC = "A20" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "ADDR<13>" LOC = "B20" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "ADDR<14>" LOC = "C19" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "ADDR<15>" LOC = "D19" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "DATA<0>" LOC = "D18" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "DATA<1>" LOC = "E17" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "DATA<2>" LOC = "D20" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "DATA<3>" LOC = "D21" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "DATA<4>" LOC = "D22" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "DATA<5>" LOC = "E22" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "DATA<6>" LOC = "F18" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "DATA<7>" LOC = "F19" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "BUSAK_n" LOC = "F20" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "BUSRQ_n" LOC = "E20" | IOSTANDARD = LVTTL; #NET "HALT_n" LOC = "G20" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "INT_n" LOC = "G19" | IOSTANDARD = LVTTL; #NET "IORQ_n" LOC = "H19" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "M1_n" LOC = "J18" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "NMI_n" LOC = "K18" | IOSTANDARD = LVTTL; #NET "RD_n" LOC = "K17" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "WR_n" LOC = "K19" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "RFSH_n" LOC = "K20" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = SLOW; #NET "WAIT_n" LOC = "L19" | IOSTANDARD = LVTTL; # PS/2 Keyboard NET "PS2_CLK1" LOC = "W12" | IOSTANDARD = LVCMOS33 | PULLUP | DRIVE = 8 | SLEW = SLOW; NET "PS2_DATA1" LOC = "V11" | IOSTANDARD = LVCMOS33 | PULLUP | DRIVE = 8 | SLEW = SLOW; # LEDs NET "LED<7>" LOC = "W21" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8; NET "LED<6>" LOC = "Y22" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8; NET "LED<5>" LOC = "V20" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8; NET "LED<4>" LOC = "V19" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8; NET "LED<3>" LOC = "U19" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8; NET "LED<2>" LOC = "U20" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8; NET "LED<1>" LOC = "T19" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8; NET "LED<0>" LOC = "R20" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8; # Buttons NET "BTN_NORTH" LOC = "T14" | IOSTANDARD = LVCMOS33 | PULLDOWN; NET "BTN_SOUTH" LOC = "T15" | IOSTANDARD = LVCMOS33 | PULLDOWN; NET "BTN_EAST" LOC = "T16" | IOSTANDARD = LVCMOS33 | PULLDOWN; NET "BTN_WEST" LOC = "U15" | IOSTANDARD = LVCMOS33 | PULLDOWN; NET "ROT_CENTER" LOC = "R13" | IOSTANDARD = LVCMOS33 | PULLDOWN; # Switches NET "SW<3>" LOC = "T9" | IOSTANDARD = LVCMOS33; NET "SW<2>" LOC = "U8" | IOSTANDARD = LVCMOS33; NET "SW<1>" LOC = "U10" | IOSTANDARD = LVCMOS33; NET "SW<0>" LOC = "V8" | IOSTANDARD = LVCMOS33; # SPI NET "SPI_MISO" LOC = "AB20" | IOSTANDARD = LVCMOS33; NET "SPI_MOSI" LOC = "AB14" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8; NET "SPI_SCK" LOC = "AA20" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8; NET "SPI_SS_B" LOC = "Y4" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8; NET "DATAFLASH_WP" LOC = "C14" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8; NET "DATAFLASH_RST" LOC = "C15" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8; # LCD interface NET "LCD_E" LOC = "AB4" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = SLOW; NET "LCD_RS" LOC = "Y14" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = SLOW; NET "LCD_RW" LOC = "W13" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = SLOW; NET "LCD_DB<7>" LOC = "Y15" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = SLOW; NET "LCD_DB<6>" LOC = "AB16" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = SLOW; NET "LCD_DB<5>" LOC = "Y16" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = SLOW; NET "LCD_DB<4>" LOC = "AA12" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = SLOW; NET "LCD_DB<3>" LOC = "AB12" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = SLOW; NET "LCD_DB<2>" LOC = "AB17" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = SLOW; NET "LCD_DB<1>" LOC = "AB18" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = SLOW; NET "LCD_DB<0>" LOC = "Y13" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = SLOW;