浅谈IC设计中影响Design Compiler综合结果的因素

之前的文章中,我们介绍了在IC设计过程中,不同的module划分对综合得到的netlist的影响,并且比较了三个不同的module划分。今天我们继续谈其他影响DC综合结果的因素。

浅谈IC设计中影响Design Compiler综合结果的因素

module寄存器输出

浅谈IC设计中影响Design Compiler综合结果的因素

图一 较好的module划分

在之前的文章中,我们得出结论,如图一所示的为较好的module划分,上图的一个特点是,module的输出,都是以寄存器输出。以上module划分,不仅便于Design Compiler做优化,并且也利于时序约束。

但是在实际工作中,我们可能写出如下图所示的电路:

浅谈IC设计中影响Design Compiler综合结果的因素

图二 胶合逻辑

module A、module B、module C三个模块之间,通过一个与门连接在一起,这种我们称之为胶合逻辑。通过前面的分析可以知道,因为这个与门,会影响DC对module B的优化

我们可以通过修改电路,将与门合并到module B内部,具体电路如下图所示:

浅谈IC设计中影响Design Compiler综合结果的因素

图三 合并与门之后的电路

通过修改电路,消除胶合逻辑。如果module A,module B,module C组成TOP,则整个电路的TOP只是各个module的连线,不会有逻辑门的影响。

另外这样的TOP,还有一个好处是,在DC合成过程中,如果选择bottom-up(另外一种是top-down)综合策略,在修改某个module之后,可以只编译修改之后的module,而不需要编译整个TOP,减少编译时间。

浅谈IC设计中影响Design Compiler综合结果的因素

不同部分的逻辑应该分开处理

芯片一般由以下几部分构成:

以上部分里面,DC能够处理只有同步逻辑电路,其他部分已经超出DC的处理范畴。

浅谈IC设计中影响Design Compiler综合结果的因素

group与ungroup的使用

上面的谈到的这些方面,都是需要我们在编写RTL,就必须要注意的。其实在DC综合过程中,还有一些DC命令,也可以帮助我们得到更优的综合结果。比如说group和ungroup这对命令。

group:将两个分散的module,合成一个module,但是两个module间边界依然保留。在综合、优化过程中,当做一个module进行处理。

ungroup:将两个分散的module,合成一个module,两个module间的边界去掉。

小结

我们用连续两篇文章,介绍了在编写RTL时候,应该考虑哪些方面,才能得到更好的DC综合结果,使得电路的面积更小,性能更好。如果您还有其他的方面的经验,欢迎和我进行讨论。


欢迎阅读、点赞、转发、评论。加关注“单眼皮老王”,阅读IC设计、图像处理、ASIC、FPGA、AI等相关文章。

展开阅读全文

页面更新:2024-05-13

标签:寄存器   时序   单眼皮   小结   边界   范畴   时钟   分散   电路   模块   芯片   逻辑   命令   因素   两个   文章   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top