VPI中调用ADS模块进行联合仿真
ADS 模块
注意事项
VPI中使用ADS接口模块需要保证:
-
ADS的版本为2021,VPIphotonics版本为11.1;
-
在环境变量中添加两个ADS的路径:
1
2<ADS installation directory>\bin
<ADS installation directory>\adsptolemy\lib.win32.
如果能跑通Simulation Techniques Cosimulation ADS中的Demo,则表示联合仿真可行。
只跑通Demo可远远不够,需要跑通自己定义的ADS模型才算实现真正意义上的联合仿真。
创建ADS模板文件
-
在希望调用ADS模块vtmu工程的Input文件夹内New一个MyWorkspace,New一个Schematic。这个Schematic作为TestBench放在最顶层,同时也作为VPI与ADS的接口;
-
在ADS中找到TimedDataRead和TimedDataWrite两个Parts,用于VPI与ADS之间的数据传输;
-
在ADS中找到DF控制器并设置;
-
New一个器件的Schematic,作为ADS中的主体,里面包含全部功能。这里仅添加输入和输出的引脚,并设置Transient仿真器;
-
给模型设置参数,使得可以从顶层Schematic传参进器件Schematic内部;
-
给器件的Schematic设置一个Symbol,拖动到最顶层TestBench内,与数据接口连接;
-
在TestBench中生成一个Netlist,可以看到Workspace中多了一个netlist.log文件;
-
在文件夹中创建一个TC_ADSInSignal1.tim文件,文件名与接口所需文件名保持一致(或直接将Demo中的tim文件复制过来,注意输入几个端口,名称应该按照TC_ADSInSignal几.tim来,对应TC_ADSOutSignal几.tim);
-
在TC_ADSInSignal1.tim文件夹内打开cmd,运行
hpeesofsim netlist.log
指令;在VPI中运行ADS模板文件
回到VPI里添加ADS模块,将N_Inputs和N_Outputs设置为1并运行,得到上述例子ADS纯接线的结果与不添加ADS的结果保持一致(下图是输入前和输入后的)。