iCE40I/O块与封装管脚的对应关系

Correspondence between iCE40 I/O blocks and package pins

iCE40 FPGA 的 I/O 块与它们驱动的封装引脚之间的对应关系是否记录在某处?

IceStorm 项目的 I/O tile documentation 给出了 I/O 个块的列表,以及每个块的 IE 和 REN 位在比特流中的位置。此列表中缺少一些块:

 0 16 *
 0 15 *
 0  7 *
 0  1 *
13  3 0
13  5 *
13 10 *
13 16 *
 6 17 0

这是否意味着这些块不存在?

虽然缺少文档,但通过检查 Yosys/arachne-pnr/Icestorm 流程生成的比特流,我能够推断出 iCE40-HX1K-TQ144 和 iCEstick 评估板上使用的引脚的以下对应关系:

 0  8 1 ->  21 (PIO3_00 / clock)
 4  0 0 ->  44 (PIO2_10 / J3 10)
 4  0 1 ->  45 (PIO2_11 / J3 9)
 5  0 0 ->  47 (PIO2_12 / J3 8)
 5  0 1 ->  48 (PIO2_13 / J3 7)
 7  0 1 ->  56 (PIO2_14 / J3 6)
 8  0 1 ->  60 (PIO2_15 / J3 5)
 9  0 0 ->  61 (PIO2_16 / J3 4)
 9  0 1 ->  62 (PIO2_17 / J3 3)
13  3 1 ->  78 (PIO1_02 / Pmod 1)
13  4 0 ->  79 (PIO1_03 / Pmod 2)
13  4 1 ->  80 (PIO1_04 / Pmod 3)
13  6 0 ->  81 (PIO1_05 / Pmod 4)
13  6 1 ->  87 (PIO1_06 / Pmod 7)
13  7 0 ->  88 (PIO1_07 / Pmod 8)
13  7 1 ->  90 (PIO1_08 / Pmod 9)
13  8 0 ->  91 (PIO1_09 / Pmod 10)
13  9 1 ->  95 (PIO1_10 / D5)
13 11 0 ->  96 (PIO1_11 / D4)
13 11 1 ->  97 (PIO1_12 / D3)
13 12 0 ->  98 (PIO1_13 / D2)
13 12 1 ->  99 (PIO1_14 / D1)
13 14 1 -> 105 (PIO1_18 / TXD)
13 15 0 -> 106 (PIO1_19 / RXD)
13 15 1 -> 107 (PIO1_20 / SD)
12 17 0 -> 113 (PIO0_03 / J1 4)
12 17 1 -> 112 (PIO0_02 / J1 3)
11 17 0 -> 115 (PIO0_05 / J1 6)
11 17 1 -> 114 (PIO0_04 / J1 5)
10 17 0 -> 117 (PIO0_07 / J1 8)
10 17 1 -> 116 (PIO0_06 / J1 7)
 9 17 0 -> 119 (PIO0_09 / J1 10)
 9 17 1 -> 118 (PIO0_08 / J1 9)

不过,如果可能的话,我想核对一下这些信息。

Does that mean that these blocks don't exist?

这意味着这些块没有连接到实际的 IO 引脚。我假设它们仍然存在于硅片上。但是因为我从来没有看过真正的模具,所以我无从得知。

However, I'd like to cross-check this information if possible.

参见 chipdb-1k.txt 的 .pins tq144 部分。例如:

Your list: 0  8 1 ->  21
My list: 21 0 8 1