Added newly refreshed files
diff --git a/gds/m12m3.gds b/gds/m12m3.gds
index 34a2f0b..61cb832 100644
--- a/gds/m12m3.gds
+++ b/gds/m12m3.gds
Binary files differ
diff --git a/gds/sky130_hilas_CapModule01.gds b/gds/sky130_hilas_CapModule01.gds
index d19d11c..e2a1984 100644
--- a/gds/sky130_hilas_CapModule01.gds
+++ b/gds/sky130_hilas_CapModule01.gds
Binary files differ
diff --git a/gds/sky130_hilas_CapModule01a.gds b/gds/sky130_hilas_CapModule01a.gds
index bc8a901..5c1a31d 100644
--- a/gds/sky130_hilas_CapModule01a.gds
+++ b/gds/sky130_hilas_CapModule01a.gds
Binary files differ
diff --git a/gds/sky130_hilas_CapModule02.gds b/gds/sky130_hilas_CapModule02.gds
index 8e79bb5..fda6f5e 100644
--- a/gds/sky130_hilas_CapModule02.gds
+++ b/gds/sky130_hilas_CapModule02.gds
Binary files differ
diff --git a/gds/sky130_hilas_CapModule03.gds b/gds/sky130_hilas_CapModule03.gds
index 9fe4d03..e57190f 100644
--- a/gds/sky130_hilas_CapModule03.gds
+++ b/gds/sky130_hilas_CapModule03.gds
Binary files differ
diff --git a/gds/sky130_hilas_DAC5bit01.gds b/gds/sky130_hilas_DAC5bit01.gds
index 341089f..92796e3 100644
--- a/gds/sky130_hilas_DAC5bit01.gds
+++ b/gds/sky130_hilas_DAC5bit01.gds
Binary files differ
diff --git a/gds/sky130_hilas_DAC6TransistorStack01.gds b/gds/sky130_hilas_DAC6TransistorStack01.gds
index 3a40654..7f4c268 100644
--- a/gds/sky130_hilas_DAC6TransistorStack01.gds
+++ b/gds/sky130_hilas_DAC6TransistorStack01.gds
Binary files differ
diff --git a/gds/sky130_hilas_DAC6TransistorStack01a.gds b/gds/sky130_hilas_DAC6TransistorStack01a.gds
index 3d5e42e..37ec4bc 100644
--- a/gds/sky130_hilas_DAC6TransistorStack01a.gds
+++ b/gds/sky130_hilas_DAC6TransistorStack01a.gds
Binary files differ
diff --git a/gds/sky130_hilas_DAC6TransistorStack01b.gds b/gds/sky130_hilas_DAC6TransistorStack01b.gds
index 7a4112f..1500d18 100644
--- a/gds/sky130_hilas_DAC6TransistorStack01b.gds
+++ b/gds/sky130_hilas_DAC6TransistorStack01b.gds
Binary files differ
diff --git a/gds/sky130_hilas_DAC6TransistorStack01c.gds b/gds/sky130_hilas_DAC6TransistorStack01c.gds
index 4c633e6..7126bb4 100644
--- a/gds/sky130_hilas_DAC6TransistorStack01c.gds
+++ b/gds/sky130_hilas_DAC6TransistorStack01c.gds
Binary files differ
diff --git a/gds/sky130_hilas_DAC6bit01.gds b/gds/sky130_hilas_DAC6bit01.gds
index 3a2fc55..dc98b53 100644
--- a/gds/sky130_hilas_DAC6bit01.gds
+++ b/gds/sky130_hilas_DAC6bit01.gds
Binary files differ
diff --git a/gds/sky130_hilas_DecoupVinj00.gds b/gds/sky130_hilas_DecoupVinj00.gds
index 345a63e..519ef04 100644
--- a/gds/sky130_hilas_DecoupVinj00.gds
+++ b/gds/sky130_hilas_DecoupVinj00.gds
Binary files differ
diff --git a/gds/sky130_hilas_DecoupVinj01.gds b/gds/sky130_hilas_DecoupVinj01.gds
index 6e0cbc6..a3cfeb2 100644
--- a/gds/sky130_hilas_DecoupVinj01.gds
+++ b/gds/sky130_hilas_DecoupVinj01.gds
Binary files differ
diff --git a/gds/sky130_hilas_DoubleTGate01.gds b/gds/sky130_hilas_DoubleTGate01.gds
index a2828cf..baa695d 100644
--- a/gds/sky130_hilas_DoubleTGate01.gds
+++ b/gds/sky130_hilas_DoubleTGate01.gds
Binary files differ
diff --git a/gds/sky130_hilas_DualTACore01.gds b/gds/sky130_hilas_DualTACore01.gds
index 4b2cadf..e05252c 100644
--- a/gds/sky130_hilas_DualTACore01.gds
+++ b/gds/sky130_hilas_DualTACore01.gds
Binary files differ
diff --git a/gds/sky130_hilas_FGBias2x1cell.gds b/gds/sky130_hilas_FGBias2x1cell.gds
index 097d199..6fe3f31 100644
--- a/gds/sky130_hilas_FGBias2x1cell.gds
+++ b/gds/sky130_hilas_FGBias2x1cell.gds
Binary files differ
diff --git a/gds/sky130_hilas_FGBiasWeakGate2x1cell.gds b/gds/sky130_hilas_FGBiasWeakGate2x1cell.gds
index 58e1947..c6407d1 100644
--- a/gds/sky130_hilas_FGBiasWeakGate2x1cell.gds
+++ b/gds/sky130_hilas_FGBiasWeakGate2x1cell.gds
Binary files differ
diff --git a/gds/sky130_hilas_FGHugeVaractorCapacitor01.gds b/gds/sky130_hilas_FGHugeVaractorCapacitor01.gds
index ba69a9a..8e206c2 100644
--- a/gds/sky130_hilas_FGHugeVaractorCapacitor01.gds
+++ b/gds/sky130_hilas_FGHugeVaractorCapacitor01.gds
Binary files differ
diff --git a/gds/sky130_hilas_FGVaractorCapacitor.gds b/gds/sky130_hilas_FGVaractorCapacitor.gds
index c736b6a..5ebee90 100644
--- a/gds/sky130_hilas_FGVaractorCapacitor.gds
+++ b/gds/sky130_hilas_FGVaractorCapacitor.gds
Binary files differ
diff --git a/gds/sky130_hilas_FGVaractorCapacitor02.gds b/gds/sky130_hilas_FGVaractorCapacitor02.gds
index 3e85869..611aff8 100644
--- a/gds/sky130_hilas_FGVaractorCapacitor02.gds
+++ b/gds/sky130_hilas_FGVaractorCapacitor02.gds
Binary files differ
diff --git a/gds/sky130_hilas_FGVaractorTunnelCap01.gds b/gds/sky130_hilas_FGVaractorTunnelCap01.gds
index 0db6454..e5e7c48 100644
--- a/gds/sky130_hilas_FGVaractorTunnelCap01.gds
+++ b/gds/sky130_hilas_FGVaractorTunnelCap01.gds
Binary files differ
diff --git a/gds/sky130_hilas_FGcharacterization01.gds b/gds/sky130_hilas_FGcharacterization01.gds
index 921686f..258e008 100644
--- a/gds/sky130_hilas_FGcharacterization01.gds
+++ b/gds/sky130_hilas_FGcharacterization01.gds
Binary files differ
diff --git a/gds/sky130_hilas_FGtrans2x1cell.gds b/gds/sky130_hilas_FGtrans2x1cell.gds
index 1c5ece8..6cb39d3 100644
--- a/gds/sky130_hilas_FGtrans2x1cell.gds
+++ b/gds/sky130_hilas_FGtrans2x1cell.gds
Binary files differ
diff --git a/gds/sky130_hilas_LeftProtection.gds b/gds/sky130_hilas_LeftProtection.gds
index 88d7d2b..c014849 100644
--- a/gds/sky130_hilas_LeftProtection.gds
+++ b/gds/sky130_hilas_LeftProtection.gds
Binary files differ
diff --git a/gds/sky130_hilas_LevelShift4InputUp.gds b/gds/sky130_hilas_LevelShift4InputUp.gds
index 735a5a0..aa579c4 100644
--- a/gds/sky130_hilas_LevelShift4InputUp.gds
+++ b/gds/sky130_hilas_LevelShift4InputUp.gds
Binary files differ
diff --git a/gds/sky130_hilas_RightProtection.gds b/gds/sky130_hilas_RightProtection.gds
index 675d0f9..e3e078e 100644
--- a/gds/sky130_hilas_RightProtection.gds
+++ b/gds/sky130_hilas_RightProtection.gds
Binary files differ
diff --git a/gds/sky130_hilas_StepUpDigital.gds b/gds/sky130_hilas_StepUpDigital.gds
index 50c4f65..456e3d0 100644
--- a/gds/sky130_hilas_StepUpDigital.gds
+++ b/gds/sky130_hilas_StepUpDigital.gds
Binary files differ
diff --git a/gds/sky130_hilas_StepUpDigitalPart1.gds b/gds/sky130_hilas_StepUpDigitalPart1.gds
index eddda21..a65bc6a 100644
--- a/gds/sky130_hilas_StepUpDigitalPart1.gds
+++ b/gds/sky130_hilas_StepUpDigitalPart1.gds
Binary files differ
diff --git a/gds/sky130_hilas_TA2Cell_1FG.gds b/gds/sky130_hilas_TA2Cell_1FG.gds
index 1dc8715..3fd0f41 100644
--- a/gds/sky130_hilas_TA2Cell_1FG.gds
+++ b/gds/sky130_hilas_TA2Cell_1FG.gds
Binary files differ
diff --git a/gds/sky130_hilas_TA2Cell_1FG_Strong.gds b/gds/sky130_hilas_TA2Cell_1FG_Strong.gds
index d880a06..0a1949e 100644
--- a/gds/sky130_hilas_TA2Cell_1FG_Strong.gds
+++ b/gds/sky130_hilas_TA2Cell_1FG_Strong.gds
Binary files differ
diff --git a/gds/sky130_hilas_TA2Cell_NoFG.gds b/gds/sky130_hilas_TA2Cell_NoFG.gds
index 62fee7c..fc80fd7 100644
--- a/gds/sky130_hilas_TA2Cell_NoFG.gds
+++ b/gds/sky130_hilas_TA2Cell_NoFG.gds
Binary files differ
diff --git a/gds/sky130_hilas_TA2SignalBiasCell.gds b/gds/sky130_hilas_TA2SignalBiasCell.gds
index 108bc89..bc5e51e 100644
--- a/gds/sky130_hilas_TA2SignalBiasCell.gds
+++ b/gds/sky130_hilas_TA2SignalBiasCell.gds
Binary files differ
diff --git a/gds/sky130_hilas_TACoreBlock.gds b/gds/sky130_hilas_TACoreBlock.gds
index 6866208..77eac49 100644
--- a/gds/sky130_hilas_TACoreBlock.gds
+++ b/gds/sky130_hilas_TACoreBlock.gds
Binary files differ
diff --git a/gds/sky130_hilas_TACoreBlock2.gds b/gds/sky130_hilas_TACoreBlock2.gds
index 08f37a0..e8ae7c3 100644
--- a/gds/sky130_hilas_TACoreBlock2.gds
+++ b/gds/sky130_hilas_TACoreBlock2.gds
Binary files differ
diff --git a/gds/sky130_hilas_Tgate4Double01.gds b/gds/sky130_hilas_Tgate4Double01.gds
index 7598151..9923b08 100644
--- a/gds/sky130_hilas_Tgate4Double01.gds
+++ b/gds/sky130_hilas_Tgate4Double01.gds
Binary files differ
diff --git a/gds/sky130_hilas_Tgate4Single01.gds b/gds/sky130_hilas_Tgate4Single01.gds
index bfa6911..7eb8ef9 100644
--- a/gds/sky130_hilas_Tgate4Single01.gds
+++ b/gds/sky130_hilas_Tgate4Single01.gds
Binary files differ
diff --git a/gds/sky130_hilas_TgateDouble01.gds b/gds/sky130_hilas_TgateDouble01.gds
index e076322..61586c6 100644
--- a/gds/sky130_hilas_TgateDouble01.gds
+++ b/gds/sky130_hilas_TgateDouble01.gds
Binary files differ
diff --git a/gds/sky130_hilas_TgateSingle01.gds b/gds/sky130_hilas_TgateSingle01.gds
index 004f55b..2b36264 100644
--- a/gds/sky130_hilas_TgateSingle01.gds
+++ b/gds/sky130_hilas_TgateSingle01.gds
Binary files differ
diff --git a/gds/sky130_hilas_TgateSingle01Part1.gds b/gds/sky130_hilas_TgateSingle01Part1.gds
index 89c0291..491605c 100644
--- a/gds/sky130_hilas_TgateSingle01Part1.gds
+++ b/gds/sky130_hilas_TgateSingle01Part1.gds
Binary files differ
diff --git a/gds/sky130_hilas_TgateSingle01Part2.gds b/gds/sky130_hilas_TgateSingle01Part2.gds
index 577443f..ccafb1a 100644
--- a/gds/sky130_hilas_TgateSingle01Part2.gds
+++ b/gds/sky130_hilas_TgateSingle01Part2.gds
Binary files differ
diff --git a/gds/sky130_hilas_TgateVinj01.gds b/gds/sky130_hilas_TgateVinj01.gds
index 1bc27ab..d90cbf2 100644
--- a/gds/sky130_hilas_TgateVinj01.gds
+++ b/gds/sky130_hilas_TgateVinj01.gds
Binary files differ
diff --git a/gds/sky130_hilas_TopLevelProtectStructure.gds b/gds/sky130_hilas_TopLevelProtectStructure.gds
deleted file mode 100644
index 22fe6df..0000000
--- a/gds/sky130_hilas_TopLevelProtectStructure.gds
+++ /dev/null
Binary files differ
diff --git a/gds/sky130_hilas_TopLevelTextStructure.gds b/gds/sky130_hilas_TopLevelTextStructure.gds
index 3ac4ad6..cac6a91 100644
--- a/gds/sky130_hilas_TopLevelTextStructure.gds
+++ b/gds/sky130_hilas_TopLevelTextStructure.gds
Binary files differ
diff --git a/gds/sky130_hilas_TopProtectStructure.gds b/gds/sky130_hilas_TopProtectStructure.gds
index e6b8e63..be62d0a 100644
--- a/gds/sky130_hilas_TopProtectStructure.gds
+++ b/gds/sky130_hilas_TopProtectStructure.gds
Binary files differ
diff --git a/gds/sky130_hilas_TopProtection.gds b/gds/sky130_hilas_TopProtection.gds
index 9ebe82a..ebab4b8 100644
--- a/gds/sky130_hilas_TopProtection.gds
+++ b/gds/sky130_hilas_TopProtection.gds
Binary files differ
diff --git a/gds/sky130_hilas_Trans2med.gds b/gds/sky130_hilas_Trans2med.gds
index 40d63ab..b7c68e8 100644
--- a/gds/sky130_hilas_Trans2med.gds
+++ b/gds/sky130_hilas_Trans2med.gds
Binary files differ
diff --git a/gds/sky130_hilas_Trans4small.gds b/gds/sky130_hilas_Trans4small.gds
index 6b873e7..bae8dd3 100644
--- a/gds/sky130_hilas_Trans4small.gds
+++ b/gds/sky130_hilas_Trans4small.gds
Binary files differ
diff --git a/gds/sky130_hilas_TunCap01.gds b/gds/sky130_hilas_TunCap01.gds
index 2db7607..7d767b7 100644
--- a/gds/sky130_hilas_TunCap01.gds
+++ b/gds/sky130_hilas_TunCap01.gds
Binary files differ
diff --git a/gds/sky130_hilas_TunVaractorCapcitor.gds b/gds/sky130_hilas_TunVaractorCapcitor.gds
index edb4909..97791df 100644
--- a/gds/sky130_hilas_TunVaractorCapcitor.gds
+++ b/gds/sky130_hilas_TunVaractorCapcitor.gds
Binary files differ
diff --git a/gds/sky130_hilas_VinjDecode2to4.gds b/gds/sky130_hilas_VinjDecode2to4.gds
index 6577120..9822df8 100644
--- a/gds/sky130_hilas_VinjDecode2to4.gds
+++ b/gds/sky130_hilas_VinjDecode2to4.gds
Binary files differ
diff --git a/gds/sky130_hilas_VinjDiodeProtect01.gds b/gds/sky130_hilas_VinjDiodeProtect01.gds
index 14c425f..8701b26 100644
--- a/gds/sky130_hilas_VinjDiodeProtect01.gds
+++ b/gds/sky130_hilas_VinjDiodeProtect01.gds
Binary files differ
diff --git a/gds/sky130_hilas_VinjInv2.gds b/gds/sky130_hilas_VinjInv2.gds
index 092cbed..8953532 100644
--- a/gds/sky130_hilas_VinjInv2.gds
+++ b/gds/sky130_hilas_VinjInv2.gds
Binary files differ
diff --git a/gds/sky130_hilas_VinjNOR3.gds b/gds/sky130_hilas_VinjNOR3.gds
index 675684c..f2952da 100644
--- a/gds/sky130_hilas_VinjNOR3.gds
+++ b/gds/sky130_hilas_VinjNOR3.gds
Binary files differ
diff --git a/gds/sky130_hilas_WTA4Stage01.gds b/gds/sky130_hilas_WTA4Stage01.gds
index 1f2e72d..2997225 100644
--- a/gds/sky130_hilas_WTA4Stage01.gds
+++ b/gds/sky130_hilas_WTA4Stage01.gds
Binary files differ
diff --git a/gds/sky130_hilas_WTA4stage01.gds b/gds/sky130_hilas_WTA4stage01.gds
index 161d493..1013f8a 100644
--- a/gds/sky130_hilas_WTA4stage01.gds
+++ b/gds/sky130_hilas_WTA4stage01.gds
Binary files differ
diff --git a/gds/sky130_hilas_WTAblockSample01.gds b/gds/sky130_hilas_WTAblockSample01.gds
index b1ce627..f99f45a 100644
--- a/gds/sky130_hilas_WTAblockSample01.gds
+++ b/gds/sky130_hilas_WTAblockSample01.gds
Binary files differ
diff --git a/gds/sky130_hilas_WTAsinglestage01.gds b/gds/sky130_hilas_WTAsinglestage01.gds
index 2dfb828..c3167fb 100644
--- a/gds/sky130_hilas_WTAsinglestage01.gds
+++ b/gds/sky130_hilas_WTAsinglestage01.gds
Binary files differ
diff --git a/gds/sky130_hilas_all.gds b/gds/sky130_hilas_all.gds
index 85cdd62..d9c9b75 100644
--- a/gds/sky130_hilas_all.gds
+++ b/gds/sky130_hilas_all.gds
Binary files differ
diff --git a/gds/sky130_hilas_capacitorArray01.gds b/gds/sky130_hilas_capacitorArray01.gds
index 810c034..64e8946 100644
--- a/gds/sky130_hilas_capacitorArray01.gds
+++ b/gds/sky130_hilas_capacitorArray01.gds
Binary files differ
diff --git a/gds/sky130_hilas_capacitorSize01.gds b/gds/sky130_hilas_capacitorSize01.gds
index c1421f5..a637528 100644
--- a/gds/sky130_hilas_capacitorSize01.gds
+++ b/gds/sky130_hilas_capacitorSize01.gds
Binary files differ
diff --git a/gds/sky130_hilas_capacitorSize02.gds b/gds/sky130_hilas_capacitorSize02.gds
index a1c324b..44bc0b6 100644
--- a/gds/sky130_hilas_capacitorSize02.gds
+++ b/gds/sky130_hilas_capacitorSize02.gds
Binary files differ
diff --git a/gds/sky130_hilas_capacitorSize03.gds b/gds/sky130_hilas_capacitorSize03.gds
index f8b639d..5b1aa43 100644
--- a/gds/sky130_hilas_capacitorSize03.gds
+++ b/gds/sky130_hilas_capacitorSize03.gds
Binary files differ
diff --git a/gds/sky130_hilas_capacitorSize04.gds b/gds/sky130_hilas_capacitorSize04.gds
index 323ea6b..a4a68da 100644
--- a/gds/sky130_hilas_capacitorSize04.gds
+++ b/gds/sky130_hilas_capacitorSize04.gds
Binary files differ
diff --git a/gds/sky130_hilas_cellAttempt01.gds b/gds/sky130_hilas_cellAttempt01.gds
index 7a07698..b0c1e38 100644
--- a/gds/sky130_hilas_cellAttempt01.gds
+++ b/gds/sky130_hilas_cellAttempt01.gds
Binary files differ
diff --git a/gds/sky130_hilas_decoup_cap_00.gds b/gds/sky130_hilas_decoup_cap_00.gds
index 0858484..61f8073 100644
--- a/gds/sky130_hilas_decoup_cap_00.gds
+++ b/gds/sky130_hilas_decoup_cap_00.gds
Binary files differ
diff --git a/gds/sky130_hilas_decoup_cap_01.gds b/gds/sky130_hilas_decoup_cap_01.gds
index 7cf0fad..81e496c 100644
--- a/gds/sky130_hilas_decoup_cap_01.gds
+++ b/gds/sky130_hilas_decoup_cap_01.gds
Binary files differ
diff --git a/gds/sky130_hilas_drainSelect01.gds b/gds/sky130_hilas_drainSelect01.gds
index eea6259..98138bf 100644
--- a/gds/sky130_hilas_drainSelect01.gds
+++ b/gds/sky130_hilas_drainSelect01.gds
Binary files differ
diff --git a/gds/sky130_hilas_horizPcell01.gds b/gds/sky130_hilas_horizPcell01.gds
index 9d7a2f7..8bcb3fc 100644
--- a/gds/sky130_hilas_horizPcell01.gds
+++ b/gds/sky130_hilas_horizPcell01.gds
Binary files differ
diff --git a/gds/sky130_hilas_horizTransCell01.gds b/gds/sky130_hilas_horizTransCell01.gds
index e016a72..c78199e 100644
--- a/gds/sky130_hilas_horizTransCell01.gds
+++ b/gds/sky130_hilas_horizTransCell01.gds
Binary files differ
diff --git a/gds/sky130_hilas_invert01.gds b/gds/sky130_hilas_invert01.gds
index c34d60d..d86dbb9 100644
--- a/gds/sky130_hilas_invert01.gds
+++ b/gds/sky130_hilas_invert01.gds
Binary files differ
diff --git a/gds/sky130_hilas_li2m1.gds b/gds/sky130_hilas_li2m1.gds
index a608456..b244fdf 100644
--- a/gds/sky130_hilas_li2m1.gds
+++ b/gds/sky130_hilas_li2m1.gds
Binary files differ
diff --git a/gds/sky130_hilas_li2m2.gds b/gds/sky130_hilas_li2m2.gds
index 78208d3..cc2ae4c 100644
--- a/gds/sky130_hilas_li2m2.gds
+++ b/gds/sky130_hilas_li2m2.gds
Binary files differ
diff --git a/gds/sky130_hilas_m12m2.gds b/gds/sky130_hilas_m12m2.gds
index 032627f..01bab74 100644
--- a/gds/sky130_hilas_m12m2.gds
+++ b/gds/sky130_hilas_m12m2.gds
Binary files differ
diff --git a/gds/sky130_hilas_m22m4.gds b/gds/sky130_hilas_m22m4.gds
index 86e7912..143731a 100644
--- a/gds/sky130_hilas_m22m4.gds
+++ b/gds/sky130_hilas_m22m4.gds
Binary files differ
diff --git a/gds/sky130_hilas_mcap2m4.gds b/gds/sky130_hilas_mcap2m4.gds
index c2ba065..e2f051c 100644
--- a/gds/sky130_hilas_mcap2m4.gds
+++ b/gds/sky130_hilas_mcap2m4.gds
Binary files differ
diff --git a/gds/sky130_hilas_nDiffThOxContact.gds b/gds/sky130_hilas_nDiffThOxContact.gds
index d0c1302..798cf15 100644
--- a/gds/sky130_hilas_nDiffThOxContact.gds
+++ b/gds/sky130_hilas_nDiffThOxContact.gds
Binary files differ
diff --git a/gds/sky130_hilas_nFET03.gds b/gds/sky130_hilas_nFET03.gds
index 5e04738..1f2897d 100644
--- a/gds/sky130_hilas_nFET03.gds
+++ b/gds/sky130_hilas_nFET03.gds
Binary files differ
diff --git a/gds/sky130_hilas_nFET03a.gds b/gds/sky130_hilas_nFET03a.gds
index 9c23f87..fe67d27 100644
--- a/gds/sky130_hilas_nFET03a.gds
+++ b/gds/sky130_hilas_nFET03a.gds
Binary files differ
diff --git a/gds/sky130_hilas_nFETLarge.gds b/gds/sky130_hilas_nFETLarge.gds
index fc331b1..9c95382 100644
--- a/gds/sky130_hilas_nFETLarge.gds
+++ b/gds/sky130_hilas_nFETLarge.gds
Binary files differ
diff --git a/gds/sky130_hilas_nFETLargePart1.gds b/gds/sky130_hilas_nFETLargePart1.gds
index 5b3d952..b275737 100644
--- a/gds/sky130_hilas_nFETLargePart1.gds
+++ b/gds/sky130_hilas_nFETLargePart1.gds
Binary files differ
diff --git a/gds/sky130_hilas_nFETmed.gds b/gds/sky130_hilas_nFETmed.gds
index 36a9771..a55c9fa 100644
--- a/gds/sky130_hilas_nFETmed.gds
+++ b/gds/sky130_hilas_nFETmed.gds
Binary files differ
diff --git a/gds/sky130_hilas_nFETmirrorPairs.gds b/gds/sky130_hilas_nFETmirrorPairs.gds
index bfc2de1..e161fe8 100644
--- a/gds/sky130_hilas_nFETmirrorPairs.gds
+++ b/gds/sky130_hilas_nFETmirrorPairs.gds
Binary files differ
diff --git a/gds/sky130_hilas_nFETmirrorPairs2.gds b/gds/sky130_hilas_nFETmirrorPairs2.gds
index 7abed78..87f117d 100644
--- a/gds/sky130_hilas_nFETmirrorPairs2.gds
+++ b/gds/sky130_hilas_nFETmirrorPairs2.gds
Binary files differ
diff --git a/gds/sky130_hilas_nMirror03.gds b/gds/sky130_hilas_nMirror03.gds
index 7d59adb..b1ed275 100644
--- a/gds/sky130_hilas_nMirror03.gds
+++ b/gds/sky130_hilas_nMirror03.gds
Binary files differ
diff --git a/gds/sky130_hilas_nOverlapCap01.gds b/gds/sky130_hilas_nOverlapCap01.gds
index fe6a00d..bb8f9a0 100644
--- a/gds/sky130_hilas_nOverlapCap01.gds
+++ b/gds/sky130_hilas_nOverlapCap01.gds
Binary files differ
diff --git a/gds/sky130_hilas_overlapCap01.gds b/gds/sky130_hilas_overlapCap01.gds
index f108198..c9b0f62 100644
--- a/gds/sky130_hilas_overlapCap01.gds
+++ b/gds/sky130_hilas_overlapCap01.gds
Binary files differ
diff --git a/gds/sky130_hilas_overlapCap02.gds b/gds/sky130_hilas_overlapCap02.gds
index d4e634a..51c2828 100644
--- a/gds/sky130_hilas_overlapCap02.gds
+++ b/gds/sky130_hilas_overlapCap02.gds
Binary files differ
diff --git a/gds/sky130_hilas_overlapCap02a.gds b/gds/sky130_hilas_overlapCap02a.gds
index 89a7471..b119fd7 100644
--- a/gds/sky130_hilas_overlapCap02a.gds
+++ b/gds/sky130_hilas_overlapCap02a.gds
Binary files differ
diff --git a/gds/sky130_hilas_pFETLarge.gds b/gds/sky130_hilas_pFETLarge.gds
index bd7c73d..c0513f1 100644
--- a/gds/sky130_hilas_pFETLarge.gds
+++ b/gds/sky130_hilas_pFETLarge.gds
Binary files differ
diff --git a/gds/sky130_hilas_pFETLargePart1.gds b/gds/sky130_hilas_pFETLargePart1.gds
index ce9d523..32e2205 100644
--- a/gds/sky130_hilas_pFETLargePart1.gds
+++ b/gds/sky130_hilas_pFETLargePart1.gds
Binary files differ
diff --git a/gds/sky130_hilas_pFETdevice01.gds b/gds/sky130_hilas_pFETdevice01.gds
index b1a89bc..4b75540 100644
--- a/gds/sky130_hilas_pFETdevice01.gds
+++ b/gds/sky130_hilas_pFETdevice01.gds
Binary files differ
diff --git a/gds/sky130_hilas_pFETdevice01a.gds b/gds/sky130_hilas_pFETdevice01a.gds
index d5474f4..43e3ab1 100644
--- a/gds/sky130_hilas_pFETdevice01a.gds
+++ b/gds/sky130_hilas_pFETdevice01a.gds
Binary files differ
diff --git a/gds/sky130_hilas_pFETdevice01aa.gds b/gds/sky130_hilas_pFETdevice01aa.gds
index ecf4b13..293d293 100644
--- a/gds/sky130_hilas_pFETdevice01aa.gds
+++ b/gds/sky130_hilas_pFETdevice01aa.gds
Binary files differ
diff --git a/gds/sky130_hilas_pFETdevice01b.gds b/gds/sky130_hilas_pFETdevice01b.gds
index fa178f9..7f01acc 100644
--- a/gds/sky130_hilas_pFETdevice01b.gds
+++ b/gds/sky130_hilas_pFETdevice01b.gds
Binary files differ
diff --git a/gds/sky130_hilas_pFETdevice01ba.gds b/gds/sky130_hilas_pFETdevice01ba.gds
index c6b9d2e..0f62386 100644
--- a/gds/sky130_hilas_pFETdevice01ba.gds
+++ b/gds/sky130_hilas_pFETdevice01ba.gds
Binary files differ
diff --git a/gds/sky130_hilas_pFETdevice01c.gds b/gds/sky130_hilas_pFETdevice01c.gds
index 119c7fe..99dbd64 100644
--- a/gds/sky130_hilas_pFETdevice01c.gds
+++ b/gds/sky130_hilas_pFETdevice01c.gds
Binary files differ
diff --git a/gds/sky130_hilas_pFETdevice01d.gds b/gds/sky130_hilas_pFETdevice01d.gds
index 4f198b0..ed844f6 100644
--- a/gds/sky130_hilas_pFETdevice01d.gds
+++ b/gds/sky130_hilas_pFETdevice01d.gds
Binary files differ
diff --git a/gds/sky130_hilas_pFETdevice01e.gds b/gds/sky130_hilas_pFETdevice01e.gds
index 5cd6008..878de25 100644
--- a/gds/sky130_hilas_pFETdevice01e.gds
+++ b/gds/sky130_hilas_pFETdevice01e.gds
Binary files differ
diff --git a/gds/sky130_hilas_pFETmed.gds b/gds/sky130_hilas_pFETmed.gds
index fa80bd9..29dc567 100644
--- a/gds/sky130_hilas_pFETmed.gds
+++ b/gds/sky130_hilas_pFETmed.gds
Binary files differ
diff --git a/gds/sky130_hilas_pFETmirror.gds b/gds/sky130_hilas_pFETmirror.gds
index bb91a8e..65c8508 100644
--- a/gds/sky130_hilas_pFETmirror.gds
+++ b/gds/sky130_hilas_pFETmirror.gds
Binary files differ
diff --git a/gds/sky130_hilas_pFETmirror02.gds b/gds/sky130_hilas_pFETmirror02.gds
index 50df45d..4585a04 100644
--- a/gds/sky130_hilas_pFETmirror02.gds
+++ b/gds/sky130_hilas_pFETmirror02.gds
Binary files differ
diff --git a/gds/sky130_hilas_pTransistorPair.gds b/gds/sky130_hilas_pTransistorPair.gds
index bf3ff99..4e48b43 100644
--- a/gds/sky130_hilas_pTransistorPair.gds
+++ b/gds/sky130_hilas_pTransistorPair.gds
Binary files differ
diff --git a/gds/sky130_hilas_pTransistorVert01.gds b/gds/sky130_hilas_pTransistorVert01.gds
index 268aa6a..412b46b 100644
--- a/gds/sky130_hilas_pTransistorVert01.gds
+++ b/gds/sky130_hilas_pTransistorVert01.gds
Binary files differ
diff --git a/gds/sky130_hilas_poly2li.gds b/gds/sky130_hilas_poly2li.gds
index 5876630..426bf6f 100644
--- a/gds/sky130_hilas_poly2li.gds
+++ b/gds/sky130_hilas_poly2li.gds
Binary files differ
diff --git a/gds/sky130_hilas_poly2m1.gds b/gds/sky130_hilas_poly2m1.gds
index ec64ca5..c864ae1 100644
--- a/gds/sky130_hilas_poly2m1.gds
+++ b/gds/sky130_hilas_poly2m1.gds
Binary files differ
diff --git a/gds/sky130_hilas_poly2m2.gds b/gds/sky130_hilas_poly2m2.gds
index 57bbcbc..c135103 100644
--- a/gds/sky130_hilas_poly2m2.gds
+++ b/gds/sky130_hilas_poly2m2.gds
Binary files differ
diff --git a/gds/sky130_hilas_polyresistorGND.gds b/gds/sky130_hilas_polyresistorGND.gds
index d9d4979..eacd1d9 100644
--- a/gds/sky130_hilas_polyresistorGND.gds
+++ b/gds/sky130_hilas_polyresistorGND.gds
Binary files differ
diff --git a/gds/sky130_hilas_resistor01.gds b/gds/sky130_hilas_resistor01.gds
index ac1cdcc..ad77f94 100644
--- a/gds/sky130_hilas_resistor01.gds
+++ b/gds/sky130_hilas_resistor01.gds
Binary files differ
diff --git a/gds/sky130_hilas_swc2x2varactor.gds b/gds/sky130_hilas_swc2x2varactor.gds
index 8fc02d6..8bef90e 100644
--- a/gds/sky130_hilas_swc2x2varactor.gds
+++ b/gds/sky130_hilas_swc2x2varactor.gds
Binary files differ
diff --git a/gds/sky130_hilas_swc4x1BiasCell.gds b/gds/sky130_hilas_swc4x1BiasCell.gds
index 035b7ad..9ec5904 100644
--- a/gds/sky130_hilas_swc4x1BiasCell.gds
+++ b/gds/sky130_hilas_swc4x1BiasCell.gds
Binary files differ
diff --git a/gds/sky130_hilas_swc4x1cellOverlap.gds b/gds/sky130_hilas_swc4x1cellOverlap.gds
index 35aeac9..3e7f0cb 100644
--- a/gds/sky130_hilas_swc4x1cellOverlap.gds
+++ b/gds/sky130_hilas_swc4x1cellOverlap.gds
Binary files differ
diff --git a/gds/sky130_hilas_swc4x1cellOverlap2.gds b/gds/sky130_hilas_swc4x1cellOverlap2.gds
index e561f68..9423393 100644
--- a/gds/sky130_hilas_swc4x1cellOverlap2.gds
+++ b/gds/sky130_hilas_swc4x1cellOverlap2.gds
Binary files differ
diff --git a/gds/sky130_hilas_swc4x2cell.gds b/gds/sky130_hilas_swc4x2cell.gds
index b0a9781..7f1a9dd 100644
--- a/gds/sky130_hilas_swc4x2cell.gds
+++ b/gds/sky130_hilas_swc4x2cell.gds
Binary files differ
diff --git a/gds/sky130_hilas_swc4x2cellOverlap.gds b/gds/sky130_hilas_swc4x2cellOverlap.gds
index 5e69d60..6d80cbd 100644
--- a/gds/sky130_hilas_swc4x2cellOverlap.gds
+++ b/gds/sky130_hilas_swc4x2cellOverlap.gds
Binary files differ
diff --git a/gds/sky130_hilas_wellContact.gds b/gds/sky130_hilas_wellContact.gds
index 4c4d9da..0831366 100644
--- a/gds/sky130_hilas_wellContact.gds
+++ b/gds/sky130_hilas_wellContact.gds
Binary files differ
diff --git a/gds/user_analog_project_wrapper.gds b/gds/user_analog_project_wrapper.gds
index 2bfb670..5b76833 100644
--- a/gds/user_analog_project_wrapper.gds
+++ b/gds/user_analog_project_wrapper.gds
Binary files differ
diff --git a/mag/sky130_hilas_TopLevelTextStructure.mag b/mag/sky130_hilas_TopLevelTextStructure.mag
index 6cde771..adc6e28 100644
--- a/mag/sky130_hilas_TopLevelTextStructure.mag
+++ b/mag/sky130_hilas_TopLevelTextStructure.mag
@@ -1,6 +1,6 @@
 magic
 tech sky130A
