DC时的综合set_dont_use属性
set dont use就是强制综合过程中不使用这些基本单元
不使用的原因很多 可能这种cell的时序不好 或者甚至这种cell有问题
一般都是分析slow corner 所以就设slow 的dont use就可以了
嗯,set_dont_use,要禁用的话,肯定是slow, typical, fast都会禁吧!
1 我看了下我公司的脚本,是把clkbuf clkinv禁掉了
我估计是为了不让dc动时钟,不让它插buf之类,一切留到后端CTS中去弄
仅供参考,我猜的
2 现在用的库就是slow.db,所以禁掉其中的那些单元啊
你怎么知道用其他库的时候就不禁呢?
综合用的是SLOW库,当然是针对slow的,其它两个库只是时序分析的时候用到如HOLD分析
去掉时钟的这些应该是禁止DC对时钟树进行插入,
至于禁用slow库内的一些单元,这与实现的设计有关,有些单元是用来做DFT或者其他的,如果我们不做DFT插入的话就禁用这些单元
禁用部分cell主要考虑是后端处理方便,因此一般也是有后端人员提供禁用cell列表,常见的有latch,pin数量较多的cell,时钟路径专用cell,delay cell等。
这个禁用cell列表只是影响DC工具map,对于手动例化得cell没有影响。
由于DC时只是使用slow库,所以就只需禁用该库中的cell。
其它库一般都是用于时序检查,而不是综合map。
学习了
不对吧。对时钟禁止操作不是一般都用dont touch吗?
谢谢了
通常库里面会有一些x0,x1,x16,x24的cell,这些cell通常不用。另外,一些时钟树上的cell也不希望用在一般的组合逻辑上。还有一些特定功能的cell比如latch也要禁用。
xiexie
感觉还是讲的不够清楚,小编能不能总结一下呢
请问您的意思是,我们最后流片出去的cell选的slow库里的,那为啥不选用fast库的呢
个人认为不是说只禁用slow库里的cell,而是ss、tt、ff中的cell是相同的,可以说就是指示的同一个,只是它们对在不同环境下的参数做了不同的定义,所以只需要禁用一个库中的就好,一般做DC用的ss,所以就禁用了ss的。
Thanks
