calibre 后仿
Calibre后仿
1. 在用户目录(/home/用户名)下的Simulation文件夹中,新建一个存放后仿真文件的文件夹,如对本例的inverter则后仿文件夹名可取为“postinv”。
2. 新建一个inverter的schematic cellview,如取为inverter_simu,并画好inverter的电路图和进行相应的电路仿真。仿真完成后,则会在simulation文件夹中生成一个相应的存放仿真结果的文件夹,且其文件夹名与schematic cellview name完全一样。该文件夹中保存了仿真生成的电路网表(在文件夹“…/simulation/inverter_simu/spectre/schematic/netlist”中)和仿真分析结果(在文件夹“…/simulation/inverter_simu/spectre/schematic/psf”中,里面存入了dc、ac和tran分析的所有静态工作点、所有节点电压和电流等信息)。
将文件夹“…/simulation/inverter_simu/spectre/schematic/netlist”中的网表文件“input.scs”(该文件为spectre仿真时所运行的网表文件,相当Hspice的“.sp”文件)和文件夹“…/simulation/inverter_simu/spectre/schematic/psf”中“runObjFile”文件(该文件为查看仿真分析结果文件“dc-dc”、“ac-ac”和“tran-tran”中的节点电压电流等信息时的控制文件,里面包含了节点控制信息)复制到后仿文件夹“postinv”中。
注意:这里的schematic cellview(如取名为inverter_simu_1)最好是先建成symbol,然后再新建一个仿真用的schematic cellview(如取名为inverter_simu_2)。在schematic cellview (inverter_simu_2)中调用inverter_simu_1的symbol来构造电路图进行仿真,用对inverter_simu_2进行电路仿真的过程中所生成的电路网表文件“input.scs”进行后仿真。不要直接对inverter_simu_1进行电路仿真和不要直接用inverter_simu_1仿真生成的“input.scs”进行后仿真,尤其是对于较大的电路(如有十几个或几十个晶体管的电路)。因为直接用inverter_simu_1仿真生成的“input.scs”进行后仿真时,schematci网表和PEX提取的版图网表的节点很难保持一致,具体的原因将会在后面的后仿过程中详细介绍。
3. 运行Caliber->Run PEX,提取包含寄生参数的版图网表
(1) 新建一个PEX用的inverter的layout和schematic cellview,并按Calibre LVS过程中画电路图和版图的方法,画好相应的inverter的版图和电路图。
(2) 运行Calibre->Run PEX,即弹出Calibre Interactive-PEX对话框,其中的Rules栏目和Inputs栏目与Calibre LVS的填写完全一样(注意:运行PEX的控制文件完全与LVS的控制文件完全一样,也是“chrt035ee_lvs.ctl”文件,不要选择其它的文件,如“.cal”和“.pex”等文件)。
“Transistor level”左击Outputs按钮,在Outputs对话框中的Extraction Type栏目中选择上
和“Lumped C + coupling caps”(因为EEPROM是数字工艺,寄生电容对数字电路功能影响不大,因而主要考虑的是寄生电容的影响,故规则文件中只规定了寄生电容的提取规则,不能提取寄生电阻)。
填写好各栏目后,左击“Run PEX”运行PEX。
calibre 后仿
(3) PEX运行成功后,即弹出一个提取出来的网表文件对话框。将这个PEX提取出来的版图网表文件保存到新建的用于后仿的文件夹“postinv”中,并对其命名,如取为“netlistinv”。
打开PEX提取出来的网表“netlistinv”,若该网表用INCLUDE命令包含了其它的文件,则应将这些文件也复制到后仿文件夹“postinv”中(注意:这些文件都保存在PEX输出文件夹中,如“ee035_lvsout”)。对PEX提取出来的网表“netlistinv”,还可注意到:PEX提取出来的电路网表均是以子电路的形式的来描述的。这一点也是先将schematic cellview (inverter_simu_1)建成symbol,然后再新建一个仿真用的schematic cellview(inverter_simu_2)调用已建好的symbol进行电路仿真的理由。
4. 对schematic进行电路仿真所生成的电路网表“input.scs”和PEX提取出来的版图网表“netlistinv”,将“input.scs”的电路描述部分用PEX提取出来的版图网表“netlistinv”中相应的电路描述部分替换。在网表替换过程中,应注意如下事项:
(1) 若PEX提取出来的版图网表“netlistinv”中包含其它文件,即该网表用INCLUDE命令包含了其它的文件,则应在PEX输出文件夹 (如“ee035_lvsout”) 中将这些相应的文件也复制到后仿文件夹“postinv”中。
(2) 替换后的电路网表中的节点和端口名及顺序要完全一致,且节点和端口顺序要以对schematic进行电路仿真所生成的电路网表“input.scs”为准。
(3) 要特别注意的地方是:
(a) PEX提取出来的版图网表“netlistinv”是以spice语法来描述的。并且,若版图中的端口名的第一个字母若采用了数字,如“0”等,或在端口名的后面加了“!”号,如“vdd!”及“gnd!”,则提取出来的网表中的端口名会与所标的端口名不一样,所有的端口名前均被添加了“nonref_”。故一定要用全英文字符串来标注版图中的端口名。
(b) 用spice语法描述的电路在进行电路仿真时是不区分大小写的,即节点名“IN”与“in”是完全一样的。而用spectre语法描述的电路在进行电路仿真时则是区分大小写的,即节点名分别为“IN”与“in”的两个节点是完全不相同的。这一点在进行电路仿真时要特别注意。 (c) 若对schematic中的端口是采用全数字来进行标注或端口名的第一个字母是数字,如“0”或以“0”开头,则在电路仿真生成的网表“input.scs”中,对该端口名前会自动添加上“_net0”,从而使schematic中的端口名与网表中的节点名 …… 此处隐藏:8601字,全部文档内容请下载后查看。喜欢就下载吧 ……