前面讲过了vmm testbench的diagram. 下面逐一介绍
今天我们先讲svidIntf(interface), svidSYSCfg(system configuration), svidREGCfg(register configuration, including OTP configuration)这些部分
1. svidIntf.sv 描述了这个testbench的interface. 原则上来说,interface的input一般只允许出现一些clock(bit类型). 一般有几个独立的clock就列出它们作为input. 因为clock是在toplevel的testbech中定义的(或者专门的clkgen中定义的). interface中的信号多用logic类型(稍稍优于wire).
跨越hierarchy的信号(XMR internal signal)也在interface中声明,而赋值是通过assign语句完成的(如下)
assign interface.XMR_signal=tbTop.logic_core.u_pp.signal; // 有点类似于`define XMR_hie tbTop.logic_core...
2. svidSYSCfg.sv 定义了系统的全局开关,它含有自己的静态vmm_log 成员。
3. svidREGCfg.sv 中定义了DUT中register期望加载的配置信息,这些配置的值将会在power on reset后直接或者通过svidCfgDUT加载到DUT中。这个config类拥有自己的静态vmm_log, svidSYSCfg句柄(REGCfg中包含SYSCfg句柄是推荐的做法),句柄可以指向外部的已有对象。