4

我正在使用Yosys来综合我的 RTL 设计,其中包括几个字面常量,例如以下代码中的绑定输出端口:

module my_module (
    input a,
    input b,
    output c,
    output d);

    assign c = a & b;
    assign d = 1'b1;
endmodule

在这种情况下,输出d显然总是合乎逻辑的。我使用的流程包括将abc -liberty my_stdcells.lib组合逻辑映射到库提供的标准单元的调用,然后是cleanandwrite_verilog调用。

我使用的单元库也提供了TIELOTIEHI单元,但是合成的 Verilog 网表不包括这些单元的任何实例,而是仍然显示如上例中的字面常量。

我可能可以编写一个脚本来对合成的网表进行后处理,以用TIE*库中的单元实例替换这些文字,但我想知道是否可以让 Yosys 以某种方式为我做这件事,从而产生类似

TIEHI tiehi_d_inst(.Y(d));

对于assign d = 1'b1上面代码中的行。

4

1 回答 1

2

您要查找的命令是hilomap. 例如,要映射到具有输出的单元格,请使用以下内容TIEHITIELOY

hilomap -hicell TIEHI Y -locell TIELO Y

这将为设计中的每个常量位创建一个单独的TIEHI/单元。TIELO使用该选项-singleton仅创建具有更高扇出的单个TIEHI/单元。TIELO

于 2015-10-26T13:08:12.657 回答