diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..cc709d8
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,96 @@
+# sky130_fd_sc_hd
+[submodule "libraries/sky130_fd_sc_hd/latest"]
+	path = libraries/sky130_fd_sc_hd/latest
+	url = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_hd.git
+	branch = master
+	shallow = true
+[submodule "libraries/sky130_fd_sc_hd/v0.0.2"]
+	path = libraries/sky130_fd_sc_hd/v0.0.2
+	url = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_hd.git
+	branch = branch-0.0.2
+	shallow = true
+[submodule "libraries/sky130_fd_sc_hd/v0.0.1"]
+	path = libraries/sky130_fd_sc_hd/v0.0.1
+	url = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_hd.git
+	branch = branch-0.0.1
+	shallow = true
+
+# sky130_fd_sc_hdll
+[submodule "libraries/sky130_fd_sc_hdll/latest"]
+	path = libraries/sky130_fd_sc_hdll/latest
+	url = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_hdll.git
+	branch = master
+	shallow = true
+	fetchRecurseSubmodules = true
+[submodule "libraries/sky130_fd_sc_hdll/v0.1.1"]
+	path = libraries/sky130_fd_sc_hdll/v0.1.1
+	url = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_hdll.git
+	branch = branch-0.1.1
+	shallow = true
+	fetchRecurseSubmodules = false
+[submodule "libraries/sky130_fd_sc_hdll/v0.1.0"]
+	path = libraries/sky130_fd_sc_hdll/v0.1.0
+	url = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_hdll.git
+	branch = branch-0.1.0
+	shallow = true
+	fetchRecurseSubmodules = false
+
+# sky130_fd_sc_hs
+[submodule "libraries/sky130_fd_sc_hs/latest"]
+	path = libraries/sky130_fd_sc_hs/latest
+	url = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_hs.git
+	branch = master
+	shallow = true
+	fetchRecurseSubmodules = true
+[submodule "libraries/sky130_fd_sc_hs/v0.0.2"]
+	path = libraries/sky130_fd_sc_hs/v0.0.2
+	url = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_hs.git
+	branch = branch-0.0.2
+	shallow = true
+	fetchRecurseSubmodules = false
+[submodule "libraries/sky130_fd_sc_hs/v0.0.1"]
+	path = libraries/sky130_fd_sc_hs/v0.0.1
+	url = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_hs.git
+	branch = branch-0.0.1
+	shallow = true
+	fetchRecurseSubmodules = false
+
+# sky130_fd_sc_ms
+[submodule "libraries/sky130_fd_sc_ms/latest"]
+	path = libraries/sky130_fd_sc_ms/latest
+	url = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_ms.git
+	branch = master
+	shallow = true
+	fetchRecurseSubmodules = true
+[submodule "libraries/sky130_fd_sc_ms/v0.0.2"]
+	path = libraries/sky130_fd_sc_ms/v0.0.2
+	url = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_ms.git
+	branch = branch-0.0.2
+	shallow = true
+	fetchRecurseSubmodules = false
+[submodule "libraries/sky130_fd_sc_ms/v0.0.1"]
+	path = libraries/sky130_fd_sc_ms/v0.0.1
+	url = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_ms.git
+	branch = branch-0.0.1
+	shallow = true
+	fetchRecurseSubmodules = false
+
+# sky130_fd_sc_ls
+[submodule "libraries/sky130_fd_sc_ls/latest"]
+	path = libraries/sky130_fd_sc_ls/latest
+	url = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_ls.git
+	branch = master
+	shallow = true
+	fetchRecurseSubmodules = true
+[submodule "libraries/sky130_fd_sc_ls/v0.1.1"]
+	path = libraries/sky130_fd_sc_ls/v0.1.1
+	url = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_ls.git
+	branch = branch-0.1.1
+	shallow = true
+	fetchRecurseSubmodules = false
+[submodule "libraries/sky130_fd_sc_ls/v0.1.0"]
+	path = libraries/sky130_fd_sc_ls/v0.1.0
+	url = https://foss-eda-tools.googlesource.com/skywater-pdk/libs/sky130_fd_sc_ls.git
+	branch = branch-0.1.0
+	shallow = true
+	fetchRecurseSubmodules = false
diff --git a/libraries/sky130_fd_sc_hd/latest b/libraries/sky130_fd_sc_hd/latest
new file mode 160000
index 0000000..c0d4f99
--- /dev/null
+++ b/libraries/sky130_fd_sc_hd/latest
@@ -0,0 +1 @@
+Subproject commit c0d4f994f4fe40379304441a6866156e450ca215
diff --git a/libraries/sky130_fd_sc_hd/v0.0.1 b/libraries/sky130_fd_sc_hd/v0.0.1
new file mode 160000
index 0000000..7fb23b9
--- /dev/null
+++ b/libraries/sky130_fd_sc_hd/v0.0.1
@@ -0,0 +1 @@
+Subproject commit 7fb23b9a5bdc6ff23e4cfe142a6a76e9e5abc5ce
diff --git a/libraries/sky130_fd_sc_hd/v0.0.2 b/libraries/sky130_fd_sc_hd/v0.0.2
new file mode 160000
index 0000000..c0d4f99
--- /dev/null
+++ b/libraries/sky130_fd_sc_hd/v0.0.2
@@ -0,0 +1 @@
+Subproject commit c0d4f994f4fe40379304441a6866156e450ca215
diff --git a/libraries/sky130_fd_sc_hdll/latest b/libraries/sky130_fd_sc_hdll/latest
new file mode 160000
index 0000000..dfb3a88
--- /dev/null
+++ b/libraries/sky130_fd_sc_hdll/latest
@@ -0,0 +1 @@
+Subproject commit dfb3a8819d5bcd5d2a16b0b463b51bacf1965e74
diff --git a/libraries/sky130_fd_sc_hdll/v0.1.0 b/libraries/sky130_fd_sc_hdll/v0.1.0
new file mode 160000
index 0000000..2d15473
--- /dev/null
+++ b/libraries/sky130_fd_sc_hdll/v0.1.0
@@ -0,0 +1 @@
+Subproject commit 2d15473e96a84d6af9eabd9df13501f2e81ab368
diff --git a/libraries/sky130_fd_sc_hdll/v0.1.1 b/libraries/sky130_fd_sc_hdll/v0.1.1
new file mode 160000
index 0000000..dfb3a88
--- /dev/null
+++ b/libraries/sky130_fd_sc_hdll/v0.1.1
@@ -0,0 +1 @@
+Subproject commit dfb3a8819d5bcd5d2a16b0b463b51bacf1965e74
diff --git a/libraries/sky130_fd_sc_hs/latest b/libraries/sky130_fd_sc_hs/latest
new file mode 160000
index 0000000..fb0e900
--- /dev/null
+++ b/libraries/sky130_fd_sc_hs/latest
@@ -0,0 +1 @@
+Subproject commit fb0e900d9642e6bfa7c082140e8b5a73e9dc1fea
diff --git a/libraries/sky130_fd_sc_hs/v0.0.1 b/libraries/sky130_fd_sc_hs/v0.0.1
new file mode 160000
index 0000000..10be0bc
--- /dev/null
+++ b/libraries/sky130_fd_sc_hs/v0.0.1
@@ -0,0 +1 @@
+Subproject commit 10be0bc504bc99c61fbeae7881a6904130d8602a
diff --git a/libraries/sky130_fd_sc_hs/v0.0.2 b/libraries/sky130_fd_sc_hs/v0.0.2
new file mode 160000
index 0000000..fb0e900
--- /dev/null
+++ b/libraries/sky130_fd_sc_hs/v0.0.2
@@ -0,0 +1 @@
+Subproject commit fb0e900d9642e6bfa7c082140e8b5a73e9dc1fea
diff --git a/libraries/sky130_fd_sc_ls/latest b/libraries/sky130_fd_sc_ls/latest
new file mode 160000
index 0000000..0f9747f
--- /dev/null
+++ b/libraries/sky130_fd_sc_ls/latest
@@ -0,0 +1 @@
+Subproject commit 0f9747f0222777f087ab9cdf977f8c6987b5965f
diff --git a/libraries/sky130_fd_sc_ls/v0.1.0 b/libraries/sky130_fd_sc_ls/v0.1.0
new file mode 160000
index 0000000..166ea9e
--- /dev/null
+++ b/libraries/sky130_fd_sc_ls/v0.1.0
@@ -0,0 +1 @@
+Subproject commit 166ea9edb74c684e91422637f29feecf35dcd72f
diff --git a/libraries/sky130_fd_sc_ls/v0.1.1 b/libraries/sky130_fd_sc_ls/v0.1.1
new file mode 160000
index 0000000..0f9747f
--- /dev/null
+++ b/libraries/sky130_fd_sc_ls/v0.1.1
@@ -0,0 +1 @@
+Subproject commit 0f9747f0222777f087ab9cdf977f8c6987b5965f
diff --git a/libraries/sky130_fd_sc_ms/latest b/libraries/sky130_fd_sc_ms/latest
deleted file mode 120000
index 5eb312c..0000000
--- a/libraries/sky130_fd_sc_ms/latest
+++ /dev/null
@@ -1 +0,0 @@
-v0.0.0
\ No newline at end of file
diff --git a/libraries/sky130_fd_sc_ms/latest b/libraries/sky130_fd_sc_ms/latest
new file mode 160000
index 0000000..abc8abf
--- /dev/null
+++ b/libraries/sky130_fd_sc_ms/latest
@@ -0,0 +1 @@
+Subproject commit abc8abff708f44f39ebbb50749ca6328b3ab7639
diff --git a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/README.rst b/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/README.rst
deleted file mode 100644
index bd52d32..0000000
--- a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/README.rst
+++ /dev/null
@@ -1,33 +0,0 @@
-
-:cell_name:`sky130_fd_sc_ms__xor3`
-==================================
-
-.. list-table::
-   :header-rows: 1
-   :widths: 50 50
-
-   * - Without Power Pins
-     - With Power Pins
-
-   * -
-       .. no-license:: sky130_fd_sc_ms__xor3.blackbox.v
-          :language: verilog
-          :linenos:
-
-     -
-       .. no-license:: sky130_fd_sc_ms__xor3.pp.blackbox.v
-          :language: verilog
-          :linenos:
-
-   * -
-       .. image:: sky130_fd_sc_ms__xor3.symbol.svg
-     -
-       .. image:: sky130_fd_sc_ms__xor3.pp.symbol.svg
-
-   * - .. image:: sky130_fd_sc_ms__xor3.schematic.svg
-     - .. image:: sky130_fd_sc_ms__xor3.pp.schematic.svg
-
-   * - .. image:: sky130_fd_sc_ms__xor3.schematic.svg
-     - .. image:: sky130_fd_sc_ms__xor3.pp.schematic.svg
-
-
diff --git a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.behavioral.pp.v b/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.behavioral.pp.v
deleted file mode 100644
index 6b47ebb..0000000
--- a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.behavioral.pp.v
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright 2020 The 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.
- *
- * SPDX-License-Identifier: Apache-2.0
-*/
-
-
-`ifndef SKY130_FD_SC_MS__XOR3_BEHAVIORAL_PP_V
-`define SKY130_FD_SC_MS__XOR3_BEHAVIORAL_PP_V
-
-/**
- * xor3: 3-input exclusive OR.
- *
- *       X = A ^ B ^ C
- *
- * Verilog simulation functional model.
- */
-
-`timescale 1ns / 1ps
-`default_nettype none
-
-// Import user defined primitives.
-`include "../../models/udp_pwrgood_pp_pg/sky130_fd_sc_ms__udp_pwrgood_pp_pg.v"
-
-`celldefine
-module sky130_fd_sc_ms__xor3 (
-    X   ,
-    A   ,
-    B   ,
-    C   ,
-    VPWR,
-    VGND,
-    VPB ,
-    VNB
-);
-
-    // Module ports
-    output X   ;
-    input  A   ;
-    input  B   ;
-    input  C   ;
-    input  VPWR;
-    input  VGND;
-    input  VPB ;
-    input  VNB ;
-
-    // Local signals
-    wire xor0_out_X       ;
-    wire pwrgood_pp0_out_X;
-
-    //                                 Name         Output             Other arguments
-    xor                                xor0        (xor0_out_X       , A, B, C               );
-    sky130_fd_sc_ms__udp_pwrgood_pp$PG pwrgood_pp0 (pwrgood_pp0_out_X, xor0_out_X, VPWR, VGND);
-    buf                                buf0        (X                , pwrgood_pp0_out_X     );
-
-endmodule
-`endcelldefine
-
-`default_nettype wire
-`endif  // SKY130_FD_SC_MS__XOR3_BEHAVIORAL_PP_V
\ No newline at end of file
diff --git a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.behavioral.v b/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.behavioral.v
deleted file mode 100644
index 92d45e1..0000000
--- a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.behavioral.v
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright 2020 The 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.
- *
- * SPDX-License-Identifier: Apache-2.0
-*/
-
-
-`ifndef SKY130_FD_SC_MS__XOR3_BEHAVIORAL_V
-`define SKY130_FD_SC_MS__XOR3_BEHAVIORAL_V
-
-/**
- * xor3: 3-input exclusive OR.
- *
- *       X = A ^ B ^ C
- *
- * Verilog simulation functional model.
- */
-
-`timescale 1ns / 1ps
-`default_nettype none
-
-`celldefine
-module sky130_fd_sc_ms__xor3 (
-    X,
-    A,
-    B,
-    C
-);
-
-    // Module ports
-    output X;
-    input  A;
-    input  B;
-    input  C;
-
-    // Module supplies
-    supply1 VPWR;
-    supply0 VGND;
-    supply1 VPB ;
-    supply0 VNB ;
-
-    // Local signals
-    wire xor0_out_X;
-
-    //  Name  Output      Other arguments
-    xor xor0 (xor0_out_X, A, B, C        );
-    buf buf0 (X         , xor0_out_X     );
-
-endmodule
-`endcelldefine
-
-`default_nettype wire
-`endif  // SKY130_FD_SC_MS__XOR3_BEHAVIORAL_V
\ No newline at end of file
diff --git a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.blackbox.v b/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.blackbox.v
deleted file mode 100644
index b198396..0000000
--- a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.blackbox.v
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * Copyright 2020 The 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- */
-
-`ifndef SKY130_FD_SC_MS__XOR3_BLACKBOX_V
-`define SKY130_FD_SC_MS__XOR3_BLACKBOX_V
-
-/**
- * xor3: 3-input exclusive OR.
- *
- *       X = A ^ B ^ C
- *
- * Verilog stub definition (black box without power pins).
- *
- * WARNING: This file is autogenerated, do not modify directly!
- */
-
-`timescale 1ns / 1ps
-`default_nettype none
-
-(* blackbox *)
-module sky130_fd_sc_ms__xor3 (
-    X,
-    A,
-    B,
-    C
-);
-
-    output X;
-    input  A;
-    input  B;
-    input  C;
-
-    // Voltage supply signals
-    supply1 VPWR;
-    supply0 VGND;
-    supply1 VPB ;
-    supply0 VNB ;
-
-endmodule
-
-`default_nettype wire
-`endif  // SKY130_FD_SC_MS__XOR3_BLACKBOX_V
diff --git a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.functional.pp.v b/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.functional.pp.v
deleted file mode 100644
index 4a2b9ef..0000000
--- a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.functional.pp.v
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright 2020 The 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.
- *
- * SPDX-License-Identifier: Apache-2.0
-*/
-
-
-`ifndef SKY130_FD_SC_MS__XOR3_FUNCTIONAL_PP_V
-`define SKY130_FD_SC_MS__XOR3_FUNCTIONAL_PP_V
-
-/**
- * xor3: 3-input exclusive OR.
- *
- *       X = A ^ B ^ C
- *
- * Verilog simulation functional model.
- */
-
-`timescale 1ns / 1ps
-`default_nettype none
-
-// Import user defined primitives.
-`include "../../models/udp_pwrgood_pp_pg/sky130_fd_sc_ms__udp_pwrgood_pp_pg.v"
-
-`celldefine
-module sky130_fd_sc_ms__xor3 (
-    X   ,
-    A   ,
-    B   ,
-    C   ,
-    VPWR,
-    VGND,
-    VPB ,
-    VNB
-);
-
-    // Module ports
-    output X   ;
-    input  A   ;
-    input  B   ;
-    input  C   ;
-    input  VPWR;
-    input  VGND;
-    input  VPB ;
-    input  VNB ;
-
-    // Local signals
-    wire xor0_out_X       ;
-    wire pwrgood_pp0_out_X;
-
-    //                                 Name         Output             Other arguments
-    xor                                xor0        (xor0_out_X       , A, B, C               );
-    sky130_fd_sc_ms__udp_pwrgood_pp$PG pwrgood_pp0 (pwrgood_pp0_out_X, xor0_out_X, VPWR, VGND);
-    buf                                buf0        (X                , pwrgood_pp0_out_X     );
-
-endmodule
-`endcelldefine
-
-`default_nettype wire
-`endif  // SKY130_FD_SC_MS__XOR3_FUNCTIONAL_PP_V
\ No newline at end of file
diff --git a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.functional.v b/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.functional.v
deleted file mode 100644
index 0f3372a..0000000
--- a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.functional.v
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright 2020 The 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.
- *
- * SPDX-License-Identifier: Apache-2.0
-*/
-
-
-`ifndef SKY130_FD_SC_MS__XOR3_FUNCTIONAL_V
-`define SKY130_FD_SC_MS__XOR3_FUNCTIONAL_V
-
-/**
- * xor3: 3-input exclusive OR.
- *
- *       X = A ^ B ^ C
- *
- * Verilog simulation functional model.
- */
-
-`timescale 1ns / 1ps
-`default_nettype none
-
-`celldefine
-module sky130_fd_sc_ms__xor3 (
-    X,
-    A,
-    B,
-    C
-);
-
-    // Module ports
-    output X;
-    input  A;
-    input  B;
-    input  C;
-
-    // Local signals
-    wire xor0_out_X;
-
-    //  Name  Output      Other arguments
-    xor xor0 (xor0_out_X, A, B, C        );
-    buf buf0 (X         , xor0_out_X     );
-
-endmodule
-`endcelldefine
-
-`default_nettype wire
-`endif  // SKY130_FD_SC_MS__XOR3_FUNCTIONAL_V
\ No newline at end of file
diff --git a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.pp.blackbox.v b/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.pp.blackbox.v
deleted file mode 100644
index c964bb8..0000000
--- a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.pp.blackbox.v
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Copyright 2020 The 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- */
-
-`ifndef SKY130_FD_SC_MS__XOR3_PP_BLACKBOX_V
-`define SKY130_FD_SC_MS__XOR3_PP_BLACKBOX_V
-
-/**
- * xor3: 3-input exclusive OR.
- *
- *       X = A ^ B ^ C
- *
- * Verilog stub definition (black box with power pins).
- *
- * WARNING: This file is autogenerated, do not modify directly!
- */
-
-`timescale 1ns / 1ps
-`default_nettype none
-
-(* blackbox *)
-module sky130_fd_sc_ms__xor3 (
-    X   ,
-    A   ,
-    B   ,
-    C   ,
-    VPWR,
-    VGND,
-    VPB ,
-    VNB
-);
-
-    output X   ;
-    input  A   ;
-    input  B   ;
-    input  C   ;
-    input  VPWR;
-    input  VGND;
-    input  VPB ;
-    input  VNB ;
-endmodule
-
-`default_nettype wire
-`endif  // SKY130_FD_SC_MS__XOR3_PP_BLACKBOX_V
diff --git a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.pp.symbol.svg b/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.pp.symbol.svg
deleted file mode 100644
index c69dc71..0000000
--- a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.pp.symbol.svg
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created by Symbolator http://kevinpt.github.io/symbolator -->
-<svg xmlns="http://www.w3.org/2000/svg"
-xmlns:xlink="http://www.w3.org/1999/xlink"
-xml:space="preserve"
-width="191" height="295" viewBox="-25 -56 191.0 295.0" version="1.1">
-<style type="text/css">
-<![CDATA[
-.fnt1 { fill:#000000; font-family:Times; font-size:12pt; font-weight:normal; font-style:italic; }
-.fnt2 { fill:#000000; font-family:Helvetica; font-size:12pt; font-weight:normal; font-style:normal; }
-.fnt3 { fill:#000000; font-family:Helvetica; font-size:16pt; font-weight:bold; font-style:normal; }
-.fnt4 { fill:#000000; font-family:Helvetica; font-size:10pt; font-style:normal; }
-.label {fill:#000;
-  text-anchor:middle;
-  font-size:16pt; font-weight:bold; font-family:Sans;}
-.link {fill: #0D47A1;}
-.link:hover {fill: #0D47A1; text-decoration:underline;}
-.link:visited {fill: #4A148C;}
-]]>
-</style>
-<defs>
-
-</defs>
-<rect x="-25" y="-56" width="100%" height="100%" fill="white"/><g transform="translate(0,0)">
-<rect x="0" y="-21.0" width="140" height="105.0" stroke="#000000" fill="#CCFED2" stroke-width="1"/>
-<text class="fnt1" x="70.0" y="-5.0" text-anchor="middle" dy="5.5">Data Signals</text>
-<g transform="translate(0,19)">
-<line x1="-20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
-<text class="fnt2" x="10" y="0" text-anchor="normal" dy="5.5">A</text>
-</g>
-<g transform="translate(0,41)">
-<line x1="-20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
-<text class="fnt2" x="10" y="0" text-anchor="normal" dy="5.5">B</text>
-</g>
-<g transform="translate(0,63)">
-<line x1="-20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
-<text class="fnt2" x="10" y="0" text-anchor="normal" dy="5.5">C</text>
-</g>
-<g transform="translate(140,19)">
-<line x1="20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
-<text class="fnt2" x="-10" y="0" text-anchor="end" dy="5.5">X</text>
-</g>
-</g>
-<g transform="translate(0,105.0)">
-<rect x="0" y="-21.0" width="140" height="127.0" stroke="#000000" fill="#FFBBBB" stroke-width="1"/>
-<text class="fnt1" x="70.0" y="-5.0" text-anchor="middle" dy="5.5">Power</text>
-<g transform="translate(0,19)">
-<line x1="-20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
-<text class="fnt2" x="10" y="0" text-anchor="normal" dy="5.5">VPB</text>
-</g>
-<g transform="translate(0,41)">
-<line x1="-20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
-<text class="fnt2" x="10" y="0" text-anchor="normal" dy="5.5">VPWR</text>
-</g>
-<g transform="translate(0,63)">
-<line x1="-20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
-<text class="fnt2" x="10" y="0" text-anchor="normal" dy="5.5">VGND</text>
-</g>
-<g transform="translate(0,85)">
-<line x1="-20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
-<text class="fnt2" x="10" y="0" text-anchor="normal" dy="5.5">VNB</text>
-</g>
-</g>
-<rect x="1.0" y="-20.0" width="138.0" height="230.0" stroke="#000000" fill="none" stroke-width="3"/>
-<text class="fnt3" x="70.0" y="-30.0" text-anchor="middle" dy="-1.0">xor3</text>
-<text class="fnt4" x="70.0" y="230.0" text-anchor="middle" dy="1.0">sky130_fd_sc_ms</text>
-</svg>
\ No newline at end of file
diff --git a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.pp.symbol.v b/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.pp.symbol.v
deleted file mode 100644
index 1473fef..0000000
--- a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.pp.symbol.v
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Copyright 2020 The 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- */
-
-`ifndef SKY130_FD_SC_MS__XOR3_PP_SYMBOL_V
-`define SKY130_FD_SC_MS__XOR3_PP_SYMBOL_V
-
-/**
- * xor3: 3-input exclusive OR.
- *
- *       X = A ^ B ^ C
- *
- * Verilog stub (with power pins) for graphical symbol definition
- * generation.
- *
- * WARNING: This file is autogenerated, do not modify directly!
- */
-
-`timescale 1ns / 1ps
-`default_nettype none
-
-(* blackbox *)
-module sky130_fd_sc_ms__xor3 (
-    //# {{data|Data Signals}}
-    input  A   ,
-    input  B   ,
-    input  C   ,
-    output X   ,
-
-    //# {{power|Power}}
-    input  VPB ,
-    input  VPWR,
-    input  VGND,
-    input  VNB
-);
-endmodule
-
-`default_nettype wire
-`endif  // SKY130_FD_SC_MS__XOR3_PP_SYMBOL_V
diff --git a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.schematic.svg b/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.schematic.svg
deleted file mode 100644
index 73ff300..0000000
--- a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.schematic.svg
+++ /dev/null
@@ -1,75 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:s="https://github.com/nturley/netlistsvg" width="255" height="129">
-  <style>svg {
-    stroke:#000;
-    fill:none;
-  }
-  text {
-    fill:#000;
-    stroke:none;
-    font-size:10px;
-    font-weight: bold;
-    font-family: "Courier New", monospace;
-  }
-  .nodelabel {
-    text-anchor: middle;
-  }
-  .inputPortLabel {
-    text-anchor: end;
-  }
-  .splitjoinBody {
-    fill:#000;
-  }</style>
-  <g s:type="reduce_xor" transform="translate(77,27)" s:width="33" s:height="25" id="cell_$xor$../skywater-pdk-scratch-new/skywater-pdk/libraries/sky130_fd_sc_ms/v0.0.1/cells/xor3/sky130_fd_sc_ms__xor3.functional.v:52$1">
-    <s:alias val="$xor"/>
-    <s:alias val="$reduce_xor"/>
-    <s:alias val="$_XOR_"/>
-    <path d="M3,0 A30 25 0 0 1 3,25 A30 25 0 0 0 33,12.5 A30 25 0 0 0 3,0" class="cell_$xor$../skywater-pdk-scratch-new/skywater-pdk/libraries/sky130_fd_sc_ms/v0.0.1/cells/xor3/sky130_fd_sc_ms__xor3.functional.v:52$1"/>
-    <path d="M0,0 A30 25 0 0 1 0,25" class="cell_$xor$../skywater-pdk-scratch-new/skywater-pdk/libraries/sky130_fd_sc_ms/v0.0.1/cells/xor3/sky130_fd_sc_ms__xor3.functional.v:52$1"/>
-    <g s:x="3" s:y="5" s:pid="A"/>
-    <g s:x="3" s:y="20" s:pid="B"/>
-    <g s:x="33" s:y="12.5" s:pid="Y"/>
-  </g>
-  <g s:type="reduce_xor" transform="translate(145,34.5)" s:width="33" s:height="25" id="cell_$xor$../skywater-pdk-scratch-new/skywater-pdk/libraries/sky130_fd_sc_ms/v0.0.1/cells/xor3/sky130_fd_sc_ms__xor3.functional.v:52$2">
-    <s:alias val="$xor"/>
-    <s:alias val="$reduce_xor"/>
-    <s:alias val="$_XOR_"/>
-    <path d="M3,0 A30 25 0 0 1 3,25 A30 25 0 0 0 33,12.5 A30 25 0 0 0 3,0" class="cell_$xor$../skywater-pdk-scratch-new/skywater-pdk/libraries/sky130_fd_sc_ms/v0.0.1/cells/xor3/sky130_fd_sc_ms__xor3.functional.v:52$2"/>
-    <path d="M0,0 A30 25 0 0 1 0,25" class="cell_$xor$../skywater-pdk-scratch-new/skywater-pdk/libraries/sky130_fd_sc_ms/v0.0.1/cells/xor3/sky130_fd_sc_ms__xor3.functional.v:52$2"/>
-    <g s:x="3" s:y="5" s:pid="A"/>
-    <g s:x="3" s:y="20" s:pid="B"/>
-    <g s:x="33" s:y="12.5" s:pid="Y"/>
-  </g>
-  <g s:type="outputExt" transform="translate(213,37)" s:width="30" s:height="20" id="cell_X">
-    <text x="15" y="-4" class="nodelabel cell_X" s:attribute="ref">X</text>
-    <s:alias val="$_outputExt_"/>
-    <path d="M30,0 L30,20 L15,20 L0,10 L15,0 Z" class="cell_X"/>
-    <g s:x="0" s:y="10" s:pid="A"/>
-  </g>
-  <g s:type="inputExt" transform="translate(12,22)" s:width="30" s:height="20" id="cell_A">
-    <text x="15" y="-4" class="nodelabel cell_A" s:attribute="ref">A</text>
-    <s:alias val="$_inputExt_"/>
-    <path d="M0,0 L0,20 L15,20 L30,10 L15,0 Z" class="cell_A"/>
-    <g s:x="28" s:y="10" s:pid="Y"/>
-  </g>
-  <g s:type="inputExt" transform="translate(12,87)" s:width="30" s:height="20" id="cell_B">
-    <text x="15" y="-4" class="nodelabel cell_B" s:attribute="ref">B</text>
-    <s:alias val="$_inputExt_"/>
-    <path d="M0,0 L0,20 L15,20 L30,10 L15,0 Z" class="cell_B"/>
-    <g s:x="28" s:y="10" s:pid="Y"/>
-  </g>
-  <g s:type="inputExt" transform="translate(80,97)" s:width="30" s:height="20" id="cell_C">
-    <text x="15" y="-4" class="nodelabel cell_C" s:attribute="ref">C</text>
-    <s:alias val="$_inputExt_"/>
-    <path d="M0,0 L0,20 L15,20 L30,10 L15,0 Z" class="cell_C"/>
-    <g s:x="28" s:y="10" s:pid="Y"/>
-  </g>
-  <line x1="40" x2="80" y1="32" y2="32" class="net_3"/>
-  <line x1="40" x2="52" y1="97" y2="97" class="net_4"/>
-  <line x1="52" x2="52" y1="97" y2="47" class="net_4"/>
-  <line x1="52" x2="80" y1="47" y2="47" class="net_4"/>
-  <line x1="110" x2="148" y1="39.5" y2="39.5" class="net_6"/>
-  <line x1="108" x2="120" y1="107" y2="107" class="net_5"/>
-  <line x1="120" x2="120" y1="107" y2="54.5" class="net_5"/>
-  <line x1="120" x2="148" y1="54.5" y2="54.5" class="net_5"/>
-  <line x1="178" x2="213" y1="47" y2="47" class="net_2"/>
-</svg>
diff --git a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.specify.v b/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.specify.v
deleted file mode 100644
index 4d2849c..0000000
--- a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.specify.v
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright 2020 The 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.
- *
- * SPDX-License-Identifier: Apache-2.0
-*/
-
-specify
-if ((!B&!C)) (A +=> X) = (0:0:0,0:0:0);
-if ((!B&C)) (A -=> X) = (0:0:0,0:0:0);
-if ((B&!C)) (A -=> X) = (0:0:0,0:0:0);
-if ((B&C)) (A +=> X) = (0:0:0,0:0:0);
-if ((!A&!C)) (B +=> X) = (0:0:0,0:0:0);
-if ((!A&C)) (B -=> X) = (0:0:0,0:0:0);
-if ((A&!C)) (B -=> X) = (0:0:0,0:0:0);
-if ((A&C)) (B +=> X) = (0:0:0,0:0:0);
-if ((!A&!B)) (C +=> X) = (0:0:0,0:0:0);
-if ((!A&B)) (C -=> X) = (0:0:0,0:0:0);
-if ((A&!B)) (C -=> X) = (0:0:0,0:0:0);
-if ((A&B)) (C +=> X) = (0:0:0,0:0:0);
-endspecify
\ No newline at end of file
diff --git a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.symbol.svg b/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.symbol.svg
deleted file mode 100644
index ec8a1bd..0000000
--- a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.symbol.svg
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created by Symbolator http://kevinpt.github.io/symbolator -->
-<svg xmlns="http://www.w3.org/2000/svg"
-xmlns:xlink="http://www.w3.org/1999/xlink"
-xml:space="preserve"
-width="191" height="168" viewBox="-25 -56 191.0 168.0" version="1.1">
-<style type="text/css">
-<![CDATA[
-.fnt1 { fill:#000000; font-family:Times; font-size:12pt; font-weight:normal; font-style:italic; }
-.fnt2 { fill:#000000; font-family:Helvetica; font-size:12pt; font-weight:normal; font-style:normal; }
-.fnt3 { fill:#000000; font-family:Helvetica; font-size:16pt; font-weight:bold; font-style:normal; }
-.fnt4 { fill:#000000; font-family:Helvetica; font-size:10pt; font-style:normal; }
-.label {fill:#000;
-  text-anchor:middle;
-  font-size:16pt; font-weight:bold; font-family:Sans;}
-.link {fill: #0D47A1;}
-.link:hover {fill: #0D47A1; text-decoration:underline;}
-.link:visited {fill: #4A148C;}
-]]>
-</style>
-<defs>
-
-</defs>
-<rect x="-25" y="-56" width="100%" height="100%" fill="white"/><g transform="translate(0,0)">
-<rect x="0" y="-21.0" width="140" height="105.0" stroke="#000000" fill="#CCFED2" stroke-width="1"/>
-<text class="fnt1" x="70.0" y="-5.0" text-anchor="middle" dy="5.5">Data Signals</text>
-<g transform="translate(0,19)">
-<line x1="-20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
-<text class="fnt2" x="10" y="0" text-anchor="normal" dy="5.5">A</text>
-</g>
-<g transform="translate(0,41)">
-<line x1="-20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
-<text class="fnt2" x="10" y="0" text-anchor="normal" dy="5.5">B</text>
-</g>
-<g transform="translate(0,63)">
-<line x1="-20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
-<text class="fnt2" x="10" y="0" text-anchor="normal" dy="5.5">C</text>
-</g>
-<g transform="translate(140,19)">
-<line x1="20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
-<text class="fnt2" x="-10" y="0" text-anchor="end" dy="5.5">X</text>
-</g>
-</g>
-<rect x="1.0" y="-20.0" width="138.0" height="103.0" stroke="#000000" fill="none" stroke-width="3"/>
-<text class="fnt3" x="70.0" y="-30.0" text-anchor="middle" dy="-1.0">xor3</text>
-<text class="fnt4" x="70.0" y="103.0" text-anchor="middle" dy="1.0">sky130_fd_sc_ms</text>
-</svg>
\ No newline at end of file
diff --git a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.symbol.v b/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.symbol.v
deleted file mode 100644
index 7abe57e..0000000
--- a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.symbol.v
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Copyright 2020 The 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- */
-
-`ifndef SKY130_FD_SC_MS__XOR3_SYMBOL_V
-`define SKY130_FD_SC_MS__XOR3_SYMBOL_V
-
-/**
- * xor3: 3-input exclusive OR.
- *
- *       X = A ^ B ^ C
- *
- * Verilog stub (without power pins) for graphical symbol definition
- * generation.
- *
- * WARNING: This file is autogenerated, do not modify directly!
- */
-
-`timescale 1ns / 1ps
-`default_nettype none
-
-(* blackbox *)
-module sky130_fd_sc_ms__xor3 (
-    //# {{data|Data Signals}}
-    input  A,
-    input  B,
-    input  C,
-    output X
-);
-
-    // Voltage supply signals
-    supply1 VPWR;
-    supply0 VGND;
-    supply1 VPB ;
-    supply0 VNB ;
-
-endmodule
-
-`default_nettype wire
-`endif  // SKY130_FD_SC_MS__XOR3_SYMBOL_V
diff --git a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.tb.v b/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.tb.v
deleted file mode 100644
index 645ffed..0000000
--- a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.tb.v
+++ /dev/null
@@ -1,104 +0,0 @@
-/**
- * Copyright 2020 The 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- */
-
-`ifndef SKY130_FD_SC_MS__XOR3_TB_V
-`define SKY130_FD_SC_MS__XOR3_TB_V
-
-/**
- * xor3: 3-input exclusive OR.
- *
- *       X = A ^ B ^ C
- *
- * Autogenerated test bench.
- *
- * WARNING: This file is autogenerated, do not modify directly!
- */
-
-`timescale 1ns / 1ps
-`default_nettype none
-
-`include "sky130_fd_sc_ms__xor3.v"
-
-module top();
-
-    // Inputs are registered
-    reg A;
-    reg B;
-    reg C;
-    reg VPWR;
-    reg VGND;
-    reg VPB;
-    reg VNB;
-
-    // Outputs are wires
-    wire X;
-
-    initial
-    begin
-        // Initial state is x for all inputs.
-        A    = 1'bX;
-        B    = 1'bX;
-        C    = 1'bX;
-        VGND = 1'bX;
-        VNB  = 1'bX;
-        VPB  = 1'bX;
-        VPWR = 1'bX;
-
-        #20   A    = 1'b0;
-        #40   B    = 1'b0;
-        #60   C    = 1'b0;
-        #80   VGND = 1'b0;
-        #100  VNB  = 1'b0;
-        #120  VPB  = 1'b0;
-        #140  VPWR = 1'b0;
-        #160  A    = 1'b1;
-        #180  B    = 1'b1;
-        #200  C    = 1'b1;
-        #220  VGND = 1'b1;
-        #240  VNB  = 1'b1;
-        #260  VPB  = 1'b1;
-        #280  VPWR = 1'b1;
-        #300  A    = 1'b0;
-        #320  B    = 1'b0;
-        #340  C    = 1'b0;
-        #360  VGND = 1'b0;
-        #380  VNB  = 1'b0;
-        #400  VPB  = 1'b0;
-        #420  VPWR = 1'b0;
-        #440  VPWR = 1'b1;
-        #460  VPB  = 1'b1;
-        #480  VNB  = 1'b1;
-        #500  VGND = 1'b1;
-        #520  C    = 1'b1;
-        #540  B    = 1'b1;
-        #560  A    = 1'b1;
-        #580  VPWR = 1'bx;
-        #600  VPB  = 1'bx;
-        #620  VNB  = 1'bx;
-        #640  VGND = 1'bx;
-        #660  C    = 1'bx;
-        #680  B    = 1'bx;
-        #700  A    = 1'bx;
-    end
-
-    sky130_fd_sc_ms__xor3 dut (.A(A), .B(B), .C(C), .VPWR(VPWR), .VGND(VGND), .VPB(VPB), .VNB(VNB), .X(X));
-
-endmodule
-
-`default_nettype wire
-`endif  // SKY130_FD_SC_MS__XOR3_TB_V
diff --git a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.v b/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.v
deleted file mode 100644
index 7383dd3..0000000
--- a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3.v
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Copyright 2020 The 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- */
-
-`ifndef SKY130_FD_SC_MS__XOR3_V
-`define SKY130_FD_SC_MS__XOR3_V
-
-/**
- * xor3: 3-input exclusive OR.
- *
- *       X = A ^ B ^ C
- *
- * Verilog top module.
- *
- * WARNING: This file is autogenerated, do not modify directly!
- */
-
-`timescale 1ns / 1ps
-`default_nettype none
-
-`ifdef USE_POWER_PINS
-
-`ifdef FUNCTIONAL
-`include "sky130_fd_sc_ms__xor3.pp.functional.v"
-`else  // FUNCTIONAL
-`include "sky130_fd_sc_ms__xor3.pp.behavioral.v"
-`endif // FUNCTIONAL
-
-`else  // USE_POWER_PINS
-
-`ifdef FUNCTIONAL
-`include "sky130_fd_sc_ms__xor3.functional.v"
-`else  // FUNCTIONAL
-`include "sky130_fd_sc_ms__xor3.behavioral.v"
-`endif // FUNCTIONAL
-
-`endif // USE_POWER_PINS
-
-`default_nettype wire
-`endif  // SKY130_FD_SC_MS__XOR3_V
diff --git a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3_1.v b/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3_1.v
deleted file mode 100644
index 92c4a80..0000000
--- a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3_1.v
+++ /dev/null
@@ -1,119 +0,0 @@
-/**
- * Copyright 2020 The 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- */
-
-`ifndef SKY130_FD_SC_MS__XOR3_1_V
-`define SKY130_FD_SC_MS__XOR3_1_V
-
-/**
- * xor3: 3-input exclusive OR.
- *
- *       X = A ^ B ^ C
- *
- * Verilog wrapper for xor3 with size of 1 units.
- *
- * WARNING: This file is autogenerated, do not modify directly!
- */
-
-`timescale 1ns / 1ps
-`default_nettype none
-
-`include "sky130_fd_sc_ms__xor3.v"
-
-`ifdef USE_POWER_PINS
-/*********************************************************/
-
-`celldefine
-module sky130_fd_sc_ms__xor3_1 (
-    X   ,
-    A   ,
-    B   ,
-    C   ,
-    VPWR,
-    VGND,
-    VPB ,
-    VNB
-);
-
-    output X   ;
-    input  A   ;
-    input  B   ;
-    input  C   ;
-    input  VPWR;
-    input  VGND;
-    input  VPB ;
-    input  VNB ;
-    sky130_fd_sc_ms__xor3 cell (
-        .X(X),
-        .A(A),
-        .B(B),
-        .C(C),
-        .VPWR(VPWR),
-        .VGND(VGND),
-        .VPB(VPB),
-        .VNB(VNB)
-    );
-
-endmodule
-`endcelldefine
-
-/*********************************************************/
-`else // If not USE_POWER_PINS
-/*********************************************************/
-
-`celldefine
-module sky130_fd_sc_ms__xor3_1 (
-    X   ,
-    A   ,
-    B   ,
-    C   ,
-    VPWR,
-    VGND,
-    VPB ,
-    VNB
-);
-
-    output X   ;
-    input  A   ;
-    input  B   ;
-    input  C   ;
-    input  VPWR;
-    input  VGND;
-    input  VPB ;
-    input  VNB ;
-
-    // Voltage supply signals
-    supply1 VPWR;
-    supply0 VGND;
-    supply1 VPB ;
-    supply0 VNB ;
-
-    sky130_fd_sc_ms__xor3 cell (
-        .X(X),
-        .A(A),
-        .B(B),
-        .C(C)
-    );
-
-endmodule
-`endcelldefine
-
-/*********************************************************/
-`endif // USE_POWER_PINS
-
-`default_nettype wire
-`endif  // SKY130_FD_SC_MS__XOR3_1_V
diff --git a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3_2.v b/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3_2.v
deleted file mode 100644
index 675d438..0000000
--- a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3_2.v
+++ /dev/null
@@ -1,119 +0,0 @@
-/**
- * Copyright 2020 The 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- */
-
-`ifndef SKY130_FD_SC_MS__XOR3_2_V
-`define SKY130_FD_SC_MS__XOR3_2_V
-
-/**
- * xor3: 3-input exclusive OR.
- *
- *       X = A ^ B ^ C
- *
- * Verilog wrapper for xor3 with size of 2 units.
- *
- * WARNING: This file is autogenerated, do not modify directly!
- */
-
-`timescale 1ns / 1ps
-`default_nettype none
-
-`include "sky130_fd_sc_ms__xor3.v"
-
-`ifdef USE_POWER_PINS
-/*********************************************************/
-
-`celldefine
-module sky130_fd_sc_ms__xor3_2 (
-    X   ,
-    A   ,
-    B   ,
-    C   ,
-    VPWR,
-    VGND,
-    VPB ,
-    VNB
-);
-
-    output X   ;
-    input  A   ;
-    input  B   ;
-    input  C   ;
-    input  VPWR;
-    input  VGND;
-    input  VPB ;
-    input  VNB ;
-    sky130_fd_sc_ms__xor3 cell (
-        .X(X),
-        .A(A),
-        .B(B),
-        .C(C),
-        .VPWR(VPWR),
-        .VGND(VGND),
-        .VPB(VPB),
-        .VNB(VNB)
-    );
-
-endmodule
-`endcelldefine
-
-/*********************************************************/
-`else // If not USE_POWER_PINS
-/*********************************************************/
-
-`celldefine
-module sky130_fd_sc_ms__xor3_2 (
-    X   ,
-    A   ,
-    B   ,
-    C   ,
-    VPWR,
-    VGND,
-    VPB ,
-    VNB
-);
-
-    output X   ;
-    input  A   ;
-    input  B   ;
-    input  C   ;
-    input  VPWR;
-    input  VGND;
-    input  VPB ;
-    input  VNB ;
-
-    // Voltage supply signals
-    supply1 VPWR;
-    supply0 VGND;
-    supply1 VPB ;
-    supply0 VNB ;
-
-    sky130_fd_sc_ms__xor3 cell (
-        .X(X),
-        .A(A),
-        .B(B),
-        .C(C)
-    );
-
-endmodule
-`endcelldefine
-
-/*********************************************************/
-`endif // USE_POWER_PINS
-
-`default_nettype wire
-`endif  // SKY130_FD_SC_MS__XOR3_2_V
diff --git a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3_4.v b/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3_4.v
deleted file mode 100644
index 0e9db33..0000000
--- a/libraries/sky130_fd_sc_ms/v0.0.0/cells/xor3/sky130_fd_sc_ms__xor3_4.v
+++ /dev/null
@@ -1,119 +0,0 @@
-/**
- * Copyright 2020 The 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- */
-
-`ifndef SKY130_FD_SC_MS__XOR3_4_V
-`define SKY130_FD_SC_MS__XOR3_4_V
-
-/**
- * xor3: 3-input exclusive OR.
- *
- *       X = A ^ B ^ C
- *
- * Verilog wrapper for xor3 with size of 4 units.
- *
- * WARNING: This file is autogenerated, do not modify directly!
- */
-
-`timescale 1ns / 1ps
-`default_nettype none
-
-`include "sky130_fd_sc_ms__xor3.v"
-
-`ifdef USE_POWER_PINS
-/*********************************************************/
-
-`celldefine
-module sky130_fd_sc_ms__xor3_4 (
-    X   ,
-    A   ,
-    B   ,
-    C   ,
-    VPWR,
-    VGND,
-    VPB ,
-    VNB
-);
-
-    output X   ;
-    input  A   ;
-    input  B   ;
-    input  C   ;
-    input  VPWR;
-    input  VGND;
-    input  VPB ;
-    input  VNB ;
-    sky130_fd_sc_ms__xor3 cell (
-        .X(X),
-        .A(A),
-        .B(B),
-        .C(C),
-        .VPWR(VPWR),
-        .VGND(VGND),
-        .VPB(VPB),
-        .VNB(VNB)
-    );
-
-endmodule
-`endcelldefine
-
-/*********************************************************/
-`else // If not USE_POWER_PINS
-/*********************************************************/
-
-`celldefine
-module sky130_fd_sc_ms__xor3_4 (
-    X   ,
-    A   ,
-    B   ,
-    C   ,
-    VPWR,
-    VGND,
-    VPB ,
-    VNB
-);
-
-    output X   ;
-    input  A   ;
-    input  B   ;
-    input  C   ;
-    input  VPWR;
-    input  VGND;
-    input  VPB ;
-    input  VNB ;
-
-    // Voltage supply signals
-    supply1 VPWR;
-    supply0 VGND;
-    supply1 VPB ;
-    supply0 VNB ;
-
-    sky130_fd_sc_ms__xor3 cell (
-        .X(X),
-        .A(A),
-        .B(B),
-        .C(C)
-    );
-
-endmodule
-`endcelldefine
-
-/*********************************************************/
-`endif // USE_POWER_PINS
-
-`default_nettype wire
-`endif  // SKY130_FD_SC_MS__XOR3_4_V
diff --git a/libraries/sky130_fd_sc_ms/v0.0.1 b/libraries/sky130_fd_sc_ms/v0.0.1
new file mode 160000
index 0000000..c6396dd
--- /dev/null
+++ b/libraries/sky130_fd_sc_ms/v0.0.1
@@ -0,0 +1 @@
+Subproject commit c6396dd7fca5f3210e10c4de097bc7985f25706b
diff --git a/libraries/sky130_fd_sc_ms/v0.0.2 b/libraries/sky130_fd_sc_ms/v0.0.2
new file mode 160000
index 0000000..abc8abf
--- /dev/null
+++ b/libraries/sky130_fd_sc_ms/v0.0.2
@@ -0,0 +1 @@
+Subproject commit abc8abff708f44f39ebbb50749ca6328b3ab7639
