云计算百科
云计算领域专业知识百科平台

UVM sequencer 与 sequence 关系

谁把 sequence 里的 transaction 拽出来给 driver?

在 UVM 验证平台中,driver 只负责驱动 transaction,不负责产生 transaction。那么 sequence 里产生的 transaction 是怎么跑到 driver 手里的?答案就是 sequencer——它站在 sequence 和 driver 中间,负责调度和转发。

sequencer 是“枪”,sequence 是“弹夹”

在 UVM 圈子里有一个非常经典的比喻:transaction 是子弹,sequence 是弹夹,sequencer 是一把枪。弹夹(sequence)只有放入枪(sequencer)中才有意义,枪只有在装上弹夹后才能发挥威力。

更严谨地说:

  • uvm_sequencer 是一个 uvm_component,在验证平台中始终存在。它本质上是一个 TLM 中介,内部持有 FIFO 队列,负责管理多个 sequence 并对它们进行仲裁。sequencer 与 driver 之间通过 seq_item_port / seq_item_export 进行 TLM 通信。

  • uvm_sequence 是一个 uvm_object,生命周期比 component 短。它就像一份“剧本”,在 body() 任务里定义要产生什么样的 transaction 序列。sequence 必须

赞(0)
未经允许不得转载:网硕互联帮助中心 » UVM sequencer 与 sequence 关系
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!