我是靠谱客的博主 傲娇棒棒糖,最近开发中收集的这篇文章主要介绍综合里dont_use/dont_touch/ideal_network的理解dont_usedont_touchideal_network,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

先简单记录一下自己的理解,下一步看看官方文档的描述。

文章目录

  • dont_use
  • dont_touch
  • ideal_network

dont_use

部分单元库的单元,由于工艺、性能功耗面积等原因,工艺厂商建议或者后端建议,不要使用的单元。在综合步骤设置dont_use属性,就可以避免综合使用这些单元。

dont_touch

对目标模块,设置dont_touch属性。会使得该目标模块,不进行任何优化。
常见,
比如已经综合完成的IP,在系统综合的时候,对IP模块设置dont_touch属性。不再对该IP进行任何综合优化,大大节省系统综合时间,避免不必要的结果检查。
比如时钟网络,不关心时钟的负载,所以前端综合不要求加buffer。后端加时钟树时,才会把这个dont_touch属性去掉。

ideal_network

使得目标的电阻电容都是0,而且cell和net都会dont_touch,都是0延迟。比dont_touch更野蛮,ideal_network不再计算延迟。
DC官方文档《Synopsys® Timing Constraints and Optimization User Guide Version M-2016.12, December 2016》中,介绍ideal_network的原文如下:

An ideal network is a network of cells, nets, and pins that are exempt from timing updates,
timing optimization, and DRC fixing. For objects in an ideal network, the max_capacitance,
max_fanout, and max_transition design rules are ignored. As a result, runtime and timing
optimization are improved.

综上所述,设置ideal_network,免除时序相关的分析和优化、取消相关约束(Design Rule Constaints,比如max_capacitance,
max_fanout, and max_transition等)。

默认set_ideal_network具有传播性,传播直到遇上时序单元或者boundary cell【多输入的cell,其中有一个输入来源没有ideal属性,则称之为boundary cell】。比如下述两例。
这里写图片描述
这里写图片描述

最后

以上就是傲娇棒棒糖为你收集整理的综合里dont_use/dont_touch/ideal_network的理解dont_usedont_touchideal_network的全部内容,希望文章能够帮你解决综合里dont_use/dont_touch/ideal_network的理解dont_usedont_touchideal_network所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(81)

评论列表共有 0 条评论

立即
投稿
返回
顶部