|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 sunrisewu 于 2014-1-22 14:56 编辑
在RTL 级MVSIM仿真中,我们知道MVDBGEN会生成库文件,更改初始的RTL文件,依据UPF和archpro.ini设置,生成中间文件。
为了进行Multi-voltage仿真,依据手册:
UPF_ON_OFF = off, simulation_mode = PROTECTED, pst_corruption = yes, protected_mode_accurate = yes, isolation_gate = yes, disable_30_70 = no
在UPF中,我将某一个domain的电源VDD1设置为LV(0.8V) ON(0.9V) HV(1.0V)和OFF(off)
其余电源VDD2设置为ON(1.2V)和OFF(off),然后约束了电压域间插入LS,阈值为0.1V。
这么设置的目的是为了使VDD1和VDD2之间插入LS cell。
运行MVRC,查看ISO policy和LS policy均己正确约束。
但是在跑MVSIM时发现,VDD1设置为0.9V或1.0V均可正常工作,但是设置为0.8V则不能正常工作,查看mvsim.log显示为30_70 corruption.
软件认为1.2 X 0.7 > 0.8, 即VDD1的电源值小于min_high_level。
可是我upf中已经描述了LS呀, 我的理解是,30_70只会发生在没有LS的cross中呀?
查看经DBGEN更改过的.v文件, 发现ISO cell已经被工具正常插入,但是LS cell却没被插入。
请问大神,这个bug是不是因为LS cell没有插入造成的? 如果是的话,需要设置什么参数才能让LS cell正常插入?
跪谢。
已经搞了2天了,实在是捉计啊。。
如果有坛子里的大神帮我解决了,我愿发一个自己写的demo出来,和大家一起进步。
===========================================================
不懂的人,帮我顶顶也好呀。 |
|