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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 14740|回复: 12

[讨论] 讨论下STA analysis时的一个Error

[复制链接]
发表于 2012-9-19 17:01:00 | 显示全部楼层 |阅读模式

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

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

x
我的设计中有这样特点,如下所述:
时钟结构为:

时钟结构

时钟结构


这里IP输出的时钟可以两个可供变化的时钟,可以输出100M和50M,但是在ICG的输出端我们只希望输出一个准确的时钟,如50M,所以采用ICG中的Enable信号来控制,但是我需要在综合约束时,ClkG是按照50M去约束(因为这个时钟后面接的很多模块跑不到100M),而ClkS是按照100M去约束。(因为ClkS还需要给其他模块使用)。

我的约束为:

create_clock [get_pins uIP/ClkOut] -name ClkS -period 10 -waveform {0 5}

create_generated_clock [get_pins uICG/uCKLNQHVTD4/Q]  -name ClkG  -source [get_pins uIP/ClkOut]  -master_clock ClkS  -divide_by 2  -add


在综合的时候没有报出任何关于这个时钟定义的error或warning,且拿综合网表进行STA时也没有报出任何error和warning。但是在进行PR时,却报出这样的错误。
**ERROR: (TA-152):  A latency path from the 'Rise' edge of the master clock 'ClkS' at source pin uIP/ClkOut' to the 'Fall' edge of generated clock 'ClkG' at pin uICG/uCKLNQHVTD4/Q' cannot be found. You must modify your create_generated_clock constraint to be consistent with the network topology. The analysis will continue using 0ns source latency for generated clock 'ClkG'. For backward compatibility with earlier releases or to remove the edge-to-edge sufficiency checking, you should set the global 'timing_enable_genclk_edge_based_source_latency' to false

我没有去管这个error,生成PR网表,用这个网表使用PrimeTime进行STA时,发现也有报下面的error:
Error: Generated clock 'ClkG with source pin uICG/uCKLNQHVTD4/Q' 'fall_edge' is not satisfiable; zero source latency will be used. (UITE-461)

初步分析了下。由于我是在ICG后面定义的时钟,而且ICG是能够直接穿过时钟的,因此,即使定义时钟也不需要divide_by 2的。所以导致这里出现这个error?但是由于我的电路设计特点要求我在ICG的后面定义一个ClkS(100M)的二分频时钟,且ClkS也需要定义为100M,这个时钟应该怎么定义呢?

还有在STA分析时出现这个error是否有影响?因为我在时序报告时,发现时钟路径上是有从IP输出端经过ICG再到后面逻辑模块的时钟路径,所以看起来是不是不影响时序分析?

求帮助?
发表于 2012-9-20 10:52:25 | 显示全部楼层
图上传有问题,看不清!
 楼主| 发表于 2012-9-21 15:33:24 | 显示全部楼层
我也不知道图为什么上传成这样,我再描述下吧,我的电路中IP产生一个时钟源(它可以产生两个时钟频率,一个是100M,另一个是50M),这个时钟源头的时钟经过一个ICG给后面的逻辑模块使用,但是由于后面的逻辑模块不能工作在100M,所以不能按照100M去约束它,所以需要在ICG这个地方进行分频。注意这里的ICG的使能信号可以监测到IP输出的时钟是100M还是50M,如果是50M,那么ICG就不会进行分频,否则输出100M时,就通过ICG的使能信号产生一个分频的时钟,这是我们SOC上的应用,所以我这个地方就需要在ICG的后面定义为IP输出时钟的二分频。结果就出现了上述的ERROR。
大家有遇到这样的问题吗?
发表于 2015-5-6 15:16:07 | 显示全部楼层
求问最后解决没有呀,也是一样的问题,不知道从哪里改
发表于 2015-5-6 19:46:00 | 显示全部楼层
IP处创建50、100两个时钟,ICG处以IP50为Master Gen一个Comb时钟,100的时钟就自动不穿透ICG了。
发表于 2015-5-6 21:00:13 | 显示全部楼层
icg 挡不住clk穿过去的,因此icg后面没必要创建generated clk,

前端总是希望clk越多描述的越清楚,但是后端希望clk越少越好,尽量简化
发表于 2015-6-26 18:19:51 | 显示全部楼层
遇到同样的问题,该怎么破呢? 头疼!
发表于 2015-6-26 18:53:21 | 显示全部楼层
回复 1# Syn2012


    后来怎么样了呢?
发表于 2015-6-27 22:34:27 | 显示全部楼层
试试create_generated_clock 的选项 -combinational,还有你定义的generated_clock不需要-add,这个选项是在同一个object上定义多个时钟才需要。
发表于 2019-7-10 11:05:18 | 显示全部楼层
楼主,这个问题最后如何解决的?我也遇到了同样的问题,采用的约束是dc后write_sdc导出来的,自动加的-add,我手动添加的master_clock,报上面的错误好像是说主时钟和generated时钟之间的逻辑无法实现对应的分频,目前我直接略过了对应的错误,不知道对后面有没有影响。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2025-2-12 18:17 , Processed in 0.029189 second(s), 9 queries , Gzip On, Redis On.

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