用Yosys生成TIE细胞?

时间:2015-10-25 23:51:42

标签: verilog yosys

我正在使用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调用,将组合逻辑映射到库提供的标准单元格,然后是cleanwrite_verilog调用。

我正在使用的单元库也提供TIELOTIEHI单元格,但合成的Verilog网表并不包含这些单元格的任何实例,而是仍然显示文字常量,如示例中所示上方。

我可能会编写一个脚本来处理合成的网表,用库中的TIE*单元实例替换这些文字,但我想知道是否可以让Yosys以某种方式为我做这件事,导致

之类的东西
TIEHI tiehi_d_inst(.Y(d));

代码中的assign d = 1'b1行。

1 个答案:

答案 0 :(得分:2)

您要查找的命令是hilomap。例如,要使用TIEHI输出映射到TIELOY单元格,请使用以下内容:

hilomap -hicell TIEHI Y -locell TIELO Y

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