sequence与sequencer
返回知识网络总入口 · 运行与激励
核心结论
sequence 描述激励内容和顺序,sequencer 仲裁并转发请求;前者是 object,后者是 component,driver 才负责真实时序。
关键机制
- create 后 seq.start(sqr),start 通常等待整段 sequence 结束。
- body 创建发送 item,REQ/RSP 约定需与 sequencer/driver 兼容。
- default_sequence 按 sequencer 的某个 phase 配置自动启动;显式 start 更易跟踪控制关系。
小例子或流程
// test中,省略外层objection管理
seq = my_sequence::type_id::create("seq");
seq.start(env.agt.sqr);start 启动整段 sequence,start_item/finish_item 在 body 内发送一笔 item,是不同层级。
易错点
- create 不自动执行 body。
- 普通发 item 的 sequence 要有正确 sequencer;纯编排场景要另行取得底层句柄。
- default_sequence/starting_phase 示例有 UVM 1.1d 背景。
关联知识
- object与component:sequence 是 object,sequencer 是 component。
- test与启动流程:test 显式或配置默认 sequence 启动场景。
- phase:sequence 要在合适阶段启动并存活到完成。
- objection:sequence 运行要有明确场景拥有者。
- 请求握手:sequence 将场景细化为 item 发送。
- 仲裁与lock_grab:多个 sequence 共用 sequencer 时需要仲裁。
- sequence生命周期与宏:start 和宏决定回调与发送路径。
- virtual_sequence:高层编排复用普通 sequence 的动作。
- sequence配置与sequencer句柄:绑定 sequencer 后获得类型与配置上下文。
- sequence_library:library 将普通 sequence 组成候选集合。
- 前门_adapter与总线链路:RAL 复用总线 sequencer 的调度和发送机制。