add flash array layout
diff --git a/flash_array/.magicrc b/flash_array/.magicrc
new file mode 100644
index 0000000..cb421a8
--- /dev/null
+++ b/flash_array/.magicrc
@@ -0,0 +1,74 @@
+puts stdout "Sourcing design .magicrc for technology sky130A ..."
+
+# scale to one
+set scalefac [tech lambda]
+if {[lindex $scalefac 1] < 2} {
+    scalegrid 1 1
+}
+
+# drc off
+drc euclidean on
+
+# Allow override of PDK path from environment variable PDKPATH
+if {[catch {set PDKPATH $env(PDKPATH)}]} {
+    set PDKPATH "~/open_sky130/sky130A"
+}
+
+# loading technology
+tech load $PDKPATH/libs.tech/magic/sky130A.tech
+
+# load device generator
+source $PDKPATH/libs.tech/magic/sky130A.tcl
+
+# load bind keys (optional)
+# source $PDKPATH/libs.tech/magic/sky130A-BindKeys
+
+# set sky130 standard power, ground, and substrate names
+set VDD VPWR
+set GND VGND
+set SUB VSUBS
+
+# Allow override of type of magic library views used, "mag" or "maglef",
+# from environment variable MAGTYPE
+
+if {[catch {set MAGTYPE $env(MAGTYPE)}]} {
+   set MAGTYPE maglef
+}
+
+# add path to reference cells
+if {[file isdir ${PDKPATH}/libs.ref/${MAGTYPE}]} {
+    addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_pr
+    addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_io
+    addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hd
+    addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hdll
+    addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hs
+    addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hvl
+    addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_lp
+    addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ls
+    addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ms
+    addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_osu_sc
+} else {
+    addpath ${PDKPATH}/libs.ref/sky130_fd_pr/${MAGTYPE}
+    addpath ${PDKPATH}/libs.ref/sky130_fd_io/${MAGTYPE}
+    addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hd/${MAGTYPE}
+    addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hdll/${MAGTYPE}
+    addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hs/${MAGTYPE}
+    addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hvl/${MAGTYPE}
+    addpath ${PDKPATH}/libs.ref/sky130_fd_sc_lp/${MAGTYPE}
+    addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ls/${MAGTYPE}
+    addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ms/${MAGTYPE}
+    addpath ${PDKPATH}/libs.ref/sky130_osu_sc/${MAGTYPE}
+}
+
+# add path to GDS cells
+
+# add path to IP from catalog.  This procedure defined in the PDK script.
+catch {magic::query_mylib_ip}
+# add path to local IP from user design space.  Defined in the PDK script.
+catch {magic::query_my_projects}
+
+# set units for grid
+snap on
+
+ext2spice scale off
+ext2spice ngspice
\ No newline at end of file
diff --git a/flash_array/flash_array_2x4.mag b/flash_array/flash_array_2x4.mag
new file mode 100644
index 0000000..a894206
--- /dev/null
+++ b/flash_array/flash_array_2x4.mag
@@ -0,0 +1,8 @@
+magic
+tech sky130A
+timestamp 1633201778
+use sky130_fd_bs_flash__special_sonosfet_star_VH7TJW  sky130_fd_bs_flash__special_sonosfet_star_VH7TJW_0
+timestamp 1633201778
+transform 1 0 291 0 1 371
+box -791 -371 409 429
+<< end >>
diff --git a/flash_array/sky130_fd_bs_flash__special_sonosfet_star_E23TN5.mag b/flash_array/sky130_fd_bs_flash__special_sonosfet_star_E23TN5.mag
new file mode 100644
index 0000000..51fd7cb
--- /dev/null
+++ b/flash_array/sky130_fd_bs_flash__special_sonosfet_star_E23TN5.mag
@@ -0,0 +1,308 @@
+magic
+tech sky130A
+timestamp 1633199526
+<< error_p >>
+rect -88 192 -58 195
+rect 10 192 40 195
+rect -88 174 -82 192
+rect 10 174 16 192
+rect -88 171 -58 174
+rect 10 171 40 174
+rect -39 36 -9 39
+rect 59 36 89 39
+rect -39 18 -33 36
+rect 59 18 65 36
+rect -39 15 -9 18
+rect 59 15 89 18
+rect -39 -19 -9 -16
+rect 59 -19 89 -16
+rect -39 -37 -33 -19
+rect 59 -37 65 -19
+rect -39 -40 -9 -37
+rect 59 -40 89 -37
+rect -88 -175 -58 -172
+rect 10 -175 40 -172
+rect -88 -193 -82 -175
+rect 10 -193 16 -175
+rect -88 -196 -58 -193
+rect 10 -196 40 -193
+<< dnwell >>
+rect -291 -371 291 371
+<< pwell >>
+rect -182 -262 182 262
+<< nsonos >>
+rect -82 55 -64 155
+rect -33 55 -15 155
+rect 16 55 34 155
+rect 65 55 83 155
+rect -82 -156 -64 -56
+rect -33 -156 -15 -56
+rect 16 -156 34 -56
+rect 65 -156 83 -56
+<< ndiff >>
+rect -112 149 -82 155
+rect -112 61 -106 149
+rect -88 61 -82 149
+rect -112 55 -82 61
+rect -64 149 -33 155
+rect -64 61 -58 149
+rect -39 61 -33 149
+rect -64 55 -33 61
+rect -15 149 16 155
+rect -15 61 -9 149
+rect 10 61 16 149
+rect -15 55 16 61
+rect 34 149 65 155
+rect 34 61 40 149
+rect 59 61 65 149
+rect 34 55 65 61
+rect 83 149 113 155
+rect 83 61 89 149
+rect 107 61 113 149
+rect 83 55 113 61
+rect -112 -62 -82 -56
+rect -112 -150 -106 -62
+rect -88 -150 -82 -62
+rect -112 -156 -82 -150
+rect -64 -62 -33 -56
+rect -64 -150 -58 -62
+rect -39 -150 -33 -62
+rect -64 -156 -33 -150
+rect -15 -62 16 -56
+rect -15 -150 -9 -62
+rect 10 -150 16 -62
+rect -15 -156 16 -150
+rect 34 -62 65 -56
+rect 34 -150 40 -62
+rect 59 -150 65 -62
+rect 34 -156 65 -150
+rect 83 -62 113 -56
+rect 83 -150 89 -62
+rect 107 -150 113 -62
+rect 83 -156 113 -150
+<< ndiffc >>
+rect -106 61 -88 149
+rect -58 61 -39 149
+rect -9 61 10 149
+rect 40 61 59 149
+rect 89 61 107 149
+rect -106 -150 -88 -62
+rect -58 -150 -39 -62
+rect -9 -150 10 -62
+rect 40 -150 59 -62
+rect 89 -150 107 -62
+<< psubdiff >>
+rect -164 226 -115 244
+rect 115 226 164 244
+rect -164 196 -146 226
+rect 146 196 164 226
+rect -164 -226 -146 -196
+rect 146 -226 164 -196
+rect -164 -244 -115 -226
+rect 115 -244 164 -226
+<< psubdiffcont >>
+rect -115 226 115 244
+rect -164 -196 -146 196
+rect 146 -196 164 196
+rect -115 -244 115 -226
+<< poly >>
+rect -90 192 -56 200
+rect -90 174 -82 192
+rect -64 174 -56 192
+rect -90 166 -56 174
+rect 8 192 42 200
+rect 8 174 16 192
+rect 34 174 42 192
+rect -82 155 -64 166
+rect -33 155 -15 168
+rect 8 166 42 174
+rect 16 155 34 166
+rect 65 155 83 168
+rect -82 42 -64 55
+rect -33 44 -15 55
+rect -41 36 -7 44
+rect 16 42 34 55
+rect 65 44 83 55
+rect -41 18 -33 36
+rect -15 18 -7 36
+rect -41 10 -7 18
+rect 57 36 91 44
+rect 57 18 65 36
+rect 83 18 91 36
+rect 57 10 91 18
+rect -41 -19 -7 -11
+rect -41 -37 -33 -19
+rect -15 -37 -7 -19
+rect -82 -56 -64 -43
+rect -41 -45 -7 -37
+rect 57 -19 91 -11
+rect 57 -37 65 -19
+rect 83 -37 91 -19
+rect -33 -56 -15 -45
+rect 16 -56 34 -43
+rect 57 -45 91 -37
+rect 65 -56 83 -45
+rect -82 -167 -64 -156
+rect -90 -175 -56 -167
+rect -33 -169 -15 -156
+rect 16 -167 34 -156
+rect -90 -193 -82 -175
+rect -64 -193 -56 -175
+rect -90 -201 -56 -193
+rect 8 -175 42 -167
+rect 65 -169 83 -156
+rect 8 -193 16 -175
+rect 34 -193 42 -175
+rect 8 -201 42 -193
+<< polycont >>
+rect -82 174 -64 192
+rect 16 174 34 192
+rect -33 18 -15 36
+rect 65 18 83 36
+rect -33 -37 -15 -19
+rect 65 -37 83 -19
+rect -82 -193 -64 -175
+rect 16 -193 34 -175
+<< locali >>
+rect -164 226 -115 244
+rect 115 226 164 244
+rect -164 196 -146 226
+rect 146 196 164 226
+rect -90 174 -82 192
+rect -64 174 -56 192
+rect 8 174 16 192
+rect 34 174 42 192
+rect -106 149 -88 157
+rect -106 53 -88 61
+rect -58 149 -39 157
+rect -58 53 -39 61
+rect -9 149 10 157
+rect -9 53 10 61
+rect 40 149 59 157
+rect 40 53 59 61
+rect 89 149 107 157
+rect 89 53 107 61
+rect -41 18 -33 36
+rect -15 18 -7 36
+rect 57 18 65 36
+rect 83 18 91 36
+rect -41 -37 -33 -19
+rect -15 -37 -7 -19
+rect 57 -37 65 -19
+rect 83 -37 91 -19
+rect -106 -62 -88 -54
+rect -106 -158 -88 -150
+rect -58 -62 -39 -54
+rect -58 -158 -39 -150
+rect -9 -62 10 -54
+rect -9 -158 10 -150
+rect 40 -62 59 -54
+rect 40 -158 59 -150
+rect 89 -62 107 -54
+rect 89 -158 107 -150
+rect -90 -193 -82 -175
+rect -64 -193 -56 -175
+rect 8 -193 16 -175
+rect 34 -193 42 -175
+rect -164 -226 -146 -196
+rect 146 -226 164 -196
+rect -164 -244 -115 -226
+rect 115 -244 164 -226
+<< viali >>
+rect -82 174 -64 192
+rect 16 174 34 192
+rect -106 61 -88 149
+rect -58 61 -39 149
+rect -9 61 10 149
+rect 40 61 59 149
+rect 89 61 107 149
+rect -33 18 -15 36
+rect 65 18 83 36
+rect -33 -37 -15 -19
+rect 65 -37 83 -19
+rect -106 -150 -88 -62
+rect -58 -150 -39 -62
+rect -9 -150 10 -62
+rect 40 -150 59 -62
+rect 89 -150 107 -62
+rect -82 -193 -64 -175
+rect 16 -193 34 -175
+<< metal1 >>
+rect -88 192 -58 195
+rect -88 174 -82 192
+rect -64 174 -58 192
+rect -88 171 -58 174
+rect 10 192 40 195
+rect 10 174 16 192
+rect 34 174 40 192
+rect 10 171 40 174
+rect -109 149 -85 155
+rect -109 61 -106 149
+rect -88 61 -85 149
+rect -109 55 -85 61
+rect -61 149 -36 155
+rect -61 61 -58 149
+rect -39 61 -36 149
+rect -61 55 -36 61
+rect -12 149 13 155
+rect -12 61 -9 149
+rect 10 61 13 149
+rect -12 55 13 61
+rect 37 149 62 155
+rect 37 61 40 149
+rect 59 61 62 149
+rect 37 55 62 61
+rect 86 149 110 155
+rect 86 61 89 149
+rect 107 61 110 149
+rect 86 55 110 61
+rect -39 36 -9 39
+rect -39 18 -33 36
+rect -15 18 -9 36
+rect -39 15 -9 18
+rect 59 36 89 39
+rect 59 18 65 36
+rect 83 18 89 36
+rect 59 15 89 18
+rect -39 -19 -9 -16
+rect -39 -37 -33 -19
+rect -15 -37 -9 -19
+rect -39 -40 -9 -37
+rect 59 -19 89 -16
+rect 59 -37 65 -19
+rect 83 -37 89 -19
+rect 59 -40 89 -37
+rect -109 -62 -85 -56
+rect -109 -150 -106 -62
+rect -88 -150 -85 -62
+rect -109 -156 -85 -150
+rect -61 -62 -36 -56
+rect -61 -150 -58 -62
+rect -39 -150 -36 -62
+rect -61 -156 -36 -150
+rect -12 -62 13 -56
+rect -12 -150 -9 -62
+rect 10 -150 13 -62
+rect -12 -156 13 -150
+rect 37 -62 62 -56
+rect 37 -150 40 -62
+rect 59 -150 62 -62
+rect 37 -156 62 -150
+rect 86 -62 110 -56
+rect 86 -150 89 -62
+rect 107 -150 110 -62
+rect 86 -156 110 -150
+rect -88 -175 -58 -172
+rect -88 -193 -82 -175
+rect -64 -193 -58 -175
+rect -88 -196 -58 -193
+rect 10 -175 40 -172
+rect 10 -193 16 -175
+rect 34 -193 40 -175
+rect 10 -196 40 -193
+<< properties >>
+string gencell sky130_fd_bs_flash__special_sonosfet_star
+string FIXED_BBOX -155 -235 155 235
+string parameters w 1 l 0.18 m 2 nf 4 diffcov 100 polycov 100 guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 topc 0 botc 0 poverlap 0 doverlap 1 lmin 0.15 wmin 0.42 compatible {sky130_fd_pr__nfet_01v8 sky130_fd_pr__nfet_01v8_lvt  sky130_fd_bs_flash__special_sonosfet_star  sky130_fd_pr__nfet_g5v0d10v5 sky130_fd_pr__nfet_05v0_nvt  sky130_fd_pr__nfet_03v3_nvt} full_metal 1 viasrc 100 viadrn 100 viagate 100 viagb 0 viagr 0 viagl 0 viagt 0
+string library sky130
+<< end >>
diff --git a/flash_array/sky130_fd_bs_flash__special_sonosfet_star_E2ESN5.mag b/flash_array/sky130_fd_bs_flash__special_sonosfet_star_E2ESN5.mag
new file mode 100644
index 0000000..7bb1ce5
--- /dev/null
+++ b/flash_array/sky130_fd_bs_flash__special_sonosfet_star_E2ESN5.mag
@@ -0,0 +1,308 @@
+magic
+tech sky130A
+timestamp 1633199526
+<< error_p >>
+rect -88 192 -58 195
+rect 10 192 40 195
+rect -88 174 -82 192
+rect 10 174 16 192
+rect -88 171 -58 174
+rect 10 171 40 174
+rect -39 36 -9 39
+rect 59 36 89 39
+rect -39 18 -33 36
+rect 59 18 65 36
+rect -39 15 -9 18
+rect 59 15 89 18
+rect -39 -19 -9 -16
+rect 59 -19 89 -16
+rect -39 -37 -33 -19
+rect 59 -37 65 -19
+rect -39 -40 -9 -37
+rect 59 -40 89 -37
+rect -88 -175 -58 -172
+rect 10 -175 40 -172
+rect -88 -193 -82 -175
+rect 10 -193 16 -175
+rect -88 -196 -58 -193
+rect 10 -196 40 -193
+<< dnwell >>
+rect -291 -371 291 371
+<< pwell >>
+rect -182 -262 182 262
+<< nsonos >>
+rect -82 55 -64 155
+rect -33 55 -15 155
+rect 16 55 34 155
+rect 65 55 83 155
+rect -82 -156 -64 -56
+rect -33 -156 -15 -56
+rect 16 -156 34 -56
+rect 65 -156 83 -56
+<< ndiff >>
+rect -112 149 -82 155
+rect -112 61 -106 149
+rect -88 61 -82 149
+rect -112 55 -82 61
+rect -64 149 -33 155
+rect -64 61 -58 149
+rect -39 61 -33 149
+rect -64 55 -33 61
+rect -15 149 16 155
+rect -15 61 -9 149
+rect 10 61 16 149
+rect -15 55 16 61
+rect 34 149 65 155
+rect 34 61 40 149
+rect 59 61 65 149
+rect 34 55 65 61
+rect 83 149 113 155
+rect 83 61 89 149
+rect 107 61 113 149
+rect 83 55 113 61
+rect -112 -62 -82 -56
+rect -112 -150 -106 -62
+rect -88 -150 -82 -62
+rect -112 -156 -82 -150
+rect -64 -62 -33 -56
+rect -64 -150 -58 -62
+rect -39 -150 -33 -62
+rect -64 -156 -33 -150
+rect -15 -62 16 -56
+rect -15 -150 -9 -62
+rect 10 -150 16 -62
+rect -15 -156 16 -150
+rect 34 -62 65 -56
+rect 34 -150 40 -62
+rect 59 -150 65 -62
+rect 34 -156 65 -150
+rect 83 -62 113 -56
+rect 83 -150 89 -62
+rect 107 -150 113 -62
+rect 83 -156 113 -150
+<< ndiffc >>
+rect -106 61 -88 149
+rect -58 61 -39 149
+rect -9 61 10 149
+rect 40 61 59 149
+rect 89 61 107 149
+rect -106 -150 -88 -62
+rect -58 -150 -39 -62
+rect -9 -150 10 -62
+rect 40 -150 59 -62
+rect 89 -150 107 -62
+<< psubdiff >>
+rect -164 226 -115 244
+rect 115 226 164 244
+rect -164 196 -146 226
+rect 146 196 164 226
+rect -164 -226 -146 -196
+rect 146 -226 164 -196
+rect -164 -244 -115 -226
+rect 115 -244 164 -226
+<< psubdiffcont >>
+rect -115 226 115 244
+rect -164 -196 -146 196
+rect 146 -196 164 196
+rect -115 -244 115 -226
+<< poly >>
+rect -90 192 -56 200
+rect -90 174 -82 192
+rect -64 174 -56 192
+rect -90 166 -56 174
+rect 8 192 42 200
+rect 8 174 16 192
+rect 34 174 42 192
+rect -82 155 -64 166
+rect -33 155 -15 168
+rect 8 166 42 174
+rect 16 155 34 166
+rect 65 155 83 168
+rect -82 42 -64 55
+rect -33 44 -15 55
+rect -41 36 -7 44
+rect 16 42 34 55
+rect 65 44 83 55
+rect -41 18 -33 36
+rect -15 18 -7 36
+rect -41 10 -7 18
+rect 57 36 91 44
+rect 57 18 65 36
+rect 83 18 91 36
+rect 57 10 91 18
+rect -41 -19 -7 -11
+rect -41 -37 -33 -19
+rect -15 -37 -7 -19
+rect -82 -56 -64 -43
+rect -41 -45 -7 -37
+rect 57 -19 91 -11
+rect 57 -37 65 -19
+rect 83 -37 91 -19
+rect -33 -56 -15 -45
+rect 16 -56 34 -43
+rect 57 -45 91 -37
+rect 65 -56 83 -45
+rect -82 -167 -64 -156
+rect -90 -175 -56 -167
+rect -33 -169 -15 -156
+rect 16 -167 34 -156
+rect -90 -193 -82 -175
+rect -64 -193 -56 -175
+rect -90 -201 -56 -193
+rect 8 -175 42 -167
+rect 65 -169 83 -156
+rect 8 -193 16 -175
+rect 34 -193 42 -175
+rect 8 -201 42 -193
+<< polycont >>
+rect -82 174 -64 192
+rect 16 174 34 192
+rect -33 18 -15 36
+rect 65 18 83 36
+rect -33 -37 -15 -19
+rect 65 -37 83 -19
+rect -82 -193 -64 -175
+rect 16 -193 34 -175
+<< locali >>
+rect -164 226 -115 244
+rect 115 226 164 244
+rect -164 196 -146 226
+rect 146 196 164 226
+rect -90 174 -82 192
+rect -64 174 -56 192
+rect 8 174 16 192
+rect 34 174 42 192
+rect -106 149 -88 157
+rect -106 53 -88 61
+rect -58 149 -39 157
+rect -58 53 -39 61
+rect -9 149 10 157
+rect -9 53 10 61
+rect 40 149 59 157
+rect 40 53 59 61
+rect 89 149 107 157
+rect 89 53 107 61
+rect -41 18 -33 36
+rect -15 18 -7 36
+rect 57 18 65 36
+rect 83 18 91 36
+rect -41 -37 -33 -19
+rect -15 -37 -7 -19
+rect 57 -37 65 -19
+rect 83 -37 91 -19
+rect -106 -62 -88 -54
+rect -106 -158 -88 -150
+rect -58 -62 -39 -54
+rect -58 -158 -39 -150
+rect -9 -62 10 -54
+rect -9 -158 10 -150
+rect 40 -62 59 -54
+rect 40 -158 59 -150
+rect 89 -62 107 -54
+rect 89 -158 107 -150
+rect -90 -193 -82 -175
+rect -64 -193 -56 -175
+rect 8 -193 16 -175
+rect 34 -193 42 -175
+rect -164 -226 -146 -196
+rect 146 -226 164 -196
+rect -164 -244 -115 -226
+rect 115 -244 164 -226
+<< viali >>
+rect -82 174 -64 192
+rect 16 174 34 192
+rect -106 61 -88 149
+rect -58 61 -39 149
+rect -9 61 10 149
+rect 40 61 59 149
+rect 89 61 107 149
+rect -33 18 -15 36
+rect 65 18 83 36
+rect -33 -37 -15 -19
+rect 65 -37 83 -19
+rect -106 -150 -88 -62
+rect -58 -150 -39 -62
+rect -9 -150 10 -62
+rect 40 -150 59 -62
+rect 89 -150 107 -62
+rect -82 -193 -64 -175
+rect 16 -193 34 -175
+<< metal1 >>
+rect -88 192 -58 195
+rect -88 174 -82 192
+rect -64 174 -58 192
+rect -88 171 -58 174
+rect 10 192 40 195
+rect 10 174 16 192
+rect 34 174 40 192
+rect 10 171 40 174
+rect -109 149 -85 155
+rect -109 61 -106 149
+rect -88 61 -85 149
+rect -109 55 -85 61
+rect -61 149 -36 155
+rect -61 61 -58 149
+rect -39 61 -36 149
+rect -61 55 -36 61
+rect -12 149 13 155
+rect -12 61 -9 149
+rect 10 61 13 149
+rect -12 55 13 61
+rect 37 149 62 155
+rect 37 61 40 149
+rect 59 61 62 149
+rect 37 55 62 61
+rect 86 149 110 155
+rect 86 61 89 149
+rect 107 61 110 149
+rect 86 55 110 61
+rect -39 36 -9 39
+rect -39 18 -33 36
+rect -15 18 -9 36
+rect -39 15 -9 18
+rect 59 36 89 39
+rect 59 18 65 36
+rect 83 18 89 36
+rect 59 15 89 18
+rect -39 -19 -9 -16
+rect -39 -37 -33 -19
+rect -15 -37 -9 -19
+rect -39 -40 -9 -37
+rect 59 -19 89 -16
+rect 59 -37 65 -19
+rect 83 -37 89 -19
+rect 59 -40 89 -37
+rect -109 -62 -85 -56
+rect -109 -150 -106 -62
+rect -88 -150 -85 -62
+rect -109 -156 -85 -150
+rect -61 -62 -36 -56
+rect -61 -150 -58 -62
+rect -39 -150 -36 -62
+rect -61 -156 -36 -150
+rect -12 -62 13 -56
+rect -12 -150 -9 -62
+rect 10 -150 13 -62
+rect -12 -156 13 -150
+rect 37 -62 62 -56
+rect 37 -150 40 -62
+rect 59 -150 62 -62
+rect 37 -156 62 -150
+rect 86 -62 110 -56
+rect 86 -150 89 -62
+rect 107 -150 110 -62
+rect 86 -156 110 -150
+rect -88 -175 -58 -172
+rect -88 -193 -82 -175
+rect -64 -193 -58 -175
+rect -88 -196 -58 -193
+rect 10 -175 40 -172
+rect 10 -193 16 -175
+rect 34 -193 40 -175
+rect 10 -196 40 -193
+<< properties >>
+string gencell sky130_fd_bs_flash__special_sonosfet_star
+string FIXED_BBOX -155 -235 155 235
+string parameters w 1 l 0.18 m 2 nf 4 diffcov 100 polycov 100 guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.15 wmin 0.42 compatible {sky130_fd_pr__nfet_01v8 sky130_fd_pr__nfet_01v8_lvt  sky130_fd_bs_flash__special_sonosfet_star  sky130_fd_pr__nfet_g5v0d10v5 sky130_fd_pr__nfet_05v0_nvt  sky130_fd_pr__nfet_03v3_nvt} full_metal 1 viasrc 100 viadrn 100 viagate 100 viagb 0 viagr 0 viagl 0 viagt 0
+string library sky130
+<< end >>
diff --git a/flash_array/sky130_fd_bs_flash__special_sonosfet_star_VH7TJW.mag b/flash_array/sky130_fd_bs_flash__special_sonosfet_star_VH7TJW.mag
new file mode 100644
index 0000000..82b2efd
--- /dev/null
+++ b/flash_array/sky130_fd_bs_flash__special_sonosfet_star_VH7TJW.mag
@@ -0,0 +1,235 @@
+magic
+tech sky130A
+timestamp 1633201778
+<< dnwell >>
+rect -791 -371 409 429
+<< nwell >>
+rect -751 -271 -531 329
+<< pwell >>
+rect -461 329 -341 429
+rect -311 329 -251 429
+rect -491 -271 309 329
+<< nmos >>
+rect -211 59 -193 159
+rect 189 59 207 159
+rect -211 -151 -193 -51
+rect 189 -151 207 -51
+<< nsonos >>
+rect -82 55 -64 155
+rect -33 55 -15 155
+rect 16 55 34 155
+rect 65 55 83 155
+rect -82 -156 -64 -56
+rect -33 -156 -15 -56
+rect 16 -156 34 -56
+rect 65 -156 83 -56
+<< ndiff >>
+rect -251 149 -211 159
+rect -251 69 -241 149
+rect -221 69 -211 149
+rect -251 59 -211 69
+rect -193 149 -151 159
+rect -193 69 -181 149
+rect -161 69 -151 149
+rect -193 59 -151 69
+rect -112 149 -82 155
+rect -112 61 -106 149
+rect -88 61 -82 149
+rect -112 55 -82 61
+rect -64 55 -33 155
+rect -15 55 16 155
+rect 34 55 65 155
+rect 83 149 113 155
+rect 83 61 89 149
+rect 107 61 113 149
+rect 83 55 113 61
+rect 149 149 189 159
+rect 149 69 159 149
+rect 179 69 189 149
+rect 149 59 189 69
+rect 207 149 249 159
+rect 207 69 219 149
+rect 239 69 249 149
+rect 207 59 249 69
+rect -251 -61 -211 -51
+rect -251 -141 -241 -61
+rect -221 -141 -211 -61
+rect -251 -151 -211 -141
+rect -193 -61 -151 -51
+rect -193 -141 -181 -61
+rect -161 -141 -151 -61
+rect -193 -151 -151 -141
+rect -112 -62 -82 -56
+rect -112 -150 -106 -62
+rect -88 -150 -82 -62
+rect -112 -156 -82 -150
+rect -64 -156 -33 -56
+rect -15 -156 16 -56
+rect 34 -156 65 -56
+rect 83 -62 113 -56
+rect 83 -150 89 -62
+rect 107 -150 113 -62
+rect 83 -156 113 -150
+rect 149 -61 189 -51
+rect 149 -141 159 -61
+rect 179 -141 189 -61
+rect 149 -151 189 -141
+rect 207 -61 249 -51
+rect 207 -141 219 -61
+rect 239 -141 249 -61
+rect 207 -151 249 -141
+<< ndiffc >>
+rect -241 69 -221 149
+rect -181 69 -161 149
+rect -106 61 -88 149
+rect 89 61 107 149
+rect 159 69 179 149
+rect 219 69 239 149
+rect -241 -141 -221 -61
+rect -181 -141 -161 -61
+rect -106 -150 -88 -62
+rect 89 -150 107 -62
+rect 159 -141 179 -61
+rect 219 -141 239 -61
+<< psubdiff >>
+rect -461 139 -341 159
+rect -461 -131 -441 139
+rect -361 -131 -341 139
+rect -461 -151 -341 -131
+<< nsubdiff >>
+rect -731 289 -551 309
+rect -731 -231 -711 289
+rect -571 -231 -551 289
+rect -731 -251 -551 -231
+<< psubdiffcont >>
+rect -441 -131 -361 139
+<< nsubdiffcont >>
+rect -711 -231 -571 289
+<< poly >>
+rect -36 279 -6 289
+rect -36 259 -31 279
+rect -11 259 -6 279
+rect -36 249 -6 259
+rect 64 279 94 289
+rect 64 259 69 279
+rect 89 259 94 279
+rect 64 249 94 259
+rect -221 219 -181 229
+rect -221 199 -211 219
+rect -191 199 -181 219
+rect -221 189 -181 199
+rect -96 219 -61 229
+rect -96 199 -91 219
+rect -71 199 -61 219
+rect -96 189 -61 199
+rect -211 159 -193 189
+rect -82 155 -64 189
+rect -33 155 -15 249
+rect 14 219 44 229
+rect 14 199 19 219
+rect 39 199 44 219
+rect 14 189 44 199
+rect 16 155 34 189
+rect 65 155 83 249
+rect 179 219 219 229
+rect 179 199 189 219
+rect 209 199 219 219
+rect 179 189 219 199
+rect 189 159 207 189
+rect -211 -51 -193 59
+rect -82 -56 -64 55
+rect -33 -56 -15 55
+rect 16 -56 34 55
+rect 65 -56 83 55
+rect 189 -51 207 59
+rect -211 -171 -193 -151
+rect -82 -171 -64 -156
+rect -33 -171 -15 -156
+rect 16 -171 34 -156
+rect 65 -171 83 -156
+rect 189 -171 207 -151
+<< polycont >>
+rect -31 259 -11 279
+rect 69 259 89 279
+rect -211 199 -191 219
+rect -91 199 -71 219
+rect 19 199 39 219
+rect 189 199 209 219
+<< locali >>
+rect -731 289 -551 429
+rect -731 -231 -711 289
+rect -571 -231 -551 289
+rect -461 139 -341 429
+rect -461 -131 -441 139
+rect -361 -131 -341 139
+rect -461 -151 -341 -131
+rect -311 159 -251 429
+rect -221 219 -181 429
+rect -221 199 -211 219
+rect -191 199 -181 219
+rect -221 189 -181 199
+rect -96 219 -61 429
+rect -36 279 -6 429
+rect -36 259 -31 279
+rect -11 259 -6 279
+rect -36 249 -6 259
+rect -96 199 -91 219
+rect -71 199 -61 219
+rect -96 189 -61 199
+rect 14 219 44 429
+rect 64 279 94 429
+rect 64 259 69 279
+rect 89 259 94 279
+rect 64 249 94 259
+rect 14 199 19 219
+rect 39 199 44 219
+rect 14 189 44 199
+rect 179 219 219 429
+rect 179 199 189 219
+rect 209 199 219 219
+rect 179 189 219 199
+rect -311 149 -221 159
+rect -311 69 -241 149
+rect -311 59 -221 69
+rect -181 149 -151 159
+rect -106 149 -88 157
+rect -161 69 -106 149
+rect -181 61 -106 69
+rect -181 59 -88 61
+rect -311 -51 -251 59
+rect -106 53 -88 59
+rect 89 149 107 157
+rect 149 149 179 159
+rect 107 69 159 149
+rect 107 61 179 69
+rect 89 59 179 61
+rect 219 149 409 159
+rect 239 69 409 149
+rect 219 59 409 69
+rect 89 53 107 59
+rect -311 -61 -221 -51
+rect -311 -141 -241 -61
+rect -311 -151 -221 -141
+rect -181 -61 -151 -51
+rect -106 -61 -88 -54
+rect -161 -62 -88 -61
+rect -161 -141 -106 -62
+rect -181 -150 -106 -141
+rect -181 -151 -88 -150
+rect -106 -158 -88 -151
+rect 89 -61 107 -54
+rect 149 -61 179 -51
+rect 89 -62 159 -61
+rect 107 -141 159 -62
+rect 107 -150 179 -141
+rect 89 -151 179 -150
+rect 219 -61 409 -51
+rect 239 -141 409 -61
+rect 219 -151 409 -141
+rect 89 -158 107 -151
+rect -731 -251 -551 -231
+<< properties >>
+string gencell sky130_fd_bs_flash__special_sonosfet_star
+string parameters w 1 l 0.18 m 2 nf 4 diffcov 100 polycov 100 guard 0 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.15 wmin 0.42 compatible {sky130_fd_pr__nfet_01v8 sky130_fd_pr__nfet_01v8_lvt  sky130_fd_bs_flash__special_sonosfet_star  sky130_fd_pr__nfet_g5v0d10v5 sky130_fd_pr__nfet_05v0_nvt  sky130_fd_pr__nfet_03v3_nvt} full_metal 0 viasrc 100 viadrn 100 viagate 100 viagb 0 viagr 0 viagl 0 viagt 0
+string library sky130
+<< end >>
diff --git a/flash_array/sky130_fd_bs_flash__special_sonosfet_star_VHGSJW.mag b/flash_array/sky130_fd_bs_flash__special_sonosfet_star_VHGSJW.mag
new file mode 100644
index 0000000..4e4f133
--- /dev/null
+++ b/flash_array/sky130_fd_bs_flash__special_sonosfet_star_VHGSJW.mag
@@ -0,0 +1,283 @@
+magic
+tech sky130A
+timestamp 1633199623
+<< error_p >>
+rect -88 192 -58 195
+rect 10 192 40 195
+rect -88 174 -82 192
+rect 10 174 16 192
+rect -88 171 -58 174
+rect 10 171 40 174
+rect -39 36 -9 39
+rect 59 36 89 39
+rect -39 18 -33 36
+rect 59 18 65 36
+rect -39 15 -9 18
+rect 59 15 89 18
+rect -39 -19 -9 -16
+rect 59 -19 89 -16
+rect -39 -37 -33 -19
+rect 59 -37 65 -19
+rect -39 -40 -9 -37
+rect 59 -40 89 -37
+rect -88 -175 -58 -172
+rect 10 -175 40 -172
+rect -88 -193 -82 -175
+rect 10 -193 16 -175
+rect -88 -196 -58 -193
+rect 10 -196 40 -193
+<< dnwell >>
+rect -291 -371 291 371
+<< nsonos >>
+rect -82 55 -64 155
+rect -33 55 -15 155
+rect 16 55 34 155
+rect 65 55 83 155
+rect -82 -156 -64 -56
+rect -33 -156 -15 -56
+rect 16 -156 34 -56
+rect 65 -156 83 -56
+<< ndiff >>
+rect -112 149 -82 155
+rect -112 61 -106 149
+rect -88 61 -82 149
+rect -112 55 -82 61
+rect -64 149 -33 155
+rect -64 61 -58 149
+rect -39 61 -33 149
+rect -64 55 -33 61
+rect -15 149 16 155
+rect -15 61 -9 149
+rect 10 61 16 149
+rect -15 55 16 61
+rect 34 149 65 155
+rect 34 61 40 149
+rect 59 61 65 149
+rect 34 55 65 61
+rect 83 149 113 155
+rect 83 61 89 149
+rect 107 61 113 149
+rect 83 55 113 61
+rect -112 -62 -82 -56
+rect -112 -150 -106 -62
+rect -88 -150 -82 -62
+rect -112 -156 -82 -150
+rect -64 -62 -33 -56
+rect -64 -150 -58 -62
+rect -39 -150 -33 -62
+rect -64 -156 -33 -150
+rect -15 -62 16 -56
+rect -15 -150 -9 -62
+rect 10 -150 16 -62
+rect -15 -156 16 -150
+rect 34 -62 65 -56
+rect 34 -150 40 -62
+rect 59 -150 65 -62
+rect 34 -156 65 -150
+rect 83 -62 113 -56
+rect 83 -150 89 -62
+rect 107 -150 113 -62
+rect 83 -156 113 -150
+<< ndiffc >>
+rect -106 61 -88 149
+rect -58 61 -39 149
+rect -9 61 10 149
+rect 40 61 59 149
+rect 89 61 107 149
+rect -106 -150 -88 -62
+rect -58 -150 -39 -62
+rect -9 -150 10 -62
+rect 40 -150 59 -62
+rect 89 -150 107 -62
+<< poly >>
+rect -90 192 -56 200
+rect -90 174 -82 192
+rect -64 174 -56 192
+rect -90 166 -56 174
+rect 8 192 42 200
+rect 8 174 16 192
+rect 34 174 42 192
+rect -82 155 -64 166
+rect -33 155 -15 168
+rect 8 166 42 174
+rect 16 155 34 166
+rect 65 155 83 168
+rect -82 42 -64 55
+rect -33 44 -15 55
+rect -41 36 -7 44
+rect 16 42 34 55
+rect 65 44 83 55
+rect -41 18 -33 36
+rect -15 18 -7 36
+rect -41 10 -7 18
+rect 57 36 91 44
+rect 57 18 65 36
+rect 83 18 91 36
+rect 57 10 91 18
+rect -41 -19 -7 -11
+rect -41 -37 -33 -19
+rect -15 -37 -7 -19
+rect -82 -56 -64 -43
+rect -41 -45 -7 -37
+rect 57 -19 91 -11
+rect 57 -37 65 -19
+rect 83 -37 91 -19
+rect -33 -56 -15 -45
+rect 16 -56 34 -43
+rect 57 -45 91 -37
+rect 65 -56 83 -45
+rect -82 -167 -64 -156
+rect -90 -175 -56 -167
+rect -33 -169 -15 -156
+rect 16 -167 34 -156
+rect -90 -193 -82 -175
+rect -64 -193 -56 -175
+rect -90 -201 -56 -193
+rect 8 -175 42 -167
+rect 65 -169 83 -156
+rect 8 -193 16 -175
+rect 34 -193 42 -175
+rect 8 -201 42 -193
+<< polycont >>
+rect -82 174 -64 192
+rect 16 174 34 192
+rect -33 18 -15 36
+rect 65 18 83 36
+rect -33 -37 -15 -19
+rect 65 -37 83 -19
+rect -82 -193 -64 -175
+rect 16 -193 34 -175
+<< locali >>
+rect -90 174 -82 192
+rect -64 174 -56 192
+rect 8 174 16 192
+rect 34 174 42 192
+rect -106 149 -88 157
+rect -106 53 -88 61
+rect -58 149 -39 157
+rect -58 53 -39 61
+rect -9 149 10 157
+rect -9 53 10 61
+rect 40 149 59 157
+rect 40 53 59 61
+rect 89 149 107 157
+rect 89 53 107 61
+rect -41 18 -33 36
+rect -15 18 -7 36
+rect 57 18 65 36
+rect 83 18 91 36
+rect -41 -37 -33 -19
+rect -15 -37 -7 -19
+rect 57 -37 65 -19
+rect 83 -37 91 -19
+rect -106 -62 -88 -54
+rect -106 -158 -88 -150
+rect -58 -62 -39 -54
+rect -58 -158 -39 -150
+rect -9 -62 10 -54
+rect -9 -158 10 -150
+rect 40 -62 59 -54
+rect 40 -158 59 -150
+rect 89 -62 107 -54
+rect 89 -158 107 -150
+rect -90 -193 -82 -175
+rect -64 -193 -56 -175
+rect 8 -193 16 -175
+rect 34 -193 42 -175
+<< viali >>
+rect -82 174 -64 192
+rect 16 174 34 192
+rect -106 61 -88 149
+rect -58 61 -39 149
+rect -9 61 10 149
+rect 40 61 59 149
+rect 89 61 107 149
+rect -33 18 -15 36
+rect 65 18 83 36
+rect -33 -37 -15 -19
+rect 65 -37 83 -19
+rect -106 -150 -88 -62
+rect -58 -150 -39 -62
+rect -9 -150 10 -62
+rect 40 -150 59 -62
+rect 89 -150 107 -62
+rect -82 -193 -64 -175
+rect 16 -193 34 -175
+<< metal1 >>
+rect -88 192 -58 195
+rect -88 174 -82 192
+rect -64 174 -58 192
+rect -88 171 -58 174
+rect 10 192 40 195
+rect 10 174 16 192
+rect 34 174 40 192
+rect 10 171 40 174
+rect -109 149 -85 155
+rect -109 61 -106 149
+rect -88 61 -85 149
+rect -109 55 -85 61
+rect -61 149 -36 155
+rect -61 61 -58 149
+rect -39 61 -36 149
+rect -61 55 -36 61
+rect -12 149 13 155
+rect -12 61 -9 149
+rect 10 61 13 149
+rect -12 55 13 61
+rect 37 149 62 155
+rect 37 61 40 149
+rect 59 61 62 149
+rect 37 55 62 61
+rect 86 149 110 155
+rect 86 61 89 149
+rect 107 61 110 149
+rect 86 55 110 61
+rect -39 36 -9 39
+rect -39 18 -33 36
+rect -15 18 -9 36
+rect -39 15 -9 18
+rect 59 36 89 39
+rect 59 18 65 36
+rect 83 18 89 36
+rect 59 15 89 18
+rect -39 -19 -9 -16
+rect -39 -37 -33 -19
+rect -15 -37 -9 -19
+rect -39 -40 -9 -37
+rect 59 -19 89 -16
+rect 59 -37 65 -19
+rect 83 -37 89 -19
+rect 59 -40 89 -37
+rect -109 -62 -85 -56
+rect -109 -150 -106 -62
+rect -88 -150 -85 -62
+rect -109 -156 -85 -150
+rect -61 -62 -36 -56
+rect -61 -150 -58 -62
+rect -39 -150 -36 -62
+rect -61 -156 -36 -150
+rect -12 -62 13 -56
+rect -12 -150 -9 -62
+rect 10 -150 13 -62
+rect -12 -156 13 -150
+rect 37 -62 62 -56
+rect 37 -150 40 -62
+rect 59 -150 62 -62
+rect 37 -156 62 -150
+rect 86 -62 110 -56
+rect 86 -150 89 -62
+rect 107 -150 110 -62
+rect 86 -156 110 -150
+rect -88 -175 -58 -172
+rect -88 -193 -82 -175
+rect -64 -193 -58 -175
+rect -88 -196 -58 -193
+rect 10 -175 40 -172
+rect 10 -193 16 -175
+rect 34 -193 40 -175
+rect 10 -196 40 -193
+<< properties >>
+string gencell sky130_fd_bs_flash__special_sonosfet_star
+string parameters w 1 l 0.18 m 2 nf 4 diffcov 100 polycov 100 guard 0 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 topc 0 botc 0 poverlap 0 doverlap 1 lmin 0.15 wmin 0.42 compatible {sky130_fd_pr__nfet_01v8 sky130_fd_pr__nfet_01v8_lvt  sky130_fd_bs_flash__special_sonosfet_star  sky130_fd_pr__nfet_g5v0d10v5 sky130_fd_pr__nfet_05v0_nvt  sky130_fd_pr__nfet_03v3_nvt} full_metal 0 viasrc 100 viadrn 100 viagate 100 viagb 0 viagr 0 viagl 0 viagt 0
+string library sky130
+<< end >>