|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
我现在还有一个问题想向大家请教:
就是多时钟周期约束的负面作用是什么?
真正在硬件上进行时序检查,我发现用的最多的就是多时钟周期约束,setup不满足,就根据setup见红的时间大小宽松几个相应的时钟周期,同理对于hold不满足,就根据hold见红的时间大小宽松几个相应的时钟周期;我的说法没有问题吧。
副作用:约束错误了怎么办(只是简单的把见红的地方约束没有了)?我遇到的问题是功能仿真效果挺好的,跑到板子上抓一下波形,简直错的离谱,我怀疑是约束造成了严重的问题,另外我正在筹划重新功能仿真一下,因为我有做程序移植。
点开report timing summary,接着点开见红的setup(假设见红setup是-1.75ns),对应的有问题的路径一般会有好多条,选择第一个有问题的路径,右击选择set multiple path,下级菜单又有两个选项,第一个是startpoint to endpoint,另一个是source clk to destination clk,该选哪个呢,我感觉选source clk to destination clk麻烦少一些,我选了source clk to destination clk之后出现一个对话框,这里又有分流,source clk 和 destination clk是不是同一个时钟(假设时钟同步),是同一个时钟的情况下,假设这个时钟周期是0.5ns,那么显然setup 应该设置成4(setup宽松3个时钟周期),由于是同一个时钟所以start 和end选项没有意义,之后再点第一条路径把hold设置成3(hold宽松3个时钟周期,有没有必要呢,hold不红的话),之后应用观察是否约束成功了。假如是慢到快时钟加一个end就行了,快到满加一个start就行了,但是应该把setup 还有hold设置成多少才对呢?
时序约束一直无法很好的 理解,希望有大神给高屋建瓴的讲一下,结合我上面提到的应用中遇到的问题。
|
|