您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > Calibre后仿操作步骤
Calibre后仿1.在用户目录(/home/用户名)下的Simulation文件夹中,新建一个存放后仿真文件的文件夹,如对本例的inverter则后仿文件夹名可取为“postinv”。2.新建一个inverter的schematiccellview,如取为inverter_simu,并画好inverter的电路图和进行相应的电路仿真。仿真完成后,则会在simulation文件夹中生成一个相应的存放仿真结果的文件夹,且其文件夹名与schematiccellviewname完全一样。该文件夹中保存了仿真生成的电路网表(在文件夹“…/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”中。注意:这里的schematiccellview(如取名为inverter_simu_1)昀好是先建成symbol,然后再新建一个仿真用的schematiccellview(如取名为inverter_simu_2)。在schematiccellview(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-RunPEX,提取包含寄生参数的版图网表(1)新建一个PEX用的inverter的layout和schematiccellview,并按CalibreLVS过程中画电路图和版图的方法,画好相应的inverter的版图和电路图。(2)运行Calibre-RunPEX,即弹出CalibreInteractive-PEX对话框,其中的Rules栏目和Inputs栏目与CalibreLVS的填写完全一样(注意:运行PEX的控制文件完全与LVS的控制文件完全一样,也是“chrt035ee_lvs.ctl”文件,不要选择其它的文件,如“.cal”和“.pex”等文件)。左击Outputs按钮,在Outputs对话框中的ExtractionType栏目中选择上“Transistorlevel”和“LumpedC+couplingcaps”(因为EEPROM是数字工艺,寄生电容对数字电路功能影响不大,因而主要考虑的是寄生电容的影响,故规则文件中只规定了寄生电容的提取规则,不能提取寄生电阻)。填写好各栏目后,左击“RunPEX”运行PEX。1(3)PEX运行成功后,即弹出一个提取出来的网表文件对话框。将这个PEX提取出来的版图网表文件保存到新建的用于后仿的文件夹“postinv”中,并对其命名,如取为“netlistinv”。打开PEX提取出来的网表“netlistinv”,若该网表用INCLUDE命令包含了其它的文件,则应将这些文件也复制到后仿文件夹“postinv”中(注意:这些文件都保存在PEX输出文件夹中,如“ee035_lvsout”)。对PEX提取出来的网表“netlistinv”,还可注意到:PEX提取出来的电路网表均是以子电路的形式的来描述的。这一点也是先将schematiccellview(inverter_simu_1)建成symbol,然后再新建一个仿真用的schematiccellview(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中的端口名与网表中的节点名不一致。所以尽量要用用全英文字符串来标注schematic中的端口名。(d)对schematic中未指定端口名的节点,spectre在电路仿真生成电路网表时是自动给这些未指定端口名的节点命名的,一般以“_net”开头,后面接编号。为保证PEX提取出的版图网表和spectre提取出的电路网表尽量一致,应对schematic作如下处理:凡是版图中标有端口名的地方,在schematic中的相应地方也要采用pin标注上一样的端口名。(由于电源电压节点“vdd!”和地节点“0”比较特殊,这里可暂时不考虑schematic中电源电压节点和地节点的端口标注,后面将会介绍这两个端口的处理方法。)(4)网表的替换可采取如下两种方法:一是:不改动PEX提取出来的版图网表“netlistinv”中的节点和端口名及顺序,而是2改动schematic电路仿真生成的电路网表“input.scs”中的节点和端口名及顺序,使之与前者完全一致。二是:不改动schematic电路仿真生成的电路网表“input.scs”中的节点和端口名及顺序,而是改动PEX提取出来的版图网表“netlistinv”中的节点和端口名及顺序,使之与前者完全一致。这种方法对小电路还可行;但对大的电路则不可行,因为大的电路中的需改动的地方很多。因而,一般是采用第一种方法来替换“input.scs”中的电路网表。(5)在用PEX提取出来的版图网表“netlistinv”替换schematic电路仿真生成的电路网表“input.scs”中的相应电路描述部分时也有两种方法:一是:打开PEX提取出来的版图网表“netlistinv”和schematic电路仿真生成的电路网表“input.scs”,将PEX提取出来的版图网表“netlistinv”中的内容复制到“input.scs”中,并替换掉“input.scs”相应的电路描述部分。然后修改“input.scs”文件中的所有节点和端口名及顺序,使两者完全一致。二是:直接删除schematic电路仿真生成的电路网表“input.scs”中与PEX提取出来的版图网表“netlistinv”相应的电路描述部分,然后用“INCLUDEnetlistinv”命令代替该电路描述部分,即直接将PEX提取出来的版图网表“netlistinv”包含到“input.scs”中。然后修改“input.scs”文件中的所有节点和端口名及顺序,使两者完全一致。(6)修改PEX提取出来的版图网表“netlistinv”中的所有元件的模型名,使之与model文件中定义的元件的模型名完全一致。(7)在修改后的电路网表“input”文件中加入如下语句:在“input”文件中被替换的电路描述部分之前加入命令:simulatorlang=spice(意思是该命令之后的电路网表是以spice语法来描述的)在“input”文件中被替换的电路描述部分之后加入命令:simulatorlang=spectre(意思是该命令之后的电路网表是以spectre语法来描述的)(8)在用spectre进行电路仿真时,应特别注意以下事项:spectre在进行电路仿真时,默认的电源电压节点只有“vdd!”,默认的地节点只有“0”;并且“vdd!”和“0”均被定义成了全局变量(global0vdd!)。故在对spectre网表“input.scs”进行电路仿真之前,应先确保PEX提取出来的版图网表“netlistinv”中的电源电压节点VDD和地节点GND(spice语法描述的)和spectre所定义的电源节点“vdd!”和地节点“0”是连接在一起的。修改的方法有如下两种:(a)由4(3)(a)可知:版图中的电源电压端口和地端口应采用大写或小写的“vdd”和“gnd”来进行标注,故PEX所提取的版图网表中电源电压节点和地节点分别为“VDD”和“GND”。因而只需将PEX所提取的版图网表中的所有电源电压节点“VDD”和地节点“GND”分别替换为spectre语法所下定义的电源电压节点“vdd!”和地节点“0”即可。(b)对于电源电压节点和地节点的统一,还可采取下述方法很方便的解决:在schematic电路图中:在电源电压节点“vdd!”(即analogLib中vddsymbol,它为一“T”字形)和电路中需要提供电源电压的节点之间串联一个电压为0的电压源;同时,也在3地节点“0”和电路中需要接地的节点之间也串联一个电压为0的电压源,如下图所示。然后,在电路中需要提供电源电压的节点和需要接地的节点上用pin分别标注上“vdd”和“gnd”端口。这样,在电路仿真所生成的网表“input.scs”中,spectre就加入了与PEX提取出的版图网表中完全一致的电源电压端口“VDD”和地端口“GND”,从而保证了spectre电路仿真生成的schematic网表“input.scs”和PEX提取的版图网表中的所有端口名的完全一致。故只需用PEX提取的版图网表替换“input.scs”中相应的电路描述部分即可。(文件夹“postinv_2”就是采用这种方法解决“vdd”和“gnd”端口的一致性问题的)5.在终端中用spectre运行改好的电路网表“input.scs”,运行步骤如下:(1)在…/simulation/postinv文件夹下打开终端treminal;(2)输入命令csh,并键入回车
本文标题:Calibre后仿操作步骤
链接地址:https://www.777doc.com/doc-4654433 .html