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)
还没有任何评论哟~
