Replaced all the "s8" references in the custom seal ring generator scripts to
"sky130".
diff --git a/VERSION b/VERSION
index 46354d7..b649b91 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.52
+1.0.53
diff --git a/sky130/custom/scripts/seal_ring_generator/s8_gen_sealring.py b/sky130/custom/scripts/run_drc.py
similarity index 100%
rename from sky130/custom/scripts/seal_ring_generator/s8_gen_sealring.py
rename to sky130/custom/scripts/run_drc.py
diff --git a/sky130/custom/scripts/seal_ring_generator/README b/sky130/custom/scripts/seal_ring_generator/README
index af48894..fff8902 100644
--- a/sky130/custom/scripts/seal_ring_generator/README
+++ b/sky130/custom/scripts/seal_ring_generator/README
@@ -1,24 +1,24 @@
-# This directory contains a seal ring generator for SkyWater s8 using magic.
-# Because the seal ring contains many layers that do not appear in standard
-# layout editing, they are all specially implemented in the s8seal_ring.tech
-# file in this directory.
+# This directory contains a seal ring generator for the Googl/SkyWater
+# sky130 PDK using magic.  Because the seal ring contains many layers that
+# do not appear in standard layout editing, they are all specially implemented
+# in the sky130seal_ring.tech file in this directory.
 #
 # An example seal ring was generated by SkyWater and imported using magic's
 # gdsquery.sh script.  It was then hand-edited to contain only the bottom
 # quarter.  Then it was saved in .mag databases.
 #
-# The generator script s8_gen_sealring.py calls magic using the s8seal_ring.tech
-# file, and automatically modifies the geometry to stretch to the half width
-# and height of the specified dimensions.  Then the lower-left cells are
-# copied and folded over the centerline to make the complete seal ring.
-# The seal ring is then written out in GDS format.  Then a simplified magic
-# view is generated in the usual user-facing s8 technology file, with the
-# GDS_FILE property pointing to the seal ring GDS.  This layout and GDS can
-# then be imported into a layout.
+# The generator script sky130_gen_sealring.py calls magic using the
+# sky130seal_ring.tech file, and automatically modifies the geometry to
+# stretch to the half width and height of the specified dimensions.  Then
+# the lower-left cells are copied and folded over the centerline to make
+# the complete seal ring.  The seal ring is then written out in GDS format.
+# Then a simplified magic view is generated in the usual user-facing 
+# sky130 technology file, with the GDS_FILE property pointing to the seal
+# ring GDS.  This layout and GDS can then be imported into a layout.
 #
 # Usage:
 #
-#   s8_gen_sealring.py width height target_dir [-force] [-outer]
+#   sky130_gen_sealring.py width height target_dir [-force] [-outer]
 #
 # Where:
 #   width = the full-chip layout width
diff --git a/sky130/custom/scripts/seal_ring_generator/generate_gds.tcl b/sky130/custom/scripts/seal_ring_generator/generate_gds.tcl
index 9aedf7b..eda12e0 100644
--- a/sky130/custom/scripts/seal_ring_generator/generate_gds.tcl
+++ b/sky130/custom/scripts/seal_ring_generator/generate_gds.tcl
@@ -1,5 +1,5 @@
 # Tcl script input to magic to generate seal ring GDS
-tech load s8seal_ring -noprompt
+tech load sky130seal_ring -noprompt
 drc off
 load advSeal_6um_gen
 select top cell
diff --git a/sky130/custom/scripts/seal_ring_generator/nikon_sealring_shape.mag b/sky130/custom/scripts/seal_ring_generator/nikon_sealring_shape.mag
index caf7cc9..ecffd92 100644
--- a/sky130/custom/scripts/seal_ring_generator/nikon_sealring_shape.mag
+++ b/sky130/custom/scripts/seal_ring_generator/nikon_sealring_shape.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 timestamp 1584558468
 << checkpaint >>
 rect 0 0 400 400
