Initial commit
This commit is contained in:
159
nascom2.ucf
Executable file
159
nascom2.ucf
Executable file
@@ -0,0 +1,159 @@
|
||||
###################################################
|
||||
# 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;
|
||||
Reference in New Issue
Block a user