aboutsummaryrefslogtreecommitdiff
path: root/docs/j1/xilinx/j1-papilioduo.ucf
diff options
context:
space:
mode:
Diffstat (limited to 'docs/j1/xilinx/j1-papilioduo.ucf')
-rw-r--r--docs/j1/xilinx/j1-papilioduo.ucf183
1 files changed, 183 insertions, 0 deletions
diff --git a/docs/j1/xilinx/j1-papilioduo.ucf b/docs/j1/xilinx/j1-papilioduo.ucf
new file mode 100644
index 0000000..e06e002
--- /dev/null
+++ b/docs/j1/xilinx/j1-papilioduo.ucf
@@ -0,0 +1,183 @@
+# 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;
+NET RXD LOC="P46" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=FAST;
+NET DTR LOC="P137" | IOSTANDARD=LVTTL | DRIVE=8 | SLEW=SLOW;
+
+// NET "fclk" PERIOD = 6 ns HIGH 50%;
+
+#
+# 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;