当前位置: 首页 > news >正文

寺庙网站模板wordpress调用分类标题

寺庙网站模板,wordpress调用分类标题,wordpress标签云,网站如何做新闻聚合文章目录 前言1. 定义2. 核心功能3. 适用场景4. 使用方法5. 完整代码示例5.1 事务类定义5.2 Driver 类定义5.3 Sequencer 类定义5.4 测试平台 6. 代码说明7. 总结 前言 以下是关于 UVM 中 uvm_driver 的详细解释、核心功能、适用场景、使用方法以及一个完整的代码示例#xff… 文章目录 前言1. 定义2. 核心功能3. 适用场景4. 使用方法5. 完整代码示例5.1 事务类定义5.2 Driver 类定义5.3 Sequencer 类定义5.4 测试平台 6. 代码说明7. 总结 前言 以下是关于 UVM 中 uvm_driver 的详细解释、核心功能、适用场景、使用方法以及一个完整的代码示例 1. 定义 uvm_driver 是 UVMUniversal Verification Methodology中的一个重要组件类用于驱动事务transaction到设计DUT的接口。它通常与 uvm_sequencer 配合使用从 uvm_sequencer 获取事务并将其转换为信号级别的激励施加到 DUT 的接口上。 uvm_driver 的主要特点 从 uvm_sequencer 获取事务。将事务转换为信号级别的激励。是 UVM 测试平台中与 DUT 交互的关键组件。 2. 核心功能 uvm_driver 提供了以下核心功能 事务获取通过 get_next_item() 或 try_next_item() 方法从 uvm_sequencer 获取事务。事务处理将事务转换为信号级别的激励并驱动到 DUT 的接口。事务完成通过 item_done() 方法通知 uvm_sequencer 当前事务处理完成。与 Sequencer 的通信管理与 uvm_sequencer 的通信确保事务的顺序和同步。 3. 适用场景 uvm_driver 通常用于以下场景 接口驱动用于驱动 DUT 的输入接口如 AXI、APB、SPI 等。协议实现实现特定的总线协议或通信协议。激励生成将高层次的事务转换为低层次的信号激励。 4. 使用方法 使用 uvm_driver 的步骤如下 定义类从 uvm_driver 派生一个类并定义其属性和方法。实现 run_phase在 run_phase 中实现事务的获取、处理和完成逻辑。与 Sequencer 连接在测试平台中将 uvm_driver 与 uvm_sequencer 连接。驱动事务在 run_phase 中将事务转换为信号激励并驱动到 DUT。 5. 完整代码示例 以下是一个完整的代码示例展示如何使用 uvm_driver 驱动事务到 DUT 的接口。 5.1 事务类定义 // 定义一个从 uvm_sequence_item 派生的事务类 class my_transaction extends uvm_sequence_item;rand bit [7:0] data;rand bit [3:0] addr;bit valid;// 注册类到 UVM 工厂uvm_object_utils(my_transaction)// 构造函数function new(string name my_transaction);super.new(name);endfunction// 实现 print 方法virtual function void do_print(uvm_printer printer);printer.print_field(data, this.data, 8);printer.print_field(addr, this.addr, 4);printer.print_field(valid, this.valid, 1);endfunctionendclass5.2 Driver 类定义 // 定义一个从 uvm_driver 派生的驱动类 class my_driver extends uvm_driver #(my_transaction);// 注册类到 UVM 工厂uvm_component_utils(my_driver)// 构造函数function new(string name, uvm_component parent);super.new(name, parent);endfunction// 实现 run_phasevirtual task run_phase(uvm_phase phase);forever begin// 从 sequencer 获取事务seq_item_port.get_next_item(req);// 打印事务uvm_info(DRIVER, $sformatf(Driving transaction: data0x%0h, addr0x%0h, valid%b, req.data, req.addr, req.valid), UVM_LOW)// 将事务转换为信号激励这里用延时模拟驱动过程#10;// 通知 sequencer 事务处理完成seq_item_port.item_done();endendtaskendclass5.3 Sequencer 类定义 // 定义一个从 uvm_sequencer 派生的 sequencer 类 class my_sequencer extends uvm_sequencer #(my_transaction);// 注册类到 UVM 工厂uvm_component_utils(my_sequencer)// 构造函数function new(string name, uvm_component parent);super.new(name, parent);endfunctionendclass5.4 测试平台 // 测试平台 module testbench;initial begin// 创建 env 类class my_env extends uvm_env;my_driver driver;my_sequencer sequencer;// 注册类到 UVM 工厂uvm_component_utils(my_env)// 构造函数function new(string name, uvm_component parent);super.new(name, parent);endfunction// 构建组件virtual function void build_phase(uvm_phase phase);driver my_driver::type_id::create(driver, this);sequencer my_sequencer::type_id::create(sequencer, this);endfunction// 连接组件virtual function void connect_phase(uvm_phase phase);driver.seq_item_port.connect(sequencer.seq_item_export);endfunctionendclass// 创建测试类class my_test extends uvm_test;my_env env;// 注册类到 UVM 工厂uvm_component_utils(my_test)// 构造函数function new(string name, uvm_component parent);super.new(name, parent);endfunction// 构建组件virtual function void build_phase(uvm_phase phase);env my_env::type_id::create(env, this);endfunction// 运行测试virtual task run_phase(uvm_phase phase);phase.raise_objection(this);#100; // 模拟测试运行时间phase.drop_objection(this);endtaskendclass// 启动测试initial beginrun_test(my_test);endend endmodule6. 代码说明 事务类my_transaction 定义了事务的属性和方法。Driver 类my_driver 从 uvm_driver 派生实现了事务的获取、处理和完成逻辑。Sequencer 类my_sequencer 用于生成和管理事务。测试平台my_env 和 my_test 类用于构建和运行测试环境。 7. 总结 uvm_driver 是 UVM 中用于驱动事务到 DUT 的关键组件。它与 uvm_sequencer 配合使用负责将高层次的事务转换为低层次的信号激励。以上示例展示了如何定义和使用 uvm_driver适用于实际的验证场景。
http://www.dnsts.com.cn/news/174830.html