-timestamp 1626570174
+timestamp 1626912190
 << error_s >>
 rect 2364 6133 2393 6149
 rect 2443 6133 2472 6149
@@ -3155,14 +3155,14 @@
 timestamp 1625970648
 transform -1 0 6601 0 -1 4345
 box 1050 5 1622 610
-use sky130_hilas_TA2Cell_1FG_Strong  sky130_hilas_TA2Cell_1FG_Strong_0
-timestamp 1626460134
-transform 1 0 8236 0 1 3936
-box -2617 140 193 745
 use sky130_hilas_TA2Cell_1FG  sky130_hilas_TA2Cell_1FG_0
 timestamp 1625491133
 transform 1 0 8236 0 1 3333
 box -2616 140 193 745
+use sky130_hilas_TA2Cell_1FG_Strong  sky130_hilas_TA2Cell_1FG_Strong_0
+timestamp 1626460134
+transform 1 0 8236 0 1 3936
+box -2617 140 193 745
 use sky130_hilas_Tgate4Single01  sky130_hilas_Tgate4Single01_0
 timestamp 1608226321
 transform 1 0 10780 0 1 3947
diff --git a/mag/sky130_hilas_TopProtectStructure.mag b/mag/sky130_hilas_TopProtectStructure.mag
index 4df1e73..0ab839b 100644
--- a/mag/sky130_hilas_TopProtectStructure.mag
+++ b/mag/sky130_hilas_TopProtectStructure.mag
@@ -1,6 +1,6 @@
 magic
 tech sky130A
-timestamp 1626780777
+timestamp 1626912190
 << error_s >>
 rect -626 12757 -597 12773
 rect -547 12757 -518 12773
@@ -905,22 +905,22 @@
 rect 10049 -23816 10253 -23650
 rect -15053 -24304 -14913 -24107
 rect -14423 -24337 -14283 -23971
-use sky130_hilas_TopProtection  sky130_hilas_TopProtection_0
-timestamp 1626559870
-transform 1 0 -13875 0 1 13286
-box -2 -76 34131 1170
-use sky130_hilas_LeftProtection  sky130_hilas_LeftProtection_0
-timestamp 1626559870
-transform 1 0 -13278 0 1 -15672
-box -2065 -8439 -833 28728
+use sky130_hilas_TopLevelTextStructure  sky130_hilas_TopLevelTextStructure_0
+timestamp 1626912190
+transform 1 0 -2990 0 1 6624
+box 218 -793 13243 6785
 use sky130_hilas_RightProtection  sky130_hilas_RightProtection_0
 timestamp 1626559870
 transform 1 0 22518 0 1 -15744
 box -2054 8715 -826 28728
-use sky130_hilas_TopLevelTextStructure  sky130_hilas_TopLevelTextStructure_0
-timestamp 1626570174
-transform 1 0 -2990 0 1 6624
-box 218 -793 13243 6785
+use sky130_hilas_LeftProtection  sky130_hilas_LeftProtection_0
+timestamp 1626559870
+transform 1 0 -13278 0 1 -15672
+box -2065 -8439 -833 28728
+use sky130_hilas_TopProtection  sky130_hilas_TopProtection_0
+timestamp 1626559870
+transform 1 0 -13875 0 1 13286
+box -2 -76 34131 1170
 << labels >>
 rlabel metal1 21692 -6258 21817 -5869 0 IO07
 port 1 nsew
diff --git a/mag/user_analog_project_wrapper.mag b/mag/user_analog_project_wrapper.mag
index 714c649..5f8b097 100644
--- a/mag/user_analog_project_wrapper.mag
+++ b/mag/user_analog_project_wrapper.mag
@@ -1,6 +1,6 @@
 magic
 tech sky130A
-timestamp 1626828319
+timestamp 1626913380
 << error_p >>
 rect 191031 314584 191034 314587
 rect 191034 314581 191037 314584
@@ -85,6 +85,8 @@
 rect 195700 311878 196026 313349
 rect 194509 311873 197218 311878
 rect 194509 309159 197218 309164
+rect 134130 297256 135001 297396
+rect 135491 296605 135631 297363
 rect 145435 23269 145781 23277
 rect 145435 23268 145514 23269
 rect 62837 23012 145514 23268
@@ -963,7 +965,19 @@
 rect -400 16802 240 16858
 rect -400 16211 240 16267
 rect 18963 8511 19741 303886
+rect 114050 296985 119434 297067
+rect 114050 296474 114110 296985
+rect 119344 296952 119434 296985
+rect 119344 296661 134601 296952
 rect 194032 296808 197399 309000
+rect 119344 296474 119434 296661
+rect 114050 296436 119434 296474
+rect 123726 296065 127459 296155
+rect 123726 295749 123786 296065
+rect 127414 296043 127459 296065
+rect 127414 295752 135616 296043
+rect 127414 295749 127459 295752
+rect 123726 295659 127459 295749
 rect 194032 295365 197158 296808
 rect 107693 294958 197158 295365
 rect 107693 291484 107774 294958
@@ -1167,6 +1181,8 @@
 rect 194509 309164 197218 311873
 rect 197218 309164 197359 311873
 rect 194386 309057 197359 309164
+rect 114110 296474 119344 296985
+rect 123786 295749 127414 296065
 rect 107774 291484 109861 294958
 rect 288863 315226 291366 321612
 rect 287797 270874 290554 276962
@@ -1193,6 +1209,9 @@
 rect 123646 335149 127552 335299
 rect 123646 334787 124052 335149
 rect 127445 334787 127552 335149
+rect 113966 296985 119596 297007
+rect 113966 296474 114110 296985
+rect 119344 296474 119596 296985
 rect 31049 294958 110021 295049
 rect 31049 291484 107774 294958
 rect 109861 291484 110021 294958
@@ -1200,8 +1219,11 @@
 rect 778 282005 4486 282389
 rect 778 274772 945 282005
 rect 2231 281468 4486 282005
-rect 113966 281468 119596 297007
+rect 113966 281468 119596 296474
 rect 2231 275661 119596 281468
+rect 123646 296065 127552 334787
+rect 123646 295749 123786 296065
+rect 127414 295749 127552 296065
 rect 2231 274772 4486 275661
 rect 778 274572 4486 274772
 rect 65342 119497 71089 120119
@@ -1214,7 +1236,7 @@
 rect 3439 102619 71089 108251
 rect 996 102504 71089 102619
 rect 110906 76122 116193 275661
-rect 123646 275407 127552 334787
+rect 123646 275407 127552 295749
 rect 176783 335101 180689 336160
 rect 176783 334905 176867 335101
 rect 180418 334905 180689 335101
@@ -1273,86 +1295,86 @@
 timestamp 1626781805
 transform 1 0 133012 0 1 303846
 box -25 -21 1232 1087
-use m12m3  m12m3_27
+use m12m3  m12m3_28
 timestamp 1626781805
-transform 1 0 133012 0 1 309660
-box -25 -21 1232 1087
-use m12m3  m12m3_26
-timestamp 1626781805
-transform 1 0 133074 0 1 312091
+transform 1 0 132948 0 1 306753
 box -25 -21 1232 1087
 use m12m3  m12m3_25
 timestamp 1626781805
 transform 1 0 133074 0 1 315106
 box -25 -21 1232 1087
-use m12m3  m12m3_28
+use m12m3  m12m3_26
 timestamp 1626781805
-transform 1 0 132948 0 1 306753
+transform 1 0 133074 0 1 312091
 box -25 -21 1232 1087
-use m12m3  m12m3_18
+use m12m3  m12m3_27
 timestamp 1626781805
-transform 1 0 172206 0 1 315227
+transform 1 0 133012 0 1 309660
 box -25 -21 1232 1087
 use m12m3  m12m3_30
 timestamp 1626781805
 transform 1 0 174268 0 1 313861
 box -25 -21 1232 1087
-use m12m3  m12m3_22
+use m12m3  m12m3_18
 timestamp 1626781805
-transform 1 0 133124 0 1 323749
-box -25 -21 1232 1087
-use m12m3  m12m3_24
-timestamp 1626781805
-transform 1 0 133108 0 1 318171
+transform 1 0 172206 0 1 315227
 box -25 -21 1232 1087
 use m12m3  m12m3_23
 timestamp 1626781805
 transform 1 0 133057 0 1 321019
 box -25 -21 1232 1087
+use m12m3  m12m3_24
+timestamp 1626781805
+transform 1 0 133108 0 1 318171
+box -25 -21 1232 1087
+use m12m3  m12m3_22
+timestamp 1626781805
+transform 1 0 133124 0 1 323749
+box -25 -21 1232 1087
 use m12m3  m12m3_8
 timestamp 1626781805
 transform 1 0 168404 0 1 316575
 box -25 -21 1232 1087
-use m12m3  m12m3_15
-timestamp 1626781805
-transform 1 0 172166 0 1 323714
-box -25 -21 1232 1087
-use m12m3  m12m3_16
-timestamp 1626781805
-transform 1 0 172288 0 1 320912
-box -25 -21 1232 1087
 use m12m3  m12m3_17
 timestamp 1626781805
 transform 1 0 172247 0 1 317988
 box -25 -21 1232 1087
-use m12m3  m12m3_21
+use m12m3  m12m3_16
 timestamp 1626781805
-transform 1 0 133124 0 1 326479
+transform 1 0 172288 0 1 320912
+box -25 -21 1232 1087
+use m12m3  m12m3_15
+timestamp 1626781805
+transform 1 0 172166 0 1 323714
 box -25 -21 1232 1087
 use m12m3  m12m3_20
 timestamp 1626781805
 transform 1 0 133108 0 1 329511
 box -25 -21 1232 1087
-use m12m3  m12m3_12
+use m12m3  m12m3_21
 timestamp 1626781805
-transform 1 0 172166 0 1 332200
-box -25 -21 1232 1087
-use m12m3  m12m3_13
-timestamp 1626781805
-transform 1 0 172247 0 1 329276
+transform 1 0 133124 0 1 326479
 box -25 -21 1232 1087
 use m12m3  m12m3_14
 timestamp 1626781805
 transform 1 0 172247 0 1 326759
 box -25 -21 1232 1087
-use m12m3  m12m3_1
+use m12m3  m12m3_13
 timestamp 1626781805
-transform 1 0 136237 0 1 338302
+transform 1 0 172247 0 1 329276
+box -25 -21 1232 1087
+use m12m3  m12m3_12
+timestamp 1626781805
+transform 1 0 172166 0 1 332200
 box -25 -21 1232 1087
 use m12m3  m12m3_19
 timestamp 1626781805
 transform 1 0 133041 0 1 332459
 box -25 -21 1232 1087
+use m12m3  m12m3_1
+timestamp 1626781805
+transform 1 0 136237 0 1 338302
+box -25 -21 1232 1087
 use m12m3  m12m3_11
 timestamp 1626781805
 transform 1 0 167963 0 1 339248
@@ -1361,42 +1383,50 @@
 timestamp 1626781805
 transform 1 0 139001 0 1 340528
 box -25 -21 1232 1087
-use m12m3  m12m3_3
-timestamp 1626781805
-transform 1 0 146062 0 1 345056
-box -25 -21 1232 1087
 use m12m3  m12m3_2
 timestamp 1626781805
 transform 1 0 141764 0 1 342702
 box -25 -21 1232 1087
+use m12m3  m12m3_3
+timestamp 1626781805
+transform 1 0 146062 0 1 345056
+box -25 -21 1232 1087
 use m12m3  m12m3_4
 timestamp 1626781805
 transform 1 0 150284 0 1 347359
 box -25 -21 1232 1087
-use m12m3  m12m3_9
+use m12m3  m12m3_10
 timestamp 1626781805
-transform 1 0 162436 0 1 343623
+transform 1 0 165200 0 1 341397
 box -25 -21 1232 1087
 use m12m3  m12m3_7
 timestamp 1626781805
 transform 1 0 159571 0 1 345926
 box -25 -21 1232 1087
-use m12m3  m12m3_10
+use m12m3  m12m3_9
 timestamp 1626781805
