Yosys中的传球可以使用哪些最有用的属性?
另外,我想知道你是否可以给我一个例子,使用'setattr'为特定模块(即“counter”)设置'keep_hierarchy'。
答案 0 :(得分:1)
README File包含最突出属性的列表。 (第" Verilog属性和非标准特征"。)
关于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
现在,我们可以通过在单元格上设置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