在搭建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;