diff --git a/sky130/custom/scripts/seal_ring_generator/seal_ring_corner.mag b/sky130/custom/scripts/seal_ring_generator/seal_ring_corner.mag
index e15ffc8..25de9fc 100644
--- a/sky130/custom/scripts/seal_ring_generator/seal_ring_corner.mag
+++ b/sky130/custom/scripts/seal_ring_generator/seal_ring_corner.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 magscale 1 2
 timestamp 1584562315
 << type81_52 >>
diff --git a/sky130/custom/scripts/seal_ring_generator/seal_ring_slots_array.mag b/sky130/custom/scripts/seal_ring_generator/seal_ring_slots_array.mag
index f38f77c..0330c8b 100644
--- a/sky130/custom/scripts/seal_ring_generator/seal_ring_slots_array.mag
+++ b/sky130/custom/scripts/seal_ring_generator/seal_ring_slots_array.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 magscale 1 2
 timestamp 1584629764
 use sealring_slots  sealring_slots_Y
diff --git a/sky130/custom/scripts/seal_ring_generator/sealring_slots.mag b/sky130/custom/scripts/seal_ring_generator/sealring_slots.mag
index c3ee669..972bb26 100644
--- a/sky130/custom/scripts/seal_ring_generator/sealring_slots.mag
+++ b/sky130/custom/scripts/seal_ring_generator/sealring_slots.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 magscale 1 2
 timestamp 1584628639
 << checkpaint >>
