2026年7月24日

外部约束和双向约束

摘要: 1.外部约束 外部约束一般是通过包的形式调用其他包内的约束,写在需要这类约束的的类的外部对变量进行约束 当在类外写了 constraint Packet::c_external {length == 1;} 后,求解器会把类内的 c_valid 和类外的 c_external 合并成一个约束池,必须 阅读全文

posted @ 2026-07-24 19:16 tuck0603 阅读(2) 评论(0) 推荐(0)

2026年7月23日

学习记录15(SV的随机约束)

摘要: 1.为什么引入随机化? SUV中90%是镜像测试,10%是随机测试。 2.随机约束的核心价值? 1.发现难以预见的缺陷:定向测试只能覆盖设计者认为可能存在的缺陷,而随机测试能够生成大量非预期的场景,从而发现连设计者和验证者都未曾想到的隐蔽 Bug。随着芯片复杂度提升,仅靠定向测试已无法满足验证需求, 阅读全文

posted @ 2026-07-23 15:15 tuck0603 阅读(3) 评论(0) 推荐(0)

2026年7月22日

学习记录14(线程间通信)重要

摘要: 1.线程间通信的方式 事件event,旗语semaphore,信箱mailbox 2.学习目标 了解三种线程通信方法的用法,以及线程的使用和通信需求 3.线程的使用 verilog中的语句分组使用begin end和fork join,在SV中引入了fork join_any和fork join_n 阅读全文

posted @ 2026-07-22 18:14 tuck0603 阅读(3) 评论(0) 推荐(0)

学习记录13(包package)

摘要: 1.编译;2.import,否则不会被识别 包是一种共享的机制,也就是说你将多个module、interface、program中共享的parameter、data、type、task、function、class等方法来实现,将需要共享的这些模块的参数数据方法类型等打包,大家都能用。 一般是将不同 阅读全文

posted @ 2026-07-22 13:12 tuck0603 阅读(4) 评论(0) 推荐(0)

学习记录12(类的虚拟接口)

摘要: interface 封装了module的端口(ports)、方向(modports)、同步关系( clocking block)、以及function和task。interface 简化了模块之间的连接,无法在program ,class中进行实例化,为了解决这个问题, System Verilog 阅读全文

posted @ 2026-07-22 12:21 tuck0603 阅读(4) 评论(0) 推荐(0)

2026年7月21日

学习记录9(类和类的成员操作浅复制和深复制)

摘要: https://chuna2.787528.xyz/Alfred-HOO/articles/17764629.html https://chuna2.787528.xyz/Alfred-HOO/articles/16928584.html https://chuna2.787528.xyz/Alfred-HOO 阅读全文

posted @ 2026-07-21 17:42 tuck0603 阅读(4) 评论(0) 推荐(0)

学习记录11(类的多态)

摘要: 句柄和对象类型决定调用父类和子类中哪一个(如果父类子类有完全想同的函数)函数/方法 虚方法本质上是一个函数/task,是一种基本的多态性结构,通过virtual来实现声明,重写该方法时必须采用一致的参数和返回值。 虚方法可以重写所有基类的方法,普通的方法在重写之后只能在自己的类以及子类中使用,虚方法 阅读全文

posted @ 2026-07-21 17:33 tuck0603 阅读(3) 评论(0) 推荐(0)

2026年7月16日

学习记录10(类的封装继承)

摘要: 1.封装 封装是面向对象编程的核心思想,是指将对象的属性和行为封装起来,封装的载体是类,类通常对用户隐藏其实现的细节,这就是封装的思想。 采用封装的思想保证了类内部数据结构的完整性,应用该类的用户不能轻易直接操纵该数据结构,而只能执行该类允许公开的数据。这样可以避免外部对内部数据的影响,提高程序的可 阅读全文

posted @ 2026-07-16 09:59 tuck0603 阅读(5) 评论(0) 推荐(0)

2026年7月15日

generate

摘要: generate在RTL综合过程中主要用于重复构造相似电路, 常见的gnerate结构有三种:generate--for/if/case,也是一种块结构,也就是在generate/endgenerate。 本质上是通过generate endgenerate包裹住for/if/case语句,在for 阅读全文

posted @ 2026-07-15 10:45 tuck0603 阅读(6) 评论(0) 推荐(0)

2026年7月14日

学习笔记8(类)

摘要: **面向对象编程OOP ** 1.oop术语 (1)class(类) 包含变量和子程序的基本构建块,是一种软件盒子用来包裹变量和方法,这一点与硬件的module一致,硬件中包裹变量和方法的方式就是module (2)object(对象) 类的一个实例,这一点也可以与硬件里的实例化相关联,SV中通过c 阅读全文

posted @ 2026-07-14 12:30 tuck0603 阅读(5) 评论(0) 推荐(0)

导航