推荐答案
测试一下
题目
DUT中有一个寄存器"DJI_ID_HEAD",该DUT通过APB总线端口与SoC互联,
参考答案与知识点
参考答案
共6笔有效数据传输。分析每步操作:1. read(UVM_FRONTDOOR) 产生1笔APB读;2. write(16'hFFAA, UVM_FRONTDOOR) 产生1笔APB写;3. data.get() 仅获取内部值,无总线;4. data.set(16'hFFAA) 仅设置期望值,无总线;5. update() 比较期望值与镜像值(均为0xFFAA),相等则不产生写;6. data.set(16'hAAFF) 无总线;7. update() 期望值0xAAFF ≠ 镜像值0xFFAA,产生1笔写;8. reset() 清除镜像和期望值,无总线;9. data.set(16'hAAFF) 无总线;10. update() 期望值0xAAFF ≠ 镜像值0,产生1笔写;11. read(UVM_FRONTDOOR) 产生1笔读;12. mirror() 默认前门读,产生1笔读。总计6笔。
涉及知识点
- UVM前门访问产生总线事务
- register model的期望值与镜像值
- update操作条件判断
- reset操作不触发总线
- mirror默认前门读
- APB总线单次传输计数