通过修改SPECTRE网表进行后仿

参考:关于修改网表进行Spectre的后仿教程与注意事项

寄生参数提取

首先确保layout能够通过DRC和LVS。
PEX-Outputs-Netlist中,Format选择SPECTRE格式,Use Names From选择SCHEMATIC。SPECTRE格式的NETLIST对大小写不敏感,因此这种方式适合原理图中terminal和pin使用不完全使用大写命名的情况。
在这里插入图片描述

PEX-Inputs-H-cells选择x-Cell文件,该文件描述的是采用寄生作为设计参数的器件(如mom电容),如果不添加该文件,会出现重复提取的错误。
在这里插入图片描述

PEX-PEX Options-Netlist和LVS Options中设置你电路中的电源和地的名称。
在这里插入图片描述
然后Run PEX就就可以进行抽取。
抽取完成后,在之前指定的抽取路径中找到pex.netlist文件与pxi文件:
在这里插入图片描述

pex.netlist是后抽的网表,里面是最顶层的器件和连接关系,pxi文件为寄生参数文件。另外,pex.netlist中include了pxi文件,因此需要注意不要改名,且这两个文件应在同一路径下。(如果要修改的话,应修改对应路径)

修改SPECTRE网表

找到前仿产生的网表(Simulation文件夹中的input.scs),在pex.netlist中修改两个内容:
1.顶层电路的名字,改为和input.scs一致
2.顶层电路的端口顺序,改为和inpus.scs一致

例如,在input.scs中的顶层电路名为your_circuit, 端口顺序为PORT0 PORT1 PORT2 PORT3,则pex.netlist中改为:

// ...pex.netlist
// Created: Tue Dec 12:00:00 2023
// Program "Calibre xRC"
// Version "v2019.3_15.11"
//
simulator lang=spectre
include "your_circuit.pex.netlist.pex"
subckt your_circuit ( PORT0 PORT1 PORT2 PORT4 )

修改完毕之后,在ADE中把pex.netlist添加到Model Library并勾选:
在这里插入图片描述

然后再重新生成网表input.scs,新的input.scs中会include这个pex.netlist:
在这里插入图片描述
在这里插入图片描述

pex.netlist已经对各个子电路模块定义过了,input.scs中原来定义的subckt就不需要了,需要把所有的子电路定义部分全部删除,只保留顶层的测试电路(testbench)部分。如果不删干净,在仿真时则会出现重复定义(redefine)的错误。
简单来说,pex.netlist是一个包含了提取出来的寄生参数信息的网表,我们要使用它进行仿真。具体做法就是通过原来前仿的网表input.scs去调用它,同时把Input.scs中用不到的原来的子电路全部删除,防止定义冲突。

仿真

以上所有修改都完成后,使用Simulation-Run仿真,不要使用Netlist and Run,否则会新生成一个input.scs把修改好的覆盖掉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值