diff --git a/sky130/custom/scripts/seal_ring_generator/sky130_gen_sealring.py b/sky130/custom/scripts/seal_ring_generator/sky130_gen_sealring.py
new file mode 100755
index 0000000..ff0cdbd
--- /dev/null
+++ b/sky130/custom/scripts/seal_ring_generator/sky130_gen_sealring.py
@@ -0,0 +1,350 @@
+#!/bin/env python3
+#-------------------------------------------------------------------------
+# sky130_gen_sealring.py ---  a seal ring generator for the Google/SkyWater
+# sky130 PDK using magic.
+#
+# Because the seal ring contains many layers that do not appear in standard
+# layout editing, they are all specially implemented in the sky130seal_ring.tech
+# file in this directory.
+#
+# An example seal ring was generated by SkyWater and imported using magic's
+# gdsquery.sh script.  It was then hand-edited to contain only the bottom
+# quarter.  Then it was saved in .mag databases.
+#
+# The generator script sky130_gen_sealring.py calls magic using the
+# sky130seal_ring.tech file, and automatically modifies the geometry to
+# stretch to the half width and height of the specified dimensions.  Then
+# the lower-left cells are copied and folded over the centerline to make
+# the complete seal ring.  The seal ring is then written out in GDS format.
+# Then a simplified magic view is generated in the usual user-facing sky130
+# technology file, with the GDS_FILE property pointing to the seal ring GDS.
+# This layout and GDS can then be imported into a layout.
+#
+# Usage:
+#
+#   sky130_gen_sealring.py width height target_dir [-force] [-outer] [-keep]
+#
+# Where:
+#   width = the full-chip layout width
+#   height = the full-chip layout height
+#   target_dir = location of the full-chip layout
+#
+#   -force = overwrite any existing files at the target
+#   -outer = width and height are the seal ring outer edge, not the chip area
+#   -keep = keep local working directory of results
+#
+# Results:
+#   Files advSeal_6um_gen.mag and advSeal_6um_gen.gds are generated and placed in
+#   target_dir.  advSeal_6um_gen.mag is an "abstract" view that represents the
+#   seal ring in diffusion and the nikon cross in metal1, and references
+#   the advSeal_6um_gen.gds file in the same directory as a GDS_FILE property.
+#-------------------------------------------------------------------------
+
+import subprocess
+import shutil
+import sys
+import os
+import re
+
+def generate_sealring(width, height, target_dir, force, keep):
+
+    # All files of interest are listed below.
+
+    script = 'generate_gds.tcl'
+    tech = 'sky130seal_ring.tech'
+    corner = 'seal_ring_corner.mag'
+    abstract = 'seal_ring_corner_abstract.mag'
+    slots = 'sealring_slots.mag'
+    array = 'seal_ring_slots_array.mag'
+    nikon = 'nikon_sealring_shape.mag'
+    polygons = ['sr_polygon00007.mag',
+	    'sr_polygon00027.mag', 'sr_polygon00011.mag', 'sr_polygon00028.mag',
+	    'sr_polygon00001.mag', 'sr_polygon00015.mag', 'sr_polygon00031.mag',
+	    'sr_polygon00002.mag', 'sr_polygon00016.mag', 'sr_polygon00032.mag',
+	    'sr_polygon00003.mag', 'sr_polygon00019.mag', 'sr_polygon00035.mag',
+	    'sr_polygon00004.mag', 'sr_polygon00020.mag', 'sr_polygon00036.mag',
+	    'sr_polygon00005.mag', 'sr_polygon00023.mag', 'sr_polygon00039.mag',
+	    'sr_polygon00006.mag', 'sr_polygon00024.mag']
+
+
+    # Create temporary directory
+    if os.path.exists('temp'):
+        print('temp/ directory exists.  Please remove it before running.')
+        sys.exit(0)
+
+    os.makedirs('temp')
+    os.chdir('temp')
+
+    # Copy all .mag files, .magicrc file, and sky130seal_ring.tech file to temp/
+    files_to_copy = polygons[:]
+    files_to_copy.append(nikon)
+    files_to_copy.append(slots)
+    files_to_copy.append(array)
+    files_to_copy.append(corner)
+    files_to_copy.append(abstract)
+    files_to_copy.append(tech)
+    files_to_copy.append(script)
+
+    for file in files_to_copy:
+        shutil.copy('../' + file, '.')
+
+    # Seal ring is placed 6um outside of the chip, so add 12um to width and height
+    fwidth = float(width) + 12
+    fheight = float(height) + 12
+
+    dbhwidth = int(fwidth * 100)
+    dbhheight = int(fheight * 100)
+
+    swidth = str(dbhwidth)
+    sheight = str(dbhheight)
+
+    swidthx5 = str(dbhwidth * 5)
+
+    dwidth = str(int(fwidth * 200))
+    dheight = str(int(fheight * 200))
+
+    # Modify every polygon to half width and height
+
+    for file in polygons:
+        with open(file, 'r') as ifile:
+            maglines = ifile.read().splitlines()
+
+        with open(file, 'w') as ofile:
+            for line in maglines:
+                newline = re.sub('51200', swidth, line)
+                newline = re.sub('51210', sheight, newline)
+                # NOTE: polygon 39 is at scale 10, not 2, due to
+                # corner positions of 45 degree angled geometry.
+                newline = re.sub('256000', swidthx5, newline)
+                print(newline, file=ofile)
+
+    # Abstract corner view gets the same treatment
+
+    qwidth = str(int(fwidth * 50))
+    qheight = str(int(fheight * 50))
+
+    with open(abstract, 'r') as ifile:
+        maglines = ifile.read().splitlines()
+
+    with open(abstract, 'w') as ofile:
+        for line in maglines:
+            newline = re.sub('25600', qwidth, line)
+            newline = re.sub('25605', qheight, newline)
+            print(newline, file=ofile)
+
+    # Slots arrays are recalculated to span the width and height
+
+    with open(array, 'r') as ifile:
+        maglines = ifile.read().splitlines()
+
+    slotsX = False
+    with open(array, 'w') as ofile:
+        for line in maglines:
+            newline = line
+            if 'slots_X' in line:
+                slotsX = True
+            elif 'array 0' in line:
+                if slotsX:
+                    nslots = int((fwidth - 25.0) / 25.0) - 1
+                    newline = 'array 0 ' + str(nslots) + ' 5000 0 0 430'
+                else:
+                    nslots = int((fheight - 25.0) / 25.0) - 1
+                    newline = 'array 0 ' + str(nslots) + ' 5000 0 0 430'
+
+            print(newline, file=ofile)
+
+    # Corner cell changes bounding boxes to half width and height.
+
+    with open(corner, 'r') as ifile:
+        maglines = ifile.read().splitlines()
+
+    slotsX = False
+    with open(corner, 'w') as ofile:
+        for line in maglines:
+            newline = re.sub('51200', swidth, line)
+            newline = re.sub('51210', sheight, newline)
+            print(newline, file=ofile)
+
+    # Create a new top-level layout called 'advSeal_6um_gen.mag'
+    # Mirrors uses in X and Y, and adds slots arrays at lower left
+    # and upper right
+
+    with open('advSeal_6um_gen.mag', 'w') as ofile:
+        print('magic', file=ofile)
+        print('tech sky130seal_ring', file=ofile)
+        print('magscale 1 2', file=ofile)
+        print('timestamp 1584630000', file=ofile)
+
+        # Lower left original
+        print('use seal_ring_corner seal_ring_corner_0', file=ofile)
+        print('timestamp 1584562315', file=ofile)
+        print('transform 1 0 0 0 1 0', file=ofile)
+        print('box -30480 -30480 ' + swidth + ' ' + sheight, file=ofile)
+
+        # Mirrored in X
+        print('use seal_ring_corner seal_ring_corner_3', file=ofile)
+        print('timestamp 1584562315', file=ofile)
+        print('transform -1 0 ' + dwidth + ' 0 1 0', file=ofile)
+        print('box -30480 -30480 ' + swidth + ' ' + sheight, file=ofile)
+	
+        # Mirrored in Y
+        print('use seal_ring_corner seal_ring_corner_1', file=ofile)
+        print('timestamp 1584562315', file=ofile)
+        print('transform 1 0 0 0 -1 ' + dheight, file=ofile)
+        print('box -30480 -30480 ' + swidth + ' ' + sheight, file=ofile)
+
+        # Mirrored in both X and Y 
+        print('use seal_ring_corner seal_ring_corner_2', file=ofile)
+        print('timestamp 1584562315', file=ofile)
+        print('transform -1 0 ' + dwidth + ' 0 -1 ' + dheight, file=ofile)
+        print('box -30480 -30480 ' + swidth + ' ' + sheight, file=ofile)
+
+        # Lower left slot arrays (bottom and left sides slots)
+        print('use seal_ring_slots_array seal_ring_slots_array_0', file=ofile)
+        print('timestamp 1584629764', file=ofile)
+        print('transform 1 0 0 0 1 0', file=ofile)
+        print('box 285 285 ' + swidth + ' ' + sheight, file=ofile)
+
+        # Upper right slot arrays (top and right sides slots)
+        print('use seal_ring_slots_array seal_ring_slots_array_1', file=ofile)
+        print('timestamp 1584629764', file=ofile)
+        print('transform -1 0 ' + dwidth + ' 0 -1 ' + dheight, file=ofile)
+        print('box 285 285 ' + swidth + ' ' + sheight, file=ofile)
+
+        print('<< end >>', file=ofile)
+    
+    # Create a new abstract layout TO BE called 'advSeal_6um_gen.mag'
+    # This is the view in technology EFS8A.  Since there is already
+    # a cell with this name that is used to generate GDS, the cell
+    # will be called "seal_ring.mag" and copied to "advSeal_6um_gen.mag"
+    # in the target directory.
+
+    xwidth = str(dbhwidth)
+    xheight = str(dbhheight)
+
+    with open('seal_ring.mag', 'w') as ofile:
+        print('magic', file=ofile)
+        print('tech EFS8A', file=ofile)
+        print('timestamp 1584566829', file=ofile)
+
+        # Lower left original
+        print('use seal_ring_corner_abstract seal_ring_corner_abstract_0', file=ofile)
+        print('timestamp 1584566221', file=ofile)
+        print('transform 1 0 0 0 1 0', file=ofile)
+        print('box 0 0 ' + qwidth + ' ' + qheight, file=ofile)
+
+        # Mirrored in X
+        print('use seal_ring_corner_abstract seal_ring_corner_abstract_3', file=ofile)
+        print('timestamp 1584566221', file=ofile)
+        print('transform -1 0 ' + xwidth + ' 0 1 0', file=ofile)
+        print('box 0 0 ' + qwidth + ' ' + qheight, file=ofile)
+	
+        # Mirrored in Y
+        print('use seal_ring_corner_abstract seal_ring_corner_abstract_1', file=ofile)
+        print('timestamp 1584566221', file=ofile)
+        print('transform 1 0 0 0 -1 ' + xheight, file=ofile)
+        print('box 0 0 ' + qwidth + ' ' + qheight, file=ofile)
+
+        # Mirrored in both X and Y 
+        print('use seal_ring_corner_abstract seal_ring_corner_abstract_2', file=ofile)
+        print('timestamp 1584566221', file=ofile)
+        print('transform -1 0 ' + xwidth + ' 0 -1 ' + xheight, file=ofile)
+        print('box 0 0 ' + qwidth + ' ' + qheight, file=ofile)
+
+        print('<< properties >>', file=ofile)
+        print('string LEFview no_prefix', file=ofile)
+        print('string GDS_FILE advSeal_6um_gen.gds', file=ofile)
+        print('string GDS_START 0', file=ofile)
+        print('string FIXED_BBOX 0 0 ' + swidth + ' ' + sheight, file=ofile)
+
+        print('<< end >>', file=ofile)
+
+    # Create the GDS of the seal ring
+
+    mproc = subprocess.run(['magic', '-dnull', '-noconsole',
+	    'generate_gds.tcl'],
+	    stdin = subprocess.DEVNULL, stdout = subprocess.PIPE,
+	    stderr = subprocess.PIPE, universal_newlines = True)
+    if mproc.stdout:
+        for line in mproc.stdout.splitlines():
+            print(line)
+    if mproc.stderr:
+        print('Error message output from magic:')
+        for line in mproc.stderr.splitlines():
+            print(line)
+    if mproc.returncode != 0:
+        print('ERROR:  Magic exited with status ' + str(mproc.returncode))
+
+    # Copy the GDS file and the abstract view to the target directory
+
+    os.chdir('..')
+
+    if not os.path.exists(target_dir):
+        os.makedirs(target_dir)
+
+    print('Installing files to ' + target_dir)
+    if force or not os.path.exists(target_dir + '/advSeal_6um_gen.gds'):
+        shutil.copy('temp/advSeal_6um_gen.gds', target_dir)
+    else:
+        print('ERROR: advSeal_6um_gen.gds already exists at target!  Use -force to overwrite.')
+    if force or not os.path.exists(target_dir + '/advSeal_6um_gen.mag'):
+        shutil.copy('temp/seal_ring.mag', target_dir + '/advSeal_6um_gen.mag')
+    else:
+        print('ERROR: advSeal_6um_gen.mag already exists at target!  Use -force to overwrite.')
+    if force or not os.path.exists(target_dir + '/seal_ring_corner_abstract.mag'):
+        shutil.copy('temp/seal_ring_corner_abstract.mag', target_dir)
+    else:
+        print('ERROR: seal_ring_corner_abstract.mag already exists at target!  Use -force to overwrite.')
+    
+    # Remove the temporary directory and its contents
+
+    if not keep:
+        shutil.rmtree('temp')
+    else:
+        print('Retaining generated files in temp/ directory')
+
+    # Done!
+    print('Done generating files advSeal_6um_gen.gds and advSeal_6um_gen.mag in ' + target_dir)
+    print('Place the seal ring cell in the final layout at (0um, 0um) before generating GDS.')
+    print('The top level layout minus seal ring must have a lower left corner of (6um, 6um)')
+
+# If called as main, run generate_sealring()
+
+if __name__ == '__main__':
+
+    # Divide up command line into options and arguments
+    options = []
+    arguments = []
+    for item in sys.argv[1:]:
+        if item.find('-', 0) == 0:
+            options.append(item)
+        else:
+            arguments.append(item)
+
+    force = True if '-force' in options else False
+    keep = True if '-keep' in options else False
+    outer = True if '-outer' in options else False
+
+    # Need one argument:  path to verilog netlist
+    # If two arguments, then 2nd argument is the output file.
+
+    if len(arguments) == 3:
+        width = arguments[0]
+        height = arguments[1]
+        target_dir = arguments[2]
+
+        # Seal ring is 12um thick, so if "outer" option is used, subtract 12um
+        # from both width and height.
+        if outer:
+            width = str(float(width) - 12.0)
+            height = str(float(height) - 12.0)
+
+        generate_sealring(width, height, target_dir, force, keep)
+    else:
+        print("Usage:  sky130_gen_sealring.py <width> <height> <target_dir> [options]")
+        print("Options:")
+        print("   -outer : Width and height are seal ring outer edge, not chip area")
+        print("   -force : Overwrite any existing files at <target_dir>")
+        print("   -keep :  Keep generated files in temp/ directory")
+    
+
diff --git a/sky130/custom/scripts/seal_ring_generator/s8seal_ring.tech b/sky130/custom/scripts/seal_ring_generator/sky130seal_ring.tech
similarity index 98%
rename from sky130/custom/scripts/seal_ring_generator/s8seal_ring.tech
rename to sky130/custom/scripts/seal_ring_generator/sky130seal_ring.tech
index e5d37f3..8b3ad58 100644
--- a/sky130/custom/scripts/seal_ring_generator/s8seal_ring.tech
+++ b/sky130/custom/scripts/seal_ring_generator/sky130seal_ring.tech
@@ -1,11 +1,11 @@
 tech
    30
