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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 15638|回复: 32

[求助] 急!!STA和形式验证都过了,后仿却报出了关于recrem的时序违例

[复制链接]
发表于 2020-11-14 15:36:45 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 ZHZIC 于 2020-11-14 15:37 编辑

STA和形式验证都过了之后,我用VCS进行后仿,报了很多关于recrem的时序违例,具体的语句是下面这样子:
"/home/IC/Desktop/work/tamc18_std_cell/tcb018gbwp7t_290a/TSMCHOME/digital/Front_End/verilog/tcb018gbwp7t_270a/tcb018gbwp7t.v", 5136: Timing violation in tb_top_spi.u_top_spi.master.master_ctrl.cstate_reg_0_
    $recrem( posedge CDN:4000799, posedge CP:4000441, limits: (-71,706) );
输出波形显示如下::
image.png
不知道这种时序违例应该怎么解决啊,需要去哪里找出问题?明明STA已经验证了的啊,为什么后仿还会出问题。。。
还有这个recrem是什么意思?
对了,我用PT写sdf文件的选项是这样的:
write_sdf -context verilog -significant 4 $OUT_PATH/${WORKING_DESIGN}_setuphold_recrem.sdf -version 3.0 -include {SETUPHOLD RECREM}
PT在写sdf文件的时候,出现了一个warning:
Warning: The sum of the setup and hold values in the cell 'slave/slave_shift_reg_8_' for the arc between pins 'CPN' and 'D' is negative, which is not allowed. To make it positive, the minimum hold value has been adjusted from 0.089503 to 0.100946.  (SDF-036)
不知道有没有影响。
跑VCS时的选项如下:
vcs -R -full64 -fsdb -f flist.f -l top_spi.log -timescale=1ns/1ps +neg_tchk -negdelay +define+NTC+RECREM
因为马上要流片了,有没有前辈帮忙看一下啊,非常感谢
image.png


 楼主| 发表于 2020-11-14 16:26:48 | 显示全部楼层
求帮忙
 楼主| 发表于 2020-11-14 18:41:38 | 显示全部楼层
顶一下,好像要沉了
求帮忙
发表于 2020-11-14 20:39:41 | 显示全部楼层
本帖最后由 thjan65 于 2020-11-14 20:44 编辑

$recrem( posedge CDN:4000799, posedge CP:4000441, limits: (-71,706) );表示min: -71ps, max:706ps, 但實際為 799-441=358 << 706
所以應該把CDN posedge 再往後延遲約 350ps 就足夠, 實際上考量eco, 1ns以上會好一點




发表于 2020-11-14 21:11:20 | 显示全部楼层


thjan65 发表于 2020-11-14 20:39
$recrem( posedge CDN:4000799, posedge CP:4000441, limits: (-71,706) );表示min: -71ps, max:706ps, 但 ...


问题很容查出来,关键是为什么你的STA会差距这么多? 这个才是关键的,因为这个是你signoff的标准,如果这个都不可信,你还敢投片么?
 楼主| 发表于 2020-11-14 22:26:54 | 显示全部楼层


phoenixson 发表于 2020-11-14 21:11
问题很容查出来,关键是为什么你的STA会差距这么多? 这个才是关键的,因为这个是你signoff的标准,如果 ...


流程还不是很熟悉。。。
STA的时候,约束用的跟综合的时候是差不多的。不知道这里会不会有问题
icc吐出来了两个spef文件和sdc文件,我也不知道对不对。。。

 楼主| 发表于 2020-11-14 22:31:11 | 显示全部楼层
本帖最后由 ZHZIC 于 2020-11-14 22:32 编辑


thjan65 发表于 2020-11-14 20:39
$recrem( posedge CDN:4000799, posedge CP:4000441, limits: (-71,706) );表示min: -71ps, max:706ps, 但 ...


你好,我在测试文件里改了一下复位信号转换的时间,跟时钟信号错开之后,虽然还是会报时序的违例,但后仿对了
这好像是个异步时钟时钟和复位之间的时序违例,我从综合到STA,复位信号就一直是false_path,是不是因为这个才检查不到这里的约束
不知道这个问题我应该怎么办了,可以不管吗
发表于 2020-11-14 22:31:40 | 显示全部楼层
本帖最后由 jake 于 2020-11-14 10:03 编辑

如果实际使用场景里复位和时钟的关系能保证和你后仿里的一致,可以 ignore。 如果不能保证,建议重做设计。

 楼主| 发表于 2020-11-15 01:38:22 | 显示全部楼层


jake 发表于 2020-11-14 22:31
如果实际使用场景里复位和时钟的关系能保证和你后仿里的一致,可以 ignore。 如果不能保证,建议重做设计。 ...


谢谢你们的建议,可能要重新设计了
从rtl到版图,我的复位一直都是不考虑的,都是设成false_path的,一直以为异步电路复位是不需要考虑的,之前没听过recovery和removel,是我想的太简单了,这个复位应该是没法控制与时钟的关系的,实际的情况我就打算做一个按键,人为的控制。
想问一下,这个复位和时钟的约束应该怎么设置,是在rtl代码里就需要写好吗?不知道应该怎么写


 楼主| 发表于 2020-11-15 02:09:53 | 显示全部楼层


jake 发表于 2020-11-14 22:31
如果实际使用场景里复位和时钟的关系能保证和你后仿里的一致,可以 ignore。 如果不能保证,建议重做设计。 ...


image.png
这是cstate_reg_0_那个cell的波形,上面两个是时钟和复位,下面两个就是输入和输出了。这是一个状态机,输入其实也是由另一个flop的输出控制的,定位的话,绕了一圈就回来了。感觉是时钟和复位同时上升造成的,我把复位向后挪0.5ns之后,波形图就对了。
看了下这个点的约束:
image.png
可以看到确实是没有约束的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-8 03:24 , Processed in 0.033398 second(s), 8 queries , Gzip On, Redis On.

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