3

最上位の 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 は、最上位のベクトル ポートが常にゼロから番号付けされることを期待していますか?

4

1 に答える 1

3

The reason for this is that the Yosys BLIF back-end was not using the hints for start offset and direction (upto/downto) stored in a Yosys Wire object for generating the single-bit net names.

This is now fixed in commit 5c2c78e2dd. Thanks for bringing this to my attention.

Update to latest git head of Yosys and you should get the results that you are expecting.

于 2016-11-23T12:58:34.913 に答える