-transform 1 0 165200 0 1 341397
-box -25 -21 1232 1087
-use m12m3  m12m3_5
-timestamp 1626781805
-transform 1 0 153098 0 1 349789
+transform 1 0 162436 0 1 343623
 box -25 -21 1232 1087
 use m12m3  m12m3_6
 timestamp 1626781805
 transform 1 0 156526 0 1 348894
 box -25 -21 1232 1087
+use m12m3  m12m3_5
+timestamp 1626781805
+transform 1 0 153098 0 1 349789
+box -25 -21 1232 1087
 use sky130_hilas_TopProtectStructure  sky130_hilas_TopProtectStructure_0
-timestamp 1626780777
+timestamp 1626912190
 transform 1 0 149914 0 1 321560
 box -15468 -24337 21817 14573
+use m12m3  m12m3_32
+timestamp 1626781805
+transform 1 0 135394 0 1 295760
+box -25 -21 1232 1087
+use m12m3  m12m3_31
+timestamp 1626781805
+transform 1 0 133373 0 1 296500
+box -25 -21 1232 1087
 << labels >>
 flabel metal3 s 291760 134615 292400 134671 0 FreeSans 560 0 0 0 gpio_analog[0]
 port 0 nsew signal bidirectional
diff --git a/verilog/rtl/sky130_hilas_sc.v b/verilog/rtl/sky130_hilas_sc.v
index 39b369d..0c72cc0 100644
--- a/verilog/rtl/sky130_hilas_sc.v
+++ b/verilog/rtl/sky130_hilas_sc.v
@@ -9674,6 +9674,305 @@
 
 //--------EOF---------
 
+`ifndef SKY130_HILAS_TOPPROTECTSTRUCTURE
+`define SKY130_HILAS_TOPPROTECTSTRUCTURE
+
+/**
+ * sky130_hilas_TopProtectStructure: top level test structure with protection (duplicate of TopLevelProtectStructure)
+ *
+ * Verilog wrapper for sky130_hilas_TopProtectStructure.
+ *
+ * WARNING: This file is autogenerated, do not modify directly!
+ */
+
+`timescale 1ns / 1ps
+`default_nettype none
+
+
+`ifdef USE_POWER_PINS
+/*********************************************************/
+
+`celldefine
+module sky130_hilas_TopProtectStructure (
+    IO07,
+    IO08,
+    IO09,
+    IO10,
+    IO11,
+    IO12,
+    IO13,
+    IO25,
+    IO26,
+    IO27,
+    IO28,
+    IO29,
+    IO30,
+    IO31,
+    IO32,
+    IO33,
+    IO34,
+    IO35,
+    IO36,
+    IO37,
+    VSSA1,
+    ANALOG10,
+    ANALOG09,
+    ANALOG08,
+    ANALOG07,
+    ANALOG06,
+    ANALOG05,
+    ANALOG04,
+    ANALOG03,
+    ANALOG02,
+    ANALOG01,
+    ANALOG00,
+    VDDA1,
+    LADATAOUT01,
+    LADATAOUT00,
+    LADATAOUT02,
+    LADATAOUT03,
+    LADATAOUT04,
+    LADATAOUT05,
+    LADATAOUT06,
+    LADATAOUT07,
+    LADATAOUT08,
+    LADATAOUT09,
+    LADATAOUT10,
+    LADATAOUT11,
+    LADATAOUT12,
+    LADATAOUT13,
+    LADATAOUT14,
+    LADATAOUT15,
+    LADATA16,
+    LADATAOUT17,
+    LADATAOUT18,
+    LADATAOUT19,
+    LADATAOUT20,
+    LADATAOUT21,
+    LADATAOUT22,
+    LADATAOUT23,
+    LADATAOUT24,
+    LADATAIN00,
+    LADATAIN01,
+    LADATAIN02,
+    LADATAIN03,
+    VCCA,
+    VNB,
+    VPB
+);
+        inout IO07;
+        inout IO08;
+        inout IO09;
+        inout IO10;
+        inout IO11;
+        inout IO12;
+        inout IO13;
+        inout IO25;
+        inout IO26;
+        inout IO27;
+        inout IO28;
+        inout IO29;
+        inout IO30;
+        inout IO31;
+        inout IO32;
+        inout IO33;
+        inout IO34;
+        inout IO35;
+        inout IO36;
+        inout IO37;
+        inout VSSA1;
+        inout ANALOG10;
+        inout ANALOG09;
+        inout ANALOG08;
+        inout ANALOG07;
+        inout ANALOG06;
+        inout ANALOG05;
+        inout ANALOG04;
+        inout ANALOG03;
+        inout ANALOG02;
+        inout ANALOG01;
+        inout ANALOG00;
+        inout VDDA1;
+        inout LADATAOUT01;
+        inout LADATAOUT00;
+        inout LADATAOUT02;
+        inout LADATAOUT03;
+        inout LADATAOUT04;
+        inout LADATAOUT05;
+        inout LADATAOUT06;
+        inout LADATAOUT07;
+        inout LADATAOUT08;
+        inout LADATAOUT09;
+        inout LADATAOUT10;
+        inout LADATAOUT11;
+        inout LADATAOUT12;
+        inout LADATAOUT13;
+        inout LADATAOUT14;
+        inout LADATAOUT15;
+        inout LADATA16;
+        inout LADATAOUT17;
+        inout LADATAOUT18;
+        inout LADATAOUT19;
+        inout LADATAOUT20;
+        inout LADATAOUT21;
+        inout LADATAOUT22;
+        inout LADATAOUT23;
+        inout LADATAOUT24;
+        inout LADATAIN00;
+        inout LADATAIN01;
+        inout LADATAIN02;
+        inout LADATAIN03;
+        inout VCCA;
+        inout VNB;
+        inout VPB;
+endmodule
+`endcelldefine
+
+/*********************************************************/
+`else // If not USE_POWER_PINS
+/*********************************************************/
+
+`celldefine
+module sky130_hilas_TopProtectStructure (
+    IO07,
+    IO08,
+    IO09,
+    IO10,
+    IO11,
+    IO12,
+    IO13,
+    IO25,
+    IO26,
+    IO27,
+    IO28,
+    IO29,
+    IO30,
+    IO31,
+    IO32,
+    IO33,
+    IO34,
+    IO35,
+    IO36,
+    IO37,
+    VSSA1,
+    ANALOG10,
+    ANALOG09,
+    ANALOG08,
+    ANALOG07,
+    ANALOG06,
+    ANALOG05,
+    ANALOG04,
+    ANALOG03,
+    ANALOG02,
+    ANALOG01,
+    ANALOG00,
+    VDDA1,
+    LADATAOUT01,
+    LADATAOUT00,
+    LADATAOUT02,
+    LADATAOUT03,
+    LADATAOUT04,
+    LADATAOUT05,
+    LADATAOUT06,
+    LADATAOUT07,
+    LADATAOUT08,
+    LADATAOUT09,
+    LADATAOUT10,
+    LADATAOUT11,
+    LADATAOUT12,
+    LADATAOUT13,
+    LADATAOUT14,
+    LADATAOUT15,
+    LADATA16,
+    LADATAOUT17,
+    LADATAOUT18,
+    LADATAOUT19,
+    LADATAOUT20,
+    LADATAOUT21,
+    LADATAOUT22,
+    LADATAOUT23,
+    LADATAOUT24,
+    LADATAIN00,
+    LADATAIN01,
+    LADATAIN02,
+    LADATAIN03,
+    VCCA
+);
+        inout IO07;
+        inout IO08;
+        inout IO09;
+        inout IO10;
+        inout IO11;
+        inout IO12;
+        inout IO13;
+        inout IO25;
+        inout IO26;
+        inout IO27;
+        inout IO28;
+        inout IO29;
+        inout IO30;
+        inout IO31;
+        inout IO32;
+        inout IO33;
+        inout IO34;
+        inout IO35;
+        inout IO36;
+        inout IO37;
+        inout VSSA1;
+        inout ANALOG10;
+        inout ANALOG09;
+        inout ANALOG08;
+        inout ANALOG07;
+        inout ANALOG06;
+        inout ANALOG05;
+        inout ANALOG04;
+        inout ANALOG03;
+        inout ANALOG02;
+        inout ANALOG01;
+        inout ANALOG00;
+        inout VDDA1;
+        inout LADATAOUT01;
+        inout LADATAOUT00;
+        inout LADATAOUT02;
+        inout LADATAOUT03;
+        inout LADATAOUT04;
+        inout LADATAOUT05;
+        inout LADATAOUT06;
+        inout LADATAOUT07;
+        inout LADATAOUT08;
+        inout LADATAOUT09;
+        inout LADATAOUT10;
+        inout LADATAOUT11;
+        inout LADATAOUT12;
+        inout LADATAOUT13;
+        inout LADATAOUT14;
+        inout LADATAOUT15;
+        inout LADATA16;
+        inout LADATAOUT17;
+        inout LADATAOUT18;
+        inout LADATAOUT19;
+        inout LADATAOUT20;
+        inout LADATAOUT21;
+        inout LADATAOUT22;
+        inout LADATAOUT23;
+        inout LADATAOUT24;
+        inout LADATAIN00;
+        inout LADATAIN01;
+        inout LADATAIN02;
+        inout LADATAIN03;
+        inout VCCA;
+endmodule
+`endcelldefine
+
+/*********************************************************/
+`endif // USE_POWER_PINS
+
+`default_nettype wire
+`endif  // SKY130_HILAS_TOPPROTECTSTRUCTURE
+
+
+//--------EOF---------
+
 `ifndef SKY130_HILAS_CAPMODULE01
 `define SKY130_HILAS_CAPMODULE01
 
diff --git a/verilog/rtl/uprj_analog_netlists.v b/verilog/rtl/uprj_analog_netlists.v
index 46c2606..055a496 100644
--- a/verilog/rtl/uprj_analog_netlists.v
+++ b/verilog/rtl/uprj_analog_netlists.v
@@ -30,8 +30,8 @@
 `ifdef GL
     `default_nettype wire
     `include "gl/user_analog_project_wrapper.v"
-    `include "gl/user_analog_proj_example.v"
+    `include "gl/sky130_hilas_sc.v"
 `else
     `include "user_analog_project_wrapper.v"
-    `include "user_analog_proj_example.v"
+    `include "sky130_hilas_sc.v"
 `endif
diff --git a/verilog/rtl/user_analog_project_wrapper.v b/verilog/rtl/user_analog_project_wrapper.v
index 524818c..75a33ca 100644
--- a/verilog/rtl/user_analog_project_wrapper.v
+++ b/verilog/rtl/user_analog_project_wrapper.v
@@ -121,7 +121,7 @@
 /*--------------------------------------*/
 /* User project is instantiated  here   */
 /*--------------------------------------*/
-sky130_hilas_TopLevelProtectStructure mprj (
+sky130_hilas_TopProtectStructure mprj (
     `ifdef USE_POWER_PINS
         //Power Connections
         .VDDA1(vdda1),
