Yosys 中可与通行证一起使用的有用属性有哪些?
What are the useful attributes that can be used with passes in Yosys?
在 Yosys 中可与通行证一起使用的最有用的属性是什么?
此外,我想知道您能否给我一个使用 'setattr'.
为特定模块(即 "counter")设置 'keep_hierarchy' 的示例
README File 包含最突出属性的列表。 (节 "Verilog Attributes and non-standard features"。)
关于 keep_hierarchy
和 setattr
:考虑以下示例代码。
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
现在我们可以通过在单元格上设置 keep_hierarchy
属性来防止展平 and_inst
:
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
在 Yosys 中可与通行证一起使用的最有用的属性是什么?
此外,我想知道您能否给我一个使用 'setattr'.
为特定模块(即 "counter")设置 'keep_hierarchy' 的示例README File 包含最突出属性的列表。 (节 "Verilog Attributes and non-standard features"。)
关于 keep_hierarchy
和 setattr
:考虑以下示例代码。
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
现在我们可以通过在单元格上设置 keep_hierarchy
属性来防止展平 and_inst
:
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