UVM:10.3.3 disable fork 语句对原则操作的影响

本文探讨了W1C类型计数器在并发操作中可能遇到的问题,并提出了有效的解决方案。首先介绍了W1C计数器的基本概念及其在计数过程中与清零操作并发执行时可能产生的错误。然后,通过具体的案例分析了仅禁用fork操作存在的不足之处。最后,给出了正确的解决办法。

1.很多计数器的类型是W1C,写1清零。如果正在计数,同时清零操作,可能导致错误。

2.解决;


1)看似解决了问题,但是出现新情况使程序无法终止。disable fork 之后读取寄存器,会发现寄存器正在写,于是一直等待。

2)原因是寄存器模型时原子操作,如果只使用disable fork 野蛮终止,那么此原子操作尚未完成,虽然进程终止了,但是标志位并没有清除,从而出现错误。


3.正确解决方法:


1)如无法得到,表示demo_s已经完成,while 没必要进行下去,直接终止。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值