updating ./signoff
diff --git a/gds/.magicrc b/gds/.magicrc
new file mode 100644
index 0000000..67cdbf8
--- /dev/null
+++ b/gds/.magicrc
@@ -0,0 +1,96 @@
+# SPDX-FileCopyrightText: 2020 Efabless Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+
+puts stdout "Sourcing design .magicrc for technology sky130A ..."
+
+# Put grid on 0.005 pitch. This is important, as some commands don't
+# rescale the grid automatically (such as lef read?).
+
+set scalefac [tech lambda]
+if {[lindex $scalefac 1] < 2} {
+ scalegrid 1 2
+}
+
+drc off
+drc euclidean on
+
+# Allow override of PDK path from environment variable PDKPATH
+if {[catch {set PDKPATH $env(PDKPATH)}]} {
+ set PDKPATH "$::env(PDK_ROOT)/sky130A"
+}
+
+# loading technology
+tech load $PDKPATH/libs.tech/magic/sky130A.tech
+
+# load device generator
+source $PDKPATH/libs.tech/magic/sky130A.tcl
+
+# load bind keys (optional)
+# source $PDKPATH/libs.tech/magic/sky130A-BindKeys
+
+# set units to lambda grid
+snap lambda
+
+# set sky130 standard power, ground, and substrate names
+set VDD VPWR
+set GND VGND
+set SUB VSUBS
+
+# Allow override of type of magic library views used, "mag" or "maglef",
+# from environment variable MAGTYPE
+
+if {[catch {set MAGTYPE $env(MAGTYPE)}]} {
+ set MAGTYPE maglef
+}
+
+ path search [concat "../$MAGTYPE" [path search]]
+
+
+# add path to reference cells
+if {[file isdir ${PDKPATH}/libs.ref/${MAGTYPE}]} {
+ addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_pr
+ addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_io
+ addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hd
+ addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hdll
+ addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hs
+ addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hvl
+ addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_lp
+ addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ls
+ addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ms
+ addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_osu_sc
+ addpath ${PDKPATH}/libs.ref/mag/sky130_ml_xx_hd
+} else {
+ addpath ${PDKPATH}/libs.ref/sky130_fd_pr/${MAGTYPE}
+ addpath ${PDKPATH}/libs.ref/sky130_fd_io/${MAGTYPE}
+ addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hd/${MAGTYPE}
+ addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hdll/${MAGTYPE}
+ addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hs/${MAGTYPE}
+ addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hvl/${MAGTYPE}
+ addpath ${PDKPATH}/libs.ref/sky130_fd_sc_lp/${MAGTYPE}
+ addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ls/${MAGTYPE}
+ addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ms/${MAGTYPE}
+ addpath ${PDKPATH}/libs.ref/sky130_osu_sc/${MAGTYPE}
+ addpath ${PDKPATH}/libs.ref/sky130_ml_xx_hd/mag
+}
+
+addpath hexdigits
+
+# add path to GDS cells
+
+# add path to IP from catalog. This procedure defined in the PDK script.
+catch {magic::query_mylib_ip}
+# add path to local IP from user design space. Defined in the PDK script.
+catch {magic::query_my_projects}
diff --git a/signoff/fill_generated b/signoff/fill_generated
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/signoff/fill_generated
diff --git a/signoff/kdrc_results_fom.xml b/signoff/kdrc_results_fom.xml
new file mode 100644
index 0000000..dc8dfad
--- /dev/null
+++ b/signoff/kdrc_results_fom.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<report-database>
+ <description>Density Checks</description>
+ <original-file/>
+ <generator>drc: script='/mnt/shuttles/shuttle/sak/klayout/tech/sky130A/fom_density.lydrc'</generator>
+ <top-cell>caravel_0002001b</top-cell>
+ <tags>
+ </tags>
+ <categories>
+ </categories>
+ <cells>
+ <cell>
+ <name>caravel_0002001b</name>
+ <variant/>
+ <references>
+ </references>
+ </cell>
+ </cells>
+ <items>
+ </items>
+</report-database>
diff --git a/signoff/kdrc_results_fom.xml.summary b/signoff/kdrc_results_fom.xml.summary
new file mode 100644
index 0000000..8d461a0
--- /dev/null
+++ b/signoff/kdrc_results_fom.xml.summary
@@ -0,0 +1 @@
+ 0 total error(s) among 0 error type(s), 0 non-zero type(s)
diff --git a/signoff/kdrc_results_met.xml b/signoff/kdrc_results_met.xml
new file mode 100644
index 0000000..243abad
--- /dev/null
+++ b/signoff/kdrc_results_met.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<report-database>
+ <description>Density Checks</description>
+ <original-file/>
+ <generator>drc: script='/mnt/shuttles/shuttle/sak/klayout/tech/sky130A/met_density.lydrc'</generator>
+ <top-cell>caravel_0002001b</top-cell>
+ <tags>
+ </tags>
+ <categories>
+ </categories>
+ <cells>
+ <cell>
+ <name>caravel_0002001b</name>
+ <variant/>
+ <references>
+ </references>
+ </cell>
+ </cells>
+ <items>
+ </items>
+</report-database>
diff --git a/signoff/kdrc_results_met.xml.summary b/signoff/kdrc_results_met.xml.summary
new file mode 100644
index 0000000..8d461a0
--- /dev/null
+++ b/signoff/kdrc_results_met.xml.summary
@@ -0,0 +1 @@
+ 0 total error(s) among 0 error type(s), 0 non-zero type(s)
diff --git a/signoff/kdrc_results_mr_fe.xml b/signoff/kdrc_results_mr_fe.xml
new file mode 100644
index 0000000..c050d22
--- /dev/null
+++ b/signoff/kdrc_results_mr_fe.xml
@@ -0,0 +1,213 @@
+<?xml version="1.0" encoding="utf-8"?>
+<report-database>
+ <description>SKY130 DRC runset</description>
+ <original-file/>
+ <generator>drc: script='/mnt/shuttles/shuttle/sak/klayout/tech/sky130A/sky130A_mr.lydrc'</generator>
+ <top-cell>user_project_wrapper</top-cell>
+ <tags>
+ </tags>
+ <categories>
+ <category>
+ <name>dnwell.2</name>
+ <description>dnwell.2 : min. dnwell width : 3.0um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>nwell.1</name>
+ <description>nwell.1 : min. nwell width : 0.84um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>nwell.2a</name>
+ <description>nwell.2a : min. nwell spacing (merged if less) : 1.27um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>hvtp.1</name>
+ <description>hvtp.1 : min. hvtp width : 0.38um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>hvtp.2</name>
+ <description>hvtp.2 : min. hvtp spacing : 0.38um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>hvtr.1</name>
+ <description>hvtr.1 : min. hvtr width : 0.38um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>hvtr.2</name>
+ <description>hvtr.2 : min. hvtr spacing : 0.38um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>lvtn.2</name>
+ <description>lvtn.2 : min. lvtn spacing : 0.38um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>ncm.1</name>
+ <description>ncm.1 : min. ncm width : 0.38um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>difftap.1</name>
+ <description>difftap.1 : min. difftap width : 0.15um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>difftap.3</name>
+ <description>difftap.3 : min. difftap spacing : 0.27um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>tunm.1</name>
+ <description>tunm.1 : min. tunm width : 0.41um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>tunm.2</name>
+ <description>tunm.2 : min. tunm spacing : 0.5um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>poly.1a</name>
+ <description>poly.1a : min. poly width : 0.15um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>poly.2</name>
+ <description>poly.2 : min. poly spacing : 0.21um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>rpm.1a</name>
+ <description>rpm.1a : min. rpm width : 1.27um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>rpm.2</name>
+ <description>rpm.2 : min. rpm spacing : 0.84um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>npc.1</name>
+ <description>npc.1 : min. npc width : 0.27um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>npc.2</name>
+ <description>npc.2 : min. npc spacing, should be mnually merge if less : 0.27um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>licon.1</name>
+ <description>licon.1 : minimum/maximum width of licon : 0.17um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>licon.1b/c</name>
+ <description>licon.1b/c : minimum/maximum width/length of licon inside poly resistor : 2.0/0.19um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>licon.13</name>
+ <description>licon.13 : min. difftap licon spacing to npc : 0.09um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>licon.17</name>
+ <description>licon.17 : tap must not straddle poly</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>capm.1</name>
+ <description>capm.1 : min. capm width : 1.0um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>capm.2a</name>
+ <description>capm.2a : min. capm spacing : 0.84um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>capm.2b</name>
+ <description>capm.2b : min. capm spacing : 1.2um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>capm.3</name>
+ <description>capm.3 : min. m2 enclosure of capm : 0.14um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>capm.4</name>
+ <description>capm.4 : min. capm enclosure of via2 : 0.14um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>capm.5</name>
+ <description>capm.5 : min. capm spacing to via2 : 0.14um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>hvi.1</name>
+ <description>hvi.1 : min. hvi width : 0.6um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>hvntm.1</name>
+ <description>hvntm.1 : min. hvntm width : 0.7um</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>hvntm.2</name>
+ <description>hvntm.2 : min. hvntm spacing : 0.7um</description>
+ <categories>
+ </categories>
+ </category>
+ </categories>
+ <cells>
+ <cell>
+ <name>user_project_wrapper</name>
+ <variant/>
+ <references>
+ </references>
+ </cell>
+ </cells>
+ <items>
+ </items>
+</report-database>
diff --git a/signoff/kdrc_results_mr_fe.xml.summary b/signoff/kdrc_results_mr_fe.xml.summary
new file mode 100644
index 0000000..0ecc336
--- /dev/null
+++ b/signoff/kdrc_results_mr_fe.xml.summary
@@ -0,0 +1,33 @@
+ 0 capm.1 : min. capm width : 1.0um
+ 0 capm.2a : min. capm spacing : 0.84um
+ 0 capm.2b : min. capm spacing : 1.2um
+ 0 capm.3 : min. m2 enclosure of capm : 0.14um
+ 0 capm.4 : min. capm enclosure of via2 : 0.14um
+ 0 capm.5 : min. capm spacing to via2 : 0.14um
+ 0 difftap.1 : min. difftap width : 0.15um
+ 0 difftap.3 : min. difftap spacing : 0.27um
+ 0 dnwell.2 : min. dnwell width : 3.0um
+ 0 hvi.1 : min. hvi width : 0.6um
+ 0 hvntm.1 : min. hvntm width : 0.7um
+ 0 hvntm.2 : min. hvntm spacing : 0.7um
+ 0 hvtp.1 : min. hvtp width : 0.38um
+ 0 hvtp.2 : min. hvtp spacing : 0.38um
+ 0 hvtr.1 : min. hvtr width : 0.38um
+ 0 hvtr.2 : min. hvtr spacing : 0.38um
+ 0 licon.1 : minimum/maximum width of licon : 0.17um
+ 0 licon.1b/c : minimum/maximum width/length of licon inside poly resistor : 2.0/0.19um
+ 0 licon.13 : min. difftap licon spacing to npc : 0.09um
+ 0 licon.17 : tap must not straddle poly
+ 0 lvtn.2 : min. lvtn spacing : 0.38um
+ 0 ncm.1 : min. ncm width : 0.38um
+ 0 npc.1 : min. npc width : 0.27um
+ 0 npc.2 : min. npc spacing, should be mnually merge if less : 0.27um
+ 0 nwell.1 : min. nwell width : 0.84um
+ 0 nwell.2a : min. nwell spacing (merged if less) : 1.27um
+ 0 poly.1a : min. poly width : 0.15um
+ 0 poly.2 : min. poly spacing : 0.21um
+ 0 rpm.1a : min. rpm width : 1.27um
+ 0 rpm.2 : min. rpm spacing : 0.84um
+ 0 tunm.1 : min. tunm width : 0.41um
+ 0 tunm.2 : min. tunm spacing : 0.5um
+ 0 total error(s) among 32 error type(s), 0 non-zero type(s)
diff --git a/signoff/kdrc_results_offgrid.xml b/signoff/kdrc_results_offgrid.xml
new file mode 100644
index 0000000..7d9ddcd
--- /dev/null
+++ b/signoff/kdrc_results_offgrid.xml
@@ -0,0 +1,483 @@
+<?xml version="1.0" encoding="utf-8"?>
+<report-database>
+ <description>SKY130 DRC runset</description>
+ <original-file/>
+ <generator>drc: script='/mnt/shuttles/shuttle/sak/klayout/tech/sky130A/sky130A_mr.lydrc'</generator>
+ <top-cell>user_project_wrapper</top-cell>
+ <tags>
+ </tags>
+ <categories>
+ <category>
+ <name>dnwell_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on dnwell</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>dnwell_angle</name>
+ <description>x.3a : non 45 degree angle dnwell</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>nwell_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on nwell</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>nwell_angle</name>
+ <description>x.3a : non 45 degree angle nwell</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>pwbm_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on pwbm</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>pwbm_angle</name>
+ <description>x.3a : non 45 degree angle pwbm</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>pwde_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on pwde</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>pwde_angle</name>
+ <description>x.3a : non 45 degree angle pwde</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>hvtp_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on hvtp</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>hvtp_angle</name>
+ <description>x.3a : non 45 degree angle hvtp</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>hvtr_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on hvtr</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>hvtr_angle</name>
+ <description>x.3a : non 45 degree angle hvtr</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>lvtn_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on lvtn</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>lvtn_angle</name>
+ <description>x.3a : non 45 degree angle lvtn</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>ncm_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on ncm</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>ncm_angle</name>
+ <description>x.3a : non 45 degree angle ncm</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>diff_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on diff</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>tap_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on tap</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>diff_angle</name>
+ <description>x.2 : non 90 degree angle diff</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>diff_angle</name>
+ <description>x.2c : non 45 degree angle diff</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>tap_angle</name>
+ <description>x.2 : non 90 degree angle tap</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>tap_angle</name>
+ <description>x.2c : non 45 degree angle tap</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>tunm_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on tunm</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>tunm_angle</name>
+ <description>x.3a : non 45 degree angle tunm</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>poly_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on poly</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>poly_angle</name>
+ <description>x.2 : non 90 degree angle poly</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>rpm_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on rpm</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>rpm_angle</name>
+ <description>x.3a : non 45 degree angle rpm</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>npc_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on npc</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>npc_angle</name>
+ <description>x.3a : non 45 degree angle npc</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>nsdm_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on nsdm</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>nsdm_angle</name>
+ <description>x.3a : non 45 degree angle nsdm</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>psdm_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on psdm</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>psdm_angle</name>
+ <description>x.3a : non 45 degree angle psdm</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>licon_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on licon</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>licon_angle</name>
+ <description>x.2 : non 90 degree angle licon</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>li_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on li</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>li_angle</name>
+ <description>x.3a : non 45 degree angle li</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>ct_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on mcon</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>ct_angle</name>
+ <description>x.2 : non 90 degree angle mcon</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>vpp_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on vpp</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>vpp_angle</name>
+ <description>x.3a : non 45 degree angle vpp</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>m1_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on m1</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>m1_angle</name>
+ <description>x.3a : non 45 degree angle m1</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>via_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on via</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>via_angle</name>
+ <description>x.2 : non 90 degree angle via</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>m2_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on m2</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>m2_angle</name>
+ <description>x.3a : non 45 degree angle m2</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>via2_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on via2</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>via2_angle</name>
+ <description>x.2 : non 90 degree angle via2</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>m3_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on m3</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>m3_angle</name>
+ <description>x.3a : non 45 degree angle m3</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>via3_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on via3</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>via3_angle</name>
+ <description>x.2 : non 90 degree angle via3</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>nsm_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on nsm</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>nsm_angle</name>
+ <description>x.3a : non 45 degree angle nsm</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>m4_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on m4</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>m4_angle</name>
+ <description>x.3a : non 45 degree angle m4</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>via4_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on via4</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>via4_angle</name>
+ <description>x.2 : non 90 degree angle via4</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>m5_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on m5</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>m5_angle</name>
+ <description>x.3a : non 45 degree angle m5</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>pad_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on pad</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>pad_angle</name>
+ <description>x.3a : non 45 degree angle pad</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>mf_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on mf</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>mf_angle</name>
+ <description>x.2 : non 90 degree angle mf</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>hvi_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on hvi</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>hvi_angle</name>
+ <description>x.3a : non 45 degree angle hvi</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>hvntm_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on hvntm</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>hvntm_angle</name>
+ <description>x.3a : non 45 degree angle hvntm</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>vhvi_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on vhvi</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>vhvi_angle</name>
+ <description>x.3a : non 45 degree angle vhvi</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>uhvi_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on uhvi</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>uhvi_angle</name>
+ <description>x.3a : non 45 degree angle uhvi</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>pwell_rs_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on pwell_rs</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>pwell_rs_angle</name>
+ <description>x.3a : non 45 degree angle pwell_rs</description>
+ <categories>
+ </categories>
+ </category>
+ <category>
+ <name>areaid_re_OFFGRID</name>
+ <description>x.1b : OFFGRID vertex on areaid.re</description>
+ <categories>
+ </categories>
+ </category>
+ </categories>
+ <cells>
+ <cell>
+ <name>user_project_wrapper</name>
+ <variant/>
+ <references>
+ </references>
+ </cell>
+ </cells>
+ <items>
+ </items>
+</report-database>
diff --git a/signoff/kdrc_results_offgrid.xml.summary b/signoff/kdrc_results_offgrid.xml.summary
new file mode 100644
index 0000000..84289c1
--- /dev/null
+++ b/signoff/kdrc_results_offgrid.xml.summary
@@ -0,0 +1,78 @@
+ 0 x.1b : OFFGRID vertex on areaid.re
+ 0 x.1b : OFFGRID vertex on diff
+ 0 x.1b : OFFGRID vertex on dnwell
+ 0 x.1b : OFFGRID vertex on hvi
+ 0 x.1b : OFFGRID vertex on hvntm
+ 0 x.1b : OFFGRID vertex on hvtp
+ 0 x.1b : OFFGRID vertex on hvtr
+ 0 x.1b : OFFGRID vertex on li
+ 0 x.1b : OFFGRID vertex on licon
+ 0 x.1b : OFFGRID vertex on lvtn
+ 0 x.1b : OFFGRID vertex on m1
+ 0 x.1b : OFFGRID vertex on m2
+ 0 x.1b : OFFGRID vertex on m3
+ 0 x.1b : OFFGRID vertex on m4
+ 0 x.1b : OFFGRID vertex on m5
+ 0 x.1b : OFFGRID vertex on mcon
+ 0 x.1b : OFFGRID vertex on mf
+ 0 x.1b : OFFGRID vertex on ncm
+ 0 x.1b : OFFGRID vertex on npc
+ 0 x.1b : OFFGRID vertex on nsdm
+ 0 x.1b : OFFGRID vertex on nsm
+ 0 x.1b : OFFGRID vertex on nwell
+ 0 x.1b : OFFGRID vertex on pad
+ 0 x.1b : OFFGRID vertex on poly
+ 0 x.1b : OFFGRID vertex on psdm
+ 0 x.1b : OFFGRID vertex on pwbm
+ 0 x.1b : OFFGRID vertex on pwde
+ 0 x.1b : OFFGRID vertex on pwell_rs
+ 0 x.1b : OFFGRID vertex on rpm
+ 0 x.1b : OFFGRID vertex on tap
+ 0 x.1b : OFFGRID vertex on tunm
+ 0 x.1b : OFFGRID vertex on uhvi
+ 0 x.1b : OFFGRID vertex on vhvi
+ 0 x.1b : OFFGRID vertex on via
+ 0 x.1b : OFFGRID vertex on via2
+ 0 x.1b : OFFGRID vertex on via3
+ 0 x.1b : OFFGRID vertex on via4
+ 0 x.1b : OFFGRID vertex on vpp
+ 0 x.2 : non 90 degree angle diff
+ 0 x.2 : non 90 degree angle licon
+ 0 x.2 : non 90 degree angle mcon
+ 0 x.2 : non 90 degree angle mf
+ 0 x.2 : non 90 degree angle poly
+ 0 x.2 : non 90 degree angle tap
+ 0 x.2 : non 90 degree angle via
+ 0 x.2 : non 90 degree angle via2
+ 0 x.2 : non 90 degree angle via3
+ 0 x.2 : non 90 degree angle via4
+ 0 x.2c : non 45 degree angle diff
+ 0 x.2c : non 45 degree angle tap
+ 0 x.3a : non 45 degree angle dnwell
+ 0 x.3a : non 45 degree angle hvi
+ 0 x.3a : non 45 degree angle hvntm
+ 0 x.3a : non 45 degree angle hvtp
+ 0 x.3a : non 45 degree angle hvtr
+ 0 x.3a : non 45 degree angle li
+ 0 x.3a : non 45 degree angle lvtn
+ 0 x.3a : non 45 degree angle m1
+ 0 x.3a : non 45 degree angle m2
+ 0 x.3a : non 45 degree angle m3
+ 0 x.3a : non 45 degree angle m4
+ 0 x.3a : non 45 degree angle m5
+ 0 x.3a : non 45 degree angle ncm
+ 0 x.3a : non 45 degree angle npc
+ 0 x.3a : non 45 degree angle nsdm
+ 0 x.3a : non 45 degree angle nsm
+ 0 x.3a : non 45 degree angle nwell
+ 0 x.3a : non 45 degree angle pad
+ 0 x.3a : non 45 degree angle psdm
+ 0 x.3a : non 45 degree angle pwbm
+ 0 x.3a : non 45 degree angle pwde
+ 0 x.3a : non 45 degree angle pwell_rs
+ 0 x.3a : non 45 degree angle rpm
+ 0 x.3a : non 45 degree angle tunm
+ 0 x.3a : non 45 degree angle uhvi
+ 0 x.3a : non 45 degree angle vhvi
+ 0 x.3a : non 45 degree angle vpp
+ 0 total error(s) among 77 error type(s), 0 non-zero type(s)
diff --git a/signoff/make_final b/signoff/make_final
new file mode 100644
index 0000000..495acf0
--- /dev/null
+++ b/signoff/make_final
@@ -0,0 +1 @@
+3918a93fab11bc1df440b6452b780af298463ef2 ./gds/caravel_0002001b.gds
diff --git a/signoff/make_ship b/signoff/make_ship
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/signoff/make_ship
diff --git a/signoff/tapeout_completed b/signoff/tapeout_completed
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/signoff/tapeout_completed
diff --git a/signoff/versions b/signoff/versions
new file mode 100644
index 0000000..2fd4bc7
--- /dev/null
+++ b/signoff/versions
@@ -0,0 +1,18 @@
+------------------------------------
+make_ship: Sun Jul 18 11:22:19 UTC 2021
+make_ship: caravel = commit 6b839f24
+make_ship: magic = 8.3.185
+make_ship: sky130A tech = version 1.0.192-0-gfa1b3ad
+make_ship: open_pdks = 1.0.192
+------------------------------------
+generate_fill: Sun Jul 18 11:36:11 UTC 2021
+generate_fill: caravel = commit 6b839f24
+generate_fill: magic = 8.3.185
+generate_fill: sky130A tech = version 1.0.192-0-gfa1b3ad
+generate_fill: open_pdks = 1.0.192
+------------------------------------
+make_final: Sun Jul 18 12:01:09 UTC 2021
+make_final: caravel = commit 6b839f24
+make_final: magic = 8.3.185
+make_final: sky130A tech = version 1.0.192-0-gfa1b3ad
+make_final: open_pdks = 1.0.192