diff --git a/xschem/.spiceinit b/xschem/.spiceinit
deleted file mode 100644
index e6a73aa..0000000
--- a/xschem/.spiceinit
+++ /dev/null
@@ -1,5 +0,0 @@
-* ngspice initialization for sky130
-* assert BSIM compatibility mode with "nf" vs. "W"
-set ngbehavior=hsa
-* "nomodcheck" speeds up loading time
-set ng_nomodcheck
diff --git a/xschem/analog_wrapper_tb.sch b/xschem/analog_wrapper_tb.sch
deleted file mode 100644
index 736a27c..0000000
--- a/xschem/analog_wrapper_tb.sch
+++ /dev/null
@@ -1,97 +0,0 @@
-v {xschem version=2.9.9 file_version=1.2 }
-G {}
-K {}
-V {}
-S {}
-E {}
-N 300 -290 510 -290 { lab=#net1}
-N 590 -290 590 -250 { lab=#net1}
-N 300 -250 430 -250 { lab=GND}
-N 510 -250 510 -150 { lab=GND}
-N 510 -150 780 -150 { lab=GND}
-N 780 -190 780 -150 { lab=GND}
-N 690 -190 690 -150 { lab=GND}
-N 590 -190 590 -150 { lab=GND}
-N 300 -210 400 -210 { lab=#net2}
-N 480 -270 480 -210 { lab=#net2}
-N 480 -270 690 -270 { lab=#net2}
-N 690 -270 690 -250 { lab=#net2}
-N 300 10 450 10 { lab=#net3}
-N 850 -270 850 0 { lab=io_analog[4]}
-N 780 -270 850 -270 { lab=io_analog[4]}
-N 780 -270 780 -250 { lab=io_analog[4]}
-N 300 30 470 30 { lab=io_clamp_high[2:0]}
-N 300 50 410 50 { lab=GND}
-N 550 30 630 30 { lab=io_clamp_high[2:0]}
-N 630 30 630 90 { lab=io_clamp_high[2:0]}
-N 500 160 810 160 { lab=GND}
-N 810 -150 810 160 { lab=GND}
-N 780 -150 810 -150 { lab=GND}
-N 530 10 660 10 { lab=io_analog[10:0]}
-N 510 -290 590 -290 { lab=#net1}
-N 430 -250 510 -250 { lab=GND}
-N 400 -210 480 -210 { lab=#net2}
-N 470 30 550 30 { lab=io_clamp_high[2:0]}
-N 460 10 530 10 { lab=io_analog[10:0]}
-N 410 50 490 50 { lab=io_clamp_low[2:0]}
-N 490 50 490 160 { lab=GND}
-N 490 160 500 160 { lab=GND}
-N 300 -50 620 -50 { lab=io_oeb[26:0]}
-N 300 -70 480 -70 { lab=io_out[26:0]}
-N 520 -150 520 -60 { lab=io_oeb[16:15]}
-N 610 -150 610 -60 { lab=io_oeb[12:11]}
-N 850 -0 850 40 { lab=io_analog[4]}
-N 640 40 810 40 { lab=io_clamp_high[2:1]}
-N 670 0 850 -0 { lab=io_analog[4]}
-N 640 100 850 100 { lab=io_clamp_high[0]}
-N 850 40 850 100 { lab=io_analog[4]}
-N 300 -270 400 -270 { lab=#net4}
-N 300 -230 400 -230 { lab=#net5}
-N 300 -190 400 -190 { lab=#net6}
-N 300 -190 400 -190 { lab=#net6}
-N 300 -170 400 -170 { lab=#net7}
-N 290 -150 390 -150 { lab=#net8}
-N 290 -130 390 -130 { lab=#net9}
-N 290 -110 390 -110 { lab=#net10}
-N 300 -90 400 -90 { lab=#net11}
-N 300 -30 400 -30 { lab=#net12}
-N 300 -10 400 -10 { lab=#net13}
-N 300 70 400 70 { lab=#net14}
-N -60 -290 -0 -290 { lab=#net15}
-N -60 -270 0 -270 { lab=#net16}
-N -60 -250 0 -250 { lab=#net17}
-N -60 -230 0 -230 { lab=#net18}
-N -60 -210 0 -210 { lab=#net19}
-N -60 -210 0 -210 { lab=#net19}
-N -60 -190 0 -190 { lab=#net20}
-N -60 -190 0 -190 { lab=#net20}
-N -60 -170 0 -170 { lab=#net21}
-N -60 -150 0 -150 { lab=#net22}
-N -60 -130 0 -130 { lab=#net23}
-N -60 -110 0 -110 { lab=#net24}
-N -60 -90 0 -90 { lab=#net25}
-N -60 -70 0 -70 { lab=#net26}
-N -60 -50 0 -50 { lab=#net27}
-C {user_analog_project_wrapper.sym} 150 -110 0 0 {name=x1}
-C {devices/vsource.sym} 590 -220 0 0 {name=V1 value="PWL(0.0 0 400u 0 5.4m 3.3)"}
-C {devices/vsource.sym} 690 -220 0 0 {name=V2 value="PWL(0.0 0 300u 0 5.3 1.8)"}
-C {devices/vsource.sym} 780 -220 0 0 {name=V3 value="PWL(0.0 0 100u 0 5m 3.3)"}
-C {devices/bus_connect.sym} 660 10 1 1 {name=l1 lab=io_analog[4]}
-C {devices/gnd.sym} 730 -150 0 0 {name=l2 lab=GND}
-C {devices/bus_connect.sym} 630 30 1 0 {name=l3 lab=io_clamp_high[2:1]}
-C {devices/bus_connect.sym} 630 90 1 0 {name=l8 lab=io_clamp_high[0]}
-C {devices/lab_pin.sym} 570 30 0 0 {name=l11 sig_type=std_logic lab=io_clamp_high[2:0]}
-C {devices/lab_pin.sym} 570 10 0 0 {name=l12 sig_type=std_logic lab=io_analog[10:0]}
-C {devices/lab_pin.sym} 480 50 0 0 {name=l9 sig_type=std_logic lab=io_clamp_low[2:0]}
-C {devices/lab_pin.sym} 450 -50 0 0 {name=l4 sig_type=std_logic lab=io_oeb[26:0]}
-C {devices/lab_pin.sym} 450 -70 0 0 {name=l5 sig_type=std_logic lab=io_out[26:0]}
-C {devices/bus_connect.sym} 510 -50 0 0 {name=l6 lab=io_oeb[16:15]}
-C {devices/bus_connect.sym} 600 -50 0 0 {name=l7 lab=io_oeb[12:11]}
-C {devices/code_shown.sym} 920 -130 0 0 {name=s1 only_toplevel=false value=".param mc_mm_switch=0
-.lib /usr/share/pdk/sky130A/libs.tech/ngspice/sky130.lib.spice tt
-.include /usr/share/pdk/sky130A/libs.ref/sky130_fd_sc_hvl/spice/sky130_fd_sc_hvl.spice
-.control
-tran 10u 20m
-plot V(io_out[11]) V(io_out[12]) V(io_out[15]) V(io_out[16])
-+ V(gpio_analog[3]) V(gpio_analog[7])
-.endc"}
diff --git a/xschem/analog_wrapper_tb.spice b/xschem/analog_wrapper_tb.spice
deleted file mode 100644
index e28a311..0000000
--- a/xschem/analog_wrapper_tb.spice
+++ /dev/null
@@ -1,273 +0,0 @@
-**.subckt analog_wrapper_tb
-x1 net1 net4 GND net5 net2 net6 net7 net8 net15 net16 net17 net18 net19 net20[3] net20[2] net20[1]
-+ net20[0] net21[31] net21[30] net21[29] net21[28] net21[27] net21[26] net21[25] net21[24] net21[23] net21[22]
-+ net21[21] net21[20] net21[19] net21[18] net21[17] net21[16] net21[15] net21[14] net21[13] net21[12] net21[11]
-+ net21[10] net21[9] net21[8] net21[7] net21[6] net21[5] net21[4] net21[3] net21[2] net21[1] net21[0] net22[31]
-+ net22[30] net22[29] net22[28] net22[27] net22[26] net22[25] net22[24] net22[23] net22[22] net22[21] net22[20]
-+ net22[19] net22[18] net22[17] net22[16] net22[15] net22[14] net22[13] net22[12] net22[11] net22[10] net22[9]
-+ net22[8] net22[7] net22[6] net22[5] net22[4] net22[3] net22[2] net22[1] net22[0] net9 net10[31] net10[30]
-+ net10[29] net10[28] net10[27] net10[26] net10[25] net10[24] net10[23] net10[22] net10[21] net10[20] net10[19]
-+ net10[18] net10[17] net10[16] net10[15] net10[14] net10[13] net10[12] net10[11] net10[10] net10[9] net10[8]
-+ net10[7] net10[6] net10[5] net10[4] net10[3] net10[2] net10[1] net10[0] net23[127] net23[126] net23[125]
-+ net23[124] net23[123] net23[122] net23[121] net23[120] net23[119] net23[118] net23[117] net23[116] net23[115]
-+ net23[114] net23[113] net23[112] net23[111] net23[110] net23[109] net23[108] net23[107] net23[106] net23[105]
-+ net23[104] net23[103] net23[102] net23[101] net23[100] net23[99] net23[98] net23[97] net23[96] net23[95]
-+ net23[94] net23[93] net23[92] net23[91] net23[90] net23[89] net23[88] net23[87] net23[86] net23[85] net23[84]
-+ net23[83] net23[82] net23[81] net23[80] net23[79] net23[78] net23[77] net23[76] net23[75] net23[74] net23[73]
-+ net23[72] net23[71] net23[70] net23[69] net23[68] net23[67] net23[66] net23[65] net23[64] net23[63] net23[62]
-+ net23[61] net23[60] net23[59] net23[58] net23[57] net23[56] net23[55] net23[54] net23[53] net23[52] net23[51]
-+ net23[50] net23[49] net23[48] net23[47] net23[46] net23[45] net23[44] net23[43] net23[42] net23[41] net23[40]
-+ net23[39] net23[38] net23[37] net23[36] net23[35] net23[34] net23[33] net23[32] net23[31] net23[30] net23[29]
-+ net23[28] net23[27] net23[26] net23[25] net23[24] net23[23] net23[22] net23[21] net23[20] net23[19] net23[18]
-+ net23[17] net23[16] net23[15] net23[14] net23[13] net23[12] net23[11] net23[10] net23[9] net23[8] net23[7]
-+ net23[6] net23[5] net23[4] net23[3] net23[2] net23[1] net23[0] net11[127] net11[126] net11[125] net11[124]
-+ net11[123] net11[122] net11[121] net11[120] net11[119] net11[118] net11[117] net11[116] net11[115] net11[114]
-+ net11[113] net11[112] net11[111] net11[110] net11[109] net11[108] net11[107] net11[106] net11[105] net11[104]
-+ net11[103] net11[102] net11[101] net11[100] net11[99] net11[98] net11[97] net11[96] net11[95] net11[94]
-+ net11[93] net11[92] net11[91] net11[90] net11[89] net11[88] net11[87] net11[86] net11[85] net11[84] net11[83]
-+ net11[82] net11[81] net11[80] net11[79] net11[78] net11[77] net11[76] net11[75] net11[74] net11[73] net11[72]
-+ net11[71] net11[70] net11[69] net11[68] net11[67] net11[66] net11[65] net11[64] net11[63] net11[62] net11[61]
-+ net11[60] net11[59] net11[58] net11[57] net11[56] net11[55] net11[54] net11[53] net11[52] net11[51] net11[50]
-+ net11[49] net11[48] net11[47] net11[46] net11[45] net11[44] net11[43] net11[42] net11[41] net11[40] net11[39]
-+ net11[38] net11[37] net11[36] net11[35] net11[34] net11[33] net11[32] net11[31] net11[30] net11[29] net11[28]
-+ net11[27] net11[26] net11[25] net11[24] net11[23] net11[22] net11[21] net11[20] net11[19] net11[18] net11[17]
-+ net11[16] net11[15] net11[14] net11[13] net11[12] net11[11] net11[10] net11[9] net11[8] net11[7] net11[6]
-+ net11[5] net11[4] net11[3] net11[2] net11[1] net11[0] net24[127] net24[126] net24[125] net24[124] net24[123]
-+ net24[122] net24[121] net24[120] net24[119] net24[118] net24[117] net24[116] net24[115] net24[114] net24[113]
-+ net24[112] net24[111] net24[110] net24[109] net24[108] net24[107] net24[106] net24[105] net24[104] net24[103]
-+ net24[102] net24[101] net24[100] net24[99] net24[98] net24[97] net24[96] net24[95] net24[94] net24[93]
-+ net24[92] net24[91] net24[90] net24[89] net24[88] net24[87] net24[86] net24[85] net24[84] net24[83] net24[82]
-+ net24[81] net24[80] net24[79] net24[78] net24[77] net24[76] net24[75] net24[74] net24[73] net24[72] net24[71]
-+ net24[70] net24[69] net24[68] net24[67] net24[66] net24[65] net24[64] net24[63] net24[62] net24[61] net24[60]
-+ net24[59] net24[58] net24[57] net24[56] net24[55] net24[54] net24[53] net24[52] net24[51] net24[50] net24[49]
-+ net24[48] net24[47] net24[46] net24[45] net24[44] net24[43] net24[42] net24[41] net24[40] net24[39] net24[38]
-+ net24[37] net24[36] net24[35] net24[34] net24[33] net24[32] net24[31] net24[30] net24[29] net24[28] net24[27]
-+ net24[26] net24[25] net24[24] net24[23] net24[22] net24[21] net24[20] net24[19] net24[18] net24[17] net24[16]
-+ net24[15] net24[14] net24[13] net24[12] net24[11] net24[10] net24[9] net24[8] net24[7] net24[6] net24[5]
-+ net24[4] net24[3] net24[2] net24[1] net24[0] net25[26] net25[25] net25[24] net25[23] net25[22] net25[21]
-+ net25[20] net25[19] net25[18] net25[17] net25[16] net25[15] net25[14] net25[13] net25[12] net25[11] net25[10]
-+ net25[9] net25[8] net25[7] net25[6] net25[5] net25[4] net25[3] net25[2] net25[1] net25[0] net26[26]
-+ net26[25] net26[24] net26[23] net26[22] net26[21] net26[20] net26[19] net26[18] net26[17] net26[16] net26[15]
-+ net26[14] net26[13] net26[12] net26[11] net26[10] net26[9] net26[8] net26[7] net26[6] net26[5] net26[4]
-+ net26[3] net26[2] net26[1] net26[0] io_out[26] io_out[25] io_out[24] io_out[23] io_out[22] io_out[21]
-+ io_out[20] io_out[19] io_out[18] io_out[17] io_out[16] io_out[15] io_out[14] io_out[13] io_out[12] io_out[11]
-+ io_out[10] io_out[9] io_out[8] io_out[7] io_out[6] io_out[5] io_out[4] io_out[3] io_out[2] io_out[1] io_out[0]
-+ io_oeb[26] io_oeb[25] io_oeb[24] io_oeb[23] io_oeb[22] io_oeb[21] io_oeb[20] io_oeb[19] io_oeb[18] io_oeb[17]
-+ io_oeb[16] io_oeb[15] io_oeb[14] io_oeb[13] io_oeb[12] io_oeb[11] io_oeb[10] io_oeb[9] io_oeb[8] io_oeb[7]
-+ io_oeb[6] io_oeb[5] io_oeb[4] io_oeb[3] io_oeb[2] io_oeb[1] io_oeb[0] net12[17] net12[16] net12[15] net12[14]
-+ net12[13] net12[12] net12[11] net12[10] net12[9] net12[8] net12[7] net12[6] net12[5] net12[4] net12[3]
-+ net12[2] net12[1] net12[0] net13[17] net13[16] net13[15] net13[14] net13[13] net13[12] net13[11] net13[10]
-+ net13[9] net13[8] net13[7] net13[6] net13[5] net13[4] net13[3] net13[2] net13[1] net13[0] net3[10] net3[9]
-+ net3[8] net3[7] net3[6] net3[5] net3[4] net3[3] net3[2] net3[1] net3[0] io_clamp_high[2] io_clamp_high[1]
-+ io_clamp_high[0] GND GND GND net27 net14[2] net14[1] net14[0] user_analog_project_wrapper
-V1 net1 GND PWL(0.0 0 400u 0 5.4m 3.3)
-V2 net2 GND PWL(0.0 0 300u 0 5.3 1.8)
-V3 io_analog[4] GND PWL(0.0 0 100u 0 5m 3.3)
-**** begin user architecture code
-
-.param mc_mm_switch=0
-.lib /usr/share/pdk/sky130A/libs.tech/ngspice/sky130.lib.spice tt
-.include /usr/share/pdk/sky130A/libs.ref/sky130_fd_sc_hvl/spice/sky130_fd_sc_hvl.spice
-.control
-tran 10u 20m
-plot V(io_out[11]) V(io_out[12]) V(io_out[15]) V(io_out[16])  V(gpio_analog[3]) V(gpio_analog[7])
-.endc
-
-**** end user architecture code
-**.ends
-
-* expanding   symbol:  user_analog_project_wrapper.sym # of pins=32
-* sym_path: /home/tim/gits/caravel_user_project_analog/xschem/user_analog_project_wrapper.sym
-* sch_path: /home/tim/gits/caravel_user_project_analog/xschem/user_analog_project_wrapper.sch
-.subckt user_analog_project_wrapper  vdda1 vdda2 vssa1 vssa2 vccd1 vccd2 vssd1 vssd2 wb_clk_i
-+ wb_rst_i wbs_stb_i wbs_cyc_i wbs_we_i wbs_sel_i[3] wbs_sel_i[2] wbs_sel_i[1] wbs_sel_i[0] wbs_dat_i[31]
-+ wbs_dat_i[30] wbs_dat_i[29] wbs_dat_i[28] wbs_dat_i[27] wbs_dat_i[26] wbs_dat_i[25] wbs_dat_i[24] wbs_dat_i[23]
-+ wbs_dat_i[22] wbs_dat_i[21] wbs_dat_i[20] wbs_dat_i[19] wbs_dat_i[18] wbs_dat_i[17] wbs_dat_i[16] wbs_dat_i[15]
-+ wbs_dat_i[14] wbs_dat_i[13] wbs_dat_i[12] wbs_dat_i[11] wbs_dat_i[10] wbs_dat_i[9] wbs_dat_i[8] wbs_dat_i[7]
-+ wbs_dat_i[6] wbs_dat_i[5] wbs_dat_i[4] wbs_dat_i[3] wbs_dat_i[2] wbs_dat_i[1] wbs_dat_i[0] wbs_adr_i[31]
-+ wbs_adr_i[30] wbs_adr_i[29] wbs_adr_i[28] wbs_adr_i[27] wbs_adr_i[26] wbs_adr_i[25] wbs_adr_i[24] wbs_adr_i[23]
-+ wbs_adr_i[22] wbs_adr_i[21] wbs_adr_i[20] wbs_adr_i[19] wbs_adr_i[18] wbs_adr_i[17] wbs_adr_i[16] wbs_adr_i[15]
-+ wbs_adr_i[14] wbs_adr_i[13] wbs_adr_i[12] wbs_adr_i[11] wbs_adr_i[10] wbs_adr_i[9] wbs_adr_i[8] wbs_adr_i[7]
-+ wbs_adr_i[6] wbs_adr_i[5] wbs_adr_i[4] wbs_adr_i[3] wbs_adr_i[2] wbs_adr_i[1] wbs_adr_i[0] wbs_ack_o
-+ wbs_dat_o[31] wbs_dat_o[30] wbs_dat_o[29] wbs_dat_o[28] wbs_dat_o[27] wbs_dat_o[26] wbs_dat_o[25] wbs_dat_o[24]
-+ wbs_dat_o[23] wbs_dat_o[22] wbs_dat_o[21] wbs_dat_o[20] wbs_dat_o[19] wbs_dat_o[18] wbs_dat_o[17] wbs_dat_o[16]
-+ wbs_dat_o[15] wbs_dat_o[14] wbs_dat_o[13] wbs_dat_o[12] wbs_dat_o[11] wbs_dat_o[10] wbs_dat_o[9] wbs_dat_o[8]
-+ wbs_dat_o[7] wbs_dat_o[6] wbs_dat_o[5] wbs_dat_o[4] wbs_dat_o[3] wbs_dat_o[2] wbs_dat_o[1] wbs_dat_o[0]
-+ la_data_in[127] la_data_in[126] la_data_in[125] la_data_in[124] la_data_in[123] la_data_in[122] la_data_in[121]
-+ la_data_in[120] la_data_in[119] la_data_in[118] la_data_in[117] la_data_in[116] la_data_in[115] la_data_in[114]
-+ la_data_in[113] la_data_in[112] la_data_in[111] la_data_in[110] la_data_in[109] la_data_in[108] la_data_in[107]
-+ la_data_in[106] la_data_in[105] la_data_in[104] la_data_in[103] la_data_in[102] la_data_in[101] la_data_in[100]
-+ la_data_in[99] la_data_in[98] la_data_in[97] la_data_in[96] la_data_in[95] la_data_in[94] la_data_in[93]
-+ la_data_in[92] la_data_in[91] la_data_in[90] la_data_in[89] la_data_in[88] la_data_in[87] la_data_in[86]
-+ la_data_in[85] la_data_in[84] la_data_in[83] la_data_in[82] la_data_in[81] la_data_in[80] la_data_in[79]
-+ la_data_in[78] la_data_in[77] la_data_in[76] la_data_in[75] la_data_in[74] la_data_in[73] la_data_in[72]
-+ la_data_in[71] la_data_in[70] la_data_in[69] la_data_in[68] la_data_in[67] la_data_in[66] la_data_in[65]
-+ la_data_in[64] la_data_in[63] la_data_in[62] la_data_in[61] la_data_in[60] la_data_in[59] la_data_in[58]
-+ la_data_in[57] la_data_in[56] la_data_in[55] la_data_in[54] la_data_in[53] la_data_in[52] la_data_in[51]
-+ la_data_in[50] la_data_in[49] la_data_in[48] la_data_in[47] la_data_in[46] la_data_in[45] la_data_in[44]
-+ la_data_in[43] la_data_in[42] la_data_in[41] la_data_in[40] la_data_in[39] la_data_in[38] la_data_in[37]
-+ la_data_in[36] la_data_in[35] la_data_in[34] la_data_in[33] la_data_in[32] la_data_in[31] la_data_in[30]
-+ la_data_in[29] la_data_in[28] la_data_in[27] la_data_in[26] la_data_in[25] la_data_in[24] la_data_in[23]
-+ la_data_in[22] la_data_in[21] la_data_in[20] la_data_in[19] la_data_in[18] la_data_in[17] la_data_in[16]
-+ la_data_in[15] la_data_in[14] la_data_in[13] la_data_in[12] la_data_in[11] la_data_in[10] la_data_in[9]
-+ la_data_in[8] la_data_in[7] la_data_in[6] la_data_in[5] la_data_in[4] la_data_in[3] la_data_in[2] la_data_in[1]
-+ la_data_in[0] la_data_out[127] la_data_out[126] la_data_out[125] la_data_out[124] la_data_out[123]
-+ la_data_out[122] la_data_out[121] la_data_out[120] la_data_out[119] la_data_out[118] la_data_out[117]
-+ la_data_out[116] la_data_out[115] la_data_out[114] la_data_out[113] la_data_out[112] la_data_out[111]
-+ la_data_out[110] la_data_out[109] la_data_out[108] la_data_out[107] la_data_out[106] la_data_out[105]
-+ la_data_out[104] la_data_out[103] la_data_out[102] la_data_out[101] la_data_out[100] la_data_out[99] la_data_out[98]
-+ la_data_out[97] la_data_out[96] la_data_out[95] la_data_out[94] la_data_out[93] la_data_out[92] la_data_out[91]
-+ la_data_out[90] la_data_out[89] la_data_out[88] la_data_out[87] la_data_out[86] la_data_out[85] la_data_out[84]
-+ la_data_out[83] la_data_out[82] la_data_out[81] la_data_out[80] la_data_out[79] la_data_out[78] la_data_out[77]
-+ la_data_out[76] la_data_out[75] la_data_out[74] la_data_out[73] la_data_out[72] la_data_out[71] la_data_out[70]
-+ la_data_out[69] la_data_out[68] la_data_out[67] la_data_out[66] la_data_out[65] la_data_out[64] la_data_out[63]
-+ la_data_out[62] la_data_out[61] la_data_out[60] la_data_out[59] la_data_out[58] la_data_out[57] la_data_out[56]
-+ la_data_out[55] la_data_out[54] la_data_out[53] la_data_out[52] la_data_out[51] la_data_out[50] la_data_out[49]
-+ la_data_out[48] la_data_out[47] la_data_out[46] la_data_out[45] la_data_out[44] la_data_out[43] la_data_out[42]
-+ la_data_out[41] la_data_out[40] la_data_out[39] la_data_out[38] la_data_out[37] la_data_out[36] la_data_out[35]
-+ la_data_out[34] la_data_out[33] la_data_out[32] la_data_out[31] la_data_out[30] la_data_out[29] la_data_out[28]
-+ la_data_out[27] la_data_out[26] la_data_out[25] la_data_out[24] la_data_out[23] la_data_out[22] la_data_out[21]
-+ la_data_out[20] la_data_out[19] la_data_out[18] la_data_out[17] la_data_out[16] la_data_out[15] la_data_out[14]
-+ la_data_out[13] la_data_out[12] la_data_out[11] la_data_out[10] la_data_out[9] la_data_out[8] la_data_out[7]
-+ la_data_out[6] la_data_out[5] la_data_out[4] la_data_out[3] la_data_out[2] la_data_out[1] la_data_out[0]
-+ la_oenb[127] la_oenb[126] la_oenb[125] la_oenb[124] la_oenb[123] la_oenb[122] la_oenb[121] la_oenb[120]
-+ la_oenb[119] la_oenb[118] la_oenb[117] la_oenb[116] la_oenb[115] la_oenb[114] la_oenb[113] la_oenb[112]
-+ la_oenb[111] la_oenb[110] la_oenb[109] la_oenb[108] la_oenb[107] la_oenb[106] la_oenb[105] la_oenb[104]
-+ la_oenb[103] la_oenb[102] la_oenb[101] la_oenb[100] la_oenb[99] la_oenb[98] la_oenb[97] la_oenb[96] la_oenb[95]
-+ la_oenb[94] la_oenb[93] la_oenb[92] la_oenb[91] la_oenb[90] la_oenb[89] la_oenb[88] la_oenb[87] la_oenb[86]
-+ la_oenb[85] la_oenb[84] la_oenb[83] la_oenb[82] la_oenb[81] la_oenb[80] la_oenb[79] la_oenb[78] la_oenb[77]
-+ la_oenb[76] la_oenb[75] la_oenb[74] la_oenb[73] la_oenb[72] la_oenb[71] la_oenb[70] la_oenb[69] la_oenb[68]
-+ la_oenb[67] la_oenb[66] la_oenb[65] la_oenb[64] la_oenb[63] la_oenb[62] la_oenb[61] la_oenb[60] la_oenb[59]
-+ la_oenb[58] la_oenb[57] la_oenb[56] la_oenb[55] la_oenb[54] la_oenb[53] la_oenb[52] la_oenb[51] la_oenb[50]
-+ la_oenb[49] la_oenb[48] la_oenb[47] la_oenb[46] la_oenb[45] la_oenb[44] la_oenb[43] la_oenb[42] la_oenb[41]
-+ la_oenb[40] la_oenb[39] la_oenb[38] la_oenb[37] la_oenb[36] la_oenb[35] la_oenb[34] la_oenb[33] la_oenb[32]
-+ la_oenb[31] la_oenb[30] la_oenb[29] la_oenb[28] la_oenb[27] la_oenb[26] la_oenb[25] la_oenb[24] la_oenb[23]
-+ la_oenb[22] la_oenb[21] la_oenb[20] la_oenb[19] la_oenb[18] la_oenb[17] la_oenb[16] la_oenb[15] la_oenb[14]
-+ la_oenb[13] la_oenb[12] la_oenb[11] la_oenb[10] la_oenb[9] la_oenb[8] la_oenb[7] la_oenb[6] la_oenb[5]
-+ la_oenb[4] la_oenb[3] la_oenb[2] la_oenb[1] la_oenb[0] io_in[26] io_in[25] io_in[24] io_in[23] io_in[22]
-+ io_in[21] io_in[20] io_in[19] io_in[18] io_in[17] io_in[16] io_in[15] io_in[14] io_in[13] io_in[12] io_in[11]
-+ io_in[10] io_in[9] io_in[8] io_in[7] io_in[6] io_in[5] io_in[4] io_in[3] io_in[2] io_in[1] io_in[0]
-+ io_in_3v3[26] io_in_3v3[25] io_in_3v3[24] io_in_3v3[23] io_in_3v3[22] io_in_3v3[21] io_in_3v3[20] io_in_3v3[19]
-+ io_in_3v3[18] io_in_3v3[17] io_in_3v3[16] io_in_3v3[15] io_in_3v3[14] io_in_3v3[13] io_in_3v3[12] io_in_3v3[11]
-+ io_in_3v3[10] io_in_3v3[9] io_in_3v3[8] io_in_3v3[7] io_in_3v3[6] io_in_3v3[5] io_in_3v3[4] io_in_3v3[3]
-+ io_in_3v3[2] io_in_3v3[1] io_in_3v3[0] io_out[26] io_out[25] io_out[24] io_out[23] io_out[22] io_out[21]
-+ io_out[20] io_out[19] io_out[18] io_out[17] io_out[16] io_out[15] io_out[14] io_out[13] io_out[12] io_out[11]
-+ io_out[10] io_out[9] io_out[8] io_out[7] io_out[6] io_out[5] io_out[4] io_out[3] io_out[2] io_out[1] io_out[0]
-+ io_oeb[26] io_oeb[25] io_oeb[24] io_oeb[23] io_oeb[22] io_oeb[21] io_oeb[20] io_oeb[19] io_oeb[18] io_oeb[17]
-+ io_oeb[16] io_oeb[15] io_oeb[14] io_oeb[13] io_oeb[12] io_oeb[11] io_oeb[10] io_oeb[9] io_oeb[8] io_oeb[7]
-+ io_oeb[6] io_oeb[5] io_oeb[4] io_oeb[3] io_oeb[2] io_oeb[1] io_oeb[0] gpio_analog[17] gpio_analog[16]
-+ gpio_analog[15] gpio_analog[14] gpio_analog[13] gpio_analog[12] gpio_analog[11] gpio_analog[10] gpio_analog[9]
-+ gpio_analog[8] gpio_analog[7] gpio_analog[6] gpio_analog[5] gpio_analog[4] gpio_analog[3] gpio_analog[2]
-+ gpio_analog[1] gpio_analog[0] gpio_noesd[17] gpio_noesd[16] gpio_noesd[15] gpio_noesd[14] gpio_noesd[13]
-+ gpio_noesd[12] gpio_noesd[11] gpio_noesd[10] gpio_noesd[9] gpio_noesd[8] gpio_noesd[7] gpio_noesd[6] gpio_noesd[5]
-+ gpio_noesd[4] gpio_noesd[3] gpio_noesd[2] gpio_noesd[1] gpio_noesd[0] io_analog[10] io_analog[9] io_analog[8]
-+ io_analog[7] io_analog[6] io_analog[5] io_analog[4] io_analog[3] io_analog[2] io_analog[1] io_analog[0]
-+ io_clamp_high[2] io_clamp_high[1] io_clamp_high[0] io_clamp_low[2] io_clamp_low[1] io_clamp_low[0] user_clock2
-+ user_irq[2] user_irq[1] user_irq[0]
-*.iopin vdda1
-*.iopin vdda2
-*.iopin vssa1
-*.iopin vssa2
-*.iopin vccd1
-*.iopin vccd2
-*.iopin vssd1
-*.iopin vssd2
-*.ipin wb_clk_i
-*.ipin wb_rst_i
-*.ipin wbs_stb_i
-*.ipin wbs_cyc_i
-*.ipin wbs_we_i
-*.ipin wbs_sel_i[3],wbs_sel_i[2],wbs_sel_i[1],wbs_sel_i[0]
-*.ipin
-*+ wbs_dat_i[31],wbs_dat_i[30],wbs_dat_i[29],wbs_dat_i[28],wbs_dat_i[27],wbs_dat_i[26],wbs_dat_i[25],wbs_dat_i[24],wbs_dat_i[23],wbs_dat_i[22],wbs_dat_i[21],wbs_dat_i[20],wbs_dat_i[19],wbs_dat_i[18],wbs_dat_i[17],wbs_dat_i[16],wbs_dat_i[15],wbs_dat_i[14],wbs_dat_i[13],wbs_dat_i[12],wbs_dat_i[11],wbs_dat_i[10],wbs_dat_i[9],wbs_dat_i[8],wbs_dat_i[7],wbs_dat_i[6],wbs_dat_i[5],wbs_dat_i[4],wbs_dat_i[3],wbs_dat_i[2],wbs_dat_i[1],wbs_dat_i[0]
-*.ipin
-*+ wbs_adr_i[31],wbs_adr_i[30],wbs_adr_i[29],wbs_adr_i[28],wbs_adr_i[27],wbs_adr_i[26],wbs_adr_i[25],wbs_adr_i[24],wbs_adr_i[23],wbs_adr_i[22],wbs_adr_i[21],wbs_adr_i[20],wbs_adr_i[19],wbs_adr_i[18],wbs_adr_i[17],wbs_adr_i[16],wbs_adr_i[15],wbs_adr_i[14],wbs_adr_i[13],wbs_adr_i[12],wbs_adr_i[11],wbs_adr_i[10],wbs_adr_i[9],wbs_adr_i[8],wbs_adr_i[7],wbs_adr_i[6],wbs_adr_i[5],wbs_adr_i[4],wbs_adr_i[3],wbs_adr_i[2],wbs_adr_i[1],wbs_adr_i[0]
-*.opin wbs_ack_o
-*.opin
-*+ wbs_dat_o[31],wbs_dat_o[30],wbs_dat_o[29],wbs_dat_o[28],wbs_dat_o[27],wbs_dat_o[26],wbs_dat_o[25],wbs_dat_o[24],wbs_dat_o[23],wbs_dat_o[22],wbs_dat_o[21],wbs_dat_o[20],wbs_dat_o[19],wbs_dat_o[18],wbs_dat_o[17],wbs_dat_o[16],wbs_dat_o[15],wbs_dat_o[14],wbs_dat_o[13],wbs_dat_o[12],wbs_dat_o[11],wbs_dat_o[10],wbs_dat_o[9],wbs_dat_o[8],wbs_dat_o[7],wbs_dat_o[6],wbs_dat_o[5],wbs_dat_o[4],wbs_dat_o[3],wbs_dat_o[2],wbs_dat_o[1],wbs_dat_o[0]
-*.ipin
-*+ la_data_in[127],la_data_in[126],la_data_in[125],la_data_in[124],la_data_in[123],la_data_in[122],la_data_in[121],la_data_in[120],la_data_in[119],la_data_in[118],la_data_in[117],la_data_in[116],la_data_in[115],la_data_in[114],la_data_in[113],la_data_in[112],la_data_in[111],la_data_in[110],la_data_in[109],la_data_in[108],la_data_in[107],la_data_in[106],la_data_in[105],la_data_in[104],la_data_in[103],la_data_in[102],la_data_in[101],la_data_in[100],la_data_in[99],la_data_in[98],la_data_in[97],la_data_in[96],la_data_in[95],la_data_in[94],la_data_in[93],la_data_in[92],la_data_in[91],la_data_in[90],la_data_in[89],la_data_in[88],la_data_in[87],la_data_in[86],la_data_in[85],la_data_in[84],la_data_in[83],la_data_in[82],la_data_in[81],la_data_in[80],la_data_in[79],la_data_in[78],la_data_in[77],la_data_in[76],la_data_in[75],la_data_in[74],la_data_in[73],la_data_in[72],la_data_in[71],la_data_in[70],la_data_in[69],la_data_in[68],la_data_in[67],la_data_in[66],la_data_in[65],la_data_in[64],la_data_in[63],la_data_in[62],la_data_in[61],la_data_in[60],la_data_in[59],la_data_in[58],la_data_in[57],la_data_in[56],la_data_in[55],la_data_in[54],la_data_in[53],la_data_in[52],la_data_in[51],la_data_in[50],la_data_in[49],la_data_in[48],la_data_in[47],la_data_in[46],la_data_in[45],la_data_in[44],la_data_in[43],la_data_in[42],la_data_in[41],la_data_in[40],la_data_in[39],la_data_in[38],la_data_in[37],la_data_in[36],la_data_in[35],la_data_in[34],la_data_in[33],la_data_in[32],la_data_in[31],la_data_in[30],la_data_in[29],la_data_in[28],la_data_in[27],la_data_in[26],la_data_in[25],la_data_in[24],la_data_in[23],la_data_in[22],la_data_in[21],la_data_in[20],la_data_in[19],la_data_in[18],la_data_in[17],la_data_in[16],la_data_in[15],la_data_in[14],la_data_in[13],la_data_in[12],la_data_in[11],la_data_in[10],la_data_in[9],la_data_in[8],la_data_in[7],la_data_in[6],la_data_in[5],la_data_in[4],la_data_in[3],la_data_in[2],la_data_in[1],la_data_in[0]
-*.opin
-*+ la_data_out[127],la_data_out[126],la_data_out[125],la_data_out[124],la_data_out[123],la_data_out[122],la_data_out[121],la_data_out[120],la_data_out[119],la_data_out[118],la_data_out[117],la_data_out[116],la_data_out[115],la_data_out[114],la_data_out[113],la_data_out[112],la_data_out[111],la_data_out[110],la_data_out[109],la_data_out[108],la_data_out[107],la_data_out[106],la_data_out[105],la_data_out[104],la_data_out[103],la_data_out[102],la_data_out[101],la_data_out[100],la_data_out[99],la_data_out[98],la_data_out[97],la_data_out[96],la_data_out[95],la_data_out[94],la_data_out[93],la_data_out[92],la_data_out[91],la_data_out[90],la_data_out[89],la_data_out[88],la_data_out[87],la_data_out[86],la_data_out[85],la_data_out[84],la_data_out[83],la_data_out[82],la_data_out[81],la_data_out[80],la_data_out[79],la_data_out[78],la_data_out[77],la_data_out[76],la_data_out[75],la_data_out[74],la_data_out[73],la_data_out[72],la_data_out[71],la_data_out[70],la_data_out[69],la_data_out[68],la_data_out[67],la_data_out[66],la_data_out[65],la_data_out[64],la_data_out[63],la_data_out[62],la_data_out[61],la_data_out[60],la_data_out[59],la_data_out[58],la_data_out[57],la_data_out[56],la_data_out[55],la_data_out[54],la_data_out[53],la_data_out[52],la_data_out[51],la_data_out[50],la_data_out[49],la_data_out[48],la_data_out[47],la_data_out[46],la_data_out[45],la_data_out[44],la_data_out[43],la_data_out[42],la_data_out[41],la_data_out[40],la_data_out[39],la_data_out[38],la_data_out[37],la_data_out[36],la_data_out[35],la_data_out[34],la_data_out[33],la_data_out[32],la_data_out[31],la_data_out[30],la_data_out[29],la_data_out[28],la_data_out[27],la_data_out[26],la_data_out[25],la_data_out[24],la_data_out[23],la_data_out[22],la_data_out[21],la_data_out[20],la_data_out[19],la_data_out[18],la_data_out[17],la_data_out[16],la_data_out[15],la_data_out[14],la_data_out[13],la_data_out[12],la_data_out[11],la_data_out[10],la_data_out[9],la_data_out[8],la_data_out[7],la_data_out[6],la_data_out[5],la_data_out[4],la_data_out[3],la_data_out[2],la_data_out[1],la_data_out[0]
-*.ipin
-*+ io_in[26],io_in[25],io_in[24],io_in[23],io_in[22],io_in[21],io_in[20],io_in[19],io_in[18],io_in[17],io_in[16],io_in[15],io_in[14],io_in[13],io_in[12],io_in[11],io_in[10],io_in[9],io_in[8],io_in[7],io_in[6],io_in[5],io_in[4],io_in[3],io_in[2],io_in[1],io_in[0]
-*.ipin
-*+ io_in_3v3[26],io_in_3v3[25],io_in_3v3[24],io_in_3v3[23],io_in_3v3[22],io_in_3v3[21],io_in_3v3[20],io_in_3v3[19],io_in_3v3[18],io_in_3v3[17],io_in_3v3[16],io_in_3v3[15],io_in_3v3[14],io_in_3v3[13],io_in_3v3[12],io_in_3v3[11],io_in_3v3[10],io_in_3v3[9],io_in_3v3[8],io_in_3v3[7],io_in_3v3[6],io_in_3v3[5],io_in_3v3[4],io_in_3v3[3],io_in_3v3[2],io_in_3v3[1],io_in_3v3[0]
-*.ipin user_clock2
-*.opin
-*+ io_out[26],io_out[25],io_out[24],io_out[23],io_out[22],io_out[21],io_out[20],io_out[19],io_out[18],io_out[17],io_out[16],io_out[15],io_out[14],io_out[13],io_out[12],io_out[11],io_out[10],io_out[9],io_out[8],io_out[7],io_out[6],io_out[5],io_out[4],io_out[3],io_out[2],io_out[1],io_out[0]
-*.opin
-*+ io_oeb[26],io_oeb[25],io_oeb[24],io_oeb[23],io_oeb[22],io_oeb[21],io_oeb[20],io_oeb[19],io_oeb[18],io_oeb[17],io_oeb[16],io_oeb[15],io_oeb[14],io_oeb[13],io_oeb[12],io_oeb[11],io_oeb[10],io_oeb[9],io_oeb[8],io_oeb[7],io_oeb[6],io_oeb[5],io_oeb[4],io_oeb[3],io_oeb[2],io_oeb[1],io_oeb[0]
-*.iopin
-*+ gpio_analog[17],gpio_analog[16],gpio_analog[15],gpio_analog[14],gpio_analog[13],gpio_analog[12],gpio_analog[11],gpio_analog[10],gpio_analog[9],gpio_analog[8],gpio_analog[7],gpio_analog[6],gpio_analog[5],gpio_analog[4],gpio_analog[3],gpio_analog[2],gpio_analog[1],gpio_analog[0]
-*.iopin
-*+ gpio_noesd[17],gpio_noesd[16],gpio_noesd[15],gpio_noesd[14],gpio_noesd[13],gpio_noesd[12],gpio_noesd[11],gpio_noesd[10],gpio_noesd[9],gpio_noesd[8],gpio_noesd[7],gpio_noesd[6],gpio_noesd[5],gpio_noesd[4],gpio_noesd[3],gpio_noesd[2],gpio_noesd[1],gpio_noesd[0]
-*.iopin
-*+ io_analog[10],io_analog[9],io_analog[8],io_analog[7],io_analog[6],io_analog[5],io_analog[4],io_analog[3],io_analog[2],io_analog[1],io_analog[0]
-*.iopin io_clamp_high[2],io_clamp_high[1],io_clamp_high[0]
-*.iopin io_clamp_low[2],io_clamp_low[1],io_clamp_low[0]
-*.opin user_irq[2],user_irq[1],user_irq[0]
-*.ipin
-*+ la_oenb[127],la_oenb[126],la_oenb[125],la_oenb[124],la_oenb[123],la_oenb[122],la_oenb[121],la_oenb[120],la_oenb[119],la_oenb[118],la_oenb[117],la_oenb[116],la_oenb[115],la_oenb[114],la_oenb[113],la_oenb[112],la_oenb[111],la_oenb[110],la_oenb[109],la_oenb[108],la_oenb[107],la_oenb[106],la_oenb[105],la_oenb[104],la_oenb[103],la_oenb[102],la_oenb[101],la_oenb[100],la_oenb[99],la_oenb[98],la_oenb[97],la_oenb[96],la_oenb[95],la_oenb[94],la_oenb[93],la_oenb[92],la_oenb[91],la_oenb[90],la_oenb[89],la_oenb[88],la_oenb[87],la_oenb[86],la_oenb[85],la_oenb[84],la_oenb[83],la_oenb[82],la_oenb[81],la_oenb[80],la_oenb[79],la_oenb[78],la_oenb[77],la_oenb[76],la_oenb[75],la_oenb[74],la_oenb[73],la_oenb[72],la_oenb[71],la_oenb[70],la_oenb[69],la_oenb[68],la_oenb[67],la_oenb[66],la_oenb[65],la_oenb[64],la_oenb[63],la_oenb[62],la_oenb[61],la_oenb[60],la_oenb[59],la_oenb[58],la_oenb[57],la_oenb[56],la_oenb[55],la_oenb[54],la_oenb[53],la_oenb[52],la_oenb[51],la_oenb[50],la_oenb[49],la_oenb[48],la_oenb[47],la_oenb[46],la_oenb[45],la_oenb[44],la_oenb[43],la_oenb[42],la_oenb[41],la_oenb[40],la_oenb[39],la_oenb[38],la_oenb[37],la_oenb[36],la_oenb[35],la_oenb[34],la_oenb[33],la_oenb[32],la_oenb[31],la_oenb[30],la_oenb[29],la_oenb[28],la_oenb[27],la_oenb[26],la_oenb[25],la_oenb[24],la_oenb[23],la_oenb[22],la_oenb[21],la_oenb[20],la_oenb[19],la_oenb[18],la_oenb[17],la_oenb[16],la_oenb[15],la_oenb[14],la_oenb[13],la_oenb[12],la_oenb[11],la_oenb[10],la_oenb[9],la_oenb[8],la_oenb[7],la_oenb[6],la_oenb[5],la_oenb[4],la_oenb[3],la_oenb[2],la_oenb[1],la_oenb[0]
-x1 vdda1 vccd1 gpio_analog[3] io_out[11] io_out[12] vssa1 example_por
-x2 io_analog[4] vccd1 gpio_analog[7] io_out[15] io_out[16] vssa1 example_por
-.ends
-
-
-* expanding   symbol:  example_por.sym # of pins=6
-* sym_path: /home/tim/gits/caravel_user_project_analog/xschem/example_por.sym
-* sch_path: /home/tim/gits/caravel_user_project_analog/xschem/example_por.sch
-.subckt example_por  vdd3v3 vdd1v8 porb_h porb_l por_l vss
-*.iopin vdd3v3
-*.iopin vss
-*.opin porb_h
-*.opin porb_l
-*.opin por_l
-*.iopin vdd1v8
-XC1 net9 vss sky130_fd_pr__cap_mim_m3_1 W=30 L=30 MF=1 m=1
-XC2 vss net9 sky130_fd_pr__cap_mim_m3_2 W=30 L=30 MF=1 m=1
-XM1 net3 net7 net5 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM2 net2 net3 vss vss sky130_fd_pr__nfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1 
-XR1 net4 vdd3v3 vss sky130_fd_pr__res_xhigh_po_0p69 W=0.69 L=500 mult=1 m=1
-XM4 net5 net6 vdd3v3 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM5 net3 net3 vss vss sky130_fd_pr__nfet_g5v0d10v5 L=0.8 W=14 nf=7 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1 
-XR2 vss net4 vss sky130_fd_pr__res_xhigh_po_0p69 W=0.69 L=150 mult=1 m=1
-XM7 net2 net2 net1 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM8 net1 net1 vdd3v3 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=14 nf=7 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM10 net7 net4 vss vss sky130_fd_pr__nfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1 
-XM9 net7 net7 net6 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM11 net6 net6 vdd3v3 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=16 nf=8 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM12 net8 net1 vdd3v3 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM13 net9 net2 net8 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XR3 vss vss vss sky130_fd_pr__res_xhigh_po_0p69 W=0.69 L=25 mult=2 m=2
-x2 net10 vss vss vdd3v3 vdd3v3 porb_h sky130_fd_sc_hvl__buf_8
-x3 net10 vss vss vdd1v8 vdd1v8 porb_l sky130_fd_sc_hvl__buf_8
-x4 net10 vss vss vdd1v8 vdd1v8 por_l sky130_fd_sc_hvl__inv_8
-x5 net9 vss vss vdd3v3 vdd3v3 net10 sky130_fd_sc_hvl__schmittbuf_1
-.ends
-
-.GLOBAL GND
-** flattened .save nodes
-.end
diff --git a/xschem/current_test.spice b/xschem/current_test.spice
deleted file mode 100644
index 8e4162d..0000000
--- a/xschem/current_test.spice
+++ /dev/null
@@ -1,86 +0,0 @@
-*---------------------------------------------------------------------------
-* 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
-*
-*     https://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
-*---------------------------------------------------------------------------
-* Simple POR circuit for Caravel current mirror test
-*-------------------------------------------------------------------
-
-.param mc_mm_switch=0
-.lib /usr/share/pdk/sky130A/libs.tech/ngspice/sky130.lib.spice tt
-
-* Note: 20 resistors of length 25um connected in series
-Xres1 vdda vin vss sky130_fd_pr__res_xhigh_po_0p69 l=500
-Xres2 vin vss vss sky130_fd_pr__res_xhigh_po_0p69 l=149
-
-* voltage sources at 0V for measuring current in each branch
-
-Vm1 vssm1 vss   DC=0
-Vm2 vdda  vddm2 DC=0
-Vm3 vdda  vddm3 DC=0
-Vm4 vssm4 vss   DC=0
-Vm5 vssm5 vss   DC=0
-Vm6 vdda  vddm6 DC=0
-Vm7 vdda  vddm7 DC=0
-
-*   D     G     S     B
-Xm1 casc1 vin   vssm1 vss  sky130_fd_pr__nfet_g5v0d10v5 w=2 l=0.8 m=1
-Xc1 mir1  casc1 casc1 vdda sky130_fd_pr__pfet_g5v0d10v5 w=2 l=0.8 m=1
-Xm2 mir1  mir1  vddm2 vdda sky130_fd_pr__pfet_g5v0d10v5 w=2 l=0.8 m=8
-Xm3 mir2  mir1  vddm3 vdda sky130_fd_pr__pfet_g5v0d10v5 w=2 l=0.8 m=1
-Xc2 casc2 casc1 mir2  vdda sky130_fd_pr__pfet_g5v0d10v5 w=2 l=0.8 m=1
-Xm4 casc2 casc2 vssm4 vss  sky130_fd_pr__nfet_g5v0d10v5 w=2 l=0.8 m=7
-Xm5 casc3 casc2 vssm5 vss  sky130_fd_pr__nfet_g5v0d10v5 w=2 l=0.8 m=1
-Xc3 mir3  casc3 casc3 vdda sky130_fd_pr__pfet_g5v0d10v5 w=2 l=0.8 m=1
-Xm6 mir3  mir3  vddm6 vdda sky130_fd_pr__pfet_g5v0d10v5 w=2 l=0.8 m=7
-Xm7 mir4  mir3  vddm7 vdda sky130_fd_pr__pfet_g5v0d10v5 w=2 l=0.8 m=1
-Xc4 vcap  casc3 mir4  vdda sky130_fd_pr__pfet_g5v0d10v5 w=2 l=0.8 m=1
-
-* Check branch currents in each mirror branch.
-* 1st branch should be 240nA
-* 2nd branch should be  30nA
-* 3rd branch should be   4.3nA
-* 4th branch should be 612pA
-*
-* Result:  vin sits at 0.7590 (close to 0.7575 target)
-* I(Vm1/2) = 202.80 nA
-* I(Vm3/4) =  26.10 nA	(should be /8) actually /7.77
-* I(Vm5/6) =   4.58 nA	(should be /7) actually /5.70
-* I(Vm7)   =   0.67 nA	(should be /7) actually /6.80
-
-*----------------------------
-* Testbench circuit
-*----------------------------
-Vpwr vdda vss DC=3.3
-Rgnd vss 0 0.01
-Rload vcap vss 1MEG
-*----------------------------
-
-*----------------------------
-* Testbench control
-*----------------------------
-.control
-op
-print V(vin)
-print I(Vm1)
-print I(Vm2)
-print I(Vm3)
-print I(Vm4)
-print I(Vm5)
-print I(Vm6)
-print I(Vm7)
-.endc
-
-.end
-
diff --git a/xschem/example_por.sch b/xschem/example_por.sch
deleted file mode 100644
index cf6e0c3..0000000
--- a/xschem/example_por.sch
+++ /dev/null
@@ -1,297 +0,0 @@
-v {xschem version=2.9.9 file_version=1.2 }
-G {}
-K {}
-V {}
-S {}
-E {}
-L 4 3370 -60 3390 -60 {}
-L 4 3390 -60 3390 80 {}
-L 4 3370 80 3390 80 {}
-T {Current step-down mirror} 2270 140 0 0 0.4 0.4 {}
-T {Charge accumulator} 2650 140 0 0 0.4 0.4 {}
-T {Voltage divider} 1860 140 0 0 0.4 0.4 {}
-T {Schmitt trigger} 2930 -200 0 0 0.4 0.4 {}
-T {150 / 650 * 3.3V = 0.76V} 1860 180 0 0 0.4 0.4 {}
-T {step down 8x} 2130 -430 0 0 0.4 0.4 {}
-T {step down 7x} 2330 80 0 0 0.4 0.4 {}
-T {step down 7x} 2520 -430 0 0 0.4 0.4 {}
-T {1.8V domain outputs} 3400 0 0 0 0.4 0.4 {}
-T {3.3V domain output} 3410 -140 0 0 0.4 0.4 {}
-T {392 : 1} 2270 180 0 0 0.4 0.4 {}
-T {Simple power-on-reset circuit
-calibrated to 500us nominal delay
-no temperature compensation} 1950 -570 0 0 0.6 0.6 {}
-N 2500 -310 2500 -270 { lab=#net1}
-N 2500 -210 2500 -100 { lab=#net2}
-N 2300 -40 2300 20 { lab=#net3}
-N 2300 80 2300 110 { lab=vss}
-N 2360 110 2500 110 { lab=vss}
-N 2500 80 2500 110 { lab=vss}
-N 2400 50 2460 50 { lab=#net3}
-N 2360 -400 2500 -400 { lab=vdd3v3}
-N 2500 -400 2500 -370 { lab=vdd3v3}
-N 2500 -400 2790 -400 { lab=vdd3v3}
-N 2300 -10 2370 -10 { lab=#net3}
-N 2370 -10 2370 50 { lab=#net3}
-N 2500 -290 2570 -290 { lab=#net1}
-N 2570 -340 2570 -290 { lab=#net1}
-N 2540 -340 2570 -340 { lab=#net1}
-N 2500 -190 2570 -190 { lab=#net2}
-N 2570 -240 2570 -190 { lab=#net2}
-N 2540 -240 2570 -240 { lab=#net2}
-N 2240 110 2360 110 { lab=vss}
-N 2500 110 2630 110 { lab=vss}
-N 2500 50 2630 50 { lab=vss}
-N 2110 110 2240 110 { lab=vss}
-N 1930 60 1930 110 { lab=vss}
-N 1930 -160 1930 0 { lab=#net4}
-N 1930 -400 1930 -220 { lab=vdd3v3}
-N 2110 -400 2360 -400 { lab=vdd3v3}
-N 1880 -190 1910 -190 { lab=vss}
-N 1880 -190 1880 110 { lab=vss}
-N 1880 110 1930 110 { lab=vss}
-N 1880 30 1910 30 { lab=vss}
-N 2300 -310 2300 -270 { lab=#net5}
-N 2300 -400 2300 -370 { lab=vdd3v3}
-N 2300 -140 2300 -100 { lab=#net3}
-N 2340 50 2400 50 { lab=#net3}
-N 2300 -210 2300 -140 { lab=#net3}
-N 2100 80 2100 110 { lab=vss}
-N 2100 110 2110 110 { lab=vss}
-N 2050 50 2060 50 { lab=#net4}
-N 2050 -70 2050 50 { lab=#net4}
-N 1930 -70 2050 -70 { lab=#net4}
-N 1930 -400 2110 -400 { lab=vdd3v3}
-N 2100 -400 2100 -370 { lab=vdd3v3}
-N 2100 -310 2100 -270 { lab=#net6}
-N 2100 -210 2100 20 { lab=#net7}
-N 2100 50 2300 50 { lab=vss}
-N 2200 50 2200 110 { lab=vss}
-N 2140 -240 2260 -240 { lab=#net7}
-N 2140 -340 2260 -340 { lab=#net6}
-N 2100 -290 2180 -290 { lab=#net6}
-N 2180 -340 2180 -290 { lab=#net6}
-N 2100 -180 2180 -180 { lab=#net7}
-N 2180 -240 2180 -180 { lab=#net7}
-N 1930 -240 2100 -240 { lab=vdd3v3}
-N 1930 -340 2100 -340 { lab=vdd3v3}
-N 1930 110 2100 110 { lab=vss}
-N 2300 -240 2500 -240 { lab=vdd3v3}
-N 2300 -340 2500 -340 { lab=vdd3v3}
-N 2400 -340 2400 -240 { lab=vdd3v3}
-N 2400 -400 2400 -340 { lab=vdd3v3}
-N 2570 -240 2650 -240 { lab=#net2}
-N 2570 -340 2650 -340 { lab=#net1}
-N 2690 -400 2690 -370 { lab=vdd3v3}
-N 2790 -400 2790 -340 { lab=vdd3v3}
-N 2690 -340 2790 -340 { lab=vdd3v3}
-N 2690 -240 2790 -240 { lab=vdd3v3}
-N 2790 -340 2790 -240 { lab=vdd3v3}
-N 2690 -310 2690 -270 { lab=#net8}
-N 2690 -210 2690 -150 { lab=#net9}
-N 1830 30 1880 30 { lab=vss}
-N 1810 60 1810 110 { lab=vss}
-N 1810 110 1880 110 { lab=vss}
-N 1810 -70 1810 0 { lab=vss}
-N 1810 -70 1880 -70 { lab=vss}
-N 2690 -150 2690 -70 { lab=#net9}
-N 2820 -130 2820 -70 { lab=#net9}
-N 2690 -130 2820 -130 { lab=#net9}
-N 2630 110 2820 110 { lab=vss}
-N 2820 -10 2820 110 { lab=vss}
-N 2690 -10 2690 110 { lab=vss}
-N 2820 -130 2980 -130 { lab=#net9}
-N 3060 -130 3130 -130 { lab=#net10}
-N 3090 -130 3090 60 { lab=#net10}
-N 3090 60 3130 60 { lab=#net10}
-N 3090 -40 3130 -40 { lab=#net10}
-N 3210 -130 3300 -130 { lab=porb_h}
-N 3210 -40 3300 -40 { lab=porb_l}
-N 3210 60 3300 60 { lab=por_l}
-N 2790 -400 2840 -400 { lab=vdd3v3}
-N 2820 110 2870 110 { lab=vss}
-N 2630 50 2690 50 { lab=vss}
-N 2300 -100 2300 -40 { lab=#net3}
-N 2500 -100 2500 -30 { lab=#net2}
-N 2500 -30 2500 20 { lab=#net2}
-C {sky130_fd_pr/cap_mim_m3_1.sym} 2690 -40 0 0 {name=C1 model=cap_mim_m3_1 W=30 L=30 MF=1 spiceprefix=X}
-C {sky130_fd_pr/cap_mim_m3_2.sym} 2820 -40 2 1 {name=C2 model=cap_mim_m3_2 W=30 L=30 MF=1 spiceprefix=X}
-C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2280 -240 0 0 {name=M1
-L=0.8
-W=2
-nf=1
-mult=1
-ad="'int((nf+1)/2) * W/nf * 0.29'" 
-pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
-as="'int((nf+2)/2) * W/nf * 0.29'" 
-ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
-nrd="'0.29 / W'" nrs="'0.29 / W'"
-sa=0 sb=0 sd=0
-model=pfet_g5v0d10v5
-spiceprefix=X
-}
-C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2480 50 0 0 {name=M2
-L=0.8
-W=2
-nf=1
-mult=1
-ad="'int((nf+1)/2) * W/nf * 0.29'" 
-pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
-as="'int((nf+2)/2) * W/nf * 0.29'" 
-ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
-nrd="'0.29 / W'" nrs="'0.29 / W'"
-sa=0 sb=0 sd=0
-model=nfet_g5v0d10v5
-spiceprefix=X
-}
-C {sky130_fd_pr/res_xhigh_po_0p69.sym} 1930 -190 0 0 {name=R1
-L=500
-model=res_xhigh_po_0p69
-spiceprefix=X
-mult=1}
-C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2280 -340 0 0 {name=M4
-L=0.8
-W=2
-nf=1
-mult=1
-ad="'int((nf+1)/2) * W/nf * 0.29'" 
-pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
-as="'int((nf+2)/2) * W/nf * 0.29'" 
-ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
-nrd="'0.29 / W'" nrs="'0.29 / W'"
-sa=0 sb=0 sd=0
-model=pfet_g5v0d10v5
-spiceprefix=X
-}
-C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2320 50 0 1 {name=M5
-L=0.8
-W=14
-nf=7
-mult=1
-ad="'int((nf+1)/2) * W/nf * 0.29'" 
-pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
-as="'int((nf+2)/2) * W/nf * 0.29'" 
-ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
-nrd="'0.29 / W'" nrs="'0.29 / W'"
-sa=0 sb=0 sd=0
-model=nfet_g5v0d10v5
-spiceprefix=X
-}
-C {sky130_fd_pr/res_xhigh_po_0p69.sym} 1930 30 0 0 {name=R2
-L=150
-model=res_xhigh_po_0p69
-spiceprefix=X
-mult=1}
-C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2520 -240 0 1 {name=M7
-L=0.8
-W=2
-nf=1
-mult=1
-ad="'int((nf+1)/2) * W/nf * 0.29'" 
-pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
-as="'int((nf+2)/2) * W/nf * 0.29'" 
-ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
-nrd="'0.29 / W'" nrs="'0.29 / W'"
-sa=0 sb=0 sd=0
-model=pfet_g5v0d10v5
-spiceprefix=X
-}
-C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2520 -340 0 1 {name=M8
-L=0.8
-W=14
-nf=7
-mult=1
-ad="'int((nf+1)/2) * W/nf * 0.29'" 
-pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
-as="'int((nf+2)/2) * W/nf * 0.29'" 
-ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
-nrd="'0.29 / W'" nrs="'0.29 / W'"
-sa=0 sb=0 sd=0
-model=pfet_g5v0d10v5
-spiceprefix=X
-}
-C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2080 50 0 0 {name=M10
-L=0.8
-W=2
-nf=1
-mult=1
-ad="'int((nf+1)/2) * W/nf * 0.29'" 
-pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
-as="'int((nf+2)/2) * W/nf * 0.29'" 
-ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
-nrd="'0.29 / W'" nrs="'0.29 / W'"
-sa=0 sb=0 sd=0
-model=nfet_g5v0d10v5
-spiceprefix=X
-}
-C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2120 -240 0 1 {name=M9
-L=0.8
-W=2
-nf=1
-mult=1
-ad="'int((nf+1)/2) * W/nf * 0.29'" 
-pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
-as="'int((nf+2)/2) * W/nf * 0.29'" 
-ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
-nrd="'0.29 / W'" nrs="'0.29 / W'"
-sa=0 sb=0 sd=0
-model=pfet_g5v0d10v5
-spiceprefix=X
-}
-C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2120 -340 0 1 {name=M11
-L=0.8
-W=16
-nf=8
-mult=1
-ad="'int((nf+1)/2) * W/nf * 0.29'" 
-pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
-as="'int((nf+2)/2) * W/nf * 0.29'" 
-ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
-nrd="'0.29 / W'" nrs="'0.29 / W'"
-sa=0 sb=0 sd=0
-model=pfet_g5v0d10v5
-spiceprefix=X
-}
-C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2670 -340 0 0 {name=M12
-L=0.8
-W=2
-nf=1
-mult=1
-ad="'int((nf+1)/2) * W/nf * 0.29'" 
-pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
-as="'int((nf+2)/2) * W/nf * 0.29'" 
-ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
-nrd="'0.29 / W'" nrs="'0.29 / W'"
-sa=0 sb=0 sd=0
-model=pfet_g5v0d10v5
-spiceprefix=X
-}
-C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2670 -240 0 0 {name=M13
-L=0.8
-W=2
-nf=1
-mult=1
-ad="'int((nf+1)/2) * W/nf * 0.29'" 
-pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
-as="'int((nf+2)/2) * W/nf * 0.29'" 
-ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
-nrd="'0.29 / W'" nrs="'0.29 / W'"
-sa=0 sb=0 sd=0
-model=pfet_g5v0d10v5
-spiceprefix=X
-}
-C {sky130_fd_pr/res_xhigh_po_0p69.sym} 1810 30 0 1 {name=R3
-L=25
-model=res_xhigh_po_0p69
-spiceprefix=X
-mult=2}
-C {sky130_stdcells/buf_8.sym} 3170 -130 0 0 {name=x2 VGND=vss VNB=vss VPB=vdd3v3 VPWR=vdd3v3 prefix=sky130_fd_sc_hvl__ }
-C {sky130_stdcells/buf_8.sym} 3170 -40 0 0 {name=x3 VGND=vss VNB=vss VPB=vdd1v8 VPWR=vdd1v8 prefix=sky130_fd_sc_hvl__ }
-C {sky130_stdcells/inv_8.sym} 3170 60 0 0 {name=x4 VGND=vss VNB=vss VPB=vdd1v8 VPWR=vdd1v8 prefix=sky130_fd_sc_hvl__ }
-C {sky130_stdcells/buf_1.sym} 3020 -130 0 0 {name=x5 VGND=vss VNB=vss VPB=vdd3v3 VPWR=vdd3v3 prefix=sky130_fd_sc_hvl__schmitt }
-C {devices/iopin.sym} 2840 -400 0 0 {name=p1 lab=vdd3v3}
-C {devices/iopin.sym} 2870 110 0 0 {name=p2 lab=vss}
-C {devices/opin.sym} 3300 -130 0 0 {name=p3 lab=porb_h}
-C {devices/opin.sym} 3300 -40 0 0 {name=p4 lab=porb_l}
-C {devices/opin.sym} 3300 60 0 0 {name=p5 lab=por_l}
-C {devices/iopin.sym} 2840 -330 0 0 {name=p6 lab=vdd1v8}
diff --git a/xschem/example_por.sym b/xschem/example_por.sym
deleted file mode 100644
index e3875f5..0000000
--- a/xschem/example_por.sym
+++ /dev/null
@@ -1,33 +0,0 @@
-v {xschem version=2.9.9 file_version=1.2 }
-G {}
-K {type=subcircuit
-format="@name @pinlist @symname"
-template="name=x1"
-}
-V {}
-S {}
-E {}
-L 4 -130 -60 130 -60 {}
-L 4 -130 60 130 60 {}
-L 4 -130 -60 -130 60 {}
-L 4 130 -60 130 60 {}
-L 4 130 -30 150 -30 {}
-L 4 130 0 150 0 {}
-L 4 130 30 150 30 {}
-L 7 -30 -80 -30 -60 {}
-L 7 30 -80 30 -60 {}
-L 7 0 60 0 80 {}
-B 5 -32.5 -82.5 -27.5 -77.5 {name=vdd3v3 dir=inout }
-B 5 27.5 -82.5 32.5 -77.5 {name=vdd1v8 dir=inout }
-B 5 147.5 -32.5 152.5 -27.5 {name=porb_h dir=out }
-B 5 147.5 -2.5 152.5 2.5 {name=porb_l dir=out }
-B 5 147.5 27.5 152.5 32.5 {name=por_l dir=out }
-B 5 -2.5 77.5 2.5 82.5 {name=vss dir=inout }
-T {@symname} -47.5 -6 0 0 0.3 0.3 {}
-T {@name} -25 18 0 0 0.2 0.2 {}
-T {vdd3v3} -15 -54 0 1 0.2 0.2 {}
-T {vdd1v8} 55 -54 0 1 0.2 0.2 {}
-T {porb_h} 125 -34 0 1 0.2 0.2 {}
-T {porb_l} 125 -4 0 1 0.2 0.2 {}
-T {por_l} 125 26 0 1 0.2 0.2 {}
-T {vss} 5 46 0 1 0.2 0.2 {}
diff --git a/xschem/example_por_tb.sch b/xschem/example_por_tb.sch
deleted file mode 100644
index 664018f..0000000
--- a/xschem/example_por_tb.sch
+++ /dev/null
@@ -1,45 +0,0 @@
-v {xschem version=2.9.9 file_version=1.2 }
-G {}
-K {}
-V {}
-S {}
-E {}
-T {Testbench for simple POR} -350 -240 0 0 0.6 0.6 {}
-N -280 60 -10 60 { lab=GND}
-N -540 0 -540 60 { lab=#net1}
-N -330 0 -330 60 { lab=GND}
-N -330 -100 -330 -60 { lab=vdd3v3}
-N -330 -110 -330 -100 { lab=vdd3v3}
-N -210 -110 -40 -110 { lab=vdd3v3}
-N -40 -110 -40 -100 { lab=vdd3v3}
-N -540 -130 -540 -60 { lab=vdd1v8}
-N -280 -130 20 -130 { lab=#net2}
-N 20 -130 20 -100 { lab=#net2}
-N 140 -50 180 -50 { lab=porb_h}
-N 140 -20 180 -20 { lab=porb_l}
-N 140 10 180 10 { lab=por_l}
-N -340 -110 -330 -110 { lab=vdd3v3}
-N -500 -130 -490 -130 { lab=vdd1v8}
-N -540 -130 -500 -130 { lab=vdd1v8}
-N -560 -130 -540 -130 { lab=vdd1v8}
-N -540 60 -490 60 { lab=#net1}
-N -490 -130 -280 -130 {}
-N -490 60 -330 60 {}
-N -330 60 -280 60 {}
-N -330 -110 -210 -110 {}
-C {example_por.sym} -10 -20 0 0 {name=x1}
-C {devices/gnd.sym} -100 60 0 0 {name=l1 lab=GND}
-C {devices/vsource.sym} -330 -30 0 0 {name=V1 value="PWL(0.0 0 100u 0 5m 3.3)"}
-C {devices/vsource.sym} -540 -30 0 0 {name=V2 value="PWL(0.0 0 300u 0 5.3m 1.8)"}
-C {devices/opin.sym} -340 -110 0 1 {name=p1 lab=vdd3v3}
-C {devices/opin.sym} -560 -130 0 1 {name=p2 lab=vdd1v8}
-C {devices/opin.sym} 180 -50 0 0 {name=p3 lab=porb_h}
-C {devices/opin.sym} 180 -20 0 0 {name=p4 lab=porb_l}
-C {devices/opin.sym} 180 10 0 0 {name=p5 lab=por_l}
-C {devices/code_shown.sym} -470 140 0 0 {name=s1 only_toplevel=false value=".param mc_mm_switch=0
-.lib /usr/share/pdk/sky130A/libs.tech/ngspice/sky130.lib.spice tt
-.include /usr/share/pdk/sky130A/libs.ref/sky130_fd_sc_hvl/spice/sky130_fd_sc_hvl.spice"}
-C {devices/code_shown.sym} -470 250 0 0 {name=s2 only_toplevel=false value=".control
-tran 1u 20m
-plot V(vdd3v3) V(vdd1v8) V(porb_h) V(porb_l) V(por_l)
-.endc"}
diff --git a/xschem/example_por_tb.spice b/xschem/example_por_tb.spice
deleted file mode 100644
index 265e666..0000000
--- a/xschem/example_por_tb.spice
+++ /dev/null
@@ -1,81 +0,0 @@
-**.subckt example_por_tb vdd3v3 vdd1v8 porb_h porb_l por_l
-*.opin vdd3v3
-*.opin vdd1v8
-*.opin porb_h
-*.opin porb_l
-*.opin por_l
-x1 vdd3v3 vdd1v8 porb_h porb_l por_l GND example_por
-V1 vdd3v3 GND PWL(0.0 0 100u 0 5m 3.3)
-V2 vdd1v8 GND PWL(0.0 0 300u 0 5.3m 1.8)
-**** begin user architecture code
-
-.param mc_mm_switch=0
-.lib /usr/share/pdk/sky130A/libs.tech/ngspice/sky130.lib.spice tt
-.include /usr/share/pdk/sky130A/libs.ref/sky130_fd_sc_hvl/spice/sky130_fd_sc_hvl.spice
-
-
-.control
-tran 1u 20m
-plot V(vdd3v3) V(vdd1v8) V(porb_h) V(porb_l) V(por_l)
-.endc
-
-**** end user architecture code
-**.ends
-
-* expanding   symbol:  example_por.sym # of pins=6
-* sym_path: /home/tim/gits/caravel_user_project_analog/xschem/example_por.sym
-* sch_path: /home/tim/gits/caravel_user_project_analog/xschem/example_por.sch
-.subckt example_por  vdd3v3 vdd1v8 porb_h porb_l por_l vss
-*.iopin vdd3v3
-*.iopin vss
-*.opin porb_h
-*.opin porb_l
-*.opin por_l
-*.iopin vdd1v8
-XC1 net9 vss sky130_fd_pr__cap_mim_m3_1 W=30 L=30 MF=1 m=1
-XC2 vss net9 sky130_fd_pr__cap_mim_m3_2 W=30 L=30 MF=1 m=1
-XM1 net3 net7 net5 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM2 net2 net3 vss vss sky130_fd_pr__nfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1 
-XR1 net4 vdd3v3 vss sky130_fd_pr__res_xhigh_po_0p69 W=0.69 L=500 mult=1 m=1
-XM4 net5 net6 vdd3v3 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM5 net3 net3 vss vss sky130_fd_pr__nfet_g5v0d10v5 L=0.8 W=14 nf=7 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1 
-XR2 vss net4 vss sky130_fd_pr__res_xhigh_po_0p69 W=0.69 L=150 mult=1 m=1
-XM7 net2 net2 net1 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM8 net1 net1 vdd3v3 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=14 nf=7 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM10 net7 net4 vss vss sky130_fd_pr__nfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1 
-XM9 net7 net7 net6 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM11 net6 net6 vdd3v3 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=16 nf=8 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM12 net8 net1 vdd3v3 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM13 net9 net2 net8 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XR3 vss vss vss sky130_fd_pr__res_xhigh_po_0p69 W=0.69 L=25 mult=2 m=2
-x2 net10 vss vss vdd3v3 vdd3v3 porb_h sky130_fd_sc_hvl__buf_8
-x3 net10 vss vss vdd1v8 vdd1v8 porb_l sky130_fd_sc_hvl__buf_8
-x4 net10 vss vss vdd1v8 vdd1v8 por_l sky130_fd_sc_hvl__inv_8
-x5 net9 vss vss vdd3v3 vdd3v3 net10 sky130_fd_sc_hvl__schmittbuf_1
-.ends
-
-.GLOBAL GND
-** flattened .save nodes
-.end
diff --git a/xschem/example_por_tb.spice.orig b/xschem/example_por_tb.spice.orig
deleted file mode 100644
index 069c74d..0000000
--- a/xschem/example_por_tb.spice.orig
+++ /dev/null
@@ -1,88 +0,0 @@
-**.subckt example_por_tb vdd3v3 vdd1v8 porb_h porb_l por_l
-.param mc_switch=0
-*.opin vdd3v3
-*.opin vdd1v8
-*.opin porb_h
-*.opin porb_l
-*.opin por_l
-x1 vdd3v3 vdd1v8 porb_h porb_l por_l GND example_por
-V1 vdd3v3 GND PWL(0.0 0 100u 0 5m 3.3)
-V2 vdd1v8 GND PWL(0.0 0 300u 0 5.3m 1.8)
-**** begin user architecture code
-
-.lib /usr/share/pdk/sky130A/libs.tech/ngspice/sky130.lib.spice tt
-
-
-.include /usr/share/pdk/sky130A/libs.ref/sky130_fd_sc_hvl/spice/sky130_fd_sc_hvl.spice
-
-.control
-tran 1u 20m
-plot V(vdd3v3) V(vdd1v8) V(porb_h) V(porb_l) V(por_l)
-.endc
-
-**** end user architecture code
-**.ends
-
-* expanding   symbol:  example_por.sym # of pins=6
-* sym_path: /home/tim/gits/caravel_user_project_analog/xschem/example_por.sym
-* sch_path: /home/tim/gits/caravel_user_project_analog/xschem/example_por.sch
-.subckt example_por  vdd3v3 vdd1v8 porb_h porb_l por_l vss
-*.iopin vdd3v3
-*.iopin vss
-*.opin porb_h
-*.opin porb_l
-*.opin por_l
-*.iopin vdd1v8
-XC1 net11 vss sky130_fd_pr__cap_mim_m3_1 W=30 L=30 MF=1 m=1
-XC2 net11 vss sky130_fd_pr__cap_mim_m3_2 W=30 L=30 MF=1 m=1
-XM1 net5 net9 net7 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM2 net1 net4 vss vss sky130_fd_pr__nfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1 
-XR1 net6 vdd3v3 vss sky130_fd_pr__res_xhigh_po_0p69 W=0.69 L=500 mult=1 m=1
-XM3 net3 net5 net1 vss sky130_fd_pr__nfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1 
-XM4 net7 net8 vdd3v3 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM5 net4 net4 vss vss sky130_fd_pr__nfet_g5v0d10v5 L=0.8 W=14 nf=7 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1 
-XM6 net5 net5 net4 vss sky130_fd_pr__nfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1 
-XR2 vss net6 vss sky130_fd_pr__res_xhigh_po_0p69 W=0.69 L=150 mult=1 m=1
-XM7 net3 net3 net2 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM8 net2 net2 vdd3v3 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=14 nf=7 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM10 net9 net6 vss vss sky130_fd_pr__nfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1 
-XM9 net9 net9 net8 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM11 net8 net8 vdd3v3 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=16 nf=8 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM12 net10 net2 vdd3v3 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM13 net11 net3 net10 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XR3 vss vss vss sky130_fd_pr__res_xhigh_po_0p69 W=0.69 L=25 mult=2 m=2
-x2 net12 vss vss vdd3v3 vdd3v3 porb_h sky130_fd_sc_hvl__buf_8
-x3 net12 vss vss vdd1v8 vdd1v8 porb_l sky130_fd_sc_hvl__buf_8
-x4 net12 vss vss vdd1v8 vdd1v8 por_l sky130_fd_sc_hvl__inv_8
-x5 net11 vss vss vdd3v3 vdd3v3 net12 sky130_fd_sc_hvl__schmittbuf_1
-.ends
-
-.GLOBAL GND
-** flattened .save nodes
-.end
diff --git a/xschem/test.data b/xschem/test.data
deleted file mode 100644
index c9cde37..0000000
--- a/xschem/test.data
+++ /dev/null
@@ -1,101 +0,0 @@
- 7.00000000e-01 -8.93059159e-08  7.00000000e-01  7.00000000e-01 
- 7.01000000e-01 -9.08452852e-08  7.01000000e-01  7.01000000e-01 
- 7.02000000e-01 -9.24385447e-08  7.02000000e-01  7.02000000e-01 
- 7.03000000e-01 -9.40459956e-08  7.03000000e-01  7.03000000e-01 
- 7.04000000e-01 -9.56814959e-08  7.04000000e-01  7.04000000e-01 
- 7.05000000e-01 -9.73455368e-08  7.05000000e-01  7.05000000e-01 
- 7.06000000e-01 -9.90386085e-08  7.06000000e-01  7.06000000e-01 
- 7.07000000e-01 -1.00761227e-07  7.07000000e-01  7.07000000e-01 
- 7.08000000e-01 -1.02513882e-07  7.08000000e-01  7.08000000e-01 
- 7.09000000e-01 -1.04297110e-07  7.09000000e-01  7.09000000e-01 
- 7.10000000e-01 -1.06111443e-07  7.10000000e-01  7.10000000e-01 
- 7.11000000e-01 -1.07957415e-07  7.11000000e-01  7.11000000e-01 
- 7.12000000e-01 -1.09835552e-07  7.12000000e-01  7.12000000e-01 
- 7.13000000e-01 -1.11746436e-07  7.13000000e-01  7.13000000e-01 
- 7.14000000e-01 -1.13690603e-07  7.14000000e-01  7.14000000e-01 
- 7.15000000e-01 -1.15668634e-07  7.15000000e-01  7.15000000e-01 
- 7.16000000e-01 -1.17681129e-07  7.16000000e-01  7.16000000e-01 
- 7.17000000e-01 -1.19728657e-07  7.17000000e-01  7.17000000e-01 
- 7.18000000e-01 -1.21811839e-07  7.18000000e-01  7.18000000e-01 
- 7.19000000e-01 -1.23931259e-07  7.19000000e-01  7.19000000e-01 
- 7.20000000e-01 -1.26087554e-07  7.20000000e-01  7.20000000e-01 
- 7.21000000e-01 -1.28281358e-07  7.21000000e-01  7.21000000e-01 
- 7.22000000e-01 -1.30513286e-07  7.22000000e-01  7.22000000e-01 
- 7.23000000e-01 -1.32784003e-07  7.23000000e-01  7.23000000e-01 
- 7.24000000e-01 -1.35094165e-07  7.24000000e-01  7.24000000e-01 
- 7.25000000e-01 -1.37444453e-07  7.25000000e-01  7.25000000e-01 
- 7.26000000e-01 -1.39835535e-07  7.26000000e-01  7.26000000e-01 
- 7.27000000e-01 -1.42268085e-07  7.27000000e-01  7.27000000e-01 
- 7.28000000e-01 -1.44742842e-07  7.28000000e-01  7.28000000e-01 
- 7.29000000e-01 -1.47260486e-07  7.29000000e-01  7.29000000e-01 
- 7.30000000e-01 -1.49821761e-07  7.30000000e-01  7.30000000e-01 
- 7.31000000e-01 -1.52427364e-07  7.31000000e-01  7.31000000e-01 
- 7.32000000e-01 -1.55078077e-07  7.32000000e-01  7.32000000e-01 
- 7.33000000e-01 -1.57774611e-07  7.33000000e-01  7.33000000e-01 
- 7.34000000e-01 -1.60517775e-07  7.34000000e-01  7.34000000e-01 
- 7.35000000e-01 -1.63308337e-07  7.35000000e-01  7.35000000e-01 
- 7.36000000e-01 -1.66147061e-07  7.36000000e-01  7.36000000e-01 
- 7.37000000e-01 -1.69034765e-07  7.37000000e-01  7.37000000e-01 
- 7.38000000e-01 -1.71972266e-07  7.38000000e-01  7.38000000e-01 
- 7.39000000e-01 -1.74960357e-07  7.39000000e-01  7.39000000e-01 
- 7.40000000e-01 -1.77999888e-07  7.40000000e-01  7.40000000e-01 
- 7.41000000e-01 -1.81091703e-07  7.41000000e-01  7.41000000e-01 
- 7.42000000e-01 -1.84236664e-07  7.42000000e-01  7.42000000e-01 
- 7.43000000e-01 -1.87435634e-07  7.43000000e-01  7.43000000e-01 
- 7.44000000e-01 -1.90689493e-07  7.44000000e-01  7.44000000e-01 
- 7.45000000e-01 -1.93999127e-07  7.45000000e-01  7.45000000e-01 
- 7.46000000e-01 -1.97365464e-07  7.46000000e-01  7.46000000e-01 
- 7.47000000e-01 -2.00789378e-07  7.47000000e-01  7.47000000e-01 
- 7.48000000e-01 -2.04271837e-07  7.48000000e-01  7.48000000e-01 
- 7.49000000e-01 -2.07813739e-07  7.49000000e-01  7.49000000e-01 
- 7.50000000e-01 -2.11416073e-07  7.50000000e-01  7.50000000e-01 
- 7.51000000e-01 -2.15079797e-07  7.51000000e-01  7.51000000e-01 
- 7.52000000e-01 -2.18805863e-07  7.52000000e-01  7.52000000e-01 
- 7.53000000e-01 -2.22595278e-07  7.53000000e-01  7.53000000e-01 
- 7.54000000e-01 -2.26449036e-07  7.54000000e-01  7.54000000e-01 
- 7.55000000e-01 -2.30368144e-07  7.55000000e-01  7.55000000e-01 
- 7.56000000e-01 -2.34353630e-07  7.56000000e-01  7.56000000e-01 
- 7.57000000e-01 -2.38406548e-07  7.57000000e-01  7.57000000e-01 
- 7.58000000e-01 -2.42527913e-07  7.58000000e-01  7.58000000e-01 
- 7.59000000e-01 -2.46718795e-07  7.59000000e-01  7.59000000e-01 
- 7.60000000e-01 -2.50980278e-07  7.60000000e-01  7.60000000e-01 
- 7.61000000e-01 -2.55313430e-07  7.61000000e-01  7.61000000e-01 
- 7.62000000e-01 -2.59719344e-07  7.62000000e-01  7.62000000e-01 
- 7.63000000e-01 -2.64199148e-07  7.63000000e-01  7.63000000e-01 
- 7.64000000e-01 -2.68753946e-07  7.64000000e-01  7.64000000e-01 
- 7.65000000e-01 -2.73384860e-07  7.65000000e-01  7.65000000e-01 
- 7.66000000e-01 -2.78093044e-07  7.66000000e-01  7.66000000e-01 
- 7.67000000e-01 -2.82879650e-07  7.67000000e-01  7.67000000e-01 
- 7.68000000e-01 -2.87745826e-07  7.68000000e-01  7.68000000e-01 
- 7.69000000e-01 -2.92692776e-07  7.69000000e-01  7.69000000e-01 
- 7.70000000e-01 -2.97721660e-07  7.70000000e-01  7.70000000e-01 
- 7.71000000e-01 -3.02833688e-07  7.71000000e-01  7.71000000e-01 
- 7.72000000e-01 -3.08030053e-07  7.72000000e-01  7.72000000e-01 
- 7.73000000e-01 -3.13311974e-07  7.73000000e-01  7.73000000e-01 
- 7.74000000e-01 -3.18680710e-07  7.74000000e-01  7.74000000e-01 
- 7.75000000e-01 -3.24137468e-07  7.75000000e-01  7.75000000e-01 
- 7.76000000e-01 -3.29683509e-07  7.76000000e-01  7.76000000e-01 
- 7.77000000e-01 -3.35320078e-07  7.77000000e-01  7.77000000e-01 
- 7.78000000e-01 -3.41048451e-07  7.78000000e-01  7.78000000e-01 
- 7.79000000e-01 -3.46869908e-07  7.79000000e-01  7.79000000e-01 
- 7.80000000e-01 -3.52785731e-07  7.80000000e-01  7.80000000e-01 
- 7.81000000e-01 -3.58797218e-07  7.81000000e-01  7.81000000e-01 
- 7.82000000e-01 -3.64905663e-07  7.82000000e-01  7.82000000e-01 
- 7.83000000e-01 -3.71112381e-07  7.83000000e-01  7.83000000e-01 
- 7.84000000e-01 -3.77418703e-07  7.84000000e-01  7.84000000e-01 
- 7.85000000e-01 -3.83825919e-07  7.85000000e-01  7.85000000e-01 
- 7.86000000e-01 -3.90335390e-07  7.86000000e-01  7.86000000e-01 
- 7.87000000e-01 -3.96948455e-07  7.87000000e-01  7.87000000e-01 
- 7.88000000e-01 -4.03666461e-07  7.88000000e-01  7.88000000e-01 
- 7.89000000e-01 -4.10490750e-07  7.89000000e-01  7.89000000e-01 
- 7.90000000e-01 -4.17422681e-07  7.90000000e-01  7.90000000e-01 
- 7.91000000e-01 -4.24463629e-07  7.91000000e-01  7.91000000e-01 
- 7.92000000e-01 -4.31614946e-07  7.92000000e-01  7.92000000e-01 
- 7.93000000e-01 -4.38878017e-07  7.93000000e-01  7.93000000e-01 
- 7.94000000e-01 -4.46254218e-07  7.94000000e-01  7.94000000e-01 
- 7.95000000e-01 -4.53744916e-07  7.95000000e-01  7.95000000e-01 
- 7.96000000e-01 -4.61351506e-07  7.96000000e-01  7.96000000e-01 
- 7.97000000e-01 -4.69075369e-07  7.97000000e-01  7.97000000e-01 
- 7.98000000e-01 -4.76917893e-07  7.98000000e-01  7.98000000e-01 
- 7.99000000e-01 -4.84880471e-07  7.99000000e-01  7.99000000e-01 
- 8.00000000e-01 -4.92964482e-07  8.00000000e-01  8.00000000e-01 
diff --git a/xschem/threshold_test_tb.spice b/xschem/threshold_test_tb.spice
deleted file mode 100644
index 9543330..0000000
--- a/xschem/threshold_test_tb.spice
+++ /dev/null
@@ -1,47 +0,0 @@
-*---------------------------------------------------------------------------
-* 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
-*
-*     https://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
-*---------------------------------------------------------------------------
-* Threshold test for POR circuit
-* Determine gate voltage at which the HV NFET draws 240nA nominal
-*
-* Result:  0.7575V
-*-------------------------------------------------------------------
-
-.param mc_mm_switch=0
-.lib /usr/share/pdk/sky130A/libs.tech/ngspice/sky130.lib.spice tt
-
-*----------------------------
-* Testbench circuit
-*----------------------------
-Rtest vdda mir1 1MEG
-Xm1 mir1 vin vss vss sky130_fd_pr__nfet_g5v0d10v5 w=2 l=0.8
-
-Vgate vin vss DC=0
-Vpwr vdda vss DC=3.3
-Rgnd vss 0 0.1
-
-*----------------------------
-* Testbench control
-*----------------------------
-.control
-* DC sweep from 0.7 to 0.8V
-dc Vgate 0.7 0.8 0.001
-wrdata test.data Vpwr#branch vin
-
-.endc
-
-.end
-
diff --git a/xschem/user_analog_project_wrapper.sch b/xschem/user_analog_project_wrapper.sch
deleted file mode 100644
index e0da610..0000000
--- a/xschem/user_analog_project_wrapper.sch
+++ /dev/null
@@ -1,70 +0,0 @@
-v {xschem version=2.9.9 file_version=1.2 }
-G {}
-K {}
-V {}
-S {}
-E {}
-N 3830 -460 3830 -390 { lab=vdda1}
-N 3730 -460 3830 -460 { lab=vdda1}
-N 3860 -230 3860 -180 { lab=vssa1}
-N 3770 -180 3860 -180 { lab=vssa1}
-N 3890 -460 3890 -390 { lab=vccd1}
-N 3890 -460 3960 -460 { lab=vccd1}
-N 3890 -130 3890 -60 { lab=vccd1}
-N 3890 -130 3950 -130 { lab=vccd1}
-N 3830 -130 3830 -60 { lab=io_analog[4]}
-N 3790 -130 3830 -130 { lab=io_analog[4]}
-N 3860 100 3860 150 { lab=vssa1}
-N 3800 150 3860 150 { lab=vssa1}
-N 4010 -10 4110 -10 { lab=gpio_analog[7]}
-N 4010 20 4110 20 { lab=io_out[15]}
-N 4010 50 4110 50 { lab=io_out[16]}
-N 4010 -340 4130 -340 { lab=gpio_analog[3]}
-N 4010 -310 4130 -310 { lab=io_out[11]}
-N 4010 -280 4130 -280 { lab=io_out[12]}
-C {example_por.sym} 3860 -310 0 0 {name=x1}
-C {example_por.sym} 3860 20 0 0 {name=x2}
-C {devices/iopin.sym} 3240 -470 0 0 {name=p1 lab=vdda1}
-C {devices/iopin.sym} 3240 -440 0 0 {name=p2 lab=vdda2}
-C {devices/iopin.sym} 3240 -410 0 0 {name=p3 lab=vssa1}
-C {devices/iopin.sym} 3240 -380 0 0 {name=p4 lab=vssa2}
-C {devices/iopin.sym} 3240 -350 0 0 {name=p5 lab=vccd1}
-C {devices/iopin.sym} 3240 -320 0 0 {name=p6 lab=vccd2}
-C {devices/iopin.sym} 3240 -290 0 0 {name=p7 lab=vssd1}
-C {devices/iopin.sym} 3240 -260 0 0 {name=p8 lab=vssd2}
-C {devices/ipin.sym} 3290 -190 0 0 {name=p9 lab=wb_clk_i}
-C {devices/ipin.sym} 3290 -160 0 0 {name=p10 lab=wb_rst_i}
-C {devices/ipin.sym} 3290 -130 0 0 {name=p11 lab=wbs_stb_i}
-C {devices/ipin.sym} 3290 -100 0 0 {name=p12 lab=wbs_cyc_i}
-C {devices/ipin.sym} 3290 -70 0 0 {name=p13 lab=wbs_we_i}
-C {devices/ipin.sym} 3290 -40 0 0 {name=p14 lab=wbs_sel_i[3:0]}
-C {devices/ipin.sym} 3290 -10 0 0 {name=p15 lab=wbs_dat_i[31:0]}
-C {devices/ipin.sym} 3290 20 0 0 {name=p16 lab=wbs_adr_i[31:0]}
-C {devices/opin.sym} 3280 80 0 0 {name=p17 lab=wbs_ack_o}
-C {devices/opin.sym} 3280 110 0 0 {name=p18 lab=wbs_dat_o[31:0]}
-C {devices/ipin.sym} 3290 150 0 0 {name=p19 lab=la_data_in[127:0]}
-C {devices/opin.sym} 3280 180 0 0 {name=p20 lab=la_data_out[127:0]}
-C {devices/ipin.sym} 3290 260 0 0 {name=p21 lab=io_in[26:0]}
-C {devices/ipin.sym} 3290 290 0 0 {name=p22 lab=io_in_3v3[26:0]}
-C {devices/ipin.sym} 3280 570 0 0 {name=p23 lab=user_clock2}
-C {devices/opin.sym} 3280 320 0 0 {name=p24 lab=io_out[26:0]}
-C {devices/opin.sym} 3280 350 0 0 {name=p25 lab=io_oeb[26:0]}
-C {devices/iopin.sym} 3250 410 0 0 {name=p26 lab=gpio_analog[17:0]}
-C {devices/iopin.sym} 3250 440 0 0 {name=p27 lab=gpio_noesd[17:0]}
-C {devices/iopin.sym} 3250 470 0 0 {name=p29 lab=io_analog[10:0]}
-C {devices/iopin.sym} 3250 500 0 0 {name=p30 lab=io_clamp_high[2:0]}
-C {devices/iopin.sym} 3250 530 0 0 {name=p31 lab=io_clamp_low[2:0]}
-C {devices/opin.sym} 3270 600 0 0 {name=p32 lab=user_irq[2:0]}
-C {devices/ipin.sym} 3290 210 0 0 {name=p28 lab=la_oenb[127:0]}
-C {devices/lab_pin.sym} 3730 -460 0 0 {name=l1 sig_type=std_logic lab=vdda1}
-C {devices/lab_pin.sym} 3770 -180 0 0 {name=l2 sig_type=std_logic lab=vssa1}
-C {devices/lab_pin.sym} 3960 -460 0 1 {name=l3 sig_type=std_logic lab=vccd1}
-C {devices/lab_pin.sym} 3950 -130 0 1 {name=l4 sig_type=std_logic lab=vccd1}
-C {devices/lab_pin.sym} 3790 -130 0 0 {name=l5 sig_type=std_logic lab=io_analog[4]}
-C {devices/lab_pin.sym} 3800 150 0 0 {name=l6 sig_type=std_logic lab=vssa1}
-C {devices/lab_pin.sym} 4130 -340 0 1 {name=l7 sig_type=std_logic lab=gpio_analog[3]}
-C {devices/lab_pin.sym} 4130 -310 0 1 {name=l8 sig_type=std_logic lab=io_out[11]}
-C {devices/lab_pin.sym} 4130 -280 0 1 {name=l9 sig_type=std_logic lab=io_out[12]}
-C {devices/lab_pin.sym} 4110 -10 0 1 {name=l10 sig_type=std_logic lab=gpio_analog[7]}
-C {devices/lab_pin.sym} 4110 20 0 1 {name=l11 sig_type=std_logic lab=io_out[15]}
-C {devices/lab_pin.sym} 4110 50 0 1 {name=l12 sig_type=std_logic lab=io_out[16]}
diff --git a/xschem/user_analog_project_wrapper.spice b/xschem/user_analog_project_wrapper.spice
deleted file mode 100644
index 917d69e..0000000
--- a/xschem/user_analog_project_wrapper.spice
+++ /dev/null
@@ -1,121 +0,0 @@
-**.subckt user_analog_project_wrapper vdda1 vdda2 vssa1 vssa1 vccd1 vccd2 vssd1 vssd2 wb_clk_i
-*+ wb_rst_i wbs_stb_i wbs_cyc_i wbs_we_i wbs_sel_i[3],wbs_sel_i[2],wbs_sel_i[1],wbs_sel_i[0]
-*+ wbs_dat_i[31],wbs_dat_i[30],wbs_dat_i[29],wbs_dat_i[28],wbs_dat_i[27],wbs_dat_i[26],wbs_dat_i[25],wbs_dat_i[24],wbs_dat_i[23],wbs_dat_i[22],wbs_dat_i[21],wbs_dat_i[20],wbs_dat_i[19],wbs_dat_i[18],wbs_dat_i[17],wbs_dat_i[16],wbs_dat_i[15],wbs_dat_i[14],wbs_dat_i[13],wbs_dat_i[12],wbs_dat_i[11],wbs_dat_i[10],wbs_dat_i[9],wbs_dat_i[8],wbs_dat_i[7],wbs_dat_i[6],wbs_dat_i[5],wbs_dat_i[4],wbs_dat_i[3],wbs_dat_i[2],wbs_dat_i[1],wbs_dat_i[0]
-*+ wbs_adr_i[31],wbs_adr_i[30],wbs_adr_i[29],wbs_adr_i[28],wbs_adr_i[27],wbs_adr_i[26],wbs_adr_i[25],wbs_adr_i[24],wbs_adr_i[23],wbs_adr_i[22],wbs_adr_i[21],wbs_adr_i[20],wbs_adr_i[19],wbs_adr_i[18],wbs_adr_i[17],wbs_adr_i[16],wbs_adr_i[15],wbs_adr_i[14],wbs_adr_i[13],wbs_adr_i[12],wbs_adr_i[11],wbs_adr_i[10],wbs_adr_i[9],wbs_adr_i[8],wbs_adr_i[7],wbs_adr_i[6],wbs_adr_i[5],wbs_adr_i[4],wbs_adr_i[3],wbs_adr_i[2],wbs_adr_i[1],wbs_adr_i[0] wbs_ack_o
-*+ wbs_dat_o[31],wbs_dat_o[30],wbs_dat_o[29],wbs_dat_o[28],wbs_dat_o[27],wbs_dat_o[26],wbs_dat_o[25],wbs_dat_o[24],wbs_dat_o[23],wbs_dat_o[22],wbs_dat_o[21],wbs_dat_o[20],wbs_dat_o[19],wbs_dat_o[18],wbs_dat_o[17],wbs_dat_o[16],wbs_dat_o[15],wbs_dat_o[14],wbs_dat_o[13],wbs_dat_o[12],wbs_dat_o[11],wbs_dat_o[10],wbs_dat_o[9],wbs_dat_o[8],wbs_dat_o[7],wbs_dat_o[6],wbs_dat_o[5],wbs_dat_o[4],wbs_dat_o[3],wbs_dat_o[2],wbs_dat_o[1],wbs_dat_o[0]
-*+ la_data_in[127],la_data_in[126],la_data_in[125],la_data_in[124],la_data_in[123],la_data_in[122],la_data_in[121],la_data_in[120],la_data_in[119],la_data_in[118],la_data_in[117],la_data_in[116],la_data_in[115],la_data_in[114],la_data_in[113],la_data_in[112],la_data_in[111],la_data_in[110],la_data_in[109],la_data_in[108],la_data_in[107],la_data_in[106],la_data_in[105],la_data_in[104],la_data_in[103],la_data_in[102],la_data_in[101],la_data_in[100],la_data_in[99],la_data_in[98],la_data_in[97],la_data_in[96],la_data_in[95],la_data_in[94],la_data_in[93],la_data_in[92],la_data_in[91],la_data_in[90],la_data_in[89],la_data_in[88],la_data_in[87],la_data_in[86],la_data_in[85],la_data_in[84],la_data_in[83],la_data_in[82],la_data_in[81],la_data_in[80],la_data_in[79],la_data_in[78],la_data_in[77],la_data_in[76],la_data_in[75],la_data_in[74],la_data_in[73],la_data_in[72],la_data_in[71],la_data_in[70],la_data_in[69],la_data_in[68],la_data_in[67],la_data_in[66],la_data_in[65],la_data_in[64],la_data_in[63],la_data_in[62],la_data_in[61],la_data_in[60],la_data_in[59],la_data_in[58],la_data_in[57],la_data_in[56],la_data_in[55],la_data_in[54],la_data_in[53],la_data_in[52],la_data_in[51],la_data_in[50],la_data_in[49],la_data_in[48],la_data_in[47],la_data_in[46],la_data_in[45],la_data_in[44],la_data_in[43],la_data_in[42],la_data_in[41],la_data_in[40],la_data_in[39],la_data_in[38],la_data_in[37],la_data_in[36],la_data_in[35],la_data_in[34],la_data_in[33],la_data_in[32],la_data_in[31],la_data_in[30],la_data_in[29],la_data_in[28],la_data_in[27],la_data_in[26],la_data_in[25],la_data_in[24],la_data_in[23],la_data_in[22],la_data_in[21],la_data_in[20],la_data_in[19],la_data_in[18],la_data_in[17],la_data_in[16],la_data_in[15],la_data_in[14],la_data_in[13],la_data_in[12],la_data_in[11],la_data_in[10],la_data_in[9],la_data_in[8],la_data_in[7],la_data_in[6],la_data_in[5],la_data_in[4],la_data_in[3],la_data_in[2],la_data_in[1],la_data_in[0]
-*+ la_data_out[127],la_data_out[126],la_data_out[125],la_data_out[124],la_data_out[123],la_data_out[122],la_data_out[121],la_data_out[120],la_data_out[119],la_data_out[118],la_data_out[117],la_data_out[116],la_data_out[115],la_data_out[114],la_data_out[113],la_data_out[112],la_data_out[111],la_data_out[110],la_data_out[109],la_data_out[108],la_data_out[107],la_data_out[106],la_data_out[105],la_data_out[104],la_data_out[103],la_data_out[102],la_data_out[101],la_data_out[100],la_data_out[99],la_data_out[98],la_data_out[97],la_data_out[96],la_data_out[95],la_data_out[94],la_data_out[93],la_data_out[92],la_data_out[91],la_data_out[90],la_data_out[89],la_data_out[88],la_data_out[87],la_data_out[86],la_data_out[85],la_data_out[84],la_data_out[83],la_data_out[82],la_data_out[81],la_data_out[80],la_data_out[79],la_data_out[78],la_data_out[77],la_data_out[76],la_data_out[75],la_data_out[74],la_data_out[73],la_data_out[72],la_data_out[71],la_data_out[70],la_data_out[69],la_data_out[68],la_data_out[67],la_data_out[66],la_data_out[65],la_data_out[64],la_data_out[63],la_data_out[62],la_data_out[61],la_data_out[60],la_data_out[59],la_data_out[58],la_data_out[57],la_data_out[56],la_data_out[55],la_data_out[54],la_data_out[53],la_data_out[52],la_data_out[51],la_data_out[50],la_data_out[49],la_data_out[48],la_data_out[47],la_data_out[46],la_data_out[45],la_data_out[44],la_data_out[43],la_data_out[42],la_data_out[41],la_data_out[40],la_data_out[39],la_data_out[38],la_data_out[37],la_data_out[36],la_data_out[35],la_data_out[34],la_data_out[33],la_data_out[32],la_data_out[31],la_data_out[30],la_data_out[29],la_data_out[28],la_data_out[27],la_data_out[26],la_data_out[25],la_data_out[24],la_data_out[23],la_data_out[22],la_data_out[21],la_data_out[20],la_data_out[19],la_data_out[18],la_data_out[17],la_data_out[16],la_data_out[15],la_data_out[14],la_data_out[13],la_data_out[12],la_data_out[11],la_data_out[10],la_data_out[9],la_data_out[8],la_data_out[7],la_data_out[6],la_data_out[5],la_data_out[4],la_data_out[3],la_data_out[2],la_data_out[1],la_data_out[0]
-*+ io_in[26],io_in[25],io_in[24],io_in[23],io_in[22],io_in[21],io_in[20],io_in[19],io_in[18],io_in[17],io_in[16],io_in[15],io_in[14],io_in[13],io_in[12],io_in[11],io_in[10],io_in[9],io_in[8],io_in[7],io_in[6],io_in[5],io_in[4],io_in[3],io_in[2],io_in[1],io_in[0]
-*+ io_in_3v3[26],io_in_3v3[25],io_in_3v3[24],io_in_3v3[23],io_in_3v3[22],io_in_3v3[21],io_in_3v3[20],io_in_3v3[19],io_in_3v3[18],io_in_3v3[17],io_in_3v3[16],io_in_3v3[15],io_in_3v3[14],io_in_3v3[13],io_in_3v3[12],io_in_3v3[11],io_in_3v3[10],io_in_3v3[9],io_in_3v3[8],io_in_3v3[7],io_in_3v3[6],io_in_3v3[5],io_in_3v3[4],io_in_3v3[3],io_in_3v3[2],io_in_3v3[1],io_in_3v3[0] user_clock2
-*+ io_out[26],io_out[25],io_out[24],io_out[23],io_out[22],io_out[21],io_out[20],io_out[19],io_out[18],io_out[17],io_out[16],io_out[15],io_out[14],io_out[13],io_out[12],io_out[11],io_out[10],io_out[9],io_out[8],io_out[7],io_out[6],io_out[5],io_out[4],io_out[3],io_out[2],io_out[1],io_out[0]
-*+ io_oeb[26],io_oeb[25],io_oeb[24],io_oeb[23],io_oeb[22],io_oeb[21],io_oeb[20],io_oeb[19],io_oeb[18],io_oeb[17],io_oeb[16],io_oeb[15],io_oeb[14],io_oeb[13],io_oeb[12],io_oeb[11],io_oeb[10],io_oeb[9],io_oeb[8],io_oeb[7],io_oeb[6],io_oeb[5],io_oeb[4],io_oeb[3],io_oeb[2],io_oeb[1],io_oeb[0]
-*+ gpio_analog[17],gpio_analog[16],gpio_analog[15],gpio_analog[14],gpio_analog[13],gpio_analog[12],gpio_analog[11],gpio_analog[10],gpio_analog[9],gpio_analog[8],gpio_analog[7],gpio_analog[6],gpio_analog[5],gpio_analog[4],gpio_analog[3],gpio_analog[2],gpio_analog[1],gpio_analog[0]
-*+ gpio_noesd[17],gpio_noesd[16],gpio_noesd[15],gpio_noesd[14],gpio_noesd[13],gpio_noesd[12],gpio_noesd[11],gpio_noesd[10],gpio_noesd[9],gpio_noesd[8],gpio_noesd[7],gpio_noesd[6],gpio_noesd[5],gpio_noesd[4],gpio_noesd[3],gpio_noesd[2],gpio_noesd[1],gpio_noesd[0]
-*+ io_analog[10],io_analog[9],io_analog[8],io_analog[7],io_analog[6],io_analog[5],io_analog[4],io_analog[3],io_analog[2],io_analog[1],io_analog[0] io_clamp_high[2],io_clamp_high[1],io_clamp_high[0] io_clamp_low[2],io_clamp_low[1],io_clamp_low[0]
-*+ user_irq[2],user_irq[1],user_irq[0]
-*+ la_oenb[127],la_oenb[126],la_oenb[125],la_oenb[124],la_oenb[123],la_oenb[122],la_oenb[121],la_oenb[120],la_oenb[119],la_oenb[118],la_oenb[117],la_oenb[116],la_oenb[115],la_oenb[114],la_oenb[113],la_oenb[112],la_oenb[111],la_oenb[110],la_oenb[109],la_oenb[108],la_oenb[107],la_oenb[106],la_oenb[105],la_oenb[104],la_oenb[103],la_oenb[102],la_oenb[101],la_oenb[100],la_oenb[99],la_oenb[98],la_oenb[97],la_oenb[96],la_oenb[95],la_oenb[94],la_oenb[93],la_oenb[92],la_oenb[91],la_oenb[90],la_oenb[89],la_oenb[88],la_oenb[87],la_oenb[86],la_oenb[85],la_oenb[84],la_oenb[83],la_oenb[82],la_oenb[81],la_oenb[80],la_oenb[79],la_oenb[78],la_oenb[77],la_oenb[76],la_oenb[75],la_oenb[74],la_oenb[73],la_oenb[72],la_oenb[71],la_oenb[70],la_oenb[69],la_oenb[68],la_oenb[67],la_oenb[66],la_oenb[65],la_oenb[64],la_oenb[63],la_oenb[62],la_oenb[61],la_oenb[60],la_oenb[59],la_oenb[58],la_oenb[57],la_oenb[56],la_oenb[55],la_oenb[54],la_oenb[53],la_oenb[52],la_oenb[51],la_oenb[50],la_oenb[49],la_oenb[48],la_oenb[47],la_oenb[46],la_oenb[45],la_oenb[44],la_oenb[43],la_oenb[42],la_oenb[41],la_oenb[40],la_oenb[39],la_oenb[38],la_oenb[37],la_oenb[36],la_oenb[35],la_oenb[34],la_oenb[33],la_oenb[32],la_oenb[31],la_oenb[30],la_oenb[29],la_oenb[28],la_oenb[27],la_oenb[26],la_oenb[25],la_oenb[24],la_oenb[23],la_oenb[22],la_oenb[21],la_oenb[20],la_oenb[19],la_oenb[18],la_oenb[17],la_oenb[16],la_oenb[15],la_oenb[14],la_oenb[13],la_oenb[12],la_oenb[11],la_oenb[10],la_oenb[9],la_oenb[8],la_oenb[7],la_oenb[6],la_oenb[5],la_oenb[4],la_oenb[3],la_oenb[2],la_oenb[1],la_oenb[0]
-*.iopin vdda1
-*.iopin vdda2
-*.iopin vssa1
-*.iopin vssa1
-*.iopin vccd1
-*.iopin vccd2
-*.iopin vssd1
-*.iopin vssd2
-*.ipin wb_clk_i
-*.ipin wb_rst_i
-*.ipin wbs_stb_i
-*.ipin wbs_cyc_i
-*.ipin wbs_we_i
-*.ipin wbs_sel_i[3],wbs_sel_i[2],wbs_sel_i[1],wbs_sel_i[0]
-*.ipin
-*+ wbs_dat_i[31],wbs_dat_i[30],wbs_dat_i[29],wbs_dat_i[28],wbs_dat_i[27],wbs_dat_i[26],wbs_dat_i[25],wbs_dat_i[24],wbs_dat_i[23],wbs_dat_i[22],wbs_dat_i[21],wbs_dat_i[20],wbs_dat_i[19],wbs_dat_i[18],wbs_dat_i[17],wbs_dat_i[16],wbs_dat_i[15],wbs_dat_i[14],wbs_dat_i[13],wbs_dat_i[12],wbs_dat_i[11],wbs_dat_i[10],wbs_dat_i[9],wbs_dat_i[8],wbs_dat_i[7],wbs_dat_i[6],wbs_dat_i[5],wbs_dat_i[4],wbs_dat_i[3],wbs_dat_i[2],wbs_dat_i[1],wbs_dat_i[0]
-*.ipin
-*+ wbs_adr_i[31],wbs_adr_i[30],wbs_adr_i[29],wbs_adr_i[28],wbs_adr_i[27],wbs_adr_i[26],wbs_adr_i[25],wbs_adr_i[24],wbs_adr_i[23],wbs_adr_i[22],wbs_adr_i[21],wbs_adr_i[20],wbs_adr_i[19],wbs_adr_i[18],wbs_adr_i[17],wbs_adr_i[16],wbs_adr_i[15],wbs_adr_i[14],wbs_adr_i[13],wbs_adr_i[12],wbs_adr_i[11],wbs_adr_i[10],wbs_adr_i[9],wbs_adr_i[8],wbs_adr_i[7],wbs_adr_i[6],wbs_adr_i[5],wbs_adr_i[4],wbs_adr_i[3],wbs_adr_i[2],wbs_adr_i[1],wbs_adr_i[0]
-*.opin wbs_ack_o
-*.opin
-*+ wbs_dat_o[31],wbs_dat_o[30],wbs_dat_o[29],wbs_dat_o[28],wbs_dat_o[27],wbs_dat_o[26],wbs_dat_o[25],wbs_dat_o[24],wbs_dat_o[23],wbs_dat_o[22],wbs_dat_o[21],wbs_dat_o[20],wbs_dat_o[19],wbs_dat_o[18],wbs_dat_o[17],wbs_dat_o[16],wbs_dat_o[15],wbs_dat_o[14],wbs_dat_o[13],wbs_dat_o[12],wbs_dat_o[11],wbs_dat_o[10],wbs_dat_o[9],wbs_dat_o[8],wbs_dat_o[7],wbs_dat_o[6],wbs_dat_o[5],wbs_dat_o[4],wbs_dat_o[3],wbs_dat_o[2],wbs_dat_o[1],wbs_dat_o[0]
-*.ipin
-*+ la_data_in[127],la_data_in[126],la_data_in[125],la_data_in[124],la_data_in[123],la_data_in[122],la_data_in[121],la_data_in[120],la_data_in[119],la_data_in[118],la_data_in[117],la_data_in[116],la_data_in[115],la_data_in[114],la_data_in[113],la_data_in[112],la_data_in[111],la_data_in[110],la_data_in[109],la_data_in[108],la_data_in[107],la_data_in[106],la_data_in[105],la_data_in[104],la_data_in[103],la_data_in[102],la_data_in[101],la_data_in[100],la_data_in[99],la_data_in[98],la_data_in[97],la_data_in[96],la_data_in[95],la_data_in[94],la_data_in[93],la_data_in[92],la_data_in[91],la_data_in[90],la_data_in[89],la_data_in[88],la_data_in[87],la_data_in[86],la_data_in[85],la_data_in[84],la_data_in[83],la_data_in[82],la_data_in[81],la_data_in[80],la_data_in[79],la_data_in[78],la_data_in[77],la_data_in[76],la_data_in[75],la_data_in[74],la_data_in[73],la_data_in[72],la_data_in[71],la_data_in[70],la_data_in[69],la_data_in[68],la_data_in[67],la_data_in[66],la_data_in[65],la_data_in[64],la_data_in[63],la_data_in[62],la_data_in[61],la_data_in[60],la_data_in[59],la_data_in[58],la_data_in[57],la_data_in[56],la_data_in[55],la_data_in[54],la_data_in[53],la_data_in[52],la_data_in[51],la_data_in[50],la_data_in[49],la_data_in[48],la_data_in[47],la_data_in[46],la_data_in[45],la_data_in[44],la_data_in[43],la_data_in[42],la_data_in[41],la_data_in[40],la_data_in[39],la_data_in[38],la_data_in[37],la_data_in[36],la_data_in[35],la_data_in[34],la_data_in[33],la_data_in[32],la_data_in[31],la_data_in[30],la_data_in[29],la_data_in[28],la_data_in[27],la_data_in[26],la_data_in[25],la_data_in[24],la_data_in[23],la_data_in[22],la_data_in[21],la_data_in[20],la_data_in[19],la_data_in[18],la_data_in[17],la_data_in[16],la_data_in[15],la_data_in[14],la_data_in[13],la_data_in[12],la_data_in[11],la_data_in[10],la_data_in[9],la_data_in[8],la_data_in[7],la_data_in[6],la_data_in[5],la_data_in[4],la_data_in[3],la_data_in[2],la_data_in[1],la_data_in[0]
-*.opin
-*+ la_data_out[127],la_data_out[126],la_data_out[125],la_data_out[124],la_data_out[123],la_data_out[122],la_data_out[121],la_data_out[120],la_data_out[119],la_data_out[118],la_data_out[117],la_data_out[116],la_data_out[115],la_data_out[114],la_data_out[113],la_data_out[112],la_data_out[111],la_data_out[110],la_data_out[109],la_data_out[108],la_data_out[107],la_data_out[106],la_data_out[105],la_data_out[104],la_data_out[103],la_data_out[102],la_data_out[101],la_data_out[100],la_data_out[99],la_data_out[98],la_data_out[97],la_data_out[96],la_data_out[95],la_data_out[94],la_data_out[93],la_data_out[92],la_data_out[91],la_data_out[90],la_data_out[89],la_data_out[88],la_data_out[87],la_data_out[86],la_data_out[85],la_data_out[84],la_data_out[83],la_data_out[82],la_data_out[81],la_data_out[80],la_data_out[79],la_data_out[78],la_data_out[77],la_data_out[76],la_data_out[75],la_data_out[74],la_data_out[73],la_data_out[72],la_data_out[71],la_data_out[70],la_data_out[69],la_data_out[68],la_data_out[67],la_data_out[66],la_data_out[65],la_data_out[64],la_data_out[63],la_data_out[62],la_data_out[61],la_data_out[60],la_data_out[59],la_data_out[58],la_data_out[57],la_data_out[56],la_data_out[55],la_data_out[54],la_data_out[53],la_data_out[52],la_data_out[51],la_data_out[50],la_data_out[49],la_data_out[48],la_data_out[47],la_data_out[46],la_data_out[45],la_data_out[44],la_data_out[43],la_data_out[42],la_data_out[41],la_data_out[40],la_data_out[39],la_data_out[38],la_data_out[37],la_data_out[36],la_data_out[35],la_data_out[34],la_data_out[33],la_data_out[32],la_data_out[31],la_data_out[30],la_data_out[29],la_data_out[28],la_data_out[27],la_data_out[26],la_data_out[25],la_data_out[24],la_data_out[23],la_data_out[22],la_data_out[21],la_data_out[20],la_data_out[19],la_data_out[18],la_data_out[17],la_data_out[16],la_data_out[15],la_data_out[14],la_data_out[13],la_data_out[12],la_data_out[11],la_data_out[10],la_data_out[9],la_data_out[8],la_data_out[7],la_data_out[6],la_data_out[5],la_data_out[4],la_data_out[3],la_data_out[2],la_data_out[1],la_data_out[0]
-*.ipin
-*+ io_in[26],io_in[25],io_in[24],io_in[23],io_in[22],io_in[21],io_in[20],io_in[19],io_in[18],io_in[17],io_in[16],io_in[15],io_in[14],io_in[13],io_in[12],io_in[11],io_in[10],io_in[9],io_in[8],io_in[7],io_in[6],io_in[5],io_in[4],io_in[3],io_in[2],io_in[1],io_in[0]
-*.ipin
-*+ io_in_3v3[26],io_in_3v3[25],io_in_3v3[24],io_in_3v3[23],io_in_3v3[22],io_in_3v3[21],io_in_3v3[20],io_in_3v3[19],io_in_3v3[18],io_in_3v3[17],io_in_3v3[16],io_in_3v3[15],io_in_3v3[14],io_in_3v3[13],io_in_3v3[12],io_in_3v3[11],io_in_3v3[10],io_in_3v3[9],io_in_3v3[8],io_in_3v3[7],io_in_3v3[6],io_in_3v3[5],io_in_3v3[4],io_in_3v3[3],io_in_3v3[2],io_in_3v3[1],io_in_3v3[0]
-*.ipin user_clock2
-*.opin
-*+ io_out[26],io_out[25],io_out[24],io_out[23],io_out[22],io_out[21],io_out[20],io_out[19],io_out[18],io_out[17],io_out[16],io_out[15],io_out[14],io_out[13],io_out[12],io_out[11],io_out[10],io_out[9],io_out[8],io_out[7],io_out[6],io_out[5],io_out[4],io_out[3],io_out[2],io_out[1],io_out[0]
-*.opin
-*+ io_oeb[26],io_oeb[25],io_oeb[24],io_oeb[23],io_oeb[22],io_oeb[21],io_oeb[20],io_oeb[19],io_oeb[18],io_oeb[17],io_oeb[16],io_oeb[15],io_oeb[14],io_oeb[13],io_oeb[12],io_oeb[11],io_oeb[10],io_oeb[9],io_oeb[8],io_oeb[7],io_oeb[6],io_oeb[5],io_oeb[4],io_oeb[3],io_oeb[2],io_oeb[1],io_oeb[0]
-*.iopin
-*+ gpio_analog[17],gpio_analog[16],gpio_analog[15],gpio_analog[14],gpio_analog[13],gpio_analog[12],gpio_analog[11],gpio_analog[10],gpio_analog[9],gpio_analog[8],gpio_analog[7],gpio_analog[6],gpio_analog[5],gpio_analog[4],gpio_analog[3],gpio_analog[2],gpio_analog[1],gpio_analog[0]
-*.iopin
-*+ gpio_noesd[17],gpio_noesd[16],gpio_noesd[15],gpio_noesd[14],gpio_noesd[13],gpio_noesd[12],gpio_noesd[11],gpio_noesd[10],gpio_noesd[9],gpio_noesd[8],gpio_noesd[7],gpio_noesd[6],gpio_noesd[5],gpio_noesd[4],gpio_noesd[3],gpio_noesd[2],gpio_noesd[1],gpio_noesd[0]
-*.iopin
-*+ io_analog[10],io_analog[9],io_analog[8],io_analog[7],io_analog[6],io_analog[5],io_analog[4],io_analog[3],io_analog[2],io_analog[1],io_analog[0]
-*.iopin io_clamp_high[2],io_clamp_high[1],io_clamp_high[0]
-*.iopin io_clamp_low[2],io_clamp_low[1],io_clamp_low[0]
-*.opin user_irq[2],user_irq[1],user_irq[0]
-*.ipin
-*+ la_oenb[127],la_oenb[126],la_oenb[125],la_oenb[124],la_oenb[123],la_oenb[122],la_oenb[121],la_oenb[120],la_oenb[119],la_oenb[118],la_oenb[117],la_oenb[116],la_oenb[115],la_oenb[114],la_oenb[113],la_oenb[112],la_oenb[111],la_oenb[110],la_oenb[109],la_oenb[108],la_oenb[107],la_oenb[106],la_oenb[105],la_oenb[104],la_oenb[103],la_oenb[102],la_oenb[101],la_oenb[100],la_oenb[99],la_oenb[98],la_oenb[97],la_oenb[96],la_oenb[95],la_oenb[94],la_oenb[93],la_oenb[92],la_oenb[91],la_oenb[90],la_oenb[89],la_oenb[88],la_oenb[87],la_oenb[86],la_oenb[85],la_oenb[84],la_oenb[83],la_oenb[82],la_oenb[81],la_oenb[80],la_oenb[79],la_oenb[78],la_oenb[77],la_oenb[76],la_oenb[75],la_oenb[74],la_oenb[73],la_oenb[72],la_oenb[71],la_oenb[70],la_oenb[69],la_oenb[68],la_oenb[67],la_oenb[66],la_oenb[65],la_oenb[64],la_oenb[63],la_oenb[62],la_oenb[61],la_oenb[60],la_oenb[59],la_oenb[58],la_oenb[57],la_oenb[56],la_oenb[55],la_oenb[54],la_oenb[53],la_oenb[52],la_oenb[51],la_oenb[50],la_oenb[49],la_oenb[48],la_oenb[47],la_oenb[46],la_oenb[45],la_oenb[44],la_oenb[43],la_oenb[42],la_oenb[41],la_oenb[40],la_oenb[39],la_oenb[38],la_oenb[37],la_oenb[36],la_oenb[35],la_oenb[34],la_oenb[33],la_oenb[32],la_oenb[31],la_oenb[30],la_oenb[29],la_oenb[28],la_oenb[27],la_oenb[26],la_oenb[25],la_oenb[24],la_oenb[23],la_oenb[22],la_oenb[21],la_oenb[20],la_oenb[19],la_oenb[18],la_oenb[17],la_oenb[16],la_oenb[15],la_oenb[14],la_oenb[13],la_oenb[12],la_oenb[11],la_oenb[10],la_oenb[9],la_oenb[8],la_oenb[7],la_oenb[6],la_oenb[5],la_oenb[4],la_oenb[3],la_oenb[2],la_oenb[1],la_oenb[0]
-x1 vdda1 vccd1 gpio_analog[3] io_out[11] io_out[12] vssa1 example_por
-x2 io_analog[4] vccd1 gpio_analog[7] io_out[15] io_out[16] vssa1 example_por
-**.ends
-
-* expanding   symbol:  example_por.sym # of pins=6
-* sym_path: /home/tim/gits/caravel_user_project_analog/xschem/example_por.sym
-* sch_path: /home/tim/gits/caravel_user_project_analog/xschem/example_por.sch
-.subckt example_por  vdd3v3 vdd1v8 porb_h porb_l por_l vss
-*.iopin vdd3v3
-*.iopin vss
-*.opin porb_h
-*.opin porb_l
-*.opin por_l
-*.iopin vdd1v8
-XC1 net9 vss sky130_fd_pr__cap_mim_m3_1 W=30 L=30 MF=1 m=1
-XC2 vss net9 sky130_fd_pr__cap_mim_m3_2 W=30 L=30 MF=1 m=1
-XM1 net3 net7 net5 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM2 net2 net3 vss vss sky130_fd_pr__nfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1 
-XR1 net4 vdd3v3 vss sky130_fd_pr__res_xhigh_po_0p69 W=0.69 L=500 mult=1 m=1
-XM4 net5 net6 vdd3v3 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM5 net3 net3 vss vss sky130_fd_pr__nfet_g5v0d10v5 L=0.8 W=14 nf=7 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1 
-XR2 vss net4 vss sky130_fd_pr__res_xhigh_po_0p69 W=0.69 L=150 mult=1 m=1
-XM7 net2 net2 net1 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM8 net1 net1 vdd3v3 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=14 nf=7 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM10 net7 net4 vss vss sky130_fd_pr__nfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
-+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
-+ sa=0 sb=0 sd=0 mult=1 m=1 
-XM9 net7 net7 net6 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM11 net6 net6 vdd3v3 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=16 nf=8 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM12 net8 net1 vdd3v3 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XM13 net9 net2 net8 vdd3v3 sky130_fd_pr__pfet_g5v0d10v5 L=0.8 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
-+ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
-+ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 
-XR3 vss vss vss sky130_fd_pr__res_xhigh_po_0p69 W=0.69 L=25 mult=2 m=2
-x2 net10 vss vss vdd3v3 vdd3v3 porb_h sky130_fd_sc_hvl__buf_8
-x3 net10 vss vss vdd1v8 vdd1v8 porb_l sky130_fd_sc_hvl__buf_8
-x4 net10 vss vss vdd1v8 vdd1v8 por_l sky130_fd_sc_hvl__inv_8
-x5 net9 vss vss vdd3v3 vdd3v3 net10 sky130_fd_sc_hvl__schmittbuf_1
-.ends
-
-** flattened .save nodes
-.end
diff --git a/xschem/user_analog_project_wrapper.sym b/xschem/user_analog_project_wrapper.sym
deleted file mode 100644
index a561ba9..0000000
--- a/xschem/user_analog_project_wrapper.sym
+++ /dev/null
@@ -1,111 +0,0 @@
-v {xschem version=2.9.9 file_version=1.2 }
-G {}
-K {type=subcircuit
-format="@name @pinlist @symname"
-template="name=x1"
-}
-V {}
-S {}
-E {}
-L 4 -130 -190 130 -190 {}
-L 4 -130 190 130 190 {}
-L 4 -130 -190 -130 190 {}
-L 4 130 -190 130 190 {}
-L 4 -150 -180 -130 -180 {}
-L 4 -150 -160 -130 -160 {}
-L 4 -150 -140 -130 -140 {}
-L 4 -150 -120 -130 -120 {}
-L 4 -150 -100 -130 -100 {}
-L 4 -150 -80 -130 -80 {}
-L 4 -150 -60 -130 -60 {}
-L 4 -150 -40 -130 -40 {}
-L 4 130 -20 150 -20 {}
-L 4 130 0 150 0 {}
-L 4 -150 -20 -130 -20 {}
-L 4 130 20 150 20 {}
-L 4 -150 0 -130 0 {}
-L 4 -150 20 -130 20 {}
-L 4 -150 40 -130 40 {}
-L 4 130 40 150 40 {}
-L 4 130 60 150 60 {}
-L 4 -150 60 -130 60 {}
-L 4 130 180 150 180 {}
-L 7 130 -180 150 -180 {}
-L 7 130 -160 150 -160 {}
-L 7 130 -140 150 -140 {}
-L 7 130 -120 150 -120 {}
-L 7 130 -100 150 -100 {}
-L 7 130 -80 150 -80 {}
-L 7 130 -60 150 -60 {}
-L 7 130 -40 150 -40 {}
-L 7 130 80 150 80 {}
-L 7 130 100 150 100 {}
-L 7 130 120 150 120 {}
-L 7 130 140 150 140 {}
-L 7 130 160 150 160 {}
-B 5 147.5 -182.5 152.5 -177.5 {name=vdda1 dir=inout }
-B 5 147.5 -162.5 152.5 -157.5 {name=vdda2 dir=inout }
-B 5 147.5 -142.5 152.5 -137.5 {name=vssa1 dir=inout }
-B 5 147.5 -122.5 152.5 -117.5 {name=vssa2 dir=inout }
-B 5 147.5 -102.5 152.5 -97.5 {name=vccd1 dir=inout }
-B 5 147.5 -82.5 152.5 -77.5 {name=vccd2 dir=inout }
-B 5 147.5 -62.5 152.5 -57.5 {name=vssd1 dir=inout }
-B 5 147.5 -42.5 152.5 -37.5 {name=vssd2 dir=inout }
-B 5 -152.5 -182.5 -147.5 -177.5 {name=wb_clk_i dir=in }
-B 5 -152.5 -162.5 -147.5 -157.5 {name=wb_rst_i dir=in }
-B 5 -152.5 -142.5 -147.5 -137.5 {name=wbs_stb_i dir=in }
-B 5 -152.5 -122.5 -147.5 -117.5 {name=wbs_cyc_i dir=in }
-B 5 -152.5 -102.5 -147.5 -97.5 {name=wbs_we_i dir=in }
-B 5 -152.5 -82.5 -147.5 -77.5 {name=wbs_sel_i[3:0] dir=in }
-B 5 -152.5 -62.5 -147.5 -57.5 {name=wbs_dat_i[31:0] dir=in }
-B 5 -152.5 -42.5 -147.5 -37.5 {name=wbs_adr_i[31:0] dir=in }
-B 5 147.5 -22.5 152.5 -17.5 {name=wbs_ack_o dir=out }
-B 5 147.5 -2.5 152.5 2.5 {name=wbs_dat_o[31:0] dir=out }
-B 5 -152.5 -22.5 -147.5 -17.5 {name=la_data_in[127:0] dir=in }
-B 5 147.5 17.5 152.5 22.5 {name=la_data_out[127:0] dir=out }
-B 5 -152.5 -2.5 -147.5 2.5 {name=la_oenb[127:0] dir=in }
-B 5 -152.5 17.5 -147.5 22.5 {name=io_in[26:0] dir=in }
-B 5 -152.5 37.5 -147.5 42.5 {name=io_in_3v3[26:0] dir=in }
-B 5 147.5 37.5 152.5 42.5 {name=io_out[26:0] dir=out }
-B 5 147.5 57.5 152.5 62.5 {name=io_oeb[26:0] dir=out }
-B 5 147.5 77.5 152.5 82.5 {name=gpio_analog[17:0] dir=inout }
-B 5 147.5 97.5 152.5 102.5 {name=gpio_noesd[17:0] dir=inout }
-B 5 147.5 117.5 152.5 122.5 {name=io_analog[10:0] dir=inout }
-B 5 147.5 137.5 152.5 142.5 {name=io_clamp_high[2:0] dir=inout }
-B 5 147.5 157.5 152.5 162.5 {name=io_clamp_low[2:0] dir=inout }
-B 5 -152.5 57.5 -147.5 62.5 {name=user_clock2 dir=in }
-B 5 147.5 177.5 152.5 182.5 {name=user_irq[2:0] dir=out }
-T {@symname} -119.5 114 0 0 0.3 0.3 {}
-T {@name} 135 -202 0 0 0.2 0.2 {}
-T {vdda1} 125 -184 0 1 0.2 0.2 {}
-T {vdda2} 125 -164 0 1 0.2 0.2 {}
-T {vssa1} 125 -144 0 1 0.2 0.2 {}
-T {vssa2} 125 -124 0 1 0.2 0.2 {}
-T {vccd1} 125 -104 0 1 0.2 0.2 {}
-T {vccd2} 125 -84 0 1 0.2 0.2 {}
-T {vssd1} 125 -64 0 1 0.2 0.2 {}
-T {vssd2} 125 -44 0 1 0.2 0.2 {}
-T {wb_clk_i} -125 -184 0 0 0.2 0.2 {}
-T {wb_rst_i} -125 -164 0 0 0.2 0.2 {}
-T {wbs_stb_i} -125 -144 0 0 0.2 0.2 {}
-T {wbs_cyc_i} -125 -124 0 0 0.2 0.2 {}
-T {wbs_we_i} -125 -104 0 0 0.2 0.2 {}
-T {wbs_sel_i[3:0]} -125 -84 0 0 0.2 0.2 {}
-T {wbs_dat_i[31:0]} -125 -64 0 0 0.2 0.2 {}
-T {wbs_adr_i[31:0]} -125 -44 0 0 0.2 0.2 {}
-T {wbs_ack_o} 125 -24 0 1 0.2 0.2 {}
-T {wbs_dat_o[31:0]} 125 -4 0 1 0.2 0.2 {}
-T {la_data_in[127:0]} -125 -24 0 0 0.2 0.2 {}
-T {la_data_out[127:0]} 125 16 0 1 0.2 0.2 {}
-T {la_oenb[127:0]} -125 -4 0 0 0.2 0.2 {}
-T {io_in[26:0]} -125 16 0 0 0.2 0.2 {}
-T {io_in_3v3[26:0]} -125 36 0 0 0.2 0.2 {}
-T {io_out[26:0]} 125 36 0 1 0.2 0.2 {}
-T {io_oeb[26:0]} 125 56 0 1 0.2 0.2 {}
-T {gpio_analog[17:0]} 125 76 0 1 0.2 0.2 {}
-T {gpio_noesd[17:0]} 125 96 0 1 0.2 0.2 {}
-T {io_analog[10:0]} 125 116 0 1 0.2 0.2 {}
-T {io_clamp_high[2:0]} 125 136 0 1 0.2 0.2 {}
-T {io_clamp_low[2:0]} 125 156 0 1 0.2 0.2 {}
-T {user_clock2} -125 56 0 0 0.2 0.2 {}
-T {user_irq[2:0]} 125 176 0 1 0.2 0.2 {}