Yosys中的传球可以使用哪些有用的属性?

时间:2016-05-26 21:41:07

标签: yosys

Yosys中的传球可以使用哪些最有用的属性?

另外,我想知道你是否可以给我一个例子,使用'setattr'为特定模块(即“counter”)设置'keep_hierarchy'。

1 个答案:

答案 0 :(得分:1)

README File包含最突出属性的列表。 (第" Verilog属性和非标准特征"。)

关于keep_hierarchysetattr:请考虑以下示例代码。

module test(input A, B, output X, Y);
  test_and and_inst (.A(A), .B(B), .O(X));
  test_xor xor_inst (.A(A), .B(B), .O(Y));
endmodule

module test_and(input A, B, output O);
  assign O = A & B;
endmodule

module test_xor(input A, B, output O);
  assign O = A ^ B;
endmodule

显然,下面只会显示一个带有$and$xor门的示意图:

yosys -p 'prep; flatten; opt -purge; show test' test.v

现在,我们可以通过在单元格上设置and_inst属性来防止展平keep_hierarchy

yosys -p 'prep; setattr -set keep_hierarchy 1 test/and_inst; flatten; opt -purge; show test' test.v

或者,我们可以通过简单地在模块本身上设置属性来防止test_and的所有实例变平:

yosys -p 'prep; setattr -mod -set keep_hierarchy 1 test_and; flatten; opt -purge; show test' test.v