自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【UVM】寄存器模型

从uvm_reg派生一个寄存器类:声明build函数,并在其实例化uvm_reg_field类;build函数负责所有uvm_reg_field的实例化调用configure函数,配置上述域参数一,是此域的父辈,也就是此域位于哪个寄存器中,即是 this;参数二,是此域的宽度;参数三,是此域的最低位在整个寄存器的位置,从0开始计数;参数四,表示此字段的存取方式,共支持25种;参数五,表示是否是易失的(volatile),这个参数一般不会使用;

2025-02-10 21:34:08 2237 3

原创 【UVM】callback机制

【代码】【UVM】callback机制。

2025-01-23 16:32:56 969

原创 【UVM】搭建一个验证平台

scoreboard/checker:判断DUT的行为是否与预期相符合 monitor:收集DUT的输出并把它们传递给scoreboard 一个用于监测DUT的输入口,一个用于监测DUT的输出口 reference model:验证平台给出的预期结果 env:实例化上述组件 agent:

2024-12-31 17:56:35 731

原创 【UVM】factory机制和override重载

factory机制

2024-12-27 14:51:00 1486

原创 【UVM】sequence

将不同类型transaction在同个sequencer上启动:将sequencer和driver能够接受的数据类型设置为uvm_sequence_item,然后需要在driver中用cast转换成员类型。原理:是driver将rsp推送给sequencer,而sequencer内部维持一个队列,当有新的response进入时,就推入此队列,队列默认大小为8。uvm_send系列宏的意义:可以使发送的transaction都使用同一块内存,只是其中的内容可以不同,这样可以节省内存。

2024-12-11 17:09:09 1038

原创 【System Verilog】OOP面向对象

如果不使用virtual,直接例化,所有非virtual例化的interface值都会发生改变,使用了virtual例化,则每个例化是独立的,改变的只是当前的vif接口的值。利用类的多态,将父类方法声明为virtual时,可以将子类对象直接赋值给父类句柄,并直接使用父类句柄来调用子类的方法,而无需句柄类型。重载的最大优势是使得一个子类的指针以父类的类型传递时, 其表现出的行为依然是子类的行为。虚类一般用来定义类的格式,、类的成员、类的参数等。的本质是让父类句柄使用子类对象的。

2024-12-05 19:55:55 497

原创 【UVM】domain机制

【代码】【UVM】domain机制。

2024-12-03 16:04:15 440

原创 【UVM】objection机制

用法:一个phase对应一个drain_time,并不是所有的phase共享一个drain_time。在没有设置的情况下,drain_time的默认值为0。作用:检查到所有objection 被撤销后,会检查是否设置drain_time,如果有,则延迟drain_time。

2024-12-02 14:40:44 1046

原创 【UVM】phase机制

(图中白色背景)

2024-12-01 19:28:31 1136

原创 【UVM】TLM通信机制

TLM通信机制

2024-11-27 19:04:46 1410

原创 【UVM】打印机制

打印

2024-11-26 11:41:47 1060

原创 【UVM】UVM基础

uvm_component。

2024-11-25 20:33:31 1170

原创 【System Verilog】随机与约束

而x=1,y可取0,1,2,3四种组合,所以共有5种组合,每种组合概率相同,均为1/5;可以给每个分支指定不同的权重(权重值可以为非负整数、非负表达式),一条分支的概率为该分支的权重值除以所有分支的权重值之和。,静态约束在所有类的对象之间共享,也就是说如果某个对象关闭了静态约束,那么其他对象的静态约束也被关闭。附加约束:允许在调用随机函数的时候添加约束,此时要将定义在类中的约束也与添加约束一起考虑。外部约束块:约束可以像方法一样,在类的内部声明,而在类的外部定义,要使用作用域操作符。约束必须写在约束块中,

2024-11-21 11:46:15 2081 1

原创 【System Verilog】系统函数

SV中各种内嵌处理函数

2024-07-24 16:09:41 1631

原创 【System Verilog】功能覆盖率

介绍了功能覆盖率的基本用法

2024-07-16 19:21:06 3743

原创 【System Verilog】Assertion 断言

一、基本类型二、系统任务三、开关控制。

2024-07-12 19:14:13 3253

原创 【芯片验证】提高仿真速度方法

仿真速度提升方法

2024-07-12 17:30:11 3052

原创 【System Verilog】package用法

不在unit空间进行任何声明,所有共享的声明都要在 package中。需要时,可以将package 导入到 unit空间进行任何声明,所有共享的声明都要在package中。需要时,可以将package导入到unit空间进行任何声明,所有共享的声明都要在package中。不允许访问定义在unit编译单元里的item(即定义在全局空间的类型在package内无法访问,但interface编译后在package内的class里是可以识别的)std是sv内部自定义的package(eg:std::method)

2024-07-11 18:09:40 1222

原创 【ARM】汇编语言结构

ld文件是作用在链接过程bss段:Block Started by Symbol,存放程序中未初始化的全局变量和静态局部变量,通常这些变量会被操作系统或链接器初始化为0bss 段,不为数据分配空间,只是记录数据所需空间的大小;data段:data segment,存放程序中已初始化的全局变量和静态局部变量、非const的全局变量的一块内存区域const全局变量一般放到了rodata段,初始化为零的全局变量可能被编译器优化到 bss段。

2024-06-06 15:27:38 1419

原创 【VCS】VCS 仿真性能选项

只支持Verilog和systemVerilog语言编写的工程,不支持带vhdl语言的工程编译。

2024-05-22 18:47:12 6897 1

原创 Makefile简介

【代码】Makefile简介。

2024-05-21 18:14:16 396

原创 【EDA】验证环境运行流程

UVM环境运行原理

2024-05-13 22:59:01 1136

原创 【芯片验证】后仿真总结

SoC后仿介绍 - 知乎后仿学习--他山之石,非原创 - 知乎

2024-05-08 18:50:39 1260

原创 【VCS】Verdi常用指令

ctrl+w:将鼠标指向需要添加到波形上的信号名,通过该快捷键将该信号添加到波形上;shift+l:当鼠标指向波形区时刷新波形,当鼠标指向代码区(src1)时刷新代码;z:缩小波形,显示更长时间的波形;Z:放大波形,显示更短时间内的波形;f:显示全局的波形;shift+s:将当前存在于到波形区的信号保存为.rc后缀的信号列表;shift+m:波形区快捷添加标记时刻;ctrl+d:删除所有信号列表;x:在代码区快捷查看所有信号的当前状态;

2024-05-07 10:45:12 8063

空空如也

空空如也

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

TA关注的人

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