- 博客(9)
- 收藏
- 关注
原创 在test/sequence中引用reg model的句柄
在TB集成register model的情况下,在test和sequence中经常会对寄存器操作,需要引用register model句柄。使用uvm_resource_db::set/read_by_name是一种可行的传递句柄分方法。具体好的做法是:在env里面create reg model, 名字为m_dma_regs,用uvm_resource_db::set来将其放到资源池中。...
2019-10-12 17:43:04
512
原创 5-2 Register model之access API
1 read/write定义:virtual task read( output uvm_status_e status, output uvm_reg_data_t value, input uvm_path_e path = UVM_DEFAULT_PATH, input uvm_reg_map map = null, input uvm_sequence_base parent...
2019-10-10 14:36:42
457
原创 5-1 Register model之Usage model
1 综述register model是一个register block的例化,可以包括registers,register files,memory和其他register block。下图为一个包含两个registers和一个internal mem以及一个external mem的register model,名字为Model。Note: 一个register model的user不需要使...
2019-09-27 09:47:39
441
原创 地址空间的测试验证
1 有效地址的验证reset读寄存器检查reset value写寄存器,写数据用reset value的反值读寄存器,比对期望值:- RW: 检查读回的value是否是reset inverted value- RO: 检查读回的value是否是reset value2 无效地址的验证无效地址测试有两种情况,一是总线的response会带有error信息,二是对非法地址有int...
2019-09-24 14:56:22
244
原创 4 modeling sequence item的一些技巧
1 property and method一般定义sequence item的class里面会包含一些变量(property)和函数或任务(method),以及constrains.一些property前面会根据具体需求加上local或protected属性(local是class的内部method可以访问,class的不同对象可以访问;protected是class的内部method可以访问...
2019-09-20 11:48:57
147
原创 3 How to develop reusable verification componenet
开发component的顺序flow为data item即transaction建模,也即实现class uvm_xx_transaction extend uvm_sequence_item ()开发transaction level的component,包括:– sequencer– driver– monitor例化transaction level的compone...
2019-09-20 10:44:32
104
原创 2 TLM
1 TLM basicTransaction-level interface有 两种,一种是port/export,另一种是analysis port/analysis export。1.1 port/export1.1.1 using put() and get() method实现blocking通信先说port/export,又分为两种即blocking和non-blocking,以...
2019-09-19 11:00:07
484
原创 1 UVM testbench architecture
UVM testbenchtestbench 一般例化DUT和 UVM test class, 并配置他们之间的connection。值得注意的事,UVM test在run-time时动态例化。UVM testUVM test是top-level的component,典型的做法是,它执行三个反面任务:例化top-level的environment配置environment(通过fac...
2019-09-17 15:40:47
388
原创 system verilog TB中AXI配置接口简单agent的一个实例
system verilog TB中AXI配置接口简单agent的一个实例最近做了一个legacy的验证项目,TB是用system verilog搭建的,里面用到了许多system verilog本身的特性,如mailbox,event同步机制等,其中DUT的寄存器配置口的是AXI4-lite协议接口,其环境中搭建配置寄存器的AXI master agent方式比较别致,本文重点分析一下。分析采...
2019-09-10 11:24:47
1867
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人