Fixing and cleaning all BJT dev for all varinats
diff --git a/BCDLite/klayout/lvs/rule_decks/bjt_connections.lvs b/BCDLite/klayout/lvs/rule_decks/bjt_connections.lvs
index 5d1e477..fb5dcec 100644
--- a/BCDLite/klayout/lvs/rule_decks/bjt_connections.lvs
+++ b/BCDLite/klayout/lvs/rule_decks/bjt_connections.lvs
@@ -38,10 +38,10 @@
 connect(npn_00p54x08p00_b, contact)
 connect(npn_00p54x08p00_c, contact)
 
-# npn_00p54x02p00 nodes connections
-connect(npn_00p54x02p00_e, contact)
-connect(npn_00p54x02p00_b, contact)
-connect(npn_00p54x02p00_c, contact)
+# npn_00p54x04p00 nodes connections
+connect(npn_00p54x04p00_e, contact)
+connect(npn_00p54x04p00_b, contact)
+connect(npn_00p54x04p00_c, contact)
 
 # ==============
 # ---- vpnp ----
@@ -71,3 +71,4 @@
 connect(pnp_00p42x05p00_06v0_e, contact)
 connect(pnp_00p42x05p00_06v0_b, contact)
 connect(pnp_00p42x05p00_06v0_c, contact)
+
diff --git a/BCDLite/klayout/lvs/rule_decks/bjt_derivations.lvs b/BCDLite/klayout/lvs/rule_decks/bjt_derivations.lvs
index 21e4a69..a18c1c5 100644
--- a/BCDLite/klayout/lvs/rule_decks/bjt_derivations.lvs
+++ b/BCDLite/klayout/lvs/rule_decks/bjt_derivations.lvs
@@ -33,9 +33,9 @@
                         .or(swfet_mk).or(mom_mk).or(hvnddd).or(hvpddd).or(hvpolyrs).or(ldmos_xtor)
 
 # vnpn general nodes DERIVATIONS
-vnpn_e = ncomp_mv.interacting(lvs_bjt).and(dnwell).and(dualgate2_d).not(bjt_exclude_layers)
-vnpn_b = pcomp_mv.and(drc_bjt).and(lvpwell).and(dnwell).and(dualgate2_d).not(bjt_exclude_layers)
-vnpn_c = ncomp_mv.and(drc_bjt).not(lvs_bjt).and(dnwell).and(dualgate2_d).not(bjt_exclude_layers)
+vnpn_e = ncomp.interacting(lvs_bjt).and(dnwell).and(dualgate2_d).not(bjt_exclude_layers)
+vnpn_b = pcomp.and(drc_bjt).and(lvpwell).and(dnwell).and(dualgate2_d).not(bjt_exclude_layers)
+vnpn_c = ncomp.and(drc_bjt).not(lvs_bjt).and(dnwell).and(dualgate2_d).not(bjt_exclude_layers)
 
 # npn_05p00x05p00 nodes DERIVATIONS
 npn_05p00x05p00_e = vnpn_e.with_area(24.5.um, 25.5.um).interacting(vnpn_e.edges.with_length(4.8.um, 5.2.um))
@@ -52,10 +52,10 @@
 npn_00p54x08p00_b = vnpn_b.interacting(vnpn_b.extents.interacting(npn_00p54x08p00_e))
 npn_00p54x08p00_c = vnpn_c.interacting(vnpn_c.extents.interacting(npn_00p54x08p00_e))
 
-# npn_00p54x02p00 nodes DERIVATIONS
-npn_00p54x02p00_e = vnpn_e.with_area(0.8.um, 1.5.um).interacting(vnpn_e.edges.with_length(1.8.um, 2.2.um))
-npn_00p54x02p00_b = vnpn_b.interacting(vnpn_b.extents.interacting(npn_00p54x02p00_e))
-npn_00p54x02p00_c = vnpn_c.interacting(vnpn_c.extents.interacting(npn_00p54x02p00_e))
+# npn_00p54x04p00 nodes DERIVATIONS
+npn_00p54x04p00_e = vnpn_e.with_area(1.5.um, 2.5.um).interacting(vnpn_e.edges.with_length(3.8.um, 4.2.um))
+npn_00p54x04p00_b = vnpn_b.interacting(vnpn_b.extents.interacting(npn_00p54x04p00_e))
+npn_00p54x04p00_c = vnpn_c.interacting(vnpn_c.extents.interacting(npn_00p54x04p00_e))
 
 # ==============
 # ---- vpnp ----
@@ -63,9 +63,9 @@
 logger.info('Starting vpnp layers DERIVATIONS')
 
 # vpnp general nodes DERIVATIONS
-vpnp_e = pcomp_mv.and(nwell).interacting(lvs_bjt).not(dnwell).and(dualgate2_d).not(bjt_exclude_layers)
-vpnp_b = ncomp_mv.and(nwell).and(drc_bjt).not(dnwell).and(dualgate2_d).not(bjt_exclude_layers)
-vpnp_c = ptap_mv.not(lvs_bjt).and(drc_bjt).not(dnwell).and(dualgate2_d).not(bjt_exclude_layers)
+vpnp_e = pcomp.and(nwell).interacting(lvs_bjt).not(dnwell).and(dualgate2_d).not(bjt_exclude_layers)
+vpnp_b = ncomp.and(nwell).and(drc_bjt).not(dnwell).and(dualgate2_d).not(bjt_exclude_layers)
+vpnp_c = ptap.not(lvs_bjt).and(drc_bjt).not(dnwell).and(dualgate2_d).not(bjt_exclude_layers)
 
 # pnp_10p00x10p00_06v0 nodes DERIVATIONS
 pnp_10p00x10p00_06v0_e = vpnp_e.with_area(99.5.um, 100.5.um).interacting(vpnp_e.edges.with_length(9.8.um, 10.2.um))
diff --git a/BCDLite/klayout/lvs/rule_decks/bjt_extraction.lvs b/BCDLite/klayout/lvs/rule_decks/bjt_extraction.lvs
index 775eed1..216946d 100644
--- a/BCDLite/klayout/lvs/rule_decks/bjt_extraction.lvs
+++ b/BCDLite/klayout/lvs/rule_decks/bjt_extraction.lvs
@@ -25,10 +25,9 @@
 # ====================
 logger.info('Starting vnpn BJT EXTRACTION')
 
