Cadence+Calibre后仿真(个人总结,欢迎交流讨论)
1. 对于能快速产生calire view的小模块DUT,Calibre XRC输出calibre view:
1. 1 Spectre simulator: 继续使用前仿真tb的schematic view, ADE-Setup-Switch View List里把calibre放在最前面即可。
1.2 AMS simulator: 在tb的config view里指定DUT的View to Use = calibre view即可。
2. 对于不能快速产生calibre view的大模块DUT,calibre XRC输出spectre格式的DUT.pex.netlist网表:
(DUT.netlist.pex里的include语句最好使用绝对路径)
2.1 Spectre simulator:
打开前仿真spectre/netlist目录下的netlist文件,
用netlist文件中的DUT的pin定义替换掉DUT.pex.netlist里的pin定义,
删掉netlist文件中DUT的subcircuit电路定义部分,改为:include "绝对路径/DUT.pex.netlist",
在ADE里导出前仿真的ocean脚本run.ocn,修改ocean脚本中netlist和psf的路径,
在系统的命令行里输入ocean, 然后再ocean的命令行里输入load("run.ocn")运行仿真。
这种方法把DUT作为一个subcircuit,其内部节点可被观测。
2.2 AMS simulator:
2.2.1 复制DUT的symbol view为spectre view;
2.2.2 编辑DUT的CDF:
CIW-Tools-CDF-Edit,选择DUT单元,设置CDF Type=Base,
在Component Paramters部分,Add: name=model, promt=model, defValue=DUT;
在Simulation Information部分 Edit:
Simulator=ams, componentName=DUT, termOrder=spectre的termOrder,
Simulator=spectre, componentName=DUT, termOrder=spectre的termOrder;
2.2.3 检查DUT的CDF里的pin顺序和DUT.pex.netlist里的pin顺序是否匹配,如果不匹配,则更改DUT.pex.netlist里的pin顺序;
2.2.4 在tb的config view里指定使用DUT的View to Use =spectre;
2.2.5 沿用前仿真的其它设置即可开始后仿。
因为这种方法把DUT作为一个元件,其内部的节点无法被观测。 |