clex18.in : GDS2, netlist reduction and contact statement
Requires: CLEVER
We show in this example that CLEVER can be used with a gds2 layout format as input. The commands used are GDS2="layout.gds" and cell="cell_number1" which allow the user to load a gds2file and select a specific cell in the layout.
Netlist reduction for capacitance and resistance extraction are also available in CLEVER. Since we perform the capacitance and resistance extraction with one Interconnect command, we need to define two different minvalues. Therefore the keywords minRES and minCAP have to be set in the Interconnect command like:
Interconnect minRES = 0.001 minCAP=1.0e-18.
Finally we show in this example that the Interconnect statement was extended by the option Contact = <string>. This allows the user to specify one particular conductor for which CLEVER extracts the capacitance values with respect to all other conductors. If more than one interconnect statements are invoked during the course of the simulation, the last results of capacitance calculation will replace the previously calculated values that already exist in the netlist.
To load and run this example, select the Load button in DeckBuild > Examples. This will copy the input file and any support files to your current working directory. Select the Run button in DeckBuild to execute the example.
Input Deck
go VictoryProcess Init Layout=clex18.gds cell=INV_MET_POLY_COMB mapfile=clex18.map Depth=10 \ Material=Silicon RuleFile=clex18.lmp Gasheight=100 Electrode Substrate ############################## # Define thickness variables # ############################## set fieldoxide_thick=0.35 set poly1_thick=0.22 set ild_thick=0.75 set metal1_thick=0.62 set metal2_thick=0.62 set metal3_thick=0.62 set metal4_thick=0.62 set metal5_thick=0.99 set IMD1_thick=0.99 set IMD2_thick=0.99 set IMD3_thick=0.99 set IMD4_thick=0.99 set passiv_thick_ox=1.5 set passiv_thick_nit=1.2 ## Process Description ## ## Trench Etch Material=Silicon Thickness=$"fieldoxide_thick" Max Mask=AA Deposit Material=Oxide Thickness=0 Max ## Gate oxide level Deposit Material=Gateox Thickness=0.01 Max Etch Material=Gateox Mask=*GATE reverse deposit Material=oxide Thickness=0 Max ## Poly Deposit material=polysilicon Thickness=$"poly1_thick" Max Etch material=polysilicon Mask=CPOL Electrode Mask=*GATE material=polysilicon ## Contact deposit material=PMD thickness=$"poly1_thick" Min deposit material=PMD thickness=$"ild_thick" Max Etch material=PMD Mask=CCON Reverse Etch material=oxide Strip Material=Resist ## Stop Source/Drain/Substrate Contacts Shorting to Substrate ## ## since substrate is treated as conductor here in other examples## ## substrate is a dielectric and thus no problem of short circuit ## Deposit Material=Gateox Thickness=0.01 Min ## Named polygons will be converted into electrodes ## Electrode Mask=*CONT Material=Gateox ## Metal 1 deposit Material=ALU1 thickness=$"metal1_thick" Max Etch material=ALU1 Mask=CME1 Electrodes Mask=CME1 material=ALU1 ## passiv deposit material=TEOS thickness=$"passiv_thick_ox" Max deposit material=NIT thickness=$"passiv_thick_nit" Max save Name=clex18_0 go Clever Init Structure="clex18_0.str" GDS2="clex18.gds" cell="INV_MET_POLY_COMB" \ layermap="clex18.map" Map="clex18.lmp" ############################### # Assign materials parameters # ############################### material silicon conductivity=1000 ############################## # Define material variables # ############################## set Perm_Gateox=0.0001 set Perm_OXIDE=3.9 set Perm_PMD=4.2 set Perm_FOX=3.9 set Perm_TEOS=4.2 set Perm_HDP=4.1 set Perm_NIT=6 set poly_conduct=1.0/(6*$poly1_thick*1e-4) set lil_conduct=1.0/(0.285*$poly1_thick*1e-4) set Al_conduct_1=1.0/(70e-3*$metal1_thick*1e-4) set Al_conduct_2=1.0/(70e-3*$metal2_thick*1e-4) set Al_conduct_3=1.0/(70e-3*$metal3_thick*1e-4) set Al_conduct_4=1.0/(70e-3*$metal4_thick*1e-4) set Al_conduct_5=1.0/(45e-3*$metal5_thick*1e-4) material material("poly") conductivity=$poly_conduct material material("ALU1") conductivity=$Al_conduct_1 material material("TEOS") permittivity=$Perm_TEOS material material("PMD") permittivity=$Perm_PMD material material("NIT") permittivity=$Perm_NIT material Material("Gateox") permittivity=$Perm_Gateox material material("ALU2") conductivity=$Al_conduct_2 material material("ALU3") conductivity=$Al_conduct_3 material material("HDP") permittivity=$Perm_HDP ## Save the 3D structure save structure="clex18.str" ## Parasitic Extraction ## # Extract the resistance but keep only those above 1ohm Interconnect Resistance AdaptR=0.05 MinRES=1 # First a calculation is made with 5% for every electrodes. Interconnect Capacitance AdaptC=0.05 capsolver=1 # Then Vdd since the precision asked is higher. Interconnect Capacitance contact="Vdd" adaptC=0.03 capsolver=1 # you can also precise all the electrodes with a precision from # the lowest to the highest # Interconnect Capacitance contact="Vdd" adapt=0.07 capsolver=1 # Interconnect Capacitance contact="Vss" adapt=0.05 capsolver=1 # Interconnect Capacitance contact="In" adapt=0.03 capsolver=1 # Interconnect Capacitance contact="Out" adapt=0.02 capsolver=1 Save Spice="clex18.net" quit