Advertisement

UVM——架构组件代码实例(二、基础、factory数据包覆盖)

阅读量:

文章结构概述

  • 1.packet.sv(数据包)
    • 2.packet_da_3.sv(添加约束包)
    • 3.packet_sequence.sv(生产数据)
    • 4.driver.sv(驱动数据)
    • 5.input_agent.sv(代理)
    • 6.router_env.sv(环境)
    • 7.test_collection.sv(测试用例,覆盖+增补)
    • 8.test.sv(主代码,启动UVM)
    • 9.Makefile(make编译)
    • 10.打印结果

实例二相较于实例一存在如下不同之处:

  • 在实例二中,通过 default_sequence 的方式在 env 中启动 sequence 发送数据,与实例一中所采用的 start() 方式启动 存在差异;
  • 实例二中 引入了新的数据包 ,该数据包在原有基础上进行扩展,增加了约束条件,旨在 支持后续的覆盖率分析
  • 实例二新增了测试用例,并在其中 借助 factory机制实现了 packet_da_3 数据包对 packet 的覆盖操作(override) ,无需重新创建 sequence 即可完成功能,从而提升了代码的 可复用性
  • 在 test_collection.sv 文件中分别应用了

全部评论 (0)

还没有任何评论哟~