| |
后仿真的方法比较多样,使用calibre能有图形界面交互,使用spectre加编辑CDF进行仿真,但是以上对于前后仿真的对比都差点意思,下面介绍一种使用网表进行后仿真的方法。
使用spectre提取出C+CC网表后(区别于calibre的网表),会在PEX的工作目录下生成.pex.netlist和.pxi的文件,.pex.netlist包含原有器件的基础上增加了寄生器件、以及各个节点对衬底的寄生电容即C,.pxi包含各个节点之间的跨接电容即CC,.pex.netlist中一般会在最后自动加上include对应的.pxi文件的语句。
接下来只要把原来仿真的网表更换成spectre生成的网表即可,在simulation下对于的仿真电路找到input.scs文件,这个就是仿真时生成的网表,可以先运行前仿电路生成,在前仿生成的基础上进行更改。
首先在input.scs前加上语句(也可以在model library里添加,个人感觉直接在input.scs里添加比较好,不会有冲突)
接着找到例化提取出来模块的顶层(比如这里前仿是在amp_chop_v4_v7_v2_top里例化了amp_chop_v4_v7_v2_v1_layout_clk,现在要对amp_chop_v4_v7_v2_v1_layout_clk进行后仿真),找到原来模块的位置,把节点按照.pex.netlist的位置进行排列。这一部分类似于数字的module模块的调用或者C语言里函数的调用,module/函数的定义就是在.pex.netlist中,所以需要使用include类似于调用头文件。
更改完成后的网表记得做好备份,放置被仿真器或者生成calibre时替换掉,在ADE中simulation选择run,即不再生产网表直接仿真,如果第一次有报错,直接选择netlist and run(simulation下)。
查看网表是否正确,在simulation中选择netlist-display看网表是否是修改后的。
注:
1、spectre提取出来的网表中节点名称和前仿是一致的,如果使用layout xl绘制的版图(L的不太清楚),提取出来网表中各个器件的名称只比前仿是多一个前缀比如dX,可以把网表里的前缀dX删除(查找替换,比如把dXPM替换为PM),这样就可以在后仿对应晶体管的位置直接像前仿一样查看operation point。
2、可以在网表中使用注释//(单行),注释掉,(跨行注释自查)
3、删除可以借用word里的查找替换功能,如果要把所有parasitic_diohnpb的寄生二极管删除,勾选上使用通配符后,使用下方的语句查找
[!^13]@parasitic_diohnpb*^13
[!^13]代表非换行开始,@ parasitic_diohnpb代表包含parasitic_diohnpb的语句,*代表任意语句,^13代表回车符。
查找的内容为:xxxparasitic_diohnpbxxx
4、使用Run,网表依旧会更新替换,这个情况比较复杂,目前只在pss仿真里遇到过。
默认runSimulation中配置spectre仿真的脚本(类似于数字使用vcs、verdi用的makefile):
spectre input.scs +escchars +log ../psf/spectre.out +inter=mpsc +mpssession=spectre0_3451_5 -format psfxl -raw ../psf +lqtimeout 900 -maxw 5 -maxn 5
使用原有runSimulation里的脚本总是会卡死在一个阶段,可以不再设置spectre容忍等,直接(在netlist文件夹下)spectre -format psfxl +log ../psf/spectre.out -raw ../psf input.scs跑仿真。
在ADE顶端空白处(可以在load state旁边)右键,显示ADE Result Directory,点击路径旁边的terminal就会在ADE输出路径下打开terminal,在terminal下spectre -format psfxl +log ../psf/spectre.out -raw ../psf input.scs(注意路径),也可以在CIW里输入命令但是路径更复杂。
查看方式,如果使用spectre input.scs直接进行仿真,因为没有特殊设置,得到的结果会保存在工作目录的input.raw文件夹下,在result browser里打开该文件夹就可以查看波形。
建议设置输出格式及输出目录后,可以直接使用result browser打开(一般默认也是打开psf文件夹),对于等效输入噪声等曲线,在result browser只能用公式实现。对于ADE L可以在result-select选择对应的输出目录,即可使用main form等工具查看波形。