juanmard/icestudio

View on GitHub
resources/boards/_iCE40HX8K-EVB/pinout.pcf

Summary

Maintainability
Test Coverage
# -----------------------------------------------------------------------------
#- iCE40HX8K-EVB constraint file (.pcf)
#- By Brian 'redbeard' Harrington
#- October 2017
#- GPL license
#- Board info: 
#    - https://www.olimex.com/Products/FPGA/iCE40/iCE40HX8K-EVB/open-source-hardware
#    - https://github.com/OLIMEX/iCE40HX8K-EVB

#------------------------------ LEDS ------------------------------------------

set_io --warn-no-port LED1   M12  # output
set_io --warn-no-port LED2   R16  # output

#----------------------------- BUTTONS ----------------------------------------

set_io --warn-no-port BUT1   K11  # output
set_io --warn-no-port BUT2   P13  # output

#--------------------------- SERIAL COMMS -------------------------------------

set_io --warn-no-port TX    J3  # output
set_io --warn-no-port RX    J3  # input


# -------------------------- SYSTEM CLOCK -------------------------------------

set_io --warn-no-port CLK    J3  # input
set_io --warn-no-port SYSCLK J3  # input


#                     ************************************
#                     *                                  *
# --------------------*         Serigraphy of PCB        *---------------------
#                     *                                  *
#                     ************************************

# ------------------------- Programming connector------------------------------
#               PGM1
#            -----------
# OPEN 1---| 3V3    GND |---2
# OPEN 3---| RX      TX |---4 OPEN
#      5---| DONE   RES |---6 
#      7---| MISO  MOSI |---8
#      9---| SCK   SS_B |---10
#           ------------

set_io --warn-no-port RES    N11 # input
set_io --warn-no-port CRESET N11 # input

set_io --warn-no-port DONE   M10 # output
set_io --warn-no-port CDONE  M10 # output

set_io --warn-no-port SS     R12 # output
set_io --warn-no-port SS_Bi  R12 # output

set_io --warn-no-port MISO   P12 # input
set_io --warn-no-port SDI    P12 # input

set_io --warn-no-port MOSI   P11 # output
set_io --warn-no-port SDO    P11 # output

set_io --warn-no-port SCK  R11 # output

# ------------------------- GPIO1 connector -----------------------------------
#             GPIO1
#            --------
#      1---| VCC GND |---2
#      3---| 3V3 GND |---4
#      5---| E4  EXT |---6  EXTCLK
#      7---| B2  GND |---8
#      9---| F5  J2  |---10
#           ---------
#     11---| B1  H1  |---12
#     13---| C1  G1  |---14
#     15---| C2  J5  |---16
#     17---| F4  H2  |---18
#     19---| D2  J4  |---20
#           ---------
#     21---| G5  G2  |---22
#     23---| D1  H4  |---24
#     25---| G4  F1  |---26
#     27---| E3  H6  |---28
#     29---| H5  F2  |---30
#           ---------
#     31---| E2  H3  |---32
#     33---| G3  F3  |---34
#           ---------

# ------------------------- EXT1 connector ------------------------------------
#
#
#
#              J1
#            --------
#      1---| VCC GND |---2
#      3---| 3V3 GND |---4
#      5---| 3V3 EXT |---6  EXTCLK
#      7---| C14 GND |---8
#      9---| B15 B7  |---10
#           ---------
#     11---| D13 C7  |---12
#     13---| B14 A7  |---14
#     15---| C12 B8  |---16
#     17---| E11 D8  |---18
#     19---| C13 B9  |---20
#           ---------
#     21---| A16 F7  |---22
#     23---| A15 C8  |---24
#     25---| B13 F9  |---26
#     27---| E10 A9  |---28
#     29---| C11 D9  |---30
#           ---------
#     31---| D11 E9  |---32
#     33---| B12 C9  |---34
#     35---| B10 D10 |---36
#     37---| B11 A11 |---38
#     39---| C10 A10 |---40
#           ---------

set_io --warn-no-port C14 C14
set_io --warn-no-port B15 B15
set_io --warn-no-port D13 D13
set_io --warn-no-port B14 B14
set_io --warn-no-port C12 C12
set_io --warn-no-port E11 E11
set_io --warn-no-port C13 C13
set_io --warn-no-port A16 A16
set_io --warn-no-port A15 A15
set_io --warn-no-port B13 B13
set_io --warn-no-port E10 E10
set_io --warn-no-port C11 C11
set_io --warn-no-port D11 D11
set_io --warn-no-port B12 B12
set_io --warn-no-port B10 B10
set_io --warn-no-port B11 B11
set_io --warn-no-port C10 C10
set_io --warn-no-port A10 A10
set_io --warn-no-port A11 A11
set_io --warn-no-port D10 D10
set_io --warn-no-port C9 C9
set_io --warn-no-port E9 E9
set_io --warn-no-port D9 D9
set_io --warn-no-port A9 A9
set_io --warn-no-port F9 F9
set_io --warn-no-port C8 C8
set_io --warn-no-port F7 F7
set_io --warn-no-port B9 B9
set_io --warn-no-port D8 D8
set_io --warn-no-port B8 B8
set_io --warn-no-port A7 A7
set_io --warn-no-port C7 C7


# ------------------------- EXT2 connector ------------------------------------
#
#
#
#               EXT2
#             --------
#       1---| VCC GND |---2
#       3---| 3V3 GND |---4
#       5---| 3V3 EXT |---6  EXTCLK
#       7---| B6  GND |---8
#       9---| C6  J10 |---10
#            ---------
#      11---| D7  M16 |---12
#      13---| A6  K12 |---14
#      15---| D6  L14 |---16
#      17---| A5  L13 |---18
#      19---| B5  N16 |---20
#            ---------
#      21---| E6  L12 |---22
#      23---| B4  M14 |---24
#      25---| A2  M13 |---26
#      27---| D5  P16 |---28
#      29---| A1  P15 |---30
#            ---------
#      31---| C5  P14 |---32
#      33---| C4  R15 |---34
#      35---| B3  R14 |---36
#      37---| D4  C3  |---38
#      39---| E5  D3  |---40
#            ---------

set_io --warn-no-port B6 B6
set_io --warn-no-port C6 C6
set_io --warn-no-port D7 D7
set_io --warn-no-port A6 A6
set_io --warn-no-port D6 D6
set_io --warn-no-port A5 A5
set_io --warn-no-port B5 B5
set_io --warn-no-port E6 E6
set_io --warn-no-port B4 B4
set_io --warn-no-port A2 A2
set_io --warn-no-port D5 D5
set_io --warn-no-port A1 A1
set_io --warn-no-port C5 C5
set_io --warn-no-port C4 C4
set_io --warn-no-port B3 B3
set_io --warn-no-port D4 D4
set_io --warn-no-port E5 E5
set_io --warn-no-port D3 D3
set_io --warn-no-port C3 C3
set_io --warn-no-port R14 R14
set_io --warn-no-port R15 R15
set_io --warn-no-port P14 P14
set_io --warn-no-port P15 P15
set_io --warn-no-port P16 P16
set_io --warn-no-port M13 M13
set_io --warn-no-port M14 M14
set_io --warn-no-port L12 L12
set_io --warn-no-port N16 N16
set_io --warn-no-port L13 L13
set_io --warn-no-port L14 L14
set_io --warn-no-port K12 K12
set_io --warn-no-port M16 M16
set_io --warn-no-port J10 J10


# ------------------------- EXT3 connector ------------------------------------
#
#
#
#              EXT3
#            --------
#      1---| VCC GND |---2
#      3---| 3V3 GND |---4
#      5---| 3V3 EXT |---6  EXTCLK
#      7---| M15 GND |---8
#      9---| J11 E14 |---10
#           ---------
#     11---| L16 F11 |---12
#     13---| K13 D15 |---14
#     15---| K14 F12 |---16
#     17---| J15 F14 |---18
#     19---| K15 G12 |---20
#           ---------
#     21---| K16 D16 |---22
#     23---| J14 G13 |---24
#     25---| J12 E16 |---26
#     27---| J13 G14 |---28
#     29---| J16 F15 |---30
#           ---------
#     31---| H13 G11 |---32
#     33---| H11 F16 |---34
#     35---| H16 G10 |---36
#     37---| H14 G15 |---38
#     39---| G16 H12 |---40
#           ---------

set_io --warn-no-port M15 M15
set_io --warn-no-port J11 J11
set_io --warn-no-port L16 L16
set_io --warn-no-port K13 K13
set_io --warn-no-port K14 K14
set_io --warn-no-port J15 J15
set_io --warn-no-port K15 K15
set_io --warn-no-port K16 K16
set_io --warn-no-port J14 J14
set_io --warn-no-port J12 J12
set_io --warn-no-port J13 J13
set_io --warn-no-port J16 J16
set_io --warn-no-port H13 H13
set_io --warn-no-port H11 H11
set_io --warn-no-port H16 H16
set_io --warn-no-port H14 H14
set_io --warn-no-port G16 G16
set_io --warn-no-port H12 H12
set_io --warn-no-port G15 G15
set_io --warn-no-port G10 G10
set_io --warn-no-port F16 F16
set_io --warn-no-port G11 G11
set_io --warn-no-port F15 F15
set_io --warn-no-port G14 G14
set_io --warn-no-port E16 E16
set_io --warn-no-port G13 G13
set_io --warn-no-port D16 D16
set_io --warn-no-port G12 G12
set_io --warn-no-port F14 F14
set_io --warn-no-port F12 F12
set_io --warn-no-port D15 D15
set_io --warn-no-port F11 F11
set_io --warn-no-port E14 E14


# ------------------------- EXT4 connector ------------------------------------
#
#
#
#              EXT4
#            --------
#      1---| VCC GND |---2
#      3---| 3V3 GND |---4
#      5---| 3V3 EXT |---6  EXTCLK
#      7---| C16 GND |---8
#      9---| F13 N4  |---10
#           ---------
#     11---| B16 R1  |---12
#     13---| E13 M5  |---14
#     15---| D14 P2  |---16
#     17---| M11 M4  |---18
#     19---| T13 P1  |---20
#           ---------
#     21---| N12 N3  |---22
#LED1 23---| M12 L5  |---24
#LED2 25---| R16 M3  |---26
#     27---| J1  M6  |---28
#     29---| K1  N2  |---30
#           ---------
#     31---| K3  L7  |---32
#     33---| L4  M2  |---34
#     35---| L1  K5  |---36
#     37---| K4  L3  |---38
#     39---| M1  L6  |---40
#           ---------

set_io --warn-no-port C16 C16
set_io --warn-no-port F13 F13
set_io --warn-no-port B16 B16
set_io --warn-no-port E13 E13
set_io --warn-no-port D14 D14
set_io --warn-no-port M11 M11
set_io --warn-no-port T13 T13
set_io --warn-no-port N12 N12
set_io --warn-no-port M12 M12  #output
set_io --warn-no-port R16 R16  #output
set_io --warn-no-port J1 J1
set_io --warn-no-port K1 K1
set_io --warn-no-port K3 K3
set_io --warn-no-port L4 L4
set_io --warn-no-port L1 L1
set_io --warn-no-port K4 K4
set_io --warn-no-port M1 M1
set_io --warn-no-port L6 L6
set_io --warn-no-port L3 L3
set_io --warn-no-port K5 K5
set_io --warn-no-port M2 M2
set_io --warn-no-port L7 L7
set_io --warn-no-port N2 N2
set_io --warn-no-port M6 M6
set_io --warn-no-port M3 M3
set_io --warn-no-port L5 L5
set_io --warn-no-port N3 N3
set_io --warn-no-port P1 P1
set_io --warn-no-port M4 M4
set_io --warn-no-port P2 P2
set_io --warn-no-port M5 M5
set_io --warn-no-port R1 R1
set_io --warn-no-port N4 N4