-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathpapilio_duo.ucf
179 lines (160 loc) · 10.9 KB
/
papilio_duo.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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
# UCF file for the Papilio DUO board
# Generated by pin_converter, written by Kevin Lindsey
# https://github.com/thelonious/papilio_pins/tree/development/pin_converter
# Main board wing pin [] to FPGA pin Pxx map
# -------C------- -------B------- -------A-------
# [GND] [C00] P114 [GND] [B00] P99 P100 [A15]
# [2V5] [C01] P115 [2V5] [B01] P97 P98 [A14]
# [3V3] [C02] P116 [3V3] [B02] P92 P93 [A13]
# [5V0] [C03] P117 [5V0] [B03] P87 P88 [A12]
# [C04] P118 [B04] P84 P85 [A11] [5V0]
# [C05] P119 [B05] P82 P83 [A10] [3V3]
# [C06] P120 [B06] P80 P81 [A09] [2V5]
# [C07] P121 [B07] P78 P79 [A08] [GND]
# [GND] [C08] P123 [GND] [B08] P74 P75 [A07]
# [2V5] [C09] P124 [2V5] [B09] P95 P67 [A06]
# [3V3] [C10] P126 [3V3] [B10] P62 P66 [A05]
# [5V0] [C11] P127 [5V0] [B11] P59 P61 [A04]
# [C12] P131 [B12] P57 P58 [A03] [5V0]
# [C13] P132 [B13] P55 P56 [A02] [3V3]
# [C14] P133 [B14] P50 P51 [A01] [2V5]
# [C15] P134 [B15] P47 P48 [A00] [GND]
## Prohibit the automatic placement of pins that are connected to VCC or GND for configuration.
CONFIG PROHIBIT=P144;
CONFIG PROHIBIT=P69;
CONFIG PROHIBIT=P60;
#NET "*" IOSTANDARD = LVTTL;
NET CLK LOC="P94" | IOSTANDARD=LVTTL; # CLK
TIMESPEC TS_Period_1 = PERIOD "CLK" 31.25 ns HIGH 50%;
NET TXD LOC="P141" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=FAST; # TX
NET RXD LOC="P46" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=FAST; # RX
NET Arduino_0 LOC="P116" | IOSTANDARD=LVTTL; # A0
NET Arduino_1 LOC="P117" | IOSTANDARD=LVTTL; # A1
NET Arduino_2 LOC="P118" | IOSTANDARD=LVTTL; # A2
NET Arduino_3 LOC="P119" | IOSTANDARD=LVTTL; # A3
NET Arduino_4 LOC="P120" | IOSTANDARD=LVTTL; # A4
NET Arduino_5 LOC="P121" | IOSTANDARD=LVTTL; # A5
NET Arduino_6 LOC="P123" | IOSTANDARD=LVTTL; # A6
NET Arduino_7 LOC="P124" | IOSTANDARD=LVTTL; # A7
NET Arduino_8 LOC="P126" | IOSTANDARD=LVTTL; # A8
NET Arduino_9 LOC="P127" | IOSTANDARD=LVTTL; # A9
NET Arduino_10 LOC="P131" | IOSTANDARD=LVTTL; # A10
NET Arduino_11 LOC="P132" | IOSTANDARD=LVTTL; # A11
NET Arduino_12 LOC="P133" | IOSTANDARD=LVTTL; # A12
NET Arduino_13 LOC="P134" | IOSTANDARD=LVTTL; # A13
NET Arduino_14 LOC="P115" | IOSTANDARD=LVTTL; # B0
NET Arduino_15 LOC="P114" | IOSTANDARD=LVTTL; # B1
NET Arduino_16 LOC="P112" | IOSTANDARD=LVTTL; # B2
NET Arduino_17 LOC="P111" | IOSTANDARD=LVTTL; # B3
NET Arduino_18 LOC="P105" | IOSTANDARD=LVTTL; # B4
NET Arduino_19 LOC="P102" | IOSTANDARD=LVTTL; # B5
NET Arduino_20 LOC="P101" | IOSTANDARD=LVTTL; # B6
NET Arduino_21 LOC="P100" | IOSTANDARD=LVTTL; # B7
NET Arduino_22 LOC="P99" | IOSTANDARD=LVTTL; # C0
NET Arduino_24 LOC="P97" | IOSTANDARD=LVTTL; # C1
NET Arduino_26 LOC="P93" | IOSTANDARD=LVTTL; # C2
NET Arduino_28 LOC="P88" | IOSTANDARD=LVTTL; # C3
NET Arduino_30 LOC="P85" | IOSTANDARD=LVTTL; # C4
NET Arduino_32 LOC="P83" | IOSTANDARD=LVTTL; # C5
NET Arduino_34 LOC="P81" | IOSTANDARD=LVTTL; # C6
NET Arduino_36 LOC="P79" | IOSTANDARD=LVTTL; # C7
NET Arduino_38 LOC="P75" | IOSTANDARD=LVTTL; # C8
NET Arduino_40 LOC="P67" | IOSTANDARD=LVTTL; # C9
NET Arduino_42 LOC="P62" | IOSTANDARD=LVTTL; # C10
NET Arduino_44 LOC="P59" | IOSTANDARD=LVTTL; # C11
NET Arduino_46 LOC="P57" | IOSTANDARD=LVTTL; # C12
NET Arduino_48 LOC="P55" | IOSTANDARD=LVTTL; # C13
NET Arduino_50 LOC="P50" | IOSTANDARD=LVTTL; # C14
NET Arduino_52 LOC="P47" | IOSTANDARD=LVTTL; # C15
NET Arduino_23 LOC="P98" | IOSTANDARD=LVTTL ;
NET Arduino_25 LOC="P95" | IOSTANDARD=LVTTL ;
NET Arduino_27 LOC="P92" | IOSTANDARD=LVTTL ;
NET Arduino_29 LOC="P87" | IOSTANDARD=LVTTL ;
NET Arduino_31 LOC="P84" | IOSTANDARD=LVTTL ;
NET Arduino_33 LOC="P82" | IOSTANDARD=LVTTL ;
NET Arduino_35 LOC="P80" | IOSTANDARD=LVTTL ;
NET Arduino_37 LOC="P78" | IOSTANDARD=LVTTL ;
NET Arduino_39 LOC="P74" | IOSTANDARD=LVTTL ;
NET Arduino_41 LOC="P66" | IOSTANDARD=LVTTL ;
NET Arduino_43 LOC="P61" | IOSTANDARD=LVTTL ;
NET Arduino_45 LOC="P58" | IOSTANDARD=LVTTL ;
NET Arduino_47 LOC="P56" | IOSTANDARD=LVTTL ;
NET Arduino_49 LOC="P51" | IOSTANDARD=LVTTL ;
NET Arduino_51 LOC="P48" | IOSTANDARD=LVTTL ;
NET Arduino_53 LOC="P39" | IOSTANDARD=LVTTL ;
# SRAM
NET "sram_addr<0>" LOC = "P7" | IOSTANDARD=LVTTL | SLEW=FAST;
NET "sram_addr<1>" LOC = "P8" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_addr<2>" LOC = "P9" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_addr<3>" LOC = "P10" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_addr<4>" LOC = "P11" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_addr<5>" LOC = "P5" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_addr<6>" LOC = "P2" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_addr<7>" LOC = "P1" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_addr<8>" LOC = "P143" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_addr<9>" LOC = "P142" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_addr<10>" LOC = "P43" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_addr<11>" LOC = "P41" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_addr<12>" LOC = "P40" | IOSTANDARD=LVTTL | SLEW=FAST;
NET "sram_addr<13>" LOC = "P35" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_addr<14>" LOC = "P34" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_addr<15>" LOC = "P27" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_addr<16>" LOC = "P29" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_addr<17>" LOC = "P33" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_addr<18>" LOC = "P32" | IOSTANDARD=LVTTL | SLEW=FAST ;
#NET "sram_addr<19>" LOC = "P44" | IOSTANDARD=LVTTL | SLEW=FAST ;
#NET "sram_addr<20>" LOC = "P30" | IOSTANDARD=LVTTL | SLEW=FAST ;
# Data lines
NET "sram_data<0>" LOC = "P14" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_data<1>" LOC = "P15" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_data<2>" LOC = "P16" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_data<3>" LOC = "P17" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_data<4>" LOC = "P21" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_data<5>" LOC = "P22" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_data<6>" LOC = "P23" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_data<7>" LOC = "P24" | IOSTANDARD=LVTTL | SLEW=FAST ;
# Control lines
NET "sram_ce" LOC = "P12" | IOSTANDARD=LVTTL | SLEW=FAST;
NET "sram_we" LOC = "P6" | IOSTANDARD=LVTTL | SLEW=FAST ;
NET "sram_oe" LOC = "P26" | IOSTANDARD=LVTTL | SLEW=FAST;
NET SPI_CS LOC="P38" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=FAST; # FLASH_CS OK
NET SPI_SCK LOC="P70" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=FAST; # FLASH_CK OK
NET SPI_MOSI LOC="P64" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=FAST; # FLASH_SI OK
NET SPI_MISO LOC="P65" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=FAST; # FLASH_SO OK
#Dragon MPSSE
NET BD0_MPSSE_TCK LOC="P46" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
NET BD1_MPSSE_TDI LOC="P141" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
NET BD2_MPSSE_TDO LOC="P140" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
NET BD3_MPSSE_TMS LOC="P138" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
NET BD4_MPSSE_DTR LOC="P137" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
#Arduino JTAG
NET ARD_JTAG_TDI LOC="P88" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
NET ARD_JTAG_TDO LOC="P85" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
NET ARD_JTAG_TMS LOC="P83" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
NET ARD_JTAG_TCK LOC="P81" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
#Arduino SPI
NET ARD_SPI_MISO LOC="P133" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
NET ARD_SPI_MOSI LOC="P132" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
NET ARD_SPI_SCLK LOC="P134" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
#Dragon SPI
NET DRAGON_SPI_GND LOC="P78" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
NET DRAGON_SPI_RESET LOC="P79" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
#NET DRAGON_SPI_RESET LOC="P79" | IOSTANDARD=LVTTL | DRIVE=8 | PULLUP | SLEW=SLOW;
NET DRAGON_SPI_MOSI LOC="P74" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
NET DRAGON_SPI_SCK LOC="P75" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
NET DRAGON_SPI_VTG LOC="P66" | IOSTANDARD=LVTTL | DRIVE=24 | SLEW=SLOW;
NET DRAGON_SPI_MISO LOC="P67" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
#Dragon JTAG
NET DRAGON_JTAG_TCK LOC="P47" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
NET DRAGON_JTAG_GND LOC="P39" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
NET DRAGON_JTAG_TDO LOC="P50" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
NET DRAGON_JTAG_VTG LOC="P48" | IOSTANDARD=LVTTL | DRIVE=24 | SLEW=SLOW;
NET DRAGON_JTAG_TMS LOC="P55" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
NET DRAGON_JTAG_RESET LOC="P51" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
#NET DRAGON_JTAG_RESET LOC="P51" | IOSTANDARD=LVTTL | DRIVE=8 | PULLUP | SLEW=SLOW;
NET DRAGON_JTAG_TDI LOC="P59" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
NET DRAGON_JTAG_GND2 LOC="P58" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
#Dragon Misc
NET DUO_SW1 LOC="P104" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
NET ARD_RESET LOC="P139" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW; # ARD_RESET
NET DUO_LED LOC="P134" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;