diff --git a/cells/reram_cell/sky130_fd_pr_reram__reram_cell.gds b/cells/reram_cell/sky130_fd_pr_reram__reram_cell.gds
new file mode 100644
index 0000000..361affc
--- /dev/null
+++ b/cells/reram_cell/sky130_fd_pr_reram__reram_cell.gds
Binary files differ
diff --git a/cells/reram_cell/sky130_fd_pr_reram__reram_cell.gds.new b/cells/reram_cell/sky130_fd_pr_reram__reram_cell.gds.new
new file mode 100644
index 0000000..937cd45
--- /dev/null
+++ b/cells/reram_cell/sky130_fd_pr_reram__reram_cell.gds.new
Binary files differ
diff --git a/cells/reram_cell/sky130_fd_pr_reram__reram_cell.gds.pins.new b/cells/reram_cell/sky130_fd_pr_reram__reram_cell.gds.pins.new
new file mode 100644
index 0000000..cefd897
--- /dev/null
+++ b/cells/reram_cell/sky130_fd_pr_reram__reram_cell.gds.pins.new
@@ -0,0 +1,2 @@
+TE
+BE
diff --git a/cells/reram_cell/sky130_fd_pr_reram__reram_cell.magic.lef b/cells/reram_cell/sky130_fd_pr_reram__reram_cell.magic.lef
new file mode 100644
index 0000000..8caa2be
--- /dev/null
+++ b/cells/reram_cell/sky130_fd_pr_reram__reram_cell.magic.lef
@@ -0,0 +1,27 @@
+# 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
+
+VERSION 5.7 ;
+  NOWIREEXTENSIONATPIN ON ;
+  DIVIDERCHAR "/" ;
+  BUSBITCHARS "[]" ;
+MACRO sky130_fd_pr_reram__reram_cell
+  CLASS BLOCK ;
+  FOREIGN sky130_fd_pr_reram__reram_cell ;
+  ORIGIN  0.000000  0.000000 ;
+  SIZE  0.005000 BY  0.005000 ;
+END sky130_fd_pr_reram__reram_cell
+END LIBRARY
diff --git a/cells/reram_cell/sky130_fd_pr_reram__reram_cell.magic.lef.new b/cells/reram_cell/sky130_fd_pr_reram__reram_cell.magic.lef.new
new file mode 100644
index 0000000..66c5b6d
--- /dev/null
+++ b/cells/reram_cell/sky130_fd_pr_reram__reram_cell.magic.lef.new
@@ -0,0 +1,41 @@
+# 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
+
+VERSION 5.7 ;
+  NOWIREEXTENSIONATPIN ON ;
+  DIVIDERCHAR "/" ;
+  BUSBITCHARS "[]" ;
+MACRO sky130_fd_pr_reram__reram_cell
+  CLASS BLOCK ;
+  FOREIGN sky130_fd_pr_reram__reram_cell ;
+  ORIGIN  0.160000  0.160000 ;
+  SIZE  0.320000 BY  0.320000 ;
+  PIN BE
+    PORT
+      LAYER met2 ;
+        RECT -0.130000 -0.160000 0.130000 0.160000 ;
+    END
+  END BE
+  PIN TE
+    PORT
+      LAYER met1 ;
+        RECT -0.160000 -0.130000 0.160000 0.130000 ;
+      LAYER via ;
+        RECT -0.130000 -0.130000 0.130000 0.130000 ;
+    END
+  END TE
+END sky130_fd_pr_reram__reram_cell
+END LIBRARY
diff --git a/cells/reram_cell/sky130_fd_pr_reram__reram_cell.spice b/cells/reram_cell/sky130_fd_pr_reram__reram_cell.spice
new file mode 100644
index 0000000..1c14ba0
--- /dev/null
+++ b/cells/reram_cell/sky130_fd_pr_reram__reram_cell.spice
@@ -0,0 +1,19 @@
+* 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
+
+
+* Top level circuit sky130_fd_pr_reram__reram_cell
+.end
diff --git a/cells/reram_cell/sky130_fd_pr_reram__reram_cell.spice.new b/cells/reram_cell/sky130_fd_pr_reram__reram_cell.spice.new
new file mode 100644
index 0000000..7732452
--- /dev/null
+++ b/cells/reram_cell/sky130_fd_pr_reram__reram_cell.spice.new
@@ -0,0 +1,20 @@
+* 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
+
+
+.subckt sky130_fd_pr_reram__reram_cell BE TE
+R0 BE TE 0.000000
+.ends
diff --git a/cells/reram_cell/sky130_fd_pr_reram__reram_cell.svg b/cells/reram_cell/sky130_fd_pr_reram__reram_cell.svg
new file mode 100644
index 0000000..3b59353
--- /dev/null
+++ b/cells/reram_cell/sky130_fd_pr_reram__reram_cell.svg
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg10"
+   version="1.2"
+   viewBox="0 0 1898 1059"
+   height="1059pt"
+   width="1898pt">
+  <metadata
+     id="metadata14">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5">
+    <clipPath
+       id="clip1">
+      <path
+         id="path2"
+         d="M 18.5 2.5 L 1898 2.5 L 1898 1059 L 18.5 1059 Z M 18.5 2.5 " />
+    </clipPath>
+  </defs>
+  <g
+     id="surface178">
+    <g
+       id="g7"
+       clip-rule="nonzero"
+       clip-path="url(#clip1)" />
+  </g>
+</svg>
diff --git a/cells/reram_cell/sky130_fd_pr_reram__reram_cell.va b/cells/reram_cell/sky130_fd_pr_reram__reram_cell.va
new file mode 100644
index 0000000..978e0a8
--- /dev/null
+++ b/cells/reram_cell/sky130_fd_pr_reram__reram_cell.va
@@ -0,0 +1,103 @@
+// 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
+
+`include "constants.vams"
+`include "disciplines.vams"
+
+module rram2(TE, BE);
+    inout TE; // top electrode
+    inout BE; // bottom electrode
+    electrical TE, BE;
+
+    // ==================================================
+    // input parameters
+    // --------------------------------------------------
+    // physical area and thickness
+    parameter real area_ox             = 0.1024e-12 from (0:inf);                         // area of TE/BE overlap [meters^2]
+    parameter real Tox                 = 5.0e-9     from (0:inf);                         // thickness of oxide between TE and BE [meters]
+    parameter real Tfilament_max       = 4.9e-9     from (0:inf);                         // maximum thickness of conductive filament (for minimum resistance) [meters]
+    parameter real Tfilament_min       = 3.3e-9     from (0:inf);                         // minimum thickness of conductive filament (for maximum resistance) [meters]
+    parameter real Tfilament_0         = 3.3e-9     from [Tfilament_min:Tfilament_max];   // initial thickness of conductive filament (at t=0 for transient simulation) [meters]
+    // activation energy
+    parameter real Eact_generation     = 1.501      from (0:inf);                         // activation energy for vacancy generation [eV]
+    parameter real Eact_recombination  = 1.500      from (0:inf);                         // activation energy for vacancy recombination [eV]
+    // calibration parameters: I-V
+    parameter real I_k1                = 6.140e-5   from (0:inf);                         // current calibration parameter [Amps]
+    parameter real Tfilament_ref       = 4.7249e-9  from (0:inf);                         // filament thickness calibration parameter [meters]
+    parameter real V_ref               = 0.430      from (0:inf);                         // voltage calibration parameter [Volts]
+    // calibration parameters: filament growth
+    parameter real velocity_k1         = 150        from (0:inf);                         // velocity calibration parameter [meters/second]
+    parameter real gamma_k0            = 16.5       from (0:inf);                         // enhancement factor calibration parameter [unitless]
+    parameter real gamma_k1            = -1.25      from (-inf:inf);                      // enhancement factor calibration parameter [unitless]
+    // calibration parameters: temperature
+    parameter real Temperature_0       = 300        from (0:inf);                         // intial temperature [degrees Kelvin]
+    parameter real C_thermal           = 3.1825e-16 from (0:inf);                         // effective thermal capacitance [Joules/Kelvin]
+    parameter real tau_thermal         = 0.23e-9    from (0:inf);                         // effective thermal time constant [seconds]
+    // simulation control
+    parameter real t_step              = 1.0e-9     from (0:inf);                         // maximum time step [seconds]
+    // ==================================================
+
+    // internal parameters
+    real a0 = 0.25e-9;           // atomic distance [m]
+    real Tfilament_current;      // current filament thickness [m]
+    real Tfilament_dTdt;         // current filament thickness, derivative w.r.t. time [m/s]
+    real gamma;                  // local enhancement factor
+    real Temperature_current;    // current temperature
+    real kT_over_q;              // e.g., 0.0259 at 300 degrees K [eV]
+
+    // transient simulation parameters
+    real t_current;              // current time step [s]
+    real t_previous;             // previous time step [s]
+    real t_delta;                // difference between current vs. previous time step
+
+    // local functions
+    analog function real soft_minmax;
+        input x, xmin, xmax;
+        real x, xmin, xmax;
+        real p = 10;
+        begin
+            if (x > xmax) begin
+                soft_minmax = xmax;
+            end else if (x < xmin) begin
+                soft_minmax = xmin;
+            end else begin
+                soft_minmax = x;
+            end
+        end
+    endfunction // soft_minmax
+
+    // core equations
+    analog begin
+        @(initial_step) begin
+            // initial condition
+            Temperature_current = Temperature_0;
+            Tfilament_current = Tfilament_0;
+	end
+        $bound_step(t_step); // bound maximum time step
+        t_current = $abstime; // current time
+        t_delta = t_current - t_previous;
+        gamma = gamma_k0 + gamma_k1 * pow((Tox - Tfilament_current)/1.0e-9, 3);
+	kT_over_q = (`P_K * Temperature_current) / `P_Q;
+        Tfilament_dTdt = velocity_k1 * (exp(-Eact_generation    / kT_over_q) * exp( gamma * a0/Tox * V(TE,BE) / kT_over_q) -
+                                        exp(-Eact_recombination / kT_over_q) * exp(-gamma * a0/Tox * V(TE,BE) / kT_over_q));
+        Tfilament_current = Tfilament_current + Tfilament_dTdt * t_delta; // 1st-order update to filament thickness
+        Tfilament_current = soft_minmax(Tfilament_current, Tfilament_min, Tfilament_max); // bound filament thickness
+        I(TE,BE) <+ I_k1 * exp(-(Tox - Tfilament_current)/(Tox - Tfilament_ref)) * sinh( V(TE,BE)/V_ref );
+        Temperature_current = (Temperature_current + t_delta * (abs(V(TE,BE)*I(TE,BE)) / C_thermal + Temperature_0/tau_thermal))
+                              / (1 + t_delta/tau_thermal); // 1st-order update to temperature
+	t_previous = $abstime; // current time step is previous time step for next iteration
+    end
+endmodule
diff --git a/cells/reram_cell/sky130_fd_pr_reram__reram_cell.va.params.json b/cells/reram_cell/sky130_fd_pr_reram__reram_cell.va.params.json
new file mode 100644
index 0000000..e3aeca3
--- /dev/null
+++ b/cells/reram_cell/sky130_fd_pr_reram__reram_cell.va.params.json
@@ -0,0 +1,70 @@
+{
+  "DEFAULT_area_ox": {
+    "value": 0.1024,
+    "parameter_explanation": "area of TE/BE overlap [meters^2]"
+  },
+  "DEFAULT_Tfilament_0": {
+    "value": 3.3e-9,
+    "parameter_explanation": "initial thickness of conductive filament (at t=0 for transient simulation) [meters]"
+  },
+  "DEFAULT_t_step": {
+    "value": 1.0e-9,
+    "parameter_explanation": "maximum time step [seconds]"
+  },
+  "cal_Tox": {
+    "value": 5.0e-9,
+    "parameter_explanation": "thickness of oxide between TE and BE [meters]"
+  },
+  "cal_Tfilament_max": {
+    "value": 4.9e-9,
+    "parameter_explanation": "maximum thickness of conductive filament (for minimum resistance) [meters]"
+  },
+  "cal_Tfilament_min": {
+    "value": 3.3e-9,
+    "parameter_explanation": "minimum thickness of conductive filament (for maximum resistance) [meters]"
+  },
+  "cal_Eact_generation": {
+    "value": 1.501,
+    "parameter_explanation": "activation energy for vacancy generation [eV]"
+  },
+  "cal_Eact_recombination": {
+    "value": 1.500,
+    "parameter_explanation": "activation energy for vacancy recombination [eV]"
+  },
+  "cal_I_k1": {
+    "value": 6.140e-5,
+    "parameter_explanation": "current calibration parameter [Amps]"
+  },
+  "cal_Tfilament_ref": {
+    "value": 4.7249e-9,
+    "parameter_explanation": "filament thickness calibration parameter [meters]"
+  },
+  "cal_V_ref": {
+    "value": 0.430,
+    "parameter_explanation": "voltage calibration parameter [Volts]"
+  },
+  "cal_velocity_k1": {
+    "value": 150,
+    "parameter_explanation": "velocity calibration parameter [meters/second]"
+  },
+  "cal_gamma_k0": {
+    "value": 16.5,
+    "parameter_explanation": "enhancement factor calibration parameter [unitless]"
+  },
+  "cal_gamma_k1": {
+    "value": -1.25,
+    "parameter_explanation": "enhancement factor calibration parameter [unitless]"
+  },
+  "cal_Temperature_0": {
+    "value": 300,
+    "parameter_explanation": "intial temperature [degrees Kelvin]"
+  },
+  "cal_C_thermal": {
+    "value": 3.1825e-16,
+    "parameter_explanation": "effective thermal capacitance [Joules/Kelvin]"
+  },
+  "cal_tau_thermal": {
+    "value": 0.23e-9,
+    "parameter_explanation": "effective thermal time constant [seconds]"
+  }
+}
\ No newline at end of file
diff --git a/cells/reram_inst/sky130_fd_pr_reram__reram_inst.gds b/cells/reram_inst/sky130_fd_pr_reram__reram_inst.gds
new file mode 100644
index 0000000..70af7e3
--- /dev/null
+++ b/cells/reram_inst/sky130_fd_pr_reram__reram_inst.gds
Binary files differ
diff --git a/cells/reram_inst/sky130_fd_pr_reram__reram_inst.magic.lef b/cells/reram_inst/sky130_fd_pr_reram__reram_inst.magic.lef
new file mode 100644
index 0000000..e389129
--- /dev/null
+++ b/cells/reram_inst/sky130_fd_pr_reram__reram_inst.magic.lef
@@ -0,0 +1,27 @@
+# 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
+
+VERSION 5.7 ;
+  NOWIREEXTENSIONATPIN ON ;
+  DIVIDERCHAR "/" ;
+  BUSBITCHARS "[]" ;
+MACRO sky130_fd_pr_reram__reram_inst
+  CLASS BLOCK ;
+  FOREIGN sky130_fd_pr_reram__reram_inst ;
+  ORIGIN -0.310000 -0.200000 ;
+  SIZE  0.005000 BY  0.005000 ;
+END sky130_fd_pr_reram__reram_inst
+END LIBRARY
diff --git a/cells/reram_inst/sky130_fd_pr_reram__reram_inst.spice b/cells/reram_inst/sky130_fd_pr_reram__reram_inst.spice
new file mode 100644
index 0000000..fecb79e
--- /dev/null
+++ b/cells/reram_inst/sky130_fd_pr_reram__reram_inst.spice
@@ -0,0 +1,19 @@
+* 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
+
+
+* Top level circuit sky130_fd_pr_reram__reram_inst
+.end
diff --git a/cells/reram_inst/sky130_fd_pr_reram__reram_inst.svg b/cells/reram_inst/sky130_fd_pr_reram__reram_inst.svg
new file mode 100644
index 0000000..37a0ffe
--- /dev/null
+++ b/cells/reram_inst/sky130_fd_pr_reram__reram_inst.svg
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg10"
+   version="1.2"
+   viewBox="0 0 1898 1059"
+   height="1059pt"
+   width="1898pt">
+  <metadata
+     id="metadata14">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5">
+    <clipPath
+       id="clip1">
+      <path
+         id="path2"
+         d="M 18.5 2.5 L 1898 2.5 L 1898 1059 L 18.5 1059 Z M 18.5 2.5 " />
+    </clipPath>
+  </defs>
+  <g
+     id="surface180">
+    <g
+       id="g7"
+       clip-rule="nonzero"
+       clip-path="url(#clip1)" />
+  </g>
+</svg>
diff --git a/cells/reram_test_drc/sky130_fd_pr_reram__reram_test_drc.gds b/cells/reram_test_drc/sky130_fd_pr_reram__reram_test_drc.gds
new file mode 100644
index 0000000..0ffcab7
--- /dev/null
+++ b/cells/reram_test_drc/sky130_fd_pr_reram__reram_test_drc.gds
Binary files differ
diff --git a/cells/reram_test_drc/sky130_fd_pr_reram__reram_test_drc.magic.lef b/cells/reram_test_drc/sky130_fd_pr_reram__reram_test_drc.magic.lef
new file mode 100644
index 0000000..4cb7306
--- /dev/null
+++ b/cells/reram_test_drc/sky130_fd_pr_reram__reram_test_drc.magic.lef
@@ -0,0 +1,27 @@
+# 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
+
+VERSION 5.7 ;
+  NOWIREEXTENSIONATPIN ON ;
+  DIVIDERCHAR "/" ;
+  BUSBITCHARS "[]" ;
+MACRO sky130_fd_pr_reram__reram_test_drc
+  CLASS BLOCK ;
+  FOREIGN sky130_fd_pr_reram__reram_test_drc ;
+  ORIGIN  0.000000  0.000000 ;
+  SIZE  0.005000 BY  0.005000 ;
+END sky130_fd_pr_reram__reram_test_drc
+END LIBRARY
diff --git a/cells/reram_test_drc/sky130_fd_pr_reram__reram_test_drc.spice b/cells/reram_test_drc/sky130_fd_pr_reram__reram_test_drc.spice
new file mode 100644
index 0000000..249ef2c
--- /dev/null
+++ b/cells/reram_test_drc/sky130_fd_pr_reram__reram_test_drc.spice
@@ -0,0 +1,19 @@
+* 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
+
+
+* Top level circuit sky130_fd_pr_reram__reram_test_drc
+.end
diff --git a/cells/reram_test_drc/sky130_fd_pr_reram__reram_test_drc.svg b/cells/reram_test_drc/sky130_fd_pr_reram__reram_test_drc.svg
new file mode 100644
index 0000000..3b59353
--- /dev/null
+++ b/cells/reram_test_drc/sky130_fd_pr_reram__reram_test_drc.svg
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg10"
+   version="1.2"
+   viewBox="0 0 1898 1059"
+   height="1059pt"
+   width="1898pt">
+  <metadata
+     id="metadata14">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5">
+    <clipPath
+       id="clip1">
+      <path
+         id="path2"
+         d="M 18.5 2.5 L 1898 2.5 L 1898 1059 L 18.5 1059 Z M 18.5 2.5 " />
+    </clipPath>
+  </defs>
+  <g
+     id="surface178">
+    <g
+       id="g7"
+       clip-rule="nonzero"
+       clip-path="url(#clip1)" />
+  </g>
+</svg>
diff --git a/cells/reram_test_lvs_property/sky130_fd_pr_reram__reram_test_lvs_property.gds b/cells/reram_test_lvs_property/sky130_fd_pr_reram__reram_test_lvs_property.gds
new file mode 100644
index 0000000..1b4da99
--- /dev/null
+++ b/cells/reram_test_lvs_property/sky130_fd_pr_reram__reram_test_lvs_property.gds
Binary files differ
diff --git a/cells/reram_test_lvs_property/sky130_fd_pr_reram__reram_test_lvs_property.magic.lef b/cells/reram_test_lvs_property/sky130_fd_pr_reram__reram_test_lvs_property.magic.lef
new file mode 100644
index 0000000..aa2ef15
--- /dev/null
+++ b/cells/reram_test_lvs_property/sky130_fd_pr_reram__reram_test_lvs_property.magic.lef
@@ -0,0 +1,27 @@
+# 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
+
+VERSION 5.7 ;
+  NOWIREEXTENSIONATPIN ON ;
+  DIVIDERCHAR "/" ;
+  BUSBITCHARS "[]" ;
+MACRO sky130_fd_pr_reram__reram_test_lvs_property
+  CLASS BLOCK ;
+  FOREIGN sky130_fd_pr_reram__reram_test_lvs_property ;
+  ORIGIN -0.310000 -0.200000 ;
+  SIZE  0.005000 BY  0.005000 ;
+END sky130_fd_pr_reram__reram_test_lvs_property
+END LIBRARY
diff --git a/cells/reram_test_lvs_property/sky130_fd_pr_reram__reram_test_lvs_property.spice b/cells/reram_test_lvs_property/sky130_fd_pr_reram__reram_test_lvs_property.spice
new file mode 100644
index 0000000..5e0b731
--- /dev/null
+++ b/cells/reram_test_lvs_property/sky130_fd_pr_reram__reram_test_lvs_property.spice
@@ -0,0 +1,19 @@
+* 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
+
+
+* Top level circuit sky130_fd_pr_reram__reram_test_lvs_property
+.end
diff --git a/cells/reram_test_lvs_property/sky130_fd_pr_reram__reram_test_lvs_property.svg b/cells/reram_test_lvs_property/sky130_fd_pr_reram__reram_test_lvs_property.svg
new file mode 100644
index 0000000..6998e4b
--- /dev/null
+++ b/cells/reram_test_lvs_property/sky130_fd_pr_reram__reram_test_lvs_property.svg
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg10"
+   version="1.2"
+   viewBox="0 0 1898 1059"
+   height="1059pt"
+   width="1898pt">
+  <metadata
+     id="metadata14">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5">
+    <clipPath
+       id="clip1">
+      <path
+         id="path2"
+         d="M 18.5 2.5 L 1898 2.5 L 1898 1059 L 18.5 1059 Z M 18.5 2.5 " />
+    </clipPath>
+  </defs>
+  <g
+     id="surface190">
+    <g
+       id="g7"
+       clip-rule="nonzero"
+       clip-path="url(#clip1)" />
+  </g>
+</svg>
diff --git a/cells/reram_test_lvs_terminals/sky130_fd_pr_reram__reram_test_lvs_terminals.gds b/cells/reram_test_lvs_terminals/sky130_fd_pr_reram__reram_test_lvs_terminals.gds
new file mode 100644
index 0000000..cd8d341
--- /dev/null
+++ b/cells/reram_test_lvs_terminals/sky130_fd_pr_reram__reram_test_lvs_terminals.gds
Binary files differ
diff --git a/cells/reram_test_lvs_terminals/sky130_fd_pr_reram__reram_test_lvs_terminals.magic.lef b/cells/reram_test_lvs_terminals/sky130_fd_pr_reram__reram_test_lvs_terminals.magic.lef
new file mode 100644
index 0000000..4acddf9
--- /dev/null
+++ b/cells/reram_test_lvs_terminals/sky130_fd_pr_reram__reram_test_lvs_terminals.magic.lef
@@ -0,0 +1,27 @@
+# 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
+
+VERSION 5.7 ;
+  NOWIREEXTENSIONATPIN ON ;
+  DIVIDERCHAR "/" ;
+  BUSBITCHARS "[]" ;
+MACRO sky130_fd_pr_reram__reram_test_lvs_terminals
+  CLASS BLOCK ;
+  FOREIGN sky130_fd_pr_reram__reram_test_lvs_terminals ;
+  ORIGIN -0.310000 -0.200000 ;
+  SIZE  0.005000 BY  0.005000 ;
+END sky130_fd_pr_reram__reram_test_lvs_terminals
+END LIBRARY
diff --git a/cells/reram_test_lvs_terminals/sky130_fd_pr_reram__reram_test_lvs_terminals.spice b/cells/reram_test_lvs_terminals/sky130_fd_pr_reram__reram_test_lvs_terminals.spice
new file mode 100644
index 0000000..07c21cd
--- /dev/null
+++ b/cells/reram_test_lvs_terminals/sky130_fd_pr_reram__reram_test_lvs_terminals.spice
@@ -0,0 +1,19 @@
+* 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
+
+
+* Top level circuit sky130_fd_pr_reram__reram_test_lvs_terminals
+.end
diff --git a/cells/reram_test_lvs_terminals/sky130_fd_pr_reram__reram_test_lvs_terminals.svg b/cells/reram_test_lvs_terminals/sky130_fd_pr_reram__reram_test_lvs_terminals.svg
new file mode 100644
index 0000000..ae375f0
--- /dev/null
+++ b/cells/reram_test_lvs_terminals/sky130_fd_pr_reram__reram_test_lvs_terminals.svg
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg10"
+   version="1.2"
+   viewBox="0 0 1898 1059"
+   height="1059pt"
+   width="1898pt">
+  <metadata
+     id="metadata14">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs5">
+    <clipPath
+       id="clip1">
+      <path
+         id="path2"
+         d="M 18.5 2.5 L 1898 2.5 L 1898 1059 L 18.5 1059 Z M 18.5 2.5 " />
+    </clipPath>
+  </defs>
+  <g
+     id="surface192">
+    <g
+       id="g7"
+       clip-rule="nonzero"
+       clip-path="url(#clip1)" />
+  </g>
+</svg>