-   s8seal_ring
+   sky130seal_ring
 end
 
 version
    version 0.0
-   description "Auto-generated techfile for unknown GDS read-in"
+   description "Auto-generated techfile for sky130 seal ring GDS read-in"
 end
 
 planes
diff --git a/sky130/custom/scripts/seal_ring_generator/sr_polygon00001.mag b/sky130/custom/scripts/seal_ring_generator/sr_polygon00001.mag
index e7c32b8..c1784bc 100644
--- a/sky130/custom/scripts/seal_ring_generator/sr_polygon00001.mag
+++ b/sky130/custom/scripts/seal_ring_generator/sr_polygon00001.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 timestamp 1584558468
 << type48 >>
 tri 0 283 117 400 se
diff --git a/sky130/custom/scripts/seal_ring_generator/sr_polygon00002.mag b/sky130/custom/scripts/seal_ring_generator/sr_polygon00002.mag
index 51355fa..f0542e6 100644
--- a/sky130/custom/scripts/seal_ring_generator/sr_polygon00002.mag
+++ b/sky130/custom/scripts/seal_ring_generator/sr_polygon00002.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 timestamp 1584558468
 << type25 >>
 tri 0 283 117 400 se
diff --git a/sky130/custom/scripts/seal_ring_generator/sr_polygon00003.mag b/sky130/custom/scripts/seal_ring_generator/sr_polygon00003.mag
index 7c2dd29..2043db2 100644
--- a/sky130/custom/scripts/seal_ring_generator/sr_polygon00003.mag
+++ b/sky130/custom/scripts/seal_ring_generator/sr_polygon00003.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 timestamp 1584558468
 << type20 >>
 tri 0 283 117 400 se
