仿真过程中mem 初始化

项目过程中碰到一个问题,一个DE的仿真fail的,找我帮忙debug,看了波形trace了电路后发现他的mem 没有初始化,X态导致case fail,那么引发一个思考,什么时候需要进行mem初始化呢。

对于DFT 来说,如果是非share bus的结构,我们mem会有自己独立的mem interface,有单独的通路,不会和其它mem的输出进行交互,这样我们在对mem进行读写的时候,就不会被未操作的mem的unknow的输出影响,造成mismatch,这样的结构就不需要对mem进行初始化操作。但是如果是share bus的结构,输出可能是来自多颗mem,那么这个时候,如果你对其中的一个mem进行读写,其它的mem未进行操作,那么未被操作的mem的输出就是一个unknow的值,就会影响到仿真结果,所以对于share bus 结构来说, 仿真的时候需要对mem进行初始化一个random 值。

那么对于function 仿真case 来将,为什么需要初始化呢,对于function 来说, mem的输出可能后面存在一堆逻辑和其它mem的输出有交互,这样如果不对mem进行初始化就会引入X态,所以对于function case的仿真是需要对mem进行初始化的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值