diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..9d13cf0
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,18 @@
+# Misc files
+*~
+
+# Python files
+*.pyc
+__pycache__
+
+# Virtuoso files
+*.cdslck
+*.cdslck.*
+
+# Pycharm related files
+.idea/workspace.xml
+.idea/usage.statistics.xml
+.idea/tasks.xml
+
+# Jupyter files
+.ipynb_checkpoints
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..707d445
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright 2019-2021 SkyWater PDK Authors
+
+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.
+
+This code is *alternatively* available under a BSD-3-Clause license, see
+details in the README.md at the top level and the license text at
+https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+
+SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+-->
+<component name="InspectionProjectProfileManager">
+  <settings>
+    <option name="USE_PROJECT_PROFILE" value="false" />
+    <version value="1.0" />
+  </settings>
+</component>
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..b44661b
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright 2019-2021 SkyWater PDK Authors
+
+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.
+
+This code is *alternatively* available under a BSD-3-Clause license, see
+details in the README.md at the top level and the license text at
+https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+
+SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+-->
+<project version="4">
+  <component name="PreferredVcsStorage">
+    <preferredVcsName>ApexVCS</preferredVcsName>
+  </component>
+  <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.7" project-jdk-type="Python SDK" />
+</project>
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..d593e71
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright 2019-2021 SkyWater PDK Authors
+
+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.
+
+This code is *alternatively* available under a BSD-3-Clause license, see
+details in the README.md at the top level and the license text at
+https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+
+SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+-->
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/skywater130.iml" filepath="$PROJECT_DIR$/.idea/skywater130.iml" />
+    </modules>
+  </component>
+</project>
diff --git a/.idea/skywater130.iml b/.idea/skywater130.iml
new file mode 100644
index 0000000..c646a1f
--- /dev/null
+++ b/.idea/skywater130.iml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright 2019-2021 SkyWater PDK Authors
+
+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.
+
+This code is *alternatively* available under a BSD-3-Clause license, see
+details in the README.md at the top level and the license text at
+https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+
+SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+-->
+<module type="PYTHON_MODULE" version="4">
+  <component name="NewModuleRootManager">
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="module" module-name="xbase" />
+    <orderEntry type="module" module-name="BAG_framework" />
+  </component>
+</module>
diff --git a/OA/BAG_prim/.oalib b/OA/BAG_prim/.oalib
new file mode 100644
index 0000000..0859910
--- /dev/null
+++ b/OA/BAG_prim/.oalib
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright 2019-2021 SkyWater PDK Authors
+
+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.
+
+This code is *alternatively* available under a BSD-3-Clause license, see
+details in the README.md at the top level and the license text at
+https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+
+SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+-->
+<Library DMSystem="oaDMFileSys">
+    <oaDMFileSys libReadOnly="No"
+                 origFileSystem="Unix"/>
+</Library>
diff --git a/OA/BAG_prim/cdsinfo.tag b/OA/BAG_prim/cdsinfo.tag
new file mode 100644
index 0000000..4b46185
--- /dev/null
+++ b/OA/BAG_prim/cdsinfo.tag
@@ -0,0 +1,51 @@
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+#
+# CDSLIBRARY entry - add this entry if the directory containing
+# this cdsinfo.tag file is the root of a Cadence library.
+# CDSLIBRARY
+#
+# CDSLIBCHECK - set this entry to require that libraries have
+# a cdsinfo.tag file with a CDSLIBRARY entry. Legal values are
+# ON and OFF. By default (OFF), directories named in a cds.lib file
+# do not have to have a cdsinfo.tag file with a CDSLIBRARY entry.
+# CDSLIBCHECK ON
+#
+# DMTYPE - set this entry to define the DM system for Cadence's
+# Generic DM facility. Values will be shifted to lower case.
+# DMTYPE none
+# DMTYPE crcs
+# DMTYPE tdm
+# DMTYPE sync
+#
+# NAMESPACE - set this entry to define the library namespace according
+# to the type of machine on which the data is stored. Legal values are
+# `LibraryNT' and
+# `LibraryUnix'.
+# NAMESPACE LibraryUnix
+#
+# Other entries may be added for use by specific applications as
+# name-value pairs. Application documentation will describe the
+# use and behaviour of these entries when appropriate.
+#
+# Current Settings:
+CDSLIBRARY
+DMTYPE none
+NAMESPACE LibraryUnix
diff --git a/OA/BAG_prim/data.dm b/OA/BAG_prim/data.dm
new file mode 100644
index 0000000..a066651
--- /dev/null
+++ b/OA/BAG_prim/data.dm
Binary files differ
diff --git a/OA/BAG_prim/nmos4_hv/data.dm b/OA/BAG_prim/nmos4_hv/data.dm
new file mode 100644
index 0000000..32bc7f6
--- /dev/null
+++ b/OA/BAG_prim/nmos4_hv/data.dm
Binary files differ
diff --git a/OA/BAG_prim/nmos4_hv/schematic/data.dm b/OA/BAG_prim/nmos4_hv/schematic/data.dm
new file mode 100644
index 0000000..1a705a2
--- /dev/null
+++ b/OA/BAG_prim/nmos4_hv/schematic/data.dm
Binary files differ
diff --git a/OA/BAG_prim/nmos4_hv/schematic/master.tag b/OA/BAG_prim/nmos4_hv/schematic/master.tag
new file mode 100644
index 0000000..26be1be
--- /dev/null
+++ b/OA/BAG_prim/nmos4_hv/schematic/master.tag
@@ -0,0 +1,2 @@
+-- Master.tag File, Rev:1.0
+sch.oa
diff --git a/OA/BAG_prim/nmos4_hv/schematic/sch.oa b/OA/BAG_prim/nmos4_hv/schematic/sch.oa
new file mode 100644
index 0000000..8d2ef72
--- /dev/null
+++ b/OA/BAG_prim/nmos4_hv/schematic/sch.oa
Binary files differ
diff --git a/OA/BAG_prim/nmos4_hv/schematic/thumbnail_128x128.png b/OA/BAG_prim/nmos4_hv/schematic/thumbnail_128x128.png
new file mode 100644
index 0000000..601157b
--- /dev/null
+++ b/OA/BAG_prim/nmos4_hv/schematic/thumbnail_128x128.png
Binary files differ
diff --git a/OA/BAG_prim/nmos4_hv/symbol/master.tag b/OA/BAG_prim/nmos4_hv/symbol/master.tag
new file mode 100644
index 0000000..e1024da
--- /dev/null
+++ b/OA/BAG_prim/nmos4_hv/symbol/master.tag
@@ -0,0 +1,2 @@
+-- Master.tag File, Rev:1.0
+symbol.oa
diff --git a/OA/BAG_prim/nmos4_hv/symbol/symbol.oa b/OA/BAG_prim/nmos4_hv/symbol/symbol.oa
new file mode 100644
index 0000000..e563cd9
--- /dev/null
+++ b/OA/BAG_prim/nmos4_hv/symbol/symbol.oa
Binary files differ
diff --git a/OA/BAG_prim/nmos4_hv/symbol/thumbnail_128x128.png b/OA/BAG_prim/nmos4_hv/symbol/thumbnail_128x128.png
new file mode 100644
index 0000000..8cb67e4
--- /dev/null
+++ b/OA/BAG_prim/nmos4_hv/symbol/thumbnail_128x128.png
Binary files differ
diff --git a/OA/BAG_prim/nmos4_hvesd/data.dm b/OA/BAG_prim/nmos4_hvesd/data.dm
new file mode 100644
index 0000000..bdfd88e
--- /dev/null
+++ b/OA/BAG_prim/nmos4_hvesd/data.dm
Binary files differ
diff --git a/OA/BAG_prim/nmos4_hvesd/schematic/data.dm b/OA/BAG_prim/nmos4_hvesd/schematic/data.dm
new file mode 100644
index 0000000..1a705a2
--- /dev/null
+++ b/OA/BAG_prim/nmos4_hvesd/schematic/data.dm
Binary files differ
diff --git a/OA/BAG_prim/nmos4_hvesd/schematic/master.tag b/OA/BAG_prim/nmos4_hvesd/schematic/master.tag
new file mode 100644
index 0000000..26be1be
--- /dev/null
+++ b/OA/BAG_prim/nmos4_hvesd/schematic/master.tag
@@ -0,0 +1,2 @@
+-- Master.tag File, Rev:1.0
+sch.oa
diff --git a/OA/BAG_prim/nmos4_hvesd/schematic/sch.oa b/OA/BAG_prim/nmos4_hvesd/schematic/sch.oa
new file mode 100644
index 0000000..30855d6
--- /dev/null
+++ b/OA/BAG_prim/nmos4_hvesd/schematic/sch.oa
Binary files differ
diff --git a/OA/BAG_prim/nmos4_hvesd/schematic/thumbnail_128x128.png b/OA/BAG_prim/nmos4_hvesd/schematic/thumbnail_128x128.png
new file mode 100644
index 0000000..591c6b8
--- /dev/null
+++ b/OA/BAG_prim/nmos4_hvesd/schematic/thumbnail_128x128.png
Binary files differ
diff --git a/OA/BAG_prim/nmos4_hvesd/symbol/master.tag b/OA/BAG_prim/nmos4_hvesd/symbol/master.tag
new file mode 100644
index 0000000..e1024da
--- /dev/null
+++ b/OA/BAG_prim/nmos4_hvesd/symbol/master.tag
@@ -0,0 +1,2 @@
+-- Master.tag File, Rev:1.0
+symbol.oa
diff --git a/OA/BAG_prim/nmos4_hvesd/symbol/symbol.oa b/OA/BAG_prim/nmos4_hvesd/symbol/symbol.oa
new file mode 100644
index 0000000..9ca4adf
--- /dev/null
+++ b/OA/BAG_prim/nmos4_hvesd/symbol/symbol.oa
Binary files differ
diff --git a/OA/BAG_prim/nmos4_hvesd/symbol/thumbnail_128x128.png b/OA/BAG_prim/nmos4_hvesd/symbol/thumbnail_128x128.png
new file mode 100644
index 0000000..8cb67e4
--- /dev/null
+++ b/OA/BAG_prim/nmos4_hvesd/symbol/thumbnail_128x128.png
Binary files differ
diff --git a/OA/BAG_prim/nmos4_lvt/data.dm b/OA/BAG_prim/nmos4_lvt/data.dm
new file mode 100644
index 0000000..d5a9d01
--- /dev/null
+++ b/OA/BAG_prim/nmos4_lvt/data.dm
Binary files differ
diff --git a/OA/BAG_prim/nmos4_lvt/schematic/data.dm b/OA/BAG_prim/nmos4_lvt/schematic/data.dm
new file mode 100644
index 0000000..1a705a2
--- /dev/null
+++ b/OA/BAG_prim/nmos4_lvt/schematic/data.dm
Binary files differ
diff --git a/OA/BAG_prim/nmos4_lvt/schematic/master.tag b/OA/BAG_prim/nmos4_lvt/schematic/master.tag
new file mode 100644
index 0000000..26be1be
--- /dev/null
+++ b/OA/BAG_prim/nmos4_lvt/schematic/master.tag
@@ -0,0 +1,2 @@
+-- Master.tag File, Rev:1.0
+sch.oa
diff --git a/OA/BAG_prim/nmos4_lvt/schematic/sch.oa b/OA/BAG_prim/nmos4_lvt/schematic/sch.oa
new file mode 100644
index 0000000..3889907
--- /dev/null
+++ b/OA/BAG_prim/nmos4_lvt/schematic/sch.oa
Binary files differ
diff --git a/OA/BAG_prim/nmos4_lvt/schematic/thumbnail_128x128.png b/OA/BAG_prim/nmos4_lvt/schematic/thumbnail_128x128.png
new file mode 100644
index 0000000..ee192cb
--- /dev/null
+++ b/OA/BAG_prim/nmos4_lvt/schematic/thumbnail_128x128.png
Binary files differ
diff --git a/OA/BAG_prim/nmos4_lvt/symbol/master.tag b/OA/BAG_prim/nmos4_lvt/symbol/master.tag
new file mode 100644
index 0000000..e1024da
--- /dev/null
+++ b/OA/BAG_prim/nmos4_lvt/symbol/master.tag
@@ -0,0 +1,2 @@
+-- Master.tag File, Rev:1.0
+symbol.oa
diff --git a/OA/BAG_prim/nmos4_lvt/symbol/symbol.oa b/OA/BAG_prim/nmos4_lvt/symbol/symbol.oa
new file mode 100644
index 0000000..271e046
--- /dev/null
+++ b/OA/BAG_prim/nmos4_lvt/symbol/symbol.oa
Binary files differ
diff --git a/OA/BAG_prim/nmos4_lvt/symbol/thumbnail_128x128.png b/OA/BAG_prim/nmos4_lvt/symbol/thumbnail_128x128.png
new file mode 100644
index 0000000..8cb67e4
--- /dev/null
+++ b/OA/BAG_prim/nmos4_lvt/symbol/thumbnail_128x128.png
Binary files differ
diff --git a/OA/BAG_prim/nmos4_standard/data.dm b/OA/BAG_prim/nmos4_standard/data.dm
new file mode 100644
index 0000000..7773b27
--- /dev/null
+++ b/OA/BAG_prim/nmos4_standard/data.dm
Binary files differ
diff --git a/OA/BAG_prim/nmos4_standard/schematic/data.dm b/OA/BAG_prim/nmos4_standard/schematic/data.dm
new file mode 100644
index 0000000..1a705a2
--- /dev/null
+++ b/OA/BAG_prim/nmos4_standard/schematic/data.dm
Binary files differ
diff --git a/OA/BAG_prim/nmos4_standard/schematic/master.tag b/OA/BAG_prim/nmos4_standard/schematic/master.tag
new file mode 100644
index 0000000..26be1be
--- /dev/null
+++ b/OA/BAG_prim/nmos4_standard/schematic/master.tag
@@ -0,0 +1,2 @@
+-- Master.tag File, Rev:1.0
+sch.oa
diff --git a/OA/BAG_prim/nmos4_standard/schematic/sch.oa b/OA/BAG_prim/nmos4_standard/schematic/sch.oa
new file mode 100644
index 0000000..59f9bb6
--- /dev/null
+++ b/OA/BAG_prim/nmos4_standard/schematic/sch.oa
Binary files differ
diff --git a/OA/BAG_prim/nmos4_standard/schematic/thumbnail_128x128.png b/OA/BAG_prim/nmos4_standard/schematic/thumbnail_128x128.png
new file mode 100644
index 0000000..ee192cb
--- /dev/null
+++ b/OA/BAG_prim/nmos4_standard/schematic/thumbnail_128x128.png
Binary files differ
diff --git a/OA/BAG_prim/nmos4_standard/symbol/master.tag b/OA/BAG_prim/nmos4_standard/symbol/master.tag
new file mode 100644
index 0000000..e1024da
--- /dev/null
+++ b/OA/BAG_prim/nmos4_standard/symbol/master.tag
@@ -0,0 +1,2 @@
+-- Master.tag File, Rev:1.0
+symbol.oa
diff --git a/OA/BAG_prim/nmos4_standard/symbol/symbol.oa b/OA/BAG_prim/nmos4_standard/symbol/symbol.oa
new file mode 100644
index 0000000..38063ef
--- /dev/null
+++ b/OA/BAG_prim/nmos4_standard/symbol/symbol.oa
Binary files differ
diff --git a/OA/BAG_prim/nmos4_standard/symbol/thumbnail_128x128.png b/OA/BAG_prim/nmos4_standard/symbol/thumbnail_128x128.png
new file mode 100644
index 0000000..8cb67e4
--- /dev/null
+++ b/OA/BAG_prim/nmos4_standard/symbol/thumbnail_128x128.png
Binary files differ
diff --git a/OA/BAG_prim/nmos4_svt/data.dm b/OA/BAG_prim/nmos4_svt/data.dm
new file mode 100644
index 0000000..4244604
--- /dev/null
+++ b/OA/BAG_prim/nmos4_svt/data.dm
Binary files differ
diff --git a/OA/BAG_prim/nmos4_svt/schematic/data.dm b/OA/BAG_prim/nmos4_svt/schematic/data.dm
new file mode 100644
index 0000000..1a705a2
--- /dev/null
+++ b/OA/BAG_prim/nmos4_svt/schematic/data.dm
Binary files differ
diff --git a/OA/BAG_prim/nmos4_svt/schematic/master.tag b/OA/BAG_prim/nmos4_svt/schematic/master.tag
new file mode 100644
index 0000000..26be1be
--- /dev/null
+++ b/OA/BAG_prim/nmos4_svt/schematic/master.tag
@@ -0,0 +1,2 @@
+-- Master.tag File, Rev:1.0
+sch.oa
diff --git a/OA/BAG_prim/nmos4_svt/schematic/sch.oa b/OA/BAG_prim/nmos4_svt/schematic/sch.oa
new file mode 100644
index 0000000..e3474a2
--- /dev/null
+++ b/OA/BAG_prim/nmos4_svt/schematic/sch.oa
Binary files differ
diff --git a/OA/BAG_prim/nmos4_svt/schematic/thumbnail_128x128.png b/OA/BAG_prim/nmos4_svt/schematic/thumbnail_128x128.png
new file mode 100644
index 0000000..ee192cb
--- /dev/null
+++ b/OA/BAG_prim/nmos4_svt/schematic/thumbnail_128x128.png
Binary files differ
diff --git a/OA/BAG_prim/nmos4_svt/symbol/master.tag b/OA/BAG_prim/nmos4_svt/symbol/master.tag
new file mode 100644
index 0000000..e1024da
--- /dev/null
+++ b/OA/BAG_prim/nmos4_svt/symbol/master.tag
@@ -0,0 +1,2 @@
+-- Master.tag File, Rev:1.0
+symbol.oa
diff --git a/OA/BAG_prim/nmos4_svt/symbol/symbol.oa b/OA/BAG_prim/nmos4_svt/symbol/symbol.oa
new file mode 100644
index 0000000..fcd2ad0
--- /dev/null
+++ b/OA/BAG_prim/nmos4_svt/symbol/symbol.oa
Binary files differ
diff --git a/OA/BAG_prim/nmos4_svt/symbol/thumbnail_128x128.png b/OA/BAG_prim/nmos4_svt/symbol/thumbnail_128x128.png
new file mode 100644
index 0000000..8cb67e4
--- /dev/null
+++ b/OA/BAG_prim/nmos4_svt/symbol/thumbnail_128x128.png
Binary files differ
diff --git a/OA/BAG_prim/pmos4_hv/data.dm b/OA/BAG_prim/pmos4_hv/data.dm
new file mode 100644
index 0000000..80ab9ed
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hv/data.dm
Binary files differ
diff --git a/OA/BAG_prim/pmos4_hv/schematic/data.dm b/OA/BAG_prim/pmos4_hv/schematic/data.dm
new file mode 100644
index 0000000..cc4f188
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hv/schematic/data.dm
Binary files differ
diff --git a/OA/BAG_prim/pmos4_hv/schematic/master.tag b/OA/BAG_prim/pmos4_hv/schematic/master.tag
new file mode 100644
index 0000000..26be1be
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hv/schematic/master.tag
@@ -0,0 +1,2 @@
+-- Master.tag File, Rev:1.0
+sch.oa
diff --git a/OA/BAG_prim/pmos4_hv/schematic/sch.oa b/OA/BAG_prim/pmos4_hv/schematic/sch.oa
new file mode 100644
index 0000000..1207302
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hv/schematic/sch.oa
Binary files differ
diff --git a/OA/BAG_prim/pmos4_hv/schematic/thumbnail_128x128.png b/OA/BAG_prim/pmos4_hv/schematic/thumbnail_128x128.png
new file mode 100644
index 0000000..c04b5b1
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hv/schematic/thumbnail_128x128.png
Binary files differ
diff --git a/OA/BAG_prim/pmos4_hv/symbol/master.tag b/OA/BAG_prim/pmos4_hv/symbol/master.tag
new file mode 100644
index 0000000..e1024da
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hv/symbol/master.tag
@@ -0,0 +1,2 @@
+-- Master.tag File, Rev:1.0
+symbol.oa
diff --git a/OA/BAG_prim/pmos4_hv/symbol/symbol.oa b/OA/BAG_prim/pmos4_hv/symbol/symbol.oa
new file mode 100644
index 0000000..a234b3e
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hv/symbol/symbol.oa
Binary files differ
diff --git a/OA/BAG_prim/pmos4_hv/symbol/thumbnail_128x128.png b/OA/BAG_prim/pmos4_hv/symbol/thumbnail_128x128.png
new file mode 100644
index 0000000..2a160dc
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hv/symbol/thumbnail_128x128.png
Binary files differ
diff --git a/OA/BAG_prim/pmos4_hvesd/data.dm b/OA/BAG_prim/pmos4_hvesd/data.dm
new file mode 100644
index 0000000..60da08b
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hvesd/data.dm
Binary files differ
diff --git a/OA/BAG_prim/pmos4_hvesd/schematic/data.dm b/OA/BAG_prim/pmos4_hvesd/schematic/data.dm
new file mode 100644
index 0000000..cc4f188
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hvesd/schematic/data.dm
Binary files differ
diff --git a/OA/BAG_prim/pmos4_hvesd/schematic/master.tag b/OA/BAG_prim/pmos4_hvesd/schematic/master.tag
new file mode 100644
index 0000000..26be1be
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hvesd/schematic/master.tag
@@ -0,0 +1,2 @@
+-- Master.tag File, Rev:1.0
+sch.oa
diff --git a/OA/BAG_prim/pmos4_hvesd/schematic/sch.oa b/OA/BAG_prim/pmos4_hvesd/schematic/sch.oa
new file mode 100644
index 0000000..adc29aa
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hvesd/schematic/sch.oa
Binary files differ
diff --git a/OA/BAG_prim/pmos4_hvesd/schematic/thumbnail_128x128.png b/OA/BAG_prim/pmos4_hvesd/schematic/thumbnail_128x128.png
new file mode 100644
index 0000000..2058778
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hvesd/schematic/thumbnail_128x128.png
Binary files differ
diff --git a/OA/BAG_prim/pmos4_hvesd/symbol/master.tag b/OA/BAG_prim/pmos4_hvesd/symbol/master.tag
new file mode 100644
index 0000000..e1024da
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hvesd/symbol/master.tag
@@ -0,0 +1,2 @@
+-- Master.tag File, Rev:1.0
+symbol.oa
diff --git a/OA/BAG_prim/pmos4_hvesd/symbol/symbol.oa b/OA/BAG_prim/pmos4_hvesd/symbol/symbol.oa
new file mode 100644
index 0000000..f4c357f
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hvesd/symbol/symbol.oa
Binary files differ
diff --git a/OA/BAG_prim/pmos4_hvesd/symbol/thumbnail_128x128.png b/OA/BAG_prim/pmos4_hvesd/symbol/thumbnail_128x128.png
new file mode 100644
index 0000000..2a160dc
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hvesd/symbol/thumbnail_128x128.png
Binary files differ
diff --git a/OA/BAG_prim/pmos4_hvt/data.dm b/OA/BAG_prim/pmos4_hvt/data.dm
new file mode 100644
index 0000000..1620b20
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hvt/data.dm
Binary files differ
diff --git a/OA/BAG_prim/pmos4_hvt/schematic/data.dm b/OA/BAG_prim/pmos4_hvt/schematic/data.dm
new file mode 100644
index 0000000..cc4f188
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hvt/schematic/data.dm
Binary files differ
diff --git a/OA/BAG_prim/pmos4_hvt/schematic/master.tag b/OA/BAG_prim/pmos4_hvt/schematic/master.tag
new file mode 100644
index 0000000..26be1be
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hvt/schematic/master.tag
@@ -0,0 +1,2 @@
+-- Master.tag File, Rev:1.0
+sch.oa
diff --git a/OA/BAG_prim/pmos4_hvt/schematic/sch.oa b/OA/BAG_prim/pmos4_hvt/schematic/sch.oa
new file mode 100644
index 0000000..3dd2209
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hvt/schematic/sch.oa
Binary files differ
diff --git a/OA/BAG_prim/pmos4_hvt/schematic/thumbnail_128x128.png b/OA/BAG_prim/pmos4_hvt/schematic/thumbnail_128x128.png
new file mode 100644
index 0000000..60476ed
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hvt/schematic/thumbnail_128x128.png
Binary files differ
diff --git a/OA/BAG_prim/pmos4_hvt/symbol/master.tag b/OA/BAG_prim/pmos4_hvt/symbol/master.tag
new file mode 100644
index 0000000..e1024da
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hvt/symbol/master.tag
@@ -0,0 +1,2 @@
+-- Master.tag File, Rev:1.0
+symbol.oa
diff --git a/OA/BAG_prim/pmos4_hvt/symbol/symbol.oa b/OA/BAG_prim/pmos4_hvt/symbol/symbol.oa
new file mode 100644
index 0000000..7eecf31
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hvt/symbol/symbol.oa
Binary files differ
diff --git a/OA/BAG_prim/pmos4_hvt/symbol/thumbnail_128x128.png b/OA/BAG_prim/pmos4_hvt/symbol/thumbnail_128x128.png
new file mode 100644
index 0000000..2a160dc
--- /dev/null
+++ b/OA/BAG_prim/pmos4_hvt/symbol/thumbnail_128x128.png
Binary files differ
diff --git a/OA/BAG_prim/pmos4_lvt/data.dm b/OA/BAG_prim/pmos4_lvt/data.dm
new file mode 100644
index 0000000..1fe4771
--- /dev/null
+++ b/OA/BAG_prim/pmos4_lvt/data.dm
Binary files differ
diff --git a/OA/BAG_prim/pmos4_lvt/schematic/data.dm b/OA/BAG_prim/pmos4_lvt/schematic/data.dm
new file mode 100644
index 0000000..cc4f188
--- /dev/null
+++ b/OA/BAG_prim/pmos4_lvt/schematic/data.dm
Binary files differ
diff --git a/OA/BAG_prim/pmos4_lvt/schematic/master.tag b/OA/BAG_prim/pmos4_lvt/schematic/master.tag
new file mode 100644
index 0000000..26be1be
--- /dev/null
+++ b/OA/BAG_prim/pmos4_lvt/schematic/master.tag
@@ -0,0 +1,2 @@
+-- Master.tag File, Rev:1.0
+sch.oa
diff --git a/OA/BAG_prim/pmos4_lvt/schematic/sch.oa b/OA/BAG_prim/pmos4_lvt/schematic/sch.oa
new file mode 100644
index 0000000..48a37ed
--- /dev/null
+++ b/OA/BAG_prim/pmos4_lvt/schematic/sch.oa
Binary files differ
diff --git a/OA/BAG_prim/pmos4_lvt/schematic/thumbnail_128x128.png b/OA/BAG_prim/pmos4_lvt/schematic/thumbnail_128x128.png
new file mode 100644
index 0000000..f4f08ae
--- /dev/null
+++ b/OA/BAG_prim/pmos4_lvt/schematic/thumbnail_128x128.png
Binary files differ
diff --git a/OA/BAG_prim/pmos4_lvt/symbol/master.tag b/OA/BAG_prim/pmos4_lvt/symbol/master.tag
new file mode 100644
index 0000000..e1024da
--- /dev/null
+++ b/OA/BAG_prim/pmos4_lvt/symbol/master.tag
@@ -0,0 +1,2 @@
+-- Master.tag File, Rev:1.0
+symbol.oa
diff --git a/OA/BAG_prim/pmos4_lvt/symbol/symbol.oa b/OA/BAG_prim/pmos4_lvt/symbol/symbol.oa
new file mode 100644
index 0000000..402b9a2
--- /dev/null
+++ b/OA/BAG_prim/pmos4_lvt/symbol/symbol.oa
Binary files differ
diff --git a/OA/BAG_prim/pmos4_lvt/symbol/thumbnail_128x128.png b/OA/BAG_prim/pmos4_lvt/symbol/thumbnail_128x128.png
new file mode 100644
index 0000000..2a160dc
--- /dev/null
+++ b/OA/BAG_prim/pmos4_lvt/symbol/thumbnail_128x128.png
Binary files differ
diff --git a/OA/BAG_prim/pmos4_standard/data.dm b/OA/BAG_prim/pmos4_standard/data.dm
new file mode 100644
index 0000000..46e2f02
--- /dev/null
+++ b/OA/BAG_prim/pmos4_standard/data.dm
Binary files differ
diff --git a/OA/BAG_prim/pmos4_standard/schematic/data.dm b/OA/BAG_prim/pmos4_standard/schematic/data.dm
new file mode 100644
index 0000000..cc4f188
--- /dev/null
+++ b/OA/BAG_prim/pmos4_standard/schematic/data.dm
Binary files differ
diff --git a/OA/BAG_prim/pmos4_standard/schematic/master.tag b/OA/BAG_prim/pmos4_standard/schematic/master.tag
new file mode 100644
index 0000000..26be1be
--- /dev/null
+++ b/OA/BAG_prim/pmos4_standard/schematic/master.tag
@@ -0,0 +1,2 @@
+-- Master.tag File, Rev:1.0
+sch.oa
diff --git a/OA/BAG_prim/pmos4_standard/schematic/sch.oa b/OA/BAG_prim/pmos4_standard/schematic/sch.oa
new file mode 100644
index 0000000..20eb681
--- /dev/null
+++ b/OA/BAG_prim/pmos4_standard/schematic/sch.oa
Binary files differ
diff --git a/OA/BAG_prim/pmos4_standard/schematic/thumbnail_128x128.png b/OA/BAG_prim/pmos4_standard/schematic/thumbnail_128x128.png
new file mode 100644
index 0000000..4cb36e1
--- /dev/null
+++ b/OA/BAG_prim/pmos4_standard/schematic/thumbnail_128x128.png
Binary files differ
diff --git a/OA/BAG_prim/pmos4_standard/symbol/master.tag b/OA/BAG_prim/pmos4_standard/symbol/master.tag
new file mode 100644
index 0000000..e1024da
--- /dev/null
+++ b/OA/BAG_prim/pmos4_standard/symbol/master.tag
@@ -0,0 +1,2 @@
+-- Master.tag File, Rev:1.0
+symbol.oa
diff --git a/OA/BAG_prim/pmos4_standard/symbol/symbol.oa b/OA/BAG_prim/pmos4_standard/symbol/symbol.oa
new file mode 100644
index 0000000..8fe93d3
--- /dev/null
+++ b/OA/BAG_prim/pmos4_standard/symbol/symbol.oa
Binary files differ
diff --git a/OA/BAG_prim/pmos4_standard/symbol/thumbnail_128x128.png b/OA/BAG_prim/pmos4_standard/symbol/thumbnail_128x128.png
new file mode 100644
index 0000000..2a160dc
--- /dev/null
+++ b/OA/BAG_prim/pmos4_standard/symbol/thumbnail_128x128.png
Binary files differ
diff --git a/OA/BAG_prim/pmos4_svt/data.dm b/OA/BAG_prim/pmos4_svt/data.dm
new file mode 100644
index 0000000..2ee0a48
--- /dev/null
+++ b/OA/BAG_prim/pmos4_svt/data.dm
Binary files differ
diff --git a/OA/BAG_prim/pmos4_svt/schematic/data.dm b/OA/BAG_prim/pmos4_svt/schematic/data.dm
new file mode 100644
index 0000000..cc4f188
--- /dev/null
+++ b/OA/BAG_prim/pmos4_svt/schematic/data.dm
Binary files differ
diff --git a/OA/BAG_prim/pmos4_svt/schematic/master.tag b/OA/BAG_prim/pmos4_svt/schematic/master.tag
new file mode 100644
index 0000000..26be1be
--- /dev/null
+++ b/OA/BAG_prim/pmos4_svt/schematic/master.tag
@@ -0,0 +1,2 @@
+-- Master.tag File, Rev:1.0
+sch.oa
diff --git a/OA/BAG_prim/pmos4_svt/schematic/sch.oa b/OA/BAG_prim/pmos4_svt/schematic/sch.oa
new file mode 100644
index 0000000..b1a0f9e
--- /dev/null
+++ b/OA/BAG_prim/pmos4_svt/schematic/sch.oa
Binary files differ
diff --git a/OA/BAG_prim/pmos4_svt/schematic/thumbnail_128x128.png b/OA/BAG_prim/pmos4_svt/schematic/thumbnail_128x128.png
new file mode 100644
index 0000000..4cb36e1
--- /dev/null
+++ b/OA/BAG_prim/pmos4_svt/schematic/thumbnail_128x128.png
Binary files differ
diff --git a/OA/BAG_prim/pmos4_svt/symbol/master.tag b/OA/BAG_prim/pmos4_svt/symbol/master.tag
new file mode 100644
index 0000000..e1024da
--- /dev/null
+++ b/OA/BAG_prim/pmos4_svt/symbol/master.tag
@@ -0,0 +1,2 @@
+-- Master.tag File, Rev:1.0
+symbol.oa
diff --git a/OA/BAG_prim/pmos4_svt/symbol/symbol.oa b/OA/BAG_prim/pmos4_svt/symbol/symbol.oa
new file mode 100644
index 0000000..8851993
--- /dev/null
+++ b/OA/BAG_prim/pmos4_svt/symbol/symbol.oa
Binary files differ
diff --git a/OA/BAG_prim/pmos4_svt/symbol/thumbnail_128x128.png b/OA/BAG_prim/pmos4_svt/symbol/thumbnail_128x128.png
new file mode 100644
index 0000000..2a160dc
--- /dev/null
+++ b/OA/BAG_prim/pmos4_svt/symbol/thumbnail_128x128.png
Binary files differ
diff --git a/README.md b/README.md
index 82a8cd3..3aa33d4 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,13 @@
 # BAG (BAG AMS Generator) Primitives Library for [SKY130](https://github.com/google/skywater-pdk)
 
-This repository contains the required primitives to use BAG3 framework with
-[the Google skywater-pdk, a fully open source, manufacturable PDK for
-SkyWater's 130nm (SKY13) process node](https://github.com/google/skywater-pdk).
+This repository contains the required primitives to use the BAG3 framework with
+the SkyWater proprietary S8 130nm PDK. You can get access to this PDK through
+signing an NDA and legal agreement with
+[SkyWater Technologies](https://www.skywatertechnology.com/).
+
+This repository also contains a **work in progress** to make these primitives
+and the BAG3 framework compatible with
+[the Google skywater-pdk, a fully open source, manufacturable PDK for SkyWater's 130nm (SKY13) process node](https://github.com/google/skywater-pdk).
 
 When combined with appropriate generator code, the primitives enables the
 creation of analog integrated circuits that are manufacturable at
@@ -16,7 +21,6 @@
 of the Berkeley Analog Generator framework (see also
 [BAG v2 framework](https://github.com/ucb-art/bag)).
 
-
 ## License
 
 To enable wide compatibility with the existing BAG ecosystem, this repository
diff --git a/calibre_setup/.cgidrcdb b/calibre_setup/.cgidrcdb
new file mode 120000
index 0000000..eb1c2f4
--- /dev/null
+++ b/calibre_setup/.cgidrcdb
@@ -0,0 +1 @@
+drc.runset
\ No newline at end of file
diff --git a/calibre_setup/.cgilvsdb b/calibre_setup/.cgilvsdb
new file mode 120000
index 0000000..6762b6d
--- /dev/null
+++ b/calibre_setup/.cgilvsdb
@@ -0,0 +1 @@
+lvs.runset
\ No newline at end of file
diff --git a/calibre_setup/drc.runset b/calibre_setup/drc.runset
new file mode 100644
index 0000000..05f6f1b
--- /dev/null
+++ b/calibre_setup/drc.runset
@@ -0,0 +1,47 @@
+// Copyright 2019-2021 SkyWater PDK Authors
+//
+// 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.
+//
+// This code is *alternatively* available under a BSD-3-Clause license, see
+// details in the README.md at the top level and the license text at
+// https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+//
+// SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+*drcRulesFile: ${PDK_HOME}/DRC/Calibre/s8_drcRules
+*drcRunDir: ${BAG_WORK_DIR}/calibre_run/drc/myLib/myCell
+*drcLayoutPaths: myCell.calibre.db
+*drcLayoutPrimary: myCell
+*drcLayoutLibrary: myLib
+*drcLayoutView: layout
+*drcLayoutGetFromViewer: 1
+*drcResultsFile: myCell.drc.results
+*drcIncludeCmdsType: SVRF
+*drcSVRFCmds: {DRC KEEP EMPTY NO} {} {} {} {} {} {}
+*drcSummaryFile: myCell.drc.summary
+*drcViewSummary: 0
+*drcDFMDefaultsResultsFile: aib_mstr.dfmDefaults.db
+*cmnWarnLayoutOverwrite: 0
+*cmnPromptSaveRunset: 0
+*cmnShowOptions: 1
+*cmnSaveRunsetChanges: 0
+*cmnVConnectColon: 1
+*cmnDontWaitForLicense: 0
+*cmnRunMT: 1
+*cmnRunHyper: 1
+*cmnTemplate_RN: $BAG_WORK_DIR/calibre_run/drc/%L/%l
+*cmnSlaveHosts: {use {}} {hostName {}} {cpuCount {}} {a32a64 {}} {rsh {}} {maxMem {}} {workingDir {}} {layerDir {}} {mgcLibPath {}} {launchName {}}
+*cmnLSFSlaveTbl: {use 1} {totalCpus 1} {minCpus 1} {architecture {{}}} {minMemory {{}}} {resourceOptions {{}}} {submitOptions {{}}}
+*cmnGridSlaveTbl: {use 1} {totalCpus 1} {minCpus 1} {architecture {{}}} {minMemory {{}}} {resourceOptions {{}}} {submitOptions {{}}}
+*cmnFDILayoutLibrary: myLib
+*cmnFDILayoutView: layout
+*cmnFDIDEFLayoutPath: myCell.def
diff --git a/calibre_setup/drc.svrf b/calibre_setup/drc.svrf
new file mode 100644
index 0000000..ec12374
--- /dev/null
+++ b/calibre_setup/drc.svrf
@@ -0,0 +1,38 @@
+// Copyright 2019-2021 SkyWater PDK Authors
+//
+// 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.
+//
+// This code is *alternatively* available under a BSD-3-Clause license, see
+// details in the README.md at the top level and the license text at
+// https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+//
+// SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+LAYOUT PATH  "{{ layout_file }}"
+LAYOUT PRIMARY "{{ cell_name }}"
+LAYOUT SYSTEM {{layout_type}}
+
+DRC RESULTS DATABASE "{{ cell_name }}.drc.results" ASCII
+DRC MAXIMUM RESULTS 1000
+DRC MAXIMUM VERTEX 4096
+DRC KEEP EMPTY NO
+
+DRC CELL NAME YES CELL SPACE XFORM
+DRC SUMMARY REPORT "{{ cell_name }}.drc.summary" REPLACE HIER
+
+VIRTUAL CONNECT COLON YES
+VIRTUAL CONNECT REPORT NO
+
+DRC ICSTATION YES
+
+INCLUDE "$PDK_HOME/DRC/Calibre/s8_drcRules"
diff --git a/calibre_setup/lvs.runset b/calibre_setup/lvs.runset
new file mode 100644
index 0000000..aa56bfd
--- /dev/null
+++ b/calibre_setup/lvs.runset
@@ -0,0 +1,58 @@
+// Copyright 2019-2021 SkyWater PDK Authors
+//
+// 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.
+//
+// This code is *alternatively* available under a BSD-3-Clause license, see
+// details in the README.md at the top level and the license text at
+// https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+//
+// SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+*lvsRulesFile: ${PDK_HOME}/LVS/Calibre/lvs_s8_opts
+*lvsRunDir: ${BAG_WORK_DIR}/calibre_run/lvs/myLib/top_cell
+*lvsLayoutPaths: top_cell.calibre.db
+*lvsLayoutPrimary: top_cell
+*lvsLayoutLibrary: myLib
+*lvsLayoutView: layout
+*lvsLayoutGetFromViewer: 1
+*lvsSourcePath: top_cell.src.net
+*lvsSourcePrimary: top_cell
+*lvsSourceLibrary: myLib
+*lvsSourceView: schematic
+*lvsSourceGetFromViewer: 1
+*lvsSpiceFile: top_cell.sp
+*lvsPowerNames: VDD
+*lvsGroundNames: VSS
+*lvsRecognizeGates: NONE
+*lvsConfigureSplitGates: 1
+*lvsReduceSplitGates: 0
+*lvsERCDatabase: top_cell.erc.results
+*lvsERCSummaryFile: top_cell.erc.summary
+*lvsReportFile: top_cell.lvs.report
+*lvsViewReport: 0
+*lvsSVDBcci: 1
+*lvsSVDBxcal: 1
+*lvsSVDBtxref: 1
+*lvsSVDBnopinloc: 1
+*cmnWarnLayoutOverwrite: 0
+*cmnWarnSourceOverwrite: 0
+*cmnPromptSaveRunset: 0
+*cmnShowOptions: 1
+*cmnSaveRunsetChanges: 0
+*cmnVConnectColon: 1
+*cmnTemplate_RN: $BAG_WORK_DIR/calibre_run/lvs/%L/%l
+*cmnSlaveHosts: {use {}} {hostName {}} {cpuCount {}} {a32a64 {}} {rsh {}} {maxMem {}} {workingDir {}} {layerDir {}} {mgcLibPath {}} {launchName {}}
+*cmnLSFSlaveTbl: {use 1} {totalCpus 1} {minCpus 1} {architecture {{}}} {minMemory {{}}} {resourceOptions {{}}} {submitOptions {{}}}
+*cmnGridSlaveTbl: {use 1} {totalCpus 1} {minCpus 1} {architecture {{}}} {minMemory {{}}} {resourceOptions {{}}} {submitOptions {{}}}
+*cmnFDILayoutLibrary: myLib
+*cmnFDILayoutView: layout
+*cmnFDIDEFLayoutPath: top_cell.def
diff --git a/calibre_setup/lvs.svrf b/calibre_setup/lvs.svrf
new file mode 100644
index 0000000..a10001c
--- /dev/null
+++ b/calibre_setup/lvs.svrf
@@ -0,0 +1,67 @@
+// Copyright 2019-2021 SkyWater PDK Authors
+//
+// 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.
+//
+// This code is *alternatively* available under a BSD-3-Clause license, see
+// details in the README.md at the top level and the license text at
+// https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+//
+// SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+LAYOUT PATH  "{{ layout_file }}"
+LAYOUT PRIMARY "{{ cell_name }}"
+LAYOUT SYSTEM {{layout_type}}
+
+SOURCE PATH "{{ netlist_file }}"
+SOURCE PRIMARY "{{ cell_name }}"
+SOURCE SYSTEM SPICE
+
+MASK SVDB DIRECTORY "svdb" QUERY CCI
+
+LVS REPORT "{{ cell_name }}.lvs.report"
+
+LVS REPORT OPTION NONE
+LVS FILTER UNUSED OPTION NONE SOURCE
+LVS FILTER UNUSED OPTION NONE LAYOUT
+LVS FILTER R(SH) SHORT SOURCE
+LVS REPORT MAXIMUM 50
+LVS POWER NAME VDD
+LVS GROUND NAME VSS
+
+LVS RECOGNIZE GATES NONE
+
+LVS REDUCE SPLIT GATES NO
+LVS REDUCE PARALLEL MOS YES
+LVS SHORT EQUIVALENT NODES NO
+
+LVS ABORT ON SOFTCHK NO
+LVS ABORT ON SUPPLY ERROR YES
+LVS IGNORE PORTS NO
+LVS SHOW SEED PROMOTIONS NO
+LVS SHOW SEED PROMOTIONS MAXIMUM 50
+
+LVS ISOLATE SHORTS NO
+
+VIRTUAL CONNECT COLON YES
+VIRTUAL CONNECT REPORT NO
+
+LVS EXECUTE ERC YES
+ERC RESULTS DATABASE "{{ cell_name }}.erc.results"
+ERC SUMMARY REPORT "{{ cell_name }}.erc.summary" REPLACE HIER
+ERC CELL NAME YES CELL SPACE XFORM
+ERC MAXIMUM RESULTS 1000
+ERC MAXIMUM VERTEX 4096
+
+DRC ICSTATION YES
+
+INCLUDE "$PDK_HOME/LVS/Calibre/lvs_s8_opts"
diff --git a/calibre_setup/source.added b/calibre_setup/source.added
new file mode 120000
index 0000000..09f6adb
--- /dev/null
+++ b/calibre_setup/source.added
@@ -0,0 +1 @@
+../workspace_setup/PDK/LVS/Calibre/source.cdl
\ No newline at end of file
diff --git a/corners_setup.yaml b/corners_setup.yaml
new file mode 100644
index 0000000..2399654
--- /dev/null
+++ b/corners_setup.yaml
@@ -0,0 +1,32 @@
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+tt:
+  - !!python/tuple ['${BAG_TECH_CONFIG_DIR}/workspace_setup/PDK/MODELS/SPECTRE/s8phirs_10r/Models/design_wrapper.lib.scs', 'tt_fet']
+ff:
+  - !!python/tuple ['${BAG_TECH_CONFIG_DIR}/workspace_setup/PDK/MODELS/SPECTRE/s8phirs_10r/Models/design_wrapper.lib.scs', 'ff_fet']
+ss:
+  - !!python/tuple ['${BAG_TECH_CONFIG_DIR}/workspace_setup/PDK/MODELS/SPECTRE/s8phirs_10r/Models/design_wrapper.lib.scs', 'ss_fet']
+sf:
+  - !!python/tuple ['${BAG_TECH_CONFIG_DIR}/workspace_setup/PDK/MODELS/SPECTRE/s8phirs_10r/Models/design_wrapper.lib.scs', 'sf_fet']
+fs:
+  - !!python/tuple ['${BAG_TECH_CONFIG_DIR}/workspace_setup/PDK/MODELS/SPECTRE/s8phirs_10r/Models/design_wrapper.lib.scs', 'fs_fet']
+mc:
+  - !!python/tuple ['${BAG_TECH_CONFIG_DIR}/workspace_setup/PDK/MODELS/SPECTRE/s8phirs_10r/Models/design_wrapper.lib.scs', 'mc']
diff --git a/gds_setup/gds.layermap b/gds_setup/gds.layermap
new file mode 120000
index 0000000..33813b1
--- /dev/null
+++ b/gds_setup/gds.layermap
@@ -0,0 +1 @@
+../workspace_setup/PDK/VirtuosoOA/libs/s8phirs_10r/s8phirs_10r.layermap
\ No newline at end of file
diff --git a/gds_setup/gds.objectmap b/gds_setup/gds.objectmap
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/gds_setup/gds.objectmap
diff --git a/install.sh b/install.sh
new file mode 100755
index 0000000..a8611e7
--- /dev/null
+++ b/install.sh
@@ -0,0 +1,93 @@
+#!/usr/bin/env bash
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+export TECH_DIR="skywater130"
+export ROOT_DIR="${TECH_DIR}/workspace_setup"
+
+# files to copy from workspace_setup
+cp_files=( ".cdsenv.personal"
+           ".cdsinit.personal"
+           "bag_submodules.yaml" )
+
+# files to link from workspace_setup
+ln_files=( "bag_config.yaml"
+           ".cdsenv"
+           ".cdsinit"
+	   ".simrc"
+           ".bashrc"
+           ".bashrc_bag"
+           "cds.lib.core"
+           ".cshrc"
+           ".cshrc_bag"
+           "display.drf"
+           "models"
+           ".gitignore"
+           "leBindKeys.il"
+           "pvtech.lib"
+           "tutorial_files"
+           "start_tutorial.sh" )
+
+# user configuration files; copy
+for f in "${cp_files[@]}"; do
+    cp ${ROOT_DIR}/${f} .
+    git add -f ${f}
+done
+
+# standard configuration files; symlink
+for f in "${ln_files[@]}"; do
+    ln -s ${ROOT_DIR}/${f} .
+    git add -f ${f}
+done
+
+# setup .ipython
+export CUR_DIR=".ipython/profile_default"
+mkdir -p ${CUR_DIR}
+ln -s "../../${ROOT_DIR}/ipython_config.py" "${CUR_DIR}/ipython_config.py"
+git add -f ${CUR_DIR}/ipython_config.py
+
+# setup gen_libs folder
+mkdir gen_libs
+touch gen_libs/.gitignore
+git add -f gen_libs/.gitignore
+
+# setup cds.lib
+echo 'INCLUDE $BAG_WORK_DIR/cds.lib.core' > cds.lib
+
+# link BAG run scripts
+ln -s BAG_framework/run_scripts/start_bag_ICADV12d3.il start_bag.il
+ln -s BAG_framework/run_scripts/start_bag.sh .
+ln -s BAG_framework/run_scripts/run_bag.sh .
+ln -s BAG_framework/run_scripts/virt_server.sh .
+ln -s BAG_framework/run_scripts/setup_submodules.py .
+git add start_bag.il
+git add start_bag.sh
+git add run_bag.sh
+git add virt_server.sh
+git add setup_submodules.py
+
+# copy over transistor characterization examples
+# cp -r ${TECH_DIR}/specs_mos_char .
+# git add specs_mos_char
+# cp -r ${TECH_DIR}/scripts_char .
+# git add scripts_char
+# mkdir data
+# cp -r ${TECH_DIR}/mos_data/nch_w4 data/
+# cp -r ${TECH_DIR}/mos_data/pch_w4 data/
diff --git a/netlist_setup/bag_prim.cdl b/netlist_setup/bag_prim.cdl
new file mode 100644
index 0000000..fd9793a
--- /dev/null
+++ b/netlist_setup/bag_prim.cdl
@@ -0,0 +1,74 @@
+* Copyright 2019-2021 SkyWater PDK Authors
+*
+* 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.
+*
+* This code is *alternatively* available under a BSD-3-Clause license, see
+* details in the README.md at the top level and the license text at
+* https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+*
+* SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+.SUBCKT nmos4_hv B D G S
+*.PININFO B:B D:B G:B S:B
+MM0 D G S B nhv l=l*1.0e6 w=w*1.0e6 m=nf mult=1
+.ENDS
+
+.SUBCKT nmos4_hvesd B D G S
+*.PININFO B:B D:B G:B S:B
+MM0 D G S B nhvesd l=l*1.0e6 w=w*1.0e6 m=nf mult=1
+.ENDS
+
+.SUBCKT nmos4_svt B D G S
+*.PININFO B:B D:B G:B S:B
+MM0 D G S B nshort l=l*1.0e6 w=w*1.0e6 m=nf mult=1
+.ENDS
+
+.SUBCKT nmos4_lvt B D G S
+*.PININFO B:B D:B G:B S:B
+MM0 D G S B nlowvt l=l*1.0e6 w=w*1.0e6 m=nf mult=1
+.ENDS
+
+.SUBCKT nmos4_standard B D G S
+*.PININFO B:B D:B G:B S:B
+MM0 D G S B nshort l=l*1.0e6 w=w*1.0e6 m=nf mult=1
+.ENDS
+
+.SUBCKT pmos4_hv B D G S
+*.PININFO B:B D:B G:B S:B
+MM0 D G S B phv l=l*1.0e6 w=w*1.0e6 m=nf mult=1
+.ENDS
+
+.SUBCKT pmos4_hvesd B D G S
+*.PININFO B:B D:B G:B S:B
+MM0 D G S B phvesd l=l*1.0e6 w=w*1.0e6 m=nf mult=1
+.ENDS
+
+.SUBCKT pmos4_svt B D G S
+*.PININFO B:B D:B G:B S:B
+MM0 D G S B pshort l=l*1.0e6 w=w*1.0e6 m=nf mult=1
+.ENDS
+
+.SUBCKT pmos4_lvt B D G S
+*.PININFO B:B D:B G:B S:B
+MM0 D G S B plowvt l=l*1.0e6 w=w*1.0e6 m=nf mult=1
+.ENDS
+
+.SUBCKT pmos4_hvt B D G S
+*.PININFO B:B D:B G:B S:B
+MM0 D G S B phighvt l=l*1.0e6 w=w*1.0e6 m=nf mult=1
+.ENDS
+
+.SUBCKT pmos4_standard B D G S
+*.PININFO B:B D:B G:B S:B
+MM0 D G S B pshort l=l*1.0e6 w=w*1.0e6 m=nf mult=1
+.ENDS
diff --git a/netlist_setup/bag_prim.scs b/netlist_setup/bag_prim.scs
new file mode 100644
index 0000000..3ea4972
--- /dev/null
+++ b/netlist_setup/bag_prim.scs
@@ -0,0 +1,79 @@
+// Copyright 2019-2021 SkyWater PDK Authors
+//
+// 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.
+//
+// This code is *alternatively* available under a BSD-3-Clause license, see
+// details in the README.md at the top level and the license text at
+// https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+//
+// SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+subckt nmos4_hv B D G S
+parameters l w nf
+MM0 D G S B nhv l=l * 1.0e6 w=w * 1.0e6 m=nf mult=1
+ends nmos4_hv
+
+subckt nmos4_hvesd B D G S
+parameters l w nf
+MM0 D G S B nhvesd l=l * 1.0e6 w=w * 1.0e6 m=nf mult=1
+ends nmos4_hvesd
+
+subckt nmos4_svt B D G S
+parameters l w nf
+MM0 D G S B nshort l=l * 1.0e6 w=w * 1.0e6 m=nf mult=1
+ends nmos4_svt
+
+subckt nmos4_lvt B D G S
+parameters l w nf
+MM0 D G S B nlowvt l=l * 1.0e6 w=w * 1.0e6 m=nf mult=1
+ends nmos4_lvt
+
+subckt nmos4_standard B D G S
+parameters l w nf
+MM0 D G S B nshort l=l * 1.0e6 w=w * 1.0e6 m=nf mult=1
+ends nmos4_standard
+
+subckt pmos4_hv B D G S
+parameters l w nf
+MM0 D G S B phv l=l * 1.0e6 w=w * 1.0e6 m=nf mult=1
+ends pmos4_hv
+
+subckt pmos4_hvesd B D G S
+parameters l w nf
+MM0 D G S B phvesd l=l * 1.0e6 w=w * 1.0e6 m=nf mult=1
+ends pmos4_hvesd
+
+subckt pmos4_svt B D G S
+parameters l w nf
+MM0 D G S B pshort l=l * 1.0e6 w=w * 1.0e6 m=nf mult=1
+ends pmos4_svt
+
+subckt pmos4_lvt B D G S
+parameters l w nf
+MM0 D G S B plowvt l=l * 1.0e6 w=w * 1.0e6 m=nf mult=1
+ends pmos4_lvt
+
+subckt pmos4_hvt B D G S
+parameters l w nf
+MM0 D G S B phighvt l=l * 1.0e6 w=w * 1.0e6 m=nf mult=1
+ends pmos4_hvt
+
+subckt pmos4_standard B D G S
+parameters l w nf
+MM0 D G S B pshort l=l * 1.0e6 w=w * 1.0e6 m=nf mult=1
+ends pmos4_standard
+
+subckt ideal_balun d c p n
+    K0 d 0 p c transformer n1=2
+    K1 d 0 c n transformer n1=2
+ends ideal_balun
diff --git a/netlist_setup/gen_config.yaml b/netlist_setup/gen_config.yaml
new file mode 100644
index 0000000..d778d65
--- /dev/null
+++ b/netlist_setup/gen_config.yaml
@@ -0,0 +1,71 @@
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+header:
+  CDL:
+    includes: ["${BAG_TECH_CONFIG_DIR}/calibre_setup/source.added"]
+  SPECTRE:
+    includes: []
+  VERILOG:
+    includes: []
+  SYSVERILOG:
+    includes: []
+
+mos:
+  CDL:
+    - [l, l*1.0e6]
+    - [w, w*1.0e6]
+    - [m, nf]
+    - [mult, 1]
+  SPECTRE:
+    - [l, l * 1.0e6]
+    - [w, w * 1.0e6]
+    - [m, nf]
+    - [mult, 1]
+  VERILOG: []
+  SYSVERILOG: []
+  types:
+    - [nmos4_hv, nhv]
+    - [nmos4_hvesd, nhvesd]
+    - [nmos4_svt, nshort]
+    - [nmos4_lvt, nlowvt]
+    - [nmos4_standard, nshort]
+    - [pmos4_hv, phv]
+    - [pmos4_hvesd, phvesd]
+    - [pmos4_svt, pshort]
+    - [pmos4_lvt, plowvt]
+    - [pmos4_hvt, phighvt]
+    - [pmos4_standard, pshort]
+
+diode:
+  CDL: []
+  SPECTRE: []
+  VERILOG: []
+  SYSVERILOG: []
+  static: False
+  types: []
+  port_order: {}
+
+res_metal:
+  CDL: []
+  SPECTRE: []
+  VERILOG: []
+  SYSVERILOG: []
+  types: []
diff --git a/netlist_setup/netlist_setup.yaml b/netlist_setup/netlist_setup.yaml
new file mode 100644
index 0000000..b9a24a6
--- /dev/null
+++ b/netlist_setup/netlist_setup.yaml
@@ -0,0 +1,444 @@
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+inc_list:
+  4: ['${BAG_TECH_CONFIG_DIR}/calibre_setup/source.added']
+  5: []
+  6: []
+  7: []
+netlist_map:
+  BAG_prim:
+    nmos4_hv:
+      cell_name: nmos4_hv
+      in_terms: []
+      io_terms: [B, D, G, S]
+      is_prim: true
+      lib_name: BAG_prim
+      nets: []
+      out_terms: []
+      props:
+        l: [3, '']
+        nf: [3, '']
+        w: [3, '']
+    nmos4_hvesd:
+      cell_name: nmos4_hvesd
+      in_terms: []
+      io_terms: [B, D, G, S]
+      is_prim: true
+      lib_name: BAG_prim
+      nets: []
+      out_terms: []
+      props:
+        l: [3, '']
+        nf: [3, '']
+        w: [3, '']
+    nmos4_lvt:
+      cell_name: nmos4_lvt
+      in_terms: []
+      io_terms: [B, D, G, S]
+      is_prim: true
+      lib_name: BAG_prim
+      nets: []
+      out_terms: []
+      props:
+        l: [3, '']
+        nf: [3, '']
+        w: [3, '']
+    nmos4_standard:
+      cell_name: nmos4_standard
+      in_terms: []
+      io_terms: [B, D, G, S]
+      is_prim: true
+      lib_name: BAG_prim
+      nets: []
+      out_terms: []
+      props:
+        l: [3, '']
+        nf: [3, '']
+        w: [3, '']
+    nmos4_svt:
+      cell_name: nmos4_svt
+      in_terms: []
+      io_terms: [B, D, G, S]
+      is_prim: true
+      lib_name: BAG_prim
+      nets: []
+      out_terms: []
+      props:
+        l: [3, '']
+        nf: [3, '']
+        w: [3, '']
+    pmos4_hv:
+      cell_name: pmos4_hv
+      in_terms: []
+      io_terms: [B, D, G, S]
+      is_prim: true
+      lib_name: BAG_prim
+      nets: []
+      out_terms: []
+      props:
+        l: [3, '']
+        nf: [3, '']
+        w: [3, '']
+    pmos4_hvesd:
+      cell_name: pmos4_hvesd
+      in_terms: []
+      io_terms: [B, D, G, S]
+      is_prim: true
+      lib_name: BAG_prim
+      nets: []
+      out_terms: []
+      props:
+        l: [3, '']
+        nf: [3, '']
+        w: [3, '']
+    pmos4_hvt:
+      cell_name: pmos4_hvt
+      in_terms: []
+      io_terms: [B, D, G, S]
+      is_prim: true
+      lib_name: BAG_prim
+      nets: []
+      out_terms: []
+      props:
+        l: [3, '']
+        nf: [3, '']
+        w: [3, '']
+    pmos4_lvt:
+      cell_name: pmos4_lvt
+      in_terms: []
+      io_terms: [B, D, G, S]
+      is_prim: true
+      lib_name: BAG_prim
+      nets: []
+      out_terms: []
+      props:
+        l: [3, '']
+        nf: [3, '']
+        w: [3, '']
+    pmos4_standard:
+      cell_name: pmos4_standard
+      in_terms: []
+      io_terms: [B, D, G, S]
+      is_prim: true
+      lib_name: BAG_prim
+      nets: []
+      out_terms: []
+      props:
+        l: [3, '']
+        nf: [3, '']
+        w: [3, '']
+    pmos4_svt:
+      cell_name: pmos4_svt
+      in_terms: []
+      io_terms: [B, D, G, S]
+      is_prim: true
+      lib_name: BAG_prim
+      nets: []
+      out_terms: []
+      props:
+        l: [3, '']
+        nf: [3, '']
+        w: [3, '']
+  analogLib:
+    cap:
+      cell_name: cap
+      in_terms: []
+      io_terms: [PLUS, MINUS]
+      is_prim: true
+      lib_name: analogLib
+      nets: []
+      out_terms: []
+      props:
+        c: [3, '']
+        l: [3, '']
+        m: [3, '']
+        w: [3, '']
+    cccs:
+      cell_name: cccs
+      in_terms: []
+      io_terms: [PLUS, MINUS]
+      is_prim: true
+      lib_name: analogLib
+      nets: []
+      out_terms: []
+      props:
+        fgain: [3, '1.0']
+        maxm: [3, '']
+        minm: [3, '']
+        vref: [3, '']
+    ccvs:
+      cell_name: ccvs
+      in_terms: []
+      io_terms: [PLUS, MINUS]
+      is_prim: true
+      lib_name: analogLib
+      nets: []
+      out_terms: []
+      props:
+        hgain: [3, '1.0']
+        maxm: [3, '']
+        minm: [3, '']
+        vref: [3, '']
+    dcblock:
+      cell_name: dcblock
+      in_terms: []
+      io_terms: [PLUS, MINUS]
+      is_prim: true
+      lib_name: analogLib
+      nets: []
+      out_terms: []
+      props:
+        c: [3, '']
+    dcfeed:
+      cell_name: dcfeed
+      in_terms: []
+      io_terms: [PLUS, MINUS]
+      is_prim: true
+      lib_name: analogLib
+      nets: []
+      out_terms: []
+      props:
+        l: [3, '']
+    gnd:
+      cell_name: gnd
+      ignore: true
+      in_terms: []
+      io_terms: [gnd!]
+      is_prim: true
+      lib_name: analogLib
+      nets: []
+      out_terms: []
+      props: {}
+    idc:
+      cell_name: idc
+      in_terms: []
+      io_terms: [PLUS, MINUS]
+      is_prim: true
+      lib_name: analogLib
+      nets: []
+      out_terms: []
+      props:
+        acm: [3, '']
+        acp: [3, '']
+        idc: [3, '']
+        pacm: [3, '']
+        pacp: [3, '']
+        srcType: [3, dc]
+        xfm: [3, '']
+    ideal_balun:
+      cell_name: ideal_balun
+      in_terms: []
+      io_terms: [d, c, p, n]
+      is_prim: true
+      lib_name: analogLib
+      nets: []
+      out_terms: []
+      props: {}
+    ind:
+      cell_name: ind
+      in_terms: []
+      io_terms: [PLUS, MINUS]
+      is_prim: true
+      lib_name: analogLib
+      nets: []
+      out_terms: []
+      props:
+        l: [3, '']
+        m: [3, '']
+        r: [3, '']
+    iprobe:
+      cell_name: iprobe
+      in_terms: []
+      io_terms: [PLUS, MINUS]
+      is_prim: true
+      lib_name: analogLib
+      nets: []
+      out_terms: []
+      props: {}
+    ipulse:
+      cell_name: ipulse
+      in_terms: []
+      io_terms: [PLUS, MINUS]
+      is_prim: true
+      lib_name: analogLib
+      nets: []
+      out_terms: []
+      props:
+        i1: [3, '']
+        i2: [3, '']
+        idc: [3, '']
+        per: [3, '']
+        pw: [3, '']
+        srcType: [3, pulse]
+        td: [3, '']
+    isin:
+      cell_name: isin
+      in_terms: []
+      io_terms: [PLUS, MINUS]
+      is_prim: true
+      lib_name: analogLib
+      nets: []
+      out_terms: []
+      props:
+        freq: [3, '']
+        ia: [3, '']
+        idc: [3, '']
+        srcType: [3, sine]
+    port:
+      cell_name: port
+      in_terms: []
+      io_terms: [PLUS, MINUS]
+      is_prim: true
+      lib_name: analogLib
+      nets: []
+      out_terms: []
+      props:
+        num: [3, '']
+        r: [3, '']
+        srcType: [3, sine]
+    res:
+      cell_name: res
+      in_terms: []
+      io_terms: [PLUS, MINUS]
+      is_prim: true
+      lib_name: analogLib
+      nets: []
+      out_terms: []
+      props:
+        l: [3, '']
+        m: [3, '']
+        r: [3, '']
+        w: [3, '']
+    switch:
+      cell_name: switch
+      in_terms: []
+      io_terms: [N+, N-, NC+, NC-]
+      is_prim: true
+      lib_name: analogLib
+      nets: []
+      out_terms: []
+      props:
+        rc: [3, '']
+        ro: [3, '']
+        vt1: [3, '']
+        vt2: [3, '']
+    vccs:
+      cell_name: vccs
+      in_terms: []
+      io_terms: [PLUS, MINUS, NC+, NC-]
+      is_prim: true
+      lib_name: analogLib
+      nets: []
+      out_terms: []
+      props:
+        ggain: [3, '1.0']
+        maxm: [3, '']
+        minm: [3, '']
+    vcvs:
+      cell_name: vcvs
+      in_terms: []
+      io_terms: [PLUS, MINUS, NC+, NC-]
+      is_prim: true
+      lib_name: analogLib
+      nets: []
+      out_terms: []
+      props:
+        egain: [3, '1.0']
+        maxm: [3, '']
+        minm: [3, '']
+    vdc:
+      cell_name: vdc
+      in_terms: []
+      io_terms: [PLUS, MINUS]
+      is_prim: true
+      lib_name: analogLib
+      nets: []
+      out_terms: []
+      props:
+        acm: [3, '']
+        acp: [3, '']
+        pacm: [3, '']
+        pacp: [3, '']
+        srcType: [3, dc]
+        vdc: [3, '']
+        xfm: [3, '']
+    vpulse:
+      cell_name: vpulse
+      in_terms: []
+      io_terms: [PLUS, MINUS]
+      is_prim: true
+      lib_name: analogLib
+      nets: []
+      out_terms: []
+      props:
+        per: [3, '']
+        pw: [3, '']
+        srcType: [3, pulse]
+        td: [3, '']
+        v1: [3, '']
+        v2: [3, '']
+        vdc: [3, '']
+    vpwlf:
+      cell_name: vpwlf
+      in_terms: []
+      io_terms: [PLUS, MINUS]
+      is_prim: true
+      lib_name: analogLib
+      nets: []
+      out_terms: []
+      props:
+        fileName: [3, '']
+        srcType: [3, pwl]
+    vsin:
+      cell_name: vsin
+      in_terms: []
+      io_terms: [PLUS, MINUS]
+      is_prim: true
+      lib_name: analogLib
+      nets: []
+      out_terms: []
+      props:
+        freq: [3, '']
+        srcType: [3, sine]
+        va: [3, '']
+        vdc: [3, '']
+  basic:
+    cds_thru:
+      cell_name: cds_thru
+      ignore: false
+      in_terms: []
+      io_terms: [src, dst]
+      is_prim: true
+      lib_name: basic
+      nets: []
+      out_terms: []
+      props: {}
+    noConn:
+      cell_name: noConn
+      ignore: true
+      in_terms: []
+      io_terms: [noConn]
+      is_prim: true
+      lib_name: basic
+      nets: []
+      out_terms: []
+      props: {}
+prim_files: {4: skywater130/netlist_setup/bag_prim.cdl, 5: '', 6: '', 7: skywater130/netlist_setup/bag_prim.scs}
diff --git a/netlist_setup/spectre_prim.scs b/netlist_setup/spectre_prim.scs
new file mode 100644
index 0000000..8bcb34c
--- /dev/null
+++ b/netlist_setup/spectre_prim.scs
@@ -0,0 +1,25 @@
+// Copyright 2019-2021 SkyWater PDK Authors
+//
+// 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.
+//
+// This code is *alternatively* available under a BSD-3-Clause license, see
+// details in the README.md at the top level and the license text at
+// https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+//
+// SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+simulator lang=spectre
+
+subckt ideal_balun d c p n
+    K0 d 0 p c transformer n1=2
+    K1 d 0 c n transformer n1=2
+ends ideal_balun
diff --git a/pcell_setup/gen_skill.py b/pcell_setup/gen_skill.py
new file mode 100644
index 0000000..03b40c9
--- /dev/null
+++ b/pcell_setup/gen_skill.py
@@ -0,0 +1,90 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+
+from jinja2 import Template
+
+
+tech_lib = 's8phirs_10r'
+# mos_w_default = '0.42'
+# mos_l_default = '0.15'
+res_w_default = '1u'
+res_l_default = '2u'
+res_metal_w_default = '400n'
+res_metal_l_default = '1u'
+dio_w_default = '1u'
+dio_l_default = '1u'
+
+mos_list = [
+    ('nmos4', 'standard', 'nfet', 'nshort', '0.42', '0.15'),
+    ('nmos4', 'svt', 'nfet', 'nshort', '0.42', '0.15'),
+    ('nmos4', 'hv', 'nfet', 'nhv', '0.75', '0.50'),
+    ('nmos4', 'hvesd', 'nfet', 'nhvesd', '17.50', '0.55'),
+    ('nmos4', 'lvt', 'nfet', 'nlowvt', '0.42', '0.15'),
+    ('pmos4', 'standard', 'pfet', 'pshort', '0.55', '0.15'),
+    ('pmos4', 'svt', 'pfet', 'pshort', '0.55', '0.15'),
+    ('pmos4', 'hvt', 'pfet', 'phighvt', '0.54', '0.15'),
+    ('pmos4', 'hv', 'pfet', 'phv', '0.42', '0.50'),
+    ('pmos4', 'hvesd', 'pfet', 'phvesd', '14.50', '0.55'),
+    ('pmos4', 'lvt', 'pfet', 'plowvt', '0.55', '0.35'),
+]
+
+res_list = [
+]
+
+res_metal_list = [
+]
+
+dio_list = [
+]
+
+
+def run_main() -> None:
+    in_fname = 'prim_pcell_jinja2.il'
+    out_fname = 'prim_pcell.il'
+
+    with open(in_fname, 'r') as f:
+        content = f.read()
+
+    result = Template(content).render(
+        tech_lib=tech_lib,
+        mos_list=mos_list,
+        # mos_w_default=mos_w_default,
+        # mos_l_default=mos_l_default,
+        res_list=res_list,
+        res_w_default=res_w_default,
+        res_l_default=res_l_default,
+        res_metal_list=res_metal_list,
+        res_metal_w_default=res_metal_w_default,
+        res_metal_l_default=res_metal_l_default,
+        dio_list=dio_list,
+        dio_w_default=dio_w_default,
+        dio_l_default=dio_l_default,
+    )
+
+    with open(out_fname, 'w') as f:
+        f.write(result)
+
+
+if __name__ == '__main__':
+    run_main()
diff --git a/pcell_setup/prim_pcell.il b/pcell_setup/prim_pcell.il
new file mode 100644
index 0000000..b6714db
--- /dev/null
+++ b/pcell_setup/prim_pcell.il
@@ -0,0 +1,449 @@
+;; Copyright 2019-2021 SkyWater PDK Authors
+;;
+;; 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.
+;;
+;; This code is *alternatively* available under a BSD-3-Clause license, see
+;; details in the README.md at the top level and the license text at
+;; https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+;;
+;; SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+;; This skill file compiles schematic PCells for BAG primitives
+
+lib_obj = ddGetObj("BAG_prim")
+
+
+; nmos4_standard/nshort
+pcDefinePCell(
+    list( lib_obj "nmos4_standard" "schematic" "schematic")
+    ((w string "0.42")
+     (l string "0.15")
+     (nf string "1")
+    )
+    let((inst iopin_master io_net io_pin)
+        wval = atoi(w)
+        nval = atoi(nf)
+        inst = dbCreateParamInstByMasterName( pcCellView "s8phirs_10r" "nfet" "symbol"
+                                              "N0" -0.375:0 "R0" 1
+                                              list(list("hspiceModelMenu" "string" "nshort")
+                                                   list("w" "string" w)
+                                                   list("l" "string" l)
+                                                   list("m" "string" nf)
+                                                   list("totalW" "string" sprintf(nil "%dn" wval * nval)))
+                                            )
+        iopin_master = dbOpenCellViewByType("basic" "iopin" "symbolr" nil "r")
+        io_net = dbCreateNet(pcCellView "D")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "D" -0.5:0.5625 "R0")
+                             "D" dbCreateTerm(io_net "D" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "d"))
+        io_net = dbCreateNet(pcCellView "G")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "G" -0.875:0 "R0")
+                             "G" dbCreateTerm(io_net "G" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "g"))
+        io_net = dbCreateNet(pcCellView "S")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "S" -0.5:-0.5 "R0")
+                             "S" dbCreateTerm(io_net "S" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "s"))
+        io_net = dbCreateNet(pcCellView "B")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "B" 0.125:0 "R0")
+                             "B" dbCreateTerm(io_net "B" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "b"))
+    )
+)
+
+; nmos4_svt/nshort
+pcDefinePCell(
+    list( lib_obj "nmos4_svt" "schematic" "schematic")
+    ((w string "0.42")
+     (l string "0.15")
+     (nf string "1")
+    )
+    let((inst iopin_master io_net io_pin)
+        wval = atoi(w)
+        nval = atoi(nf)
+        inst = dbCreateParamInstByMasterName( pcCellView "s8phirs_10r" "nfet" "symbol"
+                                              "N0" -0.375:0 "R0" 1
+                                              list(list("hspiceModelMenu" "string" "nshort")
+                                                   list("w" "string" w)
+                                                   list("l" "string" l)
+                                                   list("m" "string" nf)
+                                                   list("totalW" "string" sprintf(nil "%dn" wval * nval)))
+                                            )
+        iopin_master = dbOpenCellViewByType("basic" "iopin" "symbolr" nil "r")
+        io_net = dbCreateNet(pcCellView "D")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "D" -0.5:0.5625 "R0")
+                             "D" dbCreateTerm(io_net "D" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "d"))
+        io_net = dbCreateNet(pcCellView "G")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "G" -0.875:0 "R0")
+                             "G" dbCreateTerm(io_net "G" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "g"))
+        io_net = dbCreateNet(pcCellView "S")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "S" -0.5:-0.5 "R0")
+                             "S" dbCreateTerm(io_net "S" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "s"))
+        io_net = dbCreateNet(pcCellView "B")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "B" 0.125:0 "R0")
+                             "B" dbCreateTerm(io_net "B" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "b"))
+    )
+)
+
+; nmos4_hv/nhv
+pcDefinePCell(
+    list( lib_obj "nmos4_hv" "schematic" "schematic")
+    ((w string "0.75")
+     (l string "0.50")
+     (nf string "1")
+    )
+    let((inst iopin_master io_net io_pin)
+        wval = atoi(w)
+        nval = atoi(nf)
+        inst = dbCreateParamInstByMasterName( pcCellView "s8phirs_10r" "nfet" "symbol"
+                                              "N0" -0.375:0 "R0" 1
+                                              list(list("hspiceModelMenu" "string" "nhv")
+                                                   list("w" "string" w)
+                                                   list("l" "string" l)
+                                                   list("m" "string" nf)
+                                                   list("totalW" "string" sprintf(nil "%dn" wval * nval)))
+                                            )
+        iopin_master = dbOpenCellViewByType("basic" "iopin" "symbolr" nil "r")
+        io_net = dbCreateNet(pcCellView "D")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "D" -0.5:0.5625 "R0")
+                             "D" dbCreateTerm(io_net "D" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "d"))
+        io_net = dbCreateNet(pcCellView "G")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "G" -0.875:0 "R0")
+                             "G" dbCreateTerm(io_net "G" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "g"))
+        io_net = dbCreateNet(pcCellView "S")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "S" -0.5:-0.5 "R0")
+                             "S" dbCreateTerm(io_net "S" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "s"))
+        io_net = dbCreateNet(pcCellView "B")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "B" 0.125:0 "R0")
+                             "B" dbCreateTerm(io_net "B" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "b"))
+    )
+)
+
+; nmos4_hvesd/nhvesd
+pcDefinePCell(
+    list( lib_obj "nmos4_hvesd" "schematic" "schematic")
+    ((w string "17.50")
+     (l string "0.55")
+     (nf string "1")
+    )
+    let((inst iopin_master io_net io_pin)
+        wval = atoi(w)
+        nval = atoi(nf)
+        inst = dbCreateParamInstByMasterName( pcCellView "s8phirs_10r" "nfet" "symbol"
+                                              "N0" -0.375:0 "R0" 1
+                                              list(list("hspiceModelMenu" "string" "nhvesd")
+                                                   list("w" "string" w)
+                                                   list("l" "string" l)
+                                                   list("m" "string" nf)
+                                                   list("totalW" "string" sprintf(nil "%dn" wval * nval)))
+                                            )
+        iopin_master = dbOpenCellViewByType("basic" "iopin" "symbolr" nil "r")
+        io_net = dbCreateNet(pcCellView "D")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "D" -0.5:0.5625 "R0")
+                             "D" dbCreateTerm(io_net "D" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "d"))
+        io_net = dbCreateNet(pcCellView "G")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "G" -0.875:0 "R0")
+                             "G" dbCreateTerm(io_net "G" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "g"))
+        io_net = dbCreateNet(pcCellView "S")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "S" -0.5:-0.5 "R0")
+                             "S" dbCreateTerm(io_net "S" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "s"))
+        io_net = dbCreateNet(pcCellView "B")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "B" 0.125:0 "R0")
+                             "B" dbCreateTerm(io_net "B" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "b"))
+    )
+)
+
+; nmos4_lvt/nlowvt
+pcDefinePCell(
+    list( lib_obj "nmos4_lvt" "schematic" "schematic")
+    ((w string "0.42")
+     (l string "0.15")
+     (nf string "1")
+    )
+    let((inst iopin_master io_net io_pin)
+        wval = atoi(w)
+        nval = atoi(nf)
+        inst = dbCreateParamInstByMasterName( pcCellView "s8phirs_10r" "nfet" "symbol"
+                                              "N0" -0.375:0 "R0" 1
+                                              list(list("hspiceModelMenu" "string" "nlowvt")
+                                                   list("w" "string" w)
+                                                   list("l" "string" l)
+                                                   list("m" "string" nf)
+                                                   list("totalW" "string" sprintf(nil "%dn" wval * nval)))
+                                            )
+        iopin_master = dbOpenCellViewByType("basic" "iopin" "symbolr" nil "r")
+        io_net = dbCreateNet(pcCellView "D")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "D" -0.5:0.5625 "R0")
+                             "D" dbCreateTerm(io_net "D" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "d"))
+        io_net = dbCreateNet(pcCellView "G")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "G" -0.875:0 "R0")
+                             "G" dbCreateTerm(io_net "G" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "g"))
+        io_net = dbCreateNet(pcCellView "S")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "S" -0.5:-0.5 "R0")
+                             "S" dbCreateTerm(io_net "S" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "s"))
+        io_net = dbCreateNet(pcCellView "B")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "B" 0.125:0 "R0")
+                             "B" dbCreateTerm(io_net "B" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "b"))
+    )
+)
+
+; pmos4_standard/pshort
+pcDefinePCell(
+    list( lib_obj "pmos4_standard" "schematic" "schematic")
+    ((w string "0.55")
+     (l string "0.15")
+     (nf string "1")
+    )
+    let((inst iopin_master io_net io_pin)
+        wval = atoi(w)
+        nval = atoi(nf)
+        inst = dbCreateParamInstByMasterName( pcCellView "s8phirs_10r" "pfet" "symbol"
+                                              "N0" -0.375:0 "R0" 1
+                                              list(list("hspiceModelMenu" "string" "pshort")
+                                                   list("w" "string" w)
+                                                   list("l" "string" l)
+                                                   list("m" "string" nf)
+                                                   list("totalW" "string" sprintf(nil "%dn" wval * nval)))
+                                            )
+        iopin_master = dbOpenCellViewByType("basic" "iopin" "symbolr" nil "r")
+        io_net = dbCreateNet(pcCellView "D")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "D" -0.5:0.5625 "R0")
+                             "D" dbCreateTerm(io_net "D" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "d"))
+        io_net = dbCreateNet(pcCellView "G")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "G" -0.875:0 "R0")
+                             "G" dbCreateTerm(io_net "G" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "g"))
+        io_net = dbCreateNet(pcCellView "S")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "S" -0.5:-0.5 "R0")
+                             "S" dbCreateTerm(io_net "S" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "s"))
+        io_net = dbCreateNet(pcCellView "B")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "B" 0.125:0 "R0")
+                             "B" dbCreateTerm(io_net "B" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "b"))
+    )
+)
+
+; pmos4_svt/pshort
+pcDefinePCell(
+    list( lib_obj "pmos4_svt" "schematic" "schematic")
+    ((w string "0.55")
+     (l string "0.15")
+     (nf string "1")
+    )
+    let((inst iopin_master io_net io_pin)
+        wval = atoi(w)
+        nval = atoi(nf)
+        inst = dbCreateParamInstByMasterName( pcCellView "s8phirs_10r" "pfet" "symbol"
+                                              "N0" -0.375:0 "R0" 1
+                                              list(list("hspiceModelMenu" "string" "pshort")
+                                                   list("w" "string" w)
+                                                   list("l" "string" l)
+                                                   list("m" "string" nf)
+                                                   list("totalW" "string" sprintf(nil "%dn" wval * nval)))
+                                            )
+        iopin_master = dbOpenCellViewByType("basic" "iopin" "symbolr" nil "r")
+        io_net = dbCreateNet(pcCellView "D")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "D" -0.5:0.5625 "R0")
+                             "D" dbCreateTerm(io_net "D" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "d"))
+        io_net = dbCreateNet(pcCellView "G")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "G" -0.875:0 "R0")
+                             "G" dbCreateTerm(io_net "G" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "g"))
+        io_net = dbCreateNet(pcCellView "S")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "S" -0.5:-0.5 "R0")
+                             "S" dbCreateTerm(io_net "S" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "s"))
+        io_net = dbCreateNet(pcCellView "B")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "B" 0.125:0 "R0")
+                             "B" dbCreateTerm(io_net "B" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "b"))
+    )
+)
+
+; pmos4_hvt/phighvt
+pcDefinePCell(
+    list( lib_obj "pmos4_hvt" "schematic" "schematic")
+    ((w string "0.54")
+     (l string "0.15")
+     (nf string "1")
+    )
+    let((inst iopin_master io_net io_pin)
+        wval = atoi(w)
+        nval = atoi(nf)
+        inst = dbCreateParamInstByMasterName( pcCellView "s8phirs_10r" "pfet" "symbol"
+                                              "N0" -0.375:0 "R0" 1
+                                              list(list("hspiceModelMenu" "string" "phighvt")
+                                                   list("w" "string" w)
+                                                   list("l" "string" l)
+                                                   list("m" "string" nf)
+                                                   list("totalW" "string" sprintf(nil "%dn" wval * nval)))
+                                            )
+        iopin_master = dbOpenCellViewByType("basic" "iopin" "symbolr" nil "r")
+        io_net = dbCreateNet(pcCellView "D")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "D" -0.5:0.5625 "R0")
+                             "D" dbCreateTerm(io_net "D" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "d"))
+        io_net = dbCreateNet(pcCellView "G")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "G" -0.875:0 "R0")
+                             "G" dbCreateTerm(io_net "G" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "g"))
+        io_net = dbCreateNet(pcCellView "S")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "S" -0.5:-0.5 "R0")
+                             "S" dbCreateTerm(io_net "S" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "s"))
+        io_net = dbCreateNet(pcCellView "B")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "B" 0.125:0 "R0")
+                             "B" dbCreateTerm(io_net "B" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "b"))
+    )
+)
+
+; pmos4_hv/phv
+pcDefinePCell(
+    list( lib_obj "pmos4_hv" "schematic" "schematic")
+    ((w string "0.42")
+     (l string "0.50")
+     (nf string "1")
+    )
+    let((inst iopin_master io_net io_pin)
+        wval = atoi(w)
+        nval = atoi(nf)
+        inst = dbCreateParamInstByMasterName( pcCellView "s8phirs_10r" "pfet" "symbol"
+                                              "N0" -0.375:0 "R0" 1
+                                              list(list("hspiceModelMenu" "string" "phv")
+                                                   list("w" "string" w)
+                                                   list("l" "string" l)
+                                                   list("m" "string" nf)
+                                                   list("totalW" "string" sprintf(nil "%dn" wval * nval)))
+                                            )
+        iopin_master = dbOpenCellViewByType("basic" "iopin" "symbolr" nil "r")
+        io_net = dbCreateNet(pcCellView "D")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "D" -0.5:0.5625 "R0")
+                             "D" dbCreateTerm(io_net "D" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "d"))
+        io_net = dbCreateNet(pcCellView "G")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "G" -0.875:0 "R0")
+                             "G" dbCreateTerm(io_net "G" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "g"))
+        io_net = dbCreateNet(pcCellView "S")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "S" -0.5:-0.5 "R0")
+                             "S" dbCreateTerm(io_net "S" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "s"))
+        io_net = dbCreateNet(pcCellView "B")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "B" 0.125:0 "R0")
+                             "B" dbCreateTerm(io_net "B" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "b"))
+    )
+)
+
+; pmos4_hvesd/phvesd
+pcDefinePCell(
+    list( lib_obj "pmos4_hvesd" "schematic" "schematic")
+    ((w string "14.50")
+     (l string "0.55")
+     (nf string "1")
+    )
+    let((inst iopin_master io_net io_pin)
+        wval = atoi(w)
+        nval = atoi(nf)
+        inst = dbCreateParamInstByMasterName( pcCellView "s8phirs_10r" "pfet" "symbol"
+                                              "N0" -0.375:0 "R0" 1
+                                              list(list("hspiceModelMenu" "string" "phvesd")
+                                                   list("w" "string" w)
+                                                   list("l" "string" l)
+                                                   list("m" "string" nf)
+                                                   list("totalW" "string" sprintf(nil "%dn" wval * nval)))
+                                            )
+        iopin_master = dbOpenCellViewByType("basic" "iopin" "symbolr" nil "r")
+        io_net = dbCreateNet(pcCellView "D")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "D" -0.5:0.5625 "R0")
+                             "D" dbCreateTerm(io_net "D" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "d"))
+        io_net = dbCreateNet(pcCellView "G")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "G" -0.875:0 "R0")
+                             "G" dbCreateTerm(io_net "G" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "g"))
+        io_net = dbCreateNet(pcCellView "S")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "S" -0.5:-0.5 "R0")
+                             "S" dbCreateTerm(io_net "S" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "s"))
+        io_net = dbCreateNet(pcCellView "B")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "B" 0.125:0 "R0")
+                             "B" dbCreateTerm(io_net "B" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "b"))
+    )
+)
+
+; pmos4_lvt/plowvt
+pcDefinePCell(
+    list( lib_obj "pmos4_lvt" "schematic" "schematic")
+    ((w string "0.55")
+     (l string "0.35")
+     (nf string "1")
+    )
+    let((inst iopin_master io_net io_pin)
+        wval = atoi(w)
+        nval = atoi(nf)
+        inst = dbCreateParamInstByMasterName( pcCellView "s8phirs_10r" "pfet" "symbol"
+                                              "N0" -0.375:0 "R0" 1
+                                              list(list("hspiceModelMenu" "string" "plowvt")
+                                                   list("w" "string" w)
+                                                   list("l" "string" l)
+                                                   list("m" "string" nf)
+                                                   list("totalW" "string" sprintf(nil "%dn" wval * nval)))
+                                            )
+        iopin_master = dbOpenCellViewByType("basic" "iopin" "symbolr" nil "r")
+        io_net = dbCreateNet(pcCellView "D")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "D" -0.5:0.5625 "R0")
+                             "D" dbCreateTerm(io_net "D" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "d"))
+        io_net = dbCreateNet(pcCellView "G")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "G" -0.875:0 "R0")
+                             "G" dbCreateTerm(io_net "G" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "g"))
+        io_net = dbCreateNet(pcCellView "S")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "S" -0.5:-0.5 "R0")
+                             "S" dbCreateTerm(io_net "S" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "s"))
+        io_net = dbCreateNet(pcCellView "B")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "B" 0.125:0 "R0")
+                             "B" dbCreateTerm(io_net "B" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "b"))
+    )
+)
+
+
+
+
+
+
+
diff --git a/pcell_setup/prim_pcell_jinja2.il b/pcell_setup/prim_pcell_jinja2.il
new file mode 100644
index 0000000..306db76
--- /dev/null
+++ b/pcell_setup/prim_pcell_jinja2.il
@@ -0,0 +1,163 @@
+;; Copyright 2019-2021 SkyWater PDK Authors
+;;
+;; 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.
+;;
+;; This code is *alternatively* available under a BSD-3-Clause license, see
+;; details in the README.md at the top level and the license text at
+;; https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+;;
+;; SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+;; This skill file compiles schematic PCells for BAG primitives
+
+lib_obj = ddGetObj("BAG_prim")
+
+{% for mtype, threshold, model, model_thres, w_def, l_def in mos_list  %}
+; {{ mtype }}_{{ threshold }}/{{ model_thres }}
+pcDefinePCell(
+    list( lib_obj "{{ mtype }}_{{ threshold }}" "schematic" "schematic")
+    ((w string "{{ w_def }}")
+     (l string "{{ l_def }}")
+     (nf string "1")
+    )
+    let((inst iopin_master io_net io_pin)
+        wval = atoi(w)
+        nval = atoi(nf)
+        inst = dbCreateParamInstByMasterName( pcCellView "{{ tech_lib }}" "{{ model }}" "symbol"
+                                              "N0" -0.375:0 "R0" 1
+                                              list(list("hspiceModelMenu" "string" "{{ model_thres }}")
+                                                   list("w" "string" w)
+                                                   list("l" "string" l)
+                                                   list("m" "string" nf)
+                                                   list("totalW" "string" sprintf(nil "%dn" wval * nval)))
+                                            )
+        iopin_master = dbOpenCellViewByType("basic" "iopin" "symbolr" nil "r")
+        io_net = dbCreateNet(pcCellView "D")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "D" -0.5:0.5625 "R0")
+                             "D" dbCreateTerm(io_net "D" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "d"))
+        io_net = dbCreateNet(pcCellView "G")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "G" -0.875:0 "R0")
+                             "G" dbCreateTerm(io_net "G" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "g"))
+        io_net = dbCreateNet(pcCellView "S")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "S" -0.5:-0.5 "R0")
+                             "S" dbCreateTerm(io_net "S" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "s"))
+        io_net = dbCreateNet(pcCellView "B")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "B" 0.125:0 "R0")
+                             "B" dbCreateTerm(io_net "B" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "b"))
+    )
+)
+{% endfor %}
+
+{% for intent, model in res_list  %}
+; res_{{ intent }}/{{ model }}
+pcDefinePCell(
+    list( lib_obj "res_{{ intent }}" "schematic" "schematic")
+    ((w string "{{ res_w_default }}")
+     (l string "{{ res_l_default }}")
+    )
+    let((inst iopin_master io_net io_pin)
+        inst = dbCreateParamInstByMasterName( pcCellView "{{ tech_lib }}" "{{ model }}" "symbol"
+                                              "R0" 0.5:0 "R270" 1
+                                              list(list("w" "string" w)
+                                                   list("l" "string" l)
+                                                  )
+                                            )
+        iopin_master = dbOpenCellViewByType("basic" "iopin" "symbolr" nil "r")
+        io_net = dbCreateNet(pcCellView "PLUS")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "PLUS" 1:0 "R0")
+                             "PLUS" dbCreateTerm(io_net "PLUS" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "PLUS"))
+        io_net = dbCreateNet(pcCellView "MINUS")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "MINUS" -0.15:0 "R0")
+                             "MINUS" dbCreateTerm(io_net "MINUS" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "MINUS"))
+    )
+)
+{% endfor %}
+
+{% for layer, model, rsq in res_metal_list  %}
+; res_metal_{{ layer }}/{{ model }}
+pcDefinePCell(
+    list( lib_obj "res_metal_{{ layer }}" "schematic" "schematic")
+    ((w string "{{ res_metal_w_default }}")
+     (l string "{{ res_metal_l_default }}")
+    )
+    let((inst iopin_master io_net io_pin wval lval rval)
+        wval = cdfParseFloatString(w)
+        lval = cdfParseFloatString(l)
+        rval = {{ rsq }}*lval/wval
+        inst = dbCreateParamInstByMasterName( pcCellView "{{ tech_lib }}" "{{ model }}" "symbol"
+                                              "R0" 0.1:0 "R90" 1
+                                              list(list("w" "string" w)
+                                                   list("l" "string" l)
+                                                   list("effw" "string" w)
+                                                   list("effl" "string" l)
+                                                   list("r" "float" rval)
+                                                  )
+                                            )
+
+        iopin_master = dbOpenCellViewByType("basic" "iopin" "symbolr" nil "r")
+        io_net = dbCreateNet(pcCellView "PLUS")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "PLUS" -0.15:0 "R0")
+                             "PLUS" dbCreateTerm(io_net "PLUS" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "PLUS"))
+        io_net = dbCreateNet(pcCellView "MINUS")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "MINUS" 1.15:0 "R0")
+                             "MINUS" dbCreateTerm(io_net "MINUS" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "MINUS"))
+    )
+)
+{% endfor %}
+
+
+{% for dtype, intent, model in dio_list  %}
+; {{ dtype }}_{{ intent }}/{{ model }}
+pcDefinePCell(
+    list( lib_obj "{{ dtype }}_{{ intent }}" "schematic" "schematic")
+    ((w string "{{ dio_w_default }}")
+     (l string "{{ dio_l_default }}")
+    )
+    let((inst iopin_master io_net io_pin wval lval dio_w dio_l)
+        wval = atoi(w)
+        lval = atoi(l)
+        dio_w = (wval - 1)*48 + 14
+        dio_l = (lval + 1)*86 - 18
+
+        inst = dbCreateParamInstByMasterName( pcCellView "{{ tech_lib }}" "{{ model }}" "symbol"
+                                              "R0" 0.1:0 "R90" 1
+                                              list(list("nfin" "string" w)
+                                                   list("fw" "string" sprintf(nil "%dn" dio_w))
+                                                   list("nf" "string" l)
+                                                   list("dl" "string" sprintf(nil "%dn" dio_l))
+                                                   list("m" "string" "1")
+                                                   list("area" "float" dio_w*dio_l*1e-18)
+                                                   list("pj" "float" 2*1e-9*(dio_w + dio_l))
+                                                  )
+                                            )
+
+        iopin_master = dbOpenCellViewByType("basic" "iopin" "symbolr" nil "r")
+        io_net = dbCreateNet(pcCellView "PLUS")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "PLUS" -0.15:0 "R0")
+                             "PLUS" dbCreateTerm(io_net "PLUS" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "PLUS"))
+        io_net = dbCreateNet(pcCellView "MINUS")
+        io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "MINUS" 1.15:0 "R0")
+                             "MINUS" dbCreateTerm(io_net "MINUS" "inputOutput"))
+        dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "MINUS"))
+    )
+)
+{% endfor %}
diff --git a/src/BAG_prim/__init__.py b/src/BAG_prim/__init__.py
new file mode 100644
index 0000000..7e4a026
--- /dev/null
+++ b/src/BAG_prim/__init__.py
@@ -0,0 +1,22 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
diff --git a/src/BAG_prim/schematic/__init__.py b/src/BAG_prim/schematic/__init__.py
new file mode 100644
index 0000000..7e4a026
--- /dev/null
+++ b/src/BAG_prim/schematic/__init__.py
@@ -0,0 +1,22 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
diff --git a/src/BAG_prim/schematic/nmos4_hv.py b/src/BAG_prim/schematic/nmos4_hv.py
new file mode 100644
index 0000000..75227ca
--- /dev/null
+++ b/src/BAG_prim/schematic/nmos4_hv.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+
+from typing import Any
+
+
+from bag.design.module import MosModuleBase
+from bag.design.database import ModuleDB
+from bag.util.immutable import Param
+
+
+# noinspection PyPep8Naming
+class BAG_prim__nmos4_hv(MosModuleBase):
+    """design module for BAG_prim__nmos4_hv.
+    """
+
+    def __init__(self, database: ModuleDB, params: Param, **kwargs: Any) -> None:
+        MosModuleBase.__init__(self, '', database, params, **kwargs)
diff --git a/src/BAG_prim/schematic/nmos4_hvesd.py b/src/BAG_prim/schematic/nmos4_hvesd.py
new file mode 100644
index 0000000..bbc9f14
--- /dev/null
+++ b/src/BAG_prim/schematic/nmos4_hvesd.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+
+from typing import Any
+
+
+from bag.design.module import MosModuleBase
+from bag.design.database import ModuleDB
+from bag.util.immutable import Param
+
+
+# noinspection PyPep8Naming
+class BAG_prim__nmos4_hvesd(MosModuleBase):
+    """design module for BAG_prim__nmos4_hvesd.
+    """
+
+    def __init__(self, database: ModuleDB, params: Param, **kwargs: Any) -> None:
+        MosModuleBase.__init__(self, '', database, params, **kwargs)
diff --git a/src/BAG_prim/schematic/nmos4_lvt.py b/src/BAG_prim/schematic/nmos4_lvt.py
new file mode 100644
index 0000000..bedee15
--- /dev/null
+++ b/src/BAG_prim/schematic/nmos4_lvt.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+
+from typing import Any
+
+
+from bag.design.module import MosModuleBase
+from bag.design.database import ModuleDB
+from bag.util.immutable import Param
+
+
+# noinspection PyPep8Naming
+class BAG_prim__nmos4_lvt(MosModuleBase):
+    """design module for BAG_prim__nmos4_lvt.
+    """
+
+    def __init__(self, database: ModuleDB, params: Param, **kwargs: Any) -> None:
+        MosModuleBase.__init__(self, '', database, params, **kwargs)
diff --git a/src/BAG_prim/schematic/nmos4_standard.py b/src/BAG_prim/schematic/nmos4_standard.py
new file mode 100644
index 0000000..3ed932b
--- /dev/null
+++ b/src/BAG_prim/schematic/nmos4_standard.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+
+from typing import Any
+
+
+from bag.design.module import MosModuleBase
+from bag.design.database import ModuleDB
+from bag.util.immutable import Param
+
+
+# noinspection PyPep8Naming
+class BAG_prim__nmos4_standard(MosModuleBase):
+    """design module for BAG_prim__nmos4_standard.
+    """
+
+    def __init__(self, database: ModuleDB, params: Param, **kwargs: Any) -> None:
+        MosModuleBase.__init__(self, '', database, params, **kwargs)
diff --git a/src/BAG_prim/schematic/nmos4_svt.py b/src/BAG_prim/schematic/nmos4_svt.py
new file mode 100644
index 0000000..e174e82
--- /dev/null
+++ b/src/BAG_prim/schematic/nmos4_svt.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+
+from typing import Any
+
+
+from bag.design.module import MosModuleBase
+from bag.design.database import ModuleDB
+from bag.util.immutable import Param
+
+
+# noinspection PyPep8Naming
+class BAG_prim__nmos4_svt(MosModuleBase):
+    """design module for BAG_prim__nmos4_svt.
+    """
+
+    def __init__(self, database: ModuleDB, params: Param, **kwargs: Any) -> None:
+        MosModuleBase.__init__(self, '', database, params, **kwargs)
diff --git a/src/BAG_prim/schematic/pmos4_hv.py b/src/BAG_prim/schematic/pmos4_hv.py
new file mode 100644
index 0000000..437df1a
--- /dev/null
+++ b/src/BAG_prim/schematic/pmos4_hv.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+
+from typing import Any
+
+
+from bag.design.module import MosModuleBase
+from bag.design.database import ModuleDB
+from bag.util.immutable import Param
+
+
+# noinspection PyPep8Naming
+class BAG_prim__pmos4_hv(MosModuleBase):
+    """design module for BAG_prim__pmos4_hv.
+    """
+
+    def __init__(self, database: ModuleDB, params: Param, **kwargs: Any) -> None:
+        MosModuleBase.__init__(self, '', database, params, **kwargs)
diff --git a/src/BAG_prim/schematic/pmos4_hvesd.py b/src/BAG_prim/schematic/pmos4_hvesd.py
new file mode 100644
index 0000000..9a7da7b
--- /dev/null
+++ b/src/BAG_prim/schematic/pmos4_hvesd.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+
+from typing import Any
+
+
+from bag.design.module import MosModuleBase
+from bag.design.database import ModuleDB
+from bag.util.immutable import Param
+
+
+# noinspection PyPep8Naming
+class BAG_prim__pmos4_hvesd(MosModuleBase):
+    """design module for BAG_prim__pmos4_hvesd.
+    """
+
+    def __init__(self, database: ModuleDB, params: Param, **kwargs: Any) -> None:
+        MosModuleBase.__init__(self, '', database, params, **kwargs)
diff --git a/src/BAG_prim/schematic/pmos4_hvt.py b/src/BAG_prim/schematic/pmos4_hvt.py
new file mode 100644
index 0000000..c7e32a0
--- /dev/null
+++ b/src/BAG_prim/schematic/pmos4_hvt.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+
+from typing import Any
+
+
+from bag.design.module import MosModuleBase
+from bag.design.database import ModuleDB
+from bag.util.immutable import Param
+
+
+# noinspection PyPep8Naming
+class BAG_prim__pmos4_hvt(MosModuleBase):
+    """design module for BAG_prim__pmos4_hvt.
+    """
+
+    def __init__(self, database: ModuleDB, params: Param, **kwargs: Any) -> None:
+        MosModuleBase.__init__(self, '', database, params, **kwargs)
diff --git a/src/BAG_prim/schematic/pmos4_lvt.py b/src/BAG_prim/schematic/pmos4_lvt.py
new file mode 100644
index 0000000..73519c8
--- /dev/null
+++ b/src/BAG_prim/schematic/pmos4_lvt.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+
+from typing import Any
+
+
+from bag.design.module import MosModuleBase
+from bag.design.database import ModuleDB
+from bag.util.immutable import Param
+
+
+# noinspection PyPep8Naming
+class BAG_prim__pmos4_lvt(MosModuleBase):
+    """design module for BAG_prim__pmos4_lvt.
+    """
+
+    def __init__(self, database: ModuleDB, params: Param, **kwargs: Any) -> None:
+        MosModuleBase.__init__(self, '', database, params, **kwargs)
diff --git a/src/BAG_prim/schematic/pmos4_standard.py b/src/BAG_prim/schematic/pmos4_standard.py
new file mode 100644
index 0000000..5432df4
--- /dev/null
+++ b/src/BAG_prim/schematic/pmos4_standard.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+
+from typing import Any
+
+
+from bag.design.module import MosModuleBase
+from bag.design.database import ModuleDB
+from bag.util.immutable import Param
+
+
+# noinspection PyPep8Naming
+class BAG_prim__pmos4_standard(MosModuleBase):
+    """design module for BAG_prim__pmos4_standard.
+    """
+
+    def __init__(self, database: ModuleDB, params: Param, **kwargs: Any) -> None:
+        MosModuleBase.__init__(self, '', database, params, **kwargs)
diff --git a/src/BAG_prim/schematic/pmos4_svt.py b/src/BAG_prim/schematic/pmos4_svt.py
new file mode 100644
index 0000000..c1ee848
--- /dev/null
+++ b/src/BAG_prim/schematic/pmos4_svt.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+
+from typing import Any
+
+
+from bag.design.module import MosModuleBase
+from bag.design.database import ModuleDB
+from bag.util.immutable import Param
+
+
+# noinspection PyPep8Naming
+class BAG_prim__pmos4_svt(MosModuleBase):
+    """design module for BAG_prim__pmos4_svt.
+    """
+
+    def __init__(self, database: ModuleDB, params: Param, **kwargs: Any) -> None:
+        MosModuleBase.__init__(self, '', database, params, **kwargs)
diff --git a/src/templates_skywater130/__init__.py b/src/templates_skywater130/__init__.py
new file mode 100644
index 0000000..09d7340
--- /dev/null
+++ b/src/templates_skywater130/__init__.py
@@ -0,0 +1,32 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+
+import os
+import pkg_resources
+
+from bag.io import read_yaml
+
+config_fname = pkg_resources.resource_filename(__name__, os.path.join('data', 'tech_params.yaml'))
+
+config = read_yaml(config_fname)
diff --git a/src/templates_skywater130/data/tech_params.yaml b/src/templates_skywater130/data/tech_params.yaml
new file mode 100644
index 0000000..8bbfd51
--- /dev/null
+++ b/src/templates_skywater130/data/tech_params.yaml
@@ -0,0 +1,865 @@
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+# PDK library name.
+tech_lib: 'skywater130'
+# layout unit, in meters.
+layout_unit: 1.0e-6
+# layout resolution, in layout units.
+resolution: 0.005
+# GDS export layout resolution
+gds_resolution: 0.001
+# True if BAG needs to handle coloring metals.
+use_track_coloring: True
+# default purpose name
+default_purpose: drawing
+# pin purpose name
+pin_purpose: pin
+# True to create pin objects
+make_pin_obj: True
+
+imp_layers:
+  nch: !!python/tuple ['nsdm', 'drawing']
+  pch: !!python/tuple ['psdm', 'drawing']
+  ptap: !!python/tuple ['psdm', 'drawing']
+  ntap: !!python/tuple ['nsdm', 'drawing']
+
+# mapping from metal layer ID to layer/purpose pair that defines
+# a metal resistor.
+res_metal_layer_table: {}
+#  1: [!!python/tuple ['m1res', 'drawing']]
+#  2: [!!python/tuple ['m2res', 'drawing']]
+#  3: [!!python/tuple ['m3res', 'drawing']]
+#  4: [!!python/tuple ['m4res', 'drawing']]
+#  5: [!!python/tuple ['m5res', 'drawing']]
+
+# mapping from metal layer ID to layer/purpose pair that
+# defines metal exclusion region.
+metal_exclude_table: {}
+#  1: !!python/tuple ['met1', 'drawing']
+#  2: !!python/tuple ['met2', 'drawing']
+#  3: !!python/tuple ['met3', 'drawing']
+#  4: !!python/tuple ['met4', 'drawing']
+#  5: !!python/tuple ['met5', 'drawing']
+
+exclude_is_blockage: true
+
+# mapping from metal layer ID to metal layer name.  Assume purpose is 'drawing'.
+lay_purp_list: &lp_list
+  1: [!!python/tuple ['met1', 'drawing']]
+  2: [!!python/tuple ['met2', 'drawing']]
+  3: [!!python/tuple ['met3', 'drawing']]
+  4: [!!python/tuple ['met4', 'drawing']]
+  5: [!!python/tuple ['met5', 'drawing']]
+
+dum_lay_purp_list: *lp_list
+
+width_intervals:
+  1:
+    - [[28, 801]]
+    - [[28, .inf]]
+  2:
+    - [[28, .inf]]
+    - [[28, 801]]
+  3:
+    - [[60, 801]]
+    - [[60, .inf]]
+  4:
+    - [[60, .inf]]
+    - [[60, 2001]]
+  5:
+    - [[320, .inf]]
+    - [[320, .inf]]
+
+# mapping from tuple of via layers to via ID.
+via_id:
+  [!!python/tuple ['tap', 'drawing'], !!python/tuple ['li1', 'drawing']]: TPL1_C
+  [!!python/tuple ['poly', 'drawing'], !!python/tuple ['li1', 'drawing']]: PYL1_C
+  [!!python/tuple ['li1', 'drawing'], !!python/tuple ['met1', 'drawing']]: L1M1_C
+  [!!python/tuple ['met1', 'drawing'], !!python/tuple ['met2', 'drawing']]: M1M2_C
+  [!!python/tuple ['met2', 'drawing'], !!python/tuple ['met3', 'drawing']]: M2M3_C
+  [!!python/tuple ['met3', 'drawing'], !!python/tuple ['met4', 'drawing']]: M3M4_C
+  [!!python/tuple ['met4', 'drawing'], !!python/tuple ['met5', 'drawing']]: M4M5_C
+
+# table of electromigration temperature scale factor
+idc_em_scale:
+  # scale factor for resistor
+  # scale[idx] is used if temperature is less than or equal to temp[idx]
+  res:
+    temp: [100, .inf]
+    scale: [1.0, 0.5]
+  # scale factor for this metal layer type
+  ['met1', 'drawing']: &x_em_scale
+    temp: [100, .inf]
+    scale: [1.0, 0.5]
+  ['met2', 'drawing']: *x_em_scale
+  ['met3', 'drawing']: *x_em_scale
+  ['met4', 'drawing']: *x_em_scale
+  ['met5', 'drawing']: *x_em_scale
+  # default scale vector
+  default:
+    temp: [100, .inf]
+    scale: [1.0, 0.5]
+
+# via enclosure/spacing rules
+flipped_vias: [TPL1_C, L1M1_C, M1M2_C, M2M3_C, M3M4_C, M4M5_C]
+via_square_list: [square]
+via:
+  M1M2_C:
+    - name: square
+      dim: [30, 30]
+      sp: [34, 34]
+      bot_enc: &square_1x_enc
+        - [.inf, [[17, 11], [11, 17]]]
+      top_enc: *square_1x_enc
+  M2M3_C:
+    - name: square
+      dim: [40, 40]
+      sp: [40, 40]
+      bot_enc:
+        - [.inf, [[17, 8], [8, 17]]]
+      top_enc:
+        - [.inf, [[17, 13], [13, 17]]]
+  M3M4_C:
+    - name: square
+      dim: [40, 40]
+      sp: [40, 40]
+      bot_enc:
+        - [.inf, [[18, 11], [11, 18]]]
+      top_enc:
+        - [.inf, [[13, 13]]]
+  M4M5_C:
+    - name: square
+      dim: [160, 160]
+      sp: [160, 160]
+      bot_enc:
+        - [.inf, [[38, 38]]]
+      top_enc:
+        - [.inf, [[62, 62]]]
+
+# minimum wire spacing rule.  Space is measured orthogonal to wire direction.
+sp_min:
+  [met1, drawing]: &sp_min_1x
+    - [.inf, 28]
+  [met2, drawing]: *sp_min_1x
+  [met3, drawing]: &sp_min_2x
+    - [.inf, 60]
+  [met4, drawing]: *sp_min_2x
+  [met5, drawing]:
+    - [.inf, 320]
+
+# minimum line-end spacing rule.  Space is measured parallel to wire direction.
+sp_le_min:
+  [met1, drawing]: &sp_le_min_1x
+    - [.inf, 28]
+  [met2, drawing]: *sp_le_min_1x
+  [met3, drawing]: &sp_le_min_2x
+    - [.inf, 60]
+  [met4, drawing]: *sp_le_min_2x
+  [met5, drawing]:
+    - [.inf, 320]
+
+# minimum length/minimum area rules.
+len_min:
+  [met1, drawing]:
+    w_al_list:
+      - [.inf, 3320, 0]
+    md_al_list: []
+  [met2, drawing]:
+    w_al_list:
+      - [.inf, 2704, 0]
+    md_al_list: []
+  [met3, drawing]:
+    w_al_list:
+      - [.inf, 9600, 0]
+    md_al_list: []
+  [met4, drawing]:
+    w_al_list:
+      - [.inf, 9600, 0]
+    md_al_list: []
+  [met5, drawing]:
+    w_al_list:
+      - [.inf, 160000, 0]
+    md_al_list: []
+
+margins:
+  well: [40, 40]
+
+# transistor DRC rules.
+mos:
+  # MOSBase vertical connection layer
+  conn_layer: 1
+  # min/max transistor width.
+  mos_w_range: [84, 1400]
+  # transistor width resolution
+  mos_w_resolution: 1
+  # source/drain pitch related constants.
+  # source/drain pitch is computed as val[0] + val[1] * lch_unit
+  sd_pitch_constants:
+    lch: [30, .inf]
+    val: [[172, 0], [42, 1]]
+  # drain connection info
+  d_wire_info:
+    bot_layer: 0
+    # wire_w, is_horiz, v_w, v_h, v_sp, v_bot_enc, v_top_enc
+    info_list:
+      - [34, False, 34, 34, 34, 12, 16]
+      - [52, False, 34, 34, 38, 8, 12]
+  # gate connection info
+  g_wire_info:
+    bot_layer: 0
+    # wire_w, is_horiz, v_w, v_h, v_sp, v_bot_enc, v_top_enc
+    info_list:
+      - [34, True, 34, 34, 34, 16, 16]
+      - [52, False, 34, 34, 38, 8, 12]
+
+  # minimum horizontal space between OD, in resolution units
+  od_spx: 54
+  # minimum vertical space between OD, in resolution units
+  od_spy: 54
+  # guard ring vertical space
+  od_spy_gr: 4000
+  # maximum vertical space between OD, in resolution units
+  od_spy_max: 4000
+  # set by via enclosure
+  od_po_extx: 56
+
+  # poly.2
+  po_spy: 42
+  # cannot find constrant, set to od_w_min
+  po_h_min: 84
+  # poly.10
+  po_od_exty: 26
+  # from RF transistor
+  po_h_gate: 70
+
+  # licon.9
+  mg_imp_spy: 22
+
+  npc_w: 74
+  # licon1 height + licon1 enclosure
+  npc_h: 74
+
+  md_area_min: 2244
+  md_spy: 34
+
+  # nsdm.7
+  imp_od_encx: 26
+  # nsdm.7
+  imp_od_ency: 26
+  # nsdm.1
+  imp_h_min: 76
+
+  grid_info:
+    - [1, 52, 1]
+    - [3, 66, 2]
+
+fill: {}
+
+res_metal: {}
+
+layer:
+  nwell: 0
+  pwell: 1
+  diff: 2
+  tap: 3
+  poly: 4
+  mcon: 5
+  met1: 6
+  via: 7
+  met2: 8
+  via2: 9
+  met3: 10
+  pad: 11
+  via3: 12
+  met4: 13
+  via4: 14
+  met5: 15
+  prune: 21
+  li1: 22
+  dnwell: 23
+  inductor: 24
+  lvtn: 25
+  nsdm: 30
+  psdm: 31
+  hvntm: 36
+  cnsm: 37
+  tunm: 41
+  hvi: 42
+  licon1: 43
+  padCenter: 45
+  nsm: 47
+  cpwbm: 51
+  cfom: 52
+  ldntm: 53
+  cp1m: 55
+  cnsdm: 56
+  cpsdm: 57
+  cntm: 58
+  cctm1: 59
+  cmm1: 60
+  cviam: 61
+  cmm2: 62
+  cviam2: 63
+  cmm3: 64
+  cpdm: 66
+  cviam3: 67
+  cmm4: 68
+  cviam4: 69
+  cmm5: 70
+  capm: 75
+  pmm: 76
+  fom: 77
+  cdnm: 79
+  urpm: 81
+  crrpm: 82
+  cli1m: 83
+  curpm: 84
+  chvtpm: 85
+  cap2m: 86
+  crpm: 87
+  vhvi: 88
+  clvom: 89
+  cncm: 90
+  ctunm: 91
+  hvtp: 92
+  conom: 93
+  clicm1: 95
+  ncm: 96
+  cpmm: 97
+  overlap: 99
+  rrpm: 100
+  pnp: 101
+  chvntm: 102
+  capacitor: 103
+  rpm: 106
+  target: 107
+  cnwm: 109
+  areaid: 110
+  npn: 111
+  hvtr: 113
+  cpmm2: 114
+  npc: 115
+  cnpc: 116
+  pmm2: 117
+  chvtrm: 118
+  cpbo: 119
+  clvtnm: 120
+  pwelliso: 122
+  blanking: 123
+  cldntm: 126
+  rdl: 136
+  ubm: 140
+  bump: 141
+  ccu1m: 142
+  cubm: 143
+  cbump: 144
+  cpwdem: 169
+  pwde: 170
+  pwbm: 173
+  uhvi: 174
+purpose:
+  seal: 1
+  core: 2
+  frame: 3
+  waffleDrop: 4
+  standardc: 5
+  sigPadDiff: 6
+  sigPadWell: 7
+  sigPadMetNtr: 8
+  ferro: 9
+  moduleCut: 10
+  dieCut: 11
+  frameRect: 12
+  zener: 13
+  extDrain20: 14
+  cut: 15
+  res: 16
+  esd: 17
+  tmppnp: 18
+  short: 19
+  mask: 20
+  maskAdd: 21
+  maskDrop: 22
+  diode: 23
+  fuse: 24
+  gate: 25
+  hvnwell: 26
+  rdlprobepad: 27
+  hv: 28
+  probe: 29
+  extFab: 30
+  option1: 31
+  option2: 32
+  option3: 33
+  option4: 34
+  option5: 35
+  option6: 36
+  option7: 37
+  option8: 38
+  precres: 39
+  silicon: 40
+  vlc: 41
+  met3: 42
+  met2: 43
+  met1: 44
+  li1: 45
+  poly: 46
+  injection: 47
+  nodnw: 49
+  deadZon: 50
+  critCorner: 51
+  critSid: 52
+  substrateCut: 53
+  opcDrop: 54
+  cuPillar: 55
+  techCd: 56
+  term1: 57
+  term2: 58
+  term3: 59
+  scr: 60
+  port: 61
+  port1: 62
+  region: 63
+  ppath: 65
+  ppath1: 66
+  macro: 67
+  nwellIsolation: 68
+  waffleWindow: 69
+  block: 70
+  waffleAdd1: 71
+  waffleAdd2: 72
+  cuDrop: 74
+  extendedDrain: 75
+  subcktDevice: 76
+  pixel: 77
+  capacitor: 78
+  analog: 79
+  lvdnw: 80
+  photo: 81
+  guardring: 82
+  model: 83
+  ipExempt: 84
+  pitch: 85
+  HighVt: 86
+  lvNative: 87
+  psa1: 88
+  psa2: 89
+  psa3: 90
+  psa4: 91
+  psa5: 92
+  psa6: 93
+  hole: 94
+  select: 95
+  dummy: 96
+  umconly: 97
+  opc: 98
+  nodummy: 99
+  drc: 100
+  etest: 101
+  vss: 102
+  fc: 103
+  fix: 104
+  mim: 105
+  nmim: 106
+  pad: 107
+  per: 108
+  cvs: 109
+  ext: 110
+  ip: 111
+  low_vt: 112
+  cis_array: 113
+  imagers: 114
+  t3: 115
+  logic: 116
+  dio: 117
+  cap: 118
+  res1: 119
+  bjt: 120
+  efuseMark: 121
+  slotBlock: 122
+  fuseMark: 123
+  umcIP: 124
+  rfdiode: 125
+  lowTapDensity: 126
+  notCritSide: 127
+  oaCustomFill: 4294967284
+  oaFillOPC: 4294967285
+  redundant: 4294967288
+  gapFill: 4294967289
+  annotation: 4294967290
+  OPCAntiSerif: 4294967291
+  OPCSerif: 4294967292
+  slot: 4294967293
+  fill: 4294967294
+  drawing: 4294967295
+  label: 237
+  drawing1: 241
+  drawing2: 242
+  drawing3: 243
+  drawing4: 244
+  drawing5: 245
+  drawing6: 246
+  drawing7: 247
+  drawing8: 248
+  drawing9: 249
+  boundary: 250
+  pin: 251
+via_layers:
+  TPM2sd_varactor:
+    - [0, 4294967295]
+    - [3604534, 4294967295]
+    - [43, 4294967295]
+  TPM1sd_varactor:
+    - [0, 4294967295]
+    - [6488162, 4294967295]
+    - [43, 4294967295]
+  DFM1sd2:
+    - [2, 4294967295]
+    - [0, 4294967295]
+    - [43, 4294967295]
+  DFTPL1s2:
+    - [2, 4294967295]
+    - [3, 4294967295]
+    - [43, 4294967295]
+  hvDFL1sd2:
+    - [2, 4294967295]
+    - [8, 4294967295]
+    - [43, 4294967295]
+  hvDFTPM1s2:
+    - [2, 4294967295]
+    - [33, 4294967295]
+    - [43, 4294967295]
+  DFL1sdf:
+    - [2, 4294967295]
+    - [99, 4294967295]
+    - [43, 4294967295]
+  DFTPL1s:
+    - [2, 4294967295]
+    - [108, 4294967295]
+    - [43, 4294967295]
+  hvDFL1sd:
+    - [2, 4294967295]
+    - [128, 4294967295]
+    - [43, 4294967295]
+  DFTPM1s:
+    - [2, 4294967295]
+    - [508, 4294967295]
+    - [43, 4294967295]
+  pDFL1_PR:
+    - [2, 4294967295]
+    - [514, 4294967295]
+    - [22, 4294967295]
+  hvDFTPM1s:
+    - [2, 4294967295]
+    - [16908545, 4294967295]
+    - [43, 4294967295]
+  DFM1sd:
+    - [2, 4294967295]
+    - [27881312, 4294967295]
+    - [43, 4294967295]
+  DFL1sd2:
+    - [2, 4294967295]
+    - [27904192, 4294967295]
+    - [43, 4294967295]
+  hvDFM1sd:
+    - [2, 4294967295]
+    - [27909216, 4294967295]
+    - [43, 4294967295]
+  DFM1:
+    - [2, 4294967295]
+    - [27912840, 4294967295]
+    - [43, 4294967295]
+  hvDFTPM1s2enh:
+    - [2, 4294967295]
+    - [27919592, 4294967295]
+    - [43, 4294967295]
+  DFTPM1sw:
+    - [2, 4294967295]
+    - [27922480, 4294967295]
+    - [43, 4294967295]
+  DFL1:
+    - [2, 4294967295]
+    - [471538201, 4294967295]
+    - [43, 4294967295]
+  nDFL1_PR:
+    - [2, 4294967295]
+    - [697935992, 4294967295]
+    - [22, 4294967295]
+  DFL1sd:
+    - [2, 4294967295]
+    - [743437048, 4294967295]
+    - [43, 4294967295]
+  DFTPM1s2enh:
+    - [2, 4294967295]
+    - [1634216811, 4294967295]
+    - [43, 4294967295]
+  hvDFM1sd2:
+    - [2, 4294967295]
+    - [3355443200, 4294967295]
+    - [43, 4294967295]
+  TPL1_fence:
+    - [3, 4294967295]
+    - [128, 4294967295]
+    - [43, 4294967295]
+  TPL1sq:
+    - [3, 4294967295]
+    - [12255418, 4294967295]
+    - [43, 4294967295]
+  TPL1:
+    - [3, 4294967295]
+    - [22217042, 4294967295]
+    - [43, 4294967295]
+  TPM1s:
+    - [3, 4294967295]
+    - [27908744, 4294967295]
+    - [43, 4294967295]
+  TPL1s:
+    - [3, 4294967295]
+    - [27910816, 4294967295]
+    - [43, 4294967295]
+  TPL1a:
+    - [3, 4294967295]
+    - [79038577, 4294967295]
+    - [43, 4294967295]
+  pTPL1_PR:
+    - [3, 4294967295]
+    - [84214787, 4294967295]
+    - [22, 4294967295]
+  TPL1cen:
+    - [3, 4294967295]
+    - [155912518, 4294967295]
+    - [43, 4294967295]
+  nTPL1_PR:
+    - [3, 4294967295]
+    - [697935816, 4294967295]
+    - [22, 4294967295]
+  TPM1:
+    - [3, 4294967295]
+    - [3355443200, 4294967295]
+    - [43, 4294967295]
+  HRPoly_0p69_RPL1con:
+    - [4, 4294967295]
+    - [0, 4294967295]
+    - [43, 4294967295]
+  PYL1sq:
+    - [4, 4294967295]
+    - [1, 4294967295]
+    - [115, 4294967295]
+  PYM2_varactor:
+    - [4, 4294967295]
+    - [33, 4294967295]
+    - [115, 4294967295]
+  PYL1_C:
+    - [4, 4294967295]
+    - [43, 4294967295]
+    - [22, 4294967295]
+  PYL1:
+    - [4, 4294967295]
+    - [113, 4294967295]
+    - [115, 4294967295]
+  PYM1_varactor:
+    - [4, 4294967295]
+    - [720906, 4294967295]
+    - [115, 4294967295]
+  HRPoly_2p85_RPL1con:
+    - [4, 4294967295]
+    - [16843009, 4294967295]
+    - [43, 4294967295]
+  PYM1butt_varactor:
+    - [4, 4294967295]
+    - [27911952, 4294967295]
+    - [115, 4294967295]
+  HRPoly_5p73_RPL1con:
+    - [4, 4294967295]
+    - [144574618, 4294967295]
+    - [43, 4294967295]
+  PYM2butt_varactor:
+    - [4, 4294967295]
+    - [697935800, 4294967295]
+    - [115, 4294967295]
+  PYL1_PR:
+    - [4, 4294967295]
+    - [1195787588, 4294967295]
+    - [22, 4294967295]
+  HRPoly_1p41_RPL1con:
+    - [4, 4294967295]
+    - [1610612736, 4294967295]
+    - [43, 4294967295]
+  PYM1:
+    - [4, 4294967295]
+    - [3355443200, 4294967295]
+    - [115, 4294967295]
+  HRPoly_5p73_L1M1con:
+    - [5, 4294967295]
+    - [0, 4294967295]
+    - [22, 4294967295]
+  L1M2:
+    - [5, 4294967295]
+    - [513, 4294967295]
+    - [22, 4294967295]
+  HRPoly_1p41_L1M1con:
+    - [5, 4294967295]
+    - [16843009, 4294967295]
+    - [22, 4294967295]
+  L1M1sq:
+    - [5, 4294967295]
+    - [27916880, 4294967295]
+    - [22, 4294967295]
+  HRPoly_2p85_L1M1con:
+    - [5, 4294967295]
+    - [160369032, 4294967295]
+    - [22, 4294967295]
+  L1M1:
+    - [5, 4294967295]
+    - [697935800, 4294967295]
+    - [22, 4294967295]
+  L1M1_C:
+    - [6, 4294967295]
+    - [5, 4294967295]
+    - [22, 4294967295]
+  M1M2:
+    - [6, 4294967295]
+    - [33, 4294967295]
+    - [8, 4294967295]
+  M1M2_PR:
+    - [6, 4294967295]
+    - [43, 4294967295]
+    - [8, 4294967295]
+  ruleVia1:
+    - [6, 4294967295]
+    - [27908184, 4294967295]
+    - [8, 4294967295]
+  ruleVia:
+    - [6, 4294967295]
+    - [27908928, 4294967295]
+    - [8, 4294967295]
+  M1M2sq:
+    - [6, 4294967295]
+    - [27911664, 4294967295]
+    - [8, 4294967295]
+  M1M2_PR_R:
+    - [6, 4294967295]
+    - [743551240, 4294967295]
+    - [8, 4294967295]
+  ruleVia2:
+    - [8, 4294967295]
+    - [0, 4294967295]
+    - [10, 4294967295]
+  M1M2_C:
+    - [8, 4294967295]
+    - [7, 4294967295]
+    - [6, 4294967295]
+  M2M3_PR_R:
+    - [8, 4294967295]
+    - [9, 4294967295]
+    - [10, 4294967295]
+  M2M3_PR:
+    - [8, 4294967295]
+    - [43, 4294967295]
+    - [10, 4294967295]
+  M2M3sq:
+    - [8, 4294967295]
+    - [27907824, 4294967295]
+    - [10, 4294967295]
+  M2M3:
+    - [8, 4294967295]
+    - [27911136, 4294967295]
+    - [10, 4294967295]
+  M3M4sq:
+    - [10, 4294967295]
+    - [0, 4294967295]
+    - [13, 4294967295]
+  M3M4_PR:
+    - [10, 4294967295]
+    - [5, 4294967295]
+    - [13, 4294967295]
+  M3M4:
+    - [10, 4294967295]
+    - [8, 4294967295]
+    - [13, 4294967295]
+  M2M3_C:
+    - [10, 4294967295]
+    - [9, 4294967295]
+    - [8, 4294967295]
+  M3M4_PR_R:
+    - [10, 4294967295]
+    - [12, 4294967295]
+    - [13, 4294967295]
+  FUSE_M3M4:
+    - [10, 4294967295]
+    - [257, 4294967295]
+    - [13, 4294967295]
+  ruleVia3:
+    - [10, 4294967295]
+    - [101320202, 4294967295]
+    - [13, 4294967295]
+  M5RDLlg_atlas:
+    - [11, 4294967295]
+    - [1, 4294967295]
+    - [136, 4294967295]
+  M5RDL:
+    - [11, 4294967295]
+    - [743437048, 4294967295]
+    - [136, 4294967295]
+  CAPMM4:
+    - [12, 4294967295]
+    - [12255418, 4294967295]
+    - [75, 4294967295]
+  M4M5sq:
+    - [13, 4294967295]
+    - [0, 4294967295]
+    - [15, 4294967295]
+  M4M5_PR:
+    - [13, 4294967295]
+    - [7, 4294967295]
+    - [15, 4294967295]
+  M3M4_C:
+    - [13, 4294967295]
+    - [12, 4294967295]
+    - [10, 4294967295]
+  M4M5_PR_R:
+    - [13, 4294967295]
+    - [14, 4294967295]
+    - [15, 4294967295]
+  M4M5:
+    - [13, 4294967295]
+    - [27911304, 4294967295]
+    - [15, 4294967295]
+  ruleVia4:
+    - [13, 4294967295]
+    - [67372036, 4294967295]
+    - [15, 4294967295]
+  CAP2MM5:
+    - [14, 4294967295]
+    - [9371790, 4294967295]
+    - [86, 4294967295]
+  M4M5_C:
+    - [15, 4294967295]
+    - [14, 4294967295]
+    - [13, 4294967295]
+  TPL1_C:
+    - [22, 4294967295]
+    - [43, 4294967295]
+    - [3, 4294967295]
+  L1M1_PR:
+    - [22, 4294967295]
+    - [27902976, 4294967295]
+    - [6, 4294967295]
diff --git a/src/templates_skywater130/mos/__init__.py b/src/templates_skywater130/mos/__init__.py
new file mode 100644
index 0000000..7e4a026
--- /dev/null
+++ b/src/templates_skywater130/mos/__init__.py
@@ -0,0 +1,22 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
diff --git a/src/templates_skywater130/mos/tech.py b/src/templates_skywater130/mos/tech.py
new file mode 100644
index 0000000..837dded
--- /dev/null
+++ b/src/templates_skywater130/mos/tech.py
@@ -0,0 +1,808 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+
+from typing import Tuple, FrozenSet, List
+
+
+from dataclasses import dataclass
+
+from pybag.enum import Orient2D
+from pybag.core import BBox
+
+from bag.layout.tech import TechInfo
+from bag.layout.routing.grid import TrackSpec
+from bag.util.immutable import ImmutableSortedDict, ImmutableList, Param
+
+from xbase.layout.enum import MOSType, MOSPortType, MOSCutMode, MOSAbutMode, DeviceType
+from xbase.layout.data import LayoutInfoBuilder, ViaInfo, CornerLayInfo
+from xbase.layout.exception import ODImplantEnclosureError
+from xbase.layout.mos.tech import MOSTech
+from xbase.layout.mos.data import (
+    MOSRowSpecs, MOSRowInfo, BlkExtInfo, MOSEdgeInfo, MOSLayInfo, ExtWidthInfo, LayoutInfo,
+    ExtEndLayInfo, RowExtInfo
+)
+
+from ..util import add_base, get_arr_edge_dim
+
+
+@dataclass(eq=True, frozen=True)
+class ConnInfo:
+    w: int
+    len_min: int
+    sp_le: int
+    orient: Orient2D
+    via_w: int
+    via_h: int
+    via_sp: int
+    via_bot_enc: int
+    via_top_enc: int
+
+    def get_via_info(self, via_type: str, xc: int, yc: int, bot_w: int, ortho: bool = True,
+                     num: int = 1, nx: int = 1, ny: int = 1, spx: int = 0, spy: int = 0) -> ViaInfo:
+        vw = self.via_w
+        vh = self.via_h
+        vsp = self.via_sp
+
+        bot_orient = self.orient
+        if ortho:
+            bot_orient = bot_orient.perpendicular()
+
+        if bot_orient is Orient2D.x:
+            bot_encx = self.via_bot_enc
+            bot_ency = (bot_w - vh) // 2
+        else:
+            bot_encx = (bot_w - vw) // 2
+            bot_ency = self.via_bot_enc
+
+        if self.orient is Orient2D.x:
+            top_encx = self.via_top_enc
+            top_ency = (self.w - vh) // 2
+            vnx = num
+            vny = 1
+        else:
+            top_encx = (self.w - vw) // 2
+            top_ency = self.via_top_enc
+            vnx = 1
+            vny = num
+
+        enc1 = (bot_encx, bot_encx, bot_ency, bot_ency)
+        enc2 = (top_encx, top_encx, top_ency, top_ency)
+        return ViaInfo(via_type, xc, yc, self.via_w, self.via_h, enc1, enc2,
+                       vnx, vny, vsp, vsp, nx, ny, spx, spy)
+
+
+class MOSTechSkywater130(MOSTech):
+    ignore_vm_sp_le_layers: FrozenSet[str] = frozenset(('m1',))
+
+    def __init__(self, tech_info: TechInfo, lch: int, mos_entry_name: str = 'mos') -> None:
+        MOSTech.__init__(self, tech_info, lch, mos_entry_name)
+
+    @property
+    def blk_h_pitch(self) -> int:
+        return 2
+
+    @property
+    def end_h_min(self) -> int:
+        return self.mos_config['imp_h_min'] // 2
+
+    @property
+    def min_sep_col(self) -> int:
+        return self._get_od_sep_col(self.mos_config['od_spx'])
+
+    @property
+    def sub_sep_col(self) -> int:
+        return self._get_od_sep_col(max(self.mos_config['od_spx'],
+                                        2 * self.mos_config['imp_od_encx']))
+
+    @property
+    def min_sub_col(self) -> int:
+        return self.min_od_col
+
+    @property
+    def gr_edge_col(self) -> int:
+        return self.min_od_col
+
+    @property
+    def min_od_col(self) -> int:
+        lch = self.lch
+        sd_pitch = self.sd_pitch
+        od_po_extx = self.od_po_extx
+
+        od_w_min: int = self.mos_config['mos_w_range'][0]
+        return -(-max(0, od_w_min - 2 * od_po_extx - lch) // sd_pitch) + 1
+
+    @property
+    def abut_mode(self) -> MOSAbutMode:
+        return MOSAbutMode.NONE
+
+    @property
+    def od_po_extx(self) -> int:
+        return self.mos_config['od_po_extx']
+
+    @property
+    def well_w_edge(self) -> int:
+        imp_od_encx: int = self.mos_config['imp_od_encx']
+        return -(self.sd_pitch - self.lch) // 2 + self.od_po_extx + imp_od_encx
+
+    def get_conn_info(self, conn_layer: int, is_gate: bool) -> ConnInfo:
+        mconf = self.mos_config
+        wire_info = mconf['g_wire_info' if is_gate else 'd_wire_info']
+
+        idx = conn_layer - wire_info['bot_layer']
+        w, is_horiz, v_w, v_h, v_sp, v_bot_enc, v_top_enc = wire_info['info_list'][idx]
+        orient = Orient2D(int(is_horiz ^ 1))
+        if conn_layer == 0:
+            sp_le = mconf['md_spy']
+            len_min = -(-mconf['md_area_min'] // w)
+        else:
+            tech_info = self.tech_info
+            lay, purp = tech_info.get_lay_purp_list(conn_layer)[0]
+            # make sure minimum length satisfies via enclosure rule
+            cur_len = 2 * v_top_enc + (v_w if is_horiz else v_h)
+            len_min = tech_info.get_next_length(lay, purp, orient, w, cur_len, even=True)
+            sp_le = tech_info.get_min_line_end_space(lay, w, purpose=purp, even=True)
+
+        return ConnInfo(w, len_min, sp_le, orient, v_w, v_h, v_sp, v_bot_enc, v_top_enc)
+
+    def can_short_adj_tracks(self, conn_layer: int) -> bool:
+        return False
+
+    def get_track_specs(self, conn_layer: int, top_layer: int) -> List[TrackSpec]:
+        assert conn_layer == 1, 'currently only work for conn_layer = 1'
+
+        sd_pitch = self.sd_pitch
+
+        grid_info = self.mos_config['grid_info']
+
+        return [TrackSpec(layer=lay, direction=Orient2D.y, width=vm_w,
+                          space=num_sd * sd_pitch - vm_w, offset=(num_sd * sd_pitch) // 2)
+                for lay, vm_w, num_sd in grid_info if conn_layer <= lay <= top_layer]
+
+    def get_edge_width(self, mos_arr_width: int, blk_pitch: int) -> int:
+        w_edge_min = self.mos_config['imp_od_encx'] + self.sd_pitch // 2
+        return get_arr_edge_dim(mos_arr_width, w_edge_min, blk_pitch)
+
+    def get_mos_row_info(self, conn_layer: int, specs: MOSRowSpecs, bot_mos_type: MOSType,
+                         top_mos_type: MOSType, global_options: Param) -> MOSRowInfo:
+        assert conn_layer == 1, 'currently only work for conn_layer = 1'
+
+        blk_p = self.blk_h_pitch
+
+        w = specs.width
+        w_sub = specs.sub_width
+        mos_type = specs.mos_type
+        threshold = specs.threshold
+
+        mconf = self.mos_config
+        po_spy: int = mconf['po_spy']
+        od_spy: int = mconf['od_spy']
+        po_h_gate: int = mconf['po_h_gate']
+        po_od_exty: int = mconf['po_od_exty']
+        mg_imp_spy: int = mconf['mg_imp_spy']
+        imp_h_min: int = mconf['imp_h_min']
+        imp_od_ency: int = mconf['imp_od_ency']
+        po_spy2 = po_spy // 2
+        imp_h_min2 = imp_h_min // 2
+
+        md_info = self.get_conn_info(0, False)
+        od_vency = md_info.via_bot_enc
+        md_top_vency = md_info.via_top_enc
+
+        mg_info = self.get_conn_info(0, False)
+        mg_h = mg_info.w
+
+        m1_info = self.get_conn_info(1, False)
+        v0_h = m1_info.via_h
+        m1_h_min = m1_info.len_min
+        m1_spy = m1_info.sp_le
+        md_bot_vency = m1_info.via_bot_enc
+        m1_vency = m1_info.via_top_enc
+
+        po_yl = po_spy2
+        po_yh_gate = po_yl + po_h_gate
+        po_yc_gate = (po_yl + po_yh_gate) // 2
+        gm1_yh = po_yc_gate + v0_h // 2 + m1_vency
+        gm1_yl = min(po_yc_gate - v0_h // 2 - m1_vency, gm1_yh - m1_h_min)
+        # fix mg_imp spacing
+        imp_yl = max(imp_h_min2, po_yc_gate + mg_h // 2 + mg_imp_spy)
+        od_yl = imp_yl + imp_od_ency
+
+        dm1_yl = gm1_yh + m1_spy
+        dv0_yl = dm1_yl + m1_vency
+        dmd_yl = dv0_yl - md_bot_vency
+        dvc_yl = dmd_yl + md_top_vency
+        od_yl = max(od_yl, dvc_yl - od_vency)
+
+        od_yh = od_yl + w
+        po_yh = od_yh + po_od_exty
+        blk_yh = max(od_yh + imp_od_ency + imp_h_min2, po_yh + po_spy2)
+
+        blk_yh = -(-blk_yh // blk_p) * blk_p
+
+        md_yl, md_yh, vc_num = self._get_conn_params(self.get_conn_info(0, False), od_yl, od_yh)
+        dm1_yl, dm1_yh, v0_num = self._get_conn_params(m1_info, md_yl, md_yh)
+
+        # return MOSRowInfo
+        top_einfo = RowExtInfo(
+            mos_type, threshold,
+            ImmutableSortedDict(dict(
+                mos_type=mos_type,
+                margins=dict(
+                    od=(blk_yh - od_yh, od_spy),
+                    po=(blk_yh - po_yh, po_spy),
+                    m1=(blk_yh - dm1_yh, m1_spy),
+                )
+            )),
+        )
+        bot_einfo = RowExtInfo(
+            mos_type, threshold,
+            ImmutableSortedDict(dict(
+                mos_type=mos_type,
+                margins=dict(
+                    od=(od_yl, od_spy),
+                    po=(po_yl, po_spy),
+                    m1=(gm1_yl, m1_spy),
+                ),
+            )),
+        )
+        info = dict(
+            imp_y=(od_yl - imp_od_ency, od_yh + imp_od_ency),
+            od_y=(od_yl, od_yh),
+            po_y=(po_yh_gate, po_yh),
+            po_y_gate=(po_yl, po_yh_gate),
+        )
+
+        g_y = (gm1_yl, gm1_yh)
+        g_m_y = (0, po_yl)
+        ds_y = ds_g_y = sub_y = (dm1_yl, dm1_yh)
+        ds_m_y = (po_yh, blk_yh)
+        return MOSRowInfo(self.lch, w, w_sub, mos_type, specs.threshold, blk_yh, specs.flip,
+                          top_einfo, bot_einfo, ImmutableSortedDict(info), g_y, g_m_y, ds_y,
+                          ds_m_y, ds_g_y, sub_y, guard_ring=False)
+
+    def get_ext_width_info(self, bot_row_ext_info: RowExtInfo, top_row_ext_info: RowExtInfo,
+                           ignore_vm_sp_le: bool = False) -> ExtWidthInfo:
+        assert not ignore_vm_sp_le, 'ignore_vm_sp_le is not supported'
+
+        blk_p = self.blk_h_pitch
+
+        bot_margins = bot_row_ext_info['margins']
+        top_margins = top_row_ext_info['margins']
+        ext_h_min = 0
+        for key, (bot_val, sp) in bot_margins.items():
+            top_info = top_margins.get(key, None)
+            if top_info is not None:
+                top_val = top_info[0]
+                ext_h_min = max(ext_h_min, sp - (top_val + bot_val))
+        w_min = -(-ext_h_min // blk_p)
+
+        return ExtWidthInfo([], w_min)
+
+    def get_extension_regions(self, bot_info: RowExtInfo, top_info: RowExtInfo, height: int
+                              ) -> Tuple[MOSCutMode, int, int]:
+        if _get_extend_bot_implant(bot_info, top_info):
+            # split at top
+            cut_mode = MOSCutMode.TOP
+            bot_exty = height
+            top_exty = 0
+        else:
+            # split at bottom
+            cut_mode = MOSCutMode.BOT
+            bot_exty = 0
+            top_exty = height
+
+        return cut_mode, bot_exty, top_exty
+
+    def get_mos_conn_info(self, row_info: MOSRowInfo, conn_layer: int, seg: int, w: int, stack: int,
+                          g_on_s: bool, options: Param) -> MOSLayInfo:
+        assert conn_layer == 1, 'currently only work for conn_layer = 1'
+
+        sep_g = options.get('sep_g', False)
+        export_mid = options.get('export_mid', False)
+        export_mid = export_mid and stack == 2
+
+        sd_pitch = self.sd_pitch
+
+        height = row_info.height
+        row_type = row_info.row_type
+        threshold = row_info.threshold
+        imp_y: Tuple[int, int] = row_info['imp_y']
+        po_y_gate: Tuple[int, int] = row_info['po_y_gate']
+
+        # compute gate wires location
+        fg = seg * stack
+        wire_pitch = stack * sd_pitch
+        conn_pitch = 2 * wire_pitch
+        num_s = seg // 2 + 1
+        num_d = (seg + 1) // 2
+        s_xc = 0
+        d_xc = wire_pitch
+
+        # get gate wires
+        g_pitch = 2 * sd_pitch
+        if g_on_s:
+            g_xc = 0
+            num_g = fg // 2 + 1
+        else:
+            g_xc = sd_pitch
+            num_g = (fg + 1) // 2
+
+        # draw device
+        builder = LayoutInfoBuilder()
+        od_y = self._add_mos_active(builder, row_info, 0, fg, w)
+
+        # draw gate connection
+        self._draw_g_conn(builder, sep_g, g_xc, po_y_gate, num_g, g_pitch)
+
+        # draw drain/source connections
+        d0_info = self.get_conn_info(0, False)
+        d1_info = self.get_conn_info(1, False)
+        md_yl, md_yh, num_vc = self._get_conn_params(d0_info, od_y[0], od_y[1])
+        num_v0 = self._get_conn_params(d1_info, md_yl, md_yh)[2]
+        md_y = (md_yl, md_yh)
+        self._draw_ds_conn(builder, d0_info, d1_info, od_y, md_y, num_vc, num_v0,
+                           d_xc, num_d, conn_pitch)
+        self._draw_ds_conn(builder, d0_info, d1_info, od_y, md_y, num_vc, num_v0,
+                           s_xc, num_s, conn_pitch)
+
+        if export_mid:
+            m_xc = sd_pitch
+            num_m = fg + 1 - num_s - num_d
+            m_info = (m_xc, num_m, wire_pitch)
+            self._draw_ds_conn(builder, d0_info, d1_info, od_y, md_y, num_vc, num_v0,
+                               m_xc, num_m, wire_pitch)
+        else:
+            m_info = None
+
+        # draw base
+        bbox = BBox(0, 0, fg * sd_pitch, height)
+        add_base(builder, row_type, threshold, imp_y, bbox)
+
+        edge_info = MOSEdgeInfo(mos_type=row_type, imp_y=imp_y, has_od=True)
+        be = BlkExtInfo(row_type, row_info.threshold, False, ImmutableList([(fg, row_type)]),
+                        ImmutableSortedDict())
+        return MOSLayInfo(builder.get_info(bbox), edge_info, edge_info, be, be,
+                          g_info=(g_xc, num_g, g_pitch), d_info=(d_xc, num_d, conn_pitch),
+                          s_info=(s_xc, num_s, conn_pitch), m_info=m_info,
+                          shorted_ports=ImmutableList([MOSPortType.G]))
+
+    def _draw_g_conn(self, builder: LayoutInfoBuilder, sep_g: bool, g_xc: int,
+                     po_y_gate: Tuple[int, int], num_g: int, conn_pitch: int) -> None:
+        lch = self.lch
+        sd_pitch = self.sd_pitch
+
+        mconf = self.mos_config
+        npc_w: int = mconf['npc_w']
+        npc_h: int = mconf['npc_h']
+        npc_w2 = npc_w // 2
+        npc_h2 = npc_h // 2
+
+        g0_info = self.get_conn_info(0, True)
+        g1_info = self.get_conn_info(1, True)
+
+        po_lp = ('poly', 'drawing')
+        po_conn_w = sd_pitch + lch
+        po_xl_gate = g_xc - po_conn_w // 2
+        builder.add_rect_arr(po_lp, BBox(po_xl_gate, po_y_gate[0], po_xl_gate + po_conn_w,
+                                         po_y_gate[1]), nx=num_g, spx=conn_pitch)
+        po_yc_gate = (po_y_gate[0] + po_y_gate[1]) // 2
+        po_h_gate = po_y_gate[1] - po_y_gate[0]
+        builder.add_via(g0_info.get_via_info('PYL1_C', g_xc, po_yc_gate, po_h_gate,
+                                             ortho=False, num=1, nx=num_g, spx=conn_pitch))
+        # poly via draws npc layer wrong
+        npc_box = BBox(g_xc - npc_w2, po_yc_gate - npc_h2, g_xc + npc_w2, po_yc_gate + npc_h2)
+        builder.add_rect_arr(('npc', 'drawing'), npc_box, nx=num_g, spx=conn_pitch)
+
+        mp_h = g0_info.w
+        mp_w_min = g0_info.len_min
+        mp_lp = ('li1', 'drawing')
+        mp_yl = po_yc_gate - mp_h // 2
+        mp_yh = mp_yl + mp_h
+        if sep_g:
+            mp_xl = g_xc - mp_w_min // 2
+            builder.add_rect_arr(mp_lp, BBox(mp_xl, mp_yl, mp_xl + mp_w_min, mp_yh),
+                                 nx=num_g, spx=conn_pitch)
+        else:
+            mp_dx = g0_info.via_w // 2 + g0_info.via_top_enc
+            mp_xl = g_xc - mp_dx
+            mp_xh = g_xc + (num_g - 1) * conn_pitch + mp_dx
+            builder.add_rect_arr(mp_lp, BBox(mp_xl, mp_yl, mp_xh, mp_yh))
+
+        # connect MP to M1
+        builder.add_via(g1_info.get_via_info('L1M1_C', g_xc, po_yc_gate, mp_h, ortho=True,
+                                             num=1, nx=num_g, spx=conn_pitch))
+
+    @staticmethod
+    def _draw_ds_conn(builder: LayoutInfoBuilder, d0_info: ConnInfo, d1_info: ConnInfo,
+                      od_y: Tuple[int, int], md_y: Tuple[int, int], num_vc: int, num_v0: int,
+                      xc: int, nx: int, spx: int) -> None:
+        # connect to MD
+        md_w = d0_info.w
+        vc_w = d0_info.via_w
+        vc_h = d0_info.via_h
+        vc_sp = d0_info.via_sp
+        vc_p = vc_w + vc_sp
+        vc_w2 = vc_w // 2
+        vc_h2 = vc_h // 2
+        md_w2 = md_w // 2
+
+        od_yc = (od_y[0] + od_y[1]) // 2
+        vc_h_arr = num_vc * vc_p - vc_sp
+        vc_yc_bot = od_yc + (vc_h - vc_h_arr) // 2
+        vc_box = BBox(xc - vc_w2, vc_yc_bot - vc_h2, xc + vc_w2, vc_yc_bot + vc_h2)
+        md_box = BBox(xc - md_w2, md_y[0], xc + md_w2, md_y[1])
+        builder.add_rect_arr(('licon1', 'drawing'), vc_box, nx=nx, spx=spx, ny=num_vc, spy=vc_p)
+        builder.add_rect_arr(('li1', 'drawing'), md_box, nx=nx, spx=spx)
+
+        # connect to M1
+        builder.add_via(d1_info.get_via_info('L1M1_C', xc, od_yc, md_w, ortho=False,
+                                             num=num_v0, nx=nx, spx=spx))
+
+    def get_mos_abut_info(self, row_info: MOSRowInfo, edgel: MOSEdgeInfo, edger: MOSEdgeInfo
+                          ) -> LayoutInfo:
+        raise ValueError('This method is not supported in this technology.')
+
+    def get_mos_tap_info(self, row_info: MOSRowInfo, conn_layer: int, seg: int,
+                         options: Param) -> MOSLayInfo:
+        assert conn_layer == 1, 'currently only work for conn_layer = 1'
+
+        row_type = row_info.row_type
+
+        guard_ring: bool = options.get('guard_ring', row_info.guard_ring)
+        if guard_ring:
+            sub_type: MOSType = options.get('sub_type', row_type.sub_type)
+        else:
+            sub_type: MOSType = row_type.sub_type
+
+        sd_pitch = self.sd_pitch
+
+        w = row_info.sub_width
+        height = row_info.height
+        threshold = row_info.threshold
+        imp_y: Tuple[int, int] = row_info['imp_y']
+
+        # draw device
+        builder = LayoutInfoBuilder()
+        od_y = self._add_mos_active(builder, row_info, 0, seg, w, is_sub=True)
+
+        # draw drain/source connections
+        d0_info = self.get_conn_info(0, False)
+        d1_info = self.get_conn_info(1, False)
+        md_yl, md_yh, num_vc = self._get_conn_params(d0_info, od_y[0], od_y[1])
+        num_v0 = self._get_conn_params(d1_info, md_yl, md_yh)[2]
+        md_y = (md_yl, md_yh)
+        self._draw_ds_conn(builder, d0_info, d1_info, od_y, md_y, num_vc, num_v0,
+                           0, seg + 1, sd_pitch)
+
+        # draw base
+        bbox = BBox(0, 0, seg * sd_pitch, height)
+        add_base(builder, sub_type, threshold, imp_y, bbox)
+
+        edge_info = MOSEdgeInfo(mos_type=sub_type, imp_y=imp_y, has_od=True)
+        be = BlkExtInfo(row_type, row_info.threshold, guard_ring, ImmutableList([(seg, sub_type)]),
+                        ImmutableSortedDict())
+        wire_info = (0, seg + 1, sd_pitch)
+        return MOSLayInfo(builder.get_info(bbox), edge_info, edge_info, be, be,
+                          g_info=wire_info, d_info=wire_info, s_info=wire_info,
+                          shorted_ports=ImmutableList())
+
+    def get_mos_space_info(self, row_info: MOSRowInfo, num_cols: int, left_info: MOSEdgeInfo,
+                           right_info: MOSEdgeInfo) -> MOSLayInfo:
+        lch = self.lch
+        sd_pitch = self.sd_pitch
+        od_po_extx = self.od_po_extx
+
+        imp_od_encx: int = self.mos_config['imp_od_encx']
+
+        row_type = row_info.row_type
+        threshold = row_info.threshold
+        imp_y: Tuple[int, int] = row_info['imp_y']
+
+        blk_xh = num_cols * sd_pitch
+        blk_yh = row_info.height
+        bbox = BBox(0, 0, blk_xh, blk_yh)
+
+        # get information from edge information dictionary
+        # if MOSEdgeInfo evaluates to False, that means this space block is on the boundary.
+        if left_info:
+            typel: MOSType = left_info['mos_type']
+            if right_info:
+                typer: MOSType = right_info['mos_type']
+            else:
+                typer = typel
+        elif right_info:
+            typer: MOSType = right_info['mos_type']
+            typel = typer
+        else:
+            typel = typer = row_type
+
+        builder = LayoutInfoBuilder()
+
+        # find dummy OD columns
+        od_extx = od_po_extx - (sd_pitch - lch) // 2
+        delta_implant = od_extx + imp_od_encx
+        delta_implant = -(-delta_implant // sd_pitch) * sd_pitch
+        if typel == typer:
+            # same implant on left and right
+            be = BlkExtInfo(row_type, threshold, False, ImmutableList([(num_cols, typel)]),
+                            ImmutableSortedDict())
+            add_base(builder, typel, threshold, imp_y, bbox)
+            edger = edgel = MOSEdgeInfo(mos_type=typel, imp_y=imp_y, has_od=False)
+        else:
+            # find implant split coordinate
+            # split closer to the side with the following priority:
+            # 1. is a opposite tap (i.e. ntap in nmos row)
+            # 2. is a substrate tap (i.e. ptap in nmos row)
+            if typel is not row_type:
+                if delta_implant > blk_xh:
+                    raise ODImplantEnclosureError('Insufficient space to satisfy '
+                                                  'implant-OD horizontal enclosure.')
+                add_base(builder, typel, threshold, imp_y, BBox(0, 0, delta_implant, blk_yh))
+                xl = delta_implant
+                fgl = delta_implant // sd_pitch
+            else:
+                xl = 0
+                fgl = 0
+
+            if typer is not row_type:
+                xr = blk_xh - delta_implant
+                if xr < xl:
+                    raise ODImplantEnclosureError('Insufficient space to satisfy '
+                                                  'implant-OD horizontal enclosure.')
+                add_base(builder, typer, threshold, imp_y, BBox(xr, 0, blk_xh, blk_yh))
+                fgr = delta_implant // sd_pitch
+            else:
+                xr = blk_xh
+                fgr = 0
+
+            if xr > xl:
+                # draw implant in middle region
+                fgm = (xr - xl) // sd_pitch
+                if typel is row_type:
+                    fgl += fgm
+                    add_base(builder, typel, threshold, imp_y, BBox(xl, 0, xr, blk_yh))
+                else:
+                    fgr += fgm
+                    add_base(builder, typer, threshold, imp_y, BBox(xl, 0, xr, blk_yh))
+
+            fg_dev_list = []
+            if fgl > 0:
+                fg_dev_list.append((fgl, typel))
+            if fgr > 0:
+                fg_dev_list.append((fgr, typer))
+
+            be = BlkExtInfo(row_type, threshold, False, ImmutableList(fg_dev_list),
+                            ImmutableSortedDict())
+            edgel = MOSEdgeInfo(mos_type=typel, imp_y=imp_y, has_od=False)
+            edger = edgel.copy_with(mos_type=typer)
+
+        wire_info = (0, 0, 0)
+        return MOSLayInfo(builder.get_info(bbox), edgel, edger, be, be, g_info=wire_info,
+                          d_info=wire_info, s_info=wire_info, shorted_ports=ImmutableList())
+
+    def get_mos_ext_info(self, num_cols: int, blk_h: int, bot_einfo: RowExtInfo,
+                         top_einfo: RowExtInfo, gr_info: Tuple[int, int]) -> ExtEndLayInfo:
+        raise ValueError('Not implemented.')
+
+    def get_mos_ext_gr_info(self, num_cols: int, edge_cols: int, blk_h: int, bot_einfo: RowExtInfo,
+                            top_einfo: RowExtInfo, sub_type: MOSType, einfo: MOSEdgeInfo
+                            ) -> ExtEndLayInfo:
+        raise ValueError('Not implemented.')
+
+    def get_ext_geometries(self, re_bot: RowExtInfo, re_top: RowExtInfo,
+                           be_bot: ImmutableList[BlkExtInfo], be_top: ImmutableList[BlkExtInfo],
+                           cut_mode: MOSCutMode, bot_exty: int, top_exty: int,
+                           dx: int, dy: int, w_edge: int) -> LayoutInfo:
+        sd_pitch = self.sd_pitch
+        well_w_edge = self.well_w_edge
+
+        ymid = dy + bot_exty
+        ytop = ymid + top_exty
+
+        # draw extensions
+        builder = LayoutInfoBuilder()
+        if bot_exty > 0:
+            xcur = dx
+            for info in be_bot:
+                xcur = _add_blk_ext_info(sd_pitch, builder, info, xcur, dy, ymid)
+            w_tot = xcur + w_edge
+            _add_blk_ext_edge(sd_pitch, builder, be_bot[0], dy, ymid, w_edge, 0, well_w_edge)
+            _add_blk_ext_edge(sd_pitch, builder, be_bot[-1], dy, ymid, w_edge, w_tot, well_w_edge)
+        if top_exty > 0:
+            xcur = dx
+            for info in be_top:
+                xcur = _add_blk_ext_info(sd_pitch, builder, info, xcur, ymid, ytop)
+            w_tot = xcur + w_edge
+            _add_blk_ext_edge(sd_pitch, builder, be_top[0], ymid, ytop, w_edge, 0, well_w_edge)
+            _add_blk_ext_edge(sd_pitch, builder, be_top[-1], ymid, ytop, w_edge, w_tot, well_w_edge)
+
+        # Note: bbox not used, just pass in some value.
+        return builder.get_info(BBox(0, 0, 0, 0))
+
+    def get_mos_end_info(self, blk_h: int, num_cols: int, einfo: RowExtInfo) -> ExtEndLayInfo:
+        blk_rect = BBox(0, 0, num_cols * self.sd_pitch, blk_h)
+        builder = LayoutInfoBuilder()
+        row_type = einfo.row_type
+        threshold = einfo.threshold
+        imp_y = (blk_rect.yl, blk_rect.yl)
+        add_base(builder, row_type, threshold, imp_y, blk_rect)
+        edge_info = MOSEdgeInfo(row_type=row_type, imp_y=imp_y, threshold=threshold)
+        return ExtEndLayInfo(builder.get_info(blk_rect), edge_info)
+
+    def get_mos_row_edge_info(self, blk_w: int, rinfo: MOSRowInfo, einfo: MOSEdgeInfo
+                              ) -> LayoutInfo:
+        blk_h = rinfo.height
+        mos_type: MOSType = einfo['mos_type']
+        return self._edge_info_helper(blk_w, blk_h, mos_type, rinfo.threshold, rinfo['imp_y'])
+
+    def get_mos_ext_edge_info(self, blk_w: int, einfo: MOSEdgeInfo) -> LayoutInfo:
+        row_type: MOSType = einfo['row_type']
+        threshold: str = einfo['threshold']
+        blk_h: int = einfo['blk_h']
+        imp_y: Tuple[int, int] = einfo['imp_y']
+        return self._edge_info_helper(blk_w, blk_h, row_type, threshold, imp_y)
+
+    def get_mos_corner_info(self, blk_w: int, blk_h: int, einfo: MOSEdgeInfo) -> CornerLayInfo:
+        lch = self.lch
+        sd_pitch = self.sd_pitch
+        well_w_edge = self.well_w_edge
+
+        row_type: MOSType = einfo['row_type']
+        threshold: str = einfo['threshold']
+
+        well_yl = 0
+        blk_rect = BBox(blk_w - sd_pitch, well_yl, blk_w, blk_h)
+        builder = LayoutInfoBuilder()
+
+        well_xl = blk_w - well_w_edge
+        add_base(builder, row_type, threshold, (blk_rect.yl, blk_rect.yl), blk_rect,
+                 well_x=(well_xl, blk_w))
+
+        x_margins = dict(well=well_xl)
+        y_margins = dict(well=well_yl)
+        edgel = ImmutableSortedDict(dict(dev_type=DeviceType.MOS, lch=lch, margins=x_margins))
+        edgeb = ImmutableSortedDict(dict(dev_type=DeviceType.MOS, lch=lch, margins=y_margins))
+        return CornerLayInfo(builder.get_info(blk_rect), (0, 0), edgel, edgeb)
+
+    @staticmethod
+    def _get_conn_params(info: ConnInfo, bot_cl: int, bot_ch: int) -> Tuple[int, int, int]:
+        v_dim = info.via_h if info.orient is Orient2D.y else info.via_w
+        v_sp = info.via_sp
+        v_bot_enc = info.via_bot_enc
+        v_top_enc = info.via_top_enc
+        v_pitch = v_dim + v_sp
+
+        v_num = (bot_ch - bot_cl - v_bot_enc * 2 + v_sp) // v_pitch
+        v_dim_arr = v_num * v_pitch - v_sp
+        top_dim = max(info.len_min, v_dim_arr + 2 * v_top_enc)
+        top_cl = (bot_cl + bot_ch - top_dim) // 2
+        top_ch = top_cl + top_dim
+        return top_cl, top_ch, v_num
+
+    def _get_od_sep_col(self, spx: int) -> int:
+        lch = self.lch
+        sd_pitch = self.sd_pitch
+        od_po_extx = self.od_po_extx
+
+        return -(-(spx + lch + 2 * od_po_extx) // sd_pitch) - 1
+
+    def _add_mos_active(self, builder: LayoutInfoBuilder, row_info: MOSRowInfo,
+                        start: int, stop: int, w: int, is_sub: bool = False
+                        ) -> Tuple[int, int]:
+        po_yl: int = row_info['po_y'][0]
+        od_yl: int = row_info['od_y'][0]
+
+        lch = self.lch
+        sd_pitch = self.sd_pitch
+        od_po_extx = self.od_po_extx
+
+        mconf = self.mos_config
+        po_h_min: int = mconf['po_h_min']
+        po_od_exty: int = mconf['po_od_exty']
+
+        # draw PO
+        od_yh = od_yl + w
+        if is_sub:
+            od_lp = ('tap', 'drawing')
+        else:
+            od_lp = ('diff', 'drawing')
+            po_y = (po_yl, max(po_yl + po_h_min, od_yh + po_od_exty))
+            self._add_po_array(builder, po_y, start, stop)
+
+        # draw OD
+        po_xl = (sd_pitch - lch) // 2
+        od_sd_dx = od_po_extx - po_xl
+        od_xl = start * sd_pitch - od_sd_dx
+        od_xh = stop * sd_pitch + od_sd_dx
+        builder.add_rect_arr(od_lp, BBox(od_xl, od_yl, od_xh, od_yh))
+
+        return od_yl, od_yh
+
+    def _add_po_array(self, builder: LayoutInfoBuilder, po_y: Tuple[int, int], start: int,
+                      stop: int) -> None:
+        lch = self.lch
+        sd_pitch = self.sd_pitch
+
+        po_x0 = (sd_pitch - lch) // 2 + sd_pitch * start
+        fg = stop - start
+        if po_y[1] > po_y[0]:
+            builder.add_rect_arr(('poly', 'drawing'), BBox(po_x0, po_y[0], po_x0 + lch, po_y[1]),
+                                 nx=fg, spx=sd_pitch)
+
+    def _edge_info_helper(self, blk_w: int, blk_h: int, row_type: MOSType, threshold: str,
+                          imp_y: Tuple[int, int]) -> LayoutInfo:
+        sd_pitch = self.sd_pitch
+        well_w_edge = self.well_w_edge
+
+        blk_rect = BBox(blk_w - sd_pitch, 0, blk_w, blk_h)
+        builder = LayoutInfoBuilder()
+        add_base(builder, row_type, threshold, imp_y, blk_rect, well_x=(blk_w - well_w_edge, blk_w))
+        return builder.get_info(blk_rect)
+
+
+def _get_extend_bot_implant(bot_info: RowExtInfo, top_info: RowExtInfo) -> bool:
+    # prefer n implant over p implant, prefer transistor over substrate
+    bot_row_type = bot_info.row_type
+    top_row_type = top_info.row_type
+    if bot_row_type.is_pwell:
+        return True
+    if top_row_type.is_pwell:
+        return False
+    if not bot_row_type.is_substrate and top_row_type.is_substrate:
+        return True
+    if not top_row_type.is_substrate and bot_row_type.is_substrate:
+        return False
+    return bot_info.threshold < top_info.threshold
+
+
+def _add_blk_ext_edge(sd_pitch: int, builder: LayoutInfoBuilder, binfo: BlkExtInfo,
+                      yl: int, yh: int, blk_w: int, w_tot: int, well_w_edge: int) -> None:
+    threshold = binfo.threshold
+
+    if w_tot == 0:
+        blk_rect = BBox(blk_w - sd_pitch, yl, blk_w, yh)
+        mos_idx = 0
+        well_x = (blk_w - well_w_edge, blk_w)
+    else:
+        xl = w_tot - blk_w
+        blk_rect = BBox(xl, yl, xl + sd_pitch, yh)
+        mos_idx = -1
+        well_x = (xl, xl + well_w_edge)
+
+    add_base(builder, binfo.fg_dev[mos_idx][1], threshold, (blk_rect.yl, blk_rect.yl),
+             blk_rect, well_x=well_x)
+
+
+def _add_blk_ext_info(sd_pitch: int, builder: LayoutInfoBuilder,
+                      info: BlkExtInfo, xl: int, yl: int, yh: int) -> int:
+    threshold = info.threshold
+
+    # add base
+    xcur = xl
+    for fg, dev in info.fg_dev:
+        xh = xcur + fg * sd_pitch
+        add_base(builder, dev, threshold, (yl, yl), BBox(xcur, yl, xh, yh))
+        xcur = xh
+
+    return xcur
diff --git a/src/templates_skywater130/tech.py b/src/templates_skywater130/tech.py
new file mode 100644
index 0000000..14a7c9a
--- /dev/null
+++ b/src/templates_skywater130/tech.py
@@ -0,0 +1,172 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+
+from typing import Tuple, Optional, Mapping
+
+
+from pybag.core import BBox
+
+from bag.util.immutable import Param
+from bag.layout.tech import TechInfo
+from bag.layout.template import TemplateBase
+
+from xbase.layout.enum import DeviceType
+
+from . import config as _config
+from . import config_fname as _config_fname
+from .mos.tech import MOSTechSkywater130
+# from .fill.tech import FillTechSkywater130
+# from .res.tech import ResTechSkywater130
+
+
+class TechInfoSkywater130(TechInfo):
+    def __init__(self, process_params):
+        TechInfo.__init__(self, process_params, _config, _config_fname)
+
+        self.register_device_tech('mos', MOSTechSkywater130)
+        # self.register_device_tech('fill', FillTechCDSFFMPT)
+        # self.register_device_tech('res', ResTechCDSFFMPT)
+
+    def get_margin(self, is_vertical: bool, edge1: Param, edge2: Optional[Param]) -> int:
+        if edge2 is None:
+            dev_type = edge1['dev_type']
+            if dev_type is DeviceType.MOS:
+                margins: Mapping[str, int] = edge1['margins']
+                table: Mapping[str, Tuple[int, int]] = self.config['margins']
+                max_sp = 0
+                for name, val in margins.items():
+                    sp_tot = -(-table[name][is_vertical] // 2)
+                    max_sp = max(sp_tot - val, max_sp)
+                return max_sp
+            else:
+                # TODO: implement this
+                raise ValueError('Not implemented yet, see developer.')
+        else:
+            # TODO: implement this
+            raise ValueError('Not implemented yet, see developer.')
+
+    def add_cell_boundary(self, template: TemplateBase, box: BBox) -> None:
+        if box.is_physical():
+            pt_list = [(box.xl, box.yl), (box.xl, box.yh), (box.xh, box.yh), (box.xh, box.yl)]
+            # template.add_boundary(BoundaryType.PR, pt_list)
+
+    def draw_device_blockage(self, template: TemplateBase) -> None:
+        pass
+
+    def get_metal_em_specs(self, layer: str, purpose: str, w: int, length: int = -1,
+                           vertical: bool = False, dc_temp: int = -1000, rms_dt: int = -1000
+                           ) -> Tuple[float, float, float]:
+        idc = self._get_metal_idc(layer, purpose, w, length, vertical, dc_temp)
+        irms = self._get_metal_irms(layer, purpose, w, rms_dt)
+        ipeak = float('inf')
+        return idc, irms, ipeak
+
+    def get_via_em_specs(self, layer_dir: int, layer: str, purpose: str, adj_layer: str,
+                         adj_purpose: str, cut_w: int, cut_h: int, m_w: int = -1, m_l: int = -1,
+                         adj_m_w: int = -1, adj_m_l: int = -1, array: bool = False,
+                         dc_temp: int = -1000, rms_dt: int = -1000) -> Tuple[float, float, float]:
+        def_purpose = self.default_purpose
+        purpose = purpose or def_purpose
+        adj_purpose = adj_purpose or def_purpose
+
+        lay_vec = [None, None]
+        dim_vec = [None, None]
+
+        lay_vec[layer_dir] = (layer, purpose)
+        lay_vec[1 - layer_dir] = (adj_layer, adj_purpose)
+        dim_vec[layer_dir] = (m_w, m_l)
+        dim_vec[1 - layer_dir] = (adj_m_w, adj_m_l)
+
+        idc = self._get_via_idc(lay_vec[0], lay_vec[1], cut_w, cut_h, dim_vec[0], dim_vec[1],
+                                array, dc_temp)
+        # via do not have AC current specs
+        irms = float('inf')
+        ipeak = float('inf')
+        return idc, irms, ipeak
+
+    def get_res_em_specs(self, res_type: str, w: int, *, length: int = -1,
+                         dc_temp: int = -1000, rms_dt: int = -1000) -> Tuple[float, float, float]:
+        dc_temp = self.get_dc_temp(dc_temp)
+        rms_dt = self.get_rms_dt(rms_dt)
+
+        idc_scale = self.get_idc_scale_factor('', '', dc_temp, is_res=True)
+        idc = 1.0e-3 * w * idc_scale
+
+        irms = 1e-3 * (0.02 * rms_dt * w * (w + 0.5)) ** 0.5
+
+        ipeak = 5e-3 * 2 * w
+        return idc, irms, ipeak
+
+    # noinspection PyUnusedLocal,PyMethodMayBeStatic
+    def _get_metal_idc_factor(self, layer: str, purpose: str, w: int, length: int):
+        return 1
+
+    def _get_metal_idc(self, layer: str, purpose: str, w: int, length: int,
+                       vertical: bool, dc_temp: int) -> float:
+        if vertical:
+            raise NotImplementedError('Vertical DC current not supported yet')
+
+        inorm, woff = 1.0, 0.0
+        idc = inorm * self._get_metal_idc_factor(layer, purpose, w, length) * (w - woff)
+        return self.get_idc_scale_factor(layer, purpose, self.get_dc_temp(dc_temp)) * idc * 1e-3
+
+    # noinspection PyUnusedLocal
+    def _get_metal_irms(self, layer: str, purpose: str, w: int, rms_dt: int):
+        b = 0.0443
+        k, wo, a = 6.0, 0.0, 0.2
+
+        irms_ma = (k * self.get_rms_dt(rms_dt) * (w - wo)**2 * (w - wo + a) / (w - wo + b))**0.5
+        return irms_ma * 1e-3
+
+    # noinspection PyUnusedLocal
+    def _get_via_idc(self, bot_lp: Tuple[str, str], top_lp: Tuple[str, str], cut_w: int,
+                     cut_h: int, bot_dim: Tuple[int, int], top_dim: Tuple[int, int],
+                     array: bool, dc_temp: int) -> float:
+        if bot_dim[0] > 0:
+            bf = self._get_metal_idc_factor(bot_lp[0], bot_lp[1], bot_dim[0], bot_dim[1])
+        else:
+            bf = 1.0
+
+        if top_dim[0] > 0:
+            tf = self._get_metal_idc_factor(top_lp[0], top_lp[1], top_dim[0], top_dim[1])
+        else:
+            tf = 1.0
+
+        factor = min(bf, tf)
+        via_id = self.config['via_id'][(bot_lp, top_lp)]
+
+        if via_id in ('M1_LiPo', 'M1_LiAct', 'M2_M1', 'M3_M2', 'M4_M3'):
+            if cut_w == cut_h == 64:
+                idc = 0.1
+            elif cut_w != cut_h:
+                idc = 0.2
+            else:
+                # we do not support 2X square via, as it has large
+                # spacing rule to square/rectangle vias.
+                raise ValueError('Unsupported via w/h: ({},{})'.format(cut_w, cut_h))
+        else:
+            idc = 0.4
+
+        temp = self.get_dc_temp(dc_temp)
+        return factor * self.get_idc_scale_factor(bot_lp[0], bot_lp[1], temp) * idc * 1e-3
diff --git a/src/templates_skywater130/util.py b/src/templates_skywater130/util.py
new file mode 100644
index 0000000..e19eb02
--- /dev/null
+++ b/src/templates_skywater130/util.py
@@ -0,0 +1,96 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+
+from typing import Optional, Tuple
+
+
+from pybag.core import BBox
+
+from xbase.layout.enum import MOSType
+from xbase.layout.data import LayoutInfoBuilder
+
+
+def add_base(builder: LayoutInfoBuilder, row_type: MOSType, threshold: str, imp_y: Tuple[int, int],
+             rect: BBox, well_x: Optional[Tuple[int, int]] = None) -> None:
+    if rect.is_physical():
+        if not row_type.is_pwell:
+            well_lp = ('nwell', 'drawing')
+            if well_x is None:
+                builder.add_rect_arr(well_lp, rect)
+            else:
+                builder.add_rect_arr(well_lp, BBox(well_x[0], rect.yl, well_x[1], rect.yh))
+
+        if row_type.is_n_plus:
+            builder.add_rect_arr(('nsdm', 'drawing'), rect)
+        else:
+            pimp_lp = ('psdm', 'drawing')
+            nimp_lp = ('nsdm', 'drawing')
+            if rect.yl < imp_y[0]:
+                builder.add_rect_arr(nimp_lp, BBox(rect.xl, rect.yl, rect.xh, imp_y[0]))
+            if imp_y[1] < rect.yh:
+                builder.add_rect_arr(nimp_lp, BBox(rect.xl, imp_y[1], rect.xh, rect.yh))
+            if imp_y[0] < imp_y[1]:
+                builder.add_rect_arr(pimp_lp, BBox(rect.xl, imp_y[0], rect.xh, imp_y[1]))
+
+        thres_lp = _get_thres_lp(row_type, threshold)
+        if thres_lp[0] != '':
+            builder.add_rect_arr(thres_lp, rect)
+
+
+def get_arr_edge_dim(arr_dim: int, edge_min_dim: int, blk_pitch: int, edge_pitch: int = 1,
+                     edge_offset: int = 0) -> int:
+    dim_tot = -(-(arr_dim + 2 * edge_min_dim) // blk_pitch) * blk_pitch
+    dim2 = dim_tot - arr_dim
+    if dim2 & 1 == 1:
+        if blk_pitch & 1 == 1:
+            dim2 += blk_pitch
+        else:
+            raise RuntimeError(f'Parity Error: impossible to center ArrayBase with '
+                               f'arr_dim={arr_dim}, blk_pitch={blk_pitch}, '
+                               f'and edge_min_dim={edge_min_dim}.')
+
+    ans = dim2 // 2
+    if (ans - edge_offset) % edge_pitch != 0:
+        # precondition: we know that edge_pitch divides blk_pitch
+        blk_pitch2 = blk_pitch // 2
+        if blk_pitch & 1 != 0 or (ans + blk_pitch2 - edge_offset) % edge_pitch != 0:
+            raise RuntimeError(f'Parity Error: impossible to center ArrayBase with '
+                               f'arr_dim={arr_dim}, blk_pitch={blk_pitch}, '
+                               f'edge_min_dim={edge_min_dim}, edge_pitch={edge_pitch}, '
+                               f'and edge_offset={edge_offset}')
+        ans += blk_pitch2
+
+    return ans
+
+
+def _get_thres_lp(row_type: MOSType, threshold: str) -> Tuple[str, str]:
+    if threshold == 'standard':
+        return '', ''
+    if threshold == 'lvt':
+        return 'lvtn', 'drawing'
+    if threshold == 'hvt':
+        if row_type.is_n_plus:
+            raise ValueError('Threshold hvt not supported for nmos')
+        return 'hvtp', 'drawing'
+    raise ValueError(f'unknown threshold: {threshold}')
diff --git a/tech_config.yaml b/tech_config.yaml
new file mode 100644
index 0000000..1f7b5a2
--- /dev/null
+++ b/tech_config.yaml
@@ -0,0 +1,71 @@
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+# the Technology class.
+class: "templates_skywater130.tech.TechInfoSkywater130"
+
+# default EM spec calculation settings
+em:
+  # DC current temperature
+  dc_temp: 70
+  # RMS current allowable temperature increase
+  rms_dt: 10
+
+# transistor technology parameters
+mos:
+  # the transistor width minimum resolution.
+  width_resolution: 1.0e-9
+  # the transistor length minimum resolution.
+  length_resolution: 1.0e-9
+
+# routing grid parameters
+routing_grid:
+  1: [y, 52,  34]
+  2: [x, 56,  70]
+  3: [y, 66,  106]
+  4: [x, 66,  60]
+  5: [y, 284, 232]
+
+# MOM cap parameters
+mom_cap:
+  standard:
+    bot_dir: x
+    info:
+      # w, sp, margin, num_ports, port_tr_w
+      1: !!python/tuple [64, 64, 120, 2, 1]
+      2: !!python/tuple [64, 64, 120, 2, 1]
+      3: !!python/tuple [64, 64, 120, 2, 1]
+      4: !!python/tuple [64, 96, 96, 1, 1]
+      5: !!python/tuple [116, 136, 136, 1, 1]
+      6: !!python/tuple [116, 136, 136, 1, 1]
+      7: !!python/tuple [138, 180, 180, 1, 1]
+      8: !!python/tuple [440, 400, 400, 1, 1]
+
+# fill parameters
+fill:
+  # sp_x, sp_y, margin_x, margin_y, density
+  1: !!python/tuple [2000, 2000, 1000, 1000, 0.2]
+  2: !!python/tuple [2000, 2000, 1000, 1000, 0.2]
+  3: !!python/tuple [2000, 2000, 1000, 1000, 0.2]
+  4: !!python/tuple [2000, 2000, 1000, 1000, 0.2]
+  5: !!python/tuple [2000, 2000, 1000, 1000, 0.2]
+  6: !!python/tuple [2000, 2000, 1000, 1000, 0.2]
+  7: !!python/tuple [2000, 2000, 1000, 1000, 0.2]
+  8: !!python/tuple [2000, 2000, 1000, 1000, 0.2]
diff --git a/workspace_setup/.bashrc b/workspace_setup/.bashrc
new file mode 100644
index 0000000..7a214e8
--- /dev/null
+++ b/workspace_setup/.bashrc
@@ -0,0 +1,75 @@
+#! /usr/bin/env bash
+
+### Setup BAG
+export BAG_TOOLS_ROOT=/tools/bag3/core
+source .bashrc_bag
+
+# PDK specific stuff
+export SW_PDK_ROOT=${BAG_TECH_CONFIG_DIR}/workspace_setup/PDK_root
+export PDK_HOME=${BAG_TECH_CONFIG_DIR}/workspace_setup/PDK
+export METAL_STACK=s8phirs_10r
+
+# calibre setup
+export MGLS_LICENSE_FILE=5282@login1.bcanalog.com
+export MGC_HOME=/tools/mentor/aoi_cal_2018.1_27.18
+export MGLS_HOME=/tools/mentor/mgls
+export CALIBRE_HOME=$MGC_HOME
+
+# location of various tools
+export CDS_INST_DIR=/tools/cadence/IC618
+export PEGASUS_HOME=/tools/cadence/PEGASUS184
+export SRR_HOME=/tools/cadence/SRR
+# export CDS_INST_DIR=/tools/cadence/IC618
+export SPECTRE_HOME=/tools/cadence/SPECTRE181
+export QRC_HOME=/tools/cadence/EXT191
+export INNOVUSHOME=/tools/cadence/installs/INNOVUS181
+export CDSLIB_HOME=/tools/bag3/programs/cdsLibPlugin
+export LATEX_BIN=/tools/texlive/2019/bin/x86_64-linux
+
+export CDSHOME=$CDS_INST_DIR
+export CDSLIB_TOOL=${CDSLIB_HOME}/tools.lnx86
+export MMSIM_HOME=${SPECTRE_HOME}
+
+# OA settings
+export OA_SRC_ROOT=/tools/bag3/programs/oa_22d6
+export OA_LINK_DIR=${OA_SRC_ROOT}/lib/linux_rhel60_64/opt
+# export OA_LINK_DIR=${OA_SRC_ROOT}/lib/linux_rhel50_gcc48x_64/opt
+export OA_CDS_ROOT=${CDS_INST_DIR}/oa_v22.60.007
+export OA_INCLUDE_DIR=${OA_SRC_ROOT}/include
+export OA_PLUGIN_PATH=${CDSLIB_HOME}/share/oaPlugIns:${OA_CDS_ROOT}/data/plugins:${OA_PLUGIN_PATH:-}
+export OA_BIT=64
+
+# PATH setup
+export PATH=${MGLS_HOME}/bin:${PATH}
+export PATH=${CALIBRE_HOME}/bin:${PATH}
+export PATH=${CDSLIB_TOOL}/bin:${PATH}
+export PATH=${PEGASUS_HOME}/bin:${PATH}
+export PATH=${CDS_INST_DIR}/tools/plot/bin:${PATH}
+export PATH=${CDS_INST_DIR}/tools/dfII/bin:${PATH}
+export PATH=${CDS_INST_DIR}/tools/bin:${PATH}
+export PATH=${MMSIM_HOME}/bin:${PATH}
+export PATH=${QRC_HOME}/bin:${PATH}
+export PATH=${LATEX_BIN}:${PATH}
+export PATH=${BAG_TOOLS_ROOT}/bin:${PATH}
+
+# LD_LIBRARY_PATH setup
+export LD_LIBRARY_PATH=${CDSLIB_TOOL}/lib/64bit:${LD_LIBRARY_PATH:-}
+export LD_LIBRARY_PATH=${OA_LINK_DIR}:${LD_LIBRARY_PATH}
+export LD_LIBRARY_PATH=${BAG_TOOLS_ROOT}/lib64:${LD_LIBRARY_PATH}
+export LD_LIBRARY_PATH=${BAG_TOOLS_ROOT}/lib:${LD_LIBRARY_PATH}
+export LD_LIBRARY_PATH=${SRR_HOME}/tools/lib/64bit:${LD_LIBRARY_PATH}
+
+# Virtuoso options
+export SPECTRE_DEFAULTS=-E
+export CDS_Netlisting_Mode="Analog"
+export CDS_AUTO_64BIT=ALL
+export CDS_LIC_FILE=5280@login1.bcanalog.com
+
+# pybag compiler settings
+export CMAKE_PREFIX_PATH=${BAG_TOOLS_ROOT}
+export HDF5_PLUGIN_PATH=${BAG_TOOLS_ROOT}/lib/hdf5/plugin
+
+# clear out PYTHONPATH
+export PYTHONPATH=""
+export PYTHONPATH_CUSTOM=${SRR_HOME}/tools/srrpython
+
diff --git a/workspace_setup/.bashrc_bag b/workspace_setup/.bashrc_bag
new file mode 100644
index 0000000..01a90fc
--- /dev/null
+++ b/workspace_setup/.bashrc_bag
@@ -0,0 +1,23 @@
+#! /usr/bin/env bash
+
+# set directory variables
+export BAG_WORK_DIR=$(pwd)
+export BAG_FRAMEWORK=${BAG_WORK_DIR}/BAG_framework
+export BAG_TECH_CONFIG_DIR=${BAG_WORK_DIR}/skywater130
+export BAG_TEMP_DIR=${BAG_WORK_DIR}/BAGTMP
+export IPYTHONDIR=${BAG_WORK_DIR}/.ipython
+# disable hash-salting. We need stable hashing across sessions for caching purposes.
+export PYTHONHASHSEED=0
+
+# set program locations
+export BAG_PYTHON=${BAG_TOOLS_ROOT}/bin/python3
+export BAG_JUPYTER=${BAG_TOOLS_ROOT}/bin/jupyter-notebook
+
+# set location of BAG configuration file
+export BAG_CONFIG_PATH=${BAG_WORK_DIR}/bag_config.yaml
+
+# change pycharm config file location
+export PYCHARM_PROPERTIES=/scratch/projects/${USER}/pycharm_setup/idea.properties
+
+# setup pybag
+export PYBAG_PYTHON=${BAG_PYTHON}
diff --git a/workspace_setup/.cdsenv b/workspace_setup/.cdsenv
new file mode 100644
index 0000000..57a9deb
--- /dev/null
+++ b/workspace_setup/.cdsenv
@@ -0,0 +1,90 @@
+license	VLSL_UseNextLicense	string	"always"
+license	ADEL_UseNextLicense	string	"always"
+license	VLSXL_UseNextLicense	string	"always"
+license	VSEL_UseNextLicense	string	"always"
+
+asimenv.startup	simulator	string	"spectre"
+; Allows you to use multibit buses in stimulus files [#in_bits<0>], [#in_bits<1>], etc
+asimenv         mappingMode     string  "oss"
+
+; have CDF term Order update whenever the symbol is updated
+auCore.misc     updateCDFtermOrder boolean t
+ihdl            maxNetNameLength   int  16000
+
+layout	stopLevel	int	32
+layout	dotsOn	boolean	t
+layout	useTrueBBox	boolean	t
+layout	xSnapSpacing	float	0.001
+layout	ySnapSpacing	float	0.001
+layout	displayPinNames	boolean	t
+
+; enable partial selection by defeault
+layout partialSelect boolean t
+
+; when move/copy/creating rectangles, automatically use the current mouse-over point.
+ui infix boolean t
+
+; set layout property dimension
+layout propEditorWidth int 500
+layout propEditorHeight int 580
+
+; set roman as default label font
+layout   labelFontStyle cyclic "roman"
+
+; disable connectivity reference dialog box
+layoutXL  lxSchematicDefaultApp  cyclic "None"
+
+; turn off via stack selection
+graphic       viaStackSelection       boolean nil
+
+; correct schematic/symbol port order automatically.
+; this makes DARPA cosim demo look good.
+schematic disablePortOrderPopup boolean t
+
+; default waveform display setup
+viva.trace lineStyle string "solid"
+viva.trace lineThickness string "thick"
+viva.rectGraph foreground string "black"
+viva.rectGraph background string "white"
+viva.axis majorGridForeground string "black"
+viva.axis minorGridForeground string "gray"
+viva.axis foreground string "black"
+viva.axis background string "white"
+viva.axis font string "Default,14,-1,5,75,0,0,0,0,0"
+viva.graphLabel font string "Default,14,-1,5,75,0,0,0,0,0"
+; viva.probe font string "Default,14,-1,5,75,0,0,0,0,0"
+; viva.traceLegend font string "Default,14,-1,5,75,0,0,0,0,0"
+
+; LSF setup parameters
+
+; default job name
+; asimenv.distributed userDefinedJobName string  "virtuoso_lsf"
+
+; use .cdsenv variables default and do not bring up job parameter form
+asimenv.distributed autoJobSubmit  boolean  t
+
+; set LSF resource string
+; asimenv.distributed selectLsfResourceString  boolean  t
+; asimenv.distributed lsfResourceString string "[ptile=4]"
+
+; set LSF queue name
+asimenv.distributed queueName  string  "normal"
+
+; use ssh for connection
+asimenv.distributed remoteShell string "ssh"
+
+; block ADE/Ocean until all jobs have finished
+asimenv.distributed block boolean  t
+
+; LSF jobs log directory
+; asimenv.distributed logsDir string "./LSF_logs"
+
+; delete job after it's complete; allows job name recycling
+; asimenv.distributed deleteJob boolean t
+
+; if you submit a job with the same name, delete old data
+; asimenv.distributed removeJobData boolean t
+
+; number of processors to use for LSF
+asimenv.distributed selectLsfNoOfProcessors boolean t
+asimenv.distributed lsfNoOfProcessors string "4"
diff --git a/workspace_setup/.cdsenv.personal b/workspace_setup/.cdsenv.personal
new file mode 100644
index 0000000..96a7d7e
--- /dev/null
+++ b/workspace_setup/.cdsenv.personal
@@ -0,0 +1,4 @@
+; set default window size and location
+; schematic symWindowBBox string "((20 20) (1900 1060))"
+; schematic schWindowBBox string "((20 20) (1900 1060))"
+; layout leWindowBBox string "((20 20) (1900 1060))"
diff --git a/workspace_setup/.cdsinit b/workspace_setup/.cdsinit
new file mode 100644
index 0000000..26d34a2
--- /dev/null
+++ b/workspace_setup/.cdsinit
@@ -0,0 +1,150 @@
+
+printf("STARTING CDSINIT\n")
+
+; load configuration skill scripts.
+let( (configFileList file path saveSkillPath)
+    configFileList = '(
+                    )
+    ; paths of the configuration files.
+    path = strcat(
+              ".  ~  "
+              prependInstallPath("local ")
+             )
+    saveSkillPath=getSkillPath()
+    setSkillPath(path)
+
+    foreach(file configFileList
+       if(isFile(file) then
+          loadi(file)
+         )
+    )
+    setSkillPath(saveSkillPath)
+)
+
+; load key bindings scripts
+let( (bindKeyFileList file path saveSkillPath)
+    bindKeyFileList = '(
+                   "leBindKeys.il"
+                   "schBindKeys.il"
+                    )
+    ; paths of key binding scripts
+    path = strcat(
+              ".  ~  "
+              prependInstallPath("local ")
+              prependInstallPath("samples/local")
+             )
+    saveSkillPath=getSkillPath()
+    setSkillPath(path)
+
+    foreach(file bindKeyFileList
+       if(isFile(file ) then
+          loadi(file)
+         )
+    )
+    setSkillPath(saveSkillPath)
+)
+
+sstatus(writeProtect nil)
+
+let((skillPath)
+   skillPath= strcat(
+    ". ~ "                                          ; Current & home directory
+    prependInstallPath("samples/techfile ")         ; sample source technology files
+   )
+   setSkillPath(skillPath)
+)
+
+;
+; check CALIBRE_HOME
+;
+cal_home=getShellEnvVar("CALIBRE_HOME")
+if( cal_home==nil then
+    cal_home=getShellEnvVar("MGC_HOME")
+    if( cal_home!=nil then
+        printf("// CALIBRE_HOME environment variable not set; setting it to value of MGC_HOME\n");
+    )
+)
+
+if( cal_home!=nil && isDir(cal_home) && isReadable(cal_home) then
+
+    ; Load calibre.skl or calibre.4.3.skl, not both!
+
+    if( getShellEnvVar("MGC_CALIBRE_REALTIME_VIRTUOSO_ENABLED") &&
+        getShellEnvVar("MGC_REALTIME_HOME") && dbGetDatabaseType()=="OpenAccess" then
+      load(strcat(getShellEnvVar("MGC_REALTIME_HOME") "/lib/calibre.skl"))
+    else
+      ; Load calibre.skl for Cadence versions 4.4 and greater
+      load(strcat(cal_home "/lib/calibre.skl"))
+    )
+
+    ;;;;Load calibre.4.3.skl for Cadence version 4.3
+    ;;; load(strcat(cal_home "/lib/calibre.4.3.skl"))
+
+else
+
+    ; CALIBRE_HOME is not set correctly. Report the problem.
+
+    printf("//  Calibre Error: Environment variable ")
+
+    if( cal_home==nil || cal_home=="" then
+        printf("CALIBRE_HOME is not set.");
+    else
+        if( !isDir(cal_home) then
+            printf("CALIBRE_HOME does not point to a directory.");
+        else
+            if( !isReadable(cal_home) then
+                printf("CALIBRE_HOME points to an unreadable directory.");
+            )
+        )
+    )
+    printf(" Calibre Skill Interface not loaded.\n")
+
+    ; Display a dialog box message about load failure.
+
+    hiDisplayAppDBox(
+        ?name           'MGCHOMEErrorDlg
+        ?dboxBanner     "Calibre Error"
+        ?dboxText       "Calibre Skill Interface not loaded."
+        ?dialogType     hicErrorDialog
+        ?dialogStyle    'modal
+       ?buttonLayout   'Close
+    )
+)
+
+printf("END OF STANDARD CONFIG SETTINGS\n")
+
+; set default editor
+editor = "emacs"
+
+envLoadFile( "./.cdsenv" )
+
+if( isFile( ".cdsenv.personal" ) then
+    envLoadFile( ".cdsenv.personal" )
+)
+
+cdlOutKeys = list(nil
+    'incFILE                   "$BAG_TECH_CONFIG_DIR/calibre_setup/source.added"
+)
+
+if( isFile( ".cdsinit.personal" ) then
+    load(".cdsinit.personal")
+)
+
+; open library manager
+ddsOpenLibManager()
+
+
+;; Set Default Model Files.  Note the "#;" de-selects the model call.
+
+setModelFiles=strcat(
+   " " getShellEnvVar("PDK_HOME") "MODELS/SPECTRE" getShellEnvVar("METAL_STACK") "/Models/design_wrapper.lib.scs;tt_fet"
+   " " getShellEnvVar("PDK_HOME") "MODELS/SPECTRE/" getShellEnvVar("METAL_STACK") "/Models/design_wrapper.lib.scs;tt_cell"
+   " " getShellEnvVar("PDK_HOME") "MODELS/SPECTRE/" getShellEnvVar("METAL_STACK") "/Models/design_wrapper.lib.scs;tt_parRC"
+   " " getShellEnvVar("PDK_HOME") "MODELS/SPECTRE/" getShellEnvVar("METAL_STACK") "/Models/design_wrapper.lib.scs;tt_rc"
+   " " getShellEnvVar("PDK_HOME") "MODELS/SPECTRE/" getShellEnvVar("METAL_STACK") "/Models/design_wrapper.lib.scs;npn_t"
+)
+envSetVal("spectre.envOpts" "modelFiles" 'string setModelFiles)
+envSetVal("spectre.envOpts" "controlMode" 'string "batch")
+
+
+printf("END OF CUSTOM CONFIG SETTINGS\n")
diff --git a/workspace_setup/.cdsinit.personal b/workspace_setup/.cdsinit.personal
new file mode 100644
index 0000000..a726377
--- /dev/null
+++ b/workspace_setup/.cdsinit.personal
@@ -0,0 +1,5 @@
+; set simulation results to be saved in /tools/scratch
+envSetVal("asimenv.startup" "projectDir" 'string sprintf( nil "%s/simulation" getShellEnvVar( "BAG_WORK_DIR" ) ) )
+
+; resize CIW window
+; hiResizeWindow(window(1) list(540:100 1260:480))
diff --git a/workspace_setup/.gitignore b/workspace_setup/.gitignore
new file mode 100644
index 0000000..b0d68f7
--- /dev/null
+++ b/workspace_setup/.gitignore
@@ -0,0 +1,60 @@
+# python/IDE files
+*.pyc
+__pycache__
+venv
+
+# Pycharm files
+.idea/workspace.xml
+.idea/usage.statistics.xml
+.idea/tasks.xml
+
+# misc edit/log files
+*~
+*.log
+IPOPT.out
+lsyncd.status
+
+# misc BAG files
+bag_sim
+bag_stimuli
+gen_outputs
+BAG_server_port.txt
+BAG_sim_server_port.txt
+pytest_output
+
+
+# misc configuration/history files
+.ipython
+.jupyter
+.ipynb_checkpoints
+
+# generated files/directories
+calibre_run
+gen_libs
+pvs_run
+cds.lib
+BAGTMP
+spectre_run
+cdl_netlist
+netlist
+sim
+gen_output
+
+# cadence files
+.abstract
+.cadence
+*.cdslck
+.calibreviewsetup
+.tmp_*
+libManager.log.*
+abstract*
+
+# calibre files
+.cgidrcdb
+.cgilvsdb
+calibreview.setup
+
+# pvs files
+.QRC.run
+.preRcx.Last.State
+.qrc.Last.state
diff --git a/workspace_setup/.simrc b/workspace_setup/.simrc
new file mode 100644
index 0000000..ccb3f02
--- /dev/null
+++ b/workspace_setup/.simrc
@@ -0,0 +1,2 @@
+auCdlCDFPinCntrl = 't
+auCdlSkipMEGA = 't
diff --git a/workspace_setup/PDK b/workspace_setup/PDK
new file mode 120000
index 0000000..8c2529c
--- /dev/null
+++ b/workspace_setup/PDK
@@ -0,0 +1 @@
+PDK_root/V1.3.0
\ No newline at end of file
diff --git a/workspace_setup/bag_config.yaml b/workspace_setup/bag_config.yaml
new file mode 100644
index 0000000..4b24bce
--- /dev/null
+++ b/workspace_setup/bag_config.yaml
@@ -0,0 +1,146 @@
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+# BAG socket configuration
+socket:
+  # the host running the database.  localhost if on the same machine.
+  host: "localhost"
+  # the port to communicate with.
+  port_file: "BAG_server_port.txt"
+  # the log file for socket communication debugging
+  log_file: "BAG_socket.log"
+  # number of messages allowed in a pipeline
+  pipeline: 100
+
+# CAD database configuration
+# Right now only virtuoso is supported.
+database:
+  # the python class that handles database interaction.
+  class: "bag.interface.oa.OAInterface"
+  # default directory to create generated libraries in.
+  default_lib_path: "${BAG_WORK_DIR}/gen_libs"
+  # If true, then everytime we generate schematic/layout from BAG, all opened cellviews are closed
+  close_all_cellviews: False
+
+  # configurations for schematic import and generation
+  schematic:
+    # technology library to configure new libraries with
+    tech_lib: "s8phirs_10r"
+    # libraries to exclude for schematic import
+    exclude_libraries: ["analogLib", "basic", "s8phirs_10r"]
+    # libraries to exclude for modeling purposes
+    model_exclude_libraries: []
+    # cells to exclude for modeling purposes
+    model_exclude_cells:
+      basic: ['noConn']
+  # configurations for testbench creation
+  testbench:
+    # config view global libraries
+    config_libs: "s8phirs_10r analogLib basic"
+    # config view cellviews
+    config_views: "spectre schematic av_extracted veriloga"
+    # config view stop cellviews
+    config_stops: "spectre veriloga"
+    # default simulation environment name
+    default_env: "tt"
+    # simulation environment file
+    env_file: "${BAG_TECH_CONFIG_DIR}/corners_setup.yaml"
+    # definition files to include
+    def_files: []
+  # configurations used to create a Checker object to run LVS/RCX
+  checker:
+    # the Checker class.
+    checker_cls: 'bag.verification.calibre.Calibre'
+    # program used to run extraction
+    rcx_program: 'qrc'
+    # maximum number of sub-processes BAG can launch.
+    max_workers: 2
+    # source.added location
+    source_added_file: "${BAG_TECH_CONFIG_DIR}/calibre_setup/source.added"
+    # root directories
+    root_dir:
+      drc: '${BAG_WORK_DIR}/calibre_run/drc'
+      lvs: '${BAG_WORK_DIR}/calibre_run/lvs'
+      rcx: '${BAG_WORK_DIR}/calibre_run/rcx'
+    # jinja template control files
+    template:
+      drc: '${BAG_TECH_CONFIG_DIR}/calibre_setup/drc.svrf'
+      lvs: '${BAG_TECH_CONFIG_DIR}/calibre_setup/lvs.svrf'
+      rcx: ''
+    # environment variables
+    env_vars:
+      drc: {}
+      lvs: {}
+      rcx: {}
+    link_files:
+      drc: []
+      lvs: []
+      rcx: []
+    # default parameters
+    params:
+      drc: {}
+      lvs: {}
+      rcx: {}
+
+# Simulation configurations
+simulation:
+  # python class that talks with the simulator
+  class: "bag.simulation.spectre.SpectreInterface"
+  # maximum number of processes BAG can launch.
+  max_workers: 6
+  # when simulation goes long, a reminder message will be printed at this interval
+  update_timeout_ms: 120000
+  # amount of time to wait for process cancellation to succeed.
+  cancel_timeout_ms: 10000
+  # corner configuration file
+  env_file: "${BAG_TECH_CONFIG_DIR}/corners_setup.yaml"
+  # command settings
+  kwargs:
+    # the command to start
+    command: spectre
+    # environment variables.  Null for same environment as SkillOceanServer.
+    env: !!null
+    # True to run in 64-bit mode
+    run_64: True
+    # output format
+    format: psfxl
+    # psf version
+    psfversion: '1.1'
+    options: ['++aps', '+lqtimeout', '0', '+mt=1', '+mp=1', '+postlayout', '+rcnet_fmax=25']
+  compress: True
+  rtol: 1.0e-8
+  atol: 1.0e-22
+
+# LEF generation configuration
+lef:
+  class: 'bag.interface.abstract.AbstractInterface'
+  run_dir: 'abstract_run'
+  options_file: '${BAG_TECH_CONFIG_DIR}/abstract_setup/bag_abstract.options'
+
+
+# technology specific configuration are stored in a separate file.
+# this field tells BAG where to look for it.
+tech_config_path: "${BAG_TECH_CONFIG_DIR}/tech_config.yaml"
+
+# BAG design libraries definition file.
+lib_defs: "bag_libs.def"
+
+# place to put new design libraries
+new_lib_path: "BagModules"
diff --git a/workspace_setup/bag_submodules.yaml b/workspace_setup/bag_submodules.yaml
new file mode 100644
index 0000000..4251600
--- /dev/null
+++ b/workspace_setup/bag_submodules.yaml
@@ -0,0 +1,32 @@
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+BAG_framework:
+  url: https://github.com/bluecheetah/bag.git
+  branch: master
+bag3_digital:
+  url: https://github.com/bluecheetah/bag3_digital.git
+  branch: master
+bag3_testbenches:
+  url: https://github.com/bluecheetah/bag3_testbenches.git
+  branch: master
+xbase_bcad:
+  url: https://github.com/bluecheetah/xbase.git
+  branch: master
diff --git a/workspace_setup/cds.lib.core b/workspace_setup/cds.lib.core
new file mode 100644
index 0000000..7ae3529
--- /dev/null
+++ b/workspace_setup/cds.lib.core
@@ -0,0 +1,21 @@
+# cadence base libraries
+DEFINE     analogLib    $CDSHOME/tools/dfII/etc/cdslib/artist/analogLib
+DEFINE     basic        $CDSHOME/tools/dfII/etc/cdslib/basic
+
+# technology base libraries
+DEFINE     s8phirs_10r  $BAG_TECH_CONFIG_DIR/workspace_setup/PDK/VirtuosoOA/libs/s8phirs_10r
+# legacy libraries
+DEFINE	   tech		$BAG_TECH_CONFIG_DIR/workspace_setup/PDK/VirtuosoOA/libs/tech 
+DEFINE	   technology_library		$BAG_TECH_CONFIG_DIR/workspace_setup/PDK/VirtuosoOA/libs/technology_library 
+DEFINE	   s8rf		$BAG_TECH_CONFIG_DIR/workspace_setup/PDK/VirtuosoOA/libs/s8rf 
+DEFINE	   s8rf2	$BAG_TECH_CONFIG_DIR/workspace_setup/PDK/VirtuosoOA/libs/s8rf2 
+DEFINE	   s8rf2_dv	$BAG_TECH_CONFIG_DIR/workspace_setup/PDK/VirtuosoOA/libs/s8rf2_dv
+
+ASSIGN tech DISPLAY Invisible 
+ASSIGN technology_library DISPLAY Invisible 
+#ASSIGN s8rf DISPLAY Invisible 
+#ASSIGN s8rf2 DISPLAY Invisible 
+#ASSIGN s8rf2_dv DISPLAY Invisible 
+
+# BAG Libraries
+INCLUDE $BAG_WORK_DIR/cds.lib.bag
diff --git a/workspace_setup/display.drf b/workspace_setup/display.drf
new file mode 120000
index 0000000..14a5554
--- /dev/null
+++ b/workspace_setup/display.drf
@@ -0,0 +1 @@
+PDK/VirtuosoOA/libs/display.drf
\ No newline at end of file
diff --git a/workspace_setup/ipython_config.py b/workspace_setup/ipython_config.py
new file mode 100644
index 0000000..810c641
--- /dev/null
+++ b/workspace_setup/ipython_config.py
@@ -0,0 +1,599 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+
+# Configuration file for ipython.
+import os
+c = get_config()
+
+#------------------------------------------------------------------------------
+# InteractiveShellApp(Configurable) configuration
+#------------------------------------------------------------------------------
+
+## A Mixin for applications that start InteractiveShell instances.
+#
+#  Provides configurables for loading extensions and executing files as part of
+#  configuring a Shell environment.
+#
+#  The following methods should be called by the :meth:`initialize` method of the
+#  subclass:
+#
+#    - :meth:`init_path`
+#    - :meth:`init_shell` (to be implemented by the subclass)
+#    - :meth:`init_gui_pylab`
+#    - :meth:`init_extensions`
+#    - :meth:`init_code`
+
+## Execute the given command string.
+#c.InteractiveShellApp.code_to_run = ''
+
+## Run the file referenced by the PYTHONSTARTUP environment variable at IPython
+#  startup.
+#c.InteractiveShellApp.exec_PYTHONSTARTUP = True
+
+## List of files to run at IPython startup.
+c.InteractiveShellApp.exec_files = [
+]
+
+## lines of code to run at IPython startup.
+c.InteractiveShellApp.exec_lines = [
+    'import numpy as np',
+    # enable autoreload
+    '%autoreload 2',
+]
+
+## A list of dotted module names of IPython extensions to load.
+c.InteractiveShellApp.extensions = ['autoreload']
+
+## dotted module name of an IPython extension to load.
+#c.InteractiveShellApp.extra_extension = ''
+
+## A file to be run
+#c.InteractiveShellApp.file_to_run = ''
+
+## Enable GUI event loop integration with any of ('glut', 'gtk', 'gtk2', 'gtk3',
+#  'osx', 'pyglet', 'qt', 'qt4', 'qt5', 'tk', 'wx', 'gtk2', 'qt4').
+# c.InteractiveShellApp.gui = 'qt5'
+
+## Should variables loaded at startup (by startup files, exec_lines, etc.) be
+#  hidden from tools like %who?
+#c.InteractiveShellApp.hide_initial_ns = True
+
+## Configure matplotlib for interactive use with the default matplotlib backend.
+#c.InteractiveShellApp.matplotlib = None
+
+## Run the module as a script.
+#c.InteractiveShellApp.module_to_run = ''
+
+## Pre-load matplotlib and numpy for interactive use, selecting a particular
+#  matplotlib backend and loop integration.
+#c.InteractiveShellApp.pylab = None
+
+## If true, IPython will populate the user namespace with numpy, pylab, etc. and
+#  an ``import *`` is done from numpy and pylab, when using pylab mode.
+#
+#  When False, pylab mode should not import any names into the user namespace.
+#c.InteractiveShellApp.pylab_import_all = True
+
+## Reraise exceptions encountered loading IPython extensions?
+#c.InteractiveShellApp.reraise_ipython_extension_failures = False
+
+#------------------------------------------------------------------------------
+# Application(SingletonConfigurable) configuration
+#------------------------------------------------------------------------------
+
+## This is an application.
+
+## The date format used by logging formatters for %(asctime)s
+#c.Application.log_datefmt = '%Y-%m-%d %H:%M:%S'
+
+## The Logging format template
+#c.Application.log_format = '[%(name)s]%(highlevel)s %(message)s'
+
+## Set the log level by value or name.
+#c.Application.log_level = 30
+
+#------------------------------------------------------------------------------
+# BaseIPythonApplication(Application) configuration
+#------------------------------------------------------------------------------
+
+## IPython: an enhanced interactive Python shell.
+
+## Whether to create profile dir if it doesn't exist
+#c.BaseIPythonApplication.auto_create = False
+
+## Whether to install the default config files into the profile dir. If a new
+#  profile is being created, and IPython contains config files for that profile,
+#  then they will be staged into the new directory.  Otherwise, default config
+#  files will be automatically generated.
+#c.BaseIPythonApplication.copy_config_files = False
+
+## Path to an extra config file to load.
+#
+#  If specified, load this config file in addition to any other IPython config.
+#c.BaseIPythonApplication.extra_config_file = u''
+
+## The name of the IPython directory. This directory is used for logging
+#  configuration (through profiles), history storage, etc. The default is usually
+#  $HOME/.ipython. This option can also be specified through the environment
+#  variable IPYTHONDIR.
+#c.BaseIPythonApplication.ipython_dir = u''
+
+## Whether to overwrite existing config files when copying
+#c.BaseIPythonApplication.overwrite = False
+
+## The IPython profile to use.
+#c.BaseIPythonApplication.profile = u'default'
+
+## Create a massive crash report when IPython encounters what may be an internal
+#  error.  The default is to append a short message to the usual traceback
+#c.BaseIPythonApplication.verbose_crash = False
+
+#------------------------------------------------------------------------------
+# TerminalIPythonApp(BaseIPythonApplication,InteractiveShellApp) configuration
+#------------------------------------------------------------------------------
+
+## Whether to display a banner upon starting IPython.
+# c.TerminalIPythonApp.display_banner = True
+
+## If a command or file is given via the command-line, e.g. 'ipython foo.py',
+#  start an interactive shell after executing the file or command.
+#c.TerminalIPythonApp.force_interact = False
+
+## Start IPython quickly by skipping the loading of config files.
+#c.TerminalIPythonApp.quick = False
+
+#------------------------------------------------------------------------------
+# InteractiveShell(SingletonConfigurable) configuration
+#------------------------------------------------------------------------------
+
+## An enhanced, interactive shell for Python.
+
+## 'all', 'last', 'last_expr' or 'none', specifying which nodes should be run
+#  interactively (displaying output from expressions).
+#c.InteractiveShell.ast_node_interactivity = 'last_expr'
+
+## A list of ast.NodeTransformer subclass instances, which will be applied to
+#  user input before code is run.
+#c.InteractiveShell.ast_transformers = []
+
+## Make IPython automatically call any callable object even if you didn't type
+#  explicit parentheses. For example, 'str 43' becomes 'str(43)' automatically.
+#  The value can be '0' to disable the feature, '1' for 'smart' autocall, where
+#  it is not applied if there are no more arguments on the line, and '2' for
+#  'full' autocall, where all callable objects are automatically called (even if
+#  no arguments are present).
+#c.InteractiveShell.autocall = 0
+
+## Autoindent IPython code entered interactively.
+#c.InteractiveShell.autoindent = True
+
+## Enable magic commands to be called without the leading %.
+#c.InteractiveShell.automagic = True
+
+## The part of the banner to be printed before the profile
+#c.InteractiveShell.banner1 = 'Python 2.7.12 |Anaconda custom (64-bit)| (default, Jul  2 2016, 17:42:40) \nType "copyright", "credits" or "license" for more information.\n\nIPython 5.1.0 -- An enhanced Interactive Python.\n?         -> Introduction and overview of IPython\'s features.\n%quickref -> Quick reference.\nhelp      -> Python\'s own help system.\nobject?   -> Details about \'object\', use \'object??\' for extra details.\n'
+
+## The part of the banner to be printed after the profile
+#c.InteractiveShell.banner2 = ''
+
+## Set the size of the output cache.  The default is 1000, you can change it
+#  permanently in your config file.  Setting it to 0 completely disables the
+#  caching system, and the minimum value accepted is 20 (if you provide a value
+#  less than 20, it is reset to 0 and a warning is issued).  This limit is
+#  defined because otherwise you'll spend more time re-flushing a too small cache
+#  than working
+#c.InteractiveShell.cache_size = 1000
+
+## Use colors for displaying information about objects. Because this information
+#  is passed through a pager (like 'less'), and some pagers get confused with
+#  color codes, this capability can be turned off.
+#c.InteractiveShell.color_info = True
+
+## Set the color scheme (NoColor, Neutral, Linux, or LightBG).
+c.InteractiveShell.colors = 'Linux'
+
+##
+#c.InteractiveShell.debug = False
+
+## **Deprecated**
+#
+#  Will be removed in IPython 6.0
+#
+#  Enable deep (recursive) reloading by default. IPython can use the deep_reload
+#  module which reloads changes in modules recursively (it replaces the reload()
+#  function, so you don't need to change anything to use it). `deep_reload`
+#  forces a full reload of modules whose code may have changed, which the default
+#  reload() function does not.  When deep_reload is off, IPython will use the
+#  normal reload(), but deep_reload will still be available as dreload().
+#c.InteractiveShell.deep_reload = False
+
+## Don't call post-execute functions that have failed in the past.
+#c.InteractiveShell.disable_failing_post_execute = False
+
+## If True, anything that would be passed to the pager will be displayed as
+#  regular output instead.
+#c.InteractiveShell.display_page = False
+
+## (Provisional API) enables html representation in mime bundles sent to pagers.
+#c.InteractiveShell.enable_html_pager = False
+
+## Total length of command history
+#c.InteractiveShell.history_length = 10000
+
+## The number of saved history entries to be loaded into the history buffer at
+#  startup.
+#c.InteractiveShell.history_load_length = 1000
+
+##
+#c.InteractiveShell.ipython_dir = ''
+
+## Start logging to the given file in append mode. Use `logfile` to specify a log
+#  file to **overwrite** logs to.
+#c.InteractiveShell.logappend = ''
+
+## The name of the logfile to use.
+#c.InteractiveShell.logfile = ''
+
+## Start logging to the default log file in overwrite mode. Use `logappend` to
+#  specify a log file to **append** logs to.
+#c.InteractiveShell.logstart = False
+
+##
+#c.InteractiveShell.object_info_string_level = 0
+
+## Automatically call the pdb debugger after every exception.
+#c.InteractiveShell.pdb = False
+
+## Deprecated since IPython 4.0 and ignored since 5.0, set
+#  TerminalInteractiveShell.prompts object directly.
+#c.InteractiveShell.prompt_in1 = 'In [\\#]: '
+
+## Deprecated since IPython 4.0 and ignored since 5.0, set
+#  TerminalInteractiveShell.prompts object directly.
+#c.InteractiveShell.prompt_in2 = '   .\\D.: '
+
+## Deprecated since IPython 4.0 and ignored since 5.0, set
+#  TerminalInteractiveShell.prompts object directly.
+#c.InteractiveShell.prompt_out = 'Out[\\#]: '
+
+## Deprecated since IPython 4.0 and ignored since 5.0, set
+#  TerminalInteractiveShell.prompts object directly.
+#c.InteractiveShell.prompts_pad_left = True
+
+##
+#c.InteractiveShell.quiet = False
+
+##
+#c.InteractiveShell.separate_in = '\n'
+
+##
+#c.InteractiveShell.separate_out = ''
+
+##
+#c.InteractiveShell.separate_out2 = ''
+
+## Show rewritten input, e.g. for autocall.
+#c.InteractiveShell.show_rewritten_input = True
+
+## Enables rich html representation of docstrings. (This requires the docrepr
+#  module).
+#c.InteractiveShell.sphinxify_docstring = False
+
+##
+#c.InteractiveShell.wildcards_case_sensitive = True
+
+##
+#c.InteractiveShell.xmode = 'Context'
+
+#------------------------------------------------------------------------------
+# TerminalInteractiveShell(InteractiveShell) configuration
+#------------------------------------------------------------------------------
+
+## Set to confirm when you try to exit IPython with an EOF (Control-D in Unix,
+#  Control-Z/Enter in Windows). By typing 'exit' or 'quit', you can force a
+#  direct exit without any confirmation.
+#c.TerminalInteractiveShell.confirm_exit = True
+
+## Options for displaying tab completions, 'column', 'multicolumn', and
+#  'readlinelike'. These options are for `prompt_toolkit`, see `prompt_toolkit`
+#  documentation for more information.
+#c.TerminalInteractiveShell.display_completions = 'multicolumn'
+
+## Shortcut style to use at the prompt. 'vi' or 'emacs'.
+#c.TerminalInteractiveShell.editing_mode = 'emacs'
+
+## Set the editor used by IPython (default to $EDITOR/vi/notepad).
+c.TerminalInteractiveShell.editor = 'gvim'
+
+## Highlight matching brackets .
+#c.TerminalInteractiveShell.highlight_matching_brackets = True
+
+## The name of a Pygments style to use for syntax highlighting:  manni, igor,
+#  lovelace, xcode, vim, autumn, vs, rrt, native, perldoc, borland, tango, emacs,
+#  friendly, monokai, paraiso-dark, colorful, murphy, bw, pastie, algol_nu,
+#  paraiso-light, trac, default, algol, fruity
+c.TerminalInteractiveShell.highlighting_style = 'paraiso-dark'
+
+## Override highlighting format for specific tokens
+#c.TerminalInteractiveShell.highlighting_style_overrides = {}
+
+## Enable mouse support in the prompt
+#c.TerminalInteractiveShell.mouse_support = False
+
+## Class used to generate Prompt token for prompt_toolkit
+#c.TerminalInteractiveShell.prompts_class = 'IPython.terminal.prompts.Prompts'
+
+## Use `raw_input` for the REPL, without completion, multiline input, and prompt
+#  colors.
+#
+#  Useful when controlling IPython as a subprocess, and piping STDIN/OUT/ERR.
+#  Known usage are: IPython own testing machinery, and emacs inferior-shell
+#  integration through elpy.
+#
+#  This mode default to `True` if the `IPY_TEST_SIMPLE_PROMPT` environment
+#  variable is set, or the current terminal is not a tty.
+#c.TerminalInteractiveShell.simple_prompt = False
+
+## Number of line at the bottom of the screen to reserve for the completion menu
+#c.TerminalInteractiveShell.space_for_menu = 6
+
+## Automatically set the terminal title
+c.TerminalInteractiveShell.term_title = False
+
+## Use 24bit colors instead of 256 colors in prompt highlighting. If your
+#  terminal supports true color, the following command should print 'TRUECOLOR'
+#  in orange: printf "\x1b[38;2;255;100;0mTRUECOLOR\x1b[0m\n"
+#c.TerminalInteractiveShell.true_color = False
+
+#------------------------------------------------------------------------------
+# HistoryAccessor(HistoryAccessorBase) configuration
+#------------------------------------------------------------------------------
+
+## Access the history database without adding to it.
+#
+#  This is intended for use by standalone history tools. IPython shells use
+#  HistoryManager, below, which is a subclass of this.
+
+## Options for configuring the SQLite connection
+#
+#  These options are passed as keyword args to sqlite3.connect when establishing
+#  database conenctions.
+#c.HistoryAccessor.connection_options = {}
+
+## enable the SQLite history
+#
+#  set enabled=False to disable the SQLite history, in which case there will be
+#  no stored history, no SQLite connection, and no background saving thread.
+#  This may be necessary in some threaded environments where IPython is embedded.
+#c.HistoryAccessor.enabled = True
+
+## Path to file to use for SQLite history database.
+#
+#  By default, IPython will put the history database in the IPython profile
+#  directory.  If you would rather share one history among profiles, you can set
+#  this value in each, so that they are consistent.
+#
+#  Due to an issue with fcntl, SQLite is known to misbehave on some NFS mounts.
+#  If you see IPython hanging, try setting this to something on a local disk,
+#  e.g::
+#
+#      ipython --HistoryManager.hist_file=/tmp/ipython_hist.sqlite
+#
+#  you can also use the specific value `:memory:` (including the colon at both
+#  end but not the back ticks), to avoid creating an history file.
+#c.HistoryAccessor.hist_file = u''
+
+#------------------------------------------------------------------------------
+# HistoryManager(HistoryAccessor) configuration
+#------------------------------------------------------------------------------
+
+## A class to organize all history-related functionality in one place.
+
+## Write to database every x commands (higher values save disk access & power).
+#  Values of 1 or less effectively disable caching.
+#c.HistoryManager.db_cache_size = 0
+
+## Should the history database include output? (default: no)
+#c.HistoryManager.db_log_output = False
+
+#------------------------------------------------------------------------------
+# ProfileDir(LoggingConfigurable) configuration
+#------------------------------------------------------------------------------
+
+## An object to manage the profile directory and its resources.
+#
+#  The profile directory is used by all IPython applications, to manage
+#  configuration, logging and security.
+#
+#  This object knows how to find, create and manage these directories. This
+#  should be used by any code that wants to handle profiles.
+
+## Set the profile location directly. This overrides the logic used by the
+#  `profile` option.
+#c.ProfileDir.location = u''
+
+#------------------------------------------------------------------------------
+# BaseFormatter(Configurable) configuration
+#------------------------------------------------------------------------------
+
+## A base formatter class that is configurable.
+#
+#  This formatter should usually be used as the base class of all formatters. It
+#  is a traited :class:`Configurable` class and includes an extensible API for
+#  users to determine how their objects are formatted. The following logic is
+#  used to find a function to format an given object.
+#
+#  1. The object is introspected to see if it has a method with the name
+#     :attr:`print_method`. If is does, that object is passed to that method
+#     for formatting.
+#  2. If no print method is found, three internal dictionaries are consulted
+#     to find print method: :attr:`singleton_printers`, :attr:`type_printers`
+#     and :attr:`deferred_printers`.
+#
+#  Users should use these dictionaries to register functions that will be used to
+#  compute the format data for their objects (if those objects don't have the
+#  special print methods). The easiest way of using these dictionaries is through
+#  the :meth:`for_type` and :meth:`for_type_by_name` methods.
+#
+#  If no function/callable is found to compute the format data, ``None`` is
+#  returned and this format type is not used.
+
+##
+#c.BaseFormatter.deferred_printers = {}
+
+##
+#c.BaseFormatter.enabled = True
+
+##
+#c.BaseFormatter.singleton_printers = {}
+
+##
+#c.BaseFormatter.type_printers = {}
+
+#------------------------------------------------------------------------------
+# PlainTextFormatter(BaseFormatter) configuration
+#------------------------------------------------------------------------------
+
+## The default pretty-printer.
+#
+#  This uses :mod:`IPython.lib.pretty` to compute the format data of the object.
+#  If the object cannot be pretty printed, :func:`repr` is used. See the
+#  documentation of :mod:`IPython.lib.pretty` for details on how to write pretty
+#  printers.  Here is a simple example::
+#
+#      def dtype_pprinter(obj, p, cycle):
+#          if cycle:
+#              return p.text('dtype(...)')
+#          if hasattr(obj, 'fields'):
+#              if obj.fields is None:
+#                  p.text(repr(obj))
+#              else:
+#                  p.begin_group(7, 'dtype([')
+#                  for i, field in enumerate(obj.descr):
+#                      if i > 0:
+#                          p.text(',')
+#                          p.breakable()
+#                      p.pretty(field)
+#                  p.end_group(7, '])')
+
+##
+#c.PlainTextFormatter.float_precision = ''
+
+## Truncate large collections (lists, dicts, tuples, sets) to this size.
+#
+#  Set to 0 to disable truncation.
+#c.PlainTextFormatter.max_seq_length = 1000
+
+##
+#c.PlainTextFormatter.max_width = 79
+
+##
+#c.PlainTextFormatter.newline = '\n'
+
+##
+#c.PlainTextFormatter.pprint = True
+
+##
+#c.PlainTextFormatter.verbose = False
+
+#------------------------------------------------------------------------------
+# Completer(Configurable) configuration
+#------------------------------------------------------------------------------
+
+## Activate greedy completion PENDING DEPRECTION. this is now mostly taken care
+#  of with Jedi.
+#
+#  This will enable completion on elements of lists, results of function calls,
+#  etc., but can be unsafe because the code is actually evaluated on TAB.
+#c.Completer.greedy = False
+
+#------------------------------------------------------------------------------
+# IPCompleter(Completer) configuration
+#------------------------------------------------------------------------------
+
+## Extension of the completer class with IPython-specific features
+
+## DEPRECATED as of version 5.0.
+#
+#  Instruct the completer to use __all__ for the completion
+#
+#  Specifically, when completing on ``object.<tab>``.
+#
+#  When True: only those names in obj.__all__ will be included.
+#
+#  When False [default]: the __all__ attribute is ignored
+#c.IPCompleter.limit_to__all__ = False
+
+## Whether to merge completion results into a single list
+#
+#  If False, only the completion results from the first non-empty completer will
+#  be returned.
+#c.IPCompleter.merge_completions = True
+
+## Instruct the completer to omit private method names
+#
+#  Specifically, when completing on ``object.<tab>``.
+#
+#  When 2 [default]: all names that start with '_' will be excluded.
+#
+#  When 1: all 'magic' names (``__foo__``) will be excluded.
+#
+#  When 0: nothing will be excluded.
+#c.IPCompleter.omit__names = 2
+
+#------------------------------------------------------------------------------
+# ScriptMagics(Magics) configuration
+#------------------------------------------------------------------------------
+
+## Magics for talking to scripts
+#
+#  This defines a base `%%script` cell magic for running a cell with a program in
+#  a subprocess, and registers a few top-level magics that call %%script with
+#  common interpreters.
+
+## Extra script cell magics to define
+#
+#  This generates simple wrappers of `%%script foo` as `%%foo`.
+#
+#  If you want to add script magics that aren't on your path, specify them in
+#  script_paths
+#c.ScriptMagics.script_magics = []
+
+## Dict mapping short 'ruby' names to full paths, such as '/opt/secret/bin/ruby'
+#
+#  Only necessary for items in script_magics where the default path will not find
+#  the right interpreter.
+#c.ScriptMagics.script_paths = {}
+
+#------------------------------------------------------------------------------
+# StoreMagics(Magics) configuration
+#------------------------------------------------------------------------------
+
+## Lightweight persistence for python variables.
+#
+#  Provides the %store magic.
+
+## If True, any %store-d variables will be automatically restored when IPython
+#  starts.
+#c.StoreMagics.autorestore = False
diff --git a/workspace_setup/leBindKeys.il b/workspace_setup/leBindKeys.il
new file mode 100644
index 0000000..7e513d6
--- /dev/null
+++ b/workspace_setup/leBindKeys.il
@@ -0,0 +1,147 @@
+;; Copyright 2019-2021 SkyWater PDK Authors
+;;
+;; 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.
+;;
+;; This code is *alternatively* available under a BSD-3-Clause license, see
+;; details in the README.md at the top level and the license text at
+;; https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+;;
+;; SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+;;-----------------------------------------------------------------------------
+;; Bindkeys for 'Layout'
+;; Inherited by:
+;;             * Dracula Interactive
+;;             * High Capacity Power IR/EM
+;;             * NC-Verilog-MaskLayout
+;;             * Other-Layout
+;;             * Other-MaskLayout
+;;             * Other-Symbolic
+;;             * Pcell
+;;             * Power IR/EM
+;;             * Spectre-Layout
+;;             * Spectre-MaskLayout
+;;             * Spectre-Symbolic
+;;             * UltraSim-Layout
+;;             * UltraSim-MaskLayout
+;;             * UltraSim-Symbolic
+;;             * VLS-GXL
+;;             * Virtuoso CE
+;;             * Virtuoso XL
+;;             * adegxl-maskLayout
+;;             * adexl-maskLayout
+;;             * parasitics-MaskLayout
+;;-----------------------------------------------------------------------------
+
+procedure(enable_sch_layers()
+    leSetLayerVisible( list("wire" "label") t )
+    leSetLayerVisible( list("wire" "drawing") t )
+    leSetLayerVisible( list("pin" "label") t )
+    leSetLayerVisible( list("pin" "drawing") t )
+    leSetLayerVisible( list("device" "drawing") t )
+    leSetLayerVisible( list("device" "drawing1") t )
+    leSetLayerVisible( list("device" "label") t )
+    leSetLayerVisible( list("instance" "label") t )
+    leSetLayerVisible( list("border" "drawing") t )
+
+    leSetLayerVisible( list("instance" "drawing") t )
+    leSetLayerVisible( list("text" "drawing") t )
+    leSetLayerVisible( list("device" "annotate") t )
+)
+
+procedure(show_od_m1()
+    leSetEntryLayer(list("poly" "drawing"))
+    leSetAllLayerVisible(nil)
+    leSetLayerVisible(list("nwell" "drawing") t)
+    leSetLayerVisible(list("nsdm" "drawing") t)
+    leSetLayerVisible(list("psdm" "drawing") t)
+    leSetLayerVisible(list("npc" "drawing") t)
+    leSetLayerVisible(list("diff" "drawing") t)
+    leSetLayerVisible(list("tap" "drawing") t)
+    leSetLayerVisible(list("poly" "drawing") t)
+    leSetLayerVisible(list("lvtn" "drawing") t)
+    leSetLayerVisible(list("hvtp" "drawing") t)
+    leSetLayerVisible(list("li1" "drawing") t)
+    leSetLayerVisible(list("licon1" "drawing") t)
+    leSetLayerVisible(list("mcon" "drawing") t)
+    leSetLayerVisible(list("met1" "drawing") t)
+    leSetLayerVisible(list("met1" "pin") t)
+
+    enable_sch_layers()
+    hiRedraw()
+)
+
+procedure(toggle_od()
+    leSetLayerVisible(list("diff" "drawing") not(leIsLayerVisible(list("diff" "drawing"))))
+    hiRedraw()
+)
+
+procedure( show_adjacent_metals( bot_layer )
+    let( (bot_name top_name via_name bot_dum top_dum)
+        sprintf(bot_name "met%d" bot_layer)
+	    if( bot_layer < 2 then
+            sprintf(via_name "via")
+        else
+            sprintf(via_name "via%d" bot_layer)
+        )
+	    sprintf(top_name "met%d" bot_layer + 1)
+
+        leSetEntryLayer(list(bot_name "drawing"))
+        leSetAllLayerVisible(nil)
+        leSetLayerVisible(list(bot_name "drawing") t)
+        leSetLayerVisible(list(bot_name "pin") t)
+        leSetLayerVisible(list(top_name "drawing") t)
+        leSetLayerVisible(list(top_name "pin") t)
+        leSetLayerVisible(list(via_name "drawing") t)
+	enable_sch_layers()
+	hiRedraw()
+    )
+)
+
+
+procedure( toggle_metal( layer_id )
+    let( (metal_name draw_layer dum_layer pin_layer exc_layer)
+	sprintf(metal_name "met%d" layer_id)
+	draw_layer = list(metal_name "drawing")
+	pin_layer = list(metal_name "pin")
+	leSetLayerVisible(draw_layer not(leIsLayerVisible(draw_layer)))
+	leSetLayerVisible(pin_layer not(leIsLayerVisible(pin_layer)))
+        hiRedraw()
+    )
+)
+
+
+hiSetBindKeys( "Layout" list(
+    list("Ctrl<Key>q" "leSetAllLayerVisible(t) hiRedraw()")
+    list("<Key>`" "show_od_m1()")
+    list("<Key>1" "show_adjacent_metals(1)")
+    list("<Key>2" "show_adjacent_metals(2)")
+    list("<Key>3" "show_adjacent_metals(3)")
+    list("<Key>4" "show_adjacent_metals(4)")
+    list("<Key>5" "show_adjacent_metals(5)")
+    list("<Key>6" "show_adjacent_metals(6)")
+    list("<Key>7" "show_adjacent_metals(7)")
+    list("<Key>8" "show_adjacent_metals(8)")
+    list("<Key>9" "show_adjacent_metals(9)")
+    list("Ctrl<Key>`" "toggle_od()")
+    list("Ctrl<Key>1" "toggle_metal(1)")
+    list("Ctrl<Key>2" "toggle_metal(2)")
+    list("Ctrl<Key>3" "toggle_metal(3)")
+    list("Ctrl<Key>4" "toggle_metal(4)")
+    list("Ctrl<Key>5" "toggle_metal(5)")
+    list("Ctrl<Key>6" "toggle_metal(6)")
+    list("Ctrl<Key>7" "toggle_metal(7)")
+    list("Ctrl<Key>8" "toggle_metal(8)")
+    list("Ctrl<Key>9" "toggle_metal(9)")
+    list("Ctrl<Key>10" "toggle_metal(10)")
+))
diff --git a/workspace_setup/models b/workspace_setup/models
new file mode 120000
index 0000000..0b4a84d
--- /dev/null
+++ b/workspace_setup/models
@@ -0,0 +1 @@
+PDK/MODELS/SPECTRE/s8phirs_10r/Models
\ No newline at end of file
diff --git a/workspace_setup/start_tutorial.sh b/workspace_setup/start_tutorial.sh
new file mode 100755
index 0000000..df42035
--- /dev/null
+++ b/workspace_setup/start_tutorial.sh
@@ -0,0 +1,22 @@
+#!/usr/bin/env bash
+# Copyright 2019-2021 SkyWater PDK Authors
+#
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
+exec ${BAG_JUPYTER} --browser="firefox" tutorial_files
diff --git a/workspace_setup/tutorial_files/.gitignore b/workspace_setup/tutorial_files/.gitignore
new file mode 100644
index 0000000..5bf6ffc
--- /dev/null
+++ b/workspace_setup/tutorial_files/.gitignore
@@ -0,0 +1,2 @@
+demo_data
+stimuli
diff --git a/workspace_setup/tutorial_files/1_flow_demo.ipynb b/workspace_setup/tutorial_files/1_flow_demo.ipynb
new file mode 100644
index 0000000..16d6a04
--- /dev/null
+++ b/workspace_setup/tutorial_files/1_flow_demo.ipynb
@@ -0,0 +1,246 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Module 1: BAG Workflow Demo\n",
+    "Welcome to the BAG tutorial! In this module, you will test run a simple demo of a common-source amplifier design to get an idea of generator-based design methodology.  This also serves to make sure you setup your workspace properly."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## BAG Workflow\n",
+    "\n",
+    "<img src=\"bootcamp_pics/1_flow_demo/flow_demo_1.PNG\" alt=\"Drawing\" style=\"width: 600px\"/>\n",
+    "\n",
+    "The above flow diagram outlines how circuit design is typically done with BAG.  You will notice that it is largely similar to traditional manual design flow, with two major differences:\n",
+    "\n",
+    "* Designer focus on designing schematic/layout/testbench generators, instead of specific circuit instances.\n",
+    "* Layout is usually done before schematic.\n",
+    "\n",
+    "Discussions about the benefits of designing circuit generators instead of instances are outside of the scope of this tutorial, so I will assume you are already convinced.  So, why do we design layout generators before schematic generators?  There are several reasons:\n",
+    "\n",
+    "* Since BAG can easily automates layout and post-extraction simulations, there is almost no need for schematic only simulations.\n",
+    "* One schematic could correspond to many different layouts (each with a different floorplan strategy), whereas one layout corresponds to exactly one schematic.\n",
+    "* It is impossible to determine schematic details such as dummy transistors before layout is done.\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## BAG Schematic Example\n",
+    "<img src=\"bootcamp_pics/1_flow_demo/flow_demo_2.PNG\" alt=\"Drawing\" style=\"width: 500px\"/>\n",
+    "\n",
+    "The above figure shows the schematic template used for a common-source amplifier schematic generator, you can find this schematic in Virtuoso in library `demo_templates` and cell `amp_cs`.  Note that this is just like any other normal schematics, with the following differences:\n",
+    "\n",
+    "* Transistors are from the `BAG_prim` library.  In this way this schematic can be ported across process by simply changing the `BAG_prim` library.\n",
+    "* Dummy transistors' ports are connected using wire stubs and net labels.  This allows BAG to easy reconnect those ports if necessary.\n",
+    "\n",
+    "When BAG generates a new schematic, it will simply copy this schematic to a new library, then perform a set of modifications described by the schematic generator.  The modifications could include:\n",
+    "\n",
+    "* Delete instances.\n",
+    "* Create new instances.\n",
+    "* Change the master of an instance.\n",
+    "* Reconnect instance terminals.\n",
+    "* Modify instance parameters.\n",
+    "* Add/Remove/Rename pins.\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Testbench Schematic Example\n",
+    "<img src=\"bootcamp_pics/1_flow_demo/flow_demo_3.PNG\" alt=\"Drawing\" style=\"width: 400px\"/>\n",
+    "The above figure shows a schematic template for a DC operating point testbench generator, which can be found in library `bag_testbenches_ec` and cell `amp_tb_dc`.  It is just like the schematic template we seen before, but instead of a symbol view it has an ADEXL view.  To generate a new testbench, BAG will copy and modify both the schematic and the ADEXL view and returns a `Testbench` object that can be used to control simulations from Python."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Testbench ADEXL Setup\n",
+    "<img src=\"bootcamp_pics/1_flow_demo/flow_demo_4.PNG\" alt=\"Drawing\" style=\"width: 500px\"/>\n",
+    "The figure above shows the ADEXL view associated with a testbench template.  ADEXL is used to enable parametric/process corner sweeps."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Running Demo Work Flow\n",
+    "```python\n",
+    "def run_flow(prj, specs, dsn_name, lay_cls, sch_cls=None, run_lvs=True, lvs_only=False):\n",
+    "    # generate layout, get schematic parameters from layout\n",
+    "    dsn_sch_params = gen_layout(prj, specs, dsn_name, lay_cls)\n",
+    "    # generate design/testbench schematics\n",
+    "    gen_schematics(prj, specs, dsn_name, dsn_sch_params, sch_cls=sch_cls, check_lvs=run_lvs, lvs_only=lvs_only)\n",
+    "\n",
+    "    if lvs_only:\n",
+    "        # return if we're only running LVS\n",
+    "        print('LVS flow done')\n",
+    "        return\n",
+    "\n",
+    "    # run simulation and import results\n",
+    "    simulate(prj, specs, dsn_name)\n",
+    "\n",
+    "    # load simulation results from save file\n",
+    "    res_dict = load_sim_data(specs, dsn_name)\n",
+    "    # post-process simulation results\n",
+    "    plot_data(res_dict)\n",
+    "\n",
+    "```\n",
+    "Now that you have an rough idea of how BAG generates new schematics and testbenches, let's try to run the common-source amplifier design flow.  To do so, simple select the code box below and press Ctrl+Enter to evaluate the Python code.  If everything works fine, you should see output messages in the dialog box below the code box, and it should end with DC/AC/Transient simulation plots.  Schematics, layouts, and testbenches should also be generated in the `DEMO_AMP_CS` library in Virtuoso, so you can take a look over there.\n",
+    "\n",
+    "The Python script simply performs the following:\n",
+    "\n",
+    "* Read a specification file to get schematic/layout/testbench/simulation parameters.\n",
+    "* Create a `BagProject` instance to perform various functions.\n",
+    "* Call the `run_flow()` method defined in Python module `xbase_demo.core` to execute the common source amplifier design flow.\n",
+    "\n",
+    "The `xbase_demo.core` module is defined in the file `$BAG_WORK_DIR/BAG_XBase_demo/xbase_demo/core.py`.  You can take a look if you're interested, but the `run_flow()` method definition is reproduced above for your convenience.  You can see it simply calls other methods to generate layout/schematics, run simulations, and post-process simulation results."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "scrolled": true
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "creating BagProject\n",
+      "computing layout\n",
+      "ext_w0 = 1, ext_wend=1, ytop=2592\n",
+      "final: ext_w0 = 1, ext_wend=1, ytop=2592\n",
+      "{'s': WireArray(TrackID(layer=3, track=7, num=9, pitch=2), 1109, 1265, 0.001), 'd': WireArray(TrackID(layer=3, track=8, num=8, pitch=2), 1231, 1387, 0.001), 'g': WireArray(TrackID(layer=3, track=8, num=8, pitch=2), 915, 1071, 0.001)}\n",
+      "WireArray(TrackID(layer=3, track=8, num=8, pitch=2), 915, 1071, 0.001)\n",
+      "6.5\n",
+      "creating layout\n",
+      "layout done\n",
+      "computing AMP_CS schematics\n",
+      "creating AMP_CS schematics\n",
+      "running lvs\n",
+      "Running tasks, Press Ctrl-C to cancel.\n",
+      "lvs passed\n",
+      "lvs log is /users/erichang/projects/bag_gen/BAG2_cds_ff_mpt/pvs_run/lvs_run_dir/DEMO_AMP_CS/AMP_CS/lvsLog_20180906_102350my93d2vr\n",
+      "computing AMP_CS_tb_dc schematics\n",
+      "creating AMP_CS_tb_dc schematics\n",
+      "computing AMP_CS_tb_ac_tran schematics\n",
+      "creating AMP_CS_tb_ac_tran schematics\n",
+      "schematic done\n",
+      "setting up AMP_CS_tb_dc\n",
+      "running simulation\n",
+      "Running tasks, Press Ctrl-C to cancel.\n",
+      "simulation done, load results\n",
+      "setting up AMP_CS_tb_ac_tran\n",
+      "running simulation\n",
+      "Running tasks, Press Ctrl-C to cancel.\n",
+      "simulation done, load results\n",
+      "all simulation done\n",
+      "loading simulation data for AMP_CS_tb_dc\n",
+      "loading simulation data for AMP_CS_tb_ac_tran\n",
+      "finish loading data\n",
+      ", gain=-3.822\n",
+      ", f_3db=3.601e+09, f_unity=9.122e+09, phase_margin=107.7\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 2 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEaCAYAAAAPGBBTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3XecFPX9x/HXe68Cx9F7F1FEpCOiRLHEXiNir9hbjImJ0RhNjIk/jRp7w4JdLFHsLYoNpKlIEQWkg/Rern1+f8wcrueVvWP39vbu83w4j535zuzO57sn97nvd2a+X5kZzjnnXFkiyQ7AOedczeaJwjnnXLk8UTjnnCuXJwrnnHPl8kThnHOuXJ4onHPOlcsThUt5kqZLGhrHz5sn6aB4fZ5zqc4Thdsh4S/VPEnNS5R/JckkdU50DGa2u5l9FJ73BklPJfqciRR+p1skbYxa2iY7Lld3eaJw8fADcHLxhqQ9gHrJC6dWOMrMcqKWJSUPkJSejMBc3eOJwsXDk8AZUdtnAk9EHyDpCElfSlovaaGkG0rsP0PSfEmrJF0X3f0TthJGS3pC0oawq2lA1HvnSTpI0qHANcCJ4V/hX0fvjzr+Z60OSadHnfvaEnFFJF0taU64f7SkpqV9CZJmSjoyajtd0kpJ/SRlS3oq/Iy1kiZKahXrFxx+XuewlTZC0gLgf2H5XpI+Dz/36+huOEldJI0Nv7f3JN1TXHdJQyUtKnGO6O+9zLpHxXKmpAVhPa+N+pw0SdeE790gabKkDpLulXRbiXO+JumKynwXrnp5onDxMB7IlbSbpDTgRKBk988mgmTSGDgCuEjSsQCSegD3AacCbYBGQLsS7z8aeC58/xjgnpJBmNnbwD+B58O/wntXFHh47vuB04G2QDOgfdQhlwPHAvuF+9cA95bxcc8S1bICDgFWmtkUguTZCOgQnuNCYEtF8ZVhP2A34BBJ7YA3gH8ATYE/AC9JahEe+wwwGWgO3BjGEatY6j4E2BU4EPirpN3C8isJvovDgVzgHGAzMAo4WVIEIOyyPJDgu3M1lCcKFy/FrYpfA98Ci6N3mtlHZvaNmRWZ2VSCXwz7hbuHAa+Z2admlgf8FSg5CNmnZvammRWG56owCcRoGPC6mX1sZtuA64CiqP0XANea2aJw/w3AsDK6fZ4BjpZUP9w+JSwDyCdIEDubWaGZTTaz9eXE9UrYQlgr6ZUS+24ws01mtgU4DXgz/G6KzOw9YBJwuKSOwEDgOjPbZmYfA6/F9rXEXPe/mdkWM/sa+Jqffi7nAn8xs1kW+NrMVpnZBGAdQXIAOAn4yMx+rERcrpp5H6eLlyeBj4EulOh2ApA0CLgZ6AlkAlnAC+HutsDC4mPNbLOkVSU+YlnU+mYgW1K6mRXsYNwlz72pxLk7Af+VFJ08CoFW/DIZzpY0EzhK0msEraC+4e4nCVoTz0lqTNDiutbM8suI61gze7+MfQuj1jsBJ0g6KqosA/gwrNsaM9sUtW9+GEcsyqt7sZI/l5xwvQMwp4zPHUWQ4N4LX++MMR6XJN6icHFhZvMJLmofDrxcyiHPEHQZdTCzRsADgMJ9S4nq7pFUj+Cv7yqFUkrZJqB+1HbrqPWlRP3iDFsD0edeCBxmZo2jlmwz+1mSiFLc/XQMMMPMZgOYWb6Z/c3MegB7A0fy8+s6lRFdx4XAkyXia2BmN4d1ayKpQdTxHaPWf/a9hN2GLaL2V7bu0RYCXcvY9xRwjKTeBF1oJVtMrobxROHiaQRwQIm/YIs1BFab2VZJexJ0yxR7keCv8L0lZQJ/46ckUlk/Ap2L+8BDXwEnScoIL4IPK3HuIyUNCc/9d37+7+IB4CZJnQAktZB0TDnnfw44GLiIn7qdkLS/pD3CX8brCbqiCqtYx2hPEXx3h4QXkLPDi9Ttw+Q9CfibpExJQ4Dolsd3BC2zIyRlAH8haOkVq2zdo40EbpTUTYFekpoBmNkiYCJBK+ulsAvN1WCeKFzcmNkcM5tUxu6Lgb9L2kBwDWJ01PumA5cR/JJdCmwAlgPbqhBGcXfWKklTwvXrCP66XUOQhLb/Ag/PfUlYtjQ8JvpOoDsJWkLvhrGPBwaVdXIzWwqMI2g1PB+1qzVBUloPzATG8ssL/pVmZgsJWi/XACsI/pK/ip/+bZ8SxrsauJ6obkEzW0fwcxlJ0I22iR2oewm3E/yM3yWo8yP8/JbpUcAeBMnC1XDyiYtcTSMpB1gLdDOzH5IdT22i4Lbknc3stCTHsS9BouxsZkUVHe+Sy1sUrkaQdJSk+mF/+r+Bb4B5yY3KJULYzfVbYKQnidSQ1EQh6VFJyyVNiyprGj4Y9H342iSZMbpqcwywJFy6ASeZN3drnfA5i7UEz8v8J8nhuBgltespbH5uBJ4ws55h2S0EFz1vlnQ10MTM/pS0IJ1zro5L+jUKBYPGvR6VKGYBQ81sqaQ2BA/j7JrEEJ1zrk6ridcoWoV3jhTfQdIyyfE451ydlrJPZks6HzgfoEGDBv27d++e5Iiccy61TJ48eaWZtajouJqYKH6U1Caq62l5aQeZ2UPAQwADBgywSZPKun3fOedcaSTNj+W4mtj1NIafRrg8E3g1ibE451ydl9QWhaRngaFA83Bc/OsJBo4bLWkEsAA4IVHnnzhvNQ98VNa4ZXWTqjpwRrWLLdCy6qMyjhHavl2yPPwPSeFryW0RUVAekbZvRyTSIsHnpklEIsF2+s9eI6RHRHqayEiLkJkWIT1NZKZHyEpPIzM9QnZ6hOyMNLIz0qifmUa9zDQaZKaTnRFBqfODcykoqYnCzE4uY9eBZZTH1db8Qn7csLU6TpUSUuWphVjjLOuwsu70MwML3xV9iIXvsXAjerv4PWbhuhlFYVmRQVGRUWQ/rRdasF1YFCxFcfjOI4KcrHQaZmeQWy+DxvUyaFw/g8b1M2mRk0mznCxaNMyiVW42rRtl07JhFhlpNbEzwdVUNfEaRbX5VbcW/KpbhddxnEsYM6MgTBr5hUUUFBr5RUXkFxp5BUXkFxaRV1DEtoJCtuUXsSW/MFjygteN2wrYvC14Xb81n/VbCli3JY/vl29k7eY8Vm/K+0UyigjaNq5Hhyb16dy8Pl1b5LBzyxx2adWQNo2yvXXifqFOJwrnkk0SGWkiIw2yM9Li/vmFRcbazXn8uH4bP67fyrL1W1m8ZgsL12xm4erNvDP9R1Zv+ml6iyb1M9i9bSP2aN+IAZ2a0L9TExrXz4x7XC61eKJwrhZLi4hmOVk0y8miR9vcUo9ZvSmP2cs3MmvZeqYvWc+0Jet4+OO53B82RXZt1ZBfdWvOvru0YM8uTROS0FzNlvQns+PBb491Lr625hfy9cK1TJq/hnFzVjHhh9XkFRZRLyON/bu34LCebTige0saZPnfmqlM0mQzG1DhcZ4onHMV2ZJXyPgfVvHBzB95e9qPrNy4jeyMCIf1bMMJA9qzV5dmRCJ+bSPVeKJwziVEYZExef4aXvlqMa99tYQN2wro2LQ+ZwzuxIkDO9AwOyPZIboYeaJwziXclrxC3pm+jKe/mM/EeWvIyUrnpIEdOG/fnWiVm53s8FwF4pYoJLUE9gHaAluAacCkmjThiCcK55Jv6qK1PPLpD7wxdSmRiDhlz45cPLQrLT1h1Fg7nCgk7Q9cDTQFviQYcykb2IVg/uEXgdvMbH28gq4qTxTO1RwLVm3mng+/56Upi0mPiHN/1YWLhu5Mjl/4rnHikShuBe42swWl7EsHjgTSzOylHQ12R3micK7mmb9qE7e/9x2vfrWEFg2zuOrgXRnWv71f9K5B/BqFc65G+HLBGm58fQZTFqylb8fG/Os3e9C9denPdLjqFWuiKHfAF0n7SeoVrg+XdI+k30nKilegzrnarW/HJrx00d7cPrw381dt5si7PuX/3v6WrfmFyQ7Nxai8rqd7gV5AFvAdkAO8DexN0OV0anUFWRFvUTiXGtZsyuOfb87khcmL2LllDncM78Me7RslO6w6Kx7XKGaYWQ9J2cBioKWZFSoYMWyqme0R35CrzhOFc6nlk+9XcNULU1m5cRuXHdCNS/bvSrqPaFvt4tH1tBXAzLYC882sMNw2ID8uUTrn6qRfdWvBO1fsy1G923LH+99x0kPjWbJ2S7LDcmUo7361lpKuJJibpXidcNvH5nbO7ZBG9TO448Q+DN21Bde8/A2H3/UJ/x7Wm4N6tEp2aK6E8loUDwMNCa5NFK8Xb49MfGjOubrgmD7teP3yX9GucT3OfWIS/3prJoXxmNHJxU2ZLQoz+1t1BuKcq7u6NG/Ayxfvzd9fm8GDY+cyY8l67jqpL00a+FwYNUGZiULSXeW90cwuj384zrm6Kis9jZuO24Ne7Rtx3SvTOeqeT3no9AFlzqPhqk95XU+TwyUb6Ad8Hy59AL8B2jmXECcO7MjoCwdTUGgMe+Bz3pvxY7JDqvPKTBRmNsrMRgHdgP3N7G4zuxs4kCBZOOdcQvTp0JhXL92HnVvmcP6Tk3jo4znUhlEkUlUsNy63JbiIXSwnLHPOuYRplZvN8+cP5rCerfnnm99yzX+/oaCwxgxaXafEMpzjzcCXkj4Mt/cDbkhYRM45F6qXmcY9J/fjtuazuPfDOSxbt5V7TunnU7BWswpbFGb2GDAI+G+4DA67pJxzLuEiEXHVId256biejP1uBSc9NJ7lG7YmO6w6pcxEIalz8bqZLTOzV8NlWbhfktonKjBJh0qaJWm2pKsTdR7nXGo4dVAnHj5jALOXb+SEB8axYNXmZIdUZ5TXorhV0kuSzpC0u6SWkjpKOkDSjcBnwG6JCEpSGnAvcBjQAzhZUo9EnMs5lzoO3K0Vz5w3iHVb8jn+gc+ZuTTp86bVCeXd9XQCcB2wK8Ev7U+AV4FzgVnAAWb2XoLi2hOYbWZzzSwPeA44JkHncs6lkL4dm/DCBYNJj4jhD45j4rzVyQ6p1iv3GoWZzTCza81sqJntamZ9zewUM3sqHCwwUdoBC6O2F4VlzjlHt1YNefGivWnRMIvTH/mCsd+tSHZItVpNHde3tLkSf3YTtaTzJU2SNGnFCv+fxLm6pl3jeoy+YDA7Nc/h3FETeeubpckOqdaqqYliEdAhars9sCT6ADN7yMwGmNmAFi18MFvn6qLmOVk8e/5e7NGuEZc8M4WXJi9Kdki1Uk1NFBOBbpK6SMoETgLGJDkm51wN1KheBk+OGMTgrs34w4tf8+yEBckOqdapMFGEt8GeJumv4XZHSXsmMigzKwAuBd4BZgKjzWx6Is/pnEtdDbLSeeTMgey3Swv+/PI3jPp8XrJDqlViaVHcBwwGTg63NxDcBZVQZvamme1iZl3N7KZEn885l9qyM9J48PT+/LpHK64fM52Rn8xNdki1RiyJYpCZXcJPU6OuAXyQeOdcjZOVnsZ9p/bjiF5t+McbM3lg7Jxkh1QrxDJgSn74AJwBSGoB+MhczrkaKSMtwp0n9iEicfNb31JYZFyy/87JDiulxZIo7iIY46mlpJuAYcBfEhqVc87tgPS0CHcM701EcOs7szAzLj2gW7LDSlkVJgoze1rSZIJ5KAQca2YzEx6Zc87tgPS0CLcPD1oW/373OyR5y6KKypsKtWnU5nLg2eh9ZubPzTvnarS0iPj3Cb0xM259ZxYSXDzUk0VlldeimExwXUJAR2BNuN4YWAB0SXh0zjm3g9Ii4rbhfTDglrdnIcRFQ7smO6yUUmaiMLMuAJIeAMaY2Zvh9mHAQdUTnnPO7bi0iLjthN4UGfzf29+SHhHn7btTssNKGbFczB5oZhcWb5jZW+Ew4845lzKKL3AXFRk3vTmTtIg4Z4h3jMQilkSxUtJfgKcIuqJOA1YlNCrnnEuA9LQI/zmpDwVFRfz99Rmkp4kzBndOdlg1XiwP3J0MtCC4RfYVoCU/PaXtnHMpJSMtwt0n9+Og3Vrx11en88wXPjZURWK5PXY18NtqiMU556pFZnqEe0/tywVPTubaV74hMz3CsP4Jm9k55VWYKCR9SIm5IADM7ICEROScc9UgKz2NB07rz7mjJnHVi1+TkSaO6ePzo5UmlmsUf4hazwaOBwoSE45zzlWf7Iw0Hj5jAGc/PoErR39NZlqEw/Zok+ywapwKr1GY2eSo5TMzuxIYVA2xOedcwtXLTOORMwfSp0NjLnv2S96f8WOyQ6pxYpmPomnU0lzSIUDraojNOeeqRYOsdB47eyC7t83l4qen+BzcJcRy19NkYFL4Og74PTAikUE551x1y83O4IlzBrFzyxzOf2IS4+b4UwDFYkkUu5nZTmbWxcy6mdnBBFOVOudcrdKofgZPjtiTjk3rM2LURCbN8yHtILZE8XkpZePiHYhzztUEzXKyePq8QbTOzebsxyby9cK1yQ4p6cpMFJJaS+oP1JPUV1K/cBkK1K+2CJ1zrpq1bJjN0+cNonGDDM54dAIzlqxPdkhJVV6L4hDg30B74HbgtnC5Ergm8aE551zytGlUj2fO3Yv6mWmc9sgXfP/jhmSHlDQy+8WzdD8/QDrezF6qpniqZMCAATZp0qRkh+Gcq4V+WLmJ4Q8Gve2jLxhMl+YNkhxR/EiabGYDKjquvK6n08LVzpKuLLnELVLnnKvBujRvwDPnDqKwyDjl4fEsXL052SFVu/K6norTZg7QsJTFOefqhG6tGvLUiEFszivk5IfHs2TtlmSHVK0q7HpKBd715JyrDlMXreXUh7+gWU4moy8YTMvc7GSHtEN2uOsp6oNaSLpG0kOSHi1e4hOmc86ljl7tG/P4OXuyfMM2Thn5BSs3bkt2SNUilucoXgUaAe8Db0QtVSbpBEnTJRVJGlBi358lzZY0KxwuxDnnaoz+nZrw2FkDWbRmM6eN/II1m/KSHVLCxZIo6pvZn8xstJm9VLzs4HmnAb8BPo4ulNQDOAnYHTgUuE9S2g6eyznn4mrQTs0YecZA5q7cxGmPfMG6zfnJDimhYkkUr0s6PJ4nNbOZZjarlF3HAM+Z2TYz+wGYDewZz3M751w8DOnWnAdP78/3P27kjEe/YP3W2pssYkkUvyVIFlskrZe0QVKiHlNsByyM2l4Ulv2CpPMlTZI0acUKH+nROVf99t+1Jfee2o/pS9Zz1qMT2Litdk7VE8t8FA3NLGJm9cwsN9zOreh9kt6XNK2U5Zjy3lZaCGXE9ZCZDTCzAS1atKgoHOecS4hf92jF3Sf35etF6zj7sQlsqoXJIpapUPuVUrwOmG9mZX4jZnZQFeJZBHSI2m4PLKnC5zjnXLU5bI823GnG5c9+yYhRE3nsrD2pl1l7Lq/G0vV0HzAeeDhcxgPPAd9JOjjO8YwBTpKUJakL0A2YEOdzOOdc3B3Zqy13nNiHCT+sZsSoiWzJK0x2SHETS6KYB/Q1s/5m1h/oQ3DX0kHALVU5qaTjJC0CBgNvSHoHwMymA6OBGcDbwCVmVnu+bedcrXZMn3bcNrw34+au4twnak+yiCVRdA9/gQNgZjMIEsfcqp7UzP5rZu3NLMvMWpnZIVH7bjKzrma2q5m9VdVzOOdcMhzXtz3/Htabz+es4rwnJrE1P/WTRSyJYpak+yXtFy73EXQ7ZQG1934w55yrouP7t+eW43vx2ZyVnDtqUsq3LGJJFGcRPM9wBfA7YG5Ylg/sn6jAnHMulZ0woAO3DuvNZ3NWpvw1iwrvejKzLfw0aVFJG+MekXPO1RLD+rcnIvj9C19zzuMTeeSsAdTPrPDXbo0Ty6CA3SS9KGmGpLnFS3UE55xzqe43/dpz+/DefPHDKs56dGJKPpQXS9fTY8D9QAFBV9MTwJOJDMo552qT4/q2586T+jJ5wRpOf+QL1m1Jrcu7sSSKemb2AcHcFfPN7AbggMSG5ZxztctRvdty7yn9mLZ4HaeN/IK1m1Nn1NlYEsVWSRHge0mXSjoOaJnguJxzrtY5tGdrHjitP7N+3MBJD41nxYbUmM8ilkRxBVAfuBzoD5wOnJnIoJxzrrY6cLdWPHbWQOav2szwB8exOAWmVY1lUMCJZrbRzBaZ2dlm9hszG18dwTnnXG20z87NeercPVm5cRvDHxjHDys3JTukcpU5Z7akMeW90cyOTkhEVeBzZjvnUtG0xes449EJRASPn70nPds1qtbzxzpndnmJYgXB3BDPAl9QYghwMxsbhzjjwhOFcy5VzVmxkTMemcC6Lfk8fMYABndtVm3njjVRlNf11Bq4BugJ3An8GlhpZmNrUpJwzrlU1rVFDi9eNJjWjbI587EJvD1tabJD+oUyE4WZFZrZ22Z2JrAXwTAeH0m6rNqic865OqBNo3q8cMFgdm+by0VPT2HU5/OSHdLPlHsxO5wX4jfAU8AlwF3Ay9URmHPO1SVNGmTyzLl7cdBurbh+zHT+9dZMiopKvzRQ3cocdETSKIJup7eAv5nZtGqLyjnn6qB6mWk8cFp/rh8zjQfHzmXRmi3cdkJvsjOSO1teeaNTnQ5sAnYBLpe2X8sWYLHMm+2cc65y0iLixmN60qFJfW5++1sWr9nCQ2f0p2XD7KTFVN41ioiZNQyX3KiloScJ55xLHElcsF/X4CnuZRs47t7PmbFkfdLiieXJbOecc0lwyO6teeHCwRQWGcff/zmvT12SlDg8UTjnXA3Ws10jxly2D7u3zeXSZ77kX2/NpLCaL3J7onDOuRquZcNsnjlvL04d1JEHx87l9Ee+YPmGrdV2fk8UzjmXAjLTI9x03B7cMqwXUxas4fA7P+Xz2Sur5dyeKJxzLoUMH9CBVy8ZQqN66Zz6yBeM/CTxE456onDOuRSza+uGjLl0CL/p255urRom/HypN8u3c845GmSlc9vw3tVyLm9ROOecK5cnCuecc+Uqcz6KVBLOnTEfaASsi9pV3nbxenMgXrcOlDxfVY8ra39p5bHUseS+ulLn6PV41TnW+sZyrNe57PKq/FuG1KlzZX/GJbfjVedOZtaiwqPMrNYswEOxbhevA5MSdf6qHlfW/tLKY6ljXa1zifW41DnW+nqdd6zOVfm3nEp1ruzPuDrqXN5S27qeXqvEdsl9iTh/VY8ra39p5ZWpY12rczLrG8uxXueyy1Pl33Isx8by8yytrLrrXKZa0fW0IyRNshimAqxNvM51g9e5bqiOOte2FkVVPJTsAJLA61w3eJ3rhoTXuc63KFzNIukj4CkzG5nsWJxzAW9RuGonaZ6kLZI2SvpR0mOScpIdVzxJelxSXljH4uXEZMflXFV4onDJcpSZ5QD9gIHAX5IcTyLcYmY5UcvzJQ+Q5KMjuBrPE4VLKjNbTDAve8+o4k6SPpO0QdK7kpoX75D0gqRlktZJ+ljS7lH7Dpc0I3zfYkl/iNp3pKSvJK2V9LmkXqXFI+kBSf8uUfaqpCvD9T+Fn71B0ixJB1a2zmGL6k+SpgKbJKVLaivpJUkrJP0g6fKo4+uFLZQ1Yf2ukrQoar9J2jlq+3FJ/4il7mEsf5A0NfxOn5eUHbX/mPC96yXNkXSopBMkTS5Rp99LeqWy34VLDZ4oXFJJ6gAcDnwZVXwKcDbQEsgE/hC17y2gW7hvCvB01L5HgAvMrCFB4vlfeI5+wKPABUAz4EFgjKSsUkJ6BjhR4STxkpoABwPPSdoVuBQYGJ7jEGBeFat+MnAE0BgoIrjd8WugHXAgcIWkQ8Jjrwe6hsshwJmxniTGug8HDgW6AL2As8L37gk8AVwVxrkvQX3HAF0k7Rb1GacBT8Yal0stnihcsrwiaS3wKTAW+GfUvsfM7Dsz2wKMBvoU7zCzR81sg5ltA24AektqFO7OB3pIyjWzNWY2JSw/D3jQzL4ws0IzGwVsA/YqJa5PAAN+FW4PA8aZ2RKgEMgKz5FhZvPMbE45dfxD+Ff8Wkkln5y9y8wWhnUcCLQws7+bWZ6ZzQUeBk4Kjx0O3GRmq81sIXBXOecsKZa632VmS8xsNUHCKv6+RwCPmtl7ZlZkZovN7Nvwu3+eIDkQtuo6A69XIi6XQjxRuGQ51swam1knM7s4/IVZbFnU+mYgB0BSmqSbwy6Q9fz013xx19TxBK2T+ZLGShoclncCfh/1S3st0AFoWzIoC24DfI7gL34IWjdPh/tmA1cQJKjlkp6T9IvPiPLvsI6Nzax5iX0Lo9Y7AW1LxHcN0Crc37bE8fPLOWdJsdS91O87PK6sRDgKOCVseZ0OjA4TiKuFPFG4VHIKcAxwEMFYN53DcgGY2UQzO4agW+oVgtYIBL9kb4r6pd3YzOqb2bNlnOdZYJikTsAg4KXiHWb2jJkNIfgFbMD/VbEu0felLwR+KBFfQzM7PNy/lOCXdrGOJT5rM1A/art1ic+uTN2jLSTo7vpl8GbjgTyCltcpeLdTreaJwqWShgTdJqsIfjFu766SlCnpVEmNzCwfWE/QVQRBN86FkgYp0EDSEZJKnfHFzL4EVgAjgXfMbG14jl0lHRD2728FtkSdY0dMANaHF7jrhS2nnpIGhvtHA3+W1ERSe+CyEu//iuCv+zRJhwL7Re2rVN1LeAQ4W9KBkiKS2knqHrX/CeAeoMDMPq1KxV1q8EThUskTBN0ui4EZwPgS+08H5oXdUhcS9qGb2SSCvvp7gDXAbMILtuV4lqDl8kxUWRZwM8FIncsIWi7XVLk2ITMrBI4iuDbwQ/j5IwlaTQB/I6j3D8C7/PKv99+G718LnErQmir+7KrUvfi9EwhuKriDYKTSsQQtqWJPEtw04K2JWs6fzHYuxUgaSvD0evskx1EPWA70M7PvkxmLSyxvUTjnquoiYKInidrPnwp1zlWapHkENxEcm+RQXDXwrifnnHPl8q4n55xz5aoVXU/Nmze3zp07JzsM55xLKZMnT15pMcyZXSsSRefOnZk0aVKyw3DOuZQiKaan/L3ryTnnXLlqRYuiqrbmF7J+a36Z+xWMDPHL8tKLf3a0og4q4/DtnyP0s4OiP1/by7R9O/p9KuV9xeUK31f8HpUVuHPOlaNOJ4oPZi7nkmemVHxgLSNBpEQC0S/KtX07UlweHpsWlkkiLfLT/kjUelAevKZFgvdsX4+I9PA1Iy2yfTs9TaRFImSmifS0CBlpwXpGWoSM9HA7PUJW8Wt68WsaWRnBdnZGGvUygu16GWmrCULAAAAcKklEQVTUz0wnLeIJ0rkdUacTRc92ufzj2J6l7ivzpuEybie2Mg4p6/Zjizr25+/95fHFRYZFrZdeXvwZxZ8bvP60jdn28qKoddu+bhTZz99XWGQYxeVGUVHw3sLwPEVmwTHhsYVmFIWvhUW2fX9BURHbCorXf3otKCwKX4NjCoqM/IIi8guNvMKiUr+/yshMj1A/M40GmenUz0yjflY6OVlp5GSl0yArndzsDBpmB6+N6mWQWy94bdIggyb1M2lUL4PsjLQdjsO5VFWnE0WnZg3o1KxBssNw5bAwyeQVFpFfELzmFRaRVxAs2woK2VZQxNb8QrblF7Elv5Ct+YVsLShiS14BW/KCss15BWzOC143bC1g07YCVm7IY8PWfDZsK2DjtoKy/gYAICcrnaYNMmmWk0mLnCxaNAyWVrnZtMoNXts1rkejehnexedqnTqdKFzNJwVdUulpkWCuuwQpKjI25hWwfks+azfns35LPms257N2Sx5rNuWxalMeqzflsXLjNuav2szk+WtYtSnvF59TPzONto3r0aFJPTo0rU/HpvXp1KwBXZo3oGPT+mSm+/0jLvV4onAOiEREbnYGudkZtG8S23vyC4tYsWEby9ZvZdm6rSxZu4Ula7eyeO1mFq3ZwqT5a9iwtWD78WkR0bFpfXZumUO3ljns2rohPdrk0qV5gyAROldDeaJwrooy0iK0bVyPto3rlXnM2s15zFu1mR9WbmTuik3MXr6R75dv5MNvl1NQFPR1ZaVH2K1NLr3bN2KP9o3p27ExOzVv4F1YrsaoFWM9DRgwwPyBO5dK8gqKmL18IzOXrmfG0vV8s3gd0xavY3NeMA9S0waZ9OvYhEFdmjK4azN6tMkl4ndvuTiTNNnMBlR0XEwtinBWrZMIpj1sSzCz1zTgDeAtM9vxW1Ocq0My0yP0aJtLj7a5HB+WFRYZs5dvZMqCNUyeHyzvz/wRgMb1M9i7azOG7tqSobu0oGVudvKCd3VOhS0KSY8B7YDXgUkEE5VkA7sA+wP9gavN7OPEhlo2b1G42mrZuq2Mm7uSz2av4uPvVrB8wzYA9mjXiEN7tuaQ3Vuxc8tYZjV17pdibVHEkih6mtm0cvZnAh3NbHblw4wPTxSuLjAzZi7dwIezlvPejB/5auFaAHZplcMxfdpxdO+2dGhaP8lRulQSt0RRxoc3ATqY2dSqBBdvnihcXbRs3Vbemb6M16cuYeK8NQAM7NyEEwd25PA9WlM/0+9VceWLe6KQ9BFwNMF1ja+AFcBYM7tyB+KMC08Urq5buHozY75ewkuTFzF35SYaZqVzbN92nLl3Z3ZumZPs8FwNlYhE8aWZ9ZV0LkFr4npJU82s144Gu6M8UTgXMDMm/LCa5yYu5I2pS8krLOJX3ZpzzpAuDN2lhd9y634mrnc9FR8rqQ0wHLi2ypE55xJGEoN2asagnZpx7RG78ewXC3hy/HzOfmwiPdrkcvH+XTmsZxsfKNFVSmUeB/078A4wx8wmStoJ+D4xYTnndlTznCwuO7Abn/7pAG4Z1outBYVc+syX/PqOsbz29RKKilL/GSpXPfyBO+fqiMIi4+1py7jzg+/47seN7NYml6sO2YX9d23pXVJ1VKxdTzG3KCTtIukDSdPC7V6S/rIjQTrnqk9aRBzRqw1v/XZf/nNiHzbnFXDO45M47ZEvmLl0fbLDczVYZbqeHgb+DOQDhLfGnpSIoJxziZMWEcf2bcf7V+7HDUf1YPqS9Rxx1yf8+eVvWFPKiLjOVSZR1DezCSXKCko90jlX42WkRThrny589IehnLV3F0ZPWsiBt49l9KSFfv3C/UxlEsVKSV0JJ0qTNAxYWtGbJD0qaXlxl1VYdoOkxZK+CpfDo/b9WdJsSbMkHVKJ+JxzVdC4fiZ/PaoHb1w+hJ2aN+CPL07lxIfGMWfFxmSH5mqIyiSKS4AHge6SFgNXABfF8L7HgUNLKb/DzPqEy5sAknoQdGftHr7nPkk+B6Vz1aB761xGXzCYW47vxaxlGzjszk94YOwcCuIwHa1LbTEnCjOba2YHAS2A7mY2xMzmxfC+j4HVMZ7mGOA5M9tmZj8As4E9Y43RObdjIhExfGAH3r9yP4bu0oKb3/qW4+//3FsXdVxl7npqJekR4EUz2yCph6QRO3DuSyVNDbumiucUawcsjDpmUVhWWjznS5okadKKFSt2IAznXEktc7N58PT+3HVyX+av3swRd33Ck+PnUxtup3eVV5mup8cJHrhrG25/R9D9VBX3A12BPgTXOW4Ly0u7mbvU/zPN7CEzG2BmA1q0aFHFMJxzZZHE0b3b8s4V+zKwc1Oue2Ua5zw+kZUbtyU7NFfNKpMompvZaKAIwMwKgMKqnNTMfjSzwnDCo4f5qXtpEdAh6tD2wJKqnMM5Fx+tcrMZdfae3HBUDz6bs4rD7/yEcXNWJTssV40qkyg2SWrGT3c97QWsq8pJwzGjih1HMFsewBjgJElZkroA3YCSt+Q656pZJCLO2qcLr1y8DznZ6Zwycjx3vPcdhX4bbZ1QmUEBryT4Rd5V0mcEF7WHVfQmSc8CQ4HmkhYB1wNDJfUhSDrzgAsAzGy6pNHADIJnNC4xsyq1Wpxz8dejbS6vXTqEv746nTs/+J4pC9bwnxP70CwnK9mhuQSKaawnSRFgL4K/7ncluJYwy8zyExtebHysJ+eq3/MTF3Ddq9Np1iCTe0/tR7+OTSp+k6tR4jrWU3gt4TYzKzCz6WY2raYkCedccpw4sCMvX7Q3GWkRTnxwHE+Om+d3RdVSlblG8a6k4+XDTDrnQj3bNeK1S4cwZOfmXPfqdP744lS25ntvcW1TmURxJfACsE3SekkbJPmQk87VcY3qZ/DImQO5/ICdeWHyIk58cBxL121JdlgujirzZHZDM4uYWaaZ5YbbuYkMzjmXGiIRceXBu/Lg6f2Zs2ITR939GZPmxTogg6vpKvNkdr9Slq6SKnPnlHOuFjtk99b89+K9yclK4+SHx/PshAXJDsnFQWW6nu4DxhM8IPdwuP4c8J2kgxMQm3MuBXVr1ZBXLxnC4K7N+fPL3/DXV6eR7wMLprTKJIp5QF8z629m/QmG35gGHATckoDYnHMpqlH9DB47ayDn77sTT4ybzxmPTGC1T4qUsiqTKLqb2fTiDTObQZA45sY/LOdcqkuLiGsO343bh/dm8oI1HHPvp3y7zO9/SUWVSRSzJN0vab9wuY+g2ymLcHpU55wr6Tf92jP6gsFsyy/iN/d9ztvTliU7JFdJlUkUZxHMD3EF8DtgbliWD+wf78Ccc7VHnw6Nee2yIXRr1ZALn5rMf97/zqdbTSExDeGx/WCpHtDRzGYlLqTK8yE8nEsNW/MLuea/3/DylMUc3KMVt5/Yh5wsv3EyWeI6hEf4gUcDXwFvh9t9JI2peojOubomOyON207ozXVH9uCDb5dz7L2fMddnz6vxKtP1dD3BvBFrAczsK6BzAmJyztVikhgxpAtPjtiTVRu3ccy9n/HBzB+THZYrR2USRYGZVWn+CeecK2nvrs0Zc+kQOjatz4hRk7jd57eosSqTKKZJOgVIk9RN0t3A5wmKyzlXB3RoWp+XLtqbYf3bc9cH33PO4xNZ489b1DiVSRSXAbsD24BngfVUfc5s55wDgusWtw7rxT+P24Nxc1Zx5N2fMmXBmmSH5aJU6q6nmsrvenKudpi6aC0XPz2FZeu28ufDd+OcfTrjMxskTlzvepJ0pqQpkjaFyyRJZ+x4mM4595Ne7RvzxmW/Yv/uLbnx9Rmc98Rk74qqASpMFGFCuAL4PdAWaAf8EfitJwvnXLw1qp/BQ6f3569H9uDj71Zw2J2fMG7OqmSHVafF0qK4GDjOzD40s3VmttbM/gccH+5zzrm4ksQ5Q7rw8sV7Uz8zjVNGjuf/3v6WvAIfhTYZYkkUuWY2r2RhWOYTFznnEqZnu0a8dtkQhvfvwP0fzeHYez9j1rINyQ6rzoklUZQ3p6HPd+icS6gGWen837BePHzGAH5cv5Wj7v6UB8fO8WcuqlEsg6zsJmlqKeUCdopzPM45V6pf92hF3477cu1/v+Ffb33Lm9OW8e9hvejWqmGyQ6v1Krw9VlKn8vab2fy4RlQFfnusc3WHmfH61KVcP2Y6G7cWcOkBO3PBfjuRlZ6W7NBSTqy3x8bSolhgFWQTSaroGOeciwdJHNW7LXt3bcb1Y6Zz+3vfMebrJfzzuD3Ys0vTZIdXK8VyjeJDSZdJ6hhdKClT0gGSRgFnJiY855wrXbOcLO45pR+PnTWQLXmFDH9wHFe98DUrN25Ldmi1TixdT9nAOcCpQBeC0WOzgTTgXeDecCTZpPGuJ+fqts15Bdz5wfc88skP1M9M4/cH78qpgzqSnlaZUYrqnli7nio7cVEG0BzYYmZrY3zPo8CRwHIz6xmWNQWeJximfB4w3MzWKHhW/07gcGAzcJaZTanoHJ4onHMAs5dv4Pox0/ls9iq6t27IdUf2YJ+dmyc7rBor7hMXAZhZvpktjTVJhB4HDi1RdjXwgZl1Az4ItwEOA7qFy/nA/ZWJzzlXt+3csiFPjRjE/af2Y+O2Ak4d+QXnjprokyPtoIS3y8zsY2B1ieJjgFHh+ijg2KjyJywwHmgsqU2iY3TO1R6SOGyPNrx/5X786dDujJ+7ml/f8THXvTKNFRv8+kVVJKsDr5WZLQUIX1uG5e2AhVHHLQrLfkHS+eHghJNWrFiR0GCdc6knOyONi4Z25cM/DOWUPTvy7IQFDL31Q+547zs2bM1PdngppVKJQlInSQeF6/UkxftJl9LGEy71IoqZPWRmA8xsQIsWLeIchnOutmjRMIsbj+3Ju7/bl313acGdH3zPfrd+xMhP5rI1vzDZ4aWEmBOFpPOAF4EHw6L2wCtVPO+PxV1K4evysHwR0CHquPbAkiqewznnttupRQ73n9afVy/Zh93b5vKPN2Yy9NaPeGr8fB9ssAKVaVFcAuxDMLMdZvY9P3UZVdYYfnr24kzg1ajyMxTYC1hX3EXlnHPx0LtDY54cMYhnzhtEuyb1+Msr0zjgto8YPXEh+YWeMEpTmUSxzcy2zyAiKZ0yuoWiSXoWGAfsKmmRpBHAzcCvJX0P/DrcBngTmAvMBh7GhzF3ziXI3l2b8+KFgxl1zp40a5DJH1+ayoG3jWX0JE8YJcX8HIWkWwgetjuDYP7si4EZZnZt4sKLjT9H4ZzbEWbG/75dzn/e/55vFq+jY9P6XHrAzhzXtx0Ztfihvbg/cCcpAowADia46PwOMLImjPHkicI5Fw9mxgczl3PnB0HC6NC0Hpft343j+tXOhJGQJ7OjPrwp0N7MSht+vNp5onDOxVNxC+POD75n6qLamzAS0aL4CDiaYMTZr4AVwFgzu3IH4owLTxTOuUQwMz6cFXRJbU8YB3TjN33b1YpxpBIxhEcjM1sP/AZ4zMz6AwdVNUDnnKvpJHFA91a8esk+PHrWABrXy+SPL07lwNvH8tLkRXVmlr3KJIr08JmH4cDrCYrHOedqnOKEMebSfXj4jAE0yEzn9y98zcF3jOWNqUspquUJozKJ4u8EF7Bnm9lESTsB3ycmLOecq3kk8eserXjj8iHcf2o/IhKXPDOFI+/+lA9nLacG3NuTEFW6mF3T+DUK51wyFBYZY75ezO3vfcfC1VsY1KUpVx/Wnb4dmyQ7tJgk4mJ2NsHtsbsTTFwEgJmdU9Ug48UThXMumfIKinh2wgLu/t/3rNyYxxG92vCnQ7rTsVn9ZIdWrkRczH4SaA0cAowlGIdpQ9XCc8652iMzPcKZe3dm7FX789sDu/G/mcs56Pax3PTGDNbXgpFqK9Oi+NLM+kqaama9wtnu3jGzAxIbYsW8ReGcq0mWrdvKbe/O4sUpi4LhQQ7pzrD+7YlEShsgO3kS0aIoTotrJfUEGhFMZeqccy5K60bZ3HpCb8ZcMoROzRrwx5emcux9n/H1wspMDlpzVCZRPCSpCXAdwSivM4BbEhKVc87VAnu0b8SLFw7mPyf2Ydm6rRx732f89dVprNuSWt1RfteTc85Vgw1b87nt3e94Ytw8mjbI4m9H787he7RGSl53VCLuesoCjifobkovLjezv1cxxrjxROGcSxXTFq/j6penMm3xeg7ZvRU3HtOTlrnZFb8xARJxjeJV4BigANgUtTjnnItRz3aNeOXifbj6sO58NGsFB90+lpenLKrRD+tVpkUxzcx6JjieKvEWhXMuFc1dsZE/vjiVSfPXcOjurbnpuJ40y8mqtvMnokXxuaQ9diAm55xzUXZqkcPzFwzm6sO6879vl3PIfz7hw1nLkx3WL1SYKCR9I2kqMASYImmWpKlR5c4556ooLSIu3K8rYy7bh+Y5mZz92ERufH0G2woKkx3adukVH8KRCY/COefquO6tc3nlkn24+a1veeTTHxg/dxX3nNKPLs0bJDu0mLqefgSOA64CDgUWm9n84iWh0TnnXB2SnZHGDUfvzsgzBrB47RaOuvtT3vxmabLDiilRjAIGAN8AhwG3JTQi55yr4w7q0Yo3L/8V3VrlcPHTU/jba9PJKyhKWjyxdD31MLM9ACQ9AkxIbEjOOefaNq7H8+cP5l9vzeSxz+YxbfE67j21Hy0bVv8zF7G0KLY/a25mBQmMxTnnXJTM9AjXH7U7d53cl28Wr+Pouz/jywVrqj2OWBJFb0nrw2UD0Kt4XdL6RAfonHN13dG92/LyRfuQniZOfHA8L0xaWK3nrzBRmFmameWGS0MzS49az62OIJ1zrq7r0TaX1y4dwsAuTbjqxan8682ZFFbTXN2VeeDOOedcEjVpkMnjZ+/J6Xt14sGP53L+E5PYuC3xVwSSmigkzQsf3PtK0qSwrKmk9yR9H76mxuSzzjlXDTLSItx4bE9uPGZ3PvpuBf98c2bCzxnLXU+Jtr+ZrYzavhr4wMxulnR1uP2n5ITmnHM10+mDO7Nzy4Z0b90w4eeqiV1PxxA8u0H4emwSY3HOuRprcNdmNGmQmfDzJDtRGPCupMmSzg/LWpnZUoDwtWXSonPOOZf0rqd9zGyJpJbAe5K+jfWNYWI5H6Bjx46Jis855+q8GjMVqqQbgI3AecBQM1sqqQ3wkZntWsF7VwDzgUbAuqhd5W0XrzcHoq+R7IiS56vqcWXtL608ljqW3FdX6hy9Hq86x1rfWI71OpddXpV/y5A6da7sz7jkdrzq3MnMWlR4lJklZQEaAA2j1j8nGHTwVuDqsPxq4JZKfOZDsW4XrwOT4linh+JxXFn7SyuPpY51tc4l1uNS51jr63XesTpX5d9yKtW5sj/j6qhzeUsyu55aAf8NJxZPB54xs7clTQRGSxoBLABOqMRnvlaJ7ZL74iHWz6zouLL2l1ZemTrWtTons76xHOt1Lrs8Vf4tx3JsLD/P0sqqu85lqjFdT8kiaZLFMBVgbeJ1rhu8znVDddQ52Xc91QQPJTuAJPA61w1e57oh4XWu8y0K55xz5fMWhXPOuXJ5onDOOVcuTxTOOefKlewns2scSRHgRiCX4P7kURW8JeVJ+hVwKsH/Dz3MbO8kh5RwkjoC9xA8qPSdmd2c5JASTlIP4AZgFcHAmy8mN6LEkLQTcC3QyMyGhWUNgPuAPIKHeJ9OYohxV0adf1FWVXWiRSHpUUnLJU0rUX6opFmSZocj1UIwKGE7gilgF1V3rPFSmTqb2SdmdiHwOj8NyJhyKvlz3gV4w8zOAXpUe7BxUsk6HwbcbWYXAWdUe7A7oJL/P881sxElPuI3wItmdh5wdDWFvUN2tM5lfA9VUicSBfA4wVPf20lKA+4l+MfTAzg5/ItrV2CcmV0JXFTNccbT48Re52KnAM9WV4AJ8Dix1/lL4CRJ/wM+rOY44+lxYq/zkwR1vhVoVs1x7qjHqfz/z9HaA8XzhxYmKMZ4e5wdq3Pc1IlEYWYfA6tLFO8JzA6zbh7wHEFrYhFQPHt5qvwP9QuVrHNxV8w6M0vZedArWeezgevN7ADgiOqNNH4qU2czW25mlxAMjROvsb6qRWX/fy7FIoJkASnyey8OdY6blPjCEqQdP/2FAcH/SO2Al4FDJN0NfJyMwBKorDoDjAAeq/aIEq+sOr8NXC7pAWBeEuJKpFLrLKmzpIeAJwjGVEt1ZdWzWfhz7Svpz+G+l4HjJd1PNQ9/EWcx17mM76FK6vLFbJVSZma2meCXZm1Uap0BzOz6ao6lupT1c54G7NAFvhqsrDrPIxyav5Yoq56rgAtLFG4iaEWmusrU+RdlVVWXWxSLgA5R2+2BJUmKpbp4nb3OtUldqWe0pNS5LieKiUA3SV0kZQInAWOSHFOieZ29zrVJXalntKTUuU4kCknPAuOAXSUtkjTCzAqAS4F3gJnAaDObnsw448nr7HWmFtW5rtQzWk2qsw8K6Jxzrlx1okXhnHOu6jxROOecK5cnCuecc+XyROGcc65cniicc86VyxOFc865cnmicLWKpEJJX0UtnZMdUzxJ6itpZLh+lqR7Suz/SNKAct7/nKRuiY7T1S51eawnVzttMbM+Ze2UlB4+tJSqrgH+sQPvvx/4I3BefMJxdYG3KFytF/7l/YKk14B3w7KrJE2UNFXS36KOvTacFOZ9Sc9K+kNYvv0vdUnNJc0L19Mk3Rr1WReE5UPD97wo6VtJT0tSuG+gpM8lfS1pgqSGkj6R1Ccqjs8k9SpRj4ZALzP7OoY6Hx3Vqpol6Ydw1yfAQZL8j0QXM/+fxdU29SR9Fa7/YGbHheuDCX7JrpZ0MNCNYGx/AWMk7QtsIhg7py/Bv40pwOQKzjeCYB6PgZKygM8kvRvu6wvsTjBo22fAPpImAM8DJ5rZREm5wBZgJHAWcIWkXYAsM5ta4lwDgGklyk6UNCRqe2cAMxtDOAaQpNHA2LC8SNJsoHcMdXMO8EThap+yup7eM7PiSWAODpcvw+0cgsTREPhvONQ8kmIZbO1goJek4iHLG4WflQdMMLNF4Wd9BXQG1gFLzWwiQPFEUZJeAK6TdBVwDsHsZiW1AVaUKHvezC4t3pD0UfROSX8k+E7ujSpeDrTFE4WLkScKV1dsiloX8C8zezD6AElXEM7PUYoCfuqqzS7xWZeZ2TslPmsosC2qqJDg35tKO4eZbZb0HsFsZcMJWg8lbSlx7nJJOhA4Adi3xK7s8LOci4lfo3B10TvAOZJyACS1k9SSYEbD4yTVC68HHBX1nnlA/3B9WInPukhSRvhZu0hqUM65vwXaShoYHt8w6nrBSOAuYGJU6yfaTMKupYpI6gTcBww3s5JJYReg1oyy6hLPWxSuzjGzdyXtBowLry9vBE4zsymSnge+AuYTXPgt9m9gtKTTgf9FlY8k6FKaEl6sXgEcW8658ySdCNwtqR7BX/YHARvNbLKk9ZQxJa2ZfSupkaSGZrahgmqeBTQD/hvWcYmZHS6pFUFX1NIK3u/cdj7MuHNlkHQDwS/wf1fT+doCHwHdzayojGN+B2wws5FVPMfvgPVm9kiVA3V1jnc9OVcDSDoD+AK4tqwkEbqfn1/7qKy1wKgdeL+rg7xF4ZxzrlzeonDOOVcuTxTOOefK5YnCOedcuTxROOecK5cnCuecc+XyROGcc65c/w8rBsnsgWYWIQAAAABJRU5ErkJggg==\n",
+      "text/plain": [
+       "<Figure size 432x288 with 2 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "%matplotlib inline\n",
+    "\n",
+    "import os\n",
+    "\n",
+    "# import bag package\n",
+    "import bag\n",
+    "from bag.io import read_yaml\n",
+    "\n",
+    "# import BAG demo Python modules\n",
+    "import xbase_demo.core as demo_core\n",
+    "import xbase_demo.demo_layout.core as layout_core\n",
+    "\n",
+    "# load circuit specifications from file\n",
+    "spec_fname = os.path.join(os.environ['BAG_WORK_DIR'], 'specs_demo/demo.yaml')\n",
+    "top_specs = read_yaml(spec_fname)\n",
+    "\n",
+    "# obtain BagProject instance\n",
+    "local_dict = locals()\n",
+    "if 'bprj' in local_dict:\n",
+    "    print('using existing BagProject')\n",
+    "    bprj = local_dict['bprj']\n",
+    "else:\n",
+    "    print('creating BagProject')\n",
+    "    bprj = bag.BagProject()\n",
+    "\n",
+    "demo_core.run_flow(bprj, top_specs, 'amp_cs', layout_core.AmpCS, run_lvs=True)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "   ## Conclusion\n",
+    "   Congratulations!  You successfully walk through a BAG design flow.  In the following modules we will learn how to write simple layout and schematic generators in BAG."
+   ]
+  }
+ ],
+ "metadata": {
+  "anaconda-cloud": {},
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.6.5"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/workspace_setup/tutorial_files/2_xbase_routing.ipynb b/workspace_setup/tutorial_files/2_xbase_routing.ipynb
new file mode 100644
index 0000000..3f13bb1
--- /dev/null
+++ b/workspace_setup/tutorial_files/2_xbase_routing.ipynb
@@ -0,0 +1,285 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Module 2: XBase Routing API\n",
+    "In this module, you will learn the basics about the routing grid system in XBase.  We will go over how tracks are defined, how to create wires, vias and pins, and how to define the size of a layout cell."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## XBase Routing Grid\n",
+    "\n",
+    "```yaml\n",
+    "routing_grid:\n",
+    "    layers: [4, 5, 6, 7]\n",
+    "    spaces: [0.06, 0.1, 0.12, 0.2]\n",
+    "    widths: [0.06, 0.1, 0.12, 0.2]\n",
+    "    bot_dir: 'x'\n",
+    "```\n",
+    "In XBase, all wires and vias have to be drawn on the routing grid, which is usually defined in a specification file, as shown above.  On each layer, all wires must travel in the same direction (horizontal or vertical), and wire direction alternates between each layers.  The routing grid usually starts on an intermediate layer (metal 4 in the above example), and lower layers are reserved for device primitives routing.  As seen above, different layers can define different wire pitch, with the wire pitch generally increasing as you move up the metal stack.\n",
+    "\n",
+    "All layout cell dimensions in XBase must also be quantized to the routing grid, meaning that a layout cell must contain integer number of tracks on all metal layers it uses.  Because of the difference in wire pitch, a layout cell that use more layers generally have coarser quantization compared with a layout cell that use fewer layers."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## XBase Routing Tracks\n",
+    "\n",
+    "<img src=\"bootcamp_pics/2_xbase_routing/xbase_routing_1.PNG\"  alt=\"Drawing\" style=\"width: 300px\"/>\n",
+    "The figure above shows some wires drawn in XBase.  Track pitch is the sum of unit width and space, and track number 0 is defined as the wire that's half-pitch away from left or bottom boundary.  From the figure, you can see spacing between wires follows the formula $S = sp + N \\cdot p$, where $N$ is the number of tracks in between.\n",
+    "\n",
+    "<img src=\"bootcamp_pics/2_xbase_routing/xbase_routing_2.PNG\"  alt=\"Drawing\" style=\"width: 400px\"/>\n",
+    "XBase also supports drawing thicker wires by using multiple adjacent tracks.  Wire width follows the formula $W = w + (N - 1)\\cdot p$, where $N$ is the number of tracks a wire uses.  One issue with this scheme is that even width wires wastes more space compared to odd width wires.  For example, in the above figure, although tracks 1 and 3 are empty, no wire can be drawn there because it will violate minimum spacing rule to the wire centered on track 2.  As a result, the wire on track 2 takes up 3 tracks although it is only 2 tracks wide.\n",
+    "\n",
+    "<img src=\"bootcamp_pics/2_xbase_routing/xbase_routing_3.PNG\"  alt=\"Drawing\" style=\"width: 400px\"/>\n",
+    "To work around this issues, XBase allows you to place wires on half-integer tracks.  In the above figure, the 2 tracks wide wire is moved to track 1.5 from track 2, and thus wires can still be drawn on tracks 0 and 3, making the layout more space efficient.  As an added benefit, track -0.5 is now on top of the left-most/bottom-most boundary, so it is now possible to share a wire with adjacent layout cells, such as supply wires in a custom digital standard cell."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## TrackID and WireArray\n",
+    "```python\n",
+    "class TrackID(object):\n",
+    "    def __init__(self, layer_id, track_idx, width=1, num=1, pitch=0.0):\n",
+    "        #type: (int, Union[float, int], int, int, Union[float, int]) -> None\n",
+    "        \n",
+    "class WireArray(object):\n",
+    "    def __init__(self, track_id, lower, upper):\n",
+    "        #type: (TrackID, float, float) -> None\n",
+    "```\n",
+    "\n",
+    "Routing track locations are represented by the `TrackID` Python object.  It has built-in support for drawing a multi-wire bus by specifying the optional `num` and `pitch` parameters, which defines the number of wires in the bus and the number of track pitches between adjacent wires.  The `layer_id` parameter specifies the routing layer ID, the `track_idx` parameter specifies the track index of the left-most/bottom-most wire, and `width` specifies the number of tracks a single wire uses.\n",
+    "\n",
+    "Physical wires in XBase are represented by the `WireArray` Python object.  It contains a `TrackID` object describes the location of the wires, and `lower` and `upper` attributes describes the starting and ending coordinate of those wires along the track.  For example, a horizontal wire starting at $x = 0.5$ um and ending at $x = 3.0$ um will have `lower = 0.5`, and `upper = 3.0`.\n",
+    "\n",
+    "One last note is that layout pins can only be added on `WireArray` objects.  This guarantees that pins of a layout cell will always be on the routing grid."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## BAG Layout Generation Code\n",
+    "```python\n",
+    "def gen_layout(prj, specs, dsn_name, demo_class):\n",
+    "    # get information from specs\n",
+    "    dsn_specs = specs[dsn_name]\n",
+    "    impl_lib = dsn_specs['impl_lib']\n",
+    "    layout_params = dsn_specs['layout_params']\n",
+    "    gen_cell = dsn_specs['gen_cell']\n",
+    "\n",
+    "    # create layout template database\n",
+    "    tdb = make_tdb(prj, specs, impl_lib)\n",
+    "    # compute layout\n",
+    "    print('computing layout')\n",
+    "    # template = tdb.new_template(params=layout_params, temp_cls=temp_cls)\n",
+    "    template = tdb.new_template(params=layout_params, temp_cls=demo_class)\n",
+    "\n",
+    "    # create layout in OA database\n",
+    "    print('creating layout')\n",
+    "    tdb.batch_layout(prj, [template], [gen_cell])\n",
+    "    # return corresponding schematic parameters\n",
+    "    print('layout done')\n",
+    "    return template.sch_params\n",
+    "```\n",
+    "The above code snippet (taking from `xbase_demo.core` module) shows how layout is generated.  First, user create a layout database object, which keeps track of layout hierarchy.  Then, user uses the layout database object to create new layout instances given layout generator class and parameters.  Finally, layout database uses `BagProject` instance to create the generated layouts in Virtuoso.  The generated layout will also contain the corresponding schematic parameters, which can be passed to schematic generator later."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## BAG TemplateDB Creation Code\n",
+    "```python\n",
+    "def make_tdb(prj, specs, impl_lib):\n",
+    "    grid_specs = specs['routing_grid']\n",
+    "    layers = grid_specs['layers']\n",
+    "    spaces = grid_specs['spaces']\n",
+    "    widths = grid_specs['widths']\n",
+    "    bot_dir = grid_specs['bot_dir']\n",
+    "\n",
+    "    # create RoutingGrid object\n",
+    "    routing_grid = RoutingGrid(prj.tech_info, layers, spaces, widths, bot_dir)\n",
+    "    # create layout template database\n",
+    "    tdb = TemplateDB('template_libs.def', routing_grid, impl_lib, use_cybagoa=True)\n",
+    "    return tdb\n",
+    "```\n",
+    "For reference, the above code snippet shows how the layout database object is created.  A `RoutingGrid` object is created from routing grid parameters specified in the specification file, which is then used to construct the `TemplateDB` layout database object."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Routing Example\n",
+    "\n",
+    "The code box below defines a `RoutingDemo` layout generator class, which is a simply layout containing only wires, vias, and pins.  All layout creation happens in the `draw_layout()` function, the functions/attributes of interests are:\n",
+    "\n",
+    "* `add_wires()`:  Create one or more physical wires, with the given options.\n",
+    "* `connect_to_tracks()`: Connect two `WireArray`s on adjacent layers by extending them to their intersection and adding vias.\n",
+    "* `connnect_wires()`: Connect multiple `WireArrays` on the same layer together.  \n",
+    "* `add_pin()`: Add a pin object on top of a `WireArray` object.\n",
+    "* `self.size`: A 3-tuple describing the size of this layout cell.\n",
+    "* `self.bound_box`: A `BBox` object representing the bounding box of this layout cell, computed from `self.size`.\n",
+    "\n",
+    "To see the layout in action, evaluate the code box below by selecting the cell and pressing Ctrl+Enter.  A `DEMO_ROUTING` library will be created in Virtuoso with a single `ROUTING_DEMO` layout cell in it.  Feel free to play around with the numbers and re-evaluating the cell, and the layout in Virtuoso should update.\n",
+    "\n",
+    "Exercise 1: There are currently 3 wires labeled \"pin3\".  Change that to 4 wires by adding an extra wire with the same pitch on the right.\n",
+    "\n",
+    "Exercise 2: Connect all wires labeled \"pin3\" to the wire labeled \"pin1\".  Hint: use `connect_to_tracks()` and `connect_wires()`."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 9,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "using existing BagProject\n",
+      "computing layout\n",
+      "WireArray(TrackID(layer=4, track=0), 0.1, 0.3)\n",
+      "0.1 0.2 0.3\n",
+      "TrackID(layer=4, track=0)\n",
+      "WireArray(TrackID(layer=5, track=6, num=3, pitch=2), 0.1, 0.4)\n",
+      "WireArray(TrackID(layer=5, track=3, width=2), 0.042, 0.75)\n",
+      "BBox(0.000, 0.000, 1.980, 0.864)\n",
+      "creating layout\n",
+      "layout done\n"
+     ]
+    }
+   ],
+   "source": [
+    "from bag.layout.routing import TrackID\n",
+    "from bag.layout.template import TemplateBase\n",
+    "\n",
+    "\n",
+    "class RoutingDemo(TemplateBase):\n",
+    "    def __init__(self, temp_db, lib_name, params, used_names, **kwargs):\n",
+    "        super(RoutingDemo, self).__init__(temp_db, lib_name, params, used_names, **kwargs)\n",
+    "\n",
+    "    @classmethod\n",
+    "    def get_params_info(cls):\n",
+    "        return {}\n",
+    "\n",
+    "    def draw_layout(self):\n",
+    "        # Metal 4 is horizontal, Metal 5 is vertical\n",
+    "        hm_layer = 4\n",
+    "        vm_layer = 5\n",
+    "\n",
+    "        # add a horizontal wire on track 0, from X=0.1 to X=0.3\n",
+    "        warr1 = self.add_wires(hm_layer, 0, 0.1, 0.3)\n",
+    "        # print WireArray object\n",
+    "        print(warr1)\n",
+    "        # print lower, middle, and upper coordinate of wire.\n",
+    "        print(warr1.lower, warr1.middle, warr1.upper)\n",
+    "        # print TrackID object associated with WireArray\n",
+    "        print(warr1.track_id)\n",
+    "\n",
+    "        # add a horizontal wire on track 1, from X=0.1 to X=0.3,\n",
+    "        # coordinates specified in resolution units\n",
+    "        warr2 = self.add_wires(hm_layer, 1, 100, 300, unit_mode=True)\n",
+    "\n",
+    "        # add another wire on track 1, from X=0.35 to X=0.45\n",
+    "        warr2_ext = self.add_wires(hm_layer, 1, 350, 450, unit_mode=True)\n",
+    "        # connect wires on the same track, in this case warr2 and warr2_ext\n",
+    "        self.connect_wires([warr2, warr2_ext])\n",
+    "        \n",
+    "        # add a horizontal wire on track 2.5, from X=0.2 to X=0.4\n",
+    "        self.add_wires(hm_layer, 2.5, 200, 400, unit_mode=True)\n",
+    "        # add a horizontal wire on track 4, from X=0.2 to X=0.4, with 2 tracks wide\n",
+    "        warr3 = self.add_wires(hm_layer, 4, 200, 400, width=2, unit_mode=True)\n",
+    "\n",
+    "        # add 3 parallel vertical wires starting on track 6 and use every other track\n",
+    "        warr4 = self.add_wires(vm_layer, 6, 100, 400, num=3, pitch=2, unit_mode=True)\n",
+    "        print(warr4)\n",
+    "        \n",
+    "        # create a TrackID object representing a vertical track\n",
+    "        tid = TrackID(vm_layer, 3, width=2, num=1, pitch=0)\n",
+    "        # connect horizontal wires to the vertical track\n",
+    "        warr5 = self.connect_to_tracks([warr1, warr3], tid)\n",
+    "        print(warr5)\n",
+    "\n",
+    "        # add a pin on a WireArray\n",
+    "        self.add_pin('pin1', warr1)\n",
+    "        # add a pin, but make label different than net name.  Useful for LVS connect\n",
+    "        self.add_pin('pin2', warr2, label='pin2:')\n",
+    "        # add_pin also works for WireArray representing multiple wires\n",
+    "        self.add_pin('pin3', warr4)\n",
+    "        # add a pin (so it is visible in BAG), but do not create the actual layout\n",
+    "        # in OA.  This is useful for hiding pins on lower levels of hierarchy.\n",
+    "        self.add_pin('pin4', warr3, show=False)\n",
+    "\n",
+    "        # set the size of this template\n",
+    "        top_layer = vm_layer\n",
+    "        num_h_tracks = 6\n",
+    "        num_v_tracks = 11\n",
+    "        # size is 3-element tuple of top layer ID, number of top\n",
+    "        # vertical tracks, and number of top horizontal tracks\n",
+    "        self.size = top_layer, num_v_tracks, num_h_tracks\n",
+    "        # print bounding box of this template\n",
+    "        print(self.bound_box)\n",
+    "        # add a M7 rectangle to visualize bounding box in layout\n",
+    "        self.add_rect('M7', self.bound_box)\n",
+    "        \n",
+    "\n",
+    "import os\n",
+    "\n",
+    "# import bag package\n",
+    "import bag\n",
+    "from bag.io import read_yaml\n",
+    "\n",
+    "# import BAG demo Python modules\n",
+    "import xbase_demo.core as demo_core\n",
+    "\n",
+    "# load circuit specifications from file\n",
+    "spec_fname = os.path.join(os.environ['BAG_WORK_DIR'], 'specs_demo/demo.yaml')\n",
+    "top_specs = read_yaml(spec_fname)\n",
+    "\n",
+    "# obtain BagProject instance\n",
+    "local_dict = locals()\n",
+    "if 'bprj' in local_dict:\n",
+    "    print('using existing BagProject')\n",
+    "    bprj = local_dict['bprj']\n",
+    "else:\n",
+    "    print('creating BagProject')\n",
+    "    bprj = bag.BagProject()\n",
+    "\n",
+    "demo_core.routing_demo(bprj, top_specs, RoutingDemo)"
+   ]
+  }
+ ],
+ "metadata": {
+  "anaconda-cloud": {},
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.6.3"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/workspace_setup/tutorial_files/3_analogbase.ipynb b/workspace_setup/tutorial_files/3_analogbase.ipynb
new file mode 100644
index 0000000..d6c0215
--- /dev/null
+++ b/workspace_setup/tutorial_files/3_analogbase.ipynb
@@ -0,0 +1,662 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# AnalogBase\n",
+    "In this module, you will learn the basics of `AnalogBase`, and how to design a source-follower layout generator using AnalogBase.\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## What is AnalogBase?\n",
+    "<img src=\"bootcamp_pics/3_analogbase/analogbase_1.PNG\" alt=\"Drawing\" style=\"width: 200px;\" />\n",
+    "`AnalogBase` is one of several \"layout floorplan\" classes that allows designers to easily develop process-portable layout generator for various electromigration-constrained circuits.  To do so, `AnalogBase` draws rows of transistors with substrate contacts on the top-most and bottom-most rows, as shown in the figure above.  In this floorplan, the number of current-carrying wires scales naturally with number of fingers, which is optimal for circuits with large bias currents.\n",
+    "\n",
+    "By convention, `AnalogBase` draws $N$ rows of NMOS (labeled as `nch`) and $P$ rows of PMOS (labeled as `pch`), with $N$ and $P$ being nonnegative integers, so you can only draw NMOS rows by setting $P=0$, and so on.  The rows are indexed from bottom to top, so `nch(N-1)` is the top-most NMOS row, and `pch0` is the bottom-most PMOS row.\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Transistor Source/Drain Naming Convention\n",
+    "<img src=\"bootcamp_pics/3_analogbase/analogbase_3.PNG\" alt=\"Drawing\" style=\"width: 600px;\"/>\n",
+    "Before we talk about how `AnalogBase` draws transistor connections, we need to establish a naming convention for source/drain junctions of a transistor, since source and drain are often interchangeable.  In XBase, the left-most source/drain junction of a transistor is always called \"source\", and after that source and drain alternates between each other, as shown in the above figure.  This implies that for even number of fingers, the right-most junction is always \"source\", and for odd number of fingers, the left-most junction is always \"drain\"."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## AnalogMosConn Overview\n",
+    "<img src=\"bootcamp_pics/3_analogbase/analogbase_2.PNG\" alt=\"Drawing\" style=\"width: 600px;\"/>\n",
+    "To connect transistors to the routing grid, `AnalogBase` \"drops\" `AnalogMosConn`, a layout cell consisting only of wires and vias, on top of desired transistors to connect gates, sources, and drains to a vertical routing layer.  For most technologies, `AnalogMosConn` draws gate, drain, and source wires on every other source/drain junction, with drain and source wires interleaving with each other.  By default, the gate wires are drawn below the transistor row, to draw gate wires above the transistor row, flip the row upside down by changing the row orientation from `R0` to `MX` (we will see an example of this later).\n",
+    "\n",
+    "With this layout style, the gate wires can either be drawn in the same tracks as source wires (\"G aligned to S\"), or they can be drawn in the same tracks as drain wires (\"G aligned to D\"). The gate wire location is usually determined by source/drain wire direction.  For example, in the figure above, if the source of a transistor needs to be connected to the row below it, then gate wires cannot be aligned to source, as this will cause a short between gate and source wires when the source wires is extended downwards.  Because of this, when creating a `AnalogMosConn`, designer needs to specify the drain and source wire directions (whether they go \"up\" or \"down\"), and the gate wire locations will be determined automatically to avoid shorts."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Connecting to Horizontal Tracks\n",
+    "<img src=\"bootcamp_pics/3_analogbase/analogbase_4.PNG\" alt=\"Drawing\" style=\"width: 300px;\"/>\n",
+    "In the previous section, we see that `AnalogMosConn` connects the transistor to vertical tracks.  How do we connect those vertical wires to the horizontal tracks above it?  If you recall from the previous module, you would need to use the `connect_to_tracks()` method with the horizontal track index.  The question now becomes: how do I know which track index can be used for gate/drain/source connections?\n",
+    "\n",
+    "To get a better understanding of this problem, consider the layout shown in the figure above.  The PMOS drain wires can be easily connected to track 10 with no issues, but the PMOS gate wires cannot be connected to track 10 without shorting with drain wires.  In fact, the PMOS gate wires can only be connected to tracks 5, 6, and 7 without running into minimum line-end spacing rules with other wires.  How can we determine what the legal track indices are?  Furthermore, if our particular circuit requires more than 3 horizontal tracks for PMOS gate connections, how can we tell `AnalogBase` to space the rows further apart?\n",
+    "\n",
+    "<img src=\"bootcamp_pics/3_analogbase/analogbase_5.PNG\"  alt=\"Drawing\" style=\"width: 300px;\"/>\n",
+    "To address these issues, `AnalogBase` introduces the concept of relative track indices, as shown in the figure above.  `AnalogBase` categorizes each horizontal tracks by the transistor row it belongs to, and by whether it can be connected to the gate/drain/source wires without DRC errors.  \n",
+    "\n",
+    "In each row, `g0` is the horizontal track furthest from the transistor row that can be connected to the gate wires without errors, and the index increases as the wire moves closer to the transistor.  `ds0` is the horizontal track closest to the transistor row (perhaps on top of it) that can be connected to the drain/source wires without errors, and the index increases as the wire moves away from the transistor.\n",
+    "\n",
+    "`AnalogBase` provides two methods to convert relative track indices to absolute track numbers, which can then be passed to `connect_to_tracks()` method to draw the connections.  Using the figure above as an example, `self.get_track_index('pch', 0, 'g', 1)` will returns the track number of the horizontal track at PMOS row 0, gate type, index 1, which is track number 5.  `self.make_track_id('pch', 0, 'g', 1)` will return the corresponding `TrackID` object instead.\n",
+    "\n",
+    "Finally, designer can specify the number of horizontal tracks needed for gate/drain/source connections on each row, and `AnalogBase` will automatically move rows further apart if necessary."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## CS Amplifier Layout Example\n",
+    "<img src=\"bootcamp_pics/3_analogbase/analogbase_6.PNG\" alt=\"Drawing\" style=\"width: 400px;\"/>\n",
+    "Now that you have a general idea of how `AnalogBase` works, lets walk through a common-source amplifier example.  The figure above shows a rough sketch of the layout floorplan (**NOTE: ALWAYS DRAW FLOORPLAN BEFORE CODING!**).  We have one NMOS row on the bottom, one PMOS row on the top, and we put extra dummy transistors on both sides to reduce edge layout effects.  The input connects to NMOS gates from below the NMOS row, the PMOS bias connects to PMOS gates from above the PMOS row, and the output drain/source of NMOS/PMOS are connected to a horizontal track between the two rows.  Finally, the supply drain/source wires are extended and shorted on top of the substrate contacts on both ends.\n",
+    "\n",
+    "The entire common-source amplifier layout generator code is reproduced below.  We will walk through important sections of the code and describe what they do.\n",
+    "\n",
+    "```python\n",
+    "class AmpCS(AnalogBase):\n",
+    "    \"\"\"A common source amplifier.\"\"\"\n",
+    "    def __init__(self, temp_db, lib_name, params, used_names, **kwargs):\n",
+    "        AnalogBase.__init__(self, temp_db, lib_name, params, used_names, **kwargs)\n",
+    "        self._sch_params = None\n",
+    "\n",
+    "    @property\n",
+    "    def sch_params(self):\n",
+    "        return self._sch_params\n",
+    "\n",
+    "    @classmethod\n",
+    "    def get_params_info(cls):\n",
+    "        \"\"\"Returns a dictionary containing parameter descriptions.\n",
+    "\n",
+    "        Override this method to return a dictionary from parameter names to descriptions.\n",
+    "\n",
+    "        Returns\n",
+    "        -------\n",
+    "        param_info : dict[str, str]\n",
+    "            dictionary from parameter name to description.\n",
+    "        \"\"\"\n",
+    "        return dict(\n",
+    "            lch='channel length, in meters.',\n",
+    "            w_dict='width dictionary.',\n",
+    "            intent_dict='intent dictionary.',\n",
+    "            fg_dict='number of fingers dictionary.',\n",
+    "            ndum='number of dummies on each side.',\n",
+    "            ptap_w='NMOS substrate width, in meters/number of fins.',\n",
+    "            ntap_w='PMOS substrate width, in meters/number of fins.',\n",
+    "            show_pins='True to draw pin geometries.',\n",
+    "        )\n",
+    "\n",
+    "    def draw_layout(self):\n",
+    "        \"\"\"Draw the layout of a transistor for characterization.\n",
+    "        \"\"\"\n",
+    "\n",
+    "        lch = self.params['lch']\n",
+    "        w_dict = self.params['w_dict']\n",
+    "        intent_dict = self.params['intent_dict']\n",
+    "        fg_dict = self.params['fg_dict']\n",
+    "        ndum = self.params['ndum']\n",
+    "        ptap_w = self.params['ptap_w']\n",
+    "        ntap_w = self.params['ntap_w']\n",
+    "        show_pins = self.params['show_pins']\n",
+    "\n",
+    "        fg_amp = fg_dict['amp']\n",
+    "        fg_load = fg_dict['load']\n",
+    "\n",
+    "        if fg_load % 2 != 0 or fg_amp % 2 != 0:\n",
+    "            raise ValueError('fg_load=%d and fg_amp=%d must all be even.' % (fg_load, fg_amp))\n",
+    "\n",
+    "        # compute total number of fingers in each row\n",
+    "        fg_half_pmos = fg_load // 2\n",
+    "        fg_half_nmos = fg_amp // 2\n",
+    "        fg_half = max(fg_half_pmos, fg_half_nmos)\n",
+    "        fg_tot = (fg_half + ndum) * 2\n",
+    "\n",
+    "        # specify width/threshold of each row\n",
+    "        nw_list = [w_dict['amp']]\n",
+    "        pw_list = [w_dict['load']]\n",
+    "        nth_list = [intent_dict['amp']]\n",
+    "        pth_list = [intent_dict['load']]\n",
+    "\n",
+    "        # specify number of horizontal tracks for each row\n",
+    "        ng_tracks = [1]  # input track\n",
+    "        nds_tracks = [1]  # one track for space\n",
+    "        pds_tracks = [1]  # output track\n",
+    "        pg_tracks = [1]  # bias track\n",
+    "\n",
+    "        # specify row orientations\n",
+    "        n_orient = ['R0']  # gate connection on bottom\n",
+    "        p_orient = ['MX']  # gate connection on top\n",
+    "\n",
+    "        self.draw_base(lch, fg_tot, ptap_w, ntap_w, nw_list,\n",
+    "                       nth_list, pw_list, pth_list,\n",
+    "                       ng_tracks=ng_tracks, nds_tracks=nds_tracks,\n",
+    "                       pg_tracks=pg_tracks, pds_tracks=pds_tracks,\n",
+    "                       n_orientations=n_orient, p_orientations=p_orient,\n",
+    "                       )\n",
+    "\n",
+    "        # figure out if output connects to drain or source of nmos\n",
+    "        if (fg_amp - fg_load) % 4 == 0:\n",
+    "            s_net, d_net = '', 'vout'\n",
+    "            aout, aoutb, nsdir, nddir = 'd', 's', 0, 2\n",
+    "        else:\n",
+    "            s_net, d_net = 'vout', ''\n",
+    "            aout, aoutb, nsdir, nddir = 's', 'd', 2, 0\n",
+    "\n",
+    "        # create transistor connections\n",
+    "        load_col = ndum + fg_half - fg_half_pmos\n",
+    "        amp_col = ndum + fg_half - fg_half_nmos\n",
+    "        amp_ports = self.draw_mos_conn('nch', 0, amp_col, fg_amp, nsdir, nddir,\n",
+    "                                       s_net=s_net, d_net=d_net)\n",
+    "        load_ports = self.draw_mos_conn('pch', 0, load_col, fg_load, 2, 0,\n",
+    "                                        s_net='', d_net='vout')\n",
+    "        # amp_ports/load_ports are dictionaries of WireArrays representing\n",
+    "        # transistor ports.\n",
+    "        print(amp_ports)\n",
+    "        print(amp_ports['g'])\n",
+    "\n",
+    "        # create TrackID from relative track index\n",
+    "        vin_tid = self.make_track_id('nch', 0, 'g', 0)\n",
+    "        vbias_tid = self.make_track_id('pch', 0, 'g', 0)\n",
+    "        # can also convert from relative to absolute track index\n",
+    "        print(self.get_track_index('nch', 0, 'g', 0))\n",
+    "        # get output track index, put it in the middle\n",
+    "        vout_bot = self.get_track_index('nch', 0, 'ds', 0)\n",
+    "        vout_top = self.get_track_index('pch', 0, 'ds', 0)\n",
+    "        vout_index = self.grid.get_middle_track(vout_bot, vout_top, round_up=True)\n",
+    "        vout_tid = TrackID(self.mos_conn_layer + 1, vout_index)\n",
+    "\n",
+    "        vin_warr = self.connect_to_tracks(amp_ports['g'], vin_tid)\n",
+    "        vout_warr = self.connect_to_tracks([amp_ports[aout], load_ports['d']], vout_tid)\n",
+    "        vbias_warr = self.connect_to_tracks(load_ports['g'], vbias_tid)\n",
+    "        self.connect_to_substrate('ptap', amp_ports[aoutb])\n",
+    "        self.connect_to_substrate('ntap', load_ports['s'])\n",
+    "\n",
+    "        vss_warrs, vdd_warrs = self.fill_dummy()\n",
+    "\n",
+    "        self.add_pin('VSS', vss_warrs, show=show_pins)\n",
+    "        self.add_pin('VDD', vdd_warrs, show=show_pins)\n",
+    "        self.add_pin('vin', vin_warr, show=show_pins)\n",
+    "        self.add_pin('vout', vout_warr, show=show_pins)\n",
+    "        self.add_pin('vbias', vbias_warr, show=show_pins)\n",
+    "\n",
+    "        # compute schematic parameters\n",
+    "        self._sch_params = dict(\n",
+    "            lch=lch,\n",
+    "            w_dict=w_dict,\n",
+    "            intent_dict=intent_dict,\n",
+    "            fg_dict=fg_dict,\n",
+    "            dum_info=self.get_sch_dummy_info(),\n",
+    "        )\n",
+    "```"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Class Definition\n",
+    "```python\n",
+    "class AmpCS(AnalogBase):\n",
+    "    \"\"\"A common source amplifier.\"\"\"\n",
+    "    def __init__(self, temp_db, lib_name, params, used_names, **kwargs):\n",
+    "        AnalogBase.__init__(self, temp_db, lib_name, params, used_names, **kwargs)\n",
+    "        self._sch_params = None\n",
+    "        \n",
+    "        @property\n",
+    "        def sch_params(self):\n",
+    "            return self._sch_params\n",
+    "```\n",
+    "The layout generator code starts with the Python class definition.  We subclass the `AnalogBase` class to inherit various functions described earlier.  The constructor doesn't do much besides calling the super constructor and initializing a private attribute.  Finally, we declare a read-only property, `sch_params`, which we will compute later.  It contains the schematic parameters for the schematic generator we will see in the next module."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "collapsed": true
+   },
+   "source": [
+    "## Parameter Specifications\n",
+    "```python\n",
+    "@classmethod\n",
+    "def get_params_info(cls):\n",
+    "        \"\"\"Returns a dictionary containing parameter descriptions.\n",
+    "        Override this method to return a dictionary from parameter names to descriptions.\n",
+    "        Returns\n",
+    "        -------\n",
+    "        param_info : dict[str, str]\n",
+    "            dictionary from parameter name to description.\n",
+    "        \"\"\"\n",
+    "        return dict(\n",
+    "            lch='channel length, in meters.',\n",
+    "            w_dict='width dictionary.',\n",
+    "            intent_dict='intent dictionary.',\n",
+    "            fg_dict='number of fingers dictionary.',\n",
+    "            ndum='number of dummies on each side.',\n",
+    "            ptap_w='NMOS substrate width, in meters/number of fins.',\n",
+    "            ntap_w='PMOS substrate width, in meters/number of fins.',\n",
+    "            show_pins='True to draw pin geometries.',\n",
+    "        )\n",
+    "```\n",
+    "Next we have a class method, `get_params_info()`, that simply returns a Python dictionary from layout parameter names to a brief description of the corresponding parameter.  This method should list all layout parameters, and it is used to determine to compute a unique ID to represent the generated instance.  This allows XBase to avoid re-generating existing layouts when constructing a complex layout hierarchy with many duplicate layout instances."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## How many fingers in a row?\n",
+    "Next, in the `draw_layout()` method is where all the layout generation happens.  The beginning is rather straight-forward, then we get to the following section:\n",
+    "```python\n",
+    " # compute total number of fingers in each row\n",
+    "fg_half_pmos = fg_load // 2\n",
+    "fg_half_nmos = fg_amp // 2\n",
+    "fg_half = max(fg_half_pmos, fg_half_nmos)\n",
+    "fg_tot = (fg_half + ndum) * 2\n",
+    "```\n",
+    "This section computes how many fingers we need to draw in each transistor row.  To get a better understanding, consider the two scenarios below:\n",
+    "<img src=\"bootcamp_pics/3_analogbase/analogbase_7.PNG\" alt=\"Drawing\" style=\"width: 600px;\" />\n",
+    "Since `AnalogBase` must draw the same number of fingers for each row, we see that total number of fingers in each row depends on whether the AMP transistor or the LOAD transistor has more fingers.  We resolve this by using the `max()` function to get the larger of the two."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Drawing Transistor Rows\n",
+    "```python\n",
+    "# specify width/threshold of each row\n",
+    "nw_list = [w_dict['amp']]\n",
+    "pw_list = [w_dict['load']]\n",
+    "nth_list = [intent_dict['amp']]\n",
+    "pth_list = [intent_dict['load']]\n",
+    "\n",
+    "# specify number of horizontal tracks for each row\n",
+    "ng_tracks = [1]  # input track\n",
+    "nds_tracks = [1]  # one track for space\n",
+    "pds_tracks = [1]  # output track\n",
+    "pg_tracks = [1]  # bias track\n",
+    "\n",
+    "# specify row orientations\n",
+    "n_orient = ['R0'] # gate connection on bottom\n",
+    "p_orient = ['MX'] # gate connection on top\n",
+    "\n",
+    "self.draw_base(lch, fg_tot, ptap_w, ntap_w, nw_list,\n",
+    "               nth_list, pw_list, pth_list,\n",
+    "               ng_tracks=ng_tracks, nds_tracks=nds_tracks,\n",
+    "               pg_tracks=pg_tracks, pds_tracks=pds_tracks,\n",
+    "               n_orientations=n_orient, p_orientations=p_orient,\n",
+    "               )\n",
+    "```\n",
+    "This section specifies the layout parameters for each row, then calls the `draw_base()` method in `AnalogBase` to draw the transistor and substrate contact rows.  Note that the PMOS row orientation is set to `MX` so that `AnalogMosConn` will draw gate wires on the top of PMOS row."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Is output on source or drain?\n",
+    "```python\n",
+    "# figure out if output connects to drain or source of nmos\n",
+    "if (fg_amp - fg_load) % 4 == 0:\n",
+    "    aout, aoutb, nsdir, nddir = 'd', 's', 0, 2\n",
+    "else:\n",
+    "    aout, aoutb, nsdir, nddir = 's', 'd', 2, 0\n",
+    "```\n",
+    "This section determines if the output should connect to drain or source of the nmos transistor, and as the result what should the nmos source/drain wire directions be.  To see why this is necessary, consider the two cases shown below:\n",
+    "<img src=\"bootcamp_pics/3_analogbase/analogbase_8.PNG\" alt=\"Drawing\" style=\"width: 600px;\" />\n",
+    "In both cases, we have 8 PMOS fingers, and 4 or 6 NMOS fingers, respectively.  To make life simpler, we decide to always connect the output wires to PMOS drain (if you expect PMOS to always be larger, this gives you less parasitic capacitance).  Furthermore, to have better symmetric, we align the center of the PMOS and NMOS transistors.  Then, to minimize interconnect resistance, we should connect output to the NMOS junction that is aligned to PMOS drain.  If we check the above figure, we see that the corresponding NMOS junction is drain when NMOS has 4 fingers, but it is source when NMOS has 6 fingers!  This means that the correct NMOS junction to connect to actually depends on both `fg_amp` and `fg_load`.  By sketching a few example, you should be able to figure out that we need to connect output to NMOS drain if the difference in number of fingers is a multiple of 4, and connect output to NMOS drain otherwise.  This is exactly what this section of code does."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Drawing Transistor Connections\n",
+    "```python\n",
+    "# create transistor connections\n",
+    "load_col = ndum + fg_half - fg_half_pmos\n",
+    "amp_col = ndum + fg_half - fg_half_nmos\n",
+    "amp_ports = self.draw_mos_conn('nch', 0, amp_col, fg_amp, nsdir, nddir,\n",
+    "                               s_net=s_net, d_net=d_net)\n",
+    "load_ports = self.draw_mos_conn('pch', 0, load_col, fg_load, 2, 0,\n",
+    "                                s_net='', d_net='vout')\n",
+    "# amp_ports/load_ports are dictionaries of WireArrays representing\n",
+    "# transistor ports.\n",
+    "print(amp_ports)\n",
+    "print(amp_ports['g'])\n",
+    "```\n",
+    "Now we are ready to draw the actual transistor connections.  To do so, we use the `draw_mos_conn()` function.  As an example, `self.draw_mos_conn('pch', 0, load_col, fg_load, 2, 0)` creates an `AnalogMosConn` object on top of PMOS row 0, starting at transistor index `load_col` (with index 0 being left-most transistor), using `fg_load` fingers to the right, with source going up (code 2) and drain going down (code 0).  Remember that the source/drain directions are used to determine gate wires location.\n",
+    "\n",
+    "The optional parameters `s_net` and `d_net` specify the net names of the source and drain of the transistor drawn, respectively.  By default, if these are not specified (or set to empty strings), AnalogBase assume they connect to VDD for PMOS or VSS for NMOS.  These parameters are used to infer dummy transistor schematic to simplify the process of generating LVS-clean schematics.\n",
+    "\n",
+    "the `draw_mos_conn()` method will return a dictionary from the strings `'g'`, `'d'`, and `'s'` to the `WireArray` objects for the corresponding vertical wires."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Connecting Wires\n",
+    "```python\n",
+    "# create TrackID from relative track index\n",
+    "vin_tid = self.make_track_id('nch', 0, 'g', 0)\n",
+    "vout_tid = self.make_track_id('pch', 0, 'ds', 0)\n",
+    "vbias_tid = self.make_track_id('pch', 0, 'g', 0)\n",
+    "# can also convert from relative to absolute track index\n",
+    "print(self.get_track_index('nch', 0, 'g', 0))\n",
+    "\n",
+    "vin_warr = self.connect_to_tracks(amp_ports['g'], vin_tid)\n",
+    "vout_warr = self.connect_to_tracks([amp_ports[aout], load_ports['d']], vout_tid)\n",
+    "vbias_warr = self.connect_to_tracks(load_ports['g'], vbias_tid)\n",
+    "self.connect_to_substrate('ptap', amp_ports[aoutb])\n",
+    "self.connect_to_substrate('ntap', load_ports['s'])\n",
+    "```\n",
+    "This section used the `make_track_id()` and `get_track_index()` methods described before to get horizontal track indices from relative index.  We then use `connect_to_tracks()` to connect wires to the desired tracks.  `connect_to_substrate()` method is used to connect transistor junctions to the specified substrate contacts."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Dummies and Pins\n",
+    "```python\n",
+    "vss_warrs, vdd_warrs = self.fill_dummy()\n",
+    "\n",
+    "self.add_pin('VSS', vss_warrs, show=show_pins)\n",
+    "self.add_pin('VDD', vdd_warrs, show=show_pins)\n",
+    "self.add_pin('vin', vin_warr, show=show_pins)\n",
+    "self.add_pin('vout', vout_warr, show=show_pins)\n",
+    "self.add_pin('vbias', vbias_warr, show=show_pins)\n",
+    "```\n",
+    "After all connections are made, the `fill_dummy()` method can be used to automatically connect all unconnected transistors to corresponding substrate contacts as dummy transistors.  `add_pin()` function is used to add layout pins, as seem from the routing demo module."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Schematic Parameters\n",
+    "```python\n",
+    "# compute schematic parameters\n",
+    "self._sch_params = dict(\n",
+    "    lch=lch,\n",
+    "    w_dict=w_dict,\n",
+    "    intent_dict=intent_dict,\n",
+    "    fg_dict=fg_dict,\n",
+    "    dum_info=self.get_sch_dummy_info(),\n",
+    ")\n",
+    "```\n",
+    "Finally, we compute the schematic parameter dictionary, which will be used with the schematic generator later to produce LVS clean schematic.  The `get_sch_dummy_info()` method will return a data structure that describes all the dummy transistors in this AnalogBase.  This data structure will be used by the schematic generator to create the corresponding transistors."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## SF Amplifier Exercise\n",
+    "Now that you understand how the common-source amplifier layout generator works, try to complete the following source-follower amplifier class by filling in missing codes.  The floorplan for the source-follower amplifier is drawn for you below:\n",
+    "<img src=\"bootcamp_pics/3_analogbase/analogbase_9.PNG\" alt=\"Drawing\" style=\"width: 400px;\"/>\n",
+    "Notice that:\n",
+    "* we have two rows of NMOS.\n",
+    "* Gate connection is on the top for second row\n",
+    "* To minimize parasitics, we will use leave 1 horizontal track empty between vin and VDD.\n",
+    "\n",
+    "You can evaluate the next cell (Press Ctrl+Enter) to see a preliminary layout of the source follower.  It will also run LVS after generating the layout, which will fail if your layout is not correct."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "creating BagProject\n",
+      "computing layout\n",
+      "ext_w0 = 1, ext_wend=7, ytop=2880\n",
+      "ext_w0 = 2, ext_wend=9, ytop=3024\n",
+      "final: ext_w0 = 1, ext_wend=7, ytop=2880\n",
+      "creating layout\n",
+      "layout done\n",
+      "computing AMP_SF schematics\n"
+     ]
+    },
+    {
+     "ename": "TypeError",
+     "evalue": "design() argument after ** must be a mapping, not NoneType",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[1;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
+      "\u001b[1;32m<ipython-input-1-6182a9967843>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m    178\u001b[0m     \u001b[0mbprj\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mbag\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mBagProject\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    179\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 180\u001b[1;33m \u001b[0mdemo_core\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrun_flow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbprj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtop_specs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'amp_sf_soln'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mAmpSF\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mrun_lvs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlvs_only\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
+      "\u001b[1;32m~/projects/bag_gen/BAG2_cds_ff_mpt/BAG_XBase_demo/xbase_demo/core.py\u001b[0m in \u001b[0;36mrun_flow\u001b[1;34m(prj, specs, dsn_name, lay_cls, sch_cls, run_lvs, lvs_only)\u001b[0m\n\u001b[0;32m    376\u001b[0m     \u001b[1;31m# generate design/testbench schematics\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    377\u001b[0m     gen_schematics(prj, specs, dsn_name, dsn_sch_params, sch_cls=sch_cls,\n\u001b[1;32m--> 378\u001b[1;33m                    check_lvs=run_lvs, lvs_only=lvs_only)\n\u001b[0m\u001b[0;32m    379\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    380\u001b[0m     \u001b[1;32mif\u001b[0m \u001b[0mlvs_only\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+      "\u001b[1;32m~/projects/bag_gen/BAG2_cds_ff_mpt/BAG_XBase_demo/xbase_demo/core.py\u001b[0m in \u001b[0;36mgen_schematics\u001b[1;34m(prj, specs, dsn_name, sch_params, sch_cls, check_lvs, lvs_only)\u001b[0m\n\u001b[0;32m     99\u001b[0m         \u001b[0mdsn\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mprj\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcreate_design_module\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msch_lib\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msch_cell\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    100\u001b[0m         \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'computing %s schematics'\u001b[0m \u001b[1;33m%\u001b[0m \u001b[0mgen_cell\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 101\u001b[1;33m         \u001b[0mdsn\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdesign\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m**\u001b[0m\u001b[0msch_params\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    102\u001b[0m     \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    103\u001b[0m         dsn = prj.new_schematic_instance(lib_name=sch_lib, cell_name=sch_cell,\n",
+      "\u001b[1;31mTypeError\u001b[0m: design() argument after ** must be a mapping, not NoneType"
+     ]
+    }
+   ],
+   "source": [
+    "from abs_templates_ec.analog_core import AnalogBase\n",
+    "\n",
+    "\n",
+    "class AmpSF(AnalogBase):\n",
+    "    \"\"\"A template of a single transistor with dummies.\n",
+    "\n",
+    "    This class is mainly used for transistor characterization or\n",
+    "    design exploration with config views.\n",
+    "\n",
+    "    Parameters\n",
+    "    ----------\n",
+    "    temp_db : :class:`bag.layout.template.TemplateDB`\n",
+    "            the template database.\n",
+    "    lib_name : str\n",
+    "        the layout library name.\n",
+    "    params : dict[str, any]\n",
+    "        the parameter values.\n",
+    "    used_names : set[str]\n",
+    "        a set of already used cell names.\n",
+    "    kwargs : dict[str, any]\n",
+    "        dictionary of optional parameters.  See documentation of\n",
+    "        :class:`bag.layout.template.TemplateBase` for details.\n",
+    "    \"\"\"\n",
+    "\n",
+    "    def __init__(self, temp_db, lib_name, params, used_names, **kwargs):\n",
+    "        AnalogBase.__init__(self, temp_db, lib_name, params, used_names, **kwargs)\n",
+    "        self._sch_params = None\n",
+    "\n",
+    "    @property\n",
+    "    def sch_params(self):\n",
+    "        return self._sch_params\n",
+    "\n",
+    "    @classmethod\n",
+    "    def get_params_info(cls):\n",
+    "        \"\"\"Returns a dictionary containing parameter descriptions.\n",
+    "\n",
+    "        Override this method to return a dictionary from parameter names to descriptions.\n",
+    "\n",
+    "        Returns\n",
+    "        -------\n",
+    "        param_info : dict[str, str]\n",
+    "            dictionary from parameter name to description.\n",
+    "        \"\"\"\n",
+    "        return dict(\n",
+    "            lch='channel length, in meters.',\n",
+    "            w_dict='width dictionary.',\n",
+    "            intent_dict='intent dictionary.',\n",
+    "            fg_dict='number of fingers dictionary.',\n",
+    "            ndum='number of dummies on each side.',\n",
+    "            ptap_w='NMOS substrate width, in meters/number of fins.',\n",
+    "            ntap_w='PMOS substrate width, in meters/number of fins.',\n",
+    "            show_pins='True to draw pin geometries.',\n",
+    "        )\n",
+    "\n",
+    "    def draw_layout(self):\n",
+    "        \"\"\"Draw the layout of a transistor for characterization.\n",
+    "        \"\"\"\n",
+    "\n",
+    "        lch = self.params['lch']\n",
+    "        w_dict = self.params['w_dict']\n",
+    "        intent_dict = self.params['intent_dict']\n",
+    "        fg_dict = self.params['fg_dict']\n",
+    "        ndum = self.params['ndum']\n",
+    "        ptap_w = self.params['ptap_w']\n",
+    "        ntap_w = self.params['ntap_w']\n",
+    "        show_pins = self.params['show_pins']\n",
+    "\n",
+    "        fg_amp = fg_dict['amp']\n",
+    "        fg_bias = fg_dict['bias']\n",
+    "\n",
+    "        if fg_bias % 2 != 0 or fg_amp % 2 != 0:\n",
+    "            raise ValueError('fg_bias=%d and fg_amp=%d must all be even.' % (fg_bias, fg_amp))\n",
+    "\n",
+    "        fg_half_bias = fg_bias // 2\n",
+    "        fg_half_amp = fg_amp // 2\n",
+    "        fg_half = max(fg_half_bias, fg_half_amp)\n",
+    "        fg_tot = (fg_half + ndum) * 2\n",
+    "\n",
+    "        nw_list = [w_dict['bias'], w_dict['amp']]\n",
+    "        nth_list = [intent_dict['bias'], intent_dict['amp']]\n",
+    "        ng_tracks = [1, 3]\n",
+    "        nds_tracks = [1, 1]\n",
+    "\n",
+    "        n_orient = ['R0', 'MX']\n",
+    "\n",
+    "        self.draw_base(lch, fg_tot, ptap_w, ntap_w, nw_list,\n",
+    "                       nth_list, [], [],\n",
+    "                       ng_tracks=ng_tracks, nds_tracks=nds_tracks,\n",
+    "                       pg_tracks=[], pds_tracks=[],\n",
+    "                       n_orientations=n_orient,\n",
+    "                       )\n",
+    "\n",
+    "        if (fg_amp - fg_bias) % 4 == 0:\n",
+    "            s_net, d_net = 'VDD', 'vout'\n",
+    "            aout, aoutb, nsdir, nddir = 'd', 's', 2, 0\n",
+    "        else:\n",
+    "            s_net, d_net = 'vout', 'VDD'\n",
+    "            aout, aoutb, nsdir, nddir = 's', 'd', 0, 2\n",
+    "\n",
+    "        # TODO: compute bias_col and amp_col\n",
+    "        bias_col = amp_col = 0\n",
+    "\n",
+    "        amp_ports = self.draw_mos_conn('nch', 1, amp_col, fg_amp, nsdir, nddir,\n",
+    "                                       s_net=s_net, d_net=d_net)\n",
+    "        bias_ports = self.draw_mos_conn('nch', 0, bias_col, fg_bias, 0, 2,\n",
+    "                                        s_net='', d_net='vout')\n",
+    "\n",
+    "        # TODO: get TrackIDs for horizontal tracks\n",
+    "        # The following are related code copied and pasted from AmpCS\n",
+    "        # for reference\n",
+    "        # vin_tid = self.make_track_id('nch', 0, 'g', 0)\n",
+    "        # vout_tid = self.make_track_id('pch', 0, 'ds', 0)\n",
+    "        # vbias_tid = self.make_track_id('pch', 0, 'g', 0)\n",
+    "        vdd_tid = vin_tid = vout_tid = vbias_tid = None\n",
+    "\n",
+    "        if vdd_tid is None:\n",
+    "            return\n",
+    "\n",
+    "        # uncomment to visualize track location\n",
+    "        # hm_layer = self.mos_conn_layer + 1\n",
+    "        # xl = self.bound_box.left_unit\n",
+    "        # xr = self.bound_box.right_unit\n",
+    "        # self.add_wires(hm_layer, vdd_tid.base_index, xl, xr, unit_mode=True)\n",
+    "        # self.add_wires(hm_layer, vin_tid.base_index, xl, xr, unit_mode=True)\n",
+    "        # self.add_wires(hm_layer, vout_tid.base_index, xl, xr, unit_mode=True)\n",
+    "        # self.add_wires(hm_layer, vbias_tid.base_index, xl, xr, unit_mode=True)\n",
+    "        \n",
+    "        # TODO: connect transistors to horizontal tracks\n",
+    "        # The following are related code copied and pasted from AmpCS\n",
+    "        # for reference\n",
+    "        # vin_warr = self.connect_to_tracks(amp_ports['g'], vin_tid)\n",
+    "        # vout_warr = self.connect_to_tracks([amp_ports[aout], load_ports['d']], vout_tid)\n",
+    "        # vbias_warr = self.connect_to_tracks(load_ports['g'], vbias_tid)\n",
+    "        vin_warr = vout_warr = vbias_warr = vdd_warr = None\n",
+    "\n",
+    "        if vin_warr is None:\n",
+    "            return\n",
+    "\n",
+    "        self.connect_to_substrate('ptap', bias_ports['s'])\n",
+    "\n",
+    "        vss_warrs, _ = self.fill_dummy()\n",
+    "\n",
+    "        self.add_pin('VSS', vss_warrs, show=show_pins)\n",
+    "        # TODO: add pins\n",
+    "\n",
+    "        # set schematic parameters\n",
+    "        self._sch_params = dict(\n",
+    "            lch=lch,\n",
+    "            w_dict=w_dict,\n",
+    "            intent_dict=intent_dict,\n",
+    "            fg_dict=fg_dict,\n",
+    "            dum_info=self.get_sch_dummy_info(),\n",
+    "        )\n",
+    "\n",
+    "        \n",
+    "        \n",
+    "import os\n",
+    "\n",
+    "# import bag package\n",
+    "import bag\n",
+    "from bag.io import read_yaml\n",
+    "\n",
+    "# import BAG demo Python modules\n",
+    "import xbase_demo.core as demo_core\n",
+    "from xbase_demo.demo_layout.core import AmpSFSoln\n",
+    "\n",
+    "# load circuit specifications from file\n",
+    "spec_fname = os.path.join(os.environ['BAG_WORK_DIR'], 'specs_demo/demo.yaml')\n",
+    "top_specs = read_yaml(spec_fname)\n",
+    "\n",
+    "# obtain BagProject instance\n",
+    "local_dict = locals()\n",
+    "if 'bprj' in local_dict:\n",
+    "    print('using existing BagProject')\n",
+    "    bprj = local_dict['bprj']\n",
+    "else:\n",
+    "    print('creating BagProject')\n",
+    "    bprj = bag.BagProject()\n",
+    "\n",
+    "demo_core.run_flow(bprj, top_specs, 'amp_sf_soln', AmpSF, run_lvs=True, lvs_only=True)"
+   ]
+  }
+ ],
+ "metadata": {
+  "anaconda-cloud": {},
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.6.5"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/workspace_setup/tutorial_files/4_schematic_generators.ipynb b/workspace_setup/tutorial_files/4_schematic_generators.ipynb
new file mode 100644
index 0000000..5246a6e
--- /dev/null
+++ b/workspace_setup/tutorial_files/4_schematic_generators.ipynb
@@ -0,0 +1,344 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Schematic Generators\n",
+    "This module covers the basics of writing a schematic generator."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Schematic Generation Flow\n",
+    "The schematic generator design flow is slightly different than the layout generator design flow.  As described in Module 1, BAG copies an existing schematic template in Virtuoso and perform modifications on it in order to generate human-readable schematic instances.  The schematic generation flow follows the steps below:\n",
+    "\n",
+    "1. Create schematic in Virtuoso.\n",
+    "2. Import schematic information from Virtuoso to Python.\n",
+    "3. Implement schematic generator in Python.\n",
+    "4. Use BAG to create new instances of the schematic."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## CS Amplifier Schematic Generator Example\n",
+    "Lets walk through the common-source amplifier schematic generator example, reproduced below:\n",
+    "\n",
+    "```python\n",
+    "yaml_file = pkg_resources.resource_filename(__name__, os.path.join('netlist_info', 'amp_cs.yaml'))\n",
+    "\n",
+    "class demo_templates__amp_cs(Module):\n",
+    "\n",
+    "    def __init__(self, bag_config, parent=None, prj=None, **kwargs):\n",
+    "        Module.__init__(self, bag_config, yaml_file, parent=parent, prj=prj, **kwargs)\n",
+    "\n",
+    "    @classmethod\n",
+    "    def get_params_info(cls):\n",
+    "        return dict(\n",
+    "            lch='channel length in meters.',\n",
+    "            w_dict='Dictionary of transistor widths.',\n",
+    "            intent_dict='Dictionary of transistor threshold flavors.',\n",
+    "            fg_dict='Dictionary of transistor number of fingers.',\n",
+    "            dum_info='Dummy information data structure',\n",
+    "        )\n",
+    "        \n",
+    "    def design(self, lch, w_dict, intent_dict, fg_dict, dum_info):\n",
+    "        # populate self.parameters dictionary\n",
+    "        wp = w_dict['load']\n",
+    "        wn = w_dict['amp']\n",
+    "        intentp = intent_dict['load']\n",
+    "        intentn = intent_dict['amp']\n",
+    "\n",
+    "        fg_amp = fg_dict['amp']\n",
+    "        fg_load = fg_dict['load']\n",
+    "\n",
+    "        # set transistor parameters\n",
+    "        self.instances['XP'].design(w=wp, l=lch, intent=intentp, nf=fg_load)\n",
+    "        self.instances['XN'].design(w=wn, l=lch, intent=intentn, nf=fg_amp)\n",
+    "\n",
+    "        # handle dummy transistors\n",
+    "        self.design_dummy_transistors(dum_info, 'XDUM', 'VDD', 'VSS')\n",
+    "\n",
+    "```"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Constructor\n",
+    "Consider the section below:\n",
+    "```python\n",
+    "yaml_file = pkg_resources.resource_filename(__name__, os.path.join('netlist_info', 'amp_cs.yaml'))\n",
+    "\n",
+    "class demo_templates__amp_cs(Module):\n",
+    "\n",
+    "    def __init__(self, bag_config, parent=None, prj=None, **kwargs):\n",
+    "        Module.__init__(self, bag_config, yaml_file, parent=parent, prj=prj, **kwargs)\n",
+    "```\n",
+    "First of all, notice the `yaml_file` variable.  This variable stores the path to a netlist file that describes instances and connections in the schematic template.  This netlist file is generated by BAG when schematic templates are imported from Virtuoso to BAG.  This implies that everytime you modify the schematic template, you should re-import the design to BAG in order to update this file.\n",
+    "\n",
+    "Then, notice that this class is a subclass of `Module`.  Similar to `AnalogBase`, `Module` is the base class of all schematic generators, and it provides many useful functions to modify the schematic template."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Parameters information\n",
+    "Next we have the following class method declaration:\n",
+    "\n",
+    "```python\n",
+    "@classmethod\n",
+    "def get_params_info(cls):\n",
+    "    return dict(\n",
+    "        lch='channel length in meters.',\n",
+    "        w_dict='Dictionary of transistor widths.',\n",
+    "        intent_dict='Dictionary of transistor threshold flavors.',\n",
+    "        fg_dict='Dictionary of transistor number of fingers.',\n",
+    "        dum_info='Dummy information data structure',\n",
+    "    )\n",
+    "```\n",
+    "\n",
+    "This method serves the same purpose as the method with the same name in layout generators."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## The Design Method\n",
+    "```python\n",
+    "def design(self, lch, w_dict, intent_dict, fg_dict, dum_info):\n",
+    "```\n",
+    "Next we have the `design()` method.  Similar to `draw_layout()`, this is where all schematic modification happens.  Note that all schematic parameters should be listed as arguments of the `design()` method."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Setting Transistor Parameters\n",
+    "The first several lines of `design()` are quite self-explanatory.  Then we have the following:\n",
+    "\n",
+    "```python\n",
+    "# set transistor parameters\n",
+    "self.instances['XP'].design(w=wp, l=lch, intent=intentp, nf=fg_load)\n",
+    "self.instances['XN'].design(w=wn, l=lch, intent=intentn, nf=fg_amp)\n",
+    "```\n",
+    "All instances in the schematic template will be present in the `self.instances` dictionary, which maps instance names to the corresponding `SchInstance` objects (This is why you should always choose meaningful names for instances in your schematic template).  You can modify these instances by called their `design()` method.  For `BAG_prim` transistors, their `design()` method takes parameters `w`, `l`, `intent`, and `nf`, which stands for width, length, transistor threshold, and number of fingers, respectively.\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Dummy transistors\n",
+    "In the next line we have:\n",
+    "\n",
+    "```python\n",
+    "# handle dummy transistors\n",
+    "self.design_dummy_transistors(dum_info, 'XDUM', 'VDD', 'VSS')\n",
+    "```\n",
+    "Recall that `dum_info` is the dummy transistor data struct computed by AnalogBase.  The `design_dummy_transistors()` method will automatically help you create the corresponding dummy transistors in the schematic, by copying and modifying a transistor instance in the schematic template.  For example, here it'll copy and modfy the \"XDUM\" transistor instance, and use \"VDD\" as the power supply name, \"VSS\" as the ground supply name."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## SF Schematic Exercise\n",
+    "Now let's try to create a source-follower schematic generator.  Before we start writing generator code, we need to create a schematic template for the source-follower:\n",
+    "\n",
+    "1. Open the cellview `demo_templates`/`amp_sf` in Virtuoso.\n",
+    "\n",
+    "2. Instantiate non-dummy transistors from the `BAG_prim` library, and create proper connections.  Use `nmos4_standard` and `pmos4_standard` as the transistors.  Leave the dummy transistor alone.\n",
+    "    * Name the amplifying transistor `XAMP` and the bias transistor `XBIAS`.\n",
+    "\n",
+    "3. If you're stuck or you want to check your answer, see the schematic for `demo_templates`/`amp_sf_soln`.\n",
+    "\n",
+    "4. After completing the schematic, evaluate the following cell, which will update the netlist associated with `amp_sf`."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "creating BagProject\n",
+      "importing netlist from virtuoso\n",
+      "netlist import done\n"
+     ]
+    }
+   ],
+   "source": [
+    "import bag\n",
+    "\n",
+    "# obtain BagProject instance\n",
+    "local_dict = locals()\n",
+    "if 'bprj' in local_dict:\n",
+    "    print('using existing BagProject')\n",
+    "    bprj = local_dict['bprj']\n",
+    "else:\n",
+    "    print('creating BagProject')\n",
+    "    bprj = bag.BagProject()\n",
+    "    \n",
+    "print('importing netlist from virtuoso')\n",
+    "bprj.import_design_library('demo_templates')\n",
+    "print('netlist import done')"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "collapsed": true
+   },
+   "source": [
+    "## Implement Schematic Generator\n",
+    "Now that you finished the schematic template and imported netlist information into BAG, fill in the missing parts of the following schematic generator.  After you finished, evaluate the cell below to run the source-follower amplifer through the flow.  If everything works properly, LVS should pass, and you should see DC/AC/Transient simulation plots of the source-follower.  If you need to change the schematic template in Virtuoso, remember to re-evaluate the cell above to regenerate the netlist file."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "creating BagProject\n",
+      "computing layout\n",
+      "ext_w0 = 1, ext_wend=9, tot_ntr=20\n",
+      "ext_w0 = 2, ext_wend=8, tot_ntr=20\n",
+      "ext_w0 = 4, ext_wend=9, tot_ntr=21\n",
+      "final: ext_w0 = 2, ext_wend=8, tot_ntr=20\n",
+      "creating layout\n",
+      "layout done\n",
+      "creating AMP_SF schematics\n",
+      "running lvs\n",
+      "Running tasks, Press Ctrl-C to cancel.\n"
+     ]
+    },
+    {
+     "ename": "ValueError",
+     "evalue": "LVS failed.  check log file: /tools/projects/erichang/bag_gen/BAG2_cds_ff_mpt/pvs_run/lvs_run_dir/DEMO_AMP_SF/AMP_SF/lvsLog_20171127_232149rtf5tphj",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[1;31mValueError\u001b[0m                                Traceback (most recent call last)",
+      "\u001b[1;32m<ipython-input-2-f2776ed95ca3>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m     89\u001b[0m     \u001b[0mbprj\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mbag\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mBagProject\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     90\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 91\u001b[1;33m \u001b[0mdemo_core\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrun_flow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbprj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtop_specs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'amp_sf'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mAmpSFSoln\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msch_cls\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mdemo_templates__amp_sf\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mrun_lvs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
+      "\u001b[1;32m/tools/projects/erichang/bag_gen/BAG2_cds_ff_mpt/BAG_XBase_demo/xbase_demo/core.py\u001b[0m in \u001b[0;36mrun_flow\u001b[1;34m(prj, specs, dsn_name, lay_cls, sch_cls, run_lvs, lvs_only)\u001b[0m\n\u001b[0;32m    375\u001b[0m     \u001b[0mdsn_sch_params\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mgen_layout\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mprj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mspecs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdsn_name\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlay_cls\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    376\u001b[0m     \u001b[1;31m# generate design/testbench schematics\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 377\u001b[1;33m     \u001b[0mgen_schematics\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mprj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mspecs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdsn_name\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdsn_sch_params\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msch_cls\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0msch_cls\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcheck_lvs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mrun_lvs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlvs_only\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mlvs_only\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    378\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    379\u001b[0m     \u001b[1;32mif\u001b[0m \u001b[0mlvs_only\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+      "\u001b[1;32m/tools/projects/erichang/bag_gen/BAG2_cds_ff_mpt/BAG_XBase_demo/xbase_demo/core.py\u001b[0m in \u001b[0;36mgen_schematics\u001b[1;34m(prj, specs, dsn_name, sch_params, sch_cls, check_lvs, lvs_only)\u001b[0m\n\u001b[0;32m    112\u001b[0m         \u001b[0mlvs_passed\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlvs_log\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mprj\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrun_lvs\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mimpl_lib\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mgen_cell\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    113\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mlvs_passed\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 114\u001b[1;33m             \u001b[1;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'LVS failed.  check log file: %s'\u001b[0m \u001b[1;33m%\u001b[0m \u001b[0mlvs_log\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    115\u001b[0m         \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    116\u001b[0m             \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'lvs passed'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+      "\u001b[1;31mValueError\u001b[0m: LVS failed.  check log file: /tools/projects/erichang/bag_gen/BAG2_cds_ff_mpt/pvs_run/lvs_run_dir/DEMO_AMP_SF/AMP_SF/lvsLog_20171127_232149rtf5tphj"
+     ]
+    }
+   ],
+   "source": [
+    "%matplotlib inline\n",
+    "\n",
+    "import os\n",
+    "\n",
+    "from bag.design import Module\n",
+    "\n",
+    "\n",
+    "# noinspection PyPep8Naming\n",
+    "class demo_templates__amp_sf(Module):\n",
+    "    \"\"\"Module for library demo_templates cell amp_sf.\n",
+    "\n",
+    "    Fill in high level description here.\n",
+    "    \"\"\"\n",
+    "\n",
+    "    def __init__(self, bag_config, parent=None, prj=None, **kwargs):\n",
+    "        # hard coded netlist flie path to get jupyter notebook working.\n",
+    "        yaml_file = os.path.join(os.environ['BAG_WORK_DIR'], 'BAG_XBase_demo', \n",
+    "                                 'BagModules', 'demo_templates', 'netlist_info', 'amp_sf.yaml') \n",
+    "\n",
+    "        Module.__init__(self, bag_config, yaml_file, parent=parent, prj=prj, **kwargs)\n",
+    "\n",
+    "    @classmethod\n",
+    "    def get_params_info(cls):\n",
+    "        return dict(\n",
+    "            lch='channel length in meters.',\n",
+    "            w_dict='Dictionary of transistor widths.',\n",
+    "            intent_dict='Dictionary of transistor threshold flavors.',\n",
+    "            fg_dict='Dictionary of transistor number of fingers.',\n",
+    "            dum_info='Dummy information data structure',\n",
+    "        )\n",
+    "\n",
+    "    def design(self, lch, w_dict, intent_dict, fg_dict, dum_info):\n",
+    "        w_amp = w_dict['amp']\n",
+    "        w_bias = w_dict['bias']\n",
+    "        intent_amp = intent_dict['amp']\n",
+    "        intent_bias = intent_dict['bias']\n",
+    "        fg_amp = fg_dict['amp']\n",
+    "        fg_bias = fg_dict['bias']\n",
+    "\n",
+    "        # TODO: design XAMP and XBIAS transistors\n",
+    "        # related code from amp_cs schematic generator are copied below\n",
+    "        # for reference\n",
+    "        # self.instances['XP'].design(w=wp, l=lch, intent=intentp, nf=fg_load)\n",
+    "        # self.instances['XN'].design(w=wn, l=lch, intent=intentn, nf=fg_amp)\n",
+    "\n",
+    "        # handle dummy transistors\n",
+    "        self.design_dummy_transistors(dum_info, 'XDUM', 'VDD', 'VSS')\n",
+    "\n",
+    "        \n",
+    "import os\n",
+    "\n",
+    "# import bag package\n",
+    "import bag\n",
+    "from bag.io import read_yaml\n",
+    "\n",
+    "# import BAG demo Python modules\n",
+    "import xbase_demo.core as demo_core\n",
+    "from xbase_demo.demo_layout.core import AmpSFSoln\n",
+    "\n",
+    "# load circuit specifications from file\n",
+    "spec_fname = os.path.join(os.environ['BAG_WORK_DIR'], 'specs_demo/demo.yaml')\n",
+    "top_specs = read_yaml(spec_fname)\n",
+    "\n",
+    "# obtain BagProject instance\n",
+    "local_dict = locals()\n",
+    "if 'bprj' in local_dict:\n",
+    "    print('using existing BagProject')\n",
+    "    bprj = local_dict['bprj']\n",
+    "else:\n",
+    "    print('creating BagProject')\n",
+    "    bprj = bag.BagProject()\n",
+    "\n",
+    "demo_core.run_flow(bprj, top_specs, 'amp_sf', AmpSFSoln, sch_cls=demo_templates__amp_sf, run_lvs=True)"
+   ]
+  }
+ ],
+ "metadata": {
+  "anaconda-cloud": {},
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.6.5"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/workspace_setup/tutorial_files/5_hierarchical_generators.ipynb b/workspace_setup/tutorial_files/5_hierarchical_generators.ipynb
new file mode 100644
index 0000000..5f88586
--- /dev/null
+++ b/workspace_setup/tutorial_files/5_hierarchical_generators.ipynb
@@ -0,0 +1,606 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# Module 5: Hierarchical Generators\n",
+    "This module covers writing layout/schematic generators that instantiate other generators.  We will write a two-stage amplifier generator, which instatiates the common-source amplifier followed by the source-follower amplifier."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## AmpChain Layout Example\n",
+    "First, we will write a layout generator for the two-stage amplifier.  The layout floorplan is drawn for you below:\n",
+    "<img src=\"bootcamp_pics/5_hierarchical_generator/hierachical_generator_1.PNG\" alt=\"Drawing\" style=\"width: 400px;\"/>\n",
+    "This floorplan abuts the `AmpCS` instance next to `AmpSF` instance, the `VSS` ports are simply shorted together, and the top `VSS` port of `AmpSF` is ignored (they are connected together internally by dummy connections).  The intermediate node of the two-stage amplifier is connected using a vertical routing track in the middle of the two amplifier blocks.  `VDD` ports are connected to the top-most M6 horizontal track, and other ports are simply exported in-place.\n",
+    "\n",
+    "The layout generator is reproduced below, with some parts missing (which you will fill out later).  We will walk through the important sections of the code.\n",
+    "```python\n",
+    "class AmpChain(TemplateBase):\n",
+    "    def __init__(self, temp_db, lib_name, params, used_names, **kwargs):\n",
+    "        TemplateBase.__init__(self, temp_db, lib_name, params, used_names, **kwargs)\n",
+    "        self._sch_params = None\n",
+    "\n",
+    "    @property\n",
+    "    def sch_params(self):\n",
+    "        return self._sch_params\n",
+    "\n",
+    "    @classmethod\n",
+    "    def get_params_info(cls):\n",
+    "        return dict(\n",
+    "            cs_params='common source amplifier parameters.',\n",
+    "            sf_params='source follower parameters.',\n",
+    "            show_pins='True to draw pin geometries.',\n",
+    "        )\n",
+    "\n",
+    "    def draw_layout(self):\n",
+    "        \"\"\"Draw the layout of a transistor for characterization.\n",
+    "        \"\"\"\n",
+    "\n",
+    "        # make copies of given dictionaries to avoid modifying external data.\n",
+    "        cs_params = self.params['cs_params'].copy()\n",
+    "        sf_params = self.params['sf_params'].copy()\n",
+    "        show_pins = self.params['show_pins']\n",
+    "\n",
+    "        # disable pins in subcells\n",
+    "        cs_params['show_pins'] = False\n",
+    "        sf_params['show_pins'] = False\n",
+    "\n",
+    "        # create layout masters for subcells we will add later\n",
+    "        cs_master = self.new_template(params=cs_params, temp_cls=AmpCS)\n",
+    "        # TODO: create sf_master.  Use AmpSFSoln class\n",
+    "        sf_master = None\n",
+    "\n",
+    "        if sf_master is None:\n",
+    "            return\n",
+    "\n",
+    "        # add subcell instances\n",
+    "        cs_inst = self.add_instance(cs_master, 'XCS')\n",
+    "        # add source follower to the right of common source\n",
+    "        x0 = cs_inst.bound_box.right_unit\n",
+    "        sf_inst = self.add_instance(sf_master, 'XSF', loc=(x0, 0), unit_mode=True)\n",
+    "\n",
+    "        # get VSS wires from AmpCS/AmpSF\n",
+    "        cs_vss_warr = cs_inst.get_all_port_pins('VSS')[0]\n",
+    "        sf_vss_warrs = sf_inst.get_all_port_pins('VSS')\n",
+    "        # only connect bottom VSS wire of source follower\n",
+    "        if sf_vss_warrs[0].track_id.base_index < sf_vss_warrs[1].track_id.base_index:\n",
+    "            sf_vss_warr = sf_vss_warrs[0]\n",
+    "        else:\n",
+    "            sf_vss_warr = sf_vss_warrs[1]\n",
+    "\n",
+    "        # connect VSS of the two blocks together\n",
+    "        vss = self.connect_wires([cs_vss_warr, sf_vss_warr])[0]\n",
+    "\n",
+    "        # get layer IDs from VSS wire\n",
+    "        hm_layer = vss.layer_id\n",
+    "        vm_layer = hm_layer + 1\n",
+    "        top_layer = vm_layer + 1\n",
+    "\n",
+    "        # calculate template size\n",
+    "        tot_box = cs_inst.bound_box.merge(sf_inst.bound_box)\n",
+    "        self.set_size_from_bound_box(top_layer, tot_box, round_up=True)\n",
+    "\n",
+    "        # get subcell ports as WireArrays so we can connect them\n",
+    "        vmid0 = cs_inst.get_all_port_pins('vout')[0]\n",
+    "        vmid1 = sf_inst.get_all_port_pins('vin')[0]\n",
+    "        vdd0 = cs_inst.get_all_port_pins('VDD')[0]\n",
+    "        vdd1 = sf_inst.get_all_port_pins('VDD')[0]\n",
+    "\n",
+    "        # get vertical VDD TrackIDs\n",
+    "        vdd0_tid = TrackID(vm_layer, self.grid.coord_to_nearest_track(vm_layer, vdd0.middle))\n",
+    "        vdd1_tid = TrackID(vm_layer, self.grid.coord_to_nearest_track(vm_layer, vdd1.middle))\n",
+    "\n",
+    "        # connect VDD of each block to vertical M5\n",
+    "        vdd0 = self.connect_to_tracks(vdd0, vdd0_tid)\n",
+    "        vdd1 = self.connect_to_tracks(vdd1, vdd1_tid)\n",
+    "        # connect M5 VDD to top M6 horizontal track\n",
+    "        vdd_tidx = self.grid.get_num_tracks(self.size, top_layer) - 1\n",
+    "        vdd_tid = TrackID(top_layer, vdd_tidx)\n",
+    "        vdd = self.connect_to_tracks([vdd0, vdd1], vdd_tid)\n",
+    "\n",
+    "        # TODO: connect vmid0 and vmid1 to vertical track in the middle of two templates\n",
+    "        # hint: use x0\n",
+    "        vmid = None\n",
+    "\n",
+    "        if vmid is None:\n",
+    "            return\n",
+    "\n",
+    "        # add pins on wires\n",
+    "        self.add_pin('vmid', vmid, show=show_pins)\n",
+    "        self.add_pin('VDD', vdd, show=show_pins)\n",
+    "        self.add_pin('VSS', vss, show=show_pins)\n",
+    "        # re-export pins on subcells.\n",
+    "        self.reexport(cs_inst.get_port('vin'), show=show_pins)\n",
+    "        self.reexport(cs_inst.get_port('vbias'), net_name='vb1', show=show_pins)\n",
+    "        # TODO: reexport vout and vbias of source follower\n",
+    "        # TODO: vbias should be renamed to vb2\n",
+    "\n",
+    "        # compute schematic parameters.\n",
+    "        self._sch_params = dict(\n",
+    "            cs_params=cs_master.sch_params,\n",
+    "            sf_params=sf_master.sch_params,\n",
+    "        )\n",
+    "```"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## AmpChain Constructor\n",
+    "```python\n",
+    "class AmpChain(TemplateBase):\n",
+    "    def __init__(self, temp_db, lib_name, params, used_names, **kwargs):\n",
+    "        TemplateBase.__init__(self, temp_db, lib_name, params, used_names, **kwargs)\n",
+    "        self._sch_params = None\n",
+    "\n",
+    "    @property\n",
+    "    def sch_params(self):\n",
+    "        return self._sch_params\n",
+    "\n",
+    "    @classmethod\n",
+    "    def get_params_info(cls):\n",
+    "        return dict(\n",
+    "            cs_params='common source amplifier parameters.',\n",
+    "            sf_params='source follower parameters.',\n",
+    "            show_pins='True to draw pin geometries.',\n",
+    "        )\n",
+    "```\n",
+    "First, notice that instead of subclassing `AnalogBase`, the `AmpChain` class subclasses `TemplateBase`.  This is because we are not trying to draw transistor rows inside this layout generator; we just want to place and route multiple layout instances together.  `TemplateBase` is the base class for all layout generators and it provides most placement and routing methods you need.\n",
+    "\n",
+    "Next, notice that the parameters for `AmpChain` are simply parameter dictionaries for the two sub-generators.  The ability to use complex data structures as generator parameters solves the parameter explosion problem when writing generators with many levels of hierarchy."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Creating Layout Master\n",
+    "```python\n",
+    "# create layout masters for subcells we will add later\n",
+    "cs_master = self.new_template(params=cs_params, temp_cls=AmpCS)\n",
+    "# TODO: create sf_master.  Use AmpSFSoln class\n",
+    "sf_master = None\n",
+    "```\n",
+    "Here, the `new_template()` function creates a new layout master, `cs_master`, which represents a generated layout cellview from the `AmpCS` layout generator.  We can later instances of this master in the current layout, which are references to the generated `AmpCS` layout cellview, perhaps shifted and rotated.  The main take away is that the `new_template()` function does not add any layout geometries to the current layout, but rather create a separate layout cellview which we may use later."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Creating Layout Instance\n",
+    "```python\n",
+    "# add subcell instances\n",
+    "cs_inst = self.add_instance(cs_master, 'XCS')\n",
+    "# add source follower to the right of common source\n",
+    "x0 = cs_inst.bound_box.right_unit\n",
+    "sf_inst = self.add_instance(sf_master, 'XSF', loc=(x0, 0), unit_mode=True)\n",
+    "```\n",
+    "\n",
+    "The `add_instance()` method adds an instance of the given layout master to the current cellview.  By default, if no location or orientation is given, it puts the instance at the origin with no rotation.  the `bound_box` attribute can then be used on the instance to get the bounding box of the instance.  Here, the bounding box is used to determine the X coordinate of the source-follower."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Get Instance Ports\n",
+    "```python\n",
+    "# get subcell ports as WireArrays so we can connect them\n",
+    "vmid0 = cs_inst.get_all_port_pins('vout')[0]\n",
+    "vmid1 = sf_inst.get_all_port_pins('vin')[0]\n",
+    "vdd0 = cs_inst.get_all_port_pins('VDD')[0]\n",
+    "vdd1 = sf_inst.get_all_port_pins('VDD')[0]\n",
+    "```\n",
+    "after adding an instance, the `get_all_port_pins()` function can be used to obtain a list of all pins as `WireArray` objects with the given name.  In this case, we know that there's exactly one pin, so we use Python list indexing to obtain first element of the list."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Routing Grid Object\n",
+    "```python\n",
+    "# get vertical VDD TrackIDs\n",
+    "vdd0_tid = TrackID(vm_layer, self.grid.coord_to_nearest_track(vm_layer, vdd0.middle))\n",
+    "vdd1_tid = TrackID(vm_layer, self.grid.coord_to_nearest_track(vm_layer, vdd1.middle))\n",
+    "```\n",
+    "\n",
+    "the `self.grid` attribute of `TemplateBase` is a `RoutingGrid` objects, which provides many useful functions related to the routing grid.  In this particular scenario, `coord_to_nearest_track()` is used to determine the vertical track index closest to the center of the `VDD` ports.  These vertical tracks will be used later to connect the `VDD` ports together."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Re-export Pins on Instances\n",
+    "```python\n",
+    " # re-export pins on subcells.\n",
+    "self.reexport(cs_inst.get_port('vin'), show=show_pins)\n",
+    "self.reexport(cs_inst.get_port('vbias'), net_name='vb1', show=show_pins)\n",
+    "# TODO: reexport vout and vbias of source follower\n",
+    "# TODO: vbias should be renamed to vb2\n",
+    "```\n",
+    "`TemplateBase` also provides a `reexport()` function, which is a convenience function to re-export an instance port in-place.  The `net_name` optional parameter can be used to change the port name.  In this example, the `vbias` port of common-source amplifier is renamed to `vb1`."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Layout Exercises\n",
+    "Now you should know everything you need to finish the two-stage amplifier layout generator.  Fill in the missing pieces to do the following:\n",
+    "\n",
+    "1. Create layout master for `AmpSF` using the `AmpSFSoln` class.\n",
+    "2. Using `RoutingGrid`, determine the vertical track index in the middle of the two amplifier blocks, and connect `vmid` wires together using this track.\n",
+    "    * Hint: variable `x0` is the X coordinate of the boundary between the two blocks.\n",
+    "3. Re-export `vout` and `vbias` of the source-follower. Rename `vbias` to `vb2`.\n",
+    "\n",
+    "Once you're done, evaluate the cell below, which will generate the layout and run LVS.  If everything is done correctly, a layout should be generated inthe `DEMO_AMP_CHAIN` library, and LVS should pass."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "creating BagProject\n",
+      "computing layout\n",
+      "ext_w0 = 1, ext_wend=6, tot_ntr=19\n",
+      "ext_w0 = 2, ext_wend=2, tot_ntr=18\n",
+      "final: ext_w0 = 2, ext_wend=2, tot_ntr=18\n",
+      "{'s': WireArray(TrackID(layer=3, track=7, num=9, pitch=2), 0.981, 1.136), 'd': WireArray(TrackID(layer=3, track=8, num=8, pitch=2), 1.168, 1.323), 'g': WireArray(TrackID(layer=3, track=8, num=8, pitch=2), 0.791, 0.946)}\n",
+      "WireArray(TrackID(layer=3, track=8, num=8, pitch=2), 0.791, 0.946)\n",
+      "5.5\n",
+      "creating layout\n",
+      "layout done\n",
+      "computing AMP_CHAIN schematics\n"
+     ]
+    },
+    {
+     "ename": "TypeError",
+     "evalue": "design() argument after ** must be a mapping, not NoneType",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[1;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
+      "\u001b[1;32m<ipython-input-1-f7e0f1af5c7e>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m    134\u001b[0m     \u001b[0mbprj\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mbag\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mBagProject\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    135\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 136\u001b[1;33m \u001b[0mdemo_core\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrun_flow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbprj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtop_specs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'amp_chain_soln'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mAmpChain\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mrun_lvs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlvs_only\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
+      "\u001b[1;32m/tools/projects/erichang/bag_gen/BAG2_cds_ff_mpt/BAG_XBase_demo/xbase_demo/core.py\u001b[0m in \u001b[0;36mrun_flow\u001b[1;34m(prj, specs, dsn_name, lay_cls, sch_cls, run_lvs, lvs_only)\u001b[0m\n\u001b[0;32m    375\u001b[0m     \u001b[0mdsn_sch_params\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mgen_layout\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mprj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mspecs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdsn_name\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlay_cls\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    376\u001b[0m     \u001b[1;31m# generate design/testbench schematics\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 377\u001b[1;33m     \u001b[0mgen_schematics\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mprj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mspecs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdsn_name\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdsn_sch_params\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msch_cls\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0msch_cls\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcheck_lvs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mrun_lvs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlvs_only\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mlvs_only\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    378\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    379\u001b[0m     \u001b[1;32mif\u001b[0m \u001b[0mlvs_only\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+      "\u001b[1;32m/tools/projects/erichang/bag_gen/BAG2_cds_ff_mpt/BAG_XBase_demo/xbase_demo/core.py\u001b[0m in \u001b[0;36mgen_schematics\u001b[1;34m(prj, specs, dsn_name, sch_params, sch_cls, check_lvs, lvs_only)\u001b[0m\n\u001b[0;32m     99\u001b[0m         \u001b[0mdsn\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mprj\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcreate_design_module\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msch_lib\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msch_cell\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    100\u001b[0m         \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'computing %s schematics'\u001b[0m \u001b[1;33m%\u001b[0m \u001b[0mgen_cell\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 101\u001b[1;33m         \u001b[0mdsn\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdesign\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m**\u001b[0m\u001b[0msch_params\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    102\u001b[0m     \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    103\u001b[0m         \u001b[0mdsn\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mprj\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnew_schematic_instance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlib_name\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0msch_lib\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcell_name\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0msch_cell\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mparams\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0msch_params\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msch_cls\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0msch_cls\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+      "\u001b[1;31mTypeError\u001b[0m: design() argument after ** must be a mapping, not NoneType"
+     ]
+    }
+   ],
+   "source": [
+    "from bag.layout.routing import TrackID\n",
+    "from bag.layout.template import TemplateBase\n",
+    "\n",
+    "from xbase_demo.demo_layout.core import AmpCS, AmpSFSoln\n",
+    "\n",
+    "\n",
+    "class AmpChain(TemplateBase):\n",
+    "    def __init__(self, temp_db, lib_name, params, used_names, **kwargs):\n",
+    "        TemplateBase.__init__(self, temp_db, lib_name, params, used_names, **kwargs)\n",
+    "        self._sch_params = None\n",
+    "\n",
+    "    @property\n",
+    "    def sch_params(self):\n",
+    "        return self._sch_params\n",
+    "\n",
+    "    @classmethod\n",
+    "    def get_params_info(cls):\n",
+    "        return dict(\n",
+    "            cs_params='common source amplifier parameters.',\n",
+    "            sf_params='source follower parameters.',\n",
+    "            show_pins='True to draw pin geometries.',\n",
+    "        )\n",
+    "\n",
+    "    def draw_layout(self):\n",
+    "        \"\"\"Draw the layout of a transistor for characterization.\n",
+    "        \"\"\"\n",
+    "\n",
+    "        # make copies of given dictionaries to avoid modifying external data.\n",
+    "        cs_params = self.params['cs_params'].copy()\n",
+    "        sf_params = self.params['sf_params'].copy()\n",
+    "        show_pins = self.params['show_pins']\n",
+    "\n",
+    "        # disable pins in subcells\n",
+    "        cs_params['show_pins'] = False\n",
+    "        sf_params['show_pins'] = False\n",
+    "\n",
+    "        # create layout masters for subcells we will add later\n",
+    "        cs_master = self.new_template(params=cs_params, temp_cls=AmpCS)\n",
+    "        # TODO: create sf_master.  Use AmpSFSoln class\n",
+    "        sf_master = None\n",
+    "\n",
+    "        if sf_master is None:\n",
+    "            return\n",
+    "\n",
+    "        # add subcell instances\n",
+    "        cs_inst = self.add_instance(cs_master, 'XCS')\n",
+    "        # add source follower to the right of common source\n",
+    "        x0 = cs_inst.bound_box.right_unit\n",
+    "        sf_inst = self.add_instance(sf_master, 'XSF', loc=(x0, 0), unit_mode=True)\n",
+    "\n",
+    "        # get VSS wires from AmpCS/AmpSF\n",
+    "        cs_vss_warr = cs_inst.get_all_port_pins('VSS')[0]\n",
+    "        sf_vss_warrs = sf_inst.get_all_port_pins('VSS')\n",
+    "        # only connect bottom VSS wire of source follower\n",
+    "        if len(sf_vss_warrs) < 2 or sf_vss_warrs[0].track_id.base_index < sf_vss_warrs[1].track_id.base_index:\n",
+    "            sf_vss_warr = sf_vss_warrs[0]\n",
+    "        else:\n",
+    "            sf_vss_warr = sf_vss_warrs[1]\n",
+    "\n",
+    "        # connect VSS of the two blocks together\n",
+    "        vss = self.connect_wires([cs_vss_warr, sf_vss_warr])[0]\n",
+    "\n",
+    "        # get layer IDs from VSS wire\n",
+    "        hm_layer = vss.layer_id\n",
+    "        vm_layer = hm_layer + 1\n",
+    "        top_layer = vm_layer + 1\n",
+    "\n",
+    "        # calculate template size\n",
+    "        tot_box = cs_inst.bound_box.merge(sf_inst.bound_box)\n",
+    "        self.set_size_from_bound_box(top_layer, tot_box, round_up=True)\n",
+    "\n",
+    "        # get subcell ports as WireArrays so we can connect them\n",
+    "        vmid0 = cs_inst.get_all_port_pins('vout')[0]\n",
+    "        vmid1 = sf_inst.get_all_port_pins('vin')[0]\n",
+    "        vdd0 = cs_inst.get_all_port_pins('VDD')[0]\n",
+    "        vdd1 = sf_inst.get_all_port_pins('VDD')[0]\n",
+    "\n",
+    "        # get vertical VDD TrackIDs\n",
+    "        vdd0_tid = TrackID(vm_layer, self.grid.coord_to_nearest_track(vm_layer, vdd0.middle))\n",
+    "        vdd1_tid = TrackID(vm_layer, self.grid.coord_to_nearest_track(vm_layer, vdd1.middle))\n",
+    "\n",
+    "        # connect VDD of each block to vertical M5\n",
+    "        vdd0 = self.connect_to_tracks(vdd0, vdd0_tid)\n",
+    "        vdd1 = self.connect_to_tracks(vdd1, vdd1_tid)\n",
+    "        # connect M5 VDD to top M6 horizontal track\n",
+    "        vdd_tidx = self.grid.get_num_tracks(self.size, top_layer) - 1\n",
+    "        vdd_tid = TrackID(top_layer, vdd_tidx)\n",
+    "        vdd = self.connect_to_tracks([vdd0, vdd1], vdd_tid)\n",
+    "\n",
+    "        # TODO: connect vmid0 and vmid1 to vertical track in the middle of two templates\n",
+    "        # hint: use x0\n",
+    "        vmid = None\n",
+    "\n",
+    "        if vmid is None:\n",
+    "            return\n",
+    "\n",
+    "        # add pins on wires\n",
+    "        self.add_pin('vmid', vmid, show=show_pins)\n",
+    "        self.add_pin('VDD', vdd, show=show_pins)\n",
+    "        self.add_pin('VSS', vss, show=show_pins)\n",
+    "        # re-export pins on subcells.\n",
+    "        self.reexport(cs_inst.get_port('vin'), show=show_pins)\n",
+    "        self.reexport(cs_inst.get_port('vbias'), net_name='vb1', show=show_pins)\n",
+    "        # TODO: reexport vout and vbias of source follower\n",
+    "        # TODO: vbias should be renamed to vb2\n",
+    "\n",
+    "        # compute schematic parameters.\n",
+    "        self._sch_params = dict(\n",
+    "            cs_params=cs_master.sch_params,\n",
+    "            sf_params=sf_master.sch_params,\n",
+    "        )\n",
+    "\n",
+    "\n",
+    "import os\n",
+    "\n",
+    "# import bag package\n",
+    "import bag\n",
+    "from bag.io import read_yaml\n",
+    "\n",
+    "# import BAG demo Python modules\n",
+    "import xbase_demo.core as demo_core\n",
+    "\n",
+    "# load circuit specifications from file\n",
+    "spec_fname = os.path.join(os.environ['BAG_WORK_DIR'], 'specs_demo/demo.yaml')\n",
+    "top_specs = read_yaml(spec_fname)\n",
+    "\n",
+    "# obtain BagProject instance\n",
+    "local_dict = locals()\n",
+    "if 'bprj' in local_dict:\n",
+    "    print('using existing BagProject')\n",
+    "    bprj = local_dict['bprj']\n",
+    "else:\n",
+    "    print('creating BagProject')\n",
+    "    bprj = bag.BagProject()\n",
+    "\n",
+    "demo_core.run_flow(bprj, top_specs, 'amp_chain_soln', AmpChain, run_lvs=True, lvs_only=True)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## AmpChain Schematic Template\n",
+    "Now let's move on to schematic generator.  As before, we need to create the schematic template first.  A half-complete schematic template is provided for you in library `demo_templates`, cell `amp_chain`, shown below:\n",
+    "<img src=\"bootcamp_pics/5_hierarchical_generator/hierachical_generator_2.PNG\" alt=\"Drawing\" style=\"width: 400px;\"/>\n",
+    "\n",
+    "The schematic template for a hierarchical generator is very simple; you simply need to instantiate the schematic templates of the sub-blocks (***Not the generated schematic!***).  For the exercise, instantiate the `amp_sf` schematic template from the `demo_templates` library, named it `XSF`, connect it, then evaluate the following cell to import the `amp_chain` netlist to Python.\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 11,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "using existing BagProject\n",
+      "importing netlist from virtuoso\n",
+      "netlist import done\n"
+     ]
+    }
+   ],
+   "source": [
+    "import bag\n",
+    "\n",
+    "# obtain BagProject instance\n",
+    "local_dict = locals()\n",
+    "if 'bprj' in local_dict:\n",
+    "    print('using existing BagProject')\n",
+    "    bprj = local_dict['bprj']\n",
+    "else:\n",
+    "    print('creating BagProject')\n",
+    "    bprj = bag.BagProject()\n",
+    "    \n",
+    "print('importing netlist from virtuoso')\n",
+    "bprj.import_design_library('demo_templates')\n",
+    "print('netlist import done')"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## AmpChain Schematic Generator\n",
+    "With schematic template done, you are ready to write the schematic generator.  It is also very simple, you just need to call the `design()` method, which you implemented previously, on each instance in the schematic.  Complete the following schematic generator, then evaluate the cell to push it through the design flow."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "using existing BagProject\n",
+      "computing layout\n",
+      "ext_w0 = 1, ext_wend=6, tot_ntr=19\n",
+      "ext_w0 = 2, ext_wend=2, tot_ntr=18\n",
+      "final: ext_w0 = 2, ext_wend=2, tot_ntr=18\n",
+      "{'s': WireArray(TrackID(layer=3, track=7, num=9, pitch=2), 0.981, 1.136), 'd': WireArray(TrackID(layer=3, track=8, num=8, pitch=2), 1.168, 1.323), 'g': WireArray(TrackID(layer=3, track=8, num=8, pitch=2), 0.791, 0.946)}\n",
+      "WireArray(TrackID(layer=3, track=8, num=8, pitch=2), 0.791, 0.946)\n",
+      "5.5\n",
+      "ext_w0 = 1, ext_wend=9, tot_ntr=20\n",
+      "ext_w0 = 2, ext_wend=8, tot_ntr=20\n",
+      "ext_w0 = 4, ext_wend=9, tot_ntr=21\n",
+      "final: ext_w0 = 2, ext_wend=8, tot_ntr=20\n",
+      "creating layout\n",
+      "layout done\n",
+      "creating AMP_CHAIN schematics\n",
+      "running lvs\n",
+      "Running tasks, Press Ctrl-C to cancel.\n"
+     ]
+    },
+    {
+     "ename": "ValueError",
+     "evalue": "LVS failed.  check log file: /tools/projects/erichang/bag_gen/BAG2_cds_ff_mpt/pvs_run/lvs_run_dir/DEMO_AMP_CHAIN/AMP_CHAIN/lvsLog_20171128_0009272slvfabd",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[1;31mValueError\u001b[0m                                Traceback (most recent call last)",
+      "\u001b[1;32m<ipython-input-2-84e11b8fc0cb>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m     61\u001b[0m     \u001b[0mbprj\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mbag\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mBagProject\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     62\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 63\u001b[1;33m \u001b[0mdemo_core\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrun_flow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbprj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtop_specs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'amp_chain'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mAmpChainSoln\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msch_cls\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mdemo_templates__amp_chain\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mrun_lvs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
+      "\u001b[1;32m/tools/projects/erichang/bag_gen/BAG2_cds_ff_mpt/BAG_XBase_demo/xbase_demo/core.py\u001b[0m in \u001b[0;36mrun_flow\u001b[1;34m(prj, specs, dsn_name, lay_cls, sch_cls, run_lvs, lvs_only)\u001b[0m\n\u001b[0;32m    375\u001b[0m     \u001b[0mdsn_sch_params\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mgen_layout\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mprj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mspecs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdsn_name\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlay_cls\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    376\u001b[0m     \u001b[1;31m# generate design/testbench schematics\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 377\u001b[1;33m     \u001b[0mgen_schematics\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mprj\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mspecs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdsn_name\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdsn_sch_params\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msch_cls\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0msch_cls\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcheck_lvs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mrun_lvs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlvs_only\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mlvs_only\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    378\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    379\u001b[0m     \u001b[1;32mif\u001b[0m \u001b[0mlvs_only\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+      "\u001b[1;32m/tools/projects/erichang/bag_gen/BAG2_cds_ff_mpt/BAG_XBase_demo/xbase_demo/core.py\u001b[0m in \u001b[0;36mgen_schematics\u001b[1;34m(prj, specs, dsn_name, sch_params, sch_cls, check_lvs, lvs_only)\u001b[0m\n\u001b[0;32m    112\u001b[0m         \u001b[0mlvs_passed\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlvs_log\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mprj\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrun_lvs\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mimpl_lib\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mgen_cell\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    113\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mlvs_passed\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 114\u001b[1;33m             \u001b[1;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'LVS failed.  check log file: %s'\u001b[0m \u001b[1;33m%\u001b[0m \u001b[0mlvs_log\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    115\u001b[0m         \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    116\u001b[0m             \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'lvs passed'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+      "\u001b[1;31mValueError\u001b[0m: LVS failed.  check log file: /tools/projects/erichang/bag_gen/BAG2_cds_ff_mpt/pvs_run/lvs_run_dir/DEMO_AMP_CHAIN/AMP_CHAIN/lvsLog_20171128_0009272slvfabd"
+     ]
+    }
+   ],
+   "source": [
+    "%matplotlib inline\n",
+    "\n",
+    "import os\n",
+    "\n",
+    "from bag.design import Module\n",
+    "\n",
+    "\n",
+    "# noinspection PyPep8Naming\n",
+    "class demo_templates__amp_chain(Module):\n",
+    "    \"\"\"Module for library demo_templates cell amp_chain.\n",
+    "\n",
+    "    Fill in high level description here.\n",
+    "    \"\"\"\n",
+    "\n",
+    "    # hard coded netlist flie path to get jupyter notebook working.\n",
+    "    yaml_file = os.path.join(os.environ['BAG_WORK_DIR'], 'BAG_XBase_demo', \n",
+    "                             'BagModules', 'demo_templates', 'netlist_info', 'amp_chain.yaml') \n",
+    "\n",
+    "    def __init__(self, bag_config, parent=None, prj=None, **kwargs):\n",
+    "        Module.__init__(self, bag_config, self.yaml_file, parent=parent, prj=prj, **kwargs)\n",
+    "\n",
+    "    @classmethod\n",
+    "    def get_params_info(cls):\n",
+    "        # type: () -> Dict[str, str]\n",
+    "        \"\"\"Returns a dictionary from parameter names to descriptions.\n",
+    "\n",
+    "        Returns\n",
+    "        -------\n",
+    "        param_info : Optional[Dict[str, str]]\n",
+    "            dictionary from parameter names to descriptions.\n",
+    "        \"\"\"\n",
+    "        return dict(\n",
+    "            cs_params='common-source amplifier parameters dictionary.',\n",
+    "            sf_params='source-follwer amplifier parameters dictionary.',\n",
+    "        )\n",
+    "        \n",
+    "    def design(self, cs_params=None, sf_params=None):\n",
+    "        self.instances['XCS'].design(**cs_params)\n",
+    "        # TODO: design XSF\n",
+    "\n",
+    "        \n",
+    "import os\n",
+    "\n",
+    "# import bag package\n",
+    "import bag\n",
+    "from bag.io import read_yaml\n",
+    "\n",
+    "# import BAG demo Python modules\n",
+    "import xbase_demo.core as demo_core\n",
+    "from xbase_demo.demo_layout.core import AmpChainSoln\n",
+    "\n",
+    "# load circuit specifications from file\n",
+    "spec_fname = os.path.join(os.environ['BAG_WORK_DIR'], 'specs_demo/demo.yaml')\n",
+    "top_specs = read_yaml(spec_fname)\n",
+    "\n",
+    "# obtain BagProject instance\n",
+    "local_dict = locals()\n",
+    "if 'bprj' in local_dict:\n",
+    "    print('using existing BagProject')\n",
+    "    bprj = local_dict['bprj']\n",
+    "else:\n",
+    "    print('creating BagProject')\n",
+    "    bprj = bag.BagProject()\n",
+    "\n",
+    "demo_core.run_flow(bprj, top_specs, 'amp_chain', AmpChainSoln, sch_cls=demo_templates__amp_chain, run_lvs=True)"
+   ]
+  }
+ ],
+ "metadata": {
+  "anaconda-cloud": {},
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.6.5"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/workspace_setup/tutorial_files/6_MOSDBDiscrete.ipynb b/workspace_setup/tutorial_files/6_MOSDBDiscrete.ipynb
new file mode 100644
index 0000000..e270106
--- /dev/null
+++ b/workspace_setup/tutorial_files/6_MOSDBDiscrete.ipynb
@@ -0,0 +1,251 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "# MOSDBDiscrete\n",
+    "In this module, we will have a brief overview of the `MOSDBDiscrete` class, which manages a transistor characterization database and provide methods for designers to query transistor small signal parameters."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## MOSDBDiscrete example\n",
+    "To use the transistor characterization database, evaluate the following cell, which defines two methods, `query()` and `plot_data()`."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "%matplotlib inline\n",
+    "\n",
+    "import os\n",
+    "import pprint\n",
+    "\n",
+    "import numpy as np\n",
+    "import matplotlib.pyplot as plt\n",
+    "# noinspection PyUnresolvedReferences\n",
+    "from mpl_toolkits.mplot3d import Axes3D\n",
+    "from matplotlib import cm\n",
+    "from matplotlib import ticker\n",
+    "\n",
+    "from verification_ec.mos.query import MOSDBDiscrete\n",
+    "\n",
+    "interp_method = 'spline'\n",
+    "spec_file = os.path.join(os.environ['BAG_WORK_DIR'], 'demo_data', 'mos_char_nch', 'specs.yaml')\n",
+    "env_default = 'tt'\n",
+    "intent = 'standard'\n",
+    "\n",
+    "\n",
+    "def query(vgs=None, vds=None, vbs=0.0, vstar=None, env_list=None):\n",
+    "    \"\"\"Get interpolation function and plot/query.\"\"\"\n",
+    "\n",
+    "    spec_list = [spec_file]\n",
+    "    if env_list is None:\n",
+    "        env_list = [env_default]\n",
+    "\n",
+    "    # initialize transistor database from simulation data\n",
+    "    nch_db = MOSDBDiscrete(spec_list, interp_method=interp_method)\n",
+    "    # set process corners\n",
+    "    nch_db.env_list = env_list\n",
+    "    # set layout parameters\n",
+    "    nch_db.set_dsn_params(intent=intent)\n",
+    "    # returns a dictionary of smal-signal parameters\n",
+    "    return nch_db.query(vbs=vbs, vds=vds, vgs=vgs, vstar=vstar)\n",
+    "\n",
+    "\n",
+    "def plot_data(name='ibias', bounds=None, unit_val=None, unit_label=None):\n",
+    "    \"\"\"Get interpolation function and plot/query.\"\"\"\n",
+    "    env_list = [env_default]\n",
+    "    vbs = 0.0\n",
+    "    nvds = 41\n",
+    "    nvgs = 81\n",
+    "    spec_list = [spec_file]\n",
+    "\n",
+    "    print('create transistor database')\n",
+    "    nch_db = MOSDBDiscrete(spec_list, interp_method=interp_method)\n",
+    "    nch_db.env_list = env_list\n",
+    "    nch_db.set_dsn_params(intent=intent)\n",
+    "\n",
+    "    f = nch_db.get_function(name)\n",
+    "    vds_min, vds_max = f.get_input_range(1)\n",
+    "    vgs_min, vgs_max = f.get_input_range(2)\n",
+    "    if bounds is not None:\n",
+    "        if 'vgs' in bounds:\n",
+    "            v0, v1 = bounds['vgs']\n",
+    "            if v0 is not None:\n",
+    "                vgs_min = max(vgs_min, v0)\n",
+    "            if v1 is not None:\n",
+    "                vgs_max = min(vgs_max, v1)\n",
+    "        if 'vds' in bounds:\n",
+    "            v0, v1 = bounds['vds']\n",
+    "            if v0 is not None:\n",
+    "                vds_min = max(vds_min, v0)\n",
+    "            if v1 is not None:\n",
+    "                vds_max = min(vds_max, v1)\n",
+    "\n",
+    "    # query values.\n",
+    "    vds_test = (vds_min + vds_max) / 2\n",
+    "    vgs_test = (vgs_min + vgs_max) / 2\n",
+    "    pprint.pprint(nch_db.query(vbs=vbs, vds=vds_test, vgs=vgs_test))\n",
+    "\n",
+    "    vbs_vec = [vbs]\n",
+    "    vds_vec = np.linspace(vds_min, vds_max, nvds, endpoint=True)\n",
+    "    vgs_vec = np.linspace(vgs_min, vgs_max, nvgs, endpoint=True)\n",
+    "    vbs_mat, vds_mat, vgs_mat = np.meshgrid(vbs_vec, vds_vec, vgs_vec, indexing='ij', copy=False)\n",
+    "    arg = np.stack((vbs_mat, vds_mat, vgs_mat), axis=-1)\n",
+    "    ans = f(arg)\n",
+    "\n",
+    "    vds_mat = vds_mat.reshape((nvds, nvgs))\n",
+    "    vgs_mat = vgs_mat.reshape((nvds, nvgs))\n",
+    "    ans = ans.reshape((nvds, nvgs, len(env_list)))\n",
+    "\n",
+    "    formatter = ticker.ScalarFormatter(useMathText=True)\n",
+    "    formatter.set_scientific(True)\n",
+    "    formatter.set_powerlimits((-2, 3))\n",
+    "    if unit_label is not None:\n",
+    "        zlabel = '%s (%s)' % (name, unit_label)\n",
+    "    else:\n",
+    "        zlabel = name\n",
+    "    for idx, env in enumerate(env_list):\n",
+    "        fig = plt.figure(idx + 1)\n",
+    "        ax = fig.add_subplot(111, projection='3d')\n",
+    "        cur_val = ans[..., idx]\n",
+    "        if unit_val is not None:\n",
+    "            cur_val = cur_val / unit_val\n",
+    "        ax.plot_surface(vds_mat, vgs_mat, cur_val, rstride=1, cstride=1, linewidth=0, cmap=cm.cubehelix)\n",
+    "        ax.set_title('%s (corner=%s)' % (name, env))\n",
+    "        ax.set_xlabel('Vds (V)')\n",
+    "        ax.set_ylabel('Vgs (V)')\n",
+    "        ax.set_zlabel(zlabel)\n",
+    "        ax.w_zaxis.set_major_formatter(formatter)\n",
+    "\n",
+    "    plt.show()\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Querying Small-Signal Parameters\n",
+    "To lookup transistor small signal parameters given a bias point, use the `query()` method by evaluating the following cell.  Feel free to play around with the numbers."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "{'cdb': 6.248976739750922e-17,\n",
+       " 'cdd': 2.0328230225209543e-16,\n",
+       " 'cds': -2.4163000626635453e-17,\n",
+       " 'cgb': 9.966702597590937e-19,\n",
+       " 'cgd': 1.6495553548122168e-16,\n",
+       " 'cgg': 3.6228642234598553e-16,\n",
+       " 'cgs': 1.9633421660500474e-16,\n",
+       " 'csb': 1.1021134465725374e-16,\n",
+       " 'css': 2.82382560635623e-16,\n",
+       " 'gb': 1.983603067386341e-05,\n",
+       " 'gds': 4.719944723025589e-06,\n",
+       " 'gm': 9.49214016617884e-05,\n",
+       " 'ibias': 1.2299113540770929e-05,\n",
+       " 'vstar': 0.25914310841286414,\n",
+       " 'vgs': 0.4,\n",
+       " 'vds': 0.5,\n",
+       " 'vbs': 0.0}"
+      ]
+     },
+     "execution_count": 2,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "query(vgs=0.4, vds=0.5, vbs=0.0)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Plotting Small-Signal Parameters\n",
+    "`MOSDBDiscrete` stores each small signal parameter as a continuous function interpolated from simulation data.  This makes it easy to manipulate those functions directly (such as using an optimization solver).  For a simple example, the `plot_data()` method simply plots the functions versus $V_{gs}$ and $V_{ds}$.  Evaluate the following cell to see plots of various different small signal parameters."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "create transistor database\n",
+      "{'cdb': 6.40259557187212e-17,\n",
+      " 'cdd': 2.0379145885397679e-16,\n",
+      " 'cds': -3.5466715265482257e-17,\n",
+      " 'cgb': 1.5429673845401091e-18,\n",
+      " 'cgd': 1.7523221840073783e-16,\n",
+      " 'cgg': 3.827084324971782e-16,\n",
+      " 'cgs': 2.0593324671190025e-16,\n",
+      " 'csb': 1.0744529426477165e-16,\n",
+      " 'css': 2.7791182571118964e-16,\n",
+      " 'gb': 3.648119000000001e-05,\n",
+      " 'gds': 7.598960000000004e-06,\n",
+      " 'gm': 0.00016568942500000004,\n",
+      " 'ibias': 3.931712000000002e-05,\n",
+      " 'vbs': 0.0,\n",
+      " 'vds': 0.5025,\n",
+      " 'vgs': 0.6040000000000001,\n",
+      " 'vstar': 0.4745881639700302}\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "%matplotlib inline\n",
+    "\n",
+    "plot_data(name='ibias')"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.6.5"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/workspace_setup/tutorial_files/bootcamp_pics/1_flow_demo/flow_demo_1.png b/workspace_setup/tutorial_files/bootcamp_pics/1_flow_demo/flow_demo_1.png
new file mode 100644
index 0000000..141301d
--- /dev/null
+++ b/workspace_setup/tutorial_files/bootcamp_pics/1_flow_demo/flow_demo_1.png
Binary files differ
diff --git a/workspace_setup/tutorial_files/bootcamp_pics/1_flow_demo/flow_demo_2.png b/workspace_setup/tutorial_files/bootcamp_pics/1_flow_demo/flow_demo_2.png
new file mode 100644
index 0000000..60d7b07
--- /dev/null
+++ b/workspace_setup/tutorial_files/bootcamp_pics/1_flow_demo/flow_demo_2.png
Binary files differ
diff --git a/workspace_setup/tutorial_files/bootcamp_pics/1_flow_demo/flow_demo_3.png b/workspace_setup/tutorial_files/bootcamp_pics/1_flow_demo/flow_demo_3.png
new file mode 100644
index 0000000..67d0ad8
--- /dev/null
+++ b/workspace_setup/tutorial_files/bootcamp_pics/1_flow_demo/flow_demo_3.png
Binary files differ
diff --git a/workspace_setup/tutorial_files/bootcamp_pics/1_flow_demo/flow_demo_4.png b/workspace_setup/tutorial_files/bootcamp_pics/1_flow_demo/flow_demo_4.png
new file mode 100644
index 0000000..5241aec
--- /dev/null
+++ b/workspace_setup/tutorial_files/bootcamp_pics/1_flow_demo/flow_demo_4.png
Binary files differ
diff --git a/workspace_setup/tutorial_files/bootcamp_pics/2_xbase_routing/xbase_routing_1.png b/workspace_setup/tutorial_files/bootcamp_pics/2_xbase_routing/xbase_routing_1.png
new file mode 100644
index 0000000..93a806c
--- /dev/null
+++ b/workspace_setup/tutorial_files/bootcamp_pics/2_xbase_routing/xbase_routing_1.png
Binary files differ
diff --git a/workspace_setup/tutorial_files/bootcamp_pics/2_xbase_routing/xbase_routing_2.png b/workspace_setup/tutorial_files/bootcamp_pics/2_xbase_routing/xbase_routing_2.png
new file mode 100644
index 0000000..a81d9ee
--- /dev/null
+++ b/workspace_setup/tutorial_files/bootcamp_pics/2_xbase_routing/xbase_routing_2.png
Binary files differ
diff --git a/workspace_setup/tutorial_files/bootcamp_pics/2_xbase_routing/xbase_routing_3.png b/workspace_setup/tutorial_files/bootcamp_pics/2_xbase_routing/xbase_routing_3.png
new file mode 100644
index 0000000..a86bc69
--- /dev/null
+++ b/workspace_setup/tutorial_files/bootcamp_pics/2_xbase_routing/xbase_routing_3.png
Binary files differ
diff --git a/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_1.png b/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_1.png
new file mode 100644
index 0000000..2189ce8
--- /dev/null
+++ b/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_1.png
Binary files differ
diff --git a/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_2.png b/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_2.png
new file mode 100644
index 0000000..ba44bdf
--- /dev/null
+++ b/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_2.png
Binary files differ
diff --git a/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_3.png b/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_3.png
new file mode 100644
index 0000000..e631931
--- /dev/null
+++ b/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_3.png
Binary files differ
diff --git a/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_4.png b/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_4.png
new file mode 100644
index 0000000..70915f1
--- /dev/null
+++ b/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_4.png
Binary files differ
diff --git a/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_5.png b/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_5.png
new file mode 100644
index 0000000..5d6a72c
--- /dev/null
+++ b/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_5.png
Binary files differ
diff --git a/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_6.png b/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_6.png
new file mode 100644
index 0000000..e123f96
--- /dev/null
+++ b/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_6.png
Binary files differ
diff --git a/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_7.png b/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_7.png
new file mode 100644
index 0000000..6d836b1
--- /dev/null
+++ b/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_7.png
Binary files differ
diff --git a/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_8.png b/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_8.png
new file mode 100644
index 0000000..4336251
--- /dev/null
+++ b/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_8.png
Binary files differ
diff --git a/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_9.png b/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_9.png
new file mode 100644
index 0000000..1c28411
--- /dev/null
+++ b/workspace_setup/tutorial_files/bootcamp_pics/3_analogbase/analogbase_9.png
Binary files differ
diff --git a/workspace_setup/tutorial_files/bootcamp_pics/5_hierarchical_generator/hierachical_generator_1.png b/workspace_setup/tutorial_files/bootcamp_pics/5_hierarchical_generator/hierachical_generator_1.png
new file mode 100644
index 0000000..f288f64
--- /dev/null
+++ b/workspace_setup/tutorial_files/bootcamp_pics/5_hierarchical_generator/hierachical_generator_1.png
Binary files differ
diff --git a/workspace_setup/tutorial_files/bootcamp_pics/5_hierarchical_generator/hierachical_generator_2.png b/workspace_setup/tutorial_files/bootcamp_pics/5_hierarchical_generator/hierachical_generator_2.png
new file mode 100644
index 0000000..23ff221
--- /dev/null
+++ b/workspace_setup/tutorial_files/bootcamp_pics/5_hierarchical_generator/hierachical_generator_2.png
Binary files differ
diff --git a/workspace_setup/tutorial_files/solutions/3_analogbase.ipynb b/workspace_setup/tutorial_files/solutions/3_analogbase.ipynb
new file mode 100644
index 0000000..0aa465d
--- /dev/null
+++ b/workspace_setup/tutorial_files/solutions/3_analogbase.ipynb
@@ -0,0 +1,224 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## SF Amplifier Solution\n",
+    "\n",
+    "The following cell contains the source-follwer amplifier layout solution.  If you evaluate the following cell LVS should pass."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "using existing BagProject\n",
+      "computing layout\n",
+      "ext_w0 = 1, ext_wend=7, ytop=2880\n",
+      "ext_w0 = 2, ext_wend=9, ytop=3024\n",
+      "final: ext_w0 = 1, ext_wend=7, ytop=2880\n",
+      "creating layout\n",
+      "layout done\n",
+      "computing AMP_SF schematics\n",
+      "creating AMP_SF schematics\n",
+      "running lvs\n",
+      "Running tasks, Press Ctrl-C to cancel.\n",
+      "lvs passed\n",
+      "lvs log is /users/erichang/projects/bag_gen/BAG2_cds_ff_mpt/pvs_run/lvs_run_dir/DEMO_AMP_SF/AMP_SF/lvsLog_20180906_110128hvrv5244\n",
+      "LVS flow done\n"
+     ]
+    }
+   ],
+   "source": [
+    "from abs_templates_ec.analog_core import AnalogBase\n",
+    "\n",
+    "\n",
+    "\n",
+    "class AmpSF(AnalogBase):\n",
+    "    \"\"\"A template of a single transistor with dummies.\n",
+    "\n",
+    "    This class is mainly used for transistor characterization or\n",
+    "    design exploration with config views.\n",
+    "\n",
+    "    Parameters\n",
+    "    ----------\n",
+    "    temp_db : :class:`bag.layout.template.TemplateDB`\n",
+    "            the template database.\n",
+    "    lib_name : str\n",
+    "        the layout library name.\n",
+    "    params : dict[str, any]\n",
+    "        the parameter values.\n",
+    "    used_names : set[str]\n",
+    "        a set of already used cell names.\n",
+    "    kwargs : dict[str, any]\n",
+    "        dictionary of optional parameters.  See documentation of\n",
+    "        :class:`bag.layout.template.TemplateBase` for details.\n",
+    "    \"\"\"\n",
+    "\n",
+    "    def __init__(self, temp_db, lib_name, params, used_names, **kwargs):\n",
+    "        AnalogBase.__init__(self, temp_db, lib_name, params, used_names, **kwargs)\n",
+    "        self._sch_params = None\n",
+    "\n",
+    "    @property\n",
+    "    def sch_params(self):\n",
+    "        return self._sch_params\n",
+    "\n",
+    "    @classmethod\n",
+    "    def get_params_info(cls):\n",
+    "        \"\"\"Returns a dictionary containing parameter descriptions.\n",
+    "\n",
+    "        Override this method to return a dictionary from parameter names to descriptions.\n",
+    "\n",
+    "        Returns\n",
+    "        -------\n",
+    "        param_info : dict[str, str]\n",
+    "            dictionary from parameter name to description.\n",
+    "        \"\"\"\n",
+    "        return dict(\n",
+    "            lch='channel length, in meters.',\n",
+    "            w_dict='width dictionary.',\n",
+    "            intent_dict='intent dictionary.',\n",
+    "            fg_dict='number of fingers dictionary.',\n",
+    "            ndum='number of dummies on each side.',\n",
+    "            ptap_w='NMOS substrate width, in meters/number of fins.',\n",
+    "            ntap_w='PMOS substrate width, in meters/number of fins.',\n",
+    "            show_pins='True to draw pin geometries.',\n",
+    "        )\n",
+    "\n",
+    "    def draw_layout(self):\n",
+    "        \"\"\"Draw the layout of a transistor for characterization.\n",
+    "        \"\"\"\n",
+    "\n",
+    "        lch = self.params['lch']\n",
+    "        w_dict = self.params['w_dict']\n",
+    "        intent_dict = self.params['intent_dict']\n",
+    "        fg_dict = self.params['fg_dict']\n",
+    "        ndum = self.params['ndum']\n",
+    "        ptap_w = self.params['ptap_w']\n",
+    "        ntap_w = self.params['ntap_w']\n",
+    "        show_pins = self.params['show_pins']\n",
+    "\n",
+    "        fg_amp = fg_dict['amp']\n",
+    "        fg_bias = fg_dict['bias']\n",
+    "\n",
+    "        if fg_bias % 2 != 0 or fg_amp % 2 != 0:\n",
+    "            raise ValueError('fg_bias=%d and fg_amp=%d must all be even.' % (fg_bias, fg_amp))\n",
+    "\n",
+    "        fg_half_bias = fg_bias // 2\n",
+    "        fg_half_amp = fg_amp // 2\n",
+    "        fg_half = max(fg_half_bias, fg_half_amp)\n",
+    "        fg_tot = (fg_half + ndum) * 2\n",
+    "\n",
+    "        nw_list = [w_dict['bias'], w_dict['amp']]\n",
+    "        nth_list = [intent_dict['bias'], intent_dict['amp']]\n",
+    "\n",
+    "        ng_tracks = [1, 3]\n",
+    "        nds_tracks = [1, 1]\n",
+    "\n",
+    "        n_orient = ['R0', 'MX']\n",
+    "\n",
+    "        self.draw_base(lch, fg_tot, ptap_w, ntap_w, nw_list,\n",
+    "                       nth_list, [], [],\n",
+    "                       ng_tracks=ng_tracks, nds_tracks=nds_tracks,\n",
+    "                       pg_tracks=[], pds_tracks=[],\n",
+    "                       n_orientations=n_orient,\n",
+    "                       )\n",
+    "\n",
+    "        if (fg_amp - fg_bias) % 4 == 0:\n",
+    "            s_net, d_net = 'VDD', 'vout'\n",
+    "            aout, aoutb, nsdir, nddir = 'd', 's', 2, 0\n",
+    "        else:\n",
+    "            s_net, d_net = 'vout', 'VDD'\n",
+    "            aout, aoutb, nsdir, nddir = 's', 'd', 0, 2\n",
+    "\n",
+    "        bias_col = ndum + fg_half - fg_half_bias\n",
+    "        amp_col = ndum + fg_half - fg_half_amp\n",
+    "        amp_ports = self.draw_mos_conn('nch', 1, amp_col, fg_amp, nsdir, nddir,\n",
+    "                                       s_net=s_net, d_net=d_net)\n",
+    "        bias_ports = self.draw_mos_conn('nch', 0, bias_col, fg_bias, 0, 2,\n",
+    "                                        s_net='', d_net='vout')\n",
+    "\n",
+    "        vdd_tid = self.make_track_id('nch', 1, 'g', 0)\n",
+    "        vin_tid = self.make_track_id('nch', 1, 'g', 2)\n",
+    "        vout_tid = self.make_track_id('nch', 0, 'ds', 0)\n",
+    "        vbias_tid = self.make_track_id('nch', 0, 'g', 0)\n",
+    "\n",
+    "        vin_warr = self.connect_to_tracks(amp_ports['g'], vin_tid)\n",
+    "        vout_warr = self.connect_to_tracks([amp_ports[aout], bias_ports['d']], vout_tid)\n",
+    "        vbias_warr = self.connect_to_tracks(bias_ports['g'], vbias_tid)\n",
+    "        vdd_warr = self.connect_to_tracks(amp_ports[aoutb], vdd_tid)\n",
+    "        self.connect_to_substrate('ptap', bias_ports['s'])\n",
+    "\n",
+    "        vss_warrs, _ = self.fill_dummy()\n",
+    "\n",
+    "        self.add_pin('VSS', vss_warrs, show=show_pins)\n",
+    "        self.add_pin('VDD', vdd_warr, show=show_pins)\n",
+    "        self.add_pin('vin', vin_warr, show=show_pins)\n",
+    "        self.add_pin('vout', vout_warr, show=show_pins)\n",
+    "        self.add_pin('vbias', vbias_warr, show=show_pins)\n",
+    "\n",
+    "        self._sch_params = dict(\n",
+    "            lch=lch,\n",
+    "            w_dict=w_dict,\n",
+    "            intent_dict=intent_dict,\n",
+    "            fg_dict=fg_dict,\n",
+    "            dum_info=self.get_sch_dummy_info(),\n",
+    "        )\n",
+    "\n",
+    "\n",
+    "import os\n",
+    "\n",
+    "# import bag package\n",
+    "import bag\n",
+    "from bag.io import read_yaml\n",
+    "\n",
+    "# import BAG demo Python modules\n",
+    "import xbase_demo.core as demo_core\n",
+    "from xbase_demo.demo_layout.core import AmpSFSoln\n",
+    "\n",
+    "# load circuit specifications from file\n",
+    "spec_fname = os.path.join(os.environ['BAG_WORK_DIR'], 'specs_demo/demo.yaml')\n",
+    "top_specs = read_yaml(spec_fname)\n",
+    "\n",
+    "# obtain BagProject instance\n",
+    "local_dict = locals()\n",
+    "if 'bprj' in local_dict:\n",
+    "    print('using existing BagProject')\n",
+    "    bprj = local_dict['bprj']\n",
+    "else:\n",
+    "    print('creating BagProject')\n",
+    "    bprj = bag.BagProject()\n",
+    "\n",
+    "demo_core.run_flow(bprj, top_specs, 'amp_sf_soln', AmpSF, run_lvs=True, lvs_only=True)"
+   ]
+  }
+ ],
+ "metadata": {
+  "anaconda-cloud": {},
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.6.5"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/workspace_setup/tutorial_files/solutions/4_schematic.ipynb b/workspace_setup/tutorial_files/solutions/4_schematic.ipynb
new file mode 100644
index 0000000..f850568
--- /dev/null
+++ b/workspace_setup/tutorial_files/solutions/4_schematic.ipynb
@@ -0,0 +1,180 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {
+    "collapsed": true
+   },
+   "source": [
+    "## AmpSF schematic generator solution\n",
+    "The follow cell contains the solution for AmpSF schematic generator.  you should be able to evaluate it and run the flow.  Note that it uses `amp_sf_soln` schematic template instead of the `amp_sf` schematic template you meant to fill out.  If you wish to debug your schematic template, you can change `amp_sf_soln` to `amp_sf` in the `yaml_file` class variable."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "using existing BagProject\n",
+      "computing layout\n",
+      "ext_w0 = 1, ext_wend=7, ytop=2880\n",
+      "ext_w0 = 2, ext_wend=9, ytop=3024\n",
+      "final: ext_w0 = 1, ext_wend=7, ytop=2880\n",
+      "creating layout\n",
+      "layout done\n",
+      "creating AMP_SF schematics\n",
+      "running lvs\n",
+      "Running tasks, Press Ctrl-C to cancel.\n",
+      "lvs passed\n",
+      "lvs log is /users/erichang/projects/bag_gen/BAG2_cds_ff_mpt/pvs_run/lvs_run_dir/DEMO_AMP_SF/AMP_SF/lvsLog_20180906_111315b1mh7xr5\n",
+      "computing AMP_SF_tb_dc schematics\n",
+      "creating AMP_SF_tb_dc schematics\n",
+      "computing AMP_SF_tb_ac_tran schematics\n",
+      "creating AMP_SF_tb_ac_tran schematics\n",
+      "schematic done\n",
+      "setting up AMP_SF_tb_dc\n",
+      "running simulation\n",
+      "Running tasks, Press Ctrl-C to cancel.\n",
+      "simulation done, load results\n",
+      "setting up AMP_SF_tb_ac_tran\n",
+      "running simulation\n",
+      "Running tasks, Press Ctrl-C to cancel.\n",
+      "simulation done, load results\n",
+      "all simulation done\n",
+      "loading simulation data for AMP_SF_tb_dc\n",
+      "loading simulation data for AMP_SF_tb_ac_tran\n",
+      "finish loading data\n",
+      ", gain=0.05005\n",
+      ", f_3db=1.124e+10, f_unity=-1, phase_margin=360\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEWCAYAAACJ0YulAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xl8VfWZ+PHPk30PCdnYQtghwT2A4oqi0GqlrbutOm3VbtqZau3U2mmrnc7YbVqnddo6/qzaVrRaq3SKgCKggAsgoCSEfYfs+35z7/P745yEa0y4F8nNzfK8X6/7umf5nnOfewnnOed8z/f7FVXFGGOMAYgIdwDGGGMGDksKxhhjulhSMMYY08WSgjHGmC6WFIwxxnSxpGCMMaaLJQVjBgkR+a6IPB7uOMzQZknBDHoislxEHuph+SIRKRWRqFPc/2oRuf1U9hHEZ/xeRJ7uYfnpItImIumq+h+qGtI4jLGkYIaCJ4FbRES6Lb8F+LOqdvR/SCftSeCzIpLYbfmtwP+panX/h2SGI0sKZih4CUgHLuxcICJpwFXA0+58qog8LSIVInJARL4nIhHuuh+KyJ/8ts0TERWRKBH5sbvf34hIo4j8pvuHi8gyEbmr27KtIvJZcfxSRMpFpE5E3heRmd33oapvAUeAa/z2EQncDDzVPU6/GG8TkYMiUikiD3zcH9CYTpYUzKCnqi3AX3DOqjtdD5So6lZ3/tdAKjARuNgt+4Ug9v0A8CZwl6omqepdPRR7Bripc0ZE8oHxwD+AK4CLgKnACOAGoKqXj3u623eYD0QDr5wgxAuAacBlwPdFZEag72TMiVhSMEPFU8B1IhLvzt/K8TPsSJyD8f2q2qCq+4Ff4Nxe6gt/A84UkfHu/OeAF1W1DfAAycB0QFR1u6oe62U/fwQuFpGxft/hGVX1nOCzH1TVFjf5bQXOONUvY4Y3SwpmSFDVtUAFsEhEJgKzcM7gATKAGOCA3yYHgDF99NkNOFcFN7qLbgT+7K57HfgN8ChQJiKPiUhKL/s5CLwBfF5EkoBP4ya2Eyj1m24Gkj7u9zAGLCmYoaXz9sstwApVLXOXV+KcsY/3K5uLcw8foAlI8FuX022/wXQlvBi4SUTOA+KBVV0bq/63qp4DFODcRrrvBPt5yv0O1wD7VPW9ID7bmD5jScEMJU/j3Ie/A78zbFX14tQ5/FhEkt3bPPcAnZXLW4CLRCRXRFKB+7vttwynLuJEluIknYeA51TVByAis0RkjohE4ySfVsB7gv38FRgHPEjgqwRj+pwlBTNkuHUF64FEYEm31XfjHJT3Amtxbi094W73KvAc8D6wCfi/bts+AlwrIjUi8t+9fHYb8CJOUnrGb1UK8L9ADc4tqyrg5yf4Dk0cTwx/PtH3NSYUxAbZMcYY08muFIwxxnSxpGCMMaaLJQVjjDFdLCkYY4zpckq9R4ZDRkaG5uXlhTsMY4wZVDZt2lSpqpmByg26pJCXl8fGjRvDHYYxxgwqInIgcCm7fWSMMcaPJQVjjBkEVBWvL/TtyiwpGGPMAOX1Ke/uq+bBvxcx9+HXWbatNPBGp2jQ1SkYY8xQ5vH6eHtvFa9sK2VFURmVjW3EREVw0ZRMMpJiQv75lhSMMSbMWj1e1u6qZFlRKa8Wl1HX4iEhJpJ507JYODOHedOzSIrtn8O1JQVjjAmD5vYOVu+o4JVtpawqKaexrYPkuCgun5HNwpk5XDQ1k7joyH6Py5KCMcb0k/pWDyu3l/HKB6Ws2VlBW4ePkYkxfOqMUSwoyGHupAxiosJb1WtJwRhjQqi6qZ0VRaUsKypl3e5KPF4lOyWWG2eNY+HMUczKSyMqcuA882NJwRhj+lhpXSvLi0pZtq2Ud/ZV4VMYlx7PF86fwMKZOZw5dgQRERLuMHtkScEYY/rAoepmXtl2jGXbSnnvYC0Ak7OS+Pq8ySycmUP+qBREBmYi8GdJwRhjPqbd5Q288oFza6joaD0AM8ek8K0rprJwZg6Ts5LDHOHJs6RgjDFBUlWKjtazbFspr2w7xp6KJgDOGZ/GA5+cwcKZOYxLTwhzlKfGkoIxxpyAz6dsPlTDsm3OFcGh6hYiBM6dOJLb5uaxoCCH7JS4cIfZZywpGGNMNx1eH+/uq+aVbaUsLyqlvKGN6Ejh/MkZ3DVvMpfn55CeGPrWxeEQ0qQgIguBR4BI4HFVfbiXctcCzwOzVNX6xTbG9Lu2Di/rdleybJvTqrim2UNcdASXTHVaFV86I4uUuOhwhxlyIUsKIhIJPApcDhwGNojIElUt7lYuGfgG8E6oYjHGmJ40tXWwZmcFy7aV8npnq+LYKC6dkcUn3FbFCTHD64ZKKL/tbGC3qu4FEJFngUVAcbdyPwJ+CnwrhLEYYwwAdc0eVpaUsWzb8VbF6YkxXHnaKBaelsPcSSOJjer/7iUGilAmhTHAIb/5w8Ac/wIichYwTlX/T0R6TQoicidwJ0Bubm4IQjXGDGWVjW2sKCpjWVEp63dX0uFTclLiuGHWOBbOzGF2XvqAalUcTqFMCj210ugaIUJEIoBfAv8UaEeq+hjwGEBhYWHoR5kwxgx6R2pbWO4+MbRxfzU+hdz0BL54wcBvVRxOoUwKh4FxfvNjgaN+88nATGC128ovB1giIldbZbMx5uPYW9HIsqJSlm8rZevhOgCmZidx16VT+MTMHKbnJA+KVsXhFMqksAGYIiITgCPAjcDNnStVtQ7I6JwXkdXAtywhGGOCpapsP9bAsm3HWFZUys6yRgDOGJvKvy6czoKCbCZmJoU5ysElZElBVTtE5C5gOc4jqU+oapGIPARsVNUlofpsY8zQ5TQmq+3qcO5gdTMRAoV56fzgU/ksKMhh9Ij4cIc5aIX0WStVXQos7bbs+72UvSSUsRhjBi+P25hsWbfGZHMnZfC1SyYxPz+bjKTYcIc5JAyvB3CNMYOG/xCVr20vo7ZbY7J507NIjR/6jcn6myUFY8yA0djWwaqScpYVlbK6pJymdi/JcVHMn5HNgoIcLp6aSXzM8G1D0B8sKRhjwqq6qZ3XtpexfFspb+6upL3DR0ZSDFefOYaFM3M4b+LIsA9ROZxYUjDG9LtjdS1OYzK/kcnGjIjn83PGs3BmDueMTyPS2hCEhSUFY0y/2FfZ1PXE0JZDzshkkzIT+dolzshkBaMHx8hkQ50lBWNMSHS2IVhe5DwxVFLaAMDpY1O5b8E0FhTkMDnL2hAMNCeVFEQkEWhVVW+I4jHGDGKdA9Isd28NdbYhmJWXzvevyueKgmzGpg3ukcmGuhMmBbd/ohuBzwGzgDYgVkQqcNofPKaqu0IepTFmwPJ4fby9t4pl20pZUVxGhd+ANNaGYPAJdKWwCngNuB/Ypqo+ABFJB+YBD4vI31T1T6EN0xgzkLS0e1mzs4IVbhuC+tYOEmIimTctiysKspk3fXgMSDMUBUoK81XV032hqlYDfwX+KiL2L2/MMFDX7OH1HcfHIWj1+BiREM0VBTksKMjhwikZxEVbG4LBLlBS+JuIPAO8rKpNPRXoKWkYY4aG8vpWVhSXsbyolLf2VB0fh6BwHAsKcpg9wcYhGGoCJYX/xalT+JWIrAIWA0tVtT3kkRljwuJAVVNXH0ObD9WiChMyErn9woksKMjmDBuHYEg7YVJQ1ZeBl0UkHrgauA34nYgsBRar6qv9EKMxJoRUleJj9SwvKmOF36OjBaNTuGf+VBbMzGFKVpK1IRgmgnokVVVbgOeA50TkdOApnARhNxCNGYS8PmXTgZquNgSHa1q6up/+t6vyuSI/m3Hp9ujocBRUUhCRbOB6nFtJo4DngS+EMC5jTB9r6/CyfncVy90nhiob24mJjOD8ySO5a95ke3TUAIHbKdwB3ARMA14Evq2q6/ojMGPMqWto9bB6RwXLi0pZvaOCxrYOkmKjuGRaJgsKcrhkWibJ9uio8RPoSmEu8DDwWmcbBWPMwFbR0MZr2536gXW7q2j3+hiZGMNVp49iQUEOcyePJDbK7vyangVKCg+q6v7eVopT8zRGVQ/3aVTGmJNyoKqJFUVlrCguZeOBGlRhXHo8t543ngUzczg713odNcEJlBR+5nZ18TKwCagA4oDJOC2aLwN+AFhSMKYfqSpFR+tZUeR0LdH5xNCMUSn882VTWFCQw/ScZHtiyJy0QI+kXici+Th9H30Rp5K5GdiO0/fRj1W1NeRRGmPo8PrYsL+GFcWlrCgq40jt8SeGvnflDBYU5NgTQ+aUBXz6SFWLgQf6IRZjTDetHi9v7KxgRXEZK7eXUdPsISYqggsmZ/CNyyZz2Qx7Ysj0rZCOpyAiC4FHcNozPK6qD3db/xXg64AXaATudJOQMcNWTVM7r5eUs6K4lDd2VtLiccYpvnR6FgsKcrhoaiZJsTYUigmNkP1liUgk8ChwOU6dwwYRWdLtoP+Mqv7OLX818F/AwlDFZMxAdbimmVeLy1hRVMa7+6vx+pTslFiuOWcMCwpymDPBxik2/SOUpxuzgd2quhdARJ4FFgFdSUFV6/3KJwIawniMGTBUlZLShq4nhoqOOv8VJmcl8ZWLJ3JFfg6njUm1PoZMvwu2RfNKVb0s0LJuxgCH/OYPA3N62PfXgXuAGODSXj7/TuBOgNzc3GBCNmbA6fD62HighhVFZby6vZRD1S2IwFnjRnD/J6ZzeX42EzNteEoTXoFaNMcBCUCGiKQBnactKcDoAPvu6RTnI1cCqvoo8KiI3Ax8D6dPpe5lHgMeAygsLLSrCTNotLR7eWNXBa/6VxRHRjB38ki+dslkLpuRRVZyXLjDNKZLoCuFLwP/gpMA3vNbXo9TX3Aih4FxfvNjgaMnKP8s8NsA+zRmwKtqbGPl9nJWFJexdrczGE2KW1F8hVUUmwEuUDuFR4BHRORuVf31Se57AzBFRCYAR3A607vZv4CITPEb4/lKwMZ7NoPSvsomXi0u5dXiMjYdqMGnMDo1jhtn5XJ5fjazJ6QTbYPRmEEg2NOVOhG5tftCVX26tw1UtUNE7gKW4zyS+oSqFonIQ8BGVV0C3CUi8wEPUEMPt46MGYh8PmXr4VpeLS7j1eIydpU3Ak6L4rsuncIV+dkUjE6xFsVm0Ak2Kczym47D6d7iPaDXpACgqktxWj77L/u+3/Q/B/n5xoRdq8fL+j2VvFpczmvby6hoaCMyQpidl87Nc3KZP8PGIDCDX7CD7NztPy8iqcAfQxKRMQNIZ0OyV4vLeGNXBc3tXhJjIrlkWhbz87OYNy2LEQkx4Q7TmD7zcWu7moEpfRmIMQPF/somp+vp4jI27q/Gp5CdEstnzhrD5fnZnDfJup42Q1ew7RT+zvHHSSOBGcBfQhWUMf3J61O2HKrlte1O/cBut35gek5y14hkM0dbQzIzPAR7pfBzv+kO4ICNoWAGs+b2DtbuquS17WW8XlJOZWM7URHCnInpfM7qB8wwFmydwhp3nObOCmd7dNQMOmX1razc7lQSr9tdSVuHj+S4KOZNy2J+fjYXT80kNd6GpjTDW7C3j64Hfgasxmmp/GsRuU9VXwhhbMacks6BaFZuL2dlSRnvH64DnBHJOp8WsvYDxnxYsLePHgBmqWo5gIhkAq8BlhTMgNLq8fLW3ipWbi9j5fZyjtW1dvUvdN+Cacyfkc3U7CRrP2BML4JNChGdCcFVBdjplRkQKhraWFXi3BZau7uS5nYv8dGRXDglg29ePpV507LITLaBaIwJRrBJYZmILAcWu/M30K1RmjH9RVUpPlbP69vLea2knK2HagGnW4nPnj2Gy2Zkc97EkcRF22OjxpysYCua7xORzwIX4NQpPKaqfwtpZMb46WxNvHJ7Oa+XHL8tdMbYEdx7+VQunZFF/ijrVsKYUxWo6+zf4IyOtl5VXwRe7J+wjIFjdS28XlLO69vLWbenklaPj4QY97bQ/KnMm263hYzpa4GuFHYBvxCRUcBzwGJV3RL6sMxw5DQiq3ESQUkF2485o5GNS4/nxlm5zJuexbkT0601sTEhFGzX2eNxur7+gzvwzmLgWVXd2Q8xmiGsrtnDml0VrCopZ/WOcmqaPURGCOeMT+M7n5jOZdOzmJxlTwsZ01+CrVM4APwE+ImInAU8AfwAp8sLY4Kmquwoa+D1knJWl1Sw6WANXp+SlhDNJdOymDc9i4unZJKaYI3IjAmHYBuvRQMLca4WLgPWAA+GMC4zhDS1dbB+TxWrdpSzuqSco3WtABSMTuGrF09i3vQszhw3gkjrW8iYsAtU0Xw5cBPOqGjv4gyZeaeqNvVDbGaQUlX2VjaxekcFq3eU887eatq9PhJjIrlgSgbfuGwK86ZnkZ1iYxMbM9AEulL4LvAM8C1Vre6HeMwg1dzewVt7qli9o4I1Oys4WN0MwOSsJG49bzyXTs+iMC+dmChr82jMQBaoonlefwViBhdVZU9FY1cSeGdfNe0dPuKjI5k7aSR3XDSRS6ZmWk+jxgwyH3eQHTMMNbR6WL+nijU7K1izo4IjtS2AczVwy7njuWRaJrPy0q0lsTGDmCUF0yufz+lOYs3OCt7YWcGmAzV0+JTEmEjOm5TBVy+ZxMV2NWDMkGJJwXxIRUMbb+6q4M1dlby5q4LKxnYA8kelcMdFE7l4aiZn56ZZ3YAxQ1RIk4KILAQewWnP8LiqPtxt/T3A7TijuVUAX3TbRJh+0tbhZdP+Gt7YVckbOysodlsRpyfGcOGUDC6aksmFUzPISrYnhYwZDkKWFEQkEngUuBw4DGwQkSWqWuxXbDNQqKrNIvJV4Kc4PbCaEFFVdpY18uauCtburuSdvdW0eLxEua2I71swjYumZFIwOsXGJDZmGArllcJsYLeq7gUQkWeBRUBXUlDVVX7l3wY+H8J4hq3y+lbW7q50XrsqKW9oA2BiZiI3zBrHhVMymDNxJEmxdjfRmOEulEeBMcAhv/nDwJwTlP8S8EpPK0TkTuBOgNzc3L6Kb8hqbOvg3X1VrNtdxdpdlewoawAgLSGa8ydncOGUDC6YksmYEfFhjtQYM9CEMin0dO9Beywo8nmgELi4p/Wq+hjwGEBhYWGP+xjO2jt8bDlUy7rdlazfU8nmg7V0+JSYqAhm56XzmbPHcMHkDPJH2S0hY8yJhTIpHAbG+c2PBY52LyQi83HGgL5YVdtCGM+Q0fmo6Po9lazbXcWG/dU0t3sRgdPGpHLHRRO5YHIG54xPszYDxpiTEsqksAGYIiITgCM4nend7F/A7XH198DCbmNAGz+qyu7yRtbvqeKtPVW8va+K2mYP4NQLXHvOWOZOyuC8iSOtd1FjzCkJWVJQ1Q4RuQtYjvNI6hOqWiQiDwEbVXUJ8DMgCXje7S//oKpeHaqYBgtVZV9lE2/vreatvU4iqGx0LqLGjIjnivxsJwlMGmmdyhlj+lRIHzdR1aXA0m7Lvu83PT+Unz9YqCr7q5p5e29V16us3kkC2SmxXDB5JOdNGsl5EzPIHWmth40xoWPPIIaB05lcE+/uq+5KAp2PiWYkxXLepJGcOzGdcyeOZGJGoo06ZozpN5YU+oHPp5SUNvDuvire3V/Nu/uqu7qPyEqOZc5EJwnMmTCSSZmWBIwx4WNJIQTaO3x8cKSODW4C2Li/mvrWDsCpE7hoSiazJ6Qze0I6E+xKwBgzgFhS6AMNrR42H6ztSgJbDtXS1uEDnKeDrjx9FLPy0pmVl249ihpjBjRLCh/D0doWNh6oYdP+ajbsr6GktB6fQmSEUDA6hc/NGc+svDQK89LJTI4Nd7jGGBM0SwoBeLw+So41sOlANRsP1PDegZqugecTYiI5OzeNuy+dQmFeGmflpln/QcaYQc2OYN1UN7Xz3oEa3jtYw6YDNbx/uI4WjxeAUalxnDM+jTvHp3HO+HRmjEomKtLGFTDGDB3DOil4vD52lDbw3sEaNh+sZfPBGvZXOQPOR0UI+aNTuGHWOM4en0bh+DRGWwdyxpghbtgkBVXlWF0rWw45B/8th2r54EgdrR6nQjgjKZazc0dww6xczhmfxmljUomPsX6DjDHDy7BJCo+u2s3PV+wEICYygoIxKdw0O5czx43g7Nw0xqbF26Ohxphhb9gkhYunZpEUG8VZuWnMGJViYwwbY0wPhk1SOG1sKqeNTQ13GMYYM6DZ6bIxxpgulhSMMcZ0EdXBNbqliFQAB0Kw6wygMgT7PRUWU3AGYkwwMOOymIIzEGOCU4trvKpmBio06JJCqIjIRlUtDHcc/iym4AzEmGBgxmUxBWcgxgT9E5fdPjLGGNPFkoIxxpgulhSOeyzcAfTAYgrOQIwJBmZcFlNwBmJM0A9xWZ2CMYCI5ALFQKqqesMdT09E5HfAEVX9UbhjMUOXXSmYIUNEbhSRd0SkSUTK3emvSRD9l6jqQVVNCldCEJHlIvJQD8sXiUipiESp6lcsIZhQs6RghgQRuRd4BPgZkANkA18BzgdiwhhasJ4Ebukhgd0C/FlVO/o/JDMcWVIwg56IpAIPAV9T1RdUtUEdm1X1c6ra5pa7UkQ2i0i9iBwSkR/67SNPRFREotz51SLyIxFZJyINIrJCRDJ6+fztInKV33yUiFSKyNkiEicifxKRKhGpFZENIpLdw25eAtKBC/32kwZcBTztzj8pIv/uTl8iIodF5F73quiYiHzh1H5JYywpmKHhPCAWeDlAuSbgVmAEcCXwVRH59AnK3wx8AcjCudr4Vi/lFgM3+c0vACpV9T3gNiAVGAeMxLl6aem+A1VtAf7ixtfpeqBEVbf28rk57r7HAF8CHnUTiTEfmyUFMxRk4ByEu26xiMh698y8RUQuAlDV1ar6gar6VPV9nIP5xSfY7x9UdaffAfvMXso9A1wtIgnu/M3uMgAPTjKYrKpeVd2kqvW97Ocp4DoR6RzN6VZ3WW88wEOq6lHVpUAjMO0E5Y0JyJKCGQqqgIzOWz8AqjpXVUe46yIARGSOiKwSkQoRqcM5a+/xlpCr1G+6GUjqqZCq7ga2A59yE8PVHE8KfwSWA8+KyFER+amIRPeyn7VABbBIRCYCs/z20+P37lbX0GuMxgTLkoIZCt4C2oBFAco9AywBxqlqKvA7oK9GVuq8hbQIKHYTBe5Z/IOqmg/MxakjuLX33fC0u/4WYIWqlvVRfMYExZKCGfRUtRZ4EPgfEblWRJJEJEJEzgQS/YomA9Wq2iois3Fu8/SVZ4ErgK/id3YvIvNE5DQRiQTqcW75nOix16eB+cAdnPjWkTEhYUnBDAmq+lPgHuDbQDlQBvwe+FdgvVvsa8BDItIAfB+nnqCvPv8YzhXLXOA5v1U5wAs4CWE7sAb40wn2s9+NNxHnqsaYfmUtmo0xxnSxKwVjjDFdLCkYY4zpYknBGGNMF0sKxhhjukQFLjKwZGRkaF5eXrjDMMaYQWXTpk2VwYzRPOiSQl5eHhs3bgx3GMYYM6iIyIFgytntI2OMMV0G3ZWCMcYMNR1eH60dPlo9Xlo9Xto6fLR5fLR7fbR3uC+vl6nZyYxNSwi8w1MQ0qQgIgtxBj6JBB5X1Ye7rc/Faco/wi3zHbe3R2OMCbv2Dh8t7V6aPR3Oe7tz0G7xeGn1+Jz3dme+2X1vae9w3320djjrWzuc8p0H/VaPzz3wO+s83uAaEf/7p2fy+XPHh/Q7hywpuH29PApcDhwGNojIElUt9iv2PeAvqvpbEckHlgJ5oYrJGDN0dXh9NLV5aWjz0NjWQVNbB41tXprc6aa2Dpranflmv/fm9o6uA/rxZc7yYA/W/uKjI4mPiSQ+OpK46Ajioo9Pj4iPJjY6grioSGJ7WB8XHUls1PH3mKgIYiIjnfeoCMalxQcO4BSF8kphNrBbVfcCiMizuD1I+pVRIMWdTgWOhjAeY8wApKq0eLzUt3TQ0OqhvtVDfUsH9a0eGlo73JezvLFzvq2DxtYOv4N/B20dvqA+LzJCSIyJJCk2iviYSBJinPf0xBjGpSWQEBPpvGKjSIyJJD6m8z2SuGjnlRATSVyUcyDv3Eece7CPiOirjnfDI5RJYQxwyG/+MDCnW5kfAitE5G6cDsDm97QjEbkTuBMgNze3zwM1xpw6j9dHbbOHupZ2apo91DZ7qGlup67ZQ21LO7XNHmpbPNS3eKhzX/UtzoG/w3fiM/KoCCE5LoqkuCiSY6NJioti9Ig4EmOjSIyNItl9T3JfibFO2aTYSKdMjLMsIcY5A//oUNimUyiTQk+/evd/+ZuAJ1X1FyJyHvBHEZmpqh9K+ar6GPAYQGFhofXgZ0yIqSoNbR1UN7ZT1dRGVWM71U3tVDU5752vmmbnVdvkoaGto9f9RUYII+KjSY2PJjUhmrSEGMaPTCQ1PoqUuGiS46JJjosiNT6alHhnOiUumpS4KJLjoomLtgN5fwllUjiMMy5tp7F89PbQl4CFAKr6lojE4YyEVR7CuIwZtlravZQ3tFLR0Oa8GtuOT/vNVzW20+7t+XZMgnurJT0xhrSEGCZmJDIiwZlOS4xmREIMI+KdA/+IBCcJJMdG2UF9kAhlUtgATBGRCcAR4EY+OqjJQeAy4EkRmQHE4QxHaIw5CapKVVM7x2pbOVbXQll9K6X1rZTWtXVNl9W19ng2HyGQnhhLVnIsWSmxTM1OJiMploykmK6Df0ZSbNd0XHRkGL6h6S8hSwqq2iEid+GMTxsJPKGqRSLyELBRVZcA9wL/KyLfxLm19E9qAzwY8xEer49jta0crm3mcE0LR2paOFrbwpFa5/1oXSvt3SpaIyOErORYslPimJyZxAWTM8hKiSUrOY7M5Fgyk5wkkJYQQ+Qgrxw1fWfQDbJTWFio1s2FGYrqWjwcqGriQFUzB6ubOdj5Xt3MsboW/OtiRSArOZbRI+IZPSKeMSPiGZUax2j3PSc1jpGJsXawN11EZJOqFgYqZy2ajelHbR1eDlY1s6eikT0VTeytaGJvZSMHqpqpbmr/UNmMpFhy0+OZlZfGuPQxjEtLYGxaPGPS4slJjSM2ym7jmL5nScGYEGhp97KrvIFdZY3sKm9kd3kDeyqaOFjdjNfvlD87JZYJGYksKMgmb2QieRmJjB+ZQG56Agkx9t/T9D/7qzPmFKgqh2ta2H6snu3HGigpraektIH9VU103pm+vaBqAAAWFElEQVSNjhQmZCSSPyqFq04fxaTMJCZmJjIhI5HkuOjwfgFjurGkYEyQvD5lX2UjHxypY9uReoqO1lF0tJ6GVueJHhEYn57A9JwUFp05mmnZyUzJTmb8yASiI61DYjM4WFIwphfH6lrYfLCWLYdq2Xqolm1H6mhq9wIQGxXB9FEpfOqM0eSPSiF/dArTspNJjLX/UmZws79gY3Ae+Sw6Ws+mAzW8d6CGTQdqKK1vBSAmMoIZo1O45pyxnDYmldPHjmBSZiJRdvZvhiBLCmZYavV4ee9gDe/uq+bdfdVsPlhLi8e5ChibFs+ciemcNW4EZ+WmMWNUCjFRlgDM8GBJwQwLHq+P9w/XsnZXFW/treS9g7W0d/gQgRk5Kdwwaxyz8tIpzEsjOyUu3OEaEzaWFMyQta+yiTU7ylm7u5K391bT2NaBCOSPSuHWc8dz3qSRFOalkxpvTwAZ08mSghkyWj1e3tpbxaqSctbsrOBAVTMA40cmsOjM0VwwOYPzJo1kREJMmCM1ZuCypGAGtarGNlZuL+fV7WWs3VVJi8dLfHQkcyeN5PYLJnDR1EzGj0wMd5jGDBqWFMygc6S2hVc+OMaK4jI27q/GpzA6NY5rzxnLZTOyOHfiSOvJ05iPyZKCGRSO1raw9INj/OODY2w+WAvA9Jxk7rp0ClfkZ1MwOsX66zemDwSVFEQkAjgDGA20AEWqWhbKwIypamxj6bZSlmw5wob9NQAUjE7h2wun8cmZo8jLsNtCxvS1EyYFEZkE/CvO2Mm7cAbAiQOmikgz8Hvgqe7DZxrzcbV6vLxeUs5fNx1m9c4KvD5lSlYS37piKledPtoSgTEhFuhK4d+B3wJf7j74jYhk4YykdgvwVGjCM8PFtiN1PLvhIEu2HKW+tYPslFhuv2ACnz5rDNNzku3WkDH9JFBSuFVVPT2tUNVy4Fd9H5IZLupaPLy85QjPvnuI4mP1xEZFsHBmDtecPZbzJ2fYADHGhEGgpHBERF4GFgOrbKhM0xe2Hqrlz+8cYMnWo7R6fBSMTuFHiwq4+swx1pDMmDALlBRmANcC/wY8LSIvAItV9Z2QR2aGlLYOL/94/xhPrt/P+4friI+O5DNnjeHm2eM5bWxquMMzxrhOmBRUtQqnMvn3IjIauA74lVuf8KyqPtAPMZpBrKKhjT+9fYA/v3OQysY2Jmcl8dCiAj591hhSbIAZYwacoNspqOpREfl/QA1wD3A7YEnB9GhXWQOPv7mPv205QnuHj3nTMvnC+RO4cEqGVRobM4AFTAoiEgd8CrgJOB9YBtwPrAhtaGYwendfNb9bs4fXS8qJjYrgunPG8sULJjApMyncoRljghConcIzwOXAGuAZ4GZVbe2PwMzgoaqs2lHO/6zaw8YDNYxMjOGey6fy+XPHk55onc8ZM5gEulLYhtNGoaE/gjGDi8+nrCgu5b9X7qb4WD1jRsTz4NUFXF84jvgY63vImMEoUFLIBdaIyE6c20bLVLU02J2LyELgESASeFxVH+62/pfAPHc2AchS1RHB7t+Eh8+nLC8q5ZGVuygpbWBCRiI/v+4MFp052gaoN2aQC/T00VcARGQ68AngSRFJBVbhJIl1qurtaVsRiQQexbn9dBjYICJLVLXYb//f9Ct/N3DWqX0dE0qqysrt5fzi1Z1sP1bPxMxEfnnDGXzq9NE2XrExQ0RQTx+paglQAvxSROJxzu6vA/4LKOxls9nAblXdCyAizwKLgOJeyt8E/CD40E1/Wrurkp+v2MGWQ7WMH5nAL284g6vPGGOtjo0ZYgJVNP8Dp4L5JVVtAlDVFmCp+zqRMcAhv/nDwJxePmc8MAF4vZf1dwJ3AuTm5gb4WNOXPjhcx0+WlbB2dyWjU+N4+LOncc05Y+02kTFDVKArhceAG3GuEFbhdHexVFXbg9h3T6eQvXWTcSPwQm+3olT1MTcWCgsLrauNfnCwqpmfrdjB37ceJS0hmn+7Kp/Pn5tLbJRVIBszlAWqU3gZeNm9ZXQ1cBvwOxFZitPdxasn2PwwMM5vfixwtJeyNwJfDzpqEzJ1LR5+8/ounly/n6iICO6+dDJ3XDTRWh8bM0wEW6fQAjwHPCcip+N0lX0bzlNFvdkATBGRCcARnAP/zd0Licg0IA146+RCN33J4/Wx+N2D/PLVndS2eLj+nHHcc8VUslPiwh2aMaYfBTvyWjZwPc6BfRTwPPCFE22jqh0ichewHCd5PKGqRSLyELBRVZe4RW/C6UfJbguFydpdlfzw70XsLm/kvIkj+d5VMygYbZ3UGTMcyYmOxSJyB85BexrwIs7Be10/xdajwsJC3bhxYzhDGDIOVTfz7/8oZnlRGbnpCXzvyhlcnp9tfRMZMwSJyCZV7e1p0S6BrhTmAg8Dr9mQm0NHq8fLb1fv4bdr9hApwn0LpvGlCyYQF22VyMYMd4GSwoOqur+3leKcUo5R1cN9GpUJmVUl5fxgSREHq5v51Bmj+e4npzMqNT7cYRljBohASeFnIhIBvAxsAiqAOGAyTgO2y3AanFlSGOCO1rbw4N+LWF5UxqTMRJ65fQ5zJ2eEOyxjzAAT6JHU60QkH/gc8EWcSuZmYDtO47UfW6+pA5vXpzy1fj+/WLEDryrfXjiN2y+YSEyUNT4zxnxUwKeP3L6KbDCdQWjbkTq++7cPeP9wHZdMy+RHi2YyLj0h3GEZYwawoEdeM4NHq8fLL1/byeNv7iMtIYZf33QWV50+yp4qMsYEZElhiHlrTxX3v/g++6uauaFwHN/95AxSE6w1sjEmOJYUhoiGVg//+UoJz7xzkNz0BKtINsZ8LEEnBREZA4z330ZV3whFUObkvLGzgu/89X1K61u5/YIJ3HvFNBv5zBjzsQTbzcVPgBtwxkLo7MlUAUsKYdTQ6uE/lm5n8buHmJSZyAtfncvZuWnhDssYM4gFe6XwaWCaqraFMhgTvHW7K7nv+a2U1rfy5Ysn8s35U61FsjHmlAWbFPYC0YAlhTBrbu/g4VdKePqtA0y0qwNjTB8LNik0A1tEZCV+iUFVvxGSqEyPNh2o5t6/bGV/VTNfPH8C3144za4OjDF9KtiksMR9mTBo7/DxyMqd/Hb1HkalxrP4jnM5b9LIcIdljBmCgh1k56lQB2J6tqusgX95bgtFR+u5vnAs/3ZVPsk2CpoxJkROmBRE5C+qer2IfEAP4yur6ukhi2yY8/mUJ9fv5+FlJSTFRvH7W85hQUFOuMMyxgxxga4U/tl9vyrUgZjjyupb+dbzW3lzVyWXTc/i4WtOJzM5NtxhGWOGgUC9pB5z3w/0TzhmeVEp3/nr+7R4vPz4MzO5eXau9VlkjOk3wTZeOxf4NTADiMEZc7lJVVNCGNuw0tzewY/+bzuL3z3IzDEp/OqGs5iclRTusIwxw0ywTx/9BrgReB4oBG7FGWjH9IFtR+r4xrOb2VfZxFcvmcQ350+18Q6MMWERdN9HqrpbRCJV1Qv8QUTWhzCuYcHnU/7f2n38dHkJIxNj+fPtc5g7yTqxM8aET9CN10QkBqcB20+BY0Bi6MIa+srrW7nXrUxeUJDNw589nbTEmHCHZYwZ5oJNCrcAEcBdwDeBccA1oQpqqFtVUs69z2+lub2D//jMadw0e5xVJhtjBoRgG691Pn3UCjwYunCGtrYOLz95ZQdPrNvH9JxkfnPzuUzOSg53WMYY0+WEtZkiskhEvu43/46I7HVf1wbauYgsFJEdIrJbRL7TS5nrRaRYRIpE5JmT/wqDw56KRj7z6HqeWLePf5qbx0tfP98SgjFmwAl0pfBtnKeOOsUCs3DqE/4AvNDbhiISCTwKXA4cBjaIyBJVLfYrMwW4HzhfVWtEJOtjfYsBTFV5ftNhfvByEXHRETx+ayHz87PDHZYxxvQoUFKIUdVDfvNrVbUKqBKRQBXNs4HdqroXQESeBRbhDNTT6Q7gUVWtAVDV8pOKfoBraPXwwN+2sWTrUc6dmM6vbjiLnNS4cIdljDG9CpQUPtRRv6re5TebGWDbMYB/QjkMzOlWZiqAiKzDaRD3Q1Vd1n1HInIncCdAbm5ugI8dGLYcquUbizdzpLaFey+fytfmTSYywiqTjTEDW6AWUu+IyB3dF4rIl4F3A2zb0xGwe6d6UcAU4BLgJuBxERnxkY1UH1PVQlUtzMwMlIvCy+dTfr9mD9f+dj1en/Lcnedy92VTLCEYYwaFQFcK3wReEpGbgffcZefg1C18OsC2h3EeXe00FjjaQ5m3VdUD7BORHThJYkMQsQ84FQ1t3Pv8Vt7YWcHCghx+cs3ppCZYN9fGmMEjUId45cBcEbkUKHAX/0NVXw9i3xuAKSIyATiCU2F9c7cyL+FcITwpIhk4t5P2nkT8A8abuyr45nNbaWj1WEd2xphBK9h2Cq8DwSQC/206ROQuYDlOfcETqlokIg8BG1V1ibvuChEpBrzAfW5F9qDh8fr4xYqd/G7NHqZkJfHn2+cwLcceNTXGDE6i+pGxcwa0wsJC3bhxY7jDAOBQdTN3L97MlkO13DQ7l+9flU98jI2ZbIwZeERkk6oWBioXdId45sP+vvUo333xAxB49OazufL0UeEOyRhjTpklhZPU3N7Bg0uKeW7jIc7OHcEjN57FuPSEcIdljDF9wpLCSSg6Wsfdi51xD752ySS+eflUoiNt3ANjzNBhSSEIqsqT6/fzn0tLGJEQzZ+/NIe5k23cA2PM0GNJIYDqpnbue34rK0vKuWx6Fj+77gzSbdwDY8wQZUnhBNbuquSev2yhttnDDz+Vz21z86ztgTFmSLOk0IP2Dh8/X7GDx97Yy+SsJJ78wmzyR6eEOyxjjAk5Swrd7K1o5BvPbmbbkXo+NyeX711pbQ+MMcOHJQWXqvLshkM89PdiYqMj+P0t57CgICfcYRljTL+ypIBTmfydv77PiuIyzp88kl9cd6aNe2CMGZaGfVJ4Y2cF9z6/lbpmD9+7cgZfPH8CEdbNtTFmmBq2SaHV4+Uny0r4w7r9TMlK4imrTDbGmOGZFIqP1vMvz21mZ1kjt503nvs/OYO4aKtMNsaYYZUUvD7l8Tf38vMVO0hLiOGpL87m4qkDeyQ3Y4zpT8MmKRypbeGe57bwzr5qFhbk8J+fPY00a5lsjDEfMmySwkubj7DtSB0/u/Z0rj1nrLVMNsaYHgybpPDliyay6MzRjE2zbq6NMaY3w6bf56jICEsIxhgTwLBJCsYYYwKzpGCMMaaLqGq4YzgpIlIBHAjBrjOAyhDs91RYTMEZiDHBwIzLYgrOQIwJTi2u8aoa8Bn8QZcUQkVENqpqYbjj8GcxBWcgxgQDMy6LKTgDMSbon7js9pExxpgulhSMMcZ0saRw3GPhDqAHFlNwBmJMMDDjspiCMxBjgn6Iy+oUjDHGdLErBWOMMV0sKRhjjOky5JOCiCwUkR0isltEvtNLmetFpFhEikTkGb/lt4nILvd12wCJySsiW9zXkr6KKZi4ROSXfp+9U0Rq/daF5bcKEFNIfqsgYsoVkVUisllE3heRT/qtu9/dboeILAh3TCKSJyItfr/T7/oqpiDjGi8iK92YVovIWL914fqbOlFMofqbekJEykVkWy/rRUT+2435fRE5229d3/5OqjpkX0AksAeYCMQAW4H8bmWmAJuBNHc+y31PB/a672nudFo4Y3KnG8P1W3UrfzfwRLh/q95iCtVvFeS/32PAV93pfGC/3/RWIBaY4O4nMswx5QHbwvU3BTwP3OZOXwr8Mdx/U73FFKq/KXe/FwFn9/ZvAXwSeAUQ4FzgnVD9TkP9SmE2sFtV96pqO/AssKhbmTuAR1W1BkBVy93lC4BXVbXaXfcqsDDMMYVSMHH5uwlY7E6H87fqLaZQCSYmBTrHdk0FjrrTi4BnVbVNVfcBu939hTOmUAomrnxgpTu9ym99OP+meospZFT1DaD6BEUWAU+r421ghIiMIgS/01BPCmOAQ37zh91l/qYCU0VknYi8LSILT2Lb/o4JIE5ENrrLP90H8ZxMXIBzeY1zpvv6yW7bjzFBaH6rYGL6IfB5ETkMLMW5ggl22/6OCWCCe1tpjYhc2AfxnExcW4Fr3OnPAMkiMjLIbfs7Jgjd/79Aeou7z3+noZ4UehpJp/szuFE4t2suwTnTfFxERgS5bX/HBJCrTjP3m4FficikPogp2Lg63Qi8oKrej7Ftf8UEofmtgonpJuBJVR2Lc9n/RxGJCHLb/o7pGM7vdBZwD/CMiKTQN4KJ61vAxSKyGbgYOAJ0BLltf8cEofv/F0hvcff57zTUk8JhYJzf/Fg+etl8GHhZVT3uJf0OnANyMNv2d0yo6lH3fS+wGjirD2IKNq5ON/Lh2zTh/K16iylUv1UwMX0J+Iv72W8BcTgdmYXzd+oxJvdWVpW7fBPO/fapfRBTUHGp6lFV/ayblB5wl9UF+Z36O6ZQ/v8LpLe4+/53CkWlyUB54Zxx78W5rdBZqVTQrcxC4Cl3OgPnUmwkTsXNPpzKmzR3Oj3MMaUBsX7Ld3GCite+jsstNw3Yj9vwUY9XdoXltzpBTCH5rYL893sF+Cd3egbOf1IBCvhwRfNe+qai+VRiyuyMAafy9Uhf/NudRFwZQIQ7/WPgoXD/TZ0gppD9/3P3mUfvFc1X8uGK5ndD9Tv1yZcZyC+cS+WdOGdAD7jLHgKudqcF+C+gGPgAuNFv2y/iVAbuBr4Q7piAue78Vvf9S/35W7nzPwQe7mHbsPxWvcUUyt8qiH+/fGCd+9lbgCv8tn3A3W4H8Ilwx4Rz77zIXf4e8Kn+/JsCrsU5uO4EHsc96Ibzb6q3mEL8N7UY51aeB+fs/0vAV4CvuOsFeNSN+QOgMFS/k3VzYYwxpstQr1MwxhhzEiwpGGOM6WJJwRhjTBdLCsYYY7pYUjDGGNPFkoIxLrdHzAXdlv2LiPyPiIwWkRc+xj5fEJGJIvKkiHy527pPi8hSEYkRkTdEJOpUv4Mxp8qSgjHHLcZpGe3vRmCxOq1crz2ZnYlIAU7DsL0B9t2O0wHbDR8vbGP6jiUFY457AbhKRGLBGWsAGA2sdccd2OYu/ycReVFElrl92P+0l/19DnjZnX4NmO72bImIJADzgZfc9S+55Y0JK0sKxrjU6QPoXY53PXwj8Jz23MLzTJwz+9OAG0RkXA9lzgc2ufv2Ai8C17vrrgZWqWqDO78NmNUX38OYU2FJwZgP87/N85FO9vysVNU6VW3F6Y5kfA9lRgEVwezbTRrtIpJ8CrEbc8osKRjzYS8Bl7nDHcar6nu9lGvzm/bidLTWXQtOb6Sd1gGjROQMnH50lnYrHwu0fqyojekjlhSM8aOqjThdIj/BqY/ith2Y7Ldvxem++ilgqXuVAYA7iEuFqnpO8TONOSWWFIz5qMXAGThDNZ6Kf+AMlBTMvufx0SsHY/qd9ZJqTIiISDzOGL/n64dHhOup7IvA/aq6o1+CM6YXdqVgTIioagvwAwKMmSsiMcBLlhDMQGBXCsYYY7rYlYIxxpgulhSMMcZ0saRgjDGmiyUFY4wxXSwpGGOM6fL/AbDW645IfhxTAAAAAElFTkSuQmCC\n",
+      "text/plain": [
+       "<Figure size 432x288 with 2 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 2 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "%matplotlib inline\n",
+    "\n",
+    "import os\n",
+    "\n",
+    "from bag.design import Module\n",
+    "\n",
+    "\n",
+    "# noinspection PyPep8Naming\n",
+    "class demo_templates__amp_sf(Module):\n",
+    "    \"\"\"Schematic generator for a source follower.\n",
+    "    \"\"\"\n",
+    "\n",
+    "    # hard coded netlist flie path to get jupyter notebook working.\n",
+    "    yaml_file = os.path.join(os.environ['BAG_WORK_DIR'], 'BAG_XBase_demo', \n",
+    "                             'BagModules', 'demo_templates', 'netlist_info', 'amp_sf_soln.yaml') \n",
+    "\n",
+    "    def __init__(self, bag_config, parent=None, prj=None, **kwargs):\n",
+    "        Module.__init__(self, bag_config, self.yaml_file, parent=parent, prj=prj, **kwargs)\n",
+    "\n",
+    "    @classmethod\n",
+    "    def get_params_info(cls):\n",
+    "        return dict(\n",
+    "            lch='channel length in meters.',\n",
+    "            w_dict='Dictionary of transistor widths.',\n",
+    "            intent_dict='Dictionary of transistor threshold flavors.',\n",
+    "            fg_dict='Dictionary of transistor number of fingers.',\n",
+    "            dum_info='Dummy information data structure',\n",
+    "        )\n",
+    "\n",
+    "    def design(self, lch, w_dict, intent_dict, fg_dict, dum_info):\n",
+    "        w_amp = w_dict['amp']\n",
+    "        w_bias = w_dict['bias']\n",
+    "        intent_amp = intent_dict['amp']\n",
+    "        intent_bias = intent_dict['bias']\n",
+    "        fg_amp = fg_dict['amp']\n",
+    "        fg_bias = fg_dict['bias']\n",
+    "\n",
+    "        self.instances['XAMP'].design(w=w_amp, l=lch, intent=intent_amp, nf=fg_amp)\n",
+    "        self.instances['XBIAS'].design(w=w_bias, l=lch, intent=intent_bias, nf=fg_bias)\n",
+    "\n",
+    "        # handle dummy transistors\n",
+    "        self.design_dummy_transistors(dum_info, 'XDUM', 'VDD', 'VSS')\n",
+    "\n",
+    "        \n",
+    "import os\n",
+    "\n",
+    "# import bag package\n",
+    "import bag\n",
+    "from bag.io import read_yaml\n",
+    "\n",
+    "# import BAG demo Python modules\n",
+    "import xbase_demo.core as demo_core\n",
+    "from xbase_demo.demo_layout.core import AmpSFSoln\n",
+    "\n",
+    "# load circuit specifications from file\n",
+    "spec_fname = os.path.join(os.environ['BAG_WORK_DIR'], 'specs_demo/demo.yaml')\n",
+    "top_specs = read_yaml(spec_fname)\n",
+    "\n",
+    "# obtain BagProject instance\n",
+    "local_dict = locals()\n",
+    "if 'bprj' in local_dict:\n",
+    "    print('using existing BagProject')\n",
+    "    bprj = local_dict['bprj']\n",
+    "else:\n",
+    "    print('creating BagProject')\n",
+    "    bprj = bag.BagProject()\n",
+    "\n",
+    "demo_core.run_flow(bprj, top_specs, 'amp_sf', AmpSFSoln, sch_cls=demo_templates__amp_sf, run_lvs=True)"
+   ]
+  }
+ ],
+ "metadata": {
+  "anaconda-cloud": {},
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.6.5"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/workspace_setup/tutorial_files/solutions/5_hierarchical_generators.ipynb b/workspace_setup/tutorial_files/solutions/5_hierarchical_generators.ipynb
new file mode 100644
index 0000000..1635373
--- /dev/null
+++ b/workspace_setup/tutorial_files/solutions/5_hierarchical_generators.ipynb
@@ -0,0 +1,349 @@
+{
+ "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## Layout Solution\n",
+    "The following cell contains the layout solution  for the two-stage amplifier.  LVS should pass when you evaluate it."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "creating BagProject\n",
+      "computing layout\n",
+      "ext_w0 = 1, ext_wend=1, ytop=2592\n",
+      "final: ext_w0 = 1, ext_wend=1, ytop=2592\n",
+      "{'s': WireArray(TrackID(layer=3, track=7, num=9, pitch=2), 1109, 1265, 0.001), 'd': WireArray(TrackID(layer=3, track=8, num=8, pitch=2), 1231, 1387, 0.001), 'g': WireArray(TrackID(layer=3, track=8, num=8, pitch=2), 915, 1071, 0.001)}\n",
+      "WireArray(TrackID(layer=3, track=8, num=8, pitch=2), 915, 1071, 0.001)\n",
+      "6.5\n",
+      "ext_w0 = 1, ext_wend=7, ytop=2880\n",
+      "ext_w0 = 2, ext_wend=9, ytop=3024\n",
+      "final: ext_w0 = 1, ext_wend=7, ytop=2880\n",
+      "creating layout\n",
+      "layout done\n",
+      "computing AMP_CHAIN schematics\n",
+      "creating AMP_CHAIN schematics\n",
+      "running lvs\n",
+      "Running tasks, Press Ctrl-C to cancel.\n",
+      "lvs passed\n",
+      "lvs log is /users/erichang/projects/bag_gen/BAG2_cds_ff_mpt/pvs_run/lvs_run_dir/DEMO_AMP_CHAIN/AMP_CHAIN/lvsLog_20180906_112850xbhqztn3\n",
+      "LVS flow done\n"
+     ]
+    }
+   ],
+   "source": [
+    "from bag.layout.routing import TrackID\n",
+    "from bag.layout.template import TemplateBase\n",
+    "\n",
+    "from xbase_demo.demo_layout.core import AmpCS, AmpSFSoln\n",
+    "\n",
+    "\n",
+    "class AmpChain(TemplateBase):\n",
+    "    def __init__(self, temp_db, lib_name, params, used_names, **kwargs):\n",
+    "        TemplateBase.__init__(self, temp_db, lib_name, params, used_names, **kwargs)\n",
+    "        self._sch_params = None\n",
+    "\n",
+    "    @property\n",
+    "    def sch_params(self):\n",
+    "        return self._sch_params\n",
+    "\n",
+    "    @classmethod\n",
+    "    def get_params_info(cls):\n",
+    "        return dict(\n",
+    "            cs_params='common source amplifier parameters.',\n",
+    "            sf_params='source follower parameters.',\n",
+    "            show_pins='True to draw pin geometries.',\n",
+    "        )\n",
+    "\n",
+    "    def draw_layout(self):\n",
+    "        \"\"\"Draw the layout of a transistor for characterization.\n",
+    "        \"\"\"\n",
+    "\n",
+    "        cs_params = self.params['cs_params'].copy()\n",
+    "        sf_params = self.params['sf_params'].copy()\n",
+    "        show_pins = self.params['show_pins']\n",
+    "\n",
+    "        cs_params['show_pins'] = False\n",
+    "        sf_params['show_pins'] = False\n",
+    "\n",
+    "        # create layout masters for subcells we will add later\n",
+    "        cs_master = self.new_template(params=cs_params, temp_cls=AmpCS)\n",
+    "        sf_master = self.new_template(params=sf_params, temp_cls=AmpSFSoln)\n",
+    "\n",
+    "        # add subcell instances\n",
+    "        cs_inst = self.add_instance(cs_master, 'XCS')\n",
+    "        # add source follower to the right of common source\n",
+    "        x0 = cs_inst.bound_box.right_unit\n",
+    "        sf_inst = self.add_instance(sf_master, 'XSF', loc=(x0, 0), unit_mode=True)\n",
+    "\n",
+    "        # get VSS wires from AmpCS/AmpSF\n",
+    "        cs_vss_warr = cs_inst.get_all_port_pins('VSS')[0]\n",
+    "        sf_vss_warrs = sf_inst.get_all_port_pins('VSS')\n",
+    "        # only connect bottom VSS wire of source follower\n",
+    "        if len(sf_vss_warrs) < 2 or sf_vss_warrs[0].track_id.base_index < sf_vss_warrs[1].track_id.base_index:\n",
+    "            sf_vss_warr = sf_vss_warrs[0]\n",
+    "        else:\n",
+    "            sf_vss_warr = sf_vss_warrs[1]\n",
+    "\n",
+    "        # connect VSS of the two blocks together\n",
+    "        vss = self.connect_wires([cs_vss_warr, sf_vss_warr])[0]\n",
+    "\n",
+    "        # get layer IDs from VSS wire\n",
+    "        hm_layer = vss.layer_id\n",
+    "        vm_layer = hm_layer + 1\n",
+    "        top_layer = vm_layer + 1\n",
+    "\n",
+    "        # calculate template size\n",
+    "        tot_box = cs_inst.bound_box.merge(sf_inst.bound_box)\n",
+    "        self.set_size_from_bound_box(top_layer, tot_box, round_up=True)\n",
+    "\n",
+    "        # get subcell ports as WireArrays so we can connect them\n",
+    "        vmid0 = cs_inst.get_all_port_pins('vout')[0]\n",
+    "        vmid1 = sf_inst.get_all_port_pins('vin')[0]\n",
+    "        vdd0 = cs_inst.get_all_port_pins('VDD')[0]\n",
+    "        vdd1 = sf_inst.get_all_port_pins('VDD')[0]\n",
+    "\n",
+    "        # get vertical VDD TrackIDs\n",
+    "        vdd0_tid = TrackID(vm_layer, self.grid.coord_to_nearest_track(vm_layer, vdd0.middle))\n",
+    "        vdd1_tid = TrackID(vm_layer, self.grid.coord_to_nearest_track(vm_layer, vdd1.middle))\n",
+    "\n",
+    "        # connect VDD of each block to vertical M5\n",
+    "        vdd0 = self.connect_to_tracks(vdd0, vdd0_tid)\n",
+    "        vdd1 = self.connect_to_tracks(vdd1, vdd1_tid)\n",
+    "        # connect M5 VDD to top M6 horizontal track\n",
+    "        vdd_tidx = self.grid.get_num_tracks(self.size, top_layer) - 1\n",
+    "        vdd_tid = TrackID(top_layer, vdd_tidx)\n",
+    "        vdd = self.connect_to_tracks([vdd0, vdd1], vdd_tid)\n",
+    "\n",
+    "        # connect vmid using vertical track in the middle of the two templates\n",
+    "        mid_tid = TrackID(vm_layer, self.grid.coord_to_nearest_track(vm_layer, x0, unit_mode=True))\n",
+    "        vmid = self.connect_to_tracks([vmid0, vmid1], mid_tid)\n",
+    "\n",
+    "        # add pins on wires\n",
+    "        self.add_pin('vmid', vmid, show=show_pins)\n",
+    "        self.add_pin('VDD', vdd, show=show_pins)\n",
+    "        self.add_pin('VSS', vss, show=show_pins)\n",
+    "        # re-export pins on subcells.\n",
+    "        self.reexport(cs_inst.get_port('vin'), show=show_pins)\n",
+    "        self.reexport(cs_inst.get_port('vbias'), net_name='vb1', show=show_pins)\n",
+    "        self.reexport(sf_inst.get_port('vout'), show=show_pins)\n",
+    "        self.reexport(sf_inst.get_port('vbias'), net_name='vb2', show=show_pins)\n",
+    "\n",
+    "        # compute schematic parameters.\n",
+    "        self._sch_params = dict(\n",
+    "            cs_params=cs_master.sch_params,\n",
+    "            sf_params=sf_master.sch_params,\n",
+    "        )\n",
+    "\n",
+    "\n",
+    "import os\n",
+    "\n",
+    "# import bag package\n",
+    "import bag\n",
+    "from bag.io import read_yaml\n",
+    "\n",
+    "# import BAG demo Python modules\n",
+    "import xbase_demo.core as demo_core\n",
+    "\n",
+    "# load circuit specifications from file\n",
+    "spec_fname = os.path.join(os.environ['BAG_WORK_DIR'], 'specs_demo/demo.yaml')\n",
+    "top_specs = read_yaml(spec_fname)\n",
+    "\n",
+    "# obtain BagProject instance\n",
+    "local_dict = locals()\n",
+    "if 'bprj' in local_dict:\n",
+    "    print('using existing BagProject')\n",
+    "    bprj = local_dict['bprj']\n",
+    "else:\n",
+    "    print('creating BagProject')\n",
+    "    bprj = bag.BagProject()\n",
+    "\n",
+    "demo_core.run_flow(bprj, top_specs, 'amp_chain_soln', AmpChain, run_lvs=True, lvs_only=True)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "## AmpChain Schematic Generator Solution\n",
+    "The AmpChain schematic generation solution is shown below, evaluate it to run through the flow.  Note that it uses the `amp_chain_soln` schematic template instead of the `amp_chain` schematic template you are supposed to fill out.  Change `amp_chain_soln` to `amp_chain` in the `yaml_file` class variable if you wish to debug your schematic template."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "using existing BagProject\n",
+      "computing layout\n",
+      "ext_w0 = 1, ext_wend=1, ytop=2592\n",
+      "final: ext_w0 = 1, ext_wend=1, ytop=2592\n",
+      "{'s': WireArray(TrackID(layer=3, track=7, num=9, pitch=2), 1109, 1265, 0.001), 'd': WireArray(TrackID(layer=3, track=8, num=8, pitch=2), 1231, 1387, 0.001), 'g': WireArray(TrackID(layer=3, track=8, num=8, pitch=2), 915, 1071, 0.001)}\n",
+      "WireArray(TrackID(layer=3, track=8, num=8, pitch=2), 915, 1071, 0.001)\n",
+      "6.5\n",
+      "ext_w0 = 1, ext_wend=7, ytop=2880\n",
+      "ext_w0 = 2, ext_wend=9, ytop=3024\n",
+      "final: ext_w0 = 1, ext_wend=7, ytop=2880\n",
+      "creating layout\n",
+      "layout done\n",
+      "creating AMP_CHAIN schematics\n",
+      "running lvs\n",
+      "Running tasks, Press Ctrl-C to cancel.\n",
+      "lvs passed\n",
+      "lvs log is /users/erichang/projects/bag_gen/BAG2_cds_ff_mpt/pvs_run/lvs_run_dir/DEMO_AMP_CHAIN/AMP_CHAIN/lvsLog_20180906_112931rlh5cdgf\n",
+      "computing AMP_CHAIN_tb_dc schematics\n",
+      "creating AMP_CHAIN_tb_dc schematics\n",
+      "computing AMP_CHAIN_tb_ac_tran schematics\n",
+      "creating AMP_CHAIN_tb_ac_tran schematics\n",
+      "schematic done\n",
+      "setting up AMP_CHAIN_tb_dc\n",
+      "running simulation\n",
+      "Running tasks, Press Ctrl-C to cancel.\n",
+      "simulation done, load results\n",
+      "setting up AMP_CHAIN_tb_ac_tran\n",
+      "running simulation\n",
+      "Running tasks, Press Ctrl-C to cancel.\n",
+      "simulation done, load results\n",
+      "all simulation done\n",
+      "loading simulation data for AMP_CHAIN_tb_dc\n",
+      "loading simulation data for AMP_CHAIN_tb_ac_tran\n",
+      "finish loading data\n",
+      ", gain=-0.4063\n",
+      ", f_3db=9.153e+09, f_unity=1.345e+10, phase_margin=85.89\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 2 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 2 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "%matplotlib inline\n",
+    "\n",
+    "import os\n",
+    "\n",
+    "from bag.design import Module\n",
+    "\n",
+    "\n",
+    "# noinspection PyPep8Naming\n",
+    "class demo_templates__amp_chain(Module):\n",
+    "    \"\"\"Module for library demo_templates cell amp_chain.\n",
+    "\n",
+    "    Fill in high level description here.\n",
+    "    \"\"\"\n",
+    "\n",
+    "    # hard coded netlist flie path to get jupyter notebook working.\n",
+    "    yaml_file = os.path.join(os.environ['BAG_WORK_DIR'], 'BAG_XBase_demo', \n",
+    "                             'BagModules', 'demo_templates', 'netlist_info', 'amp_chain_soln.yaml') \n",
+    "\n",
+    "    def __init__(self, bag_config, parent=None, prj=None, **kwargs):\n",
+    "        Module.__init__(self, bag_config, self.yaml_file, parent=parent, prj=prj, **kwargs)\n",
+    "\n",
+    "    @classmethod\n",
+    "    def get_params_info(cls):\n",
+    "        # type: () -> Dict[str, str]\n",
+    "        \"\"\"Returns a dictionary from parameter names to descriptions.\n",
+    "\n",
+    "        Returns\n",
+    "        -------\n",
+    "        param_info : Optional[Dict[str, str]]\n",
+    "            dictionary from parameter names to descriptions.\n",
+    "        \"\"\"\n",
+    "        return dict(\n",
+    "            cs_params='common-source amplifier parameters dictionary.',\n",
+    "            sf_params='source-follwer amplifier parameters dictionary.',\n",
+    "        )\n",
+    "\n",
+    "    def design(self, cs_params=None, sf_params=None):\n",
+    "        self.instances['XCS'].design(**cs_params)\n",
+    "        self.instances['XSF'].design(**sf_params)\n",
+    "\n",
+    "\n",
+    "import os\n",
+    "\n",
+    "# import bag package\n",
+    "import bag\n",
+    "from bag.io import read_yaml\n",
+    "\n",
+    "# import BAG demo Python modules\n",
+    "import xbase_demo.core as demo_core\n",
+    "from xbase_demo.demo_layout.core import AmpChainSoln\n",
+    "\n",
+    "# load circuit specifications from file\n",
+    "spec_fname = os.path.join(os.environ['BAG_WORK_DIR'], 'specs_demo/demo.yaml')\n",
+    "top_specs = read_yaml(spec_fname)\n",
+    "\n",
+    "# obtain BagProject instance\n",
+    "local_dict = locals()\n",
+    "if 'bprj' in local_dict:\n",
+    "    print('using existing BagProject')\n",
+    "    bprj = local_dict['bprj']\n",
+    "else:\n",
+    "    print('creating BagProject')\n",
+    "    bprj = bag.BagProject()\n",
+    "\n",
+    "demo_core.run_flow(bprj, top_specs, 'amp_chain', AmpChainSoln, sch_cls=demo_templates__amp_chain, run_lvs=True)"
+   ]
+  }
+ ],
+ "metadata": {
+  "anaconda-cloud": {},
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.6.5"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