diff --git a/sky130/custom/scripts/seal_ring_generator/sr_polygon00004.mag b/sky130/custom/scripts/seal_ring_generator/sr_polygon00004.mag
index 7721108..80a8750 100644
--- a/sky130/custom/scripts/seal_ring_generator/sr_polygon00004.mag
+++ b/sky130/custom/scripts/seal_ring_generator/sr_polygon00004.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 timestamp 1584558468
 << type39 >>
 tri 0 283 117 400 se
diff --git a/sky130/custom/scripts/seal_ring_generator/sr_polygon00005.mag b/sky130/custom/scripts/seal_ring_generator/sr_polygon00005.mag
index 27e8081..6093018 100644
--- a/sky130/custom/scripts/seal_ring_generator/sr_polygon00005.mag
+++ b/sky130/custom/scripts/seal_ring_generator/sr_polygon00005.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 timestamp 1584558468
 << type11 >>
 tri 0 283 117 400 se
diff --git a/sky130/custom/scripts/seal_ring_generator/sr_polygon00006.mag b/sky130/custom/scripts/seal_ring_generator/sr_polygon00006.mag
index 8b44cb9..c3a13f6 100644
--- a/sky130/custom/scripts/seal_ring_generator/sr_polygon00006.mag
+++ b/sky130/custom/scripts/seal_ring_generator/sr_polygon00006.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 timestamp 1584558468
 << type49 >>
 tri 0 283 117 400 se
