adding BJT testcases & updating bjt extraction
diff --git a/BCDLite/klayout/lvs/rule_decks/bjt_extraction.lvs b/BCDLite/klayout/lvs/rule_decks/bjt_extraction.lvs
index a28bd75..c6e5c49 100644
--- a/BCDLite/klayout/lvs/rule_decks/bjt_extraction.lvs
+++ b/BCDLite/klayout/lvs/rule_decks/bjt_extraction.lvs
@@ -28,7 +28,7 @@
# npn_05p00x05p00 BJT
ignore_parameter('npn_05p00x05p00', 'AE')
logger.info('Extracting npn_05p00x05p00 BJT')
-extract_devices(bjt4('npn_05p00x05p00'), { 'C' => npn_05p00x05p00_c.extents,
+extract_devices(bjt4('vnpn_5x5'), { 'C' => npn_05p00x05p00_c.extents,
'B' => npn_05p00x05p00_b.extents,
'E' => npn_05p00x05p00_e,
'S' => sub.extents,
@@ -40,7 +40,7 @@
# npn_00p54x16p00 BJT
ignore_parameter('npn_00p54x16p00', 'AE')
logger.info('Extracting npn_00p54x16p00 BJT')
-extract_devices(bjt4('npn_00p54x16p00'), { 'C' => npn_00p54x16p00_c.extents,
+extract_devices(bjt4('vnpn_0p54x16'), { 'C' => npn_00p54x16p00_c.extents,
'B' => npn_00p54x16p00_b.extents,
'E' => npn_00p54x16p00_e,
'S' => sub.extents,
@@ -52,7 +52,7 @@
# npn_00p54x08p00 BJT
ignore_parameter('npn_00p54x08p00', 'AE')
logger.info('Extracting npn_00p54x08p00 BJT')
-extract_devices(bjt4('npn_00p54x08p00'), { 'C' => npn_00p54x08p00_c.extents,
+extract_devices(bjt4('vnpn_0p54x8'), { 'C' => npn_00p54x08p00_c.extents,
'B' => npn_00p54x08p00_b.extents,
'E' => npn_00p54x08p00_e,
'S' => sub.extents,
@@ -64,7 +64,7 @@
# npn_00p54x02p00 BJT
ignore_parameter('npn_00p54x02p00', 'AE')
logger.info('Extracting npn_00p54x02p00 BJT')
-extract_devices(bjt4('npn_00p54x02p00'), { 'C' => npn_00p54x02p00_c.extents,
+extract_devices(bjt4('vnpn_0p54x2'), { 'C' => npn_00p54x02p00_c.extents,
'B' => npn_00p54x02p00_b.extents,
'E' => npn_00p54x02p00_e,
'S' => sub.extents,
@@ -81,7 +81,7 @@
# pnp_10p00x10p00_06v0 BJT
ignore_parameter('pnp_10p00x10p00_06v0', 'AE')
logger.info('Extracting pnp_10p00x10p00_06v0 BJT')
-extract_devices(bjt3('pnp_10p00x10p00_06v0'), { 'C' => pnp_10p00x10p00_06v0_c.extents,
+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,
@@ -91,7 +91,7 @@
# pnp_05p00x05p00_06v0 BJT
ignore_parameter('pnp_05p00x05p00_06v0', 'AE')
logger.info('Extracting pnp_05p00x05p00_06v0 BJT')
-extract_devices(bjt3('pnp_05p00x05p00_06v0'), { 'C' => pnp_05p00x05p00_06v0_c.extents,
+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,
@@ -101,7 +101,7 @@
# pnp_00p42x20p00_06v0 BJT
ignore_parameter('pnp_00p42x20p00_06v0', 'AE')
logger.info('Extracting pnp_00p42x20p00_06v0 BJT')
-extract_devices(bjt3('pnp_00p42x20p00_06v0'), { 'C' => pnp_00p42x20p00_06v0_c.extents,
+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,
@@ -110,7 +110,7 @@
# pnp_00p42x10p00_06v0 BJT
ignore_parameter('pnp_00p42x10p00_06v0', 'AE')
logger.info('Extracting pnp_00p42x10p00_06v0 BJT')
-extract_devices(bjt3('pnp_00p42x10p00_06v0'), { 'C' => pnp_00p42x10p00_06v0_c.extents,
+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,
@@ -120,7 +120,7 @@
# pnp_00p42x05p00_06v0 BJT
ignore_parameter('pnp_00p42x05p00_06v0', 'AE')
logger.info('Extracting pnp_00p42x05p00_06v0 BJT')
-extract_devices(bjt3('pnp_00p42x05p00_06v0'), { 'C' => pnp_00p42x05p00_06v0_c.extents,
+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,
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/vnpn_0p54x16.gds
new file mode 100644
index 0000000..4a91319
--- /dev/null
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vnpn_0p54x16.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
new file mode 100644
index 0000000..7b26685
--- /dev/null
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vnpn_0p54x2.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/vnpn_0p54x8.gds
new file mode 100644
index 0000000..84d711b
--- /dev/null
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vnpn_0p54x8.gds
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
new file mode 100644
index 0000000..1ad6cdd
--- /dev/null
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vnpn_5x5.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/vpnp_6p0_0p42x10.gds
new file mode 100644
index 0000000..f6474e6
--- /dev/null
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vpnp_6p0_0p42x10.gds
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
new file mode 100644
index 0000000..692ccc1
--- /dev/null
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vpnp_6p0_0p42x20.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/vpnp_6p0_0p42x5.gds
new file mode 100644
index 0000000..b2b60fc
--- /dev/null
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vpnp_6p0_0p42x5.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/vpnp_6p0_10x10.gds
new file mode 100644
index 0000000..83d1ce6
--- /dev/null
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vpnp_6p0_10x10.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/vpnp_6p0_5x5.gds
new file mode 100644
index 0000000..2ea4827
--- /dev/null
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/layout/vpnp_6p0_5x5.gds
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/vnpn_0p54x16.cdl
new file mode 100644
index 0000000..35213d6
--- /dev/null
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vnpn_0p54x16.cdl
@@ -0,0 +1,34 @@
+************************************************************************
+* auCdl Netlist:
+*
+* Library Name: TCG_Library
+* Top Cell Name: vnpn_0p54x16
+* View Name: schematic
+* Netlisted on: Nov 24 10:25:03 2021
+************************************************************************
+
+*.BIPOLAR
+*.RESI = 2000
+*.RESVAL
+*.CAPVAL
+*.DIOPERI
+*.DIOAREA
+*.EQUATION
+*.SCALE METER
+*.MEGA
+.PARAM
+
+
+
+************************************************************************
+* Library Name: TCG_Library
+* Cell Name: vnpn_0p54x16
+* View Name: schematic
+************************************************************************
+
+.SUBCKT vnpn_0p54x16 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
+.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
new file mode 100644
index 0000000..a2046bf
--- /dev/null
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vnpn_0p54x2.cdl
@@ -0,0 +1,33 @@
+************************************************************************
+* 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/vnpn_0p54x8.cdl b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vnpn_0p54x8.cdl
new file mode 100644
index 0000000..ef185ba
--- /dev/null
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vnpn_0p54x8.cdl
@@ -0,0 +1,33 @@
+************************************************************************
+* auCdl Netlist:
+*
+* Library Name: TCG_Library
+* Top Cell Name: vnpn_0p54x8
+* View Name: schematic
+* Netlisted on: Nov 24 10:24:33 2021
+************************************************************************
+
+*.BIPOLAR
+*.RESI = 2000
+*.RESVAL
+*.CAPVAL
+*.DIOPERI
+*.DIOAREA
+*.EQUATION
+*.SCALE METER
+*.MEGA
+.PARAM
+
+
+
+************************************************************************
+* Library Name: TCG_Library
+* Cell Name: vnpn_0p54x8
+* View Name: schematic
+************************************************************************
+
+.SUBCKT vnpn_0p54x8 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
+.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/vnpn_5x5.cdl
new file mode 100644
index 0000000..d22f81b
--- /dev/null
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vnpn_5x5.cdl
@@ -0,0 +1,33 @@
+************************************************************************
+* auCdl Netlist:
+*
+* Library Name: TCG_Library
+* Top Cell Name: vnpn_5x5
+* View Name: schematic
+* Netlisted on: Nov 24 10:26:06 2021
+************************************************************************
+
+*.BIPOLAR
+*.RESI = 2000
+*.RESVAL
+*.CAPVAL
+*.DIOPERI
+*.DIOAREA
+*.EQUATION
+*.SCALE METER
+*.MEGA
+.PARAM
+
+
+
+************************************************************************
+* Library Name: TCG_Library
+* Cell Name: vnpn_5x5
+* View Name: schematic
+************************************************************************
+
+.SUBCKT vnpn_5x5 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
+.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
new file mode 100644
index 0000000..2b6a54c
--- /dev/null
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_0p42x10.cdl
@@ -0,0 +1,33 @@
+************************************************************************
+* 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
new file mode 100644
index 0000000..c50226a
--- /dev/null
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_0p42x20.cdl
@@ -0,0 +1,33 @@
+************************************************************************
+* 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
new file mode 100644
index 0000000..12736c4
--- /dev/null
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_0p42x5.cdl
@@ -0,0 +1,33 @@
+************************************************************************
+* 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_10x10.cdl b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_10x10.cdl
new file mode 100644
index 0000000..5eb6971
--- /dev/null
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_10x10.cdl
@@ -0,0 +1,33 @@
+************************************************************************
+* auCdl Netlist:
+*
+* Library Name: TCG_Library
+* Top Cell Name: vpnp_6p0_10x10
+* 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_10x10
+* View Name: schematic
+************************************************************************
+
+.SUBCKT vpnp_6p0_10x10 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
+.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
new file mode 100644
index 0000000..22dcf35
--- /dev/null
+++ b/BCDLite/klayout/lvs/testing/testcases/unit/bjt_devices/netlist/vpnp_6p0_5x5.cdl
@@ -0,0 +1,33 @@
+************************************************************************
+* 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
+