上一页 1 2 3 4 5 6 ··· 31 下一页
摘要: uvm搭建分层的testbench,组件之间的通信通过tlm 组件的通信接口 sequencer和driver之家通信机制uvm已经做好,在agent的connect_phase将driver和sequencer的接口进行连接 组件接口 SV实现组件之间的通信 使用中间接口对象 UVM组件之间的通信 阅读全文
posted @ 2024-03-19 15:15 Icer_Newer 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 管理测试案例的要求 testbench搭建完成之后,会创建很多的testcase进行测试 更改testcase之后,希望不更改平台的条件下,更改testcase的行为,就是工厂机制,实现testcase的多样化 Testcase要求:transaction Testcase要求:component 阅读全文
posted @ 2024-03-19 13:13 Icer_Newer 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 内容 UVM组件基类 UVM组件的逻辑层次:parent-child关系 组件显示和查询 任何地方都可以使用uvm_top get_name() - 获取组件名称 get_full_name - 获取组件路径及名称 uvm_top.find("*.seqr") - 按照逻辑名字查找组件 uvm_to 阅读全文
posted @ 2024-03-19 12:26 Icer_Newer 阅读(102) 评论(0) 推荐(0) 编辑
摘要: Makefile传递参数到SV中 在仿真阶段使用$value$plusargs函数传递字符串 // 接收Makefile中传递过来的参数 if($value$plusargs("UVM_TESTNAME",test_name)) begin // 传递参数之后执行这里的内容 end 应用举例 // 阅读全文
posted @ 2024-03-19 10:46 Icer_Newer 阅读(39) 评论(0) 推荐(0) 编辑
摘要: uvm exercise-1 实现apb_sequencer.sv,传输数据类型式abp_trans 实现virtual sequencer.sv,定义两个sub sequencer:mst_sqr,slv_sqr class abp_sequencer extends uvm_sequencer 阅读全文
posted @ 2024-03-16 01:13 Icer_Newer 阅读(104) 评论(0) 推荐(0) 编辑
摘要: sequencer使用 user sequencer类的创建 class gpio_sequencer extends uvm_sequencer #(gpio_transfer); `uvm_component_utils(gpio_sequencer) function new (string 阅读全文
posted @ 2024-03-15 17:14 Icer_Newer 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 配置sequence:基于instance 基于instance配置的好处 基于sequencer配置sequence 基于sequencer配置的好处 基于agent配置sequence 在phase中隐式执行sequence 显式执行sequence sequence的优先级和权重weight 阅读全文
posted @ 2024-03-15 13:42 Icer_Newer 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 内容 sequence概述 uvm_sequence_item - 数据建模 uvm_sequence - 产生数据 uvm_squencer - 将产生的数据给到driver uvm_driver - 数据驱动给dut sequencer是uvm组件,一个sequencer可以调用多个sequen 阅读全文
posted @ 2024-03-15 12:48 Icer_Newer 阅读(273) 评论(0) 推荐(0) 编辑
摘要: reference model 用于模拟RTL的行为,产生希望的值 driver的驱动给到reference model和dut,dut产生的结果和reference model产生的结果在score board中进行比对 Code driver scoreboard Test generator 阅读全文
posted @ 2024-03-15 10:30 Icer_Newer 阅读(10) 评论(0) 推荐(0) 编辑
摘要: System Verilog本身就是一种面向对象的语言,即本身就支持重载(override),重载即当父类中定义一个virtual类型的函数或任务时,在子类中可以重载这个函数或任务。所以我们来先看一下System Verilog对重载的支持。 案例2 system verilog重载 本质是使用继承 阅读全文
posted @ 2024-03-15 09:27 Icer_Newer 阅读(223) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 31 下一页