diff --git a/sky130/custom/scripts/seal_ring_generator/sr_polygon00007.mag b/sky130/custom/scripts/seal_ring_generator/sr_polygon00007.mag
index 89547c6..4ede940 100644
--- a/sky130/custom/scripts/seal_ring_generator/sr_polygon00007.mag
+++ b/sky130/custom/scripts/seal_ring_generator/sr_polygon00007.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 timestamp 1584558468
 << type37 >>
 tri 0 283 117 400 se
diff --git a/sky130/custom/scripts/seal_ring_generator/sr_polygon00011.mag b/sky130/custom/scripts/seal_ring_generator/sr_polygon00011.mag
index 47854ae..f26a866 100644
--- a/sky130/custom/scripts/seal_ring_generator/sr_polygon00011.mag
+++ b/sky130/custom/scripts/seal_ring_generator/sr_polygon00011.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 magscale 1 10
 timestamp 1584558468
 << type81_51 >>
diff --git a/sky130/custom/scripts/seal_ring_generator/sr_polygon00015.mag b/sky130/custom/scripts/seal_ring_generator/sr_polygon00015.mag
index d91c7fb..a6afa05 100644
--- a/sky130/custom/scripts/seal_ring_generator/sr_polygon00015.mag
+++ b/sky130/custom/scripts/seal_ring_generator/sr_polygon00015.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 magscale 1 2
 timestamp 1584558468
 << type37 >>
