最近在做一个数模混合电路的流片工作,数字部分综合后会生成一个.sdf(标准延时格式)文件,正常来说应该是要在vcs软件上进行电路延时的反标,但由于我的电路需要信号在数字模块和模拟模块中来回循环多次,因此,打算在cadence中完成sdf文件反标,进行数模混合仿真。
需要准备的文件:
1.综合生成的电路网表的.v文件;
2.工艺库中的数字单元的.v文件;
3.数模混合电路前仿所搭建的schematic;
需要编译的文件:
cadence virtuoso无法直接读取.sdf文件,需要在启动virtuoso的terminal里,输入一个ncsdfc命令加上你的.sdf文件的路径名,如下图:
需要编写的sdf command file文件:
在.X所在的文件夹中创建一个文本文件My_SDF,编写如下语句:
然后开始操作:
1.打开前仿的config文件,把选中数字顶层模块,右键set cell view--Mark as external HDL:
2.点一下保存,更新,然后点ADE L仿真器,加载你前仿保存的state即可。然后依次点击simulation-options-AMS...如下图所示。
3.在Main-Include Option Settings-Libraries Files/Directories下面加载上面说到的两个.v文件(综合文件和工艺库器件文件),其他默认点击OK;在SDF栏下,导入上面编写的sdf command file文件,并按照截图选择;在Timing栏下,也按照截图来选择;结束后点击apply后关闭即可。
4.继续点击ADEL界面中的simulation-Netlist and run Options,按照下图设置后点击OK。
5.完成后即可开始带有延迟信息的后仿。
6.如果想让模拟电路部分用版图来进行后仿真,在config界面将模拟版图的模块从schematic改为calibre保存上传即可。
7.在后仿弹出的log文件中看到这两个100%说明反标成功,否则失败,需要检查重新操作。
上述步骤参考了一下两篇文章: