UVM
文章平均质量分 80
UVM杀我
Bunny9__
我是小曹
展开
-
Verdi 覆盖率文件的打开、merge、存储
1、 打开Verdi,在图形化界面选中,打开数据库文件,选中要merge的.vdb文件,choose后可以在test name框中看到所有提交的用例,全选点开始OK,就开始merge,无尽的等待。2、在终端,进入regress_xxx目录下输入命令merge。当一次回归任务结束,会看到【xxx.vdb】文件夹的生成,之后,弹出verdi界面,也是无尽的等待。覆盖率合并中出现下面的,永远选wait。原创 2022-10-20 15:19:27 · 12144 阅读 · 1 评论 -
SV 有关覆盖率学习
覆盖率是衡量验证精度和完备性的数据指标;只有满足以下三个条件,才可以在仿真中实现高质量的验证:测试平台必须产生合适的激励来触发一个设计错误;测试平台仍然需要产生合适的激励使得被触发的错误可以进一步传导到输出端口;测试平台需要包含一个监测器(monitor)用来检测被激活的设计错误,以及在它传播的某个节点(内部或者外部)可以捕捉到她;没有任何一种单一的覆盖率可以完备地去衡量验证过程;即使可以达到100%的代码覆盖率,也不意味着100%地功能覆盖率。原创 2022-10-12 15:22:35 · 2435 阅读 · 1 评论 -
UVM——多向通信
多向通信(multi_directional communication),这种方式服务的仍然是两个组件之间的通信,但是是由多个通信端口来构成的,而不是多个组件之间的通信,毕竟多个组件的通信仍然可以由基础的两个组件的通信方式来构建;多向通信指的是,如果initiator与target之间的相同TLM端口数目超过一个时的处理解决办法;comp1有两个,而comp2有两个端口,对于端口的例化可以给出不同名字,连接也可以通过不同名字来索引,但问题在于comp2中需要实现两个,又因为。原创 2022-09-15 22:31:56 · 585 阅读 · 0 评论 -
VCS(DVE)仿真波形的存储和打开.vpd
点击【Save Current View(Wave.1)】,提示保存【.vpd.tcl】文件,这个并不是波形数据,而是波形的信号列表。原创 2022-09-05 18:51:01 · 7908 阅读 · 2 评论 -
Property使用
结合sequence(序列)对时序和逻辑的描述,property(属性)可以用来描述合计的确切行为;property可以在验证中用来做assumption,checker或者coverage;当使用assert关键词时,可以用作checker来检查设计是否遵循property的描述;当使用assum关键词时,可以作为环境的假设条件,对于仿真环境和形式验证均起到对激励进行假设的作用;当使用cover关键词时,可以将property是否真正通过作为断言覆盖率来衡量;原创 2022-09-02 22:08:27 · 471 阅读 · 0 评论 -
Sequence定义
例如,执行了一次burst read操作,期望读的数据和ack信号在接下来的4个周期内返回,但又不需要连续的4个周期,即可以使用[=4]来表示;t1序列可以用来匹配te1 ##2 te2,te1 ##3 te2,te1 ##4 te2,或者te1 ##5 te2;用来表示周期延迟符号,例如##n表示在n个时钟周期后,##0表示在当前周期,即交叠周期;,用来表示在连续两个采样周期内,表达式的值保持不变,如果满足,返回1,否则,返回0;用来表示一个事件的连续性,需要重复发生m次,但是并不需要在连续周期内发生;原创 2022-08-21 18:51:00 · 830 阅读 · 0 评论 -
Assertion介绍
用来与设计功能和时序作比较的属性描述检查设计的内容提高设计的可视度和调试能力检查设计特性在验证中是否被覆盖可读性好,可以用来服务于设计文档;用来检查算法模型的断言在形式验证(formal verification)中可以穷尽计算,找出可能的违例(violation);可以自由地打开或者关闭;一小部分子集甚至可以用来综合或者移植到emulation中,用来完成跨平台地移植;原创 2022-08-21 15:47:43 · 1338 阅读 · 0 评论 -
MCDF顶层验证方案
多通道数据整形器(MCDF,multi-channeldataformatter),可以将上行(uplink)多个通道数据经过内部的FIFO,最终以数据包(datapacket)的形式送出。各个模块的验证环境是独立封装的,对外不需要保留数据端口,因此便于环境的进一步集成复用由于UVM自身的phase机制,在顶层协调各个子环境时,无需考虑由于子环境之间的例化顺序而导致的对象句柄引用悬空的问题httpshttpshttpshttpshttpshttpshttps。......原创 2022-07-24 16:34:17 · 432 阅读 · 0 评论 -
UVM入门实验1
UVM入门实验1原创 2022-07-24 14:08:42 · 870 阅读 · 0 评论 -
如何在qsim查看软件对象的实例?
先在qsim界面【view】打开【Locals】,然后在下面的地方点右键,选择【显示Processes】,层次结构里就会出现Designunittype为Process的#initial#选项,点击它,就能在Locals里面看见软件层次。在qsim中,下图显示的都是硬件层次hierarchy,并不能看到软件对象的层次。...原创 2022-07-24 14:01:32 · 328 阅读 · 0 评论 -
UVM——双向通信
UVM——双向通信1. 概述2. 分类3. transport1. 概述与单向通信相同的是,双向通信(bidirectional communication)的两端也分为initiator和targer,但是数据流向在端对端之间是双向的;双向通信中的两端同时扮演着producer和consumer的角色,而initiator作为request发起方,在发起request之后,还会等待response返回;UVM双向端口分为一下类型:uvm_blocking_transport_PORTu原创 2022-07-18 21:21:59 · 323 阅读 · 0 评论 -
UVM——单向通信
UVM——单向通信1. 概述2. 类型3. 方法4. 示例1. 概述单向通信(unidirectional communication)指的是从initiator到target之间的数据流向是单一方向的,或者说initiator和target只能扮演producer和consumer中的一个角色在UVM中,单一数据流向的TLM端口有很多类型:uvm_blocking_put_PORTuvm_nonblocking_put_PORTuvm_put_PORTuvm_blocking_get_P原创 2022-05-30 18:56:38 · 349 阅读 · 0 评论 -
UVM——TLM通信
UVM——TLM通信1. 概述2. 基本概念3. 分类4. 端口的使用1. 概述在芯片开发流程中,系统原型和芯片验证对项目的助推起到了关键作用系统原型,一般是通过硬件功能描述文档来模拟硬件行为,而行为要求不同于RTL模型。系统原型可以提供一个准确到硬件比特级别、按照地址段访问、不依赖时钟周期的模型,该模型通常基于SystemC,而系统原型中各个模型通过TLM可以实现宽松时间范围内的数据包传输芯片验证,是在RTL模型初步建成之后,通过验证语言和方法学来构建验证平台。该平台的特点是验证环境整体基于面向原创 2022-05-17 21:48:10 · 609 阅读 · 0 评论 -
UVM入门实验2
UVM入门实验21. 一些注意点说明1.0. 从SV环境移植到UVM环境1.1. clone()函数的调用需要类型转换1.2. 端口类1.3. 创建对象放在new()中还是build_phase()1.4. mcdf_pkg里对象的创建和连接1.5. test中添加virtual interface1.6. tb中不能用set_interface()1.7. 组件的phase自动执行2. 代码2.1. chnl_pkg2.2. arb_pkg2.3. fmt_pkg2.4. reg_pkg2.5. mcdf原创 2022-04-20 22:12:35 · 1667 阅读 · 5 评论