diff --git a/sky130/custom/scripts/seal_ring_generator/sr_polygon00016.mag b/sky130/custom/scripts/seal_ring_generator/sr_polygon00016.mag
index 7aa89fc..1e405f6 100644
--- a/sky130/custom/scripts/seal_ring_generator/sr_polygon00016.mag
+++ b/sky130/custom/scripts/seal_ring_generator/sr_polygon00016.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 magscale 1 2
 timestamp 1584558827
 << type65_20 >>
diff --git a/sky130/custom/scripts/seal_ring_generator/sr_polygon00019.mag b/sky130/custom/scripts/seal_ring_generator/sr_polygon00019.mag
index b316735..9418687 100644
--- a/sky130/custom/scripts/seal_ring_generator/sr_polygon00019.mag
+++ b/sky130/custom/scripts/seal_ring_generator/sr_polygon00019.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 magscale 1 2
 timestamp 1584558827
 << type65_20 >>
diff --git a/sky130/custom/scripts/seal_ring_generator/sr_polygon00020.mag b/sky130/custom/scripts/seal_ring_generator/sr_polygon00020.mag
index 9e328f8..b62281c 100644
--- a/sky130/custom/scripts/seal_ring_generator/sr_polygon00020.mag
+++ b/sky130/custom/scripts/seal_ring_generator/sr_polygon00020.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 magscale 1 2
 timestamp 1584558827
 << type65_20 >>
diff --git a/sky130/custom/scripts/seal_ring_generator/sr_polygon00023.mag b/sky130/custom/scripts/seal_ring_generator/sr_polygon00023.mag
index fe8335d..2a4ec4b 100644
--- a/sky130/custom/scripts/seal_ring_generator/sr_polygon00023.mag
+++ b/sky130/custom/scripts/seal_ring_generator/sr_polygon00023.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 magscale 1 2
 timestamp 1584558827
 << type65_20 >>
