在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 8102|回复: 9

[求助] dc产生的path is unconstrained问题

[复制链接]
发表于 2017-5-25 10:55:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
dc后查看报告的时候手动报了一下input ports的timing,发现是unconstrained,不知道各位有没有遇到过这种问题,最后是怎么解决的,我把相关信息贴出来:
Startpoint: m_jtag_tms (input port clocked by V_CLK)
Endpoint: U_MCU_mcore/U_Mice/tms1_reg
                (rising edge-triggered flip-flop clocked by M_CLK)
Path Group: (none)
Path Type:max

Des/Clust/Port                   Wire Load Model                  Library
-----------------------------------------------------------------
mcu_top                           Small                                  umc65

Point                                                                                            Incr                 Path
--------------------------------------------------------------------------------------------
input external delay                                                                       2.50                 2.50 f
m_jtag_tms (in)                                                                            0.00                 2.50 f
U_mcu_mcore/jtag_tms  (soc_mcu_mcore)                                      0.00                 2.50 f
U_mcu_mcore/U_MICE/TMS (a9sMICE_1)                                         0.00                 2.50 f
U_mcu_mcore/U_MICE/U4/Z  (CKMUX2VHSV2)                                 0.53                 3.03 f
U_mcu_mcore/U_MICE/tms1_reg/D  (DSNVHSV2_T0)                        0.00                 3.03 f
data arrival time                                                                                                     3.03
---------------------------------------------------------------------------------------------
(Path is unconstrained)

路径就是上面那样,是V_CLK和M_CLK之间需要设置一些约束吗,设置异步或者同步? 我没有把这两个时钟设成false_path,不知道为什么会产生那样的问题,还是脚本中某个环境变量出现了错误,希望各位帮忙解决一下,或者碰到这些该用什么思路去解决,谢谢
 楼主| 发表于 2017-5-25 22:28:33 | 显示全部楼层
不要沉阿,大家帮忙分析分析
发表于 2017-5-26 09:04:17 | 显示全部楼层
你没有把V_CLK和M_CLK设置为false_path,也不意味着一定是同步的。V_CLK和M_CLK如果都是create_clock,那默认就是异步的,不需要分析时序。

你确认m_jtag_tms是V_CLK域下的信号么?
 楼主| 发表于 2017-5-26 15:47:21 | 显示全部楼层
回复 3# 杰克淡定


     您说的“你确认m_jtag_tms是V_CLK域下的信号么”,我用V_CLK去约束它,是不是就是V_CLK域下的信号?还是得看这个Input是不是连到寄存器上,这时,这个信号就该是那个寄存器的CK端时钟的域下?可能概念还有点模糊,请教请教!
发表于 2017-5-26 16:46:59 | 显示全部楼层
本帖最后由 杰克淡定 于 2017-5-26 17:05 编辑

回复 4# take1115

input port是来自于其他模块的信号,它是哪个时钟域下产生的你就应该关联到哪个时钟上,不能以它在本模块被哪个时钟域使用来决定,否则约束就不真实了。

如果本来是clka域下的input port, 你的input delay约束把它关联到clkb下,它在本模块与clka下的路径都会错误地变成false path。这种错误会使本该有的约束遗漏而导致时序出错设计fail。

如果本来是clka域下的input port, 你的input delay约束把它关联到clkb下,它恰好在本模块是被clkb域使用的,那就将原本不需要分析的false path变成了有约束路径。这种错误不会导致设计出错,但做了无用功。
 楼主| 发表于 2017-5-31 23:04:47 | 显示全部楼层
回复 5# 杰克淡定


    "input port是来自于其他模块的信号,它是哪个时钟域下产生的你就应该关联到哪个时钟上,不能以它在本模块被哪个时钟域使用来决定,否则约束就不真实了。"第一句话我理解成这个input port是别的模块输出然后输入到另外的模块里,可以这么理解吧?
    然后我有个疑问就是假设有个input port它就是从chip外进来的input呢?它进去的第一个模块,它的时钟是不是就是属于这个模块的时钟域?有些牛角尖和概念没掰过来,恳请相教
    想问问你对这些深入细致概念的掌握,是日积月累从实际做项目得来,还是阅读大量相关书籍得来,希望得到指教!

   
发表于 2017-6-1 08:56:53 | 显示全部楼层
回复 6# take1115


   是的,我上面说的input port那段,更加适用于chip内的模块综合。对于整chip而言,模块之间的信号都成了内部信号,只有pin上的信号会存在input/output delay的约束,那就去看这些信号到相关模块的时序要求。整chip综合约束,除了input/output delay约束,比较重要的一般是信号之间delay的balance,特别是对一组高速bus
 楼主| 发表于 2017-6-1 10:36:37 | 显示全部楼层
回复 7# 杰克淡定


    明白明白,十分感谢!
发表于 2018-1-9 10:11:44 | 显示全部楼层
好吧!
发表于 2018-7-17 20:39:19 | 显示全部楼层
回复 1# take1115


    good
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-29 14:53 , Processed in 0.029663 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表