Added more layers to the gf180mcu tech file for magic to support
low-voltage SRAM (this work is not yet complete, but helps me get
started on the low-voltage SRAM macros).  Incorporated two
recent pull request merges into the GF repositories and updated
the references.
diff --git a/VERSION b/VERSION
index cfbb1b2..b1f4dc5 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.553
+1.0.555
diff --git a/gf180mcu/gf180mcu.json b/gf180mcu/gf180mcu.json
index be861ff..b38c5e0 100644
--- a/gf180mcu/gf180mcu.json
+++ b/gf180mcu/gf180mcu.json
@@ -94,13 +94,13 @@
         "magic": "MAGIC_COMMIT"
     },
     "reference": {
-        "open_pdks": "e3262351fb1f5a3cc262ced1c76ebe3f2a5218fb",
-        "magic": "c977e4cf766b441a364ae886200d099d0736583c",
+        "open_pdks": "9608f38a18c41de49402a7b91daaed6b69317398",
+        "magic": "969137d1e2cf6b99785cb320b882a05181cfca01",
         "gf180mcu_pdk": "a897aa30369d3bcec87d9d50ce9b01f320f854ef",
-        "gf180mcu_fd_pr": "9e18ebaf6e71702a618c6fb85f488af93ce773ad",
+        "gf180mcu_fd_pr": "739f508876db86bd7d3403f1fe056dedfeaabdab",
         "gf180mcu_fd_pv": "50cc2fe338c81925e24a6ac4907ddaab534c1312",
         "gf180mcu_fd_io": "545621fdbac44f55344834e6c03486310c0862d7",
-        "gf180mcu_fd_sc_mcu7t5v0": "8743b6f9641eb8707179c4e51703380d4dc90f16",
+        "gf180mcu_fd_sc_mcu7t5v0": "5641d172662a7d9086e5b99c5d54506c05e65cee",
         "gf180mcu_fd_sc_mcu9t5v0": "e0e80f5a6522f10b82165d3aeab9b8ee28e89849",
         "gf180mcu_fd_ip_sram": "9c411928870ce15226228fa52ddb6ecc0ea4ffbe",
         "gf180mcu_as_sc_mcu7t3v3": "51f4e2a6d9692f3f8982dffaf7c012272a4b4ca3",
diff --git a/gf180mcu/magic/gf180mcu.tech b/gf180mcu/magic/gf180mcu.tech
index a104164..6cf47ae 100644
--- a/gf180mcu/magic/gf180mcu.tech
+++ b/gf180mcu/magic/gf180mcu.tech
@@ -32,6 +32,7 @@
   dwell,dw
   well,w
   active,a
+  poly,p
   metal1,m1
   metal2,m2
 #ifdef METALS3 || METALS4 || METALS5 || METALS6
@@ -106,6 +107,12 @@
  -active srammvpdiff
  -active srammvndc
  -active srammvpdc
+ -active sramnfet 
+ -active srampfet 
+ -active sramndiff
+ -active srampdiff
+ -active sramndc
+ -active srampdc
 # Varactors
   active nvaractor,nvaract,nvar
   active pvaractor,pvaract,pvar
@@ -154,8 +161,9 @@
   active mvnndiodec,mvnndic
 
  -active filldiff
- -active fillpoly
- -active fillfet
+
+# Poly fill
+ -poly fillpoly
 
   metal1 metal1,m1,met1
   metal1 rmetal1,rm1,rmet1
@@ -259,6 +267,9 @@
   srammvpdc srammvpdiff metal1
   srammvndc srammvndiff metal1
 
+  srampdc srampdiff metal1
+  sramndc sramndiff metal1
+
   ldndc ldndiff metal1
   ldpdc ldpdiff metal1
 
@@ -321,19 +332,19 @@
   # Allwells contains obstruction-on-well-plane but not space-on-well-plane
   allwells         allnwell,allpwell,obswell
 
-  allnfets	   nfet,mvnfet,nnfet,mvnnfet,ncap,mvncap,srammvnfet
-  allnfetsnonnat   nfet,mvnfet,ncap,mvncap,srammvnfet
-  allpfets	   pfet,mvpfet,pcap,mvpcap,srammvpfet
+  allnfets	   nfet,mvnfet,nnfet,mvnnfet,ncap,mvncap,srammvnfet,sramnfet
+  allnfetsnonnat   nfet,mvnfet,ncap,mvncap,srammvnfet,sramnfet
+  allpfets	   pfet,mvpfet,pcap,mvpcap,srammvpfet,srampfet
   allfets	   allnfets,allpfets,nvaractor,mvnvaractor,pvaractor,mvpvaractor
   allfetsnonnat	   allnfetsnonnat,allpfets,nvaractor,mvnvaractor,pvaractor,mvpvaractor
   allfetsmv	   mvnfet,mvpfet,mvnnfet,mvnvaractor,mvpvaractor,mvncap,mvpcap,srammvpfet,srammvnfet
 
-  alllvnactivenonfet *ndiff,*nsd,*ndiode,*nndiode
+  alllvnactivenonfet *ndiff,*nsd,*ndiode,*nndiode,*sramndiff
   allmvnactivenonfet *mvndiff,*mvnsd,*mvndiode,*mvnndiode,*ldndiff,*srammvndiff
   allnactivenonfet alllvnactivenonfet,allmvnactivenonfet
   allnactive	   allnactivenonfet,allnfets
 
-  alllvpactivenonfet *pdiff,*psd,*pdiode
+  alllvpactivenonfet *pdiff,*psd,*pdiode,*srampdiff
   allmvpactivenonfet *mvpdiff,*mvpsd,*mvpdiode,*ldpdiff,*srammvpdiff
   allpactivenonfet alllvpactivenonfet,allmvpactivenonfet
   allpactive	   allpactivenonfet,allpfets
@@ -345,11 +356,11 @@
 
   allactiveres	   ndiffres,pdiffres,mvndiffres,mvpdiffres
 
-  allndifflv       *ndif,*nsd,*ndiode,*nndiode,ndiffres,nfet,nnfet,ncap
-  allpdifflv       *pdif,*psd,*pdiode,pdiffres,pfet,pcap
+  allndifflv       *ndif,*nsd,*ndiode,*nndiode,ndiffres,nfet,nnfet,ncap,*sramndiff,sramnfet
+  allpdifflv       *pdif,*psd,*pdiode,pdiffres,pfet,pcap,*srampdiff,srampfet
   alldifflv        allndifflv,allpdifflv
-  allndifflvnonfet *ndif,*nsd,*ndiode,*nndiode,ndiffres
-  allpdifflvnonfet *pdif,*psd,*pdiode,pdiffres
+  allndifflvnonfet *ndif,*nsd,*ndiode,*nndiode,ndiffres,*sramndiff
+  allpdifflvnonfet *pdif,*psd,*pdiode,pdiffres,*srampdiff
   alldifflvnonfet  allndifflvnonfet,allpdifflvnonfet
 
   allndiffmv       *mvndif,*mvnsd,*mvndiode,mvndiffres,mvnfet,mvnnfet,mvnvaractor,*mvnndiode,mvncap,*ldndiff,*srammvndiff,srammvnfet
@@ -378,8 +389,8 @@
   allpoly	   allpolynonfet,allfets
   allpolynoncap	   *poly,allfets,allpolyres
 
-  allndiffcontlv   ndc,nsc,ndic,nndic
-  allpdiffcontlv   pdc,psc,pdic
+  allndiffcontlv   ndc,nsc,ndic,nndic,sramndc
+  allpdiffcontlv   pdc,psc,pdic,srampdc
   allndiffcontmv   mvndc,mvnsc,mvndic,mvnndic,srammvndc
   allpdiffcontmv   mvpdc,mvpsc,mvpdic,srammvpdc
   allndiffcont	   allndiffcontlv,allndiffcontmv
@@ -486,6 +497,13 @@
   srammvnfet   ntransistor   ntransistor_stripes
   srammvpfet   ptransistor   ptransistor_stripes
 
+  sramndiff  ndiffusion
+  srampdiff  pdiffusion
+  sramndc    ndiffusion    metal1  contact_X'es
+  srampdc    pdiffusion    metal1  contact_X'es
+  sramnfet   ntransistor   ntransistor_stripes
+  srampfet   ptransistor   ptransistor_stripes
+
   poly      polysilicon 
   pc        polysilicon    metal1  contact_X'es
   npolyres  polysilicon    silicide_block nselect2
@@ -593,7 +611,6 @@
   obsactive implant4
   filldiff  ndiffusion
   fillpoly  polysilicon
-  fillfet   ntransistor
 
 #ifdef METALS3
   padl      metal3 via3 overglass
@@ -630,7 +647,8 @@
   compose srammvpfet poly srammvpdiff
   compose srammvnfet poly srammvndiff
 
-  compose  fillfet fillpoly filldiff
+  compose srampfet poly srampdiff
+  compose sramnfet poly sramndiff
   
 #ifdef MIM
 #ifdef METALS3
@@ -793,8 +811,8 @@
  	labels 	alldiff,schottky
  	calma 	22 0
 
- layer DIFFFILL	filldiff,fillfet
-	labels	filldiff,fillfet
+ layer DIFFFILL	filldiff
+	labels	filldiff
 	calma	22 4
 
 #-----------------------------------------------------
@@ -878,7 +896,7 @@
 	grow 160
 
  layer NPLUS
-        bloat-or *ndif,*ndiode,*nndiode,ndiffres,*mvndif,*mvndiode,*mvnndiode,mvndiffres,*srammvndiff * 160 allpactivenonfet 0
+        bloat-or *ndif,*ndiode,*nndiode,ndiffres,*mvndif,*mvndiode,*mvnndiode,mvndiffres,*srammvndiff,*sramndiff * 160 allpactivenonfet 0
         # NOTE:  Rule CO.5a applies to butted contacts but Calibre rule is
 	# implemented for all contacts, so the Calibre rule is being followed.
         bloat-or nsc,mvnsc * 95
@@ -928,7 +946,7 @@
 	grow 200
 	and-not RESDEF
 #endif (HRPOLY1K)
-        bloat-or  *pdif,*pdiode,pdiffres,pfet,pcap,*mvpdif,*mvpdiode,mvpdiffres,mvpfet,mvpcap,*srammvpdiff,srammvpfet * 160 allnactivenonfet 0
+        bloat-or  *pdif,*pdiode,pdiffres,pfet,pcap,*mvpdif,*mvpdiode,mvpdiffres,mvpfet,mvpcap,*srammvpdiff,srammvpfet,*srampdiff,srampfet * 160 allnactivenonfet 0
         # NOTE:  Rule CO.5b applies to butted contacts but Calibre rule is
 	# implemented for all contacts, so the Calibre rule is being followed.
         bloat-or psc,mvpsc * 95
@@ -987,8 +1005,8 @@
 	labels  allpoly port
 	calma	30 10
 
- layer POLYFILL	fillpoly,fillfet
-	labels	fillpoly,fillfet
+ layer POLYFILL	fillpoly
+	labels	fillpoly
 	calma	30 4
 
  layer PLFUSE	efuse
@@ -1384,6 +1402,7 @@
 #----------------------------------------------------------------------
  layer SRAMDEF
  # bloat-all srammvpfet,srammvnfet,*srammvpdiff,*srammvndiff CELLBOUND
+ # bloat-all srampfet,sramnfet,*srampdiff,*sramndiff CELLBOUND
  mask-hints SRAMDEF
  calma 108 5
 
@@ -1583,7 +1602,7 @@
  gridlimit 5
 
  # Check that all p-diff and n-ohmic have either nwell or dnwell
- templayer missing_nwell *nsd,*mvnsd,*pdiff,*mvpdiff,*pdiode,pdiffres,mvpdiffres,pfet,mvpfet,srammvpfet,mvnvaractor
+ templayer missing_nwell *nsd,*mvnsd,*pdiff,*mvpdiff,*pdiode,pdiffres,mvpdiffres,pfet,mvpfet,srammvpfet,srampfet,mvnvaractor
  and-not dnwell,nwell
 
  # Check that all p-ohmic and n-diff have either pwell + dnwell
@@ -1599,7 +1618,7 @@
  and dnwell
  and-not pwell
 
- templayer ndiff_missing_pwell *ndiff,*ndiode,ndiffres,nfet
+ templayer ndiff_missing_pwell *ndiff,*ndiode,ndiffres,nfet,*sramndiff,sramnfet
  grow 430
  and dnwell
  and-not pwell
@@ -1642,14 +1661,14 @@
  # versions of the cifoutput rules.
 
  templayer check_pplus
-        bloat-or  *pdif,*pdiode,pdiffres,pfet,pcap,*mvpdif,*mvpdiode,mvpdiffres,mvpfet,mvpcap,srammvpfet * 160 allnactivenonfet 0
+        bloat-or  *pdif,*pdiode,pdiffres,pfet,pcap,*mvpdif,*mvpdiode,mvpdiffres,mvpfet,mvpcap,srammvpfet,srampfet * 160 allnactivenonfet 0
         bloat-or psc,mvpsc * 95
         bloat-or *psd,*mvpsd * 20 allnactivenonfet 0
 	grow	200
 	shrink	200
 
  templayer check_nplus
-        bloat-or *ndif,*ndiode,*nndiode,ndiffres,nfet,*mvndif,*mvndiode,*mvnndiode,mvndiffres,mvnfet,*srammvndiff,srammvnfet * 160 allpactivenonfet 0
+        bloat-or *ndif,*ndiode,*nndiode,ndiffres,nfet,*mvndif,*mvndiode,*mvnndiode,mvndiffres,mvnfet,*srammvndiff,srammvnfet,*sramndiff,sramnfet * 160 allpactivenonfet 0
         bloat-or nsc,mvnsc * 95
         bloat-or *nsd,*mvnsd * 20 allpactivenonfet 0
 	grow 	200 
@@ -1852,6 +1871,9 @@
  layer srammvndiff mvndiffarea
  and SRAMDEF
 
+ layer sramndiff ndiffarea
+ and SRAMDEF
+
  # Copy mvndiff areas up for contact checks
  templayer mvxndifcheck mvndifcheck
  copyup mvndifcheck
@@ -1989,6 +2011,11 @@
 
  layer pfet pfetarea
  and-not MOSCAP
+ and-not sramexpand
+
+ layer srampfet pfetarea
+ and-not MOSCAP
+ and sramexpand
 
  layer pcap pfetarea
  and MOSCAP
@@ -2046,6 +2073,14 @@
  and-not POLY
  and nwelldef
  and pfetexpand
+ and-not sramexpand
+
+ layer srampdiff DIFF
+ and-not DUALGATE
+ and-not NPLUS
+ and-not POLY
+ and nwelldef
+ and sramexpand
 
  layer pdiffres DIFF
  and-not POLY
@@ -2061,6 +2096,17 @@
  and NPLUS
  and-not NAT
  and-not MOSCAP
+ and-not sramexpand
+
+ layer sramnfet DIFF
+ and POLY
+ and-not PPLUS
+ and-not DUALGATE
+ and-not nwelldef
+ and NPLUS
+ and-not NAT
+ and-not MOSCAP
+ and sramexpand
 
  layer ncap DIFF
  and POLY
@@ -2324,6 +2370,18 @@
  and MET1
  and-not DUALGATE
  and-not DIODE
+ and-not sramexpand
+ grow 145
+ shrink 140
+
+ layer sramndc CONT
+ and DIFF
+ and NPLUS
+ and-not nwelldef
+ and MET1
+ and-not DUALGATE
+ and-not DIODE
+ and sramexpand
  grow 145
  shrink 140
 
@@ -2344,6 +2402,7 @@
  and MET1
  and-not DUALGATE
  and-not DIODE
+ and-not sramexpand
  grow 145
  shrink 140
 
@@ -2354,6 +2413,17 @@
  and-not DUALGATE
  and-not DIODE
  and pfetexpand
+ and-not sramexpand
+ grow 145
+ shrink 140
+
+ layer srampdc CONT
+ and DIFF
+ and PPLUS
+ and MET1
+ and-not DUALGATE
+ and-not DIODE
+ and sramexpand
  grow 145
  shrink 140
 
@@ -2450,17 +2520,6 @@
  grow 145
  shrink 140
 
- layer srammvpdc CONT
- and DIFF
- and PPLUS
- and MET1
- and DUALGATE
- and nwelldef
- and-not DIODE
- and sramexpand
- grow 145
- shrink 140
-
  layer mvpdc CONT
  and DIFF
  and PPLUS
@@ -2472,6 +2531,17 @@
  grow 145
  shrink 140
 
+ layer srammvpdc CONT
+ and DIFF
+ and PPLUS
+ and MET1
+ and DUALGATE
+ and nwelldef
+ and-not DIODE
+ and sramexpand
+ grow 145
+ shrink 140
+
  layer mvpsc CONT
  and DIFF
  and PPLUS
@@ -3067,12 +3137,14 @@
  spacing *mvndiff,mvnvar,*srammvndiff *psd 360 touching_illegal \
 	 "Diffusion spacing to tap < %d (DF.3a)"
 
- spacing (*ndiff,*ndiode,nfet,nnfet,ncap)/a allnwell 430 touching_illegal \
+ spacing (*ndiff,*sramndiff,*ndiode,nfet,nnfet,ncap)/a allnwell 430 touching_illegal \
 	"N-Diffusion spacing to N-well < %d (DF.8)"
  spacing (*mvndiff,*mvndiode,mvnfet,mvncap,mvnnfet)/a allnwell 600 touching_illegal \
 	"N-Diffusion spacing to N-well < %d (DF.8)"
  spacing *srammvndiff,srammvnfet allnwell 450 touching_illegal \
-	"N-Diffusion spacing to N-well in SRAM < %d (S.DF.8_MV)"
+	"N-Diffusion spacing to N-well in 5V SRAM < %d (S.DF.8_MV)"
+ spacing *sramndiff,sramnfet allnwell 400 touching_illegal \
+	"N-Diffusion spacing to N-well in 3.3V SRAM < %d (S.DF.16_LV)"
  spacing *psd allnwell 120 touching_illegal \
 	"P-Ohmic spacing to N-well < %d (DF.5)"
  spacing *mvpsd allnwell 160 touching_illegal \
@@ -3088,7 +3160,9 @@
  surround *mvpdiff,*mvpdiode,mvpfet,mvpcap allnwell 600 absence_okay \
 	"N-well overlap of P-Diffusion < %d (DF.7)"
  surround srammvpfet allnwell 450 absence_okay \
-	"N-well overlap of P-Diffusion in SRAM < %d (S.DF.7_MV)"
+	"N-well overlap of P-Diffusion in 5V SRAM < %d (S.DF.7_MV)"
+ surround srampfet allnwell 400 absence_okay \
+	"N-well overlap of P-Diffusion in 3.3V SRAM < %d (S.DF.4c_LV)"
  surround *nsd dnwell 620 absence_okay \
 	"Deep N-well overlap of N-Ohmic < %d (DF.4b)"
  surround *mvnsd dnwell 660 absence_okay \
@@ -3131,7 +3205,10 @@
 #-----------------------------
 
  width allpoly 180 "Poly width < %d (PL.1)"
+ width fillpoly 5600 "Poly fill width < %d (DPF.1)"
  spacing allpoly allpoly 240 touching_ok "Poly spacing < %d (PL.3a)"
+ spacing allpoly fillpoly 5000 touching_illegal "Poly fill spacing to poly < %d (DPF.5)"
+ spacing fillpoly fillpoly 2400 touching_ok "Poly fill spacing < %d (DPF.2a)"
  spacing allpolynonfet alldifflvnonfet 100 corner_ok allfets \
 	"Poly spacing to diffusion < %d (PL.5a)"
  # NOTE: Below, 2nd argument was alldiffmvnonfet, but needs to exclude sram diffusion.
@@ -3221,9 +3298,13 @@
 	"MV P-Diffusion overlap of contact < %d (CO.4)"
 
  surround srammvndc *srammvndiff 35 absence_illegal \
-	"MV N-Diffusion overlap of contact in SRAM < %d (S.CO.4_MV)"
+	"MV N-Diffusion overlap of contact in 5V SRAM < %d (S.CO.4_MV)"
  surround srammvpdc/a *srammvpdiff 35 absence_illegal \
-	"MV P-Diffusion overlap of contact in SRAM < %d (S.CO.4_MV)"
+	"MV P-Diffusion overlap of contact in 5V SRAM < %d (S.CO.4_MV)"
+ surround sramndc *sramndiff 35 absence_illegal \
+	"MV N-Diffusion overlap of contact in 3.3V SRAM < %d (S.CO.3_LV)"
+ surround srampdc/a *srampdiff 35 absence_illegal \
+	"MV P-Diffusion overlap of contact in 3.3V SRAM < %d (S.CO.3_LV)"
 
  spacing allpdiffcont allndiffcont 240 touching_illegal \
 	"Diffusion contact spacing < %d (CO.2a - 2 * CO.6)"
@@ -3240,6 +3321,7 @@
  exact_overlap (ndc,pdc,psc,nsc,pc,ndic,pdic)/a
  exact_overlap (mvndc,mvpdc,mvpsc,mvnsc,mvndic,mvnndic,mvpdic)/a
  exact_overlap (srammvndc,srammvpdc)/a
+ exact_overlap (sramndc,srampdc)/a
 
 variants *
 
@@ -3562,6 +3644,8 @@
 
  extend pfet,pcap *pdiff 280 exclusive "Transistor length < %d (PL.1a)"
  extend nfet,ncap *ndiff 280 exclusive "Transistor length < %d (PL.1a)"
+ extend srampfet *srampdiff 280 exclusive "Transistor length < %d (PL.1a)"
+ extend sramnfet *sramndiff 280 exclusive "Transistor length < %d (PL.1a)"
  width pfet,pcap 300 angles "Bent Transistor length < %d (PL.7)"
  width nfet,ncap 300 angles "Bent Transistor length < %d (PL.7)"
 
@@ -3788,30 +3872,31 @@
  planeorder dwell	0
  planeorder well 	1
  planeorder active 	2
- planeorder metal1 	3
- planeorder metal2 	4
+ planeorder poly 	3
+ planeorder metal1 	4
+ planeorder metal2 	5
 #ifdef METALS3
- planeorder metal3 	5
- planeorder block       6
- planeorder comment     7
-#elseif defined(METALS4)
- planeorder metal3 	5
- planeorder metal4 	6
+ planeorder metal3 	6
  planeorder block       7
  planeorder comment     8
-#elseif defined(METALS5)
- planeorder metal3 	5
- planeorder metal4 	6
- planeorder metal5 	7
+#elseif defined(METALS4)
+ planeorder metal3 	6
+ planeorder metal4 	7
  planeorder block       8
  planeorder comment     9
-#elseif defined(METALS6)
- planeorder metal3 	5
- planeorder metal4 	6
- planeorder metal5 	7
- planeorder metaltp 	8
+#elseif defined(METALS5)
+ planeorder metal3 	6
+ planeorder metal4 	7
+ planeorder metal5 	8
  planeorder block       9
  planeorder comment     10
+#elseif defined(METALS6)
+ planeorder metal3 	6
+ planeorder metal4 	7
+ planeorder metal5 	8
+ planeorder metaltp 	9
+ planeorder block       10
+ planeorder comment     11
 #endif
 
  height dnwell	       -0.1	0.0	
@@ -3895,8 +3980,8 @@
  resist (nwell,dnwell)/well      1000000
  resist (pwell,isosub)/well 	 3250000
 
- resist (*ndiff,nsd)/active 	  6300
- resist (*pdiff,*psd)/active	  7000
+ resist (*sramndiff,*ndiff,nsd)/active 	  6300
+ resist (*srampdiff,*pdiff,*psd)/active	  7000
  resist (*srammvndiff,*mvndiff,mvnsd)/active   6300
  resist (*srammvpdiff,*mvpdiff,*mvpsd)/active  7000
 
@@ -3999,8 +4084,8 @@
  resist (nwell,dnwell)/well      1200000
  resist (pwell,isosub)/well 	 3250000
 
- resist (*ndiff,nsd)/active 	 15000
- resist (*pdiff,*psd)/active	 15000
+ resist (*sramndiff,*ndiff,nsd)/active 	 15000
+ resist (*srampdiff,*pdiff,*psd)/active	 15000
  resist (*srammvndiff,*mvndiff,mvnsd)/active  15000
  resist (*srammvpdiff,*mvpdiff,*mvpsd)/active 15000
 
@@ -4103,8 +4188,8 @@
  resist (nwell,dnwell)/well       800000
  resist (pwell,isosub)/well 	 3250000
 
- resist (*ndiff,nsd)/active 	  1000
- resist (*pdiff,*psd)/active	  1000
+ resist (*sramndiff,*ndiff,nsd)/active 	  1000
+ resist (*srampdiff,*pdiff,*psd)/active	  1000
  resist (*srammvndiff,*mvndiff,mvnsd)/active   1000
  resist (*srammvpdiff,*mvpdiff,*mvpsd)/active  1000
 
@@ -4985,6 +5070,10 @@
 	l=l w=w a1=as p1=ps a2=ad p2=pd
  device msubcircuit nfet_03v3 nfet ndiff,ndc ndiff,ndc allpsub error \
 	l=l w=w a1=as p1=ps a2=ad p2=pd
+ device msubcircuit pfet_03v3 srampfet srampdiff,srampdc srampdiff,srampdc \
+	allnwell error l=l w=w a1=as p1=ps a2=ad p2=pd
+ device msubcircuit nfet_03v3 sramnfet sramndiff,sramndc sramndiff,sramndc \
+	allpsub error l=l w=w a1=as p1=ps a2=ad p2=pd
  device msubcircuit pfet_06v0 srammvpfet srammvpdiff,srammvpdc \
 	srammvpdiff,srammvpdc allnwell error l=l w=w a1=as p1=ps a2=ad p2=pd
  device msubcircuit pfet_06v0 mvpfet mvpdiff,mvpdc mvpdiff,mvpdc allnwell error \
diff --git a/sky130/sky130.json b/sky130/sky130.json
index 134f18e..4dfc878 100644
--- a/sky130/sky130.json
+++ b/sky130/sky130.json
@@ -94,8 +94,8 @@
         "magic": "MAGIC_COMMIT"
     },
     "reference": {
-        "open_pdks": "e3262351fb1f5a3cc262ced1c76ebe3f2a5218fb",
-        "magic": "c977e4cf766b441a364ae886200d099d0736583c",
+        "open_pdks": "9608f38a18c41de49402a7b91daaed6b69317398",
+        "magic": "969137d1e2cf6b99785cb320b882a05181cfca01",
         "sky130_fd_pr": "1232782c1b9fab3aacda74d67ce7c92bf7da8105",
         "sky130_fd_io": "e60737bf624df95c211fe99c007ddec78e3e081d",
         "sky130_fd_sc_hs": "c4cfcd760f1964f1670a1ed99c71c7c12b7ad49f",