相关文章:

  • 海南建设交易中心网站长葛做网站
  • 购物网站建设资讯网站建设分析
  • 网站关键词如何收录设计说明万能模板500字
  • wordpress搬迁后台总跳转到老网站网站后台如何上传ico图标
  • 敖降网站建设昆明软件开发公司做门户网站的
  • 河南建设监理协会网站电话网站建设进度计划表
  • 网站类的百度百科怎么做购物网站建设方案ppt
  • 长春网站开发招聘网站建设推广唯心磁遁8
  • 网站建设基本流程前期甘肃省建设厅执业资格注册网站
  • 怎么做网站专题软件开发的外包公司
  • 广州品牌网站设计开发网上购物系统
  • 制作商城网站公司视频号如何绑定小程序商店
  • 做底单的网站企业网站开发教程
  • 做网站哪网站设计公司网站设计公司
  • 网站文章收录查询wordpress自带注册
  • 黄岛网站建设哪家权威wordpress替换公共js
  • 苏州建设局官方网站陈村建网站
  • wordpress必做温州seo品牌优化软件
  • 广告字设计免费生成广告网站建设网站排名优化
  • 长沙商城网站建设报价公示营销型网站建设菲凡网
  • 公司网站建设对公司的重要性电子商务网站建设教案
  • 东莞常平网站建设衡器行业网站建设模板
  • 郑州网站建设 李浩互联网大厂名单
  • 黑龙江建设网官方网站监理查询wordpress升级注意
  • 好的网站布局wordpress打开后台很卡
  • 江苏网站建设推广江苏网站设计方案
  • 邹平 建设项目 网站公示网站页尾设计
  • 济南专业网站优化做网站建设的技巧
  • 我想网站建设wordpress搭建论坛教程
  • 网站制作合作启航做网站怎么样