请教一个DC综合面积优化问题
时间:10-02
整理:3721RD
点击:
在我的设计中有些操作是重复的,于是我把该操作编写成一个module,然后通过调用此模块实现多次操作。我又尝试把每一次操作重复编写,来实现同样的过程。结果发现DC综合出来的面积不一样,后者的面积较小。 请问有什么方法能够使得这两种编写方法综合出来的面积相同?
我重新做了一次DC实验,首先对需要例化的模块进行综合、并写出网表;然后再顶层例化此网表;最后对顶层综合时,我设置了set_dont_dont_touch [get_cells {例化的名字}]。但是综合后的面积还是没有改善。
谢谢!
我重新做了一次DC实验,首先对需要例化的模块进行综合、并写出网表;然后再顶层例化此网表;最后对顶层综合时,我设置了set_dont_dont_touch [get_cells {例化的名字}]。但是综合后的面积还是没有改善。
谢谢!
麻烦走过路过的朋友们发表一下自己的想法!谢谢!
谢谢!不知道小编说的是set_flatten还是no_map;我尝试用no_map以及先把顶层所有的例化模块group然后再ungroup,面积仍然很大;用ungroup_all会小一点,但是仍然比后者面积大
我用的代码如下:
方法一:
module q_sub_10b1(in_a_,
in_b_,
out_
);
input [8:0] in_a_;
input [8:0] in_b_;
output [9:0] out_;
q_add_1b u_q_add_b0(.da(in_a_[0]), .db(b_inv_[0]), .ci(carry_in), .do(out_[0]), .co(carry_b_[0]));
.
.
.
endmodule
module q_add_1b(da,
db,
ci,
do,
co
);
.
.
.
.
endmodule
方法二:
module q_sub_10b2(in_a_,
in_b_,
out_
);
.
.
.
.
endmodule
各位大侠有没有遇到过类似的问题,也有可能顶层模块例化多种子模块,期待高人指点迷津!
也在try这个set_dont_touch [get_cells {例化的名字}