-# vnpn_5x5 BJT
-ignore_parameter('vnpn_5x5', 'AE')
-logger.info('Extracting vnpn_5x5 BJT')
-extract_devices(bjt4('vnpn_5x5'), { 'C' => npn_05p00x05p00_c.extents,
+# npn_05p00x05p00 [vnpn_5x5] BJT
+logger.info('Extracting npn_05p00x05p00 BJT')
+extract_devices(bjt4('npn_05p00x05p00'), { 'C' => npn_05p00x05p00_c.extents,
                                            'B' => npn_05p00x05p00_b.extents,
                                            'E' => npn_05p00x05p00_e,
                                            'S' => sub.extents,
@@ -36,11 +35,11 @@
                                            'tB' => npn_05p00x05p00_b,
                                            'tE' => npn_05p00x05p00_e,
                                            'tS' => sub })
+ignore_parameter('npn_05p00x05p00', 'AE')
 
-# vnpn_0p54x16 BJT
-ignore_parameter('vnpn_0p54x16', 'AE')
-logger.info('Extracting vnpn_0p54x16 BJT')
-extract_devices(bjt4('vnpn_0p54x16'), { 'C' => npn_00p54x16p00_c.extents,
+# npn_00p54x16p00 [vnpn_0p54x16] BJT
+logger.info('Extracting npn_00p54x16p00 BJT')
+extract_devices(bjt4('npn_00p54x16p00'), { 'C' => npn_00p54x16p00_c.extents,
                                            'B' => npn_00p54x16p00_b.extents,
                                            'E' => npn_00p54x16p00_e,
                                            'S' => sub.extents,
@@ -48,11 +47,11 @@
                                            'tB' => npn_00p54x16p00_b,
                                            'tE' => npn_00p54x16p00_e,
                                            'tS' => sub })
+ignore_parameter('npn_00p54x16p00', 'AE')
 
-# vnpn_0p54x8 BJT
-ignore_parameter('vnpn_0p54x8', 'AE')
-logger.info('Extracting vnpn_0p54x8 BJT')
-extract_devices(bjt4('vnpn_0p54x8'), { 'C' => npn_00p54x08p00_c.extents,
+# npn_00p54x08p00 [vnpn_0p54x8] BJT
+logger.info('Extracting npn_00p54x08p00 BJT')
+extract_devices(bjt4('npn_00p54x08p00'), { 'C' => npn_00p54x08p00_c.extents,
                                            'B' => npn_00p54x08p00_b.extents,
                                            'E' => npn_00p54x08p00_e,
                                            'S' => sub.extents,
@@ -60,69 +59,71 @@
                                            'tB' => npn_00p54x08p00_b,
                                            'tE' => npn_00p54x08p00_e,
                                            'tS' => sub })
+ignore_parameter('npn_00p54x08p00', 'AE')
 
-# vnpn_0p54x2 BJT
-ignore_parameter('vnpn_0p54x2', 'AE')
-logger.info('Extracting vnpn_0p54x2 BJT')
-extract_devices(bjt4('vnpn_0p54x2'), { 'C' => npn_00p54x02p00_c.extents,
-                                           'B' => npn_00p54x02p00_b.extents,
-                                           'E' => npn_00p54x02p00_e,
+# npn_00p54x04p00 [vnpn_0p54x4] BJT
+logger.info('Extracting npn_00p54x04p00 BJT')
+extract_devices(bjt4('npn_00p54x04p00'), { 'C' => npn_00p54x04p00_c.extents,
+                                           'B' => npn_00p54x04p00_b.extents,
+                                           'E' => npn_00p54x04p00_e,
                                            'S' => sub.extents,
-                                           'tC' => npn_00p54x02p00_c,
-                                           'tB' => npn_00p54x02p00_b,
-                                           'tE' => npn_00p54x02p00_e,
+                                           'tC' => npn_00p54x04p00_c,
+                                           'tB' => npn_00p54x04p00_b,
+                                           'tE' => npn_00p54x04p00_e,
                                            'tS' => sub })
+ignore_parameter('npn_00p54x04p00', 'AE')
 
 # ====================
 # ------- vpnp--------
 # ====================
 logger.info('Starting vpnp BJT EXTRACTION')
 
-# vpnp_6p0_10x10 BJT
-ignore_parameter('vpnp_6p0_10x10', 'AE')
-logger.info('Extracting vpnp_6p0_10x10 BJT')
-extract_devices(bjt3('vpnp_6p0_10x10'), { 'C' => pnp_10p00x10p00_06v0_c.extents,
-                                           'B' => pnp_10p00x10p00_06v0_b.extents,
-                                           'E' => pnp_10p00x10p00_06v0_e,
-                                           'tC' => pnp_10p00x10p00_06v0_c,
-                                           'tB' => pnp_10p00x10p00_06v0_b,
-                                           'tE' => pnp_10p00x10p00_06v0_e })
+# pnp_10p00x10p00_06v0 [vpnp_6p0_10x10] BJT
+logger.info('Extracting pnp_10p00x10p00_06v0 BJT')
+extract_devices(bjt3('pnp_10p00x10p00_06v0'), { 'C' => pnp_10p00x10p00_06v0_c.extents,
+                                                'B' => pnp_10p00x10p00_06v0_b.extents,
+                                                'E' => pnp_10p00x10p00_06v0_e,
+                                                'tC' => pnp_10p00x10p00_06v0_c,
+                                                'tB' => pnp_10p00x10p00_06v0_b,
+                                                'tE' => pnp_10p00x10p00_06v0_e })
+ignore_parameter('pnp_10p00x10p00_06v0', 'AE')
 
-# vpnp_6p0_5x5 BJT
-ignore_parameter('vpnp_6p0_5x5', 'AE')
-logger.info('Extracting vpnp_6p0_5x5 BJT')
-extract_devices(bjt3('vpnp_6p0_5x5'), { 'C' => pnp_05p00x05p00_06v0_c.extents,
-                                           'B' => pnp_05p00x05p00_06v0_b.extents,
-                                           'E' => pnp_05p00x05p00_06v0_e,
-                                           'tC' => pnp_05p00x05p00_06v0_c,
-                                           'tB' => pnp_05p00x05p00_06v0_b,
-                                           'tE' => pnp_05p00x05p00_06v0_e })
+# pnp_05p00x05p00_06v0 [vpnp_6p0_5x5] BJT
+logger.info('Extracting pnp_05p00x05p00_06v0 BJT')
+extract_devices(bjt3('pnp_05p00x05p00_06v0'), { 'C' => pnp_05p00x05p00_06v0_c.extents,
+                                                'B' => pnp_05p00x05p00_06v0_b.extents,
+                                                'E' => pnp_05p00x05p00_06v0_e,
+                                                'tC' => pnp_05p00x05p00_06v0_c,
+                                                'tB' => pnp_05p00x05p00_06v0_b,
+                                                'tE' => pnp_05p00x05p00_06v0_e })
+ignore_parameter('pnp_05p00x05p00_06v0', 'AE')
 
-# vpnp_6p0_0p42x20 BJT
-ignore_parameter('vpnp_6p0_0p42x20', 'AE')
-logger.info('Extracting vpnp_6p0_0p42x20 BJT')
-extract_devices(bjt3('vpnp_6p0_0p42x20'), { 'C' => pnp_00p42x20p00_06v0_c.extents,
-                                           'B' => pnp_00p42x20p00_06v0_b.extents,
-                                           'E' => pnp_00p42x20p00_06v0_e,
-                                           'tC' => pnp_00p42x20p00_06v0_c,
-                                           'tB' => pnp_00p42x20p00_06v0_b,
-                                           'tE' => pnp_00p42x20p00_06v0_e })
-# vpnp_6p0_0p42x10 BJT
-ignore_parameter('vpnp_6p0_0p42x10', 'AE')
-logger.info('Extracting vpnp_6p0_0p42x10 BJT')
-extract_devices(bjt3('vpnp_6p0_0p42x10'), { 'C' => pnp_00p42x10p00_06v0_c.extents,
-                                           'B' => pnp_00p42x10p00_06v0_b.extents,
-                                           'E' => pnp_00p42x10p00_06v0_e,
-                                           'tC' => pnp_00p42x10p00_06v0_c,
-                                           'tB' => pnp_00p42x10p00_06v0_b,
-                                           'tE' => pnp_00p42x10p00_06v0_e })
+# pnp_00p42x20p00_06v0 [vpnp_6p0_0p42x20] BJT
+logger.info('Extracting pnp_00p42x20p00_06v0 BJT')
+extract_devices(bjt3('pnp_00p42x20p00_06v0'), { 'C' => pnp_00p42x20p00_06v0_c.extents,
+                                                'B' => pnp_00p42x20p00_06v0_b.extents,
+                                                'E' => pnp_00p42x20p00_06v0_e,
+                                                'tC' => pnp_00p42x20p00_06v0_c,
+                                                'tB' => pnp_00p42x20p00_06v0_b,
+                                                'tE' => pnp_00p42x20p00_06v0_e })
+ignore_parameter('pnp_00p42x20p00_06v0', 'AE')
 
-# vpnp_6p0_0p42x5 BJT
-ignore_parameter('vpnp_6p0_0p42x5', 'AE')
-logger.info('Extracting vpnp_6p0_0p42x5 BJT')
-extract_devices(bjt3('vpnp_6p0_0p42x5'), { 'C' => pnp_00p42x05p00_06v0_c.extents,
-                                           'B' => pnp_00p42x05p00_06v0_b.extents,
-                                           'E' => pnp_00p42x05p00_06v0_e,
-                                           'tC' => pnp_00p42x05p00_06v0_c,
-                                           'tB' => pnp_00p42x05p00_06v0_b,
-                                           'tE' => pnp_00p42x05p00_06v0_e })
+# pnp_00p42x10p00_06v0 [vpnp_6p0_0p42x10] BJT
+logger.info('Extracting pnp_00p42x10p00_06v0 BJT')
+extract_devices(bjt3('pnp_00p42x10p00_06v0'), { 'C' => pnp_00p42x10p00_06v0_c.extents,
+                                                'B' => pnp_00p42x10p00_06v0_b.extents,
+                                                'E' => pnp_00p42x10p00_06v0_e,
+                                                'tC' => pnp_00p42x10p00_06v0_c,
+                                                'tB' => pnp_00p42x10p00_06v0_b,
+                                                'tE' => pnp_00p42x10p00_06v0_e })
+ignore_parameter('pnp_00p42x10p00_06v0', 'AE')
+
+# pnp_00p42x05p00_06v0 [vpnp_6p0_0p42x5] BJT
+logger.info('Extracting pnp_00p42x05p00_06v0 BJT')
+extract_devices(bjt3('pnp_00p42x05p00_06v0'), { 'C' => pnp_00p42x05p00_06v0_c.extents,
+                                                'B' => pnp_00p42x05p00_06v0_b.extents,
+                                                'E' => pnp_00p42x05p00_06v0_e,
+                                                'tC' => pnp_00p42x05p00_06v0_c,
+                                                'tB' => pnp_00p42x05p00_06v0_b,
+                                                'tE' => pnp_00p42x05p00_06v0_e })
+ignore_parameter('pnp_00p42x05p00_06v0', 'AE')
diff --git a/BCDLite/klayout/lvs/rule_decks/general_derivations.lvs b/BCDLite/klayout/lvs/rule_decks/general_derivations.lvs
index 93e36ca..481531b 100644
--- a/BCDLite/klayout/lvs/rule_decks/general_derivations.lvs
+++ b/BCDLite/klayout/lvs/rule_decks/general_derivations.lvs
@@ -28,21 +28,17 @@
 pcomp           = comp.and(pplus)
 tgate           = poly2.and(comp).not(res_mk)
 
-ncomp_mv        = ncomp.and(dualgate2_d)
-pcomp_mv        = pcomp.and(dualgate2_d)
-
 nactive         = ncomp.not(all_nwell)
 nactive_pw      = ncomp.not(all_nwell_pw)
 ngate           = nactive.and(tgate)
 ngate_pw        = nactive_pw.and(tgate)
 nsd             = nactive.interacting(ngate).not(ngate).not(res_mk)
-ptap            = pcomp.not(all_nwell).not(res_mk)
-ptap_mv         = ptap.and(dualgate2_d)
+ptap            = pcomp.not(all_nwell_pw).not(res_mk)
 
 pactive         = pcomp.and(all_nwell)
 pgate           = pactive.and(tgate)
 psd             = pactive.interacting(pgate).not(pgate).not(res_mk)
-ntap            = ncomp.and(all_nwell).not(res_mk)
+ntap            = ncomp.and(all_nwell_pw).not(res_mk)
 
 ngate_dn        = ngate.and(dnwell_p)
 ptap_dn         = ptap.and(dnwell_p).outside(well_diode_mk)
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/npn_00p54x04p00.gds b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/npn_00p54x04p00.gds
new file mode 100644
index 0000000..320b56f
--- /dev/null
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/npn_00p54x04p00.gds
Binary files differ
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vnpn_0p54x8.gds b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/npn_00p54x08p00.gds
similarity index 73%
rename from BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vnpn_0p54x8.gds
rename to BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/npn_00p54x08p00.gds
index 84d711b..60d2cfb 100644
--- a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vnpn_0p54x8.gds
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/npn_00p54x08p00.gds
Binary files differ
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vnpn_0p54x16.gds b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/npn_00p54x16p00.gds
similarity index 67%
rename from BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vnpn_0p54x16.gds
rename to BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/npn_00p54x16p00.gds
index 4a91319..1571b21 100644
--- a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vnpn_0p54x16.gds
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/npn_00p54x16p00.gds
Binary files differ
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/npn_05p00x05p00.gds b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/npn_05p00x05p00.gds
new file mode 100644
index 0000000..126a029
--- /dev/null
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/npn_05p00x05p00.gds
Binary files differ
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vpnp_6p0_0p42x5.gds b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_00p42x05p00_06v0.gds
similarity index 96%
rename from BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vpnp_6p0_0p42x5.gds
rename to BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_00p42x05p00_06v0.gds
index b2b60fc..de8d33d 100644
--- a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vpnp_6p0_0p42x5.gds
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_00p42x05p00_06v0.gds
Binary files differ
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vpnp_6p0_0p42x10.gds b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_00p42x10p00_06v0.gds
similarity index 95%
rename from BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vpnp_6p0_0p42x10.gds
rename to BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_00p42x10p00_06v0.gds
index f6474e6..d0fb1d2 100644
--- a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vpnp_6p0_0p42x10.gds
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_00p42x10p00_06v0.gds
Binary files differ
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_00p42x20p00_06v0.gds b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_00p42x20p00_06v0.gds
new file mode 100644
index 0000000..8ccd893
--- /dev/null
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_00p42x20p00_06v0.gds
Binary files differ
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vpnp_6p0_5x5.gds b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_05p00x05p00_06v0.gds
similarity index 75%
rename from BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vpnp_6p0_5x5.gds
rename to BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_05p00x05p00_06v0.gds
index 2ea4827..4ae5c69 100644
--- a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vpnp_6p0_5x5.gds
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_05p00x05p00_06v0.gds
Binary files differ
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vpnp_6p0_10x10.gds b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_10p00x10p00_06v0.gds
similarity index 74%
rename from BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vpnp_6p0_10x10.gds
rename to BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_10p00x10p00_06v0.gds
index 83d1ce6..bfeb0d0 100644
--- a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vpnp_6p0_10x10.gds
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_10p00x10p00_06v0.gds
Binary files differ
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vnpn_0p54x2.gds b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vnpn_0p54x2.gds
deleted file mode 100644
index 7b26685..0000000
--- a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vnpn_0p54x2.gds
+++ /dev/null
Binary files differ
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vnpn_5x5.gds b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vnpn_5x5.gds
deleted file mode 100644
index 1ad6cdd..0000000
--- a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vnpn_5x5.gds
+++ /dev/null
Binary files differ
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vpnp_6p0_0p42x20.gds b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vpnp_6p0_0p42x20.gds
deleted file mode 100644
index 692ccc1..0000000
--- a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vpnp_6p0_0p42x20.gds
+++ /dev/null
Binary files differ
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vnpn_0p54x16.cdl b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/npn_00p54x04p00.cdl
similarity index 76%
copy from BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vnpn_0p54x16.cdl
copy to BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/npn_00p54x04p00.cdl
index 35213d6..e50924d 100644
--- a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vnpn_0p54x16.cdl
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/npn_00p54x04p00.cdl
@@ -2,9 +2,9 @@
 * auCdl Netlist:
 * 
 * Library Name:  TCG_Library
-* Top Cell Name: vnpn_0p54x16
+* Top Cell Name: npn_00p54x04p00
 * View Name:     schematic
-* Netlisted on:  Nov 24 10:25:03 2021
+* Netlisted on:  Nov 24 10:22:13 2021
 ************************************************************************
 
 *.BIPOLAR
@@ -22,13 +22,12 @@
 
 ************************************************************************
 * Library Name: TCG_Library
-* Cell Name:    vnpn_0p54x16
+* Cell Name:    npn_00p54x04p00
 * View Name:    schematic
 ************************************************************************
 
-.SUBCKT vnpn_0p54x16 I1_default_B I1_default_C I1_default_E I1_default_S
+.SUBCKT npn_00p54x04p00 I1_default_B I1_default_C I1_default_E I1_default_S
 *.PININFO I1_default_B:I I1_default_C:I I1_default_E:I I1_default_S:I
-QI1_default I1_default_C I1_default_B I1_default_E I1_default_S vnpn_0p54x16 
-+ m=1
+QI1_default I1_default_C I1_default_B I1_default_E I1_default_S npn_00p54x04p00 m=1
 .ENDS
 
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vnpn_0p54x8.cdl b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/npn_00p54x08p00.cdl
similarity index 81%
rename from BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vnpn_0p54x8.cdl
rename to BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/npn_00p54x08p00.cdl
index ef185ba..20bfa6c 100644
--- a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vnpn_0p54x8.cdl
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/npn_00p54x08p00.cdl
@@ -2,7 +2,7 @@
 * auCdl Netlist:
 * 
 * Library Name:  TCG_Library
-* Top Cell Name: vnpn_0p54x8
+* Top Cell Name: npn_00p54x08p00
 * View Name:     schematic
 * Netlisted on:  Nov 24 10:24:33 2021
 ************************************************************************
@@ -22,12 +22,12 @@
 
 ************************************************************************
 * Library Name: TCG_Library
-* Cell Name:    vnpn_0p54x8
+* Cell Name:    npn_00p54x08p00
 * View Name:    schematic
 ************************************************************************
 
-.SUBCKT vnpn_0p54x8 I1_default_B I1_default_C I1_default_E I1_default_S
+.SUBCKT npn_00p54x08p00 I1_default_B I1_default_C I1_default_E I1_default_S
 *.PININFO I1_default_B:I I1_default_C:I I1_default_E:I I1_default_S:I
-QI1_default I1_default_C I1_default_B I1_default_E I1_default_S vnpn_0p54x8 m=1
+QI1_default I1_default_C I1_default_B I1_default_E I1_default_S npn_00p54x08p00 m=1
 .ENDS
 
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vnpn_0p54x16.cdl b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/npn_00p54x16p00.cdl
similarity index 81%
rename from BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vnpn_0p54x16.cdl
rename to BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/npn_00p54x16p00.cdl
index 35213d6..13d3fd5 100644
--- a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vnpn_0p54x16.cdl
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/npn_00p54x16p00.cdl
@@ -2,7 +2,7 @@
 * auCdl Netlist:
 * 
 * Library Name:  TCG_Library
-* Top Cell Name: vnpn_0p54x16
+* Top Cell Name: npn_00p54x16p00
 * View Name:     schematic
 * Netlisted on:  Nov 24 10:25:03 2021
 ************************************************************************
@@ -22,13 +22,13 @@
 
 ************************************************************************
 * Library Name: TCG_Library
-* Cell Name:    vnpn_0p54x16
+* Cell Name:    npn_00p54x16p00
 * View Name:    schematic
 ************************************************************************
 
-.SUBCKT vnpn_0p54x16 I1_default_B I1_default_C I1_default_E I1_default_S
+.SUBCKT npn_00p54x16p00 I1_default_B I1_default_C I1_default_E I1_default_S
 *.PININFO I1_default_B:I I1_default_C:I I1_default_E:I I1_default_S:I
-QI1_default I1_default_C I1_default_B I1_default_E I1_default_S vnpn_0p54x16 
+QI1_default I1_default_C I1_default_B I1_default_E I1_default_S npn_00p54x16p00 
 + m=1
 .ENDS
 
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vnpn_5x5.cdl b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/npn_05p00x05p00.cdl
similarity index 81%
rename from BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vnpn_5x5.cdl
rename to BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/npn_05p00x05p00.cdl
index d22f81b..2aaf2dc 100644
--- a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vnpn_5x5.cdl
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/npn_05p00x05p00.cdl
@@ -2,7 +2,7 @@
 * auCdl Netlist:
 * 
 * Library Name:  TCG_Library
-* Top Cell Name: vnpn_5x5
+* Top Cell Name: npn_05p00x05p00
 * View Name:     schematic
 * Netlisted on:  Nov 24 10:26:06 2021
 ************************************************************************
@@ -22,12 +22,12 @@
 
 ************************************************************************
 * Library Name: TCG_Library
-* Cell Name:    vnpn_5x5
+* Cell Name:    npn_05p00x05p00
 * View Name:    schematic
 ************************************************************************
 
-.SUBCKT vnpn_5x5 I1_default_B I1_default_C I1_default_E I1_default_S
+.SUBCKT npn_05p00x05p00 I1_default_B I1_default_C I1_default_E I1_default_S
 *.PININFO I1_default_B:I I1_default_C:I I1_default_E:I I1_default_S:I
-QI1_default I1_default_C I1_default_B I1_default_E I1_default_S vnpn_5x5 m=1
+QI1_default I1_default_C I1_default_B I1_default_E I1_default_S npn_05p00x05p00 m=1
 .ENDS
 
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_10x10.cdl b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_00p42x05p00_06v0.cdl
similarity index 74%
copy from BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_10x10.cdl
copy to BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_00p42x05p00_06v0.cdl
index 5eb6971..eaab824 100644
--- a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_10x10.cdl
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_00p42x05p00_06v0.cdl
@@ -2,7 +2,7 @@
 * auCdl Netlist:
 * 
 * Library Name:  TCG_Library
-* Top Cell Name: vpnp_6p0_10x10
+* Top Cell Name: pnp_00p42x05p00_06v0
 * View Name:     schematic
 * Netlisted on:  Nov 24 10:34:45 2021
 ************************************************************************
@@ -22,12 +22,12 @@
 
 ************************************************************************
 * Library Name: TCG_Library
-* Cell Name:    vpnp_6p0_10x10
+* Cell Name:    pnp_00p42x05p00_06v0
 * View Name:    schematic
 ************************************************************************
 
-.SUBCKT vpnp_6p0_10x10 I1_default_B I1_default_C I1_default_E
+.SUBCKT pnp_00p42x05p00_06v0 I1_default_B I1_default_C I1_default_E
 *.PININFO I1_default_B:I I1_default_C:I I1_default_E:I
-QI1_default I1_default_C I1_default_B I1_default_E vpnp_6p0_10x10 m=1
+QI1_default I1_default_C I1_default_B I1_default_E pnp_00p42x05p00_06v0 m=1
 .ENDS
 
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_10x10.cdl b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_00p42x10p00_06v0.cdl
similarity index 74%
copy from BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_10x10.cdl
copy to BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_00p42x10p00_06v0.cdl
index 5eb6971..27d28e5 100644
--- a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_10x10.cdl
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_00p42x10p00_06v0.cdl
@@ -2,7 +2,7 @@
 * auCdl Netlist:
 * 
 * Library Name:  TCG_Library
-* Top Cell Name: vpnp_6p0_10x10
+* Top Cell Name: pnp_00p42x10p00_06v0
 * View Name:     schematic
 * Netlisted on:  Nov 24 10:34:45 2021
 ************************************************************************
@@ -22,12 +22,12 @@
 
 ************************************************************************
 * Library Name: TCG_Library
-* Cell Name:    vpnp_6p0_10x10
+* Cell Name:    pnp_00p42x10p00_06v0
 * View Name:    schematic
 ************************************************************************
 
-.SUBCKT vpnp_6p0_10x10 I1_default_B I1_default_C I1_default_E
+.SUBCKT pnp_00p42x10p00_06v0 I1_default_B I1_default_C I1_default_E
 *.PININFO I1_default_B:I I1_default_C:I I1_default_E:I
-QI1_default I1_default_C I1_default_B I1_default_E vpnp_6p0_10x10 m=1
+QI1_default I1_default_C I1_default_B I1_default_E pnp_00p42x10p00_06v0 m=1
 .ENDS
 
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_10x10.cdl b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_00p42x20p00_06v0.cdl
similarity index 74%
rename from BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_10x10.cdl
rename to BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_00p42x20p00_06v0.cdl
index 5eb6971..62f7ae5 100644
--- a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_10x10.cdl
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_00p42x20p00_06v0.cdl
@@ -2,7 +2,7 @@
 * auCdl Netlist:
 * 
 * Library Name:  TCG_Library
-* Top Cell Name: vpnp_6p0_10x10
+* Top Cell Name: pnp_00p42x20p00_06v0
 * View Name:     schematic
 * Netlisted on:  Nov 24 10:34:45 2021
 ************************************************************************
@@ -22,12 +22,12 @@
 
 ************************************************************************
 * Library Name: TCG_Library
-* Cell Name:    vpnp_6p0_10x10
+* Cell Name:    pnp_00p42x20p00_06v0
 * View Name:    schematic
 ************************************************************************
 
-.SUBCKT vpnp_6p0_10x10 I1_default_B I1_default_C I1_default_E
+.SUBCKT pnp_00p42x20p00_06v0 I1_default_B I1_default_C I1_default_E
 *.PININFO I1_default_B:I I1_default_C:I I1_default_E:I
-QI1_default I1_default_C I1_default_B I1_default_E vpnp_6p0_10x10 m=1
+QI1_default I1_default_C I1_default_B I1_default_E pnp_00p42x20p00_06v0 m=1
 .ENDS
 
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_10x10.cdl b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_05p00x05p00_06v0.cdl
similarity index 74%
copy from BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_10x10.cdl
copy to BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_05p00x05p00_06v0.cdl
index 5eb6971..479079b 100644
--- a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_10x10.cdl
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_05p00x05p00_06v0.cdl
@@ -2,7 +2,7 @@
 * auCdl Netlist:
 * 
 * Library Name:  TCG_Library
-* Top Cell Name: vpnp_6p0_10x10
+* Top Cell Name: pnp_05p00x05p00_06v0
 * View Name:     schematic
 * Netlisted on:  Nov 24 10:34:45 2021
 ************************************************************************
@@ -22,12 +22,12 @@
 
 ************************************************************************
 * Library Name: TCG_Library
-* Cell Name:    vpnp_6p0_10x10
+* Cell Name:    pnp_05p00x05p00_06v0
 * View Name:    schematic
 ************************************************************************
 
-.SUBCKT vpnp_6p0_10x10 I1_default_B I1_default_C I1_default_E
+.SUBCKT pnp_05p00x05p00_06v0 I1_default_B I1_default_C I1_default_E
 *.PININFO I1_default_B:I I1_default_C:I I1_default_E:I
-QI1_default I1_default_C I1_default_B I1_default_E vpnp_6p0_10x10 m=1
+QI1_default I1_default_C I1_default_B I1_default_E pnp_05p00x05p00_06v0 m=1
 .ENDS
 
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_10x10.cdl b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_10p00x10p00_06v0.cdl
similarity index 74%
copy from BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_10x10.cdl
copy to BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_10p00x10p00_06v0.cdl
index 5eb6971..ece20d3 100644
--- a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_10x10.cdl
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_10p00x10p00_06v0.cdl
@@ -2,7 +2,7 @@
 * auCdl Netlist:
 * 
 * Library Name:  TCG_Library
-* Top Cell Name: vpnp_6p0_10x10
+* Top Cell Name: pnp_10p00x10p00_06v0
 * View Name:     schematic
 * Netlisted on:  Nov 24 10:34:45 2021
 ************************************************************************
@@ -22,12 +22,12 @@
 
 ************************************************************************
 * Library Name: TCG_Library
-* Cell Name:    vpnp_6p0_10x10
+* Cell Name:    pnp_10p00x10p00_06v0
 * View Name:    schematic
 ************************************************************************
 
-.SUBCKT vpnp_6p0_10x10 I1_default_B I1_default_C I1_default_E
+.SUBCKT pnp_10p00x10p00_06v0 I1_default_B I1_default_C I1_default_E
 *.PININFO I1_default_B:I I1_default_C:I I1_default_E:I
-QI1_default I1_default_C I1_default_B I1_default_E vpnp_6p0_10x10 m=1
+QI1_default I1_default_C I1_default_B I1_default_E pnp_10p00x10p00_06v0 m=1
 .ENDS
 
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vnpn_0p54x2.cdl b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vnpn_0p54x2.cdl
deleted file mode 100644
index a2046bf..0000000
--- a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vnpn_0p54x2.cdl
+++ /dev/null
@@ -1,33 +0,0 @@
-************************************************************************
-* auCdl Netlist:
-* 
-* Library Name:  TCG_Library
-* Top Cell Name: vnpn_0p54x2
-* View Name:     schematic
-* Netlisted on:  Nov 24 10:21:29 2021
-************************************************************************
-
-*.BIPOLAR
-*.RESI = 2000 
-*.RESVAL
-*.CAPVAL
-*.DIOPERI
-*.DIOAREA
-*.EQUATION
-*.SCALE METER
-*.MEGA
-.PARAM
-
-
-
-************************************************************************
-* Library Name: TCG_Library
-* Cell Name:    vnpn_0p54x2
-* View Name:    schematic
-************************************************************************
-
-.SUBCKT vnpn_0p54x2 I1_default_B I1_default_C I1_default_E I1_default_S
-*.PININFO I1_default_B:I I1_default_C:I I1_default_E:I I1_default_S:I
-QI1_default I1_default_C I1_default_B I1_default_E I1_default_S vnpn_0p54x2 m=1
-.ENDS
-
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_0p42x10.cdl b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_0p42x10.cdl
deleted file mode 100644
index 2b6a54c..0000000
--- a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_0p42x10.cdl
+++ /dev/null
@@ -1,33 +0,0 @@
-************************************************************************
-* auCdl Netlist:
-* 
-* Library Name:  TCG_Library
-* Top Cell Name: vpnp_6p0_0p42x10
-* View Name:     schematic
-* Netlisted on:  Nov 24 10:34:45 2021
-************************************************************************
-
-*.BIPOLAR
-*.RESI = 2000 
-*.RESVAL
-*.CAPVAL
-*.DIOPERI
-*.DIOAREA
-*.EQUATION
-*.SCALE METER
-*.MEGA
-.PARAM
-
-
-
-************************************************************************
-* Library Name: TCG_Library
-* Cell Name:    vpnp_6p0_0p42x10
-* View Name:    schematic
-************************************************************************
-
-.SUBCKT vpnp_6p0_0p42x10 I1_default_B I1_default_C I1_default_E
-*.PININFO I1_default_B:I I1_default_C:I I1_default_E:I
-QI1_default I1_default_C I1_default_B I1_default_E vpnp_6p0_0p42x10 m=1
-.ENDS
-
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_0p42x20.cdl b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_0p42x20.cdl
deleted file mode 100644
index c50226a..0000000
--- a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_0p42x20.cdl
+++ /dev/null
@@ -1,33 +0,0 @@
-************************************************************************
-* auCdl Netlist:
-* 
-* Library Name:  TCG_Library
-* Top Cell Name: vpnp_6p0_0p42x20
-* View Name:     schematic
-* Netlisted on:  Nov 24 10:34:45 2021
-************************************************************************
-
-*.BIPOLAR
-*.RESI = 2000 
-*.RESVAL
-*.CAPVAL
-*.DIOPERI
-*.DIOAREA
-*.EQUATION
-*.SCALE METER
-*.MEGA
-.PARAM
-
-
-
-************************************************************************
-* Library Name: TCG_Library
-* Cell Name:    vpnp_6p0_0p42x20
-* View Name:    schematic
-************************************************************************
-
-.SUBCKT vpnp_6p0_0p42x20 I1_default_B I1_default_C I1_default_E
-*.PININFO I1_default_B:I I1_default_C:I I1_default_E:I
-QI1_default I1_default_C I1_default_B I1_default_E vpnp_6p0_0p42x20 m=1
-.ENDS
-
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_0p42x5.cdl b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_0p42x5.cdl
deleted file mode 100644
index 12736c4..0000000
--- a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_0p42x5.cdl
+++ /dev/null
@@ -1,33 +0,0 @@
-************************************************************************
-* auCdl Netlist:
-* 
-* Library Name:  TCG_Library
-* Top Cell Name: vpnp_6p0_0p42x5
-* View Name:     schematic
-* Netlisted on:  Nov 24 10:34:45 2021
-************************************************************************
-
-*.BIPOLAR
-*.RESI = 2000 
-*.RESVAL
-*.CAPVAL
-*.DIOPERI
-*.DIOAREA
-*.EQUATION
-*.SCALE METER
-*.MEGA
-.PARAM
-
-
-
-************************************************************************
-* Library Name: TCG_Library
-* Cell Name:    vpnp_6p0_0p42x5
-* View Name:    schematic
-************************************************************************
-
-.SUBCKT vpnp_6p0_0p42x5 I1_default_B I1_default_C I1_default_E
-*.PININFO I1_default_B:I I1_default_C:I I1_default_E:I
-QI1_default I1_default_C I1_default_B I1_default_E vpnp_6p0_0p42x5 m=1
-.ENDS
-
diff --git a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_5x5.cdl b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_5x5.cdl
deleted file mode 100644
index 22dcf35..0000000
--- a/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_5x5.cdl
+++ /dev/null
@@ -1,33 +0,0 @@
-************************************************************************
-* auCdl Netlist:
-* 
-* Library Name:  TCG_Library
-* Top Cell Name: vpnp_6p0_5x5
-* View Name:     schematic
-* Netlisted on:  Nov 24 10:34:45 2021
-************************************************************************
-
-*.BIPOLAR
-*.RESI = 2000 
-*.RESVAL
-*.CAPVAL
-*.DIOPERI
-*.DIOAREA
-*.EQUATION
-*.SCALE METER
-*.MEGA
-.PARAM
-
-
-
-************************************************************************
-* Library Name: TCG_Library
-* Cell Name:    vpnp_6p0_5x5
-* View Name:    schematic
-************************************************************************
-
-.SUBCKT vpnp_6p0_5x5 I1_default_B I1_default_C I1_default_E
-*.PININFO I1_default_B:I I1_default_C:I I1_default_E:I
-QI1_default I1_default_C I1_default_B I1_default_E vpnp_6p0_5x5 m=1
-.ENDS
-
diff --git a/IC/klayout/lvs/rule_decks/bjt_connections.lvs b/IC/klayout/lvs/rule_decks/bjt_connections.lvs
index bf3f2c2..31a883b 100644
--- a/IC/klayout/lvs/rule_decks/bjt_connections.lvs
+++ b/IC/klayout/lvs/rule_decks/bjt_connections.lvs
@@ -47,22 +47,17 @@
 connect(pnp_05p00x05p00_b, contact)
 connect(pnp_05p00x05p00_c, contact)
 
-# pnp_05p00x00p42 nodes connections
-connect(pnp_05p00x00p42_e, contact)
-connect(pnp_05p00x00p42_b, contact)
-connect(pnp_05p00x00p42_c, contact)
+# pnp_01p20x02p50 nodes connections
+connect(pnp_01p20x02p50_e, contact)
+connect(pnp_01p20x02p50_b, contact)
+connect(pnp_01p20x02p50_c, contact)
 
-# pnp_1p2x2p5 nodes connections
-connect(pnp_1p2x2p5_e, contact)
-connect(pnp_1p2x2p5_b, contact)
-connect(pnp_1p2x2p5_c, contact)
-
-# pnp_00p46x1p2 nodes connections
-connect(pnp_00p46x1p2_e, contact)
-connect(pnp_00p46x1p2_b, contact)
-connect(pnp_00p46x1p2_c, contact)
+# pnp_00p46x01p20 nodes connections
+connect(pnp_00p46x01p20_e, contact)
+connect(pnp_00p46x01p20_b, contact)
+connect(pnp_00p46x01p20_c, contact)
 
 # pnp_00p46x00p46 nodes connections
 connect(pnp_00p46x00p46_e, contact)
 connect(pnp_00p46x00p46_b, contact)
-connect(pnp_00p46x00p46_c, contact)
\ No newline at end of file
+connect(pnp_00p46x00p46_c, contact)
diff --git a/IC/klayout/lvs/rule_decks/bjt_derivations.lvs b/IC/klayout/lvs/rule_decks/bjt_derivations.lvs
index 00df7ba..689b0e8 100644
--- a/IC/klayout/lvs/rule_decks/bjt_derivations.lvs
+++ b/IC/klayout/lvs/rule_decks/bjt_derivations.lvs
@@ -68,20 +68,15 @@
 pnp_00p46x00p46_b = vpnp_b.interacting(vpnp_b.extents.interacting(pnp_00p46x00p46_e))
 pnp_00p46x00p46_c = vpnp_c.interacting(vpnp_c.extents.interacting(pnp_00p46x00p46_e))
 
-# pnp_00p46x1p2 nodes DERIVATIONS
-pnp_00p46x1p2_e = vpnp_e.with_area(0.5.um, 0.6.um).interacting(vpnp_e.edges.with_length(1.um, 1.4.um))
-pnp_00p46x1p2_b = vpnp_b.interacting(vpnp_b.extents.interacting(pnp_00p46x1p2_e))
-pnp_00p46x1p2_c = vpnp_c.interacting(vpnp_c.extents.interacting(pnp_00p46x1p2_e))
+# pnp_00p46x01p20 nodes DERIVATIONS
+pnp_00p46x01p20_e = vpnp_e.with_area(0.5.um, 0.6.um).interacting(vpnp_e.edges.with_length(1.um, 1.4.um))
+pnp_00p46x01p20_b = vpnp_b.interacting(vpnp_b.extents.interacting(pnp_00p46x01p20_e))
+pnp_00p46x01p20_c = vpnp_c.interacting(vpnp_c.extents.interacting(pnp_00p46x01p20_e))
 
-# pnp_1p2x2p5 nodes DERIVATIONS
-pnp_1p2x2p5_e = vpnp_e.with_area(2.5.um, 3.5.um).interacting(vpnp_e.edges.with_length(2.3.um, 2.7.um))
-pnp_1p2x2p5_b = vpnp_b.interacting(vpnp_b.extents.interacting(pnp_1p2x2p5_e))
-pnp_1p2x2p5_c = vpnp_c.interacting(vpnp_c.extents.interacting(pnp_1p2x2p5_e))
-
-# pnp_05p00x00p42 nodes DERIVATIONS
-pnp_05p00x00p42_e = vpnp_e.with_area(2.um, 2.2.um).interacting(vpnp_e.edges.with_length(4.8.um, 5.2.um))
-pnp_05p00x00p42_b = vpnp_b.interacting(vpnp_b.extents.interacting(pnp_05p00x00p42_e))
-pnp_05p00x00p42_c = vpnp_c.interacting(vpnp_c.extents.interacting(pnp_05p00x00p42_e))
+# pnp_01p20x02p50 nodes DERIVATIONS
+pnp_01p20x02p50_e = vpnp_e.with_area(2.5.um, 3.5.um).interacting(vpnp_e.edges.with_length(2.3.um, 2.7.um))
+pnp_01p20x02p50_b = vpnp_b.interacting(vpnp_b.extents.interacting(pnp_01p20x02p50_e))
+pnp_01p20x02p50_c = vpnp_c.interacting(vpnp_c.extents.interacting(pnp_01p20x02p50_e))
 
 # pnp_10p00x10p00 nodes DERIVATIONS
 pnp_10p00x10p00_e = vpnp_e.with_area(99.5.um, 100.5.um).interacting(vpnp_e.edges.with_length(9.8.um, 10.2.um))
diff --git a/IC/klayout/lvs/rule_decks/bjt_extraction.lvs b/IC/klayout/lvs/rule_decks/bjt_extraction.lvs
index 6bdd5e7..ab97aac 100644
--- a/IC/klayout/lvs/rule_decks/bjt_extraction.lvs
+++ b/IC/klayout/lvs/rule_decks/bjt_extraction.lvs
@@ -85,34 +85,23 @@
                                            'tB' => pnp_00p46x00p46_b,
                                            'tE' => pnp_00p46x00p46_e })
 
-# pnp_05p00x00p42 BJT
-ignore_parameter('pnp_05p00x00p42', 'AE')
-logger.info('Extracting pnp_05p00x00p42 BJT')
-extract_devices(bjt3('pnp_05p00x00p42'), { 'C' => pnp_05p00x00p42_c.extents,
-                                           'B' => pnp_05p00x00p42_b.extents,
-                                           'E' => pnp_05p00x00p42_e,
-                                           'tC' => pnp_05p00x00p42_c,
-                                           'tB' => pnp_05p00x00p42_b,
-                                           'tE' => pnp_05p00x00p42_e })
+# pnp_00p46x01p20 BJT
+ignore_parameter('pnp_00p46x01p20', 'AE')
+logger.info('Extracting pnp_00p46x01p20 BJT')
+extract_devices(bjt3('pnp_00p46x01p20'), { 'C' => pnp_00p46x01p20_c.extents,
+                                           'B' => pnp_00p46x01p20_b.extents,
+                                           'E' => pnp_00p46x01p20_e,
+                                           'tC' => pnp_00p46x01p20_c,
+                                           'tB' => pnp_00p46x01p20_b,
+                                           'tE' => pnp_00p46x01p20_e })
 
-# pnp_00p46x1p2 BJT
-ignore_parameter('pnp_00p46x1p2', 'AE')
-logger.info('Extracting pnp_00p46x1p2 BJT')
-extract_devices(bjt3('pnp_00p46x1p2'), { 'C' => pnp_00p46x1p2_c.extents,
-                                           'B' => pnp_00p46x1p2_b.extents,
-                                           'E' => pnp_00p46x1p2_e,
-                                           'tC' => pnp_00p46x1p2_c,
-                                           'tB' => pnp_00p46x1p2_b,
-                                           'tE' => pnp_00p46x1p2_e })
-    
-
-# pnp_1p2x2p5 BJT
-ignore_parameter('pnp_1p2x2p5', 'AE')
-logger.info('Extracting pnp_1p2x2p5 BJT')
-extract_devices(bjt3('pnp_1p2x2p5'), { 'C' => pnp_1p2x2p5_c.extents,
-                                           'B' => pnp_1p2x2p5_b.extents,
-                                           'E' => pnp_1p2x2p5_e,
-                                           'tC' => pnp_1p2x2p5_c,
-                                           'tB' => pnp_1p2x2p5_b,
-                                           'tE' => pnp_1p2x2p5_e })
+# pnp_01p20x02p50 BJT
+ignore_parameter('pnp_01p20x02p50', 'AE')
+logger.info('Extracting pnp_01p20x02p50 BJT')
+extract_devices(bjt3('pnp_01p20x02p50'), { 'C' => pnp_01p20x02p50_c.extents,
+                                           'B' => pnp_01p20x02p50_b.extents,
+                                           'E' => pnp_01p20x02p50_e,
+                                           'tC' => pnp_01p20x02p50_c,
+                                           'tB' => pnp_01p20x02p50_b,
+                                           'tE' => pnp_01p20x02p50_e })
 
diff --git a/IC/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_00p46x01p20.gds b/IC/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_00p46x01p20.gds
new file mode 100644
index 0000000..d8e9fea
--- /dev/null
+++ b/IC/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_00p46x01p20.gds
Binary files differ
diff --git a/IC/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_00p46x1p2.gds b/IC/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_00p46x1p2.gds
deleted file mode 100644
index 9c494e9..0000000
--- a/IC/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_00p46x1p2.gds
+++ /dev/null
Binary files differ
diff --git a/IC/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_1p2x2p5.gds b/IC/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_01p20x02p50.gds
similarity index 66%
rename from IC/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_1p2x2p5.gds
rename to IC/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_01p20x02p50.gds
index 39e2f00..871a5de 100644
--- a/IC/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_1p2x2p5.gds
+++ b/IC/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_01p20x02p50.gds
Binary files differ
diff --git a/IC/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_05p00x00p42.gds b/IC/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_05p00x00p42.gds
deleted file mode 100644
index ce7f5a0..0000000
--- a/IC/klayout/lvs/testing/testcases/unit/bjt_devices/layout/pnp_05p00x00p42.gds
+++ /dev/null
Binary files differ
diff --git a/IC/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_00p46x1p2.cdl b/IC/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_00p46x01p20.cdl
similarity index 75%
rename from IC/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_00p46x1p2.cdl
rename to IC/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_00p46x01p20.cdl
index 0a21b22..f24d8b4 100644
--- a/IC/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_00p46x1p2.cdl
+++ b/IC/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_00p46x01p20.cdl
@@ -2,7 +2,7 @@
 * auCdl Netlist:
 * 
 * Library Name:  TCG_Library
-* Top Cell Name: pnp_00p46x1p2
+* Top Cell Name: pnp_00p46x01p20
 * View Name:     schematic
 * Netlisted on:  Nov 24 10:29:25 2021
 ************************************************************************
@@ -22,12 +22,12 @@
 
 ************************************************************************
 * Library Name: TCG_Library
-* Cell Name:    pnp_00p46x1p2
+* Cell Name:    pnp_00p46x01p20
 * View Name:    schematic
 ************************************************************************
 
-.SUBCKT pnp_00p46x1p2 I1_default_B I1_default_C I1_default_E
+.SUBCKT pnp_00p46x01p20 I1_default_B I1_default_C I1_default_E
 *.PININFO I1_default_B:I I1_default_C:I I1_default_E:I
-QI1_default I1_default_C I1_default_B I1_default_E pnp_00p46x1p2 m=1
+QI1_default I1_default_C I1_default_B I1_default_E pnp_00p46x01p20 m=1
 .ENDS
 
diff --git a/IC/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_00p46x1p2.cdl b/IC/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_01p20x02p50.cdl
similarity index 75%
copy from IC/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_00p46x1p2.cdl
copy to IC/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_01p20x02p50.cdl
index 0a21b22..3bf7511 100644
--- a/IC/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_00p46x1p2.cdl
+++ b/IC/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_01p20x02p50.cdl
@@ -2,7 +2,7 @@
 * auCdl Netlist:
 * 
 * Library Name:  TCG_Library
-* Top Cell Name: pnp_00p46x1p2
+* Top Cell Name: pnp_01p20x02p50
 * View Name:     schematic
 * Netlisted on:  Nov 24 10:29:25 2021
 ************************************************************************
@@ -22,12 +22,12 @@
 
 ************************************************************************
 * Library Name: TCG_Library
-* Cell Name:    pnp_00p46x1p2
+* Cell Name:    pnp_01p20x02p50
 * View Name:    schematic
 ************************************************************************
 
-.SUBCKT pnp_00p46x1p2 I1_default_B I1_default_C I1_default_E
+.SUBCKT pnp_01p20x02p50 I1_default_B I1_default_C I1_default_E
 *.PININFO I1_default_B:I I1_default_C:I I1_default_E:I
-QI1_default I1_default_C I1_default_B I1_default_E pnp_00p46x1p2 m=1
+QI1_default I1_default_C I1_default_B I1_default_E pnp_01p20x02p50 m=1
 .ENDS
 
diff --git a/IC/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_05p00x00p42.cdl b/IC/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_05p00x00p42.cdl
deleted file mode 100644
index 1693b2d..0000000
--- a/IC/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_05p00x00p42.cdl
+++ /dev/null
@@ -1,33 +0,0 @@
-************************************************************************
-* auCdl Netlist:
-* 
-* Library Name:  TCG_Library
-* Top Cell Name: pnp_05p00x00p42
-* View Name:     schematic
-* Netlisted on:  Nov 24 10:29:25 2021
-************************************************************************
-
-*.BIPOLAR
-*.RESI = 2000 
-*.RESVAL
-*.CAPVAL
-*.DIOPERI
-*.DIOAREA
-*.EQUATION
-*.SCALE METER
-*.MEGA
-.PARAM
-
-
-
-************************************************************************
-* Library Name: TCG_Library
-* Cell Name:    pnp_05p00x00p42
-* View Name:    schematic
-************************************************************************
-
-.SUBCKT pnp_05p00x00p42 I1_default_B I1_default_C I1_default_E
-*.PININFO I1_default_B:I I1_default_C:I I1_default_E:I
-QI1_default I1_default_C I1_default_B I1_default_E pnp_05p00x00p42 m=1
-.ENDS
-
diff --git a/IC/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_1p2x2p5.cdl b/IC/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_1p2x2p5.cdl
deleted file mode 100644
index 420a510..0000000
--- a/IC/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/pnp_1p2x2p5.cdl
+++ /dev/null
@@ -1,33 +0,0 @@
-************************************************************************
-* auCdl Netlist:
-* 
-* Library Name:  TCG_Library
-* Top Cell Name: pnp_1p2x2p5
-* View Name:     schematic
-* Netlisted on:  Nov 24 10:29:25 2021
-************************************************************************
-
-*.BIPOLAR
-*.RESI = 2000 
-*.RESVAL
-*.CAPVAL
-*.DIOPERI
-*.DIOAREA
-*.EQUATION
-*.SCALE METER
-*.MEGA
-.PARAM
-
-
-
-************************************************************************
-* Library Name: TCG_Library
-* Cell Name:    pnp_1p2x2p5
-* View Name:    schematic
-************************************************************************
-
-.SUBCKT pnp_1p2x2p5 I1_default_B I1_default_C I1_default_E
-*.PININFO I1_default_B:I I1_default_C:I I1_default_E:I
-QI1_default I1_default_C I1_default_B I1_default_E pnp_1p2x2p5 m=1
-.ENDS
-
diff --git a/ULL/klayout/lvs/rule_decks/general_derivations.lvs b/ULL/klayout/lvs/rule_decks/general_derivations.lvs
index 6e4bc50..3c8912c 100644
--- a/ULL/klayout/lvs/rule_decks/general_derivations.lvs
+++ b/ULL/klayout/lvs/rule_decks/general_derivations.lvs
@@ -34,12 +34,12 @@
 ngate           = nactive.and(tgate)
 ngate_pw        = nactive_pw.and(tgate)
 nsd             = nactive.interacting(ngate).not(ngate).not(res_mk)
-ptap            = pcomp.not(all_nwell).not(res_mk)
+ptap            = pcomp.not(all_nwell_pw).not(res_mk)
 
 pactive         = pcomp.and(all_nwell)
 pgate           = pactive.and(tgate)
 psd             = pactive.interacting(pgate).not(pgate).not(res_mk)
-ntap            = ncomp.and(all_nwell).not(res_mk)
+ntap            = ncomp.and(all_nwell_pw).not(res_mk)
 
 ngate_dn        = ngate.and(dnwell_p)
 ptap_dn         = ptap.and(dnwell_p)