|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
1、现在我使用encounter布完线后,发现时序收敛,没有违背,并使用encounter中自带的star-rc生成spef文件,导入pt,发现Pt中有几个in2reg的hold违背,经过对比encounter和pt中的相同路径,发现在pt中的clock propagated delay比encounter中的大很多,这里我的时钟是这样的,先是经过IO PAD从外面来的一个时钟源。该时钟源经过2分频后通过一个mux汇总成芯片内部的时钟。
在encounter中观看时钟结构时发现外部时钟源经由buf1。再到分频电路等等最后到芯片内部时钟端点。对比两个工具还发现,对于其他一些standard cell的transition和capacitance都差不多,就是在传播时钟路径上有将近1ns的差别。所以我认为这是由于互连线上的延时引起的。可能是spef存有偏差的原因。在user guild上看到说需要进行qrc来比较rc参数的相关性,之后将star-rc抽取时的scaling factor设置成这个相关性便可以解决这两个工具之间的差别。但是目前我手头没有qrc文件。
所以,我想通过ckECO或者通过Interactive ECO Command来操作。不知道这样可行不?
为了消除in2reg的hold违规,我希望增大时钟源处的buf驱动强度,将buf1替换成更大驱动强度的buf2。我适应ckECO改变单元,但是提示说次数cktree喂fixed状态,不能操作,如果我想进行替换操作,是不是需要使用changeclockstatus,但是我不知道这个changeclockstatus该怎么操作?我感觉是应该使用这里的nofixedbuffer,但是我不知道怎样把这个nofixedbuffers的对象设置成我这里的buf1。如果使用ckECO的话,是怎么操作,如果使用Interactive ECO Command的ecochangecell又该怎样操作?
2、顺便问一个memory约束设置的问题,如果一个设计中的mem时钟和与mem进行通信的逻辑单元的时钟不一致,这个时候由于mem读出的数据通常是在mem时钟之后将近20ns才稳定输出。这时,如果与mem进行通信的外部逻辑单元对这个mem的输出信号怎么约束呢?这里的mem出来的信号相当与外部逻辑电路应该是异步信号吧?这时候好像在pt中报路径也不好报吧!大家这种情况怎么进行约束的?是进行多周期设置。还是进行false path?抑或是其他的设置?
求解答! |
|