老大们,请教问题(QUARTUS里面的Clock skew>data delay)

[复制链接]
6679|3
 楼主| 雪舞风华 发表于 2007-5-2 20:20 | 显示全部楼层 |阅读模式
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;问题描述:<br />在编译某个模块时出现这个问题:<br />Not&nbsp;operational:&nbsp;Clock&nbsp;Skew&nbsp;&gt&nbsp;Data&nbsp;Delay&nbsp;c3123456:inst|C36:inst1|inst102&nbsp;&nbsp;&nbsp;&nbsp;c3-123456:inst|C3-6:inst1|inst118&nbsp;&nbsp;&nbsp;&nbsp;PA14&nbsp;&nbsp;&nbsp;&nbsp;PA14&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;&nbsp;&nbsp;&nbsp;1.600&nbsp;ns<br />Not&nbsp;operational:&nbsp;Clock&nbsp;Skew&nbsp;&gt&nbsp;Data&nbsp;Delay&nbsp;&nbsp;&nbsp;&nbsp;c3-123456:inst|C3-6:inst1|inst98&nbsp;&nbsp;&nbsp;&nbsp;c3-123456:inst|C3-6:inst1|inst114&nbsp;&nbsp;&nbsp;&nbsp;PA14&nbsp;&nbsp;&nbsp;&nbsp;PA14&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;&nbsp;&nbsp;&nbsp;3.200&nbsp;ns<br />Not&nbsp;operational:&nbsp;Clock&nbsp;Skew&nbsp;&gt&nbsp;Data&nbsp;Delay&nbsp;&nbsp;&nbsp;&nbsp;c3-123456:inst|C3-6:inst1|inst100&nbsp;&nbsp;&nbsp;&nbsp;c3-123456:inst|C3-6:inst1|inst116&nbsp;&nbsp;&nbsp;&nbsp;PA14&nbsp;&nbsp;&nbsp;&nbsp;PA14&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;&nbsp;&nbsp;&nbsp;3.200&nbsp;ns<br />Not&nbsp;operational:&nbsp;Clock&nbsp;Skew&nbsp;&gt&nbsp;Data&nbsp;Delay&nbsp;&nbsp;&nbsp;&nbsp;c3-123456:inst|C3-6:inst1|inst&nbsp;&nbsp;&nbsp;&nbsp;c3-123456:inst|C3-6:inst1|inst112&nbsp;&nbsp;&nbsp;&nbsp;PA14&nbsp;&nbsp;&nbsp;&nbsp;PA14&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;&nbsp;&nbsp;&nbsp;3.200&nbsp;ns<br />Not&nbsp;operational:&nbsp;Clock&nbsp;Skew&nbsp;&gt&nbsp;Data&nbsp;Delay&nbsp;&nbsp;&nbsp;&nbsp;c3-123456:inst|C3-6:inst1|inst104&nbsp;&nbsp;&nbsp;&nbsp;c3-123456:inst|C3-6:inst1|inst120&nbsp;&nbsp;&nbsp;&nbsp;PA14&nbsp;&nbsp;&nbsp;&nbsp;PA14&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;&nbsp;&nbsp;&nbsp;4.000&nbsp;ns<br />Not&nbsp;operational:&nbsp;Clock&nbsp;Skew&nbsp;&gt&nbsp;Data&nbsp;Delay&nbsp;&nbsp;&nbsp;&nbsp;c3-123456:inst|C3-6:inst1|inst106&nbsp;&nbsp;&nbsp;&nbsp;c3-123456:inst|C3-6:inst1|inst122&nbsp;&nbsp;&nbsp;&nbsp;PA14&nbsp;&nbsp;&nbsp;&nbsp;PA14&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;&nbsp;&nbsp;&nbsp;5.600&nbsp;ns<br />Not&nbsp;operational:&nbsp;Clock&nbsp;Skew&nbsp;&gt&nbsp;Data&nbsp;Delay&nbsp;&nbsp;&nbsp;&nbsp;c3-123456:inst|C3-6:inst1|inst108&nbsp;&nbsp;&nbsp;&nbsp;c3-123456:inst|C3-6:inst1|inst124&nbsp;&nbsp;&nbsp;&nbsp;PA14&nbsp;&nbsp;&nbsp;&nbsp;PA14&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;&nbsp;&nbsp;&nbsp;5.600&nbsp;ns<br />Not&nbsp;operational:&nbsp;Clock&nbsp;Skew&nbsp;&gt&nbsp;Data&nbsp;Delay&nbsp;&nbsp;&nbsp;&nbsp;c3-123456:inst|C3-6:inst1|inst110&nbsp;&nbsp;&nbsp;&nbsp;c3-123456:inst|C3-6:inst1|inst126&nbsp;&nbsp;&nbsp;&nbsp;PA14&nbsp;&nbsp;&nbsp;&nbsp;PA14&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;&nbsp;&nbsp;&nbsp;None&nbsp;&nbsp;&nbsp;&nbsp;5.600&nbsp;ns<br />产生如下警告:Warning:&nbsp;Circuit&nbsp;may&nbsp;not&nbsp;operate.&nbsp;Detected&nbsp;8&nbsp;non-operational&nbsp;path(s)&nbsp;clocked&nbsp;by&nbsp;clock&nbsp;&quot;PA13&quot;&nbsp;with&nbsp;clock&nbsp;skew&nbsp;larger&nbsp;than&nbsp;data&nbsp;delay.&nbsp;See&nbsp;Compilation&nbsp;Report&nbsp;for&nbsp;details.<br />在帮助文件下查得该警告信息为:<br />CAUSE:&nbsp;The&nbsp;clock&nbsp;skew&nbsp;of&nbsp;the&nbsp;specified&nbsp;number&nbsp;of&nbsp;non-operational&nbsp;path(s),&nbsp;clocked&nbsp;by&nbsp;the&nbsp;specified&nbsp;clock&nbsp;between&nbsp;two&nbsp;registers,&nbsp;is&nbsp;greater&nbsp;than&nbsp;the&nbsp;delay&nbsp;between&nbsp;the&nbsp;same&nbsp;two&nbsp;registers&nbsp;plus&nbsp;the&nbsp;tCO&nbsp;and&nbsp;tSU.&nbsp;As&nbsp;a&nbsp;result,&nbsp;the&nbsp;circuit&nbsp;may&nbsp;not&nbsp;operate.&nbsp;In&nbsp;addition,&nbsp;this&nbsp;warning&nbsp;may&nbsp;appear&nbsp;if&nbsp;either&nbsp;the&nbsp;source&nbsp;register&nbsp;or&nbsp;the&nbsp;destination&nbsp;register&nbsp;is&nbsp;controlled&nbsp;by&nbsp;an&nbsp;inverted&nbsp;undefined&nbsp;clock.&nbsp;When&nbsp;this&nbsp;condition&nbsp;occurs,&nbsp;the&nbsp;Timing&nbsp;Analyzer&nbsp;cannot&nbsp;accurately&nbsp;compute&nbsp;the&nbsp;correct&nbsp;hold&nbsp;relationship&nbsp;without&nbsp;a&nbsp;specified&nbsp;clock&nbsp;requirement.&nbsp;<br /><br />ACTION:&nbsp;View&nbsp;the&nbsp;timing&nbsp;analysis&nbsp;results&nbsp;in&nbsp;the&nbsp;Report&nbsp;window&nbsp;and&nbsp;list&nbsp;the&nbsp;specified&nbsp;paths&nbsp;in&nbsp;the&nbsp;Messages&nbsp;window.&nbsp;If&nbsp;possible,&nbsp;correct&nbsp;the&nbsp;clock&nbsp;skew&nbsp;in&nbsp;the&nbsp;design&nbsp;by&nbsp;using&nbsp;internally&nbsp;registered&nbsp;write/read&nbsp;enables,&nbsp;or&nbsp;by&nbsp;adding&nbsp;LCELL&nbsp;primitives&nbsp;to&nbsp;increase&nbsp;the&nbsp;data&nbsp;path&nbsp;delay.&nbsp;If&nbsp;the&nbsp;warning&nbsp;is&nbsp;related&nbsp;to&nbsp;an&nbsp;undefined,&nbsp;inverted&nbsp;clock,&nbsp;Altera&nbsp;recommends&nbsp;defining&nbsp;the&nbsp;clock&nbsp;by&nbsp;specifying&nbsp;clock&nbsp;settings&nbsp;or&nbsp;by&nbsp;specifying&nbsp;a&nbsp;global&nbsp;default&nbsp;required&nbsp;fMAX&nbsp;before&nbsp;rerunning&nbsp;timing&nbsp;analysis.&nbsp;<br />-----------------------我是分割线------------------<br />看这意思是产生该问题的原因是:这个未操作路径的时钟延迟(该时钟产生于两寄存器之间)比两寄存器之间的延迟+Tco+Tsu的总和还大。还有一个原因可能是两寄存器之中有一个是受未定义的时钟信号(已翻转0、)控制,这种情况下,没有指定的时钟,时序分析器无法准确计算正确的保持关系。<br />上面的ACTION是解决办法,但我只看的懂表面意思但不知道更具体的解释,看的云里雾里的,那位老大能不能就此问题提点下小生啊!或许只几句话就能让我云开雾散,谢谢了!
karni 发表于 2007-5-3 23:02 | 显示全部楼层

