介绍一个UVM环境自动生成工具
摘要:介绍一个通过GUI方式自动生成UVM环境的工具,uvm_testbench_gen。工具来源于DVCon US 2022的一篇论文:Novel GUI Based UVM Test Bench Template Builder。工具源码开源在git:
Linkhttps://github.com/hellovimo/uvm_testbench_gen
uvm_testbench_gen使用python的tkinter编写,其主要目的在于提升UVM环境搭建效率,缩减前期验证环境准备时间。基本上,所有的环境自动化工具,都是围绕这个主题,比如VCS自带的uvmgen,Open Tian等,文末也会给出这几个工具的对比。
一、工具特性
-
支持搭建UMV模板代码;
-
支持搭建单个UVM component或者复杂的testbencch结构;
-
支持建立多个agent、monitor和scoreboard;
-
支持建立多env结构;
-
支持向已有环境集成agent、monitor和scoreboard;
-
支持产生环境的说明文档,易于阅读;
1.1 下面对一些主要功能进行介绍。
- build单个component
-
初始化时选择"Single UVM Component"
-
给component命名,并选择组件的类型,支持sequecne、sequence item、sequencer、driver、monitor、agent、scoreboard、env、test和interface。
-
产生代码
1.2 interface生成
- 这里还支持搭建interface!三种模式:新建空的interface,user自定义interface,从文档中导入。
- 生成的interface代码如下:
1.3 agent生成
- 生成agent的操作和代码如下:
1.3 build environment
-
初始化时选择"Single & Multi Env VIP";
-
选择GUI方式产生,或者从文档中导入;
-
填写环境配置,并产生代码
1.4 上述操作说明可以参见:
Linkhttps://github.com/hellovimo/uvm_testbench_gen/wiki/The-Novel-GUI-Based-UVM-Template-Generator工具特性
文中也给出几个工具的对比如下: