最上位の verilog モジュールは、myStorm ice40 ボード上の 4 つの LED (「LED1-LED4」というラベルが付いている) の信号を宣言します。
module top (
output [4:1] LED
);
assign LED = 4'b1010;
endmodule
.pcf ファイルでも同じ番号を使用しています。
set_io LED[1] 37
set_io LED[2] 38
set_io LED[3] 39
set_io LED[4] 41
しかし、.blif 出力では、yosys がシグナルの番号を付け直しています。
.model top
.inputs
.outputs LED[0] LED[1] LED[2] LED[3]
...
だからarachne-pnrは文句を言う:
top.pcf:4: fatal error: no port `LED[4]' in top-level module `top'
yosys は、最上位のベクトル ポートが常にゼロから番号付けされることを期待していますか?