-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.ucf
155 lines (132 loc) · 8.79 KB
/
main.ucf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
#Created by Constraints Editor (xc3s500e-fg320-5) - 2010/11/04
NET "clk" LOC = "C9" | TNM_NET = clk;
TIMESPEC TS_clk = PERIOD "clk" 20 ns HIGH 50%;
# push button south
NET "rst_btn" LOC = "K17" | IOSTANDARD = LVTTL | PULLDOWN ;
# toggle switches
NET "switches<0>" LOC = "L13" | IOSTANDARD = LVTTL | PULLUP ;
NET "switches<1>" LOC = "L14" | IOSTANDARD = LVTTL | PULLUP ;
NET "switches<2>" LOC = "H18" | IOSTANDARD = LVTTL | PULLUP ;
NET "switches<3>" LOC = "N17" | IOSTANDARD = LVTTL | PULLUP ;
# push button switches
# east
NET "switches<4>" LOC = "H13" | IOSTANDARD = LVTTL | PULLDOWN;
# north
NET "switches<5>" LOC = "V4" | IOSTANDARD = LVTTL | PULLDOWN;
# west
NET "switches<6>" LOC = "D18" | IOSTANDARD = LVTTL | PULLDOWN;
# rotary encoder shaft button
NET "switches<7>" LOC = "V16" | IOSTANDARD = LVTTL | PULLDOWN;
# rotary encoder
NET "rot_a" LOC = "K18" | IOSTANDARD = LVTTL | PULLUP ;
NET "rot_b" LOC = "G18" | IOSTANDARD = LVTTL | PULLUP ;
# controller A (lightgun)
#NET "ctrlB_clk" LOC = "A6" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
#NET "ctrlB_latch" LOC = "B6" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
#NET "ctrlB_data" LOC = "E7" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
#NET "ctrlB_light" LOC = "F7" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
# controller A (snes controller)
#NET "ctrlB_clk" LOC = "A6" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "data" LOC = "B6" | IOSTANDARD = LVTTL | DRIVE = 6 | SLEW = SLOW;
NET "latch" LOC = "E7" | IOSTANDARD = LVTTL | DRIVE = 6 | SLEW = SLOW;
NET "pulse" LOC = "F7" | IOSTANDARD = LVTTL | DRIVE = 6 | SLEW = SLOW;
# controller B (nes zapper)
#NET "datab" LOC = "B4" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 6 ;
#NET "shot" LOC = "A4" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 6 ;
NET "sensor" LOC = "D5" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 6 ;
NET "trigger" LOC = "C5" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 6 ;
# VGA sync
NET "hsync" LOC = "C7" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST;
NET "vsync" LOC = "D7" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST;
NET "VGA_HSYNC" LOC = "F15" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST ;
NET "VGA_VSYNC" LOC = "F14" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST ;
## Video DAC control
NET "bright" LOC = "C3" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "vga_dac_clk" LOC = "D10" | IOSTANDARD = LVCMOS33 | SLEW = FAST | DRIVE = 8;
NET "R[0]" LOC = "F8" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "R[1]" LOC = "E8" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "R[2]" LOC = "F9" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "R[3]" LOC = "E9" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "R[4]" LOC = "D11" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "R[5]" LOC = "C11" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "R[6]" LOC = "F11" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "R[7]" LOC = "E11" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "G[0]" LOC = "E12" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "G[1]" LOC = "F12" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "G[2]" LOC = "A13" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "G[3]" LOC = "B13" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "G[4]" LOC = "A14" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "G[5]" LOC = "B14" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "G[6]" LOC = "C14" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "G[7]" LOC = "D14" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "B[0]" LOC = "A16" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "B[1]" LOC = "B16" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "B[2]" LOC = "E13" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "B[3]" LOC = "C4" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "B[4]" LOC = "B11" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "B[5]" LOC = "A11" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "B[6]" LOC = "A8" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
NET "B[7]" LOC = "G9" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = FAST;
#LEDs -- note that LED pins are shared by VGA, so you get one or the other.
#NET "led_out<7>" LOC = "F9" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
#NET "led_out<6>" LOC = "E9" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
#NET "led_out<5>" LOC = "D11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
#NET "led_out<4>" LOC = "C11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
#NET "led_out<3>" LOC = "F11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
#NET "led_out<2>" LOC = "E11" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
#NET "led_out<1>" LOC = "E12" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
#NET "led_out<0>" LOC = "F12" | IOSTANDARD = LVTTL | SLEW = SLOW | DRIVE = 8 ;
# onboard vga
NET "VGA_RED" LOC = "H14" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST ;
NET "VGA_GREEN" LOC = "H15" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST ;
NET "VGA_BLUE" LOC = "G15" | IOSTANDARD = LVTTL | DRIVE = 8 | SLEW = FAST ;
# Intel StrataFlash ROM
NET "SF_A<23>" LOC = "N11" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_A<22>" LOC = "V12" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_A<21>" LOC = "V13" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_A<20>" LOC = "T12" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_A<19>" LOC = "V15" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_A<18>" LOC = "U15" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_A<17>" LOC = "T16" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_A<16>" LOC = "U18" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_A<15>" LOC = "T17" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_A<14>" LOC = "R18" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_A<13>" LOC = "T18" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_A<12>" LOC = "L16" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_A<11>" LOC = "L15" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_A<10>" LOC = "K13" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_A<9>" LOC = "K12" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_A<8>" LOC = "K15" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_A<7>" LOC = "K14" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_A<6>" LOC = "J17" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_A<5>" LOC = "J16" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_A<4>" LOC = "J15" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_A<3>" LOC = "J14" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_A<2>" LOC = "J12" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_A<1>" LOC = "J13" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_A<0>" LOC = "H17" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "SF_D<15>" LOC = "T8" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "SF_D<14>" LOC = "R8" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "SF_D<13>" LOC = "P6" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "SF_D<12>" LOC = "M16" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "SF_D<11>" LOC = "M15" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "SF_D<10>" LOC = "P17" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "SF_D<9>" LOC = "R16" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
#NET "SF_D<8>" LOC = "R15" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_D<7>" LOC = "N9" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_D<6>" LOC = "M9" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_D<5>" LOC = "R9" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_D<4>" LOC = "U9" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_D<3>" LOC = "V9" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_D<2>" LOC = "R10" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_D<1>" LOC = "P10" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_D<0>" LOC = "N10" | IOSTANDARD = LVCMOS33 | DRIVE = 6 | SLEW = SLOW ;
NET "SF_BYTE" LOC = "C17" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_CE0" LOC = "D16" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_OE" LOC = "C18" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
NET "SF_WE" LOC = "D17" | IOSTANDARD = LVCMOS33 | DRIVE = 4 | SLEW = SLOW ;
# SPI
NET "MOSI" LOC = "T4" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8 ;
NET "SCK" LOC = "U16" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8 ;
NET "DAC_cs" LOC = "N8" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8 ;
NET "DAC_CLR" LOC = "P8" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8 ;