为什么综合的时候很多寄存器被优化掉了
时间:10-02
整理:3721RD
点击:
各位大侠,我这里有一个代码,一个module里面有8个163bits的寄存器,可是在做DC综合的时候有6个163bits的寄存器都被removed掉了,最后生成的网表中只剩下2个163bits的寄存器了。
在前端仿真的时候这8个寄存器都是用到了,里面的数据都是会变化了的,为什么会被removed掉了了?
先是出现了类似这样的信息
Information: Clock gated cell reg_array/mem_array_T_reg_1 which will be ungated since the clock-gating cell is being removed
然后出现下面这样的信息:
Information: The register 'reg_array/mem_array_A_reg_0' will be removed. (OPT-1207)
Information: The register 'reg_array/mem_array_A_reg_1' will be removed. (OPT-1207)
Information: The register 'reg_array/mem_array_A_reg_2' will be removed. (OPT-1207)
请问我的问题出现在哪里,是我DC综合环境条件设置不对的么?
在前端仿真的时候这8个寄存器都是用到了,里面的数据都是会变化了的,为什么会被removed掉了了?
先是出现了类似这样的信息
Information: Clock gated cell reg_array/mem_array_T_reg_1 which will be ungated since the clock-gating cell is being removed
然后出现下面这样的信息:
Information: The register 'reg_array/mem_array_A_reg_0' will be removed. (OPT-1207)
Information: The register 'reg_array/mem_array_A_reg_1' will be removed. (OPT-1207)
Information: The register 'reg_array/mem_array_A_reg_2' will be removed. (OPT-1207)
请问我的问题出现在哪里,是我DC综合环境条件设置不对的么?
为什么没人回答我
看看compile_seqmap_propagate_constants 这个参数,默认是ture,改false看看
估计是dangling flops吧, 没有用的cell
然后 compile_delete_unloaded_sequential_cells 又是true,
编译去掉没有加载的单元?具体什么意思呢 那是不是一般情况下都要设置成 false 呢