diff --git a/sky130/custom/scripts/seal_ring_generator/sr_polygon00024.mag b/sky130/custom/scripts/seal_ring_generator/sr_polygon00024.mag
index eb9f364..efde77f 100644
--- a/sky130/custom/scripts/seal_ring_generator/sr_polygon00024.mag
+++ b/sky130/custom/scripts/seal_ring_generator/sr_polygon00024.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 magscale 1 2
 timestamp 1584558827
 << type65_20 >>
diff --git a/sky130/custom/scripts/seal_ring_generator/sr_polygon00027.mag b/sky130/custom/scripts/seal_ring_generator/sr_polygon00027.mag
index c6d2ad1..1223830 100644
--- a/sky130/custom/scripts/seal_ring_generator/sr_polygon00027.mag
+++ b/sky130/custom/scripts/seal_ring_generator/sr_polygon00027.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 magscale 1 2
 timestamp 1584558827
 << type65_20 >>
diff --git a/sky130/custom/scripts/seal_ring_generator/sr_polygon00028.mag b/sky130/custom/scripts/seal_ring_generator/sr_polygon00028.mag
index 3db918a..95c27cd 100644
--- a/sky130/custom/scripts/seal_ring_generator/sr_polygon00028.mag
+++ b/sky130/custom/scripts/seal_ring_generator/sr_polygon00028.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 magscale 1 2
 timestamp 1584558827
 << type65_20 >>
diff --git a/sky130/custom/scripts/seal_ring_generator/sr_polygon00031.mag b/sky130/custom/scripts/seal_ring_generator/sr_polygon00031.mag
index 1eb8648..e9b327e 100644
--- a/sky130/custom/scripts/seal_ring_generator/sr_polygon00031.mag
+++ b/sky130/custom/scripts/seal_ring_generator/sr_polygon00031.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 magscale 1 2
 timestamp 1584558827
 << type65_20 >>
diff --git a/sky130/custom/scripts/seal_ring_generator/sr_polygon00032.mag b/sky130/custom/scripts/seal_ring_generator/sr_polygon00032.mag
index 395db17..87b2f9a 100644
--- a/sky130/custom/scripts/seal_ring_generator/sr_polygon00032.mag
+++ b/sky130/custom/scripts/seal_ring_generator/sr_polygon00032.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 magscale 1 2
 timestamp 1584558827
 << type61_20 >>
diff --git a/sky130/custom/scripts/seal_ring_generator/sr_polygon00035.mag b/sky130/custom/scripts/seal_ring_generator/sr_polygon00035.mag
index 934e4e1..a113b26 100644
--- a/sky130/custom/scripts/seal_ring_generator/sr_polygon00035.mag
+++ b/sky130/custom/scripts/seal_ring_generator/sr_polygon00035.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 magscale 1 2
 timestamp 1584558827
 << type61_20 >>
diff --git a/sky130/custom/scripts/seal_ring_generator/sr_polygon00036.mag b/sky130/custom/scripts/seal_ring_generator/sr_polygon00036.mag
index 7e944a4..5d64185 100644
--- a/sky130/custom/scripts/seal_ring_generator/sr_polygon00036.mag
+++ b/sky130/custom/scripts/seal_ring_generator/sr_polygon00036.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 magscale 1 2
 timestamp 1584558827
 << type81_1 >>
diff --git a/sky130/custom/scripts/seal_ring_generator/sr_polygon00039.mag b/sky130/custom/scripts/seal_ring_generator/sr_polygon00039.mag
index 24dfe83..4fb6f27 100644
--- a/sky130/custom/scripts/seal_ring_generator/sr_polygon00039.mag
+++ b/sky130/custom/scripts/seal_ring_generator/sr_polygon00039.mag
@@ -1,5 +1,5 @@
 magic
-tech s8seal_ring
+tech sky130seal_ring
 magscale 1 10
 timestamp 1584558827
 << type81_1 >>