【SV的激励时序与接口_2023.12.26】

本文探讨了SV中的激励时序问题,特别是竞争冒险现象,介绍了通过加延时、非阻塞赋值和层次化事件队列的解决方法。SV接口的使用、modport区分信号方向以及端口与接口连接的区别也进行了详细说明。
摘要由CSDN通过智能技术生成

SV的激励时序

竞争冒险

竞争:由于每条途径延迟时间不同
冒险:竞争有先有后产生毛刺

解决方法:

仿真时,一般采用加#0延时,多个#0无法判定→非阻塞赋值
cb、program
UVM中通过phase解决

层次化事件队列

仿真器对一个timeslot内语句的执行是按照一定的时间顺序执行的,sv对其进行了更丰富的区域划分
sv中,为了区分验证和RTL事件,tb代码都包含在program模块中,program内部不能包含module、interface、program

SV的interface(可综合)

理解
无interface时,tb是rtl的top
有interface时,tb和rtl同级,还可以延伸出更多的同级文件,top层作为时钟发生器生成时钟激励

SV使用接口来连接不同模块,它连接了DUT和验证平台
使用接口的仲裁器和使用接口的测试平台
interface连接接口和端口,管理端口

modport

为了指定方向,使用modport将接口中的信号分组

端口连接和接口连接的对比

代码说明

当输入request为0或1时,输出grant和request相同
当request为3时,pri为0,grant为1;pri为1,grant为0
当request不为0时,输出grant_valid置1

端口

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
结果如接口中相同

接口

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
要注意写$finish();,否则仿真卡顿

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iKUNqa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值