自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 SystemVerilog 中 Setter 和 Getter 方法的作用详解​​

​​(1) Getter 方法​​​​作用​​:提供对私有(local 或 protected)成员变量的​​只读访问​​。​​命名惯例​​:通常以 get_ 开头(如 get_value())。// Getterendclass​​(2) Setter 方法​​​​作用​​:提供对私有成员变量的​​受控写入​​,可添加校验逻辑。​​命名惯例​​:通常以 set_ 开头(如 set_value())。// Setter// 校验逻辑");endclass​​场景​​。

2025-07-21 21:58:09 925

原创 SystemVerilog 类的封装(Encapsulation)

SystemVerilog通过访问控制修饰符(local/protected/public)和设计模式实现面向对象封装。核心机制包括:1)使用local/protected隐藏敏感数据,仅通过public方法暴露接口;2)通过Getter/Setter方法添加访问控制逻辑。封装在编译阶段检查访问权限,仿真阶段防止违规操作。典型应用包括UVM配置管理、硬件寄存器模型和安全计数器等。高级技巧涵盖参数化封装、接口隔离和代理模式等。最佳实践建议:敏感数据用local,子类扩展用protected,公共接口需校验,线

2025-07-21 21:48:08 605

原创 SystemVerilog 类构造函数(Constructor)深度解析​​

SystemVerilog中的构造函数(new)是类实例化时自动调用的特殊方法,用于初始化对象状态。本文系统解析了构造函数的语法规则、工作原理和典型应用场景,包括默认构造函数、参数化构造函数以及通过默认参数模拟重载的方法。重点介绍了构造函数的三种经典应用模式:带约束的随机对象初始化、资源预分配和单例模式实现。同时指出了继承链调用、虚方法使用等常见陷阱及规避方法,并总结了构造函数的最佳实践原则,强调参数校验、避免虚方法和显式调用父类构造函数等关键点。文章最后提供了不同场景下的构造函数实现方案对照表。

2025-07-20 20:57:35 766

原创 SystemVerilog 类(Class)---基础认识

SystemVerilog类(Class)是面向对象编程的核心,用于构建验证环境和硬件建模。文章系统化讲解了类的基础结构、对象生命周期管理、三大特性(封装、继承、多态)及高级特性(静态成员、参数化类等)。通过代码示例展示了实际应用场景,如UVM事务类、覆盖率和线程安全实现。文章还总结了常见问题,如多态失效、随机化失败和线程安全解决方案,为复杂验证环境开发提供了实用指导。

2025-07-20 20:21:34 635

原创 SystemVerilog 接口(Interface)进阶

​​应用场景​​ ​​技术方案​​​​收益​​​​复杂协议建模​​内嵌任务+modport​​验证效率​​​​接口绑定UVM虚拟接口​​验证环境搭建时间减少60%​​​​IP核复用​​​​参数化接口模板​​多项目复用率提高75%​​​​跨时钟域设计​​​​接口内嵌同步器+clocking block​​亚稳态发生率降低90%​​​​形式验证​​​​ 接口作用域断言​​缺陷检出率提升35%​​设计效率​​:参数化接口减少重复代码​​验证可靠性​​:内嵌断言实时捕捉协议错误。

2025-07-20 16:06:12 979

原创 systemveriog----接口-----interface

SystemVerilog接口(Interface)是复杂数字系统设计的核心构造,通过信号封装、协议集成和访问控制机制,极大提升了设计模块化和验证效率。文章全面解析接口的核心原理、经典案例、应用技巧和常见问题。重点介绍了接口的信号聚合功能、Modport角色隔离机制和时钟块同步技术,并给出内存控制器、AXI4总线等典型应用实例。同时提供了分层设计、参数化配置等实用技巧,对比了接口与传统端口的优势。最后强调接口在模块化设计、协议标准化和验证效率方面的重要价值,建议采用分层设计、角色隔离等最佳实践来提升大型So

2025-07-20 15:43:39 751

原创 SystemVerilog ---- Function ----进阶应用​​

​​进阶功能​​典型案例关键技巧​​常见用途​​​​递归函数​​斐波那契数列、阶乘必须用 automatic数学计算、树遍历​​返回复杂类型​​结构体、动态数组、队列优先返回结构体而非多个参数数据统计、转换​​参数化函数​​ 默认参数、命名参数模拟用结构体模拟命名参数可配置算法、日志打印​​静态/自动变量​​调用计数器、缓存优化静态变量共享,自动变量独立性能统计、记忆化递归​​内嵌随机化​​生成随机素数、边界值随机测试、UVM 序列​​内嵌断言​​。

2025-07-19 23:27:03 549

原创 SystemVerilog--- task---进阶应用

​​进阶用法适用场景​​关键技巧参数化任务可配置行为(如测试激励生成)使用默认参数减少调用代码量自动存储任务递归调用、并行执行必须声明 automatic时序控制任务总线驱动、信号同步使用 #delay 或 @posedge多返回值任务返回多个计算结果优先使用 output 而非 ref并行任务(fork)同时驱动多个接口使用 join_none 或 join_any类中的任务UVM 验证环境结合面向对象编程接口封装任务标准化总线协议。

2025-07-19 20:41:32 839

原创 syatemverilog ---函数----function

需要返回一个值的计算(如数学运算、逻辑判断)。无时序控制的纯逻辑操作。数据转换(如 int 转 bit 数组)。​​使用 #delay 或 @posedge(改用 task)。修改全局变量(尽量保持无副作用)。1、​​记分板(Scoreboard)​​ 的数据比较。2、​​覆盖率计算​​ 的辅助逻辑。3、​​UVM 配置​​ 的参数处理。

2025-07-19 15:21:56 434

原创 SystemVerilog​​ ----任务---​​task

SystemVerilog中的task是一种可复用代码块,支持时序控制(如延迟、边沿触发)且可不返回值。与function不同,task通过输入/输出参数传递数据,适用于复杂操作如总线事务。task分为静态(默认)和自动(支持递归调用)两种存储类型。基本语法包含输入/输出参数和局部变量,典型应用包括延迟打印、数据交换等。task适合有时序需求或多参数操作,而function更适合纯计算场景。在验证中,task常用于UVM序列和驱动,function多用于记分板和覆盖率计算。

2025-07-19 14:44:08 664

原创 SystemVerilog数据类型

摘要: SystemVerilog提供丰富的数据类型,包括基本类型(如四态logic/reg和二态bit/int)、复合类型(数组、结构体、联合体、枚举)及用户自定义类型。支持动态数组、关联数组、队列等高级数据结构,并引入字符串(string)和事件(event)等特殊类型。通过typedef可自定义类型,增强了代码可读性和复用性。这些特性使SystemVerilog适用于复杂数字设计和验证场景,相比Verilog具备更强的抽象能力和灵活性。(149字)

2025-07-18 21:44:43 421

原创 word转PDF空白页的添加与删除

**word转PDF空白页的添加与删除**关于论文排版中页面设置的一些小技巧。1:不希望用换行的方式将“第二章”的标题赶到下一页,如下图:这样格式会非常的不稳定。因此我们需要在“第一章内容结束的地方”插入“布局—分隔符—下一页”来自动的设置。设置后的效果如图所示:在一些文档处理的时候,希望在打印(生成PDF)的时候,第一章和第二章之间出现一个“空白页”,但是word编辑的时候又不需要这个空白页显示出来。操作方法:在第一章末尾插入分节符的时候,选择奇偶数来插入即可。“布局—分隔符—奇数页(

2022-04-11 14:00:32 1742

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除