自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 systemverilog三元运算符(条件赋值符)

1)?等价于if (fwd!

2024-09-23 00:23:02 106

原创 systemverilog的乱序shuffle

在 SystemVerilog 中,shuffle是一个系统函数,用于对动态数组或队列进行随机打乱(洗牌)操作。以下是一些关于shuffle。

2024-08-27 23:02:24 333 1

原创 判断地址是否对齐的方法

【代码】判断地址是否对齐的方法。

2024-08-18 16:51:43 138

原创 systemverilog有符号无符号数的转换

【代码】systemverilog有符号无符号数的转换。

2024-08-18 16:45:10 361

原创 systemverilog的约束inside

【代码】systemverilog的约束inside。

2024-08-11 22:55:47 144

原创 uvm中sprint的用法详解

【代码】uvm中sprint的用法详解。

2024-08-11 22:01:07 1018

原创 systemverilog的$sformatf和$sformat

通常与其他输出任务结合使用来控制输出格式。主要用于生成格式化字符串,而。

2024-08-11 02:01:27 207

原创 systemverilog的标准随机函数std::randomize()

systemverilog的标准随机函数std::randomize()

2024-08-10 10:43:29 301

原创 systemverilog非合并数组和关联数组的区别与联系

这里的索引从 0 到 15 是连续的。关联数组是一种索引可以是任意数据类型的数据结构,并且其存储空间是根据实际插入的元素动态分配的。关联数组的索引不一定是连续的整数,甚至可以是字符串等复杂的数据类型。3. 索引范围:非合并数组的索引范围是固定和预定义的;关联数组没有固定的索引范围,可以随时添加新的任意索引的元素。总的来说,非合并数组更适合处理具有固定、连续索引的一组数据,而关联数组更适合处理具有不规则索引的数据或者需要动态添加元素的情况。关联数组的内存是根据实际存储的元素动态分配的。

2024-08-07 23:55:21 369

原创 uvm_config_db 和 uvm_resource_db :

uvm_config_db` 和 `uvm_resource_db` 都是 UVM 中用于管理和共享数据的机制,但它们有一些区别: 1. 用途: - `uvm_config_db` 主要用于在不同层次的组件之间传递配置信息,例如设置一些参数、控制某些行为等。如果在 `uvm_resource_db` 和 `uvm_config_db` 中对同一个变量进行了不同的设置,`uvm_resource_db` 的设置可能会覆盖 `uvm_config_db` 的设置。

2024-08-05 00:48:52 327

原创 uvm_component和uvm_object

和在UVM验证环境中各有其独特的角色和用途。主要用于数据的封装和传递,而则用于构建和组织验证环境的不同部分。它们之间的主要区别在于继承关系、功能和用途、实例化和生命周期以及典型应用等方面。

2024-08-04 23:53:31 350

原创 MSB和LSB

MSB(Most Significant Bit)和LSB(Least Significant Bit)是二进制数中的两个重要概念,它们分别代表了二进制数中的最高有效位和最低有效位。

2024-08-03 23:37:14 1584

原创 systemverilog中权重:= 和 :/

上述代码中[0:99]每个值出现的概率是5/(100*5+95)=5/595,落在[0:99]的概率是500/595,100出现的概率是95/595,上述代码中[0:99]出现的概率是5/100,100出现的概率是95/100,

2024-07-31 10:14:43 132

原创 SystemVerilog 中,fork...join、fork...join_any 和 fork...join_none

【代码】SystemVerilog 中,fork...join、fork...join_any 和 fork...join_none。

2024-07-30 11:25:49 359

原创 systemverilog中package的使用

systemverilog中package的使用

2024-07-30 00:14:02 302

原创 systemverilog中static的使用

systemverilog中static的使用

2024-07-30 00:00:40 177

原创 systemverilog中x态的检测,$isunknown函数的使用

systemverilog中x态的检测

2024-07-29 23:57:04 314

原创 systemverilog中队列的常见操作

【代码】systemverilog中队列的常见操作。

2024-07-24 23:44:40 148

原创 systemverilog中宏的使用

/表示INST的取值在1,2,3,4,5,6,7。

2024-07-23 00:04:58 381

原创 uvm_info中的get_full_name,get_type_name,get_name

其返回值的具体表现取决于类的类型。对于uvm_component类(组件类),它会返回当前组件的完整路径,即从 UVM 树的根节点开始到该组件的路径名拼接。路径的开头不是从 UVM 树的根开始,而是根的下一级(根路径对应“top”),路径的结尾是创建对象时传入的名称。而对于uvm_object类(对象基类),它的返回值与get_name()一样,因为uvm_object类不作为 UVM 树的节点,所以路径没有其他层次。

2024-07-21 20:56:08 298

原创 验证环境中uvm_error的使用

基本概念作用:uvm_error用于在验证过程中当发现不符合预期的情况时,生成并输出错误消息,帮助验证工程师快速定位和解决问题。 语法:其基本语法为uvm_error(ID, Message);,其中ID是一个唯一标识符,用于识别错误的来源;Message是一个字符串,用于详细描述错误的具体信息。使用场景错误定位:当验证环境检测到某个条件不满足预期时,如数据错误、时序违例等,可以使用uvm_error宏来输出相应的错误信息,从而帮助验证人员快速定位问题。 调试辅助:在验证的早期阶

2024-07-21 20:48:49 439

原创 systemverilog中include,import,incdir的区别

include关键字用于包含一个预处理文件,这个文件通常包含了各种定义,比如类型定义、常量、宏等。这些定义会直接插入到使用include的地方,就像你手动复制粘贴了一样。include主要用于包含头文件,其中可能包含了一系列的define宏、typedefparameter和localparam等预处理指令。

2024-07-16 00:05:42 451

原创 systemverilog中inside的常见用法

systemverilog中inside的常见用法

2024-07-14 23:54:53 770

原创 uvm中使用clone时,为什么要使用$cast

在 UVM 中,使用`$cast`的原因主要是进行类型转换,以确保对象的句柄能够正确地指向具有特定类型的对象。然而,`req.clone()`返回的句柄是`uvm_object`类型(父类),但实际上它指向的是子类对象。通过`$cast(rsp, req.clone())`,可以将克隆得到的父类句柄转换为子类句柄,并将其赋值给子类对象`rsp`。如果不进行`$cast`,直接将`req.clone()`的结果赋值给`rsp`,可能会导致编译错误或运行时的异常。类中定义的,它是所有UVM对象的基类。

2024-07-14 00:47:38 435

原创 systemverilog对象的复制和拷贝

也就是说,原始对象和新对象中的句柄会指向同一个对象,这可能导致新对象中的句柄指向的内容发生变化时,原始对象中的对应内容也会发生变化。深复制则是创建一个新的和原始句柄指向的内容完全相同的对象,新对象和原始对象的句柄指向不同的存储空间,但内容是相同的。这样,新对象中句柄指向的内容发生改变时,不会影响原始对象中句柄指向的内容。例如,如果原始对象中有一个指向其他类对象的句柄成员,浅复制后,新对象中的该句柄将指向与原始对象相同的对象。函数中,需要创建新的嵌套对象,并将原始对象中的成员值复制到新对象的相应成员中。

2024-07-14 00:42:52 482

原创 systemverilog中的对象和句柄

在 SystemVerilog 中,句柄(handle)是用来指向对象的“指针”。通过句柄,可以访问对象的成员变量和成员方法。

2024-07-14 00:14:36 146

原创 systemverilog中ref的使用

用于传递变量的引用(类似于 C 中的指针),而不是复制变量的值。在 SystemVerilog 中,

2024-07-13 23:57:17 216

原创 systemverilog的关联数组

systemverilog的关联数组

2024-07-13 23:16:13 761

原创 verilog的三目运算符

【代码】verilog的三目运算符。

2024-06-17 23:34:28 431

原创 initial begin end 和always语句区别

/ while ,repeat ,for 循 环。always @ (<敏感信号表达式>)begin。// task ,function 调用。

2024-05-22 21:21:53 324

原创 覆盖率收集时,systemverilog的wildcard应用

当在收集覆盖率时不关心某些比特位的值,可以使用wildcard建仓。

2024-05-21 23:57:34 252

原创 systemverilog中位的选择

systemverilog中位的选择

2024-04-21 22:37:41 501

原创 赋值systemverilog

2024-04-21 22:04:27 117

原创 systemverilog判断某个变量中1或0的个数

【代码】systemverilog判断某个变量中1或0的个数。

2024-04-20 23:55:02 460

原创 systemverilog的遍历

foreach和for。

2024-04-20 23:26:15 146

原创 systemverilog对队列中数据的随机访问

【代码】systemverilog对队列中数据的随机访问。

2024-04-20 23:08:34 148

原创 systemverilog功能覆盖率

如果只想关注交叉覆盖率,而不想关注单个coverpoint,可以通过设置权重option.weight = 0来将coverpoint的覆盖率忽略。1 iff 如过满足条件则采样,iff可以理解为if。2 coverpoint和bin。

2024-04-20 22:26:57 231

原创 systemverilog的数组

systemverilog的数组

2024-03-22 00:13:30 321

原创 verilog/systemverilog中的case语句

【代码】verilog/systemverilog中的case语句。

2024-03-21 23:07:02 264

原创 riscv中的ITCM和DTCM的意思

riscv中的ITCM和DTCM的意思

2024-03-16 21:46:03 917

空空如也

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

TA关注的人

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