微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > R请教:non_sequential checks 如何约束?

R请教:non_sequential checks 如何约束?

时间:10-02 整理:3721RD 点击:
小弟在综合时,综合出同时带set和reset端的dff,在lib库中这个cell的set端有一个timing_type为non_seq_setup-rising,他的related_pin为RDN,所以工具在report-timing时会 认为SDN端是data path,RDN端为clk path这样去检查时序。
而且工具综合时会报这个warning:the following endpoints are not constrainted for maximum delay,请哪位大侠指点一下 这样的路径需要怎么约束啊?
话说有个set_data_check的约束是约束任意两个pin的数据检查,感觉库里定义了这个timing_type就类似于set-data-check了
那请各位发表一下意见

1 、non-sequential checks is specified as part of the cell library specification and no explicit data to data check constraint is required.
2、a non-sequential check only be applied to pins of a cell, whereas a data to data check can be applied to any two arbitrary pins in a design.

我们做设计的时候也遇到过这个问题。有两种解决方法:
1. 重新综合,把那种类型的DFF,设为dont_use。
2. 这种路径我们PM说是false path,因为set 和reset不会同时有效的,设为false_path 。

感谢楼上的解答,第一种方法我已经试验过了,结果无法mapping,所以必须要使用这种类型的dff。
针对第二种方法,因为两个端都是异步端,在rst状态下(这两端只有在rst状态下才有效),在稳定状态下两端只会有一端有效,但是在稳定之前两端也是不稳定的,这时q端的输出也会抖动一段时间吧,这种影响大不大啊
还有你们设置为false_path 后来没有问题吧?
我们的寄存器reset和set两端接的都是一团逻辑的结果,和你们的设计相似吗,这种也可以设置false_path吗
望多指教感谢!

“这时q端的输出也会抖动一段时间吧,这种影响大不大啊”这个关系不大吧,满足时序要求就可以了。
我们这边改了coding。后来没有用false_path的方法,但是这个方法绝对可行的。
我们这边的 set 和rest 都是从 set和rest DFF 出来的,理论上 组合逻辑在这种DFF前面。

请问采用如下设置是不是就可以了:

Set_false_path –to [get_pins q-reg*/SDN]

Set_false_path –to [get_pins q-reg*/RDN]

另外,我还有个问题请教,上面两行的pt读进去的约束文件里是没有问题的,因为这时网标中都是标准单元的器件,但是在综合时,我们是在compile之前把约束文件source进去的,这时还没有mapping到标准单元,如果这时采用get_pins命令肯定就不能像上面那样写了,所以请问:在综合的约束文件中如果想使用get——pins命令需要怎么指定pin啊。

我试验过不用compile综合一个网标,按那个网标中cell的名字和pin去指定也不可以

综合的时候,你管它做什么。 用 -from -to 来约束,你上面两行会把有用的路径也约束到了。

请教一下,如果不管的话,就会有没有被约束到的endpoints,这些没有被约束到的终点也可以不管吗?

对于同时带有Set和Reset的时序单元两个信号可以同时有效,但有优先级。

请问小编,这个问题最后解决了吗,怎么解决的;多谢了!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top