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

UVM之sequencer

1.UVM Sequencer含义

Sequencer 就是 sequence 和 driver 间的 “交通枢纽 ”。

在 UVM 里:

  • Sequence:负责产生激励(发什么数据、怎么发)
  • Driver:负责把激励转成时序信号(驱动 DUT 接口)

2.作用

sequence与driver两者不能直接通信,必须通过 Sequencer 中转。Sequencer作用:

  1. 接收来自 Sequence 的 transaction;响应 Driver 请求,把 transaction 交给 Driver

//TLM 通信通道
//Driver 通过 seq_item_port
//Sequencer 提供 seq_item_export
//两者通过 connect() 连上:
driver.seq_item_port.connect(sequencer.seq_item_export);

  1. 缓存、排队、调度
  • 多个 sequence 同时发激励
  • Sequencer 负责:优先级、抢占、锁定、仲裁
  • 保证 Driver 一次只拿到一个 transaction
  1. 提供上下文环境
    Sequencer 里可以放:config 对象;寄存器模型;事件、旗语;virtual sequencer 里的其他子 sequencer:sequence 可通过 p_sequencer 访问。
  2. Virtual Sequencer(高级功能)
    当有多个总线(AXI、UART、I2C)时:每个总线有自己的 sequencer,顶层一个 virtual sequencer 把它们全部挂在一起,virtual sequence 统一调度

3.使用场景

//driver主动请求
seq_item_port.get_next_item(tr); // Driver 向 Sequencer 要 transaction

//sequence发送
start_item(tr);
finish_item(tr); // Sequence 通过 Sequencer 发给 Driver

//Sequencer定义,uvm_sequencer #(TR) → 内置了 TLM 端口、队列、调度机制
class my_sequencer extends uvm_sequencer #(my_transaction);
`uvm_component_utils(my_sequencer)
function new(string name, uvm_component parent);
super.new(name, parent);
endfunction
endclass

4.m_sequencer /p_sequencer 关系

m_sequencer:sequence 内部指向 sequencer 的基类句柄
p_sequencer:指向真实类型的子类句柄(uvm_declare_p_sequencer)
本质都是指向同一个 Sequencer 实例,只是类型不同。

  • uvm_declare_p_sequencer = 强转 sequencer 指针
  • p_sequencer = 你自己的 sequencer,能访问所有成员
  • 没有这个宏,你在 sequence 里拿不到 config/reg_model
http://www.jsqmd.com/news/642191/

相关文章:

  • 从零到一:基于STM32F103RCT6与矩阵键盘的嵌入式系统双项目实战
  • 2026年4月更新:伺服热板塑料焊接技术演进与**生产商宁波威博深度聚焦 - 2026年企业推荐榜
  • 分析和存储日志知识点问答
  • HPH构造全解析
  • 致远OA A8 htmlofficeservlet 漏洞深度剖析:从原理到实战利用链还原
  • 对抗攻击防御超简单
  • 2026年近期北京围挡市场深度解析:五大优质直销厂家综合测评与采购指南 - 2026年企业推荐榜
  • **雾计算中的边缘智能:基于Python的轻量级任务调度系统设计与实现**
  • 告别复杂配置!Qwen2.5-7B微调镜像开箱即用,10分钟上手实战
  • 从入门到精通:Java 编程语言全解析 —— 夯实编程基础,开启开发之旅
  • Keepalived高可用与负载均衡
  • Jetson Xavier NX(ubuntu18.04)实战:编译安装RTL8152与RTL8192FU双网卡驱动
  • 2026年做一个网站需要花多少钱?便宜的网站建设到底便宜在哪里?
  • CAM++系统实战案例:如何用声纹识别提升安防等级
  • 2026年4月更新:石林地区生产大棚钢管服务商五强深度解析与选型指南 - 2026年企业推荐榜
  • 2025届最火的十大降AI率神器实际效果
  • 前端权限管理新方法:别再用传统角色了
  • 2025届毕业生推荐的五大降重复率神器实际效果
  • Qwen3-VL-4B Pro API调用详解:图片转base64、构造请求、解析响应,三步搞定
  • 毕业季冲刺:我的论文AI率从80%降到10%的
  • 恒温恒湿空调箱PLC智能控制程序:西门子Smart 200与昆仑通态MCE/触摸屏Smart ...
  • 实验五 Python字符串处理
  • 视觉语言模型部署“最后一公里”攻坚:FP16量化失真补偿、跨模态缓存对齐、动态视觉token剪枝——奇点大会TOP3开源方案深度对比
  • 突破某音新版SSL Pinning:无需Frida的SO层Patch方案
  • # 发散创新:基于Rust的内存安全防御机制实战解析在现代软件开发中,**内存安全漏洞**(如缓冲区溢出
  • 2026年4月,企业出海如何优选?深度解析香港及海外公司注册服务商五强格局 - 2026年企业推荐榜
  • 前端 WebSocket 新方法:别再用传统轮询了
  • Comsol弱解法在三维光子晶体能带计算中的应用
  • 【仅限首批参会者获取】:2026奇点大会VQA开源工具链提前泄露版(含3个工业级微调模板+标注规范白皮书)
  • 2026年当下,如何选择评价高的财务审计服务?五大品牌深度解析与选购指南 - 2026年企业推荐榜