微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > set_false_path问题

set_false_path问题

时间:10-02 整理:3721RD 点击:
最近在论坛看到一个关于set_false_path的问题
有点疑问,
在FAQ中,看到这样一句话,“在设计严格的公司会在分频时钟之间加入set_false_path的约束”
问题:那么,如果存在一些跨域的控制信号需要检测时间,那么这样设置后,不是变成不检测了吗?

我的一个师兄和我说,
可以在dc的时候先set_false_path下,这样可以有比较好的网表
但是在后端布线时的sdc文件就可以把set_false_path去掉。
请问,这样合理吗?

跨域的控制信号用特殊的做法(算法)保证之间的信号正确传递
具体做法每个公司不同
你师兄说的不是不行,只要他可以保证false path下得到的path delay不要太长

那为了“严格的设计”,是不是全部都用set_false_path了?包括APR和sta的所有过程?

小编,我尝试了下,如果我在dc和pr过程都加上了set_false_path的约束,然后在sta过程中,将这个约束注释掉,
之所以这么做是因为我希望在sta时能够查下clk和clk32这两个时钟间的信号关系,然后发现了pt的报告有如下的min delay violation;
trng_data是外部输入,在约束中加了set_input_delay,
rand_data_syn_reg_0_是内部的一个在clk32域下的信号用于锁存外部的trngdata,
报告如下:
Startpoint: trng_data (input port clocked by clk)
Endpoint: digit/control/rand_data_syn_reg_0_
(rising edge-triggered flip-flop clocked by clk32)
Path Group: clk32
Path Type: min
PointIncrPath
------------------------------------------------------------------------------
clock clk (rise edge)0.000000.00000
clock network delay (propagated)0.000000.00000
input external delay0.000000.00000 f
trng_data (in)0.00000 &0.00000 f
digit/control/rand_data_syn_reg_0_/D (QDFFRSBN)0.00024 &0.00024 f
data arrival time0.00024
clock clk32 (rise edge)0.000000.00000
clock network delay (propagated)1.618131.61813
clock uncertainty0.250001.86813
digit/control/rand_data_syn_reg_0_/CK (QDFFRSBN)1.86813 r
library hold time0.012471.88061
data required time1.88061
------------------------------------------------------------------------------
data required time1.88061
data arrival time-0.00024
------------------------------------------------------------------------------
slack (VIOLATED)-1.88036
报告中,基本上可以确定的是,一个input信号()

我比较疑问的是,
如果我没有加上这个set_false_path的约束,从dc一直到pr,sta。那么最后时序分析就没有问题;

我不太明白,这个set_false_path到底有什么作用?
因为按道理,input信号和内部信号(clk32域下)之间的时序也是要查的,那么是不是不应该加上这个set_false_path?
而在FAQ中,又说道,“严格设计”会加上set_false_path,如果设置了不查时序,那怎么会是“严格设计”呢?

我说的“严格设计”不是你理解的那种把应该检查的path 设置成false path
仔细体会2#里面的话
当你以后真正遇到这种设计时,就有体会了

小编,“严格设计”的,meta_stability FF,是通过set_false_path来加的么?
还是说综合的时候要特别做什么操作来加?

小编,这个问题现在有答案了吗?

都要看具体设计的,这个FAQ 也不见得都是全对的,
都是case by case的,

设计要求严格的公司,就算是同步时钟,数据在同步时钟间传送时,依然要用meta-stability FF”就使用set_false_path,前面这句话“依然要用meta-stability FF”该如何理解?

刚开始学习数字后端,请问set_false_path到底是什么?什么情况下这么做?

应该是使用防止亚稳态的那种flop吧, 不是每个库都有的,
你还是根据自己的设计来的, 谁说的都不是金科玉律的教条,包括我,联系实际的项目和需求比较好

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

网站地图

Top