|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
小弟在做一个芯片的数字后端,之前RTL里面的memory是用寄存器阵列替代的,前几天拿到了memory的库加到了RTL之后发现DC会有setup违例,分析后发现原因是memory是双口的,有两个时钟一个读一个写,RTL里面这两个时钟pin接的是同一个时钟,是经过外部时钟分频后的一个generated clock,然后DC会对这两个时钟pin之间进行setup检查,由于那个generated clock同时还驱动了好多别的寄存器,所以负载很大就导致延时超大,所以就违例了,大概就是图里面这样子:
然后我就设了个ideal network,DC的违例没了,可是走到encounter的时候一进行CTS,encounter就会崩溃退出。。(我用的EDI 13.19,从官网下的)。研究了好几天后发现在取消掉ideal network的约束后就不出错了。。但是这样DC的违例要如何解决?
另外:当时为了debug这个问题又新建了个小的design,用一个时钟驱动了几万个寄存器同时驱动这个出问题的memory,发现如果不设generated clock的话,DC会自动进行CTS,设置了generated clock的话就不会了。。这又是什么原因?
求版主大大帮忙解答~感激不尽!! |
|