在搭建UVM TB的时候,要根据DUT interface分类的不同,比如有下面的接口类型
AMBA<--------------------->DUT BUS interface
DUT<-------------------->NOC interface
DUT<-------------------->cache interface
等等一系列 interface
根据interface 的不同,划分不同的agent,不同的transaction等
因此在生成多个不同的interface带的时候,会存在重复性工作,这个时候就要想到使用脚本来处理,本文给出使用python处理的思想
interface作为连接静态硬件DUT和动态软件TB的中间桥梁,通过interface TB 将transaction driver到DUT 接口上,TB monitor 接口 用作TB的别的操作。
下面介绍使用python 生成通用interface 的方法。这里用到python 下面的几个模块
re :: 正则表达式相关,有关正则表达式自行学习
sys:: python 系统参数相关
os :: 输入输出相关
getopt :: 命令行args解析相关
python 模块库见下面的网站
https://docs.python.org/3/library/
逻辑1 在定义interface 要统一规范,使用统一的格式来定义interafce 的初始文件
interface thread (
clock_domain clk;
reset_domain rst;
master_domain signal //相对于TB来说
slave_domain signal //相对于TB来

本文介绍了在搭建UVM测试平台时,如何使用Python脚本自动化生成不同类型的interface,包括AMBA、NOC和cache接口。通过统一的格式定义接口初始文件,结合sys、os、getopt等模块处理命令行参数,实现clocking block的自动生成,简化了TB开发中的重复工作。
最低0.47元/天 解锁文章
822

被折叠的 条评论
为什么被折叠?



