- 博客(12)
- 收藏
- 关注
原创 axi协议学习
sig_namesource写地址通道awidMS用于标识写地址是哪个主机发出。awaddrMS写地址。awlenMS突发长度,给出突发传输的次数(拍数)[3:0]:axi3,所有突发长度为1-16。[7:4]:axi4,incr为1-256,其余长度为1-16。awsizeMS突发大小,给出每次突发传输的大小(bits)总传输量=len*size。MS突发类型,fixed,incr,wrap,reserverd。awlockMS。
2023-10-08 16:38:43
194
原创 UVM的seq/vseq、seqr/vseqr、intf/virtual_intf
在driver中首先从seqr中获取seq产生的item,将driver和seqr连接,uvm_driver内建有seq_item_port成员变量,uvm_seqr内建有seq_item_export成员变量。uvm_do宏做三件事情,item实例化,随机化,发送给seqr,三个动作封装在宏里。uvm_do宏产生item,交给seqr,driver从seqr取走这个item后,uvm_do并不会立即执行下一次的产生发送item的动作,而是要等待driver的seq_item_done信号。...
2022-08-09 16:57:12
1542
2
原创 config_db机制
config_db机制用于在UVM验证平台间传递参数。常见的枚举类型、virtual interface、bit类 型、队列等都可以成为config_db设置的数据类型。config_db是静态
2022-08-06 16:51:13
2145
2
原创 UVM打印信息管理
UVM提供了不同的函数对打印信息进行设置,有利于开发者更方便的进行调试。包括不同的信息严重等级、输出到标准屏幕,输出到打印文件,信息数量计数、仿真控制等。
2022-07-21 08:40:45
1452
原创 uvm的各种口的整理
不同组件之间的通信,在SV中可以通过旗语、信箱及事件来实现。UVM提供了方便的方法。根据不同的属性分为不同的口,在此做个整理理解。
2022-07-12 18:39:05
1298
原创 UVM寄存器模型的使用
通信中通常分为控制数据和其它数据。在DUV中使用寄存器控制。其它component在通过启动seq读写总线数据非常麻烦。通过建立寄存器模型将读写总线数据任务实现。建立需要实例化寄存器和在寄存器中实例化寄存器域段并进行相关配置(寄存器域段的读写类型、复位值、宽度。最低位位置、寄存器的偏移地址等)寄存器模型启动的seq会产生uvm_reg_bus_op变量,需要adapter来转换。adapter中定义reg2bus和bus2reg。......
2022-06-30 08:37:45
3115
原创 面向对象概念整理
sv是面向对象语言,面向对象的三大基本特征:封装、继承和多态。继承和重载是多态的前提,多态是结果的表现。利用重载可以方便的添加修改约束进而达到生成异常用例的目的。
2022-06-25 11:10:06
346
原创 UVM的factory机制,field_automation机制
使用factory机制注册的component类,可以通过类名(字符串)进行实例化,并自动调用其main_phase。在接收外部set的变量时,如果要传递的变量使用`uvm_field宏注册后,可以在此component类中省略get语句。用`uvm_field宏注册后可以使用内建函数无需自己定义实现。......
2022-06-25 11:07:18
765
原创 UVM的phase机制
UVM中的phase分为两类,一类是function_phase,另一类是task_phase。类似function和task的区别,function_phase的运行不消耗仿真时间,task_phase的运行消耗仿真时间。只有uvm_component类才支持phase机制。
2022-06-11 09:28:05
3113
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人