159 lines
7.1 KiB
XML
159 lines
7.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<klayout-macro>
|
|
<description/>
|
|
<version/>
|
|
<category>drc</category>
|
|
<prolog/>
|
|
<epilog/>
|
|
<doc/>
|
|
<autorun>false</autorun>
|
|
<autorun-early>false</autorun-early>
|
|
<priority>0</priority>
|
|
<shortcut/>
|
|
<show-in-menu>true</show-in-menu>
|
|
<group-name>drc_scripts</group-name>
|
|
<menu-path>tools_menu.drc.end</menu-path>
|
|
<interpreter>dsl</interpreter>
|
|
<dsl-interpreter-name>drc-dsl-xml</dsl-interpreter-name>
|
|
<text># Layer Inputs
|
|
# Activ = source.input("1/0")
|
|
# Activ_pin = source.input("1/2")
|
|
# Activ_mask = source.input("1/20") # Commented out as not on the list
|
|
# Activ_filler = source.input("1/22") # Commented out as not on the list
|
|
# Activ_nofill = source.input("1/23") # Commented out as not on the list
|
|
# BiWind = source.input("3/0") # Commented out as not on the list
|
|
# GatPoly = source.input("5/0")
|
|
# GatPoly_pin = source.input("5/2")
|
|
# GatPoly_filler = source.input("5/22") # Commented out as not on the list
|
|
# GatPoly_nofill = source.input("5/23") # Commented out as not on the list
|
|
# Cont = source.input("6/0")
|
|
# nSD = source.input("7/0")
|
|
# nSD_block = source.input("7/21") # Commented out as not on the list
|
|
# Metal1 = source.input("8/0")
|
|
# Metal1_pin = source.input("8/2")
|
|
# Metal1_filler = source.input("8/22") # Commented out as not on the list
|
|
# Metal1_nofill = source.input("8/23") # Commented out as not on the list
|
|
# Metal1_slit = source.input("8/24") # Commented out as not on the list
|
|
# Passiv = source.input("9/0") # Commented out as not on the list
|
|
# Metal2 = source.input("10/0")
|
|
# Metal2_pin = source.input("10/2") # Commented out as not on the list
|
|
# Metal2_filler = source.input("10/22") # Commented out as not on the list
|
|
# Metal2_nofill = source.input("10/23") # Commented out as not on the list
|
|
# Metal2_slit = source.input("10/24") # Commented out as not on the list
|
|
# BasPoly = source.input("13/0") # Commented out as not on the list
|
|
# pSD = source.input("14/0")
|
|
# DigiBnd = source.input("16/0") # Commented out as not on the list
|
|
# Via1 = source.input("19/0")
|
|
# RES = source.input("24/0") # Commented out as not on the list
|
|
# SRAM = source.input("25/0") # Commented out as not on the list
|
|
# TRANS = source.input("26/0") # Commented out as not on the list
|
|
# IND = source.input("27/0") # Commented out as not on the list
|
|
# SalBlock = source.input("28/0")
|
|
# Via2 = source.input("29/0")
|
|
# Metal3 = source.input("30/0")
|
|
# Metal3_pin = source.input("30/2") # Commented out as not on the list
|
|
# Metal3_filler = source.input("30/22") # Commented out as not on the list
|
|
# Metal3_nofill = source.input("30/23") # Commented out as not on the list
|
|
# Metal3_slit = source.input("30/24") # Commented out as not on the list
|
|
# NWell = source.input("31/0")
|
|
# nBuLay = source.input("32/0")
|
|
# nBuLay_block = source.input("32/21") # Commented out as not on the list
|
|
# EmWind = source.input("33/0") # Commented out as not on the list
|
|
# DeepCo = source.input("35/0") # Commented out as not on the list
|
|
# MIM = source.input("36/0")
|
|
# EdgeSeal = source.input("39/0") # Commented out as not on the list
|
|
# dfpad = source.input("41/0") # Commented out as not on the list
|
|
# dfpad_pillar = source.input("41/35") # Commented out as not on the list
|
|
# dfpad_sbump = source.input("41/36") # Commented out as not on the list
|
|
# ThickGateOx = source.input("44/0")
|
|
# PWell = source.input("46/0")
|
|
# PWell_block = source.input("46/21") # Commented out as not on the list
|
|
# Via3 = source.input("49/0")
|
|
# Metal4 = source.input("50/0")
|
|
# Metal4_pin = source.input("50/2") # Commented out as not on the list
|
|
# Metal4_filler = source.input("50/22") # Commented out as not on the list
|
|
# Metal4_nofill = source.input("50/23") # Commented out as not on the list
|
|
# Metal4_slit = source.input("50/24") # Commented out as not on the list
|
|
# EmPoly = source.input("55/0") # Commented out as not on the list
|
|
# DigiSub = source.input("60/0") # Commented out as not on the list
|
|
# TEXT_0 = source.labels("63/0")
|
|
# Via4 = source.input("66/0")
|
|
# Metal5 = source.input("67/0")
|
|
# Metal5_pin = source.input("67/2")
|
|
# Metal5_filler = source.input("67/22") # Commented out as not on the list
|
|
# Metal5_nofill = source.input("67/23") # Commented out as not on the list
|
|
# Metal5_slit = source.input("67/24") # Commented out as not on the list
|
|
# Polimide = source.input("98/0") # Commented out as not on the list
|
|
# Recog = source.input("99/0") # Commented out as not on the list
|
|
# Recog_esd = source.input("99/30") # Commented out as not on the list
|
|
# Recog_diode = source.input("99/31") # Commented out as not on the list
|
|
# Recog_tsv = source.input("99/32") # Commented out as not on the list
|
|
# EXTBlock = source.input("111/0")
|
|
# TopVia1 = source.input("125/0")
|
|
# TopMetal1 = source.input("126/0")
|
|
# TopMetal1_pin = source.input("126/2")
|
|
# TopMetal1_filler = source.input("126/22") # Commented out as not on the list
|
|
# TopMetal1_nofill = source.input("126/23") # Commented out as not on the list
|
|
# TopMetal1_slit = source.input("126/24") # Commented out as not on the list
|
|
# PolyRes = source.input("128/0")
|
|
# Vmim = source.input("129/0")
|
|
# TopVia2 = source.input("133/0")
|
|
# TopMetal2 = source.input("134/0")
|
|
# TopMetal2_pin = source.input("134/2") # Commented out as not on the list
|
|
# TopMetal2_filler = source.input("134/22") # Commented out as not on the list
|
|
# TopMetal2_nofill = source.input("134/23") # Commented out as not on the list
|
|
# TopMetal2_slit = source.input("134/24") # Commented out as not on the list
|
|
# ColWind = source.input("139/0") # Commented out as not on the list
|
|
# RFMEM = source.input("147/0") # Commented out as not on the list
|
|
# DeepVia = source.input("152/0") # Commented out as not on the list
|
|
# LBE = source.input("157/0") # Commented out as not on the list
|
|
# NoMetFiller = source.input("160/0") # Commented out as not on the list
|
|
|
|
# Snapping Layers to Grid
|
|
#GatPoly.snap(5).output("5/0")
|
|
#GatPoly_pin.snap(5).output("5/2")
|
|
#GatPoly_filler.snap(5).output("5/22")
|
|
#Metal1.snap(5).output("8/0")
|
|
#Metal1_pin.snap(5).output("8/2")
|
|
#Metal1_filler.snap(5).output("8/22")
|
|
#Metal2.snap(5).output("10/0")
|
|
#Metal2_filler.snap(5).output("10/22")
|
|
#Metal3.snap(5).output("30/0")
|
|
#Metal3_filler.snap(5).output("30/22")
|
|
#Metal4.snap(5).output("50/0")
|
|
#Metal4_filler.snap(5).output("50/22")
|
|
#Metal5.snap(5).output("67/0")
|
|
#Metal5_filler.snap(5).output("67/22")
|
|
#Metal5_pin.snap(5).output("67/2")
|
|
#TopMetal1.snap(5).output("126/0")
|
|
#TopMetal1_filler.snap(5).output("126/22")
|
|
#TopMetal1_pin.snap(5).output("126/2")
|
|
#TopMetal2.snap(5).output("134/0")
|
|
#TopMetal2_filler.snap(5).output("134/22")
|
|
#TopVia2.snap(5).output("133/0")
|
|
#Via1.snap(5).output("19/0")
|
|
#Via2.snap(5).output("29/0")
|
|
#Via3.snap(5).output("49/0")
|
|
#Via4.snap(5).output("66/0")
|
|
#TopVia1.snap(5).output("125/0")
|
|
#Vmim.snap(5).output("129/0")
|
|
#MIM.snap(5).output("36/0")
|
|
#Activ.snap(5).output("1/0")
|
|
#Activ_filler.snap(5).output("1/22")
|
|
#Activ_pin.snap(5).output("1/2")
|
|
#Cont.snap(5).output("6/0")
|
|
#nSD.snap(5).output("7/0")
|
|
#pSD.snap(5).output("14/0")
|
|
#NWell.snap(5).output("31/0")
|
|
#ThickGateOx.snap(5).output("44/0")
|
|
#nBuLay.snap(5).output("32/0")
|
|
#PolyRes.snap(5).output("128/0")
|
|
#SalBlock.snap(5).output("28/0")
|
|
#EXTBlock.snap(5).output("111/0")
|
|
#dfpad.snap(5).output("41/0")
|
|
#Passiv.snap(5).output("9/0")
|
|
#EdgeSeal.snap(5).output("39/0")
|
|
</text>
|
|
</klayout-macro>
|
|
|