You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

452 lines
22 KiB

  1. BLOCK RESETPATHS;
  2. BLOCK ASYNCPATHS;
  3. ## ULX3S v2.x.x and v3.0.x
  4. # The clock "usb" and "gpdi" sheet
  5. LOCATE COMP "io_mainClock" SITE "G2";
  6. IOBUF PORT "io_mainClock" PULLMODE=NONE IO_TYPE=LVCMOS33;
  7. FREQUENCY PORT "io_mainClock" 25 MHZ;
  8. # JTAG and SPI FLASH voltage 3.3V and options to boot from SPI flash
  9. # write to FLASH possible any time from JTAG:
  10. # SYSCONFIG CONFIG_IOVOLTAGE=3.3 COMPRESS_CONFIG=ON MCCLK_FREQ=62 MASTER_SPI_PORT=ENABLE SLAVE_SPI_PORT=DISABLE SLAVE_PARALLEL_PORT=DISABLE;
  11. # write to FLASH possible from user bitstream:
  12. # SYSCONFIG CONFIG_IOVOLTAGE=3.3 COMPRESS_CONFIG=ON MCCLK_FREQ=62 MASTER_SPI_PORT=DISABLE SLAVE_SPI_PORT=DISABLE SLAVE_PARALLEL_PORT=DISABLE;
  13. ## USBSERIAL FTDI-FPGA serial port "usb" sheet
  14. LOCATE COMP "io_uart_txd" SITE "L4"; # FPGA transmits to ftdi
  15. LOCATE COMP "io_uart_rxd" SITE "M1"; # FPGA receives from ftdi
  16. LOCATE COMP "ftdi_nrts" SITE "M3"; # FPGA receives
  17. LOCATE COMP "ftdi_ndtr" SITE "N1"; # FPGA receives
  18. LOCATE COMP "ftdi_txden" SITE "L3"; # FPGA receives
  19. IOBUF PORT "io_uart_txd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  20. IOBUF PORT "io_uart_rxd" PULLMODE=UP IO_TYPE=LVCMOS33;
  21. IOBUF PORT "ftdi_nrts" PULLMODE=UP IO_TYPE=LVCMOS33;
  22. IOBUF PORT "ftdi_ndtr" PULLMODE=UP IO_TYPE=LVCMOS33;
  23. IOBUF PORT "ftdi_txden" PULLMODE=UP IO_TYPE=LVCMOS33;
  24. ## LED indicators "blinkey" and "gpio" sheet
  25. LOCATE COMP "led[7]" SITE "H3";
  26. LOCATE COMP "led[6]" SITE "E1";
  27. LOCATE COMP "led[5]" SITE "E2";
  28. LOCATE COMP "led[4]" SITE "D1";
  29. LOCATE COMP "led[3]" SITE "D2";
  30. LOCATE COMP "led[2]" SITE "C1";
  31. LOCATE COMP "led[1]" SITE "C2";
  32. LOCATE COMP "led[0]" SITE "B2";
  33. IOBUF PORT "led[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  34. IOBUF PORT "led[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  35. IOBUF PORT "led[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  36. IOBUF PORT "led[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  37. IOBUF PORT "led[4]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  38. IOBUF PORT "led[5]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  39. IOBUF PORT "led[6]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  40. IOBUF PORT "led[7]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  41. ## Pushbuttons "blinkey", "flash", "power", "gpdi" sheet
  42. LOCATE COMP "btn[0]" SITE "D6"; # BTN_PWRn (inverted logic)
  43. LOCATE COMP "io_asyncReset" SITE "R1"; # FIRE1
  44. LOCATE COMP "btn[2]" SITE "T1"; # FIRE2
  45. LOCATE COMP "btn[3]" SITE "R18"; # UP W1->R18
  46. LOCATE COMP "btn[4]" SITE "V1"; # DOWN
  47. LOCATE COMP "btn[5]" SITE "U1"; # LEFT
  48. LOCATE COMP "btn[6]" SITE "H16"; # RIGHT Y2->H16
  49. IOBUF PORT "btn[0]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  50. IOBUF PORT "io_asyncReset" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4;
  51. IOBUF PORT "btn[2]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4;
  52. IOBUF PORT "btn[3]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4;
  53. IOBUF PORT "btn[4]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4;
  54. IOBUF PORT "btn[5]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4;
  55. IOBUF PORT "btn[6]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4;
  56. ## DIP switch "blinkey", "gpio" sheet
  57. LOCATE COMP "sw[0]" SITE "E8"; # SW1
  58. LOCATE COMP "sw[1]" SITE "D8"; # SW2
  59. LOCATE COMP "sw[2]" SITE "D7"; # SW3
  60. LOCATE COMP "sw[3]" SITE "E7"; # SW4
  61. IOBUF PORT "sw[0]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4;
  62. IOBUF PORT "sw[1]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4;
  63. IOBUF PORT "sw[2]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4;
  64. IOBUF PORT "sw[3]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4;
  65. ## SPI OLED DISPLAY SSD1331 (Color) or SSD1306 (B/W) "blinkey", "usb" sheet
  66. LOCATE COMP "oled_clk" SITE "P4";
  67. LOCATE COMP "oled_mosi" SITE "P3";
  68. LOCATE COMP "oled_dc" SITE "P1";
  69. LOCATE COMP "oled_resn" SITE "P2";
  70. LOCATE COMP "oled_csn" SITE "N2";
  71. IOBUF PORT "oled_clk" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  72. IOBUF PORT "oled_mosi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  73. IOBUF PORT "oled_dc" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  74. IOBUF PORT "oled_resn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  75. IOBUF PORT "oled_csn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  76. ## SPI Flash chip "flash" sheet
  77. LOCATE COMP "flash_csn" SITE "R2";
  78. LOCATE COMP "flash_clk" SITE "U3";
  79. LOCATE COMP "flash_mosi" SITE "W2";
  80. LOCATE COMP "flash_miso" SITE "V2";
  81. LOCATE COMP "flash_holdn" SITE "W1";
  82. LOCATE COMP "flash_wpn" SITE "Y2";
  83. #LOCATE COMP "flash_csspin" SITE "AJ3";
  84. #LOCATE COMP "flash_initn" SITE "AG4";
  85. #LOCATE COMP "flash_done" SITE "AJ4";
  86. #LOCATE COMP "flash_programn" SITE "AH4";
  87. #LOCATE COMP "flash_cfg_select[0]" SITE "AM4";
  88. #LOCATE COMP "flash_cfg_select[1]" SITE "AL4";
  89. #LOCATE COMP "flash_cfg_select[2]" SITE "AK4";
  90. IOBUF PORT "flash_csn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  91. IOBUF PORT "flash_clk" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4;
  92. IOBUF PORT "flash_mosi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  93. IOBUF PORT "flash_miso" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  94. IOBUF PORT "flash_holdn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  95. IOBUF PORT "flash_wpn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  96. #IOBUF PORT "flash_csspin" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  97. #IOBUF PORT "flash_initn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  98. #IOBUF PORT "flash_done" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  99. #IOBUF PORT "flash_programn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  100. #IOBUF PORT "flash_cfg_select[0]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4;
  101. #IOBUF PORT "flash_cfg_select[1]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4;
  102. #IOBUF PORT "flash_cfg_select[2]" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4;
  103. ## SD card "sdcard", "usb" sheet
  104. LOCATE COMP "sd_clk" SITE "H2"; # sd_clk WiFi_GPIO14
  105. LOCATE COMP "sd_cmd" SITE "J1"; # sd_cmd_di (MOSI) WiFi GPIO15
  106. LOCATE COMP "sd_d[0]" SITE "J3"; # sd_dat0_do (MISO) WiFi GPIO2
  107. LOCATE COMP "sd_d[1]" SITE "H1"; # sd_dat1_irq WiFi GPIO4
  108. LOCATE COMP "sd_d[2]" SITE "K1"; # sd_dat2 WiFi_GPIO12
  109. LOCATE COMP "sd_d[3]" SITE "K2"; # sd_dat3_csn WiFi_GPIO13
  110. LOCATE COMP "sd_wp" SITE "P5"; # not connected
  111. LOCATE COMP "sd_cdn" SITE "N5"; # not connected
  112. IOBUF PORT "sd_clk" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  113. IOBUF PORT "sd_cmd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  114. IOBUF PORT "sd_d[0]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  115. IOBUF PORT "sd_d[1]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  116. IOBUF PORT "sd_d[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4; # WiFi GPIO12 pulldown bootstrapping requirement
  117. IOBUF PORT "sd_d[3]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  118. IOBUF PORT "sd_wp" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  119. IOBUF PORT "sd_cdn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  120. ## ADC SPI (MAX11123) "analog", "ram" sheet
  121. LOCATE COMP "adc_csn" SITE "R17";
  122. LOCATE COMP "adc_mosi" SITE "R16";
  123. LOCATE COMP "adc_miso" SITE "U16";
  124. LOCATE COMP "adc_sclk" SITE "P17";
  125. IOBUF PORT "adc_csn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  126. IOBUF PORT "adc_mosi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  127. IOBUF PORT "adc_miso" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  128. IOBUF PORT "adc_sclk" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  129. ## Audio 4-bit DAC "analog", "gpio" sheet
  130. # Output impedance 75 ohm.
  131. # Strong enough to drive 16 ohm earphones.
  132. LOCATE COMP "audio_l[3]" SITE "B3"; # JACK TIP (left audio)
  133. LOCATE COMP "audio_l[2]" SITE "C3";
  134. LOCATE COMP "audio_l[1]" SITE "D3";
  135. LOCATE COMP "audio_l[0]" SITE "E4";
  136. LOCATE COMP "audio_r[3]" SITE "C5"; # JACK RING1 (right audio)
  137. LOCATE COMP "audio_r[2]" SITE "D5";
  138. LOCATE COMP "audio_r[1]" SITE "B5";
  139. LOCATE COMP "audio_r[0]" SITE "A3";
  140. LOCATE COMP "audio_v[3]" SITE "E5"; # JACK RING2 (video or digital audio)
  141. LOCATE COMP "audio_v[2]" SITE "F5";
  142. LOCATE COMP "audio_v[1]" SITE "F2";
  143. LOCATE COMP "audio_v[0]" SITE "H5";
  144. IOBUF PORT "audio_l[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16;
  145. IOBUF PORT "audio_l[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16;
  146. IOBUF PORT "audio_l[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16;
  147. IOBUF PORT "audio_l[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16;
  148. IOBUF PORT "audio_r[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16;
  149. IOBUF PORT "audio_r[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16;
  150. IOBUF PORT "audio_r[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16;
  151. IOBUF PORT "audio_r[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16;
  152. IOBUF PORT "audio_v[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16;
  153. IOBUF PORT "audio_v[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16;
  154. IOBUF PORT "audio_v[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16;
  155. IOBUF PORT "audio_v[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16;
  156. ## WiFi ESP-32 "wifi", "usb", "flash" sheet
  157. # other pins are shared with GP/GN, SD card and JTAG
  158. LOCATE COMP "wifi_en" SITE "F1"; # enable/reset WiFi
  159. LOCATE COMP "wifi_rxd" SITE "K3"; # FPGA transmits to WiFi
  160. LOCATE COMP "wifi_txd" SITE "K4"; # FPGA receives from WiFi
  161. LOCATE COMP "wifi_gpio0" SITE "L2";
  162. LOCATE COMP "wifi_gpio5" SITE "N4"; # WIFI LED
  163. LOCATE COMP "wifi_gpio16" SITE "L1"; # Serial1 RX
  164. LOCATE COMP "wifi_gpio17" SITE "N3"; # Serial1 TX
  165. # LOCATE COMP "prog_done" SITE "Y3"; # not GPIO, always active
  166. IOBUF PORT "wifi_en" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  167. IOBUF PORT "wifi_rxd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  168. IOBUF PORT "wifi_txd" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  169. IOBUF PORT "wifi_gpio0" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  170. IOBUF PORT "wifi_gpio16" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  171. IOBUF PORT "wifi_gpio17" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  172. # IOBUF PORT "prog_done" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  173. ## PCB antenna 433 MHz (may be also used for FM) "usb" sheet
  174. LOCATE COMP "ant_433mhz" SITE "G1";
  175. IOBUF PORT "ant_433mhz" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  176. ## Second USB port "US2" going directly into FPGA "usb", "ram" sheet
  177. LOCATE COMP "usb_fpga_dp" SITE "E16"; # single ended or differential input only
  178. LOCATE COMP "usb_fpga_dn" SITE "F16";
  179. IOBUF PORT "usb_fpga_dp" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16;
  180. IOBUF PORT "usb_fpga_dn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16;
  181. LOCATE COMP "usb_fpga_bd_dp" SITE "D15"; # differential bidirectional
  182. LOCATE COMP "usb_fpga_bd_dn" SITE "E15";
  183. IOBUF PORT "usb_fpga_bd_dp" PULLMODE=NONE IO_TYPE=LVCMOS33D DRIVE=4;
  184. IOBUF PORT "usb_fpga_bd_dn" PULLMODE=NONE IO_TYPE=LVCMOS33D DRIVE=4;
  185. LOCATE COMP "usb_fpga_pu_dp" SITE "B12"; # pull up/down control
  186. LOCATE COMP "usb_fpga_pu_dn" SITE "C12";
  187. IOBUF PORT "usb_fpga_pu_dp" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16;
  188. IOBUF PORT "usb_fpga_pu_dn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=16;
  189. ## JTAG ESP-32 "usb" sheet
  190. # connected to FT231X and ESP-32
  191. # commented out because those are dedicated pins, not directly useable as GPIO
  192. # but could be used by some vendor-specific JTAG bridging (boundary scan) module
  193. #LOCATE COMP "jtag_tdi" SITE "R5"; # FTDI_nRI FPGA receives
  194. #LOCATE COMP "jtag_tdo" SITE "V4"; # FTDI_nCTS FPGA transmits
  195. #LOCATE COMP "jtag_tck" SITE "T5"; # FTDI_nDSR FPGA receives
  196. #LOCATE COMP "jtag_tms" SITE "U5"; # FTDI_nDCD FPGA receives
  197. #IOBUF PORT "jtag_tdi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  198. #IOBUF PORT "jtag_tdo" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  199. #IOBUF PORT "jtag_tck" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  200. #IOBUF PORT "jtag_tms" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  201. ## SDRAM "ram" sheet
  202. LOCATE COMP "sdram_clk" SITE "F19";
  203. LOCATE COMP "sdram_cke" SITE "F20";
  204. LOCATE COMP "sdram_csn" SITE "P20";
  205. LOCATE COMP "sdram_wen" SITE "T20";
  206. LOCATE COMP "sdram_rasn" SITE "R20";
  207. LOCATE COMP "sdram_casn" SITE "T19";
  208. LOCATE COMP "sdram_a[0]" SITE "M20";
  209. LOCATE COMP "sdram_a[1]" SITE "M19";
  210. LOCATE COMP "sdram_a[2]" SITE "L20";
  211. LOCATE COMP "sdram_a[3]" SITE "L19";
  212. LOCATE COMP "sdram_a[4]" SITE "K20";
  213. LOCATE COMP "sdram_a[5]" SITE "K19";
  214. LOCATE COMP "sdram_a[6]" SITE "K18";
  215. LOCATE COMP "sdram_a[7]" SITE "J20";
  216. LOCATE COMP "sdram_a[8]" SITE "J19";
  217. LOCATE COMP "sdram_a[9]" SITE "H20";
  218. LOCATE COMP "sdram_a[10]" SITE "N19";
  219. LOCATE COMP "sdram_a[11]" SITE "G20";
  220. LOCATE COMP "sdram_a[12]" SITE "G19";
  221. LOCATE COMP "sdram_ba[0]" SITE "P19";
  222. LOCATE COMP "sdram_ba[1]" SITE "N20";
  223. LOCATE COMP "sdram_dqm[0]" SITE "U19";
  224. LOCATE COMP "sdram_dqm[1]" SITE "E20";
  225. LOCATE COMP "sdram_d[0]" SITE "J16";
  226. LOCATE COMP "sdram_d[1]" SITE "L18";
  227. LOCATE COMP "sdram_d[2]" SITE "M18";
  228. LOCATE COMP "sdram_d[3]" SITE "N18";
  229. LOCATE COMP "sdram_d[4]" SITE "P18";
  230. LOCATE COMP "sdram_d[5]" SITE "T18";
  231. LOCATE COMP "sdram_d[6]" SITE "T17";
  232. LOCATE COMP "sdram_d[7]" SITE "U20";
  233. LOCATE COMP "sdram_d[8]" SITE "E19";
  234. LOCATE COMP "sdram_d[9]" SITE "D20";
  235. LOCATE COMP "sdram_d[10]" SITE "D19";
  236. LOCATE COMP "sdram_d[11]" SITE "C20";
  237. LOCATE COMP "sdram_d[12]" SITE "E18";
  238. LOCATE COMP "sdram_d[13]" SITE "F18";
  239. LOCATE COMP "sdram_d[14]" SITE "J18";
  240. LOCATE COMP "sdram_d[15]" SITE "J17";
  241. IOBUF PORT "sdram_clk" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  242. IOBUF PORT "sdram_cke" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  243. IOBUF PORT "sdram_csn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  244. IOBUF PORT "sdram_wen" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  245. IOBUF PORT "sdram_rasn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  246. IOBUF PORT "sdram_casn" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  247. IOBUF PORT "sdram_a[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  248. IOBUF PORT "sdram_a[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  249. IOBUF PORT "sdram_a[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  250. IOBUF PORT "sdram_a[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  251. IOBUF PORT "sdram_a[4]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  252. IOBUF PORT "sdram_a[5]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  253. IOBUF PORT "sdram_a[6]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  254. IOBUF PORT "sdram_a[7]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  255. IOBUF PORT "sdram_a[8]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  256. IOBUF PORT "sdram_a[9]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  257. IOBUF PORT "sdram_a[10]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  258. IOBUF PORT "sdram_a[11]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  259. IOBUF PORT "sdram_a[12]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  260. IOBUF PORT "sdram_ba[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  261. IOBUF PORT "sdram_ba[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  262. IOBUF PORT "sdram_dqm[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  263. IOBUF PORT "sdram_dqm[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  264. IOBUF PORT "sdram_d[0]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  265. IOBUF PORT "sdram_d[1]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  266. IOBUF PORT "sdram_d[2]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  267. IOBUF PORT "sdram_d[3]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  268. IOBUF PORT "sdram_d[4]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  269. IOBUF PORT "sdram_d[5]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  270. IOBUF PORT "sdram_d[6]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  271. IOBUF PORT "sdram_d[7]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  272. IOBUF PORT "sdram_d[8]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  273. IOBUF PORT "sdram_d[9]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  274. IOBUF PORT "sdram_d[10]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  275. IOBUF PORT "sdram_d[11]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  276. IOBUF PORT "sdram_d[12]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  277. IOBUF PORT "sdram_d[13]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  278. IOBUF PORT "sdram_d[14]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  279. IOBUF PORT "sdram_d[15]" PULLMODE=NONE IO_TYPE=LVCMOS33 DRIVE=4;
  280. # GPDI differential interface (Video) "gpdi" sheet
  281. LOCATE COMP "gpdi_dp[0]" SITE "A16"; # Blue +
  282. LOCATE COMP "gpdi_dn[0]" SITE "B16"; # Blue -
  283. LOCATE COMP "gpdi_dp[1]" SITE "A14"; # Green +
  284. LOCATE COMP "gpdi_dn[1]" SITE "C14"; # Green -
  285. LOCATE COMP "gpdi_dp[2]" SITE "A12"; # Red +
  286. LOCATE COMP "gpdi_dn[2]" SITE "A13"; # Red -
  287. LOCATE COMP "gpdi_dp[3]" SITE "A17"; # Clock +
  288. LOCATE COMP "gpdi_dn[3]" SITE "B18"; # Clock -
  289. LOCATE COMP "gpdi_ethp" SITE "A19"; # Ethernet +
  290. LOCATE COMP "gpdi_ethn" SITE "B20"; # Ethernet -
  291. LOCATE COMP "gpdi_cec" SITE "A18";
  292. LOCATE COMP "gpdi_sda" SITE "B19"; # I2C shared with RTC
  293. LOCATE COMP "gpdi_scl" SITE "E12"; # I2C shared with RTC C12->E12
  294. IOBUF PORT "gpdi_dp[0]" IO_TYPE=LVCMOS33D DRIVE=4;
  295. IOBUF PORT "gpdi_dn[0]" IO_TYPE=LVCMOS33D DRIVE=4;
  296. IOBUF PORT "gpdi_dp[1]" IO_TYPE=LVCMOS33D DRIVE=4;
  297. IOBUF PORT "gpdi_dn[1]" IO_TYPE=LVCMOS33D DRIVE=4;
  298. IOBUF PORT "gpdi_dp[2]" IO_TYPE=LVCMOS33D DRIVE=4;
  299. IOBUF PORT "gpdi_dn[2]" IO_TYPE=LVCMOS33D DRIVE=4;
  300. IOBUF PORT "gpdi_dp[3]" IO_TYPE=LVCMOS33D DRIVE=4;
  301. IOBUF PORT "gpdi_dn[3]" IO_TYPE=LVCMOS33D DRIVE=4;
  302. IOBUF PORT "gpdi_ethp" IO_TYPE=LVCMOS33D DRIVE=4;
  303. IOBUF PORT "gpdi_ethn" IO_TYPE=LVCMOS33D DRIVE=4;
  304. IOBUF PORT "gpdi_cec" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  305. IOBUF PORT "gpdi_sda" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  306. IOBUF PORT "gpdi_scl" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  307. # GPIO (default single-ended) "gpio", "ram", "gpdi" sheet
  308. # Pins enumerated gp[0-27], gn[0-27].
  309. # With differential mode enabled on Lattice,
  310. # gp[] (+) are used, gn[] (-) are ignored from design
  311. # as they handle inverted signal by default.
  312. # To enable differential, rename LVCMOS33->LVCMOS33D
  313. LOCATE COMP "gp[0]" SITE "B11"; # J1_5+ GP0
  314. LOCATE COMP "gn[0]" SITE "C11"; # J1_5- GN0
  315. LOCATE COMP "gp[1]" SITE "A10"; # J1_7+ GP1
  316. LOCATE COMP "gn[1]" SITE "A11"; # J1_7- GN1
  317. LOCATE COMP "gp[2]" SITE "A9"; # J1_9+ GP2
  318. LOCATE COMP "gn[2]" SITE "B10"; # J1_9- GN2
  319. LOCATE COMP "gp[3]" SITE "B9"; # J1_11+ GP3
  320. LOCATE COMP "gn[3]" SITE "C10"; # J1_11- GN3
  321. LOCATE COMP "gp[4]" SITE "A7"; # J1_13+ GP4
  322. LOCATE COMP "gn[4]" SITE "A8"; # J1_13- GN4
  323. LOCATE COMP "gp[5]" SITE "C8"; # J1_15+ GP5
  324. LOCATE COMP "gn[5]" SITE "B8"; # J1_15- GN5
  325. LOCATE COMP "gp[6]" SITE "C6"; # J1_17+ GP6
  326. LOCATE COMP "gn[6]" SITE "C7"; # J1_17- GN6
  327. IOBUF PORT "gp[0]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  328. IOBUF PORT "gn[0]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  329. IOBUF PORT "gp[1]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  330. IOBUF PORT "gn[1]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  331. IOBUF PORT "gp[2]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  332. IOBUF PORT "gn[2]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  333. IOBUF PORT "gp[3]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  334. IOBUF PORT "gn[3]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  335. IOBUF PORT "gp[4]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  336. IOBUF PORT "gn[4]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  337. IOBUF PORT "gp[5]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  338. IOBUF PORT "gn[5]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  339. IOBUF PORT "gp[6]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  340. IOBUF PORT "gn[6]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  341. LOCATE COMP "gp[7]" SITE "A6"; # J1_23+ GP7
  342. LOCATE COMP "gn[7]" SITE "B6"; # J1_23- GN7
  343. LOCATE COMP "gp[8]" SITE "A4"; # J1_25+ GP8
  344. LOCATE COMP "gn[8]" SITE "A5"; # J1_25- GN8
  345. LOCATE COMP "gp[9]" SITE "A2"; # J1_27+ GP9
  346. LOCATE COMP "gn[9]" SITE "B1"; # J1_27- GN9
  347. LOCATE COMP "gp[10]" SITE "C4"; # J1_29+ GP10 WIFI_GPIO27
  348. LOCATE COMP "gn[10]" SITE "B4"; # J1_29- GN10
  349. LOCATE COMP "gp[11]" SITE "F4"; # J1_31+ GP11 WIFI_GPIO25
  350. LOCATE COMP "gn[11]" SITE "E3"; # J1_31- GN11 WIFI_GPIO26
  351. LOCATE COMP "gp[12]" SITE "G3"; # J1_33+ GP12 WIFI_GPIO32
  352. LOCATE COMP "gn[12]" SITE "F3"; # J1_33- GN12 WIFI_GPIO33
  353. LOCATE COMP "gp[13]" SITE "H4"; # J1_35+ GP13 WIFI_GPIO34
  354. LOCATE COMP "gn[13]" SITE "G5"; # J1_35- GN13 WIFI_GPIO35
  355. IOBUF PORT "gp[7]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  356. IOBUF PORT "gn[7]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  357. IOBUF PORT "gp[8]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  358. IOBUF PORT "gn[8]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  359. IOBUF PORT "gp[9]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  360. IOBUF PORT "gn[9]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  361. IOBUF PORT "gp[10]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  362. IOBUF PORT "gn[10]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  363. IOBUF PORT "gp[11]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  364. IOBUF PORT "gn[11]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  365. IOBUF PORT "gp[12]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  366. IOBUF PORT "gn[12]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  367. IOBUF PORT "gp[13]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  368. IOBUF PORT "gn[13]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  369. LOCATE COMP "gp[14]" SITE "U18"; # J2_5+ GP14
  370. LOCATE COMP "gn[14]" SITE "U17"; # J2_5- GN14
  371. LOCATE COMP "gp[15]" SITE "N17"; # J2_7+ GP15
  372. LOCATE COMP "gn[15]" SITE "P16"; # J2_7- GN15
  373. LOCATE COMP "gp[16]" SITE "N16"; # J2_9+ GP16
  374. LOCATE COMP "gn[16]" SITE "M17"; # J2_9- GN16
  375. LOCATE COMP "gp[17]" SITE "L16"; # J2_11+ GP17
  376. LOCATE COMP "gn[17]" SITE "L17"; # J2_11- GN17
  377. LOCATE COMP "gp[18]" SITE "H18"; # J2_13+ GP18
  378. LOCATE COMP "gn[18]" SITE "H17"; # J2_13- GN18
  379. LOCATE COMP "gp[19]" SITE "F17"; # J2_15+ GP19
  380. LOCATE COMP "gn[19]" SITE "G18"; # J2_15- GN19
  381. LOCATE COMP "gp[20]" SITE "D18"; # J2_17+ GP20
  382. LOCATE COMP "gn[20]" SITE "E17"; # J2_17- GN20
  383. IOBUF PORT "gp[14]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  384. IOBUF PORT "gn[14]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  385. IOBUF PORT "gp[15]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  386. IOBUF PORT "gn[15]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  387. IOBUF PORT "gp[16]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  388. IOBUF PORT "gn[16]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  389. IOBUF PORT "gp[17]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  390. IOBUF PORT "gn[17]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  391. IOBUF PORT "gp[18]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  392. IOBUF PORT "gn[18]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  393. IOBUF PORT "gp[19]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  394. IOBUF PORT "gn[19]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  395. IOBUF PORT "gp[20]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  396. IOBUF PORT "gn[20]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  397. LOCATE COMP "io_jtag_tms" SITE "C18"; # J2_23+ GP21
  398. LOCATE COMP "gn[21]" SITE "D17"; # J2_23- GN21
  399. LOCATE COMP "io_jtag_tdi" SITE "B15"; # J2_25+ GP22 D15->B15
  400. LOCATE COMP "gn[22]" SITE "C15"; # J2_25- GN22 E15->C15
  401. LOCATE COMP "io_jtag_tdo" SITE "B17"; # J2_27+ GP23
  402. LOCATE COMP "gn[23]" SITE "C17"; # J2_27- GN23
  403. LOCATE COMP "io_jtag_tck" SITE "C16"; # J2_29+ GP24
  404. LOCATE COMP "gn[24]" SITE "D16"; # J2_29- GN24
  405. LOCATE COMP "gp[25]" SITE "D14"; # J2_31+ GP25 B15->D14
  406. LOCATE COMP "gn[25]" SITE "E14"; # J2_31- GN25 C15->E14
  407. LOCATE COMP "gp[26]" SITE "B13"; # J2_33+ GP26
  408. LOCATE COMP "gn[26]" SITE "C13"; # J2_33- GN26
  409. LOCATE COMP "gp[27]" SITE "D13"; # J2_35+ GP27
  410. LOCATE COMP "gn[27]" SITE "E13"; # J2_35- GN27
  411. IOBUF PORT "io_jtag_tms" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  412. IOBUF PORT "gn[21]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  413. IOBUF PORT "io_jtag_tdi" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  414. IOBUF PORT "gn[22]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  415. IOBUF PORT "io_jtag_tdo" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  416. IOBUF PORT "gn[23]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  417. IOBUF PORT "io_jtag_tck" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  418. IOBUF PORT "gn[24]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  419. IOBUF PORT "gp[25]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  420. IOBUF PORT "gn[25]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  421. IOBUF PORT "gp[26]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  422. IOBUF PORT "gn[26]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  423. IOBUF PORT "gp[27]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  424. IOBUF PORT "gn[27]" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  425. ## PROGRAMN (reload bitstream from FLASH, exit from bootloader)
  426. # PCB v2.0.5 and higher
  427. LOCATE COMP "user_programn" SITE "M4";
  428. IOBUF PORT "user_programn" PULLMODE=UP IO_TYPE=LVCMOS33 DRIVE=4;
  429. ## SHUTDOWN "power", "ram" sheet (connected from PCB v1.7.5)
  430. # on PCB v1.7 shutdown is not connected to FPGA
  431. LOCATE COMP "shutdown" SITE "G16"; # FPGA receives
  432. IOBUF PORT "shutdown" PULLMODE=DOWN IO_TYPE=LVCMOS33 DRIVE=4;