微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > VCS后仿遇到Timing violation问题请教

VCS后仿遇到Timing violation问题请教

时间:10-02 整理:3721RD 点击:
我在用VCS后仿过程中遇到一个问题求教下大家:后仿报告中有好多关于$hold的Timing Violation,如下所示:
$hold( posedge CP &&& CDN_SDFCHK: 104415 ns, posedge D:104415 ns, limit:0 ns );
问题出来了,这里显示的精度只到ns级,而sdf文件和所有timescale设置的精度都到1ps,并且实际波形上面显示的也到ps的精度,请问这里显示的精度不够是什么原因造成的?各位前辈有没有遇到过这样的情况?

xie xie

看下编译时有没有设置timesacle

编译选项中设置的 -timescale=10ps/1ps ,而且我将调用的模块内部中timescale参数的time_precision也修改成1ps了( time_unit不变),还是这样

请各位大侠帮忙,这个问题困扰我多久,严重影响了项目进度

-timescale_override编译时设置这个试试能好不,但不推荐

验证环境、rtl网表、sdf文件、后仿库等精度最好一致,

如果用-timescale_override的话对time_unit也进行了强制修改,这样会导致一些库的引用出错,所以我也没这么干;
我目前所采用的办法是,对VCS参数和调用到的文件中的time_precision都统一改成1pn,而且我在VCS编译选项中也加上了-diag timesccle选项,在打印的log文件中排查了一下,的确都已经统一成1ps了,但是不行,不知道还有那些地方会影响到?

我还有一个问题想请教一下您:因为我程序中复位需要很长时间,光复位就需要跑两天时间,很浪费时间。vcs有没有类似checkpoint功能,就是在某一时刻把仿真的数据保存下来,后面可以直接从此处接着往下跑的功能?

谢谢您,好人一生平安!

1、如果能找到synopsis的fae,让他们支持一下。
2、同样也可以让fae帮忙分析下,给出优化方向。
不清楚为什么你的复位阶段需要跑2天,复位需要很长时间吗?为什么需要这么长时间,能否缩短。
你指的仿真数据指的波形、log等吗,这些可以阶段保存的,跳过你复位的阶段

可能有真的violation, sta过了么



因为在进入复位、上电、离开复位每个过程都等了50个arm指令周期,而且vcs DUMP的波形特别大,所以严重影响仿真速度。所以,我现在想知道有没有办法下一次仿真的时候,从中间某一(复位之后)时刻开始仿真?synopsys的人已经好久没见到了,(⊙﹏⊙)b.....

STA过了

复位阶段多少ns?50个指令周期应该也不长呀。vcs波形后仿是比较大
在环境里加延迟,等过了复位阶段再启动环境工作,uvm的话可以放在reset_phase阶段。dump波形可以控制dump波形的时刻,复位阶段不dump波形

第1个问题你看看报出错那个文件设置的timescale为多少?

好东东啊

前面说的显示不到ps级的问题解决了,在TB里面加了这样一句:$timefomat(-9, 3, "ns", 10);

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

网站地图

Top