我正在使用约西斯来综合我的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调用,然后是clean和write_verilog调用。
我使用的单元格库还提供了TIELO和TIEHI单元,但是合成的Verilog并不包含这些单元格的任何实例,而是仍然显示文字常量,如上面的示例所示。
我可能会编写一个脚本来对合成的netlist进行后处理,以便用库中的TIE*单元实例替换这些文本,但是我想知道我是否可以让Yosys为我这样做,这样的结果如下
TIEHI tiehi_d_inst(.Y(d));用于上面代码中的assign d = 1'b1行。
发布于 2015-10-26 13:08:12
您要查找的命令是hilomap。例如,要映射到具有TIEHI和TIELO输出的Y单元格,可以使用以下内容:
hilomap -hicell TIEHI Y -locell TIELO Y这将为设计中的每个常量位创建一个单独的TIEHI/TIELO单元。使用选项-singleton只创建具有较高扇出量的单个TIEHI/TIELO单元格。
https://stackoverflow.com/questions/33336463
复制相似问题