技术栈
uvm
-interface
14 天前
秋招
·
uvm
·
ic验证
25届数字IC验证秋招总结
双非本9硕,2024年初开始通过白皮书蓝皮书自学验证,半年实习经验,有竞赛无专利论文,在秋招期间投递企业130余家,绝大部分投递岗位为数字验证,面试20家,收到5个offer。因为背景和相关经历并没有优势,offer全是在十月才陆续收到的。
啄缘之间
24 天前
学习
·
fpga开发
·
verilog
·
uvm
·
sv
17. 示例:用assert property检查FIFO空满标志冲突
基于 SystemVerilog 的 FIFO 空满标志冲突检查(概念+实现+仿真全解)冲突定义 FIFO 的空标志(empty)和满标志(full)是互斥信号,任何时候都不应同时为高电平。若二者同时有效,说明 FIFO 的状态机或计数器存在逻辑错误,可能导致数据丢失或覆盖。
啄缘之间
1 个月前
学习
·
测试用例
·
verilog
·
uvm
·
sv
7. 覆盖率:covergroup/coverpoint/cross
covergroup是收集覆盖率的容器,coverpoint是具体的覆盖点,cross是交叉覆盖。用生活中的例子来通俗解释,比如将covergroup比作调查问卷,coverpoint是问题,cross则是问题之间的关联分析。
啄缘之间
1 个月前
学习
·
测试用例
·
verilog
·
uvm
·
sv
4. 示例:创建带约束的随机地址生成器(范围0x1000-0xFFFF)
以下是一个完整的SystemVerilog测试平台示例,包含约束随机地址生成、日志输出和波形生成功能:
啄缘之间
1 个月前
学习
·
verilog
·
uvm
·
sv
4.6 学习UVM中的“report_phase“,将其应用到具体案例分为几步?
以下是对 UVM 验证环境中 report_phase 的详细解析,结合具体验证项目场景,提供分步骤实现说明和示例代码:
啄缘之间
2 个月前
学习
·
verilog
·
uvm
·
sv
3.9 学习UVM中的uvm_env类分为几步?
以下是关于 UVM 中 uvm_env 的详细解释、核心功能、适用场景、使用方法以及一个完整的代码示例:
啄缘之间
2 个月前
学习
·
测试用例
·
verilog
·
uvm
3.3 学习UVM中的uvm_driver 类分为几步?
以下是关于 UVM 中 uvm_driver 的详细解释、核心功能、适用场景、使用方法以及一个完整的代码示例:
啄缘之间
2 个月前
学习
·
fpga开发
·
verilog
·
uvm
verilog练习:i2c slave 模块设计
首先就不啰嗦iic协议了,网上有不少资料都是叙述此协议的。下面将是我本次设计的一些局部设计汇总,如果对读者有借鉴意义那最好,如果没有的话也无所谓,互相交流而已。(这是我早期的版本,注释比较少,代码编写比较混乱,读者自便)
啄缘之间
2 个月前
学习
·
uvm
·
sv
1.4 学习序列(Sequence)分为几步?
需要回顾一下 UVM 的基本概念,特别是 Sequence 的部分。我记得 Sequence 是 UVM 中用于生成测试激励的重要组件,它允许我们以一种灵活和可重用的方式定义测试场景。Sequence 可以随机化生成测试数据,并通过 Sequencer 和 Driver 将这些数据发送到被验证的模块(DUT)中。 接下来,应该从 Sequence 的基本概念入手,解释它如何继承自 uvm_object,以及它如何包含多个 sequence_item。我还需要强调 Sequence 的灵活性和可重用性,以及
啄缘之间
2 个月前
开发语言
·
学习
·
fpga开发
·
verilog
·
uvm
verilog练习:8bit移位寄存器
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档这个练习是module_shift的扩展。模块端口不再是单一的引脚,我们现在有了以矢量为端口的模块,你可以将连线矢量连接到模块上,而不是普通的导线。
啄缘之间
2 个月前
学习
·
verilog
·
uvm
·
sv
3. 学习UVM的核心组件
UVM(Universal Verification Methodology)是一种广泛应用于硬件验证领域的标准方法学,旨在提高验证流程的可重用性和可扩展性。UVM 提供了一套预定义的类和方法,用于创建模块化、可重用的验证环境。
apple_ttt
4 个月前
fpga开发
·
fpga
·
systemverilog
·
uvm
SystemVerilog学习——构造函数new
在 SystemVerilog 中,new 是一个构造函数,用于创建类的实例(即对象)。它在面向对象编程(OOP)中起着重要作用,负责实例化一个对象并进行初始化。与传统编程语言(如 C++ 或 Java)中的构造函数类似,new 用来初始化对象的成员变量或执行必要的准备工作。
apple_ttt
5 个月前
fpga开发
·
fpga
·
systemverilog
·
uvm
SystemVerilog学习——虚拟接口(Virtual Interface)
虚拟接口(Virtual Interface) 是 SystemVerilog 中的一种重要特性,用于在类中引用一个接口类型的变量,允许类在运行时动态绑定不同的接口实例。虚拟接口使得类可以与硬件接口交互,而不依赖于接口的具体实现,从而提供更大的灵活性和可重用性。
小妖1160
5 个月前
uvm
·
ic验证
uvm_info、uvm_warning,uvm_error、uvm_fatal
调试语句除了uvm_info,UVM内部根据问题的严重性(severity)由低到高,还引入了uvm_warning/uvm_error/uvm_fatal。
逍遥xiaoy
10 个月前
systemverilog
·
uvm
SystemVerilog测试框架示例
这里是一个完整的SystemVerilog测试框架示例,包括随机化测试和详细注释。这个完整的SystemVerilog测试框架包括顶层模块、接口、事务、驱动器、监视器、代理、环境和测试用例,并使用随机化功能生成输入信号。每个模块和类都有详细注释,解释其功能和作用。可以根据具体的DUT和测试需求对代码进行进一步的扩展和修改。
谷公子的藏经阁
10 个月前
设计模式
·
systemverilog
·
uvm
·
芯片验证
·
design pattern
设计模式在芯片验证中的应用——迭代器
迭代器设计模式(iterator)是一种行为设计模式, 让你能在不暴露集合底层表现形式 (列表、 栈和树等数据结构) 的情况下遍历集合中所有的元素。
小邦是名小ICer
1 年前
uvm
7.2 uvm_resource_db in UVM
uvm_resource_db是一个类型参数化 type-parameterized的类,它是资源数据库顶部的一个方便层(convenience layer)。这个便利层简化了对低级数据库的访问,并且没有添加新功能。因此,uvm_resource_db不是从uvm_resource类派生的。 以下uvm_resource_db类的代码段取自uvm源代码。
一只迷茫的小狗
1 年前
uvm
UVM建造测试用例
在一个实际应用的UVM验证平台中,my_env并不是树根,通常来说,树根是一个基于uvm_test派生的类。真正的测试用例都是基于base_test派生的一个类。
不动明王呀
1 年前
uvm
uvm白皮书练习_ch2_ch231_加入transaction
2.3 为验证平平台加入各种组件 uvm白皮书练习_ch2_ch231_加入transaction约束超出预设范围,会导致失败 解决方法,使用范围内的数据值进行随机化
中古传奇
1 年前
uvm
Pass cfg from cmd to test
In any compenent,you use the usage;In any component,you should code in it; Principle: It will creats a diction,then put it in pool; you will use get it at any time; you can put the code anywhere;