UVM Agent设计疑问:控制状态与数据接口是否可合并?
UVM Agent设计疑问:控制状态寄存器与Data接口是否可合并?
被测接收器端口信息

Control/Status Registers
- 16组32bit输入信号(对应16个控制寄存器)
- 16组32bit输出信号(用于控制回读与状态反馈)
- 每组寄存器对应16bit写选通信号
- 每组寄存器对应16bit读选通信号
Data接口
- 来自PHY层的4组8-bit数据
- 1路时钟信号
- 1bit有效信号
BRAM
无需关注,已计划为其单独创建Agent。
测试控制流程
- 配置控制寄存器
- 向Data接口施加激励
- 检查状态寄存器与BRAM内容
疑问与咨询
UVM建议为Control/Status Registers和Data接口分别创建Agent,但我存在以下困惑:
- 我认为这种拆分方式更适合双向功能场景(即一端输入另一端输出,反之亦然),但我的测试控制流程固定,不确定拆分两个Driver是否有实际收益
- 若拆分两者,需要同步Sequencer,确保在施加Data激励前完成对应控制配置,但我不确定具体实现方式,查到的参考方案显得过于复杂
参考相关UVM环境文档及示意图后,我想咨询以下问题:
- 是否可以将Control/Status Registers与Data接口合并为一个Agent?该方案存在哪些弊端?
- 一个Agent能否(是否应该)包含多个Driver?
内容的提问来源于stack exchange,提问作者G. B.
相关产品推荐
相关产品推荐

