soc级仿真过程中出现X态的原因

总结工作过程中仿真出现X态的几种情况:

1. memory未初始化

        这是最常出现的一种。一般是ram或者rom、flash的模型在初始时候都是不定态的,如果没有对其进行初始化,在进行读取的时候,很容易出现X态传播。

        解决办法:在initial阶段初始化为0或者1。当然如果vcs版本支持initreg和initmem选项,可以用命令初始化

2.信号未复位

        这个出现在某个模块的后仿过程中。原因是模块自己定义了一个复位信号,但是没有用系统复位信号。导致上电时候,系统复位不会传导到这个模块,引起了信号出现X态。虽然这个问题不应该在后仿阶段出现(模块仿真就应该发现),但是这也让我们思考了验证的流程是不完善的,不严谨的,对于初级工程师来说,验证的思路是非常重要的。这点也更加说明了验证的重要性 !

3.时序不满足

        在后仿过程中,一般至少会仿ss ff tt三个corner,在flashctrl的仿真中,ff通过,但是ss不通过,这就说明了,时序是未满足要求的。此时就需要找设计过来沟通了。这个例子说明了不同corner下的仿真是非常重要的。

4.PAD端口未赋值

        系统级仿真都是chip级仿真,如果在pad端口有的信号未赋初值,很容易产生X态。这就需要对芯片的整体设计有一个认识,对芯片管脚定义、模块功能都要有一个很全面的认识,而不是只对一个模块,一个功能就ok了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值