保持时间不满足问题

从你的现象描述来看,我认为问题可能是由时钟歪斜大于数据延迟从而导致保持时间不满足引起的,解决的方法有:<br /><br />(1)检查你的设计中有没有编译工具无法自动识别的时钟信号(如内部产生的门控时钟),如果有的话对其做时钟约束!<br />(2)选择时序驱动适配,并选择优化所有路径的保持时间!<br />(3)检查设计中有没有锁存器,如果有尽可能改为触发器逻辑实现。
 楼主| 雪舞风华 发表于 2007-5-4 14:27 | 显示全部楼层

谢谢楼上的!

&nbsp;&nbsp;&nbsp;TO:karni大大,<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;谢谢你半夜都给我回了帖子解答问题,我要握住你的手狠狠摇几下&nbsp;:)<br />&nbsp;我这就去做看看!
buqibushe 发表于 2007-5-6 19:00 | 显示全部楼层

出现你这种问题,有两种情况:<br />1就是二楼说的;<br />2这是正常的:这在结构化设计当中尤为多见,这并非设计本身的缺陷,而是由于Quartus&nbsp;II把无关的伪路径也拉出来分析了,当你的设计下载到芯片后能够正常工作就说明是这种情况.要消除它你必须对伪路径有较好的认识,在软件中指定不分析该路径就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

16

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部