From e0d44e8414a9ca823cbfbfc281462ef52d7ab2cb Mon Sep 17 00:00:00 2001 From: FaragElsayed2 Date: Sun, 12 May 2024 17:28:13 +0300 Subject: [PATCH 1/7] Adding testing for SG13G2 standard cells Signed-off-by: FaragElsayed2 --- .github/workflows/lvs_regression.yml | 26 +- .../libs.tech/klayout/tech/lvs/README.md | 8 +- .../tech/lvs/rule_decks/diode_derivations.lvs | 2 +- .../lvs/rule_decks/general_connections.lvs | 2 + .../lvs/rule_decks/general_derivations.lvs | 4 +- .../klayout/tech/lvs/testing/Makefile | 10 + .../klayout/tech/lvs/testing/README.md | 4 +- .../tech/lvs/testing/run_regression.py | 20 +- .../tech/lvs/testing/run_regression_cells.py | 490 ++++++++++++++++++ .../sg13g2_a21o_1/layout/sg13g2_a21o_1.gds | Bin 0 -> 16128 bytes .../sg13g2_a21o_1/netlist/sg13g2_a21o_1.cdl | 79 +++ .../sg13g2_a21o_2/layout/sg13g2_a21o_2.gds | Bin 0 -> 18816 bytes .../sg13g2_a21o_2/netlist/sg13g2_a21o_2.cdl | 61 +++ .../sg13g2_a21oi_1/layout/sg13g2_a21oi_1.gds | Bin 0 -> 12720 bytes .../sg13g2_a21oi_1/netlist/sg13g2_a21oi_1.cdl | 55 ++ .../sg13g2_a21oi_2/layout/sg13g2_a21oi_2.gds | Bin 0 -> 17280 bytes .../sg13g2_a21oi_2/netlist/sg13g2_a21oi_2.cdl | 55 ++ .../layout/sg13g2_a221oi_1.gds | Bin 0 -> 17802 bytes .../netlist/sg13g2_a221oi_1.cdl | 67 +++ .../sg13g2_a22oi_1/layout/sg13g2_a22oi_1.gds | Bin 0 -> 15978 bytes .../sg13g2_a22oi_1/netlist/sg13g2_a22oi_1.cdl | 61 +++ .../sg13g2_and2_1/layout/sg13g2_and2_1.gds | Bin 0 -> 13542 bytes .../sg13g2_and2_1/netlist/sg13g2_and2_1.cdl | 55 ++ .../sg13g2_and2_2/layout/sg13g2_and2_2.gds | Bin 0 -> 14790 bytes .../sg13g2_and2_2/netlist/sg13g2_and2_2.cdl | 55 ++ .../sg13g2_and3_1/layout/sg13g2_and3_1.gds | Bin 0 -> 17568 bytes .../sg13g2_and3_1/netlist/sg13g2_and3_1.cdl | 61 +++ .../sg13g2_and3_2/layout/sg13g2_and3_2.gds | Bin 0 -> 17904 bytes .../sg13g2_and3_2/netlist/sg13g2_and3_2.cdl | 61 +++ .../sg13g2_and4_1/layout/sg13g2_and4_1.gds | Bin 0 -> 17370 bytes .../sg13g2_and4_1/netlist/sg13g2_and4_1.cdl | 67 +++ .../sg13g2_and4_2/layout/sg13g2_and4_2.gds | Bin 0 -> 19002 bytes .../sg13g2_and4_2/netlist/sg13g2_and4_2.cdl | 67 +++ .../layout/sg13g2_antennanp.gds | Bin 0 -> 7374 bytes .../netlist/sg13g2_antennanp.cdl | 43 ++ .../sg13g2_buf_1/layout/sg13g2_buf_1.gds | Bin 0 -> 10518 bytes .../sg13g2_buf_1/netlist/sg13g2_buf_1.cdl | 49 ++ .../sg13g2_buf_16/layout/sg13g2_buf_16.gds | Bin 0 -> 60924 bytes .../sg13g2_buf_16/netlist/sg13g2_buf_16.cdl | 49 ++ .../sg13g2_buf_2/layout/sg13g2_buf_2.gds | Bin 0 -> 13542 bytes .../sg13g2_buf_2/netlist/sg13g2_buf_2.cdl | 49 ++ .../sg13g2_buf_4/layout/sg13g2_buf_4.gds | Bin 0 -> 19350 bytes .../sg13g2_buf_4/netlist/sg13g2_buf_4.cdl | 49 ++ .../sg13g2_buf_8/layout/sg13g2_buf_8.gds | Bin 0 -> 31158 bytes .../sg13g2_buf_8/netlist/sg13g2_buf_8.cdl | 49 ++ .../sg13g2_decap_4/layout/sg13g2_decap_4.gds | Bin 0 -> 7464 bytes .../sg13g2_decap_4/netlist/sg13g2_decap_4.cdl | 43 ++ .../sg13g2_decap_8/layout/sg13g2_decap_8.gds | Bin 0 -> 10728 bytes .../sg13g2_decap_8/netlist/sg13g2_decap_8.cdl | 43 ++ .../sg13g2_dfrbp_1/layout/sg13g2_dfrbp_1.gds | Bin 0 -> 48408 bytes .../sg13g2_dfrbp_1/netlist/sg13g2_dfrbp_1.cdl | 139 +++++ .../sg13g2_dfrbp_2/layout/sg13g2_dfrbp_2.gds | Bin 0 -> 53400 bytes .../sg13g2_dfrbp_2/netlist/sg13g2_dfrbp_2.cdl | 139 +++++ .../sg13g2_dlhq_1/layout/sg13g2_dlhq_1.gds | Bin 0 -> 31084 bytes .../sg13g2_dlhq_1/netlist/sg13g2_dlhq_1.cdl | 103 ++++ .../sg13g2_dlhr_1/layout/sg13g2_dlhr_1.gds | Bin 0 -> 33880 bytes .../sg13g2_dlhr_1/netlist/sg13g2_dlhr_1.cdl | 124 +++++ .../sg13g2_dlhrq_1/layout/sg13g2_dlhrq_1.gds | Bin 0 -> 28104 bytes .../sg13g2_dlhrq_1/netlist/sg13g2_dlhrq_1.cdl | 112 ++++ .../sg13g2_dllr_1/layout/sg13g2_dllr_1.gds | Bin 0 -> 35870 bytes .../sg13g2_dllr_1/netlist/sg13g2_dllr_1.cdl | 118 +++++ .../sg13g2_dllrq_1/layout/sg13g2_dllrq_1.gds | Bin 0 -> 28286 bytes .../sg13g2_dllrq_1/netlist/sg13g2_dllrq_1.cdl | 112 ++++ .../layout/sg13g2_dlygate4sd1_1.gds | Bin 0 -> 15438 bytes .../netlist/sg13g2_dlygate4sd1_1.cdl | 61 +++ .../layout/sg13g2_dlygate4sd2_1.gds | Bin 0 -> 15438 bytes .../netlist/sg13g2_dlygate4sd2_1.cdl | 61 +++ .../layout/sg13g2_dlygate4sd3_1.gds | Bin 0 -> 19326 bytes .../netlist/sg13g2_dlygate4sd3_1.cdl | 61 +++ .../sg13g2_ebufn_2/layout/sg13g2_ebufn_2.gds | Bin 0 -> 20588 bytes .../sg13g2_ebufn_2/netlist/sg13g2_ebufn_2.cdl | 61 +++ .../sg13g2_ebufn_4/layout/sg13g2_ebufn_4.gds | Bin 0 -> 26892 bytes .../sg13g2_ebufn_4/netlist/sg13g2_ebufn_4.cdl | 61 +++ .../sg13g2_ebufn_8/layout/sg13g2_ebufn_8.gds | Bin 0 -> 40748 bytes .../sg13g2_ebufn_8/netlist/sg13g2_ebufn_8.cdl | 61 +++ .../sg13g2_einvn_2/layout/sg13g2_einvn_2.gds | Bin 0 -> 17532 bytes .../sg13g2_einvn_2/netlist/sg13g2_einvn_2.cdl | 55 ++ .../sg13g2_einvn_4/layout/sg13g2_einvn_4.gds | Bin 0 -> 25596 bytes .../sg13g2_einvn_4/netlist/sg13g2_einvn_4.cdl | 55 ++ .../sg13g2_einvn_8/layout/sg13g2_einvn_8.gds | Bin 0 -> 38700 bytes .../sg13g2_einvn_8/netlist/sg13g2_einvn_8.cdl | 55 ++ .../sg13g2_fill_1/layout/sg13g2_fill_1.gds | Bin 0 -> 4200 bytes .../sg13g2_fill_2/layout/sg13g2_fill_2.gds | Bin 0 -> 4968 bytes .../sg13g2_fill_4/layout/sg13g2_fill_4.gds | Bin 0 -> 4968 bytes .../sg13g2_fill_8/layout/sg13g2_fill_8.gds | Bin 0 -> 6504 bytes .../sg13g2_inv_1/layout/sg13g2_inv_1.gds | Bin 0 -> 9702 bytes .../sg13g2_inv_1/netlist/sg13g2_inv_1.cdl | 43 ++ .../sg13g2_inv_16/layout/sg13g2_inv_16.gds | Bin 0 -> 47388 bytes .../sg13g2_inv_16/netlist/sg13g2_inv_16.cdl | 43 ++ .../sg13g2_inv_2/layout/sg13g2_inv_2.gds | Bin 0 -> 11718 bytes .../sg13g2_inv_2/netlist/sg13g2_inv_2.cdl | 43 ++ .../sg13g2_inv_4/layout/sg13g2_inv_4.gds | Bin 0 -> 15702 bytes .../sg13g2_inv_4/netlist/sg13g2_inv_4.cdl | 43 ++ .../sg13g2_inv_8/layout/sg13g2_inv_8.gds | Bin 0 -> 24342 bytes .../sg13g2_inv_8/netlist/sg13g2_inv_8.cdl | 43 ++ .../sg13g2_lgcp_1/layout/sg13g2_lgcp_1.gds | Bin 0 -> 28184 bytes .../sg13g2_lgcp_1/netlist/sg13g2_lgcp_1.cdl | 100 ++++ .../sg13g2_mux2_1/layout/sg13g2_mux2_1.gds | Bin 0 -> 21696 bytes .../sg13g2_mux2_1/netlist/sg13g2_mux2_1.cdl | 73 +++ .../sg13g2_mux2_2/layout/sg13g2_mux2_2.gds | Bin 0 -> 23616 bytes .../sg13g2_mux2_2/netlist/sg13g2_mux2_2.cdl | 73 +++ .../sg13g2_mux4_1/layout/sg13g2_mux4_1.gds | Bin 0 -> 36654 bytes .../sg13g2_mux4_1/netlist/sg13g2_mux4_1.cdl | 115 ++++ .../sg13g2_nand2_1/layout/sg13g2_nand2_1.gds | Bin 0 -> 12198 bytes .../sg13g2_nand2_1/netlist/sg13g2_nand2_1.cdl | 49 ++ .../sg13g2_nand2_2/layout/sg13g2_nand2_2.gds | Bin 0 -> 15270 bytes .../sg13g2_nand2_2/netlist/sg13g2_nand2_2.cdl | 49 ++ .../layout/sg13g2_nand2b_1.gds | Bin 0 -> 14130 bytes .../netlist/sg13g2_nand2b_1.cdl | 55 ++ .../layout/sg13g2_nand2b_2.gds | Bin 0 -> 17298 bytes .../netlist/sg13g2_nand2b_2.cdl | 55 ++ .../sg13g2_nand3_1/layout/sg13g2_nand3_1.gds | Bin 0 -> 14544 bytes .../sg13g2_nand3_1/netlist/sg13g2_nand3_1.cdl | 55 ++ .../layout/sg13g2_nand3b_1.gds | Bin 0 -> 18156 bytes .../netlist/sg13g2_nand3b_1.cdl | 61 +++ .../sg13g2_nand4_1/layout/sg13g2_nand4_1.gds | Bin 0 -> 14682 bytes .../sg13g2_nand4_1/netlist/sg13g2_nand4_1.cdl | 61 +++ .../sg13g2_nor2_1/layout/sg13g2_nor2_1.gds | Bin 0 -> 12054 bytes .../sg13g2_nor2_1/netlist/sg13g2_nor2_1.cdl | 49 ++ .../sg13g2_nor2_2/layout/sg13g2_nor2_2.gds | Bin 0 -> 27126 bytes .../sg13g2_nor2_2/netlist/sg13g2_nor2_2.cdl | 49 ++ .../sg13g2_nor2b_1/layout/sg13g2_nor2b_1.gds | Bin 0 -> 12156 bytes .../sg13g2_nor2b_1/netlist/sg13g2_nor2b_1.cdl | 55 ++ .../sg13g2_nor2b_2/layout/sg13g2_nor2b_2.gds | Bin 0 -> 16236 bytes .../sg13g2_nor2b_2/netlist/sg13g2_nor2b_2.cdl | 55 ++ .../sg13g2_nor3_1/layout/sg13g2_nor3_1.gds | Bin 0 -> 14208 bytes .../sg13g2_nor3_1/netlist/sg13g2_nor3_1.cdl | 55 ++ .../sg13g2_nor3_2/layout/sg13g2_nor3_2.gds | Bin 0 -> 19728 bytes .../sg13g2_nor3_2/netlist/sg13g2_nor3_2.cdl | 55 ++ .../sg13g2_nor4_1/layout/sg13g2_nor4_1.gds | Bin 0 -> 16986 bytes .../sg13g2_nor4_1/netlist/sg13g2_nor4_1.cdl | 61 +++ .../sg13g2_nor4_2/layout/sg13g2_nor4_2.gds | Bin 0 -> 25434 bytes .../sg13g2_nor4_2/netlist/sg13g2_nor4_2.cdl | 61 +++ .../sg13g2_o21ai_1/layout/sg13g2_o21ai_1.gds | Bin 0 -> 14076 bytes .../sg13g2_o21ai_1/netlist/sg13g2_o21ai_1.cdl | 55 ++ .../sg13g2_or2_1/layout/sg13g2_or2_1.gds | Bin 0 -> 13536 bytes .../sg13g2_or2_1/netlist/sg13g2_or2_1.cdl | 55 ++ .../sg13g2_or2_2/layout/sg13g2_or2_2.gds | Bin 0 -> 15168 bytes .../sg13g2_or2_2/netlist/sg13g2_or2_2.cdl | 55 ++ .../sg13g2_or3_1/layout/sg13g2_or3_1.gds | Bin 0 -> 17226 bytes .../sg13g2_or3_1/netlist/sg13g2_or3_1.cdl | 61 +++ .../sg13g2_or3_2/layout/sg13g2_or3_2.gds | Bin 0 -> 19242 bytes .../sg13g2_or3_2/netlist/sg13g2_or3_2.cdl | 61 +++ .../sg13g2_or4_1/layout/sg13g2_or4_1.gds | Bin 0 -> 19620 bytes .../sg13g2_or4_1/netlist/sg13g2_or4_1.cdl | 67 +++ .../sg13g2_or4_2/layout/sg13g2_or4_2.gds | Bin 0 -> 22692 bytes .../sg13g2_or4_2/netlist/sg13g2_or4_2.cdl | 67 +++ .../layout/sg13g2_sdfbbp_1.gds | Bin 0 -> 62148 bytes .../netlist/sg13g2_sdfbbp_1.cdl | 226 ++++++++ .../sg13g2_sighold/layout/sg13g2_sighold.gds | Bin 0 -> 11618 bytes .../sg13g2_sighold/netlist/sg13g2_sighold.cdl | 49 ++ .../sg13g2_slgcp_1/layout/sg13g2_slgcp_1.gds | Bin 0 -> 32952 bytes .../sg13g2_slgcp_1/netlist/sg13g2_slgcp_1.cdl | 103 ++++ .../sg13g2_tiehi/layout/sg13g2_tiehi.gds | Bin 0 -> 11042 bytes .../sg13g2_tiehi/netlist/sg13g2_tiehi.cdl | 49 ++ .../sg13g2_tielo/layout/sg13g2_tielo.gds | Bin 0 -> 11906 bytes .../sg13g2_tielo/netlist/sg13g2_tielo.cdl | 49 ++ .../sg13g2_xnor2_1/layout/sg13g2_xnor2_1.gds | Bin 0 -> 19590 bytes .../sg13g2_xnor2_1/netlist/sg13g2_xnor2_1.cdl | 67 +++ .../sg13g2_xor2_1/layout/sg13g2_xor2_1.gds | Bin 0 -> 16710 bytes .../sg13g2_xor2_1/netlist/sg13g2_xor2_1.cdl | 67 +++ 161 files changed, 5474 insertions(+), 20 deletions(-) create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/run_regression_cells.py create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a21o_1/layout/sg13g2_a21o_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a21o_1/netlist/sg13g2_a21o_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a21o_2/layout/sg13g2_a21o_2.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a21o_2/netlist/sg13g2_a21o_2.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a21oi_1/layout/sg13g2_a21oi_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a21oi_1/netlist/sg13g2_a21oi_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a21oi_2/layout/sg13g2_a21oi_2.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a21oi_2/netlist/sg13g2_a21oi_2.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a221oi_1/layout/sg13g2_a221oi_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a221oi_1/netlist/sg13g2_a221oi_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a22oi_1/layout/sg13g2_a22oi_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a22oi_1/netlist/sg13g2_a22oi_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and2_1/layout/sg13g2_and2_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and2_1/netlist/sg13g2_and2_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and2_2/layout/sg13g2_and2_2.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and2_2/netlist/sg13g2_and2_2.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and3_1/layout/sg13g2_and3_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and3_1/netlist/sg13g2_and3_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and3_2/layout/sg13g2_and3_2.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and3_2/netlist/sg13g2_and3_2.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and4_1/layout/sg13g2_and4_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and4_1/netlist/sg13g2_and4_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and4_2/layout/sg13g2_and4_2.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and4_2/netlist/sg13g2_and4_2.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_antennanp/layout/sg13g2_antennanp.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_antennanp/netlist/sg13g2_antennanp.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_1/layout/sg13g2_buf_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_1/netlist/sg13g2_buf_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_16/layout/sg13g2_buf_16.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_16/netlist/sg13g2_buf_16.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_2/layout/sg13g2_buf_2.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_2/netlist/sg13g2_buf_2.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_4/layout/sg13g2_buf_4.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_4/netlist/sg13g2_buf_4.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_8/layout/sg13g2_buf_8.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_8/netlist/sg13g2_buf_8.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_decap_4/layout/sg13g2_decap_4.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_decap_4/netlist/sg13g2_decap_4.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_decap_8/layout/sg13g2_decap_8.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_decap_8/netlist/sg13g2_decap_8.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dfrbp_1/layout/sg13g2_dfrbp_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dfrbp_1/netlist/sg13g2_dfrbp_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dfrbp_2/layout/sg13g2_dfrbp_2.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dfrbp_2/netlist/sg13g2_dfrbp_2.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dlhq_1/layout/sg13g2_dlhq_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dlhq_1/netlist/sg13g2_dlhq_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dlhr_1/layout/sg13g2_dlhr_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dlhr_1/netlist/sg13g2_dlhr_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dlhrq_1/layout/sg13g2_dlhrq_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dlhrq_1/netlist/sg13g2_dlhrq_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dllr_1/layout/sg13g2_dllr_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dllr_1/netlist/sg13g2_dllr_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dllrq_1/layout/sg13g2_dllrq_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dllrq_1/netlist/sg13g2_dllrq_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dlygate4sd1_1/layout/sg13g2_dlygate4sd1_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dlygate4sd1_1/netlist/sg13g2_dlygate4sd1_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dlygate4sd2_1/layout/sg13g2_dlygate4sd2_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dlygate4sd2_1/netlist/sg13g2_dlygate4sd2_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dlygate4sd3_1/layout/sg13g2_dlygate4sd3_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dlygate4sd3_1/netlist/sg13g2_dlygate4sd3_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_ebufn_2/layout/sg13g2_ebufn_2.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_ebufn_2/netlist/sg13g2_ebufn_2.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_ebufn_4/layout/sg13g2_ebufn_4.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_ebufn_4/netlist/sg13g2_ebufn_4.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_ebufn_8/layout/sg13g2_ebufn_8.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_ebufn_8/netlist/sg13g2_ebufn_8.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_einvn_2/layout/sg13g2_einvn_2.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_einvn_2/netlist/sg13g2_einvn_2.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_einvn_4/layout/sg13g2_einvn_4.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_einvn_4/netlist/sg13g2_einvn_4.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_einvn_8/layout/sg13g2_einvn_8.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_einvn_8/netlist/sg13g2_einvn_8.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_fill_1/layout/sg13g2_fill_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_fill_2/layout/sg13g2_fill_2.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_fill_4/layout/sg13g2_fill_4.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_fill_8/layout/sg13g2_fill_8.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_inv_1/layout/sg13g2_inv_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_inv_1/netlist/sg13g2_inv_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_inv_16/layout/sg13g2_inv_16.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_inv_16/netlist/sg13g2_inv_16.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_inv_2/layout/sg13g2_inv_2.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_inv_2/netlist/sg13g2_inv_2.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_inv_4/layout/sg13g2_inv_4.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_inv_4/netlist/sg13g2_inv_4.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_inv_8/layout/sg13g2_inv_8.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_inv_8/netlist/sg13g2_inv_8.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_lgcp_1/layout/sg13g2_lgcp_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_lgcp_1/netlist/sg13g2_lgcp_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_mux2_1/layout/sg13g2_mux2_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_mux2_1/netlist/sg13g2_mux2_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_mux2_2/layout/sg13g2_mux2_2.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_mux2_2/netlist/sg13g2_mux2_2.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_mux4_1/layout/sg13g2_mux4_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_mux4_1/netlist/sg13g2_mux4_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand2_1/layout/sg13g2_nand2_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand2_1/netlist/sg13g2_nand2_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand2_2/layout/sg13g2_nand2_2.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand2_2/netlist/sg13g2_nand2_2.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand2b_1/layout/sg13g2_nand2b_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand2b_1/netlist/sg13g2_nand2b_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand2b_2/layout/sg13g2_nand2b_2.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand2b_2/netlist/sg13g2_nand2b_2.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand3_1/layout/sg13g2_nand3_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand3_1/netlist/sg13g2_nand3_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand3b_1/layout/sg13g2_nand3b_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand3b_1/netlist/sg13g2_nand3b_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand4_1/layout/sg13g2_nand4_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand4_1/netlist/sg13g2_nand4_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor2_1/layout/sg13g2_nor2_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor2_1/netlist/sg13g2_nor2_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor2_2/layout/sg13g2_nor2_2.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor2_2/netlist/sg13g2_nor2_2.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor2b_1/layout/sg13g2_nor2b_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor2b_1/netlist/sg13g2_nor2b_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor2b_2/layout/sg13g2_nor2b_2.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor2b_2/netlist/sg13g2_nor2b_2.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor3_1/layout/sg13g2_nor3_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor3_1/netlist/sg13g2_nor3_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor3_2/layout/sg13g2_nor3_2.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor3_2/netlist/sg13g2_nor3_2.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor4_1/layout/sg13g2_nor4_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor4_1/netlist/sg13g2_nor4_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor4_2/layout/sg13g2_nor4_2.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor4_2/netlist/sg13g2_nor4_2.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_o21ai_1/layout/sg13g2_o21ai_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_o21ai_1/netlist/sg13g2_o21ai_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_or2_1/layout/sg13g2_or2_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_or2_1/netlist/sg13g2_or2_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_or2_2/layout/sg13g2_or2_2.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_or2_2/netlist/sg13g2_or2_2.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_or3_1/layout/sg13g2_or3_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_or3_1/netlist/sg13g2_or3_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_or3_2/layout/sg13g2_or3_2.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_or3_2/netlist/sg13g2_or3_2.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_or4_1/layout/sg13g2_or4_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_or4_1/netlist/sg13g2_or4_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_or4_2/layout/sg13g2_or4_2.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_or4_2/netlist/sg13g2_or4_2.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_sdfbbp_1/layout/sg13g2_sdfbbp_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_sdfbbp_1/netlist/sg13g2_sdfbbp_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_sighold/layout/sg13g2_sighold.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_sighold/netlist/sg13g2_sighold.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_slgcp_1/layout/sg13g2_slgcp_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_slgcp_1/netlist/sg13g2_slgcp_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_tiehi/layout/sg13g2_tiehi.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_tiehi/netlist/sg13g2_tiehi.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_tielo/layout/sg13g2_tielo.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_tielo/netlist/sg13g2_tielo.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_xnor2_1/layout/sg13g2_xnor2_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_xnor2_1/netlist/sg13g2_xnor2_1.cdl create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_xor2_1/layout/sg13g2_xor2_1.gds create mode 100644 ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_xor2_1/netlist/sg13g2_xor2_1.cdl diff --git a/.github/workflows/lvs_regression.yml b/.github/workflows/lvs_regression.yml index ae5eb9c7..de0ecc1a 100644 --- a/.github/workflows/lvs_regression.yml +++ b/.github/workflows/lvs_regression.yml @@ -58,9 +58,9 @@ jobs: - name: Installing Klayout run: | sudo apt update -qq -y - wget https://www.klayout.org/downloads/Ubuntu-22/klayout_0.28.14-1_amd64.deb + wget https://www.klayout.org/downloads/Ubuntu-22/klayout_0.29.0-1_amd64.deb # The dpkg command will fail complaining about missing dependencies. - sudo dpkg -i ./klayout_0.28.14-1_amd64.deb || true + sudo dpkg -i ./klayout_0.29.0-1_amd64.deb || true # The apt install command should install the missing dependencies # needed by KLayout above and finish the install. sudo apt install -f -y @@ -73,3 +73,25 @@ jobs: - name: Testing ${{ matrix.part }} for ${{ matrix.test }} run: | make test-"$(python -c 'print("${{ matrix.part }}".upper())')"-${{ matrix.test }} + + lvs_regression_stdcells: + runs-on: ubuntu-latest + steps: + - name: Installing Klayout + run: | + sudo apt update -qq -y + wget https://www.klayout.org/downloads/Ubuntu-22/klayout_0.29.0-1_amd64.deb + # The dpkg command will fail complaining about missing dependencies. + sudo dpkg -i ./klayout_0.29.0-1_amd64.deb || true + # The apt install command should install the missing dependencies + # needed by KLayout above and finish the install. + sudo apt install -f -y + # Check that KLayout was successfully installed! + klayout -v + + - uses: actions/checkout@v3 + with: + submodules: 'recursive' + - name: Testing LVS for stdcells + run: | + make test-LVS-stdcells diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/README.md b/ihp-sg13g2/libs.tech/klayout/tech/lvs/README.md index 3bd4347a..1c77edc3 100644 --- a/ihp-sg13g2/libs.tech/klayout/tech/lvs/README.md +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/README.md @@ -30,10 +30,12 @@ Explains how to use the SG13G2 LVS rule decks. You need the following set of tools installed to be able to run SG13G2 LVS: -At a minimum: - - Python 3.9+ -- KLayout 0.28.14+ +- KLayout 0.29.0+ + +We have tested this using the following setup: +- Python 3.9.18 +- KLayout 0.29.0 ## Installation diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/rule_decks/diode_derivations.lvs b/ihp-sg13g2/libs.tech/klayout/tech/lvs/rule_decks/diode_derivations.lvs index 6006f701..2d79ab04 100644 --- a/ihp-sg13g2/libs.tech/klayout/tech/lvs/rule_decks/diode_derivations.lvs +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/rule_decks/diode_derivations.lvs @@ -29,7 +29,7 @@ diode_exclude = gatpoly_drw.join(nsd_drw) .join(activ_mask).join(recog_esd).join(ind_drw) .join(ind_pin).join(substrate_drw) -antenna_d_exc = pwell_block.join(nbulay_drw).join(salblock_drw) +antenna_d_exc = pwell_block.join(salblock_drw) .join(nsd_block).join(diode_exclude) antenna_d_mk = recog_diode.not(antenna_d_exc) diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/rule_decks/general_connections.lvs b/ihp-sg13g2/libs.tech/klayout/tech/lvs/rule_decks/general_connections.lvs index a5356de5..b7d53671 100644 --- a/ihp-sg13g2/libs.tech/klayout/tech/lvs/rule_decks/general_connections.lvs +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/rule_decks/general_connections.lvs @@ -29,6 +29,8 @@ connect(pwell, ptap) connect(nwell_drw, ntap) connect(ntap, cont_drw) connect(ptap, cont_drw) +connect(nsd_fet, ptap) +connect(psd_fet, ntap) connect(poly_con, cont_drw) connect(nsd_fet, cont_drw) connect(psd_fet, cont_drw) diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/rule_decks/general_derivations.lvs b/ihp-sg13g2/libs.tech/klayout/tech/lvs/rule_decks/general_derivations.lvs index 5bed6542..de69d23e 100644 --- a/ihp-sg13g2/libs.tech/klayout/tech/lvs/rule_decks/general_derivations.lvs +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/rule_decks/general_derivations.lvs @@ -33,7 +33,7 @@ nwell_n_iso = nwell_drw.not(nbulay_drw) # pwell pwell_pre = pwell_drw.join(CHIP.not(nwell_drw.join(pwell_block).join(digisub_drw))) -digisub_pre = digisub_drw.sized(-1.nm) +digisub_pre = digisub_drw.not(nwell_drw).not(pwell_block).sized(-1.nm) pwell = pwell_pre.join(digisub_pre) # psd, nsd active & res @@ -70,7 +70,7 @@ ntap = nactiv.and(nwell_n_iso).not(res_mk).not(recog_diode).not(gatpoly_drw) ptap = pactiv.and(pwell).not(substrate_drw).not(res_mk).not(recog_diode).not(gatpoly_drw) # Derived - Layers (Special) -nwell_holes = nwell_drw.holes +nwell_holes = nwell_drw.holes.not(nwell_drw) ptap_holes = ptap.holes ntap_holes = ntap.holes diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/Makefile b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/Makefile index dad87c29..47cbf3d2 100644 --- a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/Makefile +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/Makefile @@ -39,6 +39,15 @@ test-LVS-%: @echo "========== LVS-$* testing ==========" @ python3 run_regression.py --device=$* +#================================ +# ------ test-LVS-stdcells ------ +#================================ + +.ONESHELL: +test-LVS-stdcells: + @echo "========== LVS-stdcells Testing ==========" + @ python3 run_regression_cells.py + #================================= # -------- test-LVS-switch ------- #================================= @@ -71,6 +80,7 @@ help: @echo "... all (the default if no target is provided )" @echo "... test-LVS (To run LVS for all devices with switching test )" @echo "... test-LVS-main (To run LVS for all devices )" + @echo "... test-LVS-stdcells (To run LVS for all standard cells )" @echo "... test-LVS-switch (To run simple LVS switching test )" @echo "... test-LVS- (To run LVS for specific device group )" @echo "... list-devices (To list all available device groups )" diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/README.md b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/README.md index 0168e9c7..5fea958b 100644 --- a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/README.md +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/README.md @@ -18,11 +18,11 @@ At a minimum: You need the following set of tools installed to be able to run the regression: - Python 3.9+ -- KLayout 0.28.14+ +- KLayout 0.29.0+ We have tested this using the following setup: - Python 3.9.18 -- KLayout 0.28.16 +- KLayout 0.29.0 ## Installation diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/run_regression.py b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/run_regression.py index 0b0077cf..e046c646 100644 --- a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/run_regression.py +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/run_regression.py @@ -116,7 +116,7 @@ def parse_existing_devices(rule_deck_path, output_path, target_device_group=None lvs_files = [table_device_file] - rules_data = list() + dev_data = list() for runset in lvs_files: with open(runset, "r") as f: @@ -129,11 +129,11 @@ def parse_existing_devices(rule_deck_path, output_path, target_device_group=None ) rule_info["device_name"] = line_list[1] rule_info["in_rule_deck"] = 1 - rules_data.append(rule_info) + dev_data.append(rule_info) - df = pd.DataFrame(rules_data) + df = pd.DataFrame(dev_data) df.drop_duplicates(inplace=True) - df.to_csv(os.path.join(output_path, "rule_deck_rules.csv"), index=False) + df.to_csv(os.path.join(output_path, "rule_deck_devices.csv"), index=False) return df @@ -367,7 +367,7 @@ def aggregate_results(results_df: pd.DataFrame, devices_df: pd.DataFrame): Parameters ---------- results_df : pd.DataFrame - Dataframe that holds the information about the unit test rules. + Dataframe that holds the information about the unit test devices. devices_df : pd.DataFrame Dataframe that holds the information about all the devices implemented in the rule deck. @@ -377,7 +377,7 @@ def aggregate_results(results_df: pd.DataFrame, devices_df: pd.DataFrame): A DataFrame that has all data analysis aggregated into one. """ if len(devices_df) < 1 and len(results_df) < 1: - logging.error("There are no rules for analysis or run.") + logging.error("There are no devices for analysis or run.") exit(1) elif len(devices_df) < 1 and len(results_df) > 0: df = results_df @@ -410,10 +410,10 @@ def run_regression(lvs_dir, output_path, target_device_group, cpu_count): Returns ------- bool - If all regression passed, it returns true. If any of the rules failed it returns false. + If all regression passed, it returns true. If any of the devices failed it returns false. """ - # Parse Existing Rules + # Parse Existing devices devices_df = parse_existing_devices(lvs_dir, output_path, target_device_group) logging.info( "Total number of devices found in rule decks: {}".format(len(devices_df)) @@ -440,7 +440,7 @@ def run_regression(lvs_dir, output_path, target_device_group, cpu_count): # Generate error if there are any missing info or fails. df.to_csv(os.path.join(output_path, "all_test_cases_results.csv"), index=False) - # Check if there any rules that generated false positive or false negative + # Check if there any device that generated failure failing_results = df[~df["device_status"].isin(["Passed"])] logging.info("Failing test cases: \n" + str(failing_results)) @@ -467,7 +467,7 @@ def main(lvs_dir, output_path, target_device_group): Returns ------- bool - If all regression passed, it returns true. If any of the rules failed it returns false. + If all regression passed, it returns true. If any of the devices failed it returns false. """ # No. of threads diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/run_regression_cells.py b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/run_regression_cells.py new file mode 100644 index 00000000..289c4aca --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/run_regression_cells.py @@ -0,0 +1,490 @@ +# ========================================================================== +# Copyright 2024 IHP PDK Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# SPDX-License-Identifier: Apache-2.0 +# ========================================================================== + +"""Run IHP 130nm BiCMOS Open Source PDK - SG13G2 LVS Regression For Cells. + +Usage: + run_regression_cells.py (--help| -h) + run_regression_cells.py [--cell=] [--run_dir=] [--mp=] + +Options: + --help -h Print this help message. + --cell= Specify the cell to run; all cells run if not specified. + --run_dir= Run directory to save all the results [default: pwd] + --mp= The number of threads used in run. +""" + +from subprocess import check_call +import concurrent.futures +import traceback +import yaml +from docopt import docopt +import os +from datetime import datetime +import time +import pandas as pd +import logging +import glob +from pathlib import Path +import shutil + +# CONSTANTS +SUPPORTED_TC_EXT = "gds" +SUPPORTED_SPICE_EXT = "cdl" +SUPPORTED_SW_EXT = "yaml" + + +def check_klayout_version(): + """ + Check klayout version and makes sure it would work with the LVS. + """ + # ======= Checking Klayout version ======= + klayout_v_ = os.popen("klayout -b -v").read() + klayout_v_ = klayout_v_.split("\n")[0] + klayout_v_list = [] + + if klayout_v_ == "": + logging.error("Klayout is not found. Please make sure klayout is installed.") + exit(1) + else: + klayout_v_list = [int(v) for v in klayout_v_.split(" ")[-1].split(".")] + + if len(klayout_v_list) < 1 or len(klayout_v_list) > 3: + logging.error("Was not able to get klayout version properly.") + exit(1) + elif len(klayout_v_list) >= 2 or len(klayout_v_list) <= 3: + if klayout_v_list[1] < 28 or ( + klayout_v_list[1] == 28 and klayout_v_list[2] <= 13 + ): + logging.error("Prerequisites at a minimum: KLayout 0.28.14") + logging.error( + "Using this klayout version has not been assessed. Limits are unknown" + ) + # exit(1) + + logging.info(f"Your Klayout version is: {klayout_v_}") + + +def build_tests_dataframe(cells_dir, target_cell, cells): + """ + Getting all test cases available in a formatted dataframe before running. + + Parameters + ---------- + cells_dir : sting + Path string to the cells directory where all the testcases are located. + target_cell : str or None + Name of cell that we want to run regression for. If None, run all found. + cells : list + List that holds all available cells will be tested. + + Returns + ------- + pd.DataFrame + A DataFrame that has all the targeted test cases that we need to run. + """ + + # Construct df that holds all info + tc_df = pd.DataFrame({"cell_name": cells}) + + all_cells_layout = sorted(Path(cells_dir).rglob("*.{}".format(SUPPORTED_TC_EXT))) + all_cells_netlist = sorted( + Path(cells_dir).rglob("*.{}".format(SUPPORTED_SPICE_EXT)) + ) + + # Mapping cell names to paths for both layout and netlist files + cell_paths = { + cell_name: { + "layout_path": next( + (path for path in all_cells_layout if cell_name in str(path)), None + ), + "netlist_path": next( + (path for path in all_cells_netlist if cell_name in str(path)), None + ), + } + for cell_name in tc_df["cell_name"] + } + + # Adding paths to new columns in the DataFrame + tc_df[["layout_path", "netlist_path"]] = tc_df["cell_name"].apply( + lambda x: pd.Series(cell_paths[x]) + ) + + # Print warning for cells without layout or netlist path + missing_cells = tc_df[ + (tc_df["layout_path"].isnull()) | (tc_df["netlist_path"].isnull()) + ]["cell_name"] + if not missing_cells.empty: + logging.warning( + "The following cells are missing layout (GDS) or netlist (CDL) files, or both: {}".format( + missing_cells.tolist() + ) + ) + logging.warning("These missing cells will be ignored in testing.") + + # Drop missing cells + tc_df.drop(tc_df[tc_df["cell_name"].isin(missing_cells)].index, inplace=True) + + # Check selected cell is available + if target_cell is not None: + tc_df = tc_df[tc_df["cell_name"] == target_cell] + if len(tc_df) < 1: + logging.error("No test cases remaining for selected cells after filtering.") + exit(1) + + # info about available cells + logging.info("Total cells found: {}".format(len(tc_df))) + logging.info("Found cells: \n" + str(tc_df["cell_name"])) + + tc_df["run_id"] = range(len(tc_df)) + + # Duplicate the original cells for iso/digisub + iso_df = tc_df.copy() + sub_df = tc_df.copy() + + # Add the suffix to each cell in the column + iso_df["cell_name"] = iso_df["cell_name"] + "_iso" + sub_df["cell_name"] = sub_df["cell_name"] + "_digisub" + + # Concatenate the original DataFrame with the modified DataFrame + final_df = pd.concat([tc_df, iso_df, sub_df]) + final_df.reset_index(drop=True, inplace=True) + + final_df["run_id"] = range(len(final_df)) + + return final_df + + +def get_switches(yaml_file, rule_name): + """Parse yaml file and extract switches data + Parameters + ---------- + yaml_file : str + yaml config file path given py the user. + Returns + ------- + yaml_dic : dictionary + dictionary containing switches data. + """ + + # load yaml config data + with open(yaml_file, "r") as stream: + try: + yaml_dic = yaml.safe_load(stream) + except yaml.YAMLError as exc: + print(exc) + + return [f"{param}={value}" for param, value in yaml_dic[rule_name].items()] + + +def run_test_case( + lvs_dir, layout_path, netlist_path, run_dir, cell_name, +): + """ + This function run a single test case using the correct DRC file. + + Parameters + ---------- + lvs_dir : string or Path + Path to the location where all runsets exist. + layout_path : stirng or Path object + Path string to the layout of the test pattern we want to test. + netlist_path : stirng or Path object + Path string to the netlist of the test pattern we want to test. + run_dir : stirng or Path object + Path to the location where is the regression run is done. + cell_name : string + Cell name that we are running on. + + Returns + ------- + dict + A dict with all rule counts + """ + + # Get switches used for each run + sw_file = os.path.join( + Path(layout_path.parent).absolute(), f"{cell_name}.{SUPPORTED_SW_EXT}" + ) + + # Switches setup + if os.path.exists(sw_file): + switches = " ".join(get_switches(sw_file, cell_name)) + else: + # Get switches + switches = "" # default switch + + # Creating run folder structure and copy testcases in it + pattern_clean = ".".join(os.path.basename(layout_path).split(".")[:-1]) + output_loc = os.path.join(run_dir, cell_name) + pattern_log = os.path.join(output_loc, f"{pattern_clean}_lvs.log") + os.makedirs(output_loc, exist_ok=True) + layout_path_run = os.path.join(run_dir, cell_name, f"{cell_name}.gds") + netlist_path_run = os.path.join(run_dir, cell_name, f"{cell_name}.cdl") + shutil.copyfile(layout_path, layout_path_run) + shutil.copyfile(netlist_path, netlist_path_run) + + # command to run LVS + call_str = ( + f"python3 {lvs_dir}/run_lvs.py --layout={layout_path_run} --topcell={cell_name} " + f"--netlist={netlist_path_run} --run_dir={output_loc} {switches} > {pattern_log} 2>&1" + ) + + # Starting klayout run + try: + check_call(call_str, shell=True) + except Exception as e: + pattern_results = glob.glob(os.path.join(output_loc, f"{pattern_clean}*.lvsdb")) + if len(pattern_results) < 1: + logging.error("%s generated an exception: %s" % (pattern_clean, e)) + traceback.print_exc() + raise Exception("Failed LVS run.") + + # dumping log into output to make CI have the log + if os.path.isfile(pattern_log): + with open(pattern_log, "r") as f: + result = f.read() + for line in f: + line = line.strip() + logging.info(f"{line}") + + # checking device status + cell_status = "Failed" + if "Congratulations! Netlists match" in result: + logging.info(f"{cell_name} testcase passed") + cell_status = "Passed" + else: + logging.error(f"{cell_name} testcase failed.") + logging.error(f"Please recheck {layout_path} and {netlist_path} files.") + else: + logging.error("Klayout LVS run failed, there is no log file is generated") + exit(1) + + return cell_status + + +def run_all_test_cases(tc_df: pd.DataFrame, lvs_dir, run_dir, num_workers): + """ + This function run all test cases from the input dataframe. + + Parameters + ---------- + tc_df : pd.DataFrame + DataFrame that holds all the test cases information for running. + lvs_dir : string or Path + Path string to the location of the lvs runsets. + run_dir : string or Path + Path string to the location of the testing code and output. + num_workers : int + Number of workers to use for running the regression. + + Returns + ------- + pd.DataFrame + A pandas DataFrame with all test cases information post running. + """ + + tc_df["cell_status"] = "no status" + + with concurrent.futures.ThreadPoolExecutor(max_workers=num_workers) as executor: + future_to_run_id = dict() + for _, row in tc_df.iterrows(): + future_to_run_id[ + executor.submit( + run_test_case, + lvs_dir, + row["layout_path"], + row["netlist_path"], + run_dir, + row["cell_name"], + ) + ] = row["run_id"] + + for future in concurrent.futures.as_completed(future_to_run_id): + run_id = future_to_run_id[future] + try: + tc_df.loc[tc_df["run_id"] == run_id, "cell_status"] = future.result() + except Exception as exc: + logging.error("%d generated an exception: %s" % (run_id, exc)) + traceback.print_exc() + tc_df.loc[tc_df["run_id"] == run_id, "cell_status"] = "exception" + + return tc_df + + +def run_regression(lvs_dir, cells_dir, output_path, target_cell, cpu_count, cells): + """ + Runs the full regression for std cells. + + Parameters + ---------- + lvs_dir : string + Path string to the LVS directory where all the LVS files are located. + cells_dir : sting + Path string to the cells directory where all the testcases are located. + output_path : str + Path string to the location of the output results of the run. + target_cell : str or None + Name of cell that we want to run regression for. If None, run all found. + cpu_count : int + Number of cpu cores to be used in running testcases. + cells : list + List that holds all available cells will be tested. + Returns + ------- + bool + If all regression passed, it returns true. If any of the cells failed it returns false. + """ + + # Get all test cases available in the repo. + tc_df = build_tests_dataframe(cells_dir, target_cell, cells) + + # Run all test cases. + results_df = run_all_test_cases(tc_df, lvs_dir, output_path, cpu_count) + results_df.drop_duplicates(inplace=True) + results_df.drop("run_id", inplace=True, axis=1) + logging.info("Final results table: \n" + str(results_df)) + + # Generate error if there are any missing info or fails. + results_df.to_csv( + os.path.join(output_path, "all_test_cases_results.csv"), index=False + ) + + # Check if there any cell that generated failure + failing_results = results_df[~results_df["cell_status"].isin(["Passed"])] + logging.info("Failing test cases: \n" + str(failing_results)) + + if len(failing_results) > 0: + logging.error("Some test cases failed .....") + return False + else: + logging.info("All testcases passed.") + return True + + +def main(lvs_dir, cells_dir, output_path, target_cell, cells): + """ + Main function to run LVS regression for SG13G2 std cells. + + Parameters + ---------- + lvs_dir : str + Path string to the LVS directory where all the LVS files are located. + cells_dir : sting + Path string to the cells directory where all the testcases are located. + output_path : str + Path string to the location of the output results of the run. + target_cell : str or None + Name of cell that we want to run regression for. If None, run all found. + cells : list + List that holds all available cells will be tested + Returns + ------- + bool + If all regression passed, it returns true. If any of the cells failed it returns false. + """ + + # No. of threads + cpu_count = os.cpu_count() if args["--mp"] is None else int(args["--mp"]) + + # info logs for args + logging.info("Run folder is: {}".format(output_path)) + logging.info("Target cell is: {}".format(target_cell)) + + # Start of execution time + t0 = time.time() + + # Check Klayout version + check_klayout_version() + + # Calling regression function + run_status = run_regression( + lvs_dir, cells_dir, output_path, target_cell, cpu_count, cells + ) + + # End of execution time + logging.info("Total execution time {}s".format(time.time() - t0)) + + if run_status: + logging.info("Test completed successfully.") + else: + logging.error("Test failed.") + exit(1) + + +if __name__ == "__main__": + + # docopt setup + args = docopt(__doc__, version="LVS Regression: 0.2") + + # default run name + run_name = datetime.utcnow().strftime("cells_tests_%Y_%m_%d_%H_%M_%S") + + # args setup + run_dir = args["--run_dir"] + if run_dir == "pwd" or run_dir == "" or run_dir is None: + output_path = os.path.join(os.path.abspath(os.getcwd()), run_name) + else: + output_path = os.path.abspath(run_dir) + + # Creating output dir + os.makedirs(output_path, exist_ok=True) + + # Paths of regression dirs + testing_dir = os.path.dirname(os.path.abspath(__file__)) + lvs_dir = os.path.dirname(testing_dir) + + # logs format + logging.basicConfig( + level=logging.DEBUG, + handlers=[ + logging.FileHandler(os.path.join(output_path, "{}.log".format(run_name))), + logging.StreamHandler(), + ], + format="%(asctime)s | %(levelname)-7s | %(message)s", + datefmt="%d-%b-%Y %H:%M:%S", + ) + + # Pandas setup + pd.set_option("display.max_columns", None) + pd.set_option("display.max_rows", None) + pd.set_option("max_colwidth", None) + pd.set_option("display.width", 1000) + + # Available cells + cells_dir = os.path.join(testing_dir, "testcases", "sg13g2_cells") + if not os.path.isdir(cells_dir): + logging.error("Cells tests directory doesn't exist, please recheck") + logging.error(f"{cells_dir} path doesn't exist") + exit(1) + + cells = [cell.name for cell in os.scandir(cells_dir) if cell.is_dir()] + + # Make sure that we have std cells + if len(cells) < 1: + logging.error(f"There are no cells exist in {cells_dir}, please recheck") + exit(1) + + # selected cell + target_cell = args["--cell"] + if target_cell and (target_cell not in cells): + logging.error("Selected cell doesn't exist, please recheck.") + logging.info(f"Allowed cells are {cells}") + exit(1) + + # Calling main function + main(lvs_dir, cells_dir, output_path, target_cell, cells) diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a21o_1/layout/sg13g2_a21o_1.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a21o_1/layout/sg13g2_a21o_1.gds new file mode 100644 index 0000000000000000000000000000000000000000..ea7daa963e927b7fd64d813246955885c2fb37d0 GIT binary patch literal 16128 zcmeI3U5Hgx6vx;7I``ar&x|u7+L+a(Vpe{Rg;-*v34JIPD57HdkvUCRV@@KK#Pop? z2t8R36%0WsBo!19ks$QxL)1&X6fseO577toP+3m@|6XU!zE|g*Y98vLeL;Tru6_Pz z?X%Y2`<%08E0Gk78)ZhJSUn{bNu(w-WlHmRNs7_#{vCU_@4a7SN~yA9tc~|EE2U9;VWt{ipYVEl1OC`#&1PR z&v{mF5-EN!Vr=Wi@7*FsXTK(G2cvSTH{J|qKf#`|2*>neguimU`?KqDS=gah0LqDsZh}16iq`&xx`XhOs+H6nytG%fH zNY~Em<#Bqx@%%04^(8kz_qIsm5>NW8zo7oe!d^Yjh~t~j*PiBYUPozkbo4Fw9f5Y2 zXM2a*jcCu&VZ$sjplJ-D5cRK~L&v zH==z!{aP1K=qkhT-)Lf8$73ZWp2HM|{P7+81bUjFUF2-3WV*9`U=2 zdLy(?sb1;q&H9Uce9_i{zJDgt-o%a@)ow(4vp#nEqPYIM@q2-e%P1wsJMBi;Gxhb~ zkjuk}*OQ*5_b^^zH=;dLAAOGg&x9||$CUI-yAk$GeF1%r7b16yJd=yj7ubzx&(t&0 zZKpJU#!15(epA@x;V1KYCOlr#cqe_@&&KVZwL9SdTFilzypAgFTgLc#e22~mduIP8 zJRd}Mb3JM67O`<>|FRBx;wQoRxO zTz!mtIsF@Jk?M`GXX=YX8n;rnC*wxDF)x0_A&py!_bbGa=V9EaSLVmBcobt}6Li-% z@mJ_+H*U)Ae+grs@h|=E$+**Q%!@ydW8A4XGVZh+Vb6>ok7L}aH!|+-yeaeIU-}xy z9>H9C)U$jYzQb-rd#3;LHqBcF;pRLbnK#;vdHE}E)4Wy0h!Y@x)GPDz$9q8IAaYgn zOy-~;up7~y*?%5apRf8c;-2R0#`*dB_+!-@YXhn`!k+E_E5tg1{^2GbgPwL{>+@*K z`V;kP+@lds#+`O!Ui_n8je9g=)VNd6_^0ie{ik2|Y&7Iq#WODLMzm+@tGFLCe{rWL z^G3TdFMm9ad82-e$eXhpbMnXIm^bQ;%p2{-y!^#ek*7V-zTsK!z;D=%XfNaR_CDK^ zzqniT7N78B-e@=G@6eo~=KuapSWc<3}=X4cLu&@#AszxvCrEhpMj|=jQw8xTjwu$34$$ z%p3nauKbefjg>X3H^QEM{Ue&UWXO|wYrt;I%U@$e^Og)5HE+~2e`$NO|KslYt*q~x zIBM+Ej_3cjZuBGNSOccUXid%to5*WSP^!&4d6JsP>H}?o>fuY+CPYaZL4soDr!~L zRWUGbSwE59eHRZgwYNFAqiN;V>Y`M#|R5kg8Wz|HZRTGV&s)#{`Cw5jz zLsb#u1r=ki%SMiqzpR3Xs$!@r;we+ox0z5?)VB&&1^G5n9P-S2s|Zy^tTnq((Fj#V z_g2p8BHzYCRZ-^;tAly-CsY-+ni8stcz#K%i&jlEhN@!A`$9`qI8+r;sQI5)6=O^t zR293^zc%k=^|137Y^>`U9X&nQlkemF82LWVDyGrw?F&?=#P{VqpONQl8ILWydQQ*f zanz5F{;^1PMziC5%~jU3^dgg2Q1ASt*P+*A_Q@;q^z@5=GmQRxs(1a$@GsI)cJ1zZ zwcpg!ZuI(4&Ha0o?0>nMJN@ix?#}+c{=t1aLPggqc2?026QI`)HxeWH9)z&x3)PYmPigKNH{YDGKj6Ak-B^~u!6L)a(k=TGx|X?ddy`$V;( z81{)`Ps)C+tlIuiW7sF!^1RYAf5JXdj2XU~Vh_(4kA;1rRqWGbWuDC2C&%`&{h{-* z7Iosc?GH7EeWIE7FYX7mO0Ll=xyDe@&0fDkMK@G*(~9nL|Nn=yqN)|tvn!*%;%b%E NP?`MCDwE~1{0X`iWhMXs literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a21o_1/netlist/sg13g2_a21o_1.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a21o_1/netlist/sg13g2_a21o_1.cdl new file mode 100644 index 00000000..e6de1edc --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a21o_1/netlist/sg13g2_a21o_1.cdl @@ -0,0 +1,79 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* +* Copyright 2023 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_a21o_1 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_a21o_1 A1 A2 B1 VDD VSS X +*.PININFO A1:I A2:I B1:I X:O VDD:B VSS:B +MN0 net1 A1 net2 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN1 net2 A2 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN2 net1 B1 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN3 X net1 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MP0 net1 B1 net3 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP1 net3 A1 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP2 net3 A2 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP3 X net1 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_a21o_1_iso A1 A2 B1 VDD VSS X +*.PININFO A1:I A2:I B1:I X:O VDD:B VSS:B +MN0 net1 A1 net2 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN1 net2 A2 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN2 net1 B1 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN3 X net1 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MP0 net1 B1 net3 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP1 net3 A1 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP2 net3 A2 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP3 X net1 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_a21o_1_digisub A1 A2 B1 VDD VSS X +*.PININFO A1:I A2:I B1:I X:O VDD:B VSS:B +MN0 net1 A1 net2 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN1 net2 A2 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN2 net1 B1 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN3 X net1 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MP0 net1 B1 net3 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP1 net3 A1 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP2 net3 A2 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP3 X net1 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a21o_2/layout/sg13g2_a21o_2.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a21o_2/layout/sg13g2_a21o_2.gds new file mode 100644 index 0000000000000000000000000000000000000000..2f0127d217973d7af923eba7512df545ed9e97f1 GIT binary patch literal 18816 zcmeI3Ux-{+9mmhynYnXk=I-ofo2Dd-tw$*HvT4}>3jZ$hJY9ei^g)}7^R-!41 zMO#I-wiGIYh~SGLgIIjYL%~wg*wR2tQBV}5RcVn(BLrKp_Dzaizu)t_-#Ih0xu@+s zXdlkN@Y(&H^S$Ss-}#;U=Xd71+-2DvZhIr^TySkyx~{vzZ65#Im05ml^_~-lPu%a^ z=4N~Mo=30y+zY>WbFIR;d@e&< z`5<%7?O$j*H+Rap&L2Qn#JMHs$~D+3W)QMm%zth=5xUl$M65vj@xeq^0>Y4 z+VRQ!5&XX%$aeYl?Ks)gqI`uZ8vJLlZ|Hvo;xo7g`Z3Pm z>CH|=c|?!ne}#Gx+8>+V= z?-19;Zq)xsV2OC3T|{|Q&;C;{vftE;Q~m!?@IQRB0PRcg-y4Aox0qc-`FQ(<*Jlp# zW9u~kK(+oV@;t$HE26wsU#_8D=mwZWkviJNn7()tx+}0g9}lFCb`j;Z?Kg2^%Fbi` zTpC#3;T-KE%4_uwpScSbzvBFmR@jCfERX2n>np4H^@QdX(;0pFM!j>V=zp#o)*IXy z*j`1SZpQpqWO?x;D<_+Og>QZk$nyLWD<|7ne{CFCWO;U(m6NnLs(K{L{m1j7 zkE#FilSn`ExFXjT+ZAbN|3uo^Z;^KTMZ|G0*1nJ5at+#9;;*_s4)!8WK8d!lhQ;oe z5dR-UOje}5yUohU;%AsI=tPv)_OHK!V{L_YUm(XtyNL2yy}y1|>yqQt_4Xatr*q%- z>-#DA8gW!)fyD#(e+#}9Ilj)KjgRbn&#p%zuamTkt>@v7XHlmjuWdcFBci?9@yxv5 zot>{{Snqi_U&7~S5#Ko14DJ>YXt&ZXdi!|)r}WT%o%+D}&88PoUa!9we*ZnR3xVC^ z(8DgGJgRT8ZRo`|x=y_ad#%2F0rU6|)c~XY~Ff9(dMlOa2-_T5xvb@Zy3mV zqh5^7U-w_QZk4G2!!e#h?9(om_5Ei(#y#~SueeF76s5#_jE5Wc(dm z$9VqgoDbxAi*_+~{$jn})utcucc$-&SJ%%!^;|b>U*x)>U5u@te8v2ppA*gR`HC3# zKkL!|eC87AciP36|J!@uw}%m{e+%qhiT`02QC>U$tVh35KO+3*?PA1#tk*wndXe|Z zw2QDu+ixB){fKXxz9}Av>sx0`FZ%mbv@gP5-#!+3&i+3Z*kS)+7g1iTZ{2P4-gctR zJI^IthgEq*Z}ZM`4d4q`z`LfuLm;jX%}Ph&w7j- z>PJM}c)J*hAJ*ggr(Wc`r(KM#e~y#wa{MErU2hj7?Xw=^mU@wKOS=er?fkJGPN)9dAk^yKi1>CQ7>}d zXcuGi=Y}?KjTO=6%?-u){IMSAudx!yd81vNn!jiK^GnN~e^7Ju89WaS{u4(9I5mDW zbKh}`SLMeK?>&Cs*Nz~?{ONm7V91;BEm4kqFY-WJGPl*`mo;!2%eOV4FE4MeTJUD~C zzYEutCVRhUhOy6K?D;RfdfCR_anX$amZ^;Xq1BT(v8Js463$e&!+eha79j8eY?tWcR<;Eaq22JxvP<~`m<$Kt6hbevwW3)hAiL2t_IKh${vgJ zLt3#Wh8`>*zss1?WBuT+$nQ#dLbEYTzEPjD`rhx%?qhwWtbVwDTYObn?3C5#-RA&% z5-F?CyKH73nL%JyQf$LHw2QEhpKm61B~n%&Pm{Pmr2j-_L+C#-mKE{Y`yHsei02jY zIUEa*Oew1mA0QT|o=PX;&u8!PSjnvXD7$|O_vgsUr>s7%g_iB9UB4--Z|gQ?^|6MK zUGv#}WYbbsKV|h(Rv*`pn{a-JWQBe9{s8K|im&*l>9{LZmDiqsStbD_!m)h_Vl^F`W^A z-@xOEJl@3f$i%Nw-`dG~)UU7q=i{amWykTx{W+y~ZgDsDzMX0uHXhj*Cx2BtrDwbN zZWqJxOz-qpK(Hy9X!wYNe$2 zB+`zGe}5vqCxJ`H+xQJZdQW2fiZHPwFmuMX+R-T2;Nw|-r=E6H(t8pYkO@dTDtwP( zjwikNm(Cf3tLMxXxEPKv0V6fy0n)cdd6F>$@2-#PK* z@B3&M(~e5L|I&LBmWktz2zLZLk%{x~Pl%C>TzXH!{FdI6z;nlG+&?}Rc2d%N64;r> zuOnmEFaJIS)?Io}BJHT~mu%b-(fbkN)GtUU?w|NR!RY-6#8KK&!Hv(Y_~L%Z`2K%S iqRJEB5PqpT)F5*=+0jY7oo)O_n!H_`zC!e+M+IG0_i6`Gv}Ur z&;5DMT+1y)9rIz@|t4wqBB-Us=Aebm1+t>2`ML@CT1S`|YQ{Jh|}2 z{=t<~Cv8_&tvi+H7thTeI5)SrG&j4tvN&sL*DT+fSZ;YgF|)msZL`)Hvn}tNCHPzH zJ>+r`@^qV3>u*|feR1;@*B2qL)VIO<`ubJ8KQE$Y&*66<26?4^=Vde6?c9o_UCPBe z`+To^-1Ue2&GozD@#^|hzYTBF{*WKLep^hc_1jDC_p}vBzf&&O`JeW4^dIeu9q3ao zLSE~?^h?(lvs11wLSCugo$-F_UK73Fx-(*Z|M9*4o9KgUkrUJSKjb2wSK3ccd%H7> zWV)M~5_IhU~q9BYv>O1S}pDlX7W$TgbH_FAj{>$gR-T943wwrRXuKmenuXlS! z^m-?k#rpblp3(oU`AFKOT&%OtamICn<4o-)%=UBqh-^3IVqN=bhx4BHhs3-Oa`7+bKi4nni(I#;FG5~9{<(g0-QxN^ zB-X7U7i-opzQ=Wg`Xc8Ie{$LV-kyo1-zgV2_`e(Wuf+GS z&J^n1M_oUQ?0kg(LoVX^sQ*g(tqbt|d$5Q1#m;%uA94}$N`2$H@gVx{v}k5O;+H>x zL0+k!&AH#Q?<47V%0>9KQlIq<{XP}Rc}Ka3=au@b=GL36f8@k~Quu!mz~{H?>-;bq z{Z{fH4`H6!X3yQ1#H)7x1p4bk{?`h$ZG^vlV}!rBa&fgfO6TdEr!+CFwr7e}7pyy_^EAiZlKSFi?6Q=LkdKbS zQkJ2K^4;%El<%i}M*BS7H&MR(fji@dD5o@knkXMjB2IEml#e-sXoc%APtRO`hb%{V zrSZe}6y1xAVkj4zD8ICSm9hjCQI8*>nkYX+i(|7SMV6q6@|!4M(Y@G2`B=M;VqM1G zUt|eJ&(F#tG*NyL?Ke?=X@C01qkJZz5arJl*^{%3=KD|J!}A;h^4*clV(>>~7K7Oh zQS$yi*K^|UgDg*Ed8PK0vOa6O`5yJx*Ka-IdZOegZ*;zF&^MbpMEzi=Xot5)@~K00 z`m~GRU1BWH^+UZX>?5XL2+u=%z24NPT#Wj6l3{4FEB{$`W#?_#m9s17RxVyzZZa&z zN>Pe1_`R1qI==%Ci3lag#hM6(?=hd>+@nDL6FF37NcjD`xkup{%Hp2I=!#n!e?=F bct&GmrXprQl<8bPNbsN@BnD9tl1Lz|EJhMVJSYo- zDCF!#2!j`|9t1ywD@22es37XW!ya-7dJ#obqOAXaz5b_qHrs{C!CY!!@=IRT>sR&O ztM2MI6<4?{d&I48W!=**cLO)!u5@eae|Lkdn4Njz@czTkJGZ8t@7Ve3w);PQ^OxAlN#T^zbO~9i2nTI;^JGhFJfd5nth{}NA34tHv8h> zTC*=g-l*SSuz3&W0y%HW#n}A&*V(-LCu_vKyrb39eX;kt>5Gsz+V44wTW=&<{CWW6SG7m<&F{TYApK5#G3Nh?8_e$$ zpVbJzd$}0#Kl^ds)E7B#%0B5?mzZ}e_XK;NWW1o#{8FmZ}Tpm z3*@{h7i06!Z-(D-|H!|r5%&!*7bEu%_G8{sUu51=F2?eg{kZO^FLK>cE<)azf9%J& zQD0=-C>LY#>%3%s%dZNg-zXPj{_E_sxaUr^xOeu6@%XbJQ!YZ@nE!lEP>;_K zk$RMikT>f07c6drDvsO-@wv_Yk1-xUj+1%A@r%qG%EegzxRKd!O^asNjl{Tp_GA9E zrURKbl#5I9r}X>Z%=W*%-;pcGo&H~e^c&?O+Ux!s({Ew!yjL@a#ECw}1Gxx!qyB(- z`zYe|M__pxzJpvud!v5mF6do}@A1IyEOHTY5$%oo@RS?E-ijJmj3|X{$o34^5~=4FO`oLP ze>^o#(YG%*zFCb=eh}%e>>u+R$-M8h0@+?5pG3BIt9~TqOZ>f@egA%T!TC}7mwp{Q zV*V0)cvj}{i%59~eibRFKSj#vN3p(FW<2_PEM6kpX;*~aa`Stf{^h#UIurA!Y&@dh zpTNG@c?CLHpW-s>cR70x&>sEIykUIA?3l$*q?~aTTgOdLgnYT{`*?BPUC?@T&X2GB zJKQ&F_m8pri{IP-iJ0Dqae=(=P)~$jeSDMQeIGghKE4ki|LzqL+qWqfy*#21I}6kg zoLp)8BHHWvd1Zf={-0QhG0$SW9|R7k@bB%&nTl-hp0ak*&kOBhR+_#@Ij<{1ztMhs ztz9?!IFNR;yUjjH`>me>d0omy+NHioIj<`=*gwkoPqys3gLeXHe{h@GCuzU;ULf0h z+pL|WUABv~OFfZtUSFh~cEyJA`S|cTLVLv>fgDfgBO4FNcILTAJCuvGLw%8QURQ)( zJw8{A|GbF=&oH_(cL?9`qRaA3X6kn5w$S*$46T;ob2qTQj`5Fa1@ahi=Tj-YAfHN4XfwKUPnff80Ty zCH(K@V&tuy{kSu&?^Lc3$ z#OFVms=8zQm$9lg%6+M-i~V1!>f$-P2YX&r<5kTSQ&kuFfhw4Z)sj7RCtGZR4W~!=|A7J(Nk{@uebj#x6nd<{tHRnfU)ttXpijq%mG(98!ekZRd z@_J+Yi?J&Ind{k)`iqPI++up7d5$IcZxz z)j8_=j&1DuSUad}@ywhm>0&x3J@&>hmOts7wB<}XCyi4yr*Y45_>S-g zJ|g7x`%kK6|p)1#!;$Vx5y_m~is(&T#(RD%w`TURs$B6>n9xQ)T#~Rfanq_b+PI5rO~! literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a21oi_2/netlist/sg13g2_a21oi_2.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a21oi_2/netlist/sg13g2_a21oi_2.cdl new file mode 100644 index 00000000..4589e4de --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a21oi_2/netlist/sg13g2_a21oi_2.cdl @@ -0,0 +1,55 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_a21oi_2 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_a21oi_2 A1 A2 B1 VDD VSS Y +*.PININFO A1:I A2:I B1:I Y:O VDD:B VSS:B +MMNB0 Y B1 VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MMNA1 sndA1 A2 VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MMNA0 Y A1 sndA1 VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MMPB0 Y B1 pndA VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MMPA1 pndA A2 VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MMPA0 pndA A1 VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_a21oi_2_iso A1 A2 B1 VDD VSS Y +*.PININFO A1:I A2:I B1:I Y:O VDD:B VSS:B +MMNB0 Y B1 VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MMNA1 sndA1 A2 VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MMNA0 Y A1 sndA1 VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MMPB0 Y B1 pndA VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MMPA1 pndA A2 VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MMPA0 pndA A1 VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_a21oi_2_digisub A1 A2 B1 VDD VSS Y +*.PININFO A1:I A2:I B1:I Y:O VDD:B VSS:B +MMNB0 Y B1 VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MMNA1 sndA1 A2 VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MMNA0 Y A1 sndA1 VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MMPB0 Y B1 pndA VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MMPA1 pndA A2 VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MMPA0 pndA A1 VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a221oi_1/layout/sg13g2_a221oi_1.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a221oi_1/layout/sg13g2_a221oi_1.gds new file mode 100644 index 0000000000000000000000000000000000000000..c44e8f43e906df5ffd2dbfa32acde1fd220e71fc GIT binary patch literal 17802 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 literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a22oi_1/netlist/sg13g2_a22oi_1.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a22oi_1/netlist/sg13g2_a22oi_1.cdl new file mode 100644 index 00000000..aa167475 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_a22oi_1/netlist/sg13g2_a22oi_1.cdl @@ -0,0 +1,61 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_a22oi_1 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_a22oi_1 A1 A2 B1 B2 VDD VSS Y +*.PININFO A1:I A2:I B1:I B2:I Y:O VDD:B VSS:B +MN3 net1 B2 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MMNB0 Y B1 net1 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MMNA1 sndA1 A2 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MMNA0 Y A1 sndA1 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MP3 Y B1 pndA VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MMPB0 Y B2 pndA VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MMPA1 pndA A2 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MMPA0 pndA A1 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_a22oi_1_iso A1 A2 B1 B2 VDD VSS Y +*.PININFO A1:I A2:I B1:I B2:I Y:O VDD:B VSS:B +MN3 net1 B2 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MMNB0 Y B1 net1 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MMNA1 sndA1 A2 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MMNA0 Y A1 sndA1 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MP3 Y B1 pndA VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MMPB0 Y B2 pndA VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MMPA1 pndA A2 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MMPA0 pndA A1 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_a22oi_1_digisub A1 A2 B1 B2 VDD VSS Y +*.PININFO A1:I A2:I B1:I B2:I Y:O VDD:B VSS:B +MN3 net1 B2 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MMNB0 Y B1 net1 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MMNA1 sndA1 A2 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MMNA0 Y A1 sndA1 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MP3 Y B1 pndA VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MMPB0 Y B2 pndA VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MMPA1 pndA A2 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MMPA0 pndA A1 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and2_1/layout/sg13g2_and2_1.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and2_1/layout/sg13g2_and2_1.gds new file mode 100644 index 0000000000000000000000000000000000000000..4c8feefefbf34d241838e24258c3a76979d470d2 GIT binary patch literal 13542 zcmeI2O^6&t6vyB6bocaZW+&^iBqmvKj2Z)mXcEN_maqwXGK&Zi2|?URSO}|2B8kBW zK>|5>74(pJ7%%ZEYEb;#;MYMff(VL-6)*9mBH~Ao@&B*aFEumS?j#eB)v)|_UiH6T z)vN02?$;%$MA1H(tVFeol1M}9vQZ{_|CdITE-oBAdf@2uA`{hQ=dKs;-}CwFzdktg z?%kcU`yZ3Zq*yzirpFF#+i__7+=0XM+vm24#FEEzi*w zenVhnd9tA8WV%tyjS(w`-stS8*9d)l)0O^b=|6f${Y3Y9M&F}#@MEl;5vkThjI>i{ zL^})XkI!qp@eWV+r~0(^hh#fhZj4Y)opGT4W*)ySW7TfA`yO=5ICqn0b4=|~`XA7veNRzu zg!UEHE1i8M{S?PP!?-3Lod2U|wT1upV2pA`ALx0;q_bjsF4xz<__01?{dTR-m^HLM zBhKq>-z`2qX!{uA`mM;wqn=|AtKEq5UVY~DkzjtH9XLiWYJ82WJI*Xd*bDW%KC>tA z_mgLXa}9PQ$_w>X^fft)`TUY+?GeNlb|cCQ^}G%%FYEcn>Jr)yyAk$cy&zVIzndS9 z(EgzPSGw{m^&%%-{Qf}OpT+rLwuI~KcTe`e`lrT$WO;hCr(4&)%GWiJ*LQNlGmFr- zzj1y}^8>Eb9=BfEcv$>7E^G(Mn9^=cFlTCi!Dmj6W3FGRem7r+9xut~+py!6-w!x4 zoTofEKkIEz+7pa}v3?$7^Bc~|Nju|dtmC%DaWm4+16-;9F20h_7k47&3G3%PA>-5P z-$*;#r__0t>wD`@{q>Az7n-9676cBkYC!r=N_^Uhr?MuTs4c_Ch`9N&G5ehxubnrtlkfBkYCxrdSF>((&q*Nys@j;_0vd>v*#xbCuEW%>HgHG=Ktv$2u=rrlW9{~Nu3#BFVVB1UaD zW=28n9FU{moqmL z>0Ob$AmdxoBL{XLIevH^uka5&a}?p>doUjp@g9!%gf)?@lXPtbx6yQc1-izDWO|1? z?v)0ge`{ajx;!E2x^&+VYOattvUTa>d-o2b$4ZahQ9m;?gueQXyGx<mpZ^(wxVdft<(O!m%SzW*YC1_gKWb!Fz8`%Xb(p-(ehW^{vALc?$$}8RN6b z)A9{Ql=oi81A1Klv$%dj-b0d(xO@fI^pN+^b=KaqL*4_+_Y$tNkoRC7t9L!oJX^?n zxcpkkd${Mi-ucm&_X&9q_aqkb9vAezmH7w0uZFw_9+30=N635h-Cz3FkC6A!_vT^q zE+Ow>`3@tV`CY!l=}H)-_ssou4#z(4L?Gp^kASKCcJ?MAO};MO1VO;^vgU3b1|{b0Un ze&Nu3){L;%ChWBddu{T)PGPSNo`b?(o3PiW z9roJrdw0GUr}r7T@0~sDwefpw!d@HQb7OmKjAeUW!d@G^&tk91usNTw*GA*V@8pal z$vryhv}f5~ov_zNE+4kX#(22^;Vj#0ljoeK{2pM<`Dl)3Fn8l~LYDgpxsz+#r?g`3 HB#z}j<5xy8 literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and2_1/netlist/sg13g2_and2_1.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and2_1/netlist/sg13g2_and2_1.cdl new file mode 100644 index 00000000..f059961c --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and2_1/netlist/sg13g2_and2_1.cdl @@ -0,0 +1,55 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_and2_1 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_and2_1 A B VDD VSS X +*.PININFO A:I B:I X:O VDD:B VSS:B +MX0 net4 A net2 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX2 X net4 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX3 net2 B VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX1 net4 B VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX4 VDD net4 X VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX5 net4 A VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_and2_1_iso A B VDD VSS X +*.PININFO A:I B:I X:O VDD:B VSS:B +MX0 net4 A net2 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX2 X net4 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX3 net2 B VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX1 net4 B VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX4 VDD net4 X VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX5 net4 A VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_and2_1_digisub A B VDD VSS X +*.PININFO A:I B:I X:O VDD:B VSS:B +MX0 net4 A net2 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX2 X net4 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX3 net2 B VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX1 net4 B VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX4 VDD net4 X VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX5 net4 A VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and2_2/layout/sg13g2_and2_2.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and2_2/layout/sg13g2_and2_2.gds new file mode 100644 index 0000000000000000000000000000000000000000..981e58d7f1b88d15df4a96a0b200bff2952880fd GIT binary patch literal 14790 zcmeI3U5Hgx6vy{H_ndP-ypH2AXzGBISqYgRV-dz6qxhr}fe|9&s0_%IsA!UcgdhY# zPeDCs54WdY`;wy1i9USD2ZIQT9;P>Yh>D0PiQE5w*7>*ZT<4tZ&SU$+;Ww^*{%5Vd z_CEXEv+mZVE{gWKkxEp%;S$$!4Y$S(cmM5LQF?6p$f?7p&N(++O}1@+?xEeEzxwmm zo$qXHU*7+i8%c__Luq>Y=;kd)$0iRSpBkGSb1tqsmoARrD;rajX&)-FbL1ieT*uP@S0zap+5FTFLsJ&Z4U+x$ikdPd(O zdiWPBmz=BCoD*rMPAt2Ae8sLCZ}DXRs!v+~NXE@}F+w|aV$byl^8BtJtadt`ccGhg zZqc)z1A}H4(cazv9zD+81N}h}eSgdJ#?0QWuXz7B7oUL*&`)?S*`Jx6i1rdauKxt} zBD61=-k90v(~oofn)hR_v~m9Tp4CzOy&E~s8NF}kiAj6jc>cLw3;E~u#Ku~?o>*_$ z^+cT49p7r7AH+V0arqi!dEIkxm)S+M7w9pMPnxc^$#Za**~MbL_uqWf^rZZXJ^FeU zf8;Q~kOzDg->~r&m$Wmp6JhU;e~v!=39%l)vDLG64`P8`M0=sWid-j`aX-A^S$hOy z3%iK+LOt)}%8PcsSe-%qu#2!4>m724@z3UGMrgmY{u{IQTlLOm>kIp>eu~UT?Skcl zOgJ{khseHBCqg&h^^b9Uc;7LO#xI`nMd*J-&T_In`OVr%+GCtA&eNaX{?6zBd^SIL zy{B+(us(x%{;MbZTm9YoPqIC|!!uj|uh}}7f?WTSv!3+`WA_Kn&nZ9PeDP%SweR`j z^7-EHe951891qN&FVwp>o)efa6~rqp8Ag6!7hx~dH*qR;O`I=MN4r?2 zk1pVTeGT(+RD=-sUvxpt?1lc*3G>TmF8!1AOS@R+Kjm`{{?l2}W&WvW9C>@8|M-yk zO>jE>lk`iwSmwWSFXjryuX5Fs<3_t!Hh#4`k-Js6XFu-Zd-yl);;Q2DOa4S3pT=>? zv$h=lfL%m;VgI8c#5#-ddc%`rN4tpjLcROYbd`gi)X^@M>8mpqH}lPYkc^vlu`GV( ziTP*#MCP4#@!#^_xM_N^dD-+L?1lZOpE|#L!oS#9WO@_>je&IML$fxHA5{y)b|EQPb6DMAOwr#mru! zw|?`xB>PXY-_(m`{qG}xA7tO3V*fsbNVCttr?>|v5J%43Or-Zk?in|S?@7xdx5A~%D|n2jD=W~oRwWZ#vd;sq#qZa(FEBUHx^zXl zuMag>YJBP|(#QAi?MII%4SGlY&YgYet6ybLNkqS+4|U~B%R1DQawsk zJxWwPN>n{c40WmE_sUS0viI3gmqIOK76m;N3?}byWKMmsd+TpQI=jJ+3?)TtF{y zHki(czsGq!k=L8Ep3T`eadREdqrTJmYm@0j*>Sz@I$@9AxuI>;XMXa2Sbt<6+E%8g zUmPQ%znZf35LCDb{}Yunpn11EYt*T-3c{8pNCKrwC7LQ otA>ZNeMrKyT{UpoN^`6-QEjK2M zRd1x7^%|is^xtTsUR+E4Hc$G`&Z>Ws<=H2m8Lp3ZV{*0XjkL2~BlL6mckSDngr9dr zT3343_d@?A>dcwo#xysfeRF0@a6EKI=)3Fh&+p&zf$H@1^eKFyowvt`JA0CLqqCRj z;b)3^&;9|`8&Te^uXz9PAvpFy=!cCky-Yhkj?P}97wKO?z32RGPAx{1&!u+)ES|ltNyi&U*3lrzO2t!9aewF1o6w`j5w~l zzN>tDp)Cf`&fnl#yEt&G+Knjh);F9!5!`QF!?Soc9>Dqk;aQtdyAkDudd7L}QH@_? z{SBNG>_*rN^?XjL%TiA~e>0xnQvDZb%kQAS!IO2Sup3cc=-O6QZd$0w5OG{rF*A@WXgu zoET|u{-EV#Yc=lq^PVhEU(|B4^(M~g1y8FNoXh_v_3z@B?p-{ye#SMKK8$;d`i!*m z{FJ7pqs|KR>kq3=OG?IWJ^7pUEc^6vASrAPfIs5ip@X4Na5y-?r6;q=e`(n!Cw z8_WE+INrd2YtpFxsi*(EywHDRSp7Cmd(toM#xnm6j&tzeIBitF)YE@nUg$p?Q@JK-+>s!WKil0B~`(9POvAst1M%WAebF8MWai1r3v>VIx)zdidlX}06 zeRrXsgWU*wq5ohF2h594px zjVLel-`oM+BkX59siobB@&+}ye$Nr~7 z^n1>3Eb0G3`(O6c9QS(d|3k;0|G0S;LM|{$<#m3s?jP{CIW4@)zv);@O$E-2h03%Y&8fzQGtg(NKYi~s` zgX(09W7gQUk9$iII%^MIHH5BOLRU?ptG3WpW9X_ibk!WXY7fmCgk~*b))-^odCZ-T zdotS_v&J!N9J9uG_BdvZyVsjD-dczDzoGqq==c*l{)LXeq2qt({3CS!6FUD2o&SZ- zKV#OolZPD6ceCtfcKEX2u`zbl^z?;gp4ctuKF0amG)rwXd;bd6De-$P>oc;x;(W}7 zWjv1h>FGbOQ=QT5sIR*}nvu`p`3|n5-ucO|L$Al|gX_xl^o#Feqpwf(?z{^8iwvZ$ z++DApH}$j|y*_5^|Jj?0|2SK}Xm+-K_r& z(K7YMn6by|@(H{fpH%YQe9YLRJ@WnDZjT9Gq#ENsZ|q|^gXe0A()M>7EmLo_{oO`p zb>cqnzlo=~&pY4WEpeasX6&0mGjN}6+~-}s&p33&9-1)-%~*tHOhPj@p&6r?vGXtc=ndkp4^PHyg7e4H_ga7~l literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and3_1/netlist/sg13g2_and3_1.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and3_1/netlist/sg13g2_and3_1.cdl new file mode 100644 index 00000000..f3f84cd1 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and3_1/netlist/sg13g2_and3_1.cdl @@ -0,0 +1,61 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_and3_1 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_and3_1 A B C VDD VSS X +*.PININFO A:I B:I C:I X:O VDD:B VSS:B +MX0 net3 C VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX2 X net2 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX5 net2 A net1 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX6 net1 B net3 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX3 X net2 VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX1 net2 B VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX4 net2 A VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX7 net2 C VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_and3_1_iso A B C VDD VSS X +*.PININFO A:I B:I C:I X:O VDD:B VSS:B +MX0 net3 C VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX2 X net2 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX5 net2 A net1 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX6 net1 B net3 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX3 X net2 VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX1 net2 B VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX4 net2 A VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX7 net2 C VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_and3_1_digisub A B C VDD VSS X +*.PININFO A:I B:I C:I X:O VDD:B VSS:B +MX0 net3 C VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX2 X net2 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX5 net2 A net1 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX6 net1 B net3 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX3 X net2 VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX1 net2 B VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX4 net2 A VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX7 net2 C VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and3_2/layout/sg13g2_and3_2.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and3_2/layout/sg13g2_and3_2.gds new file mode 100644 index 0000000000000000000000000000000000000000..de18620fcc0668b09ad768145232584830712129 GIT binary patch literal 17904 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 literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and4_1/netlist/sg13g2_and4_1.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and4_1/netlist/sg13g2_and4_1.cdl new file mode 100644 index 00000000..cd876e71 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and4_1/netlist/sg13g2_and4_1.cdl @@ -0,0 +1,67 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_and4_1 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_and4_1 A B C D VDD VSS X +*.PININFO A:I B:I C:I D:I X:O VDD:B VSS:B +MN4 net17 D VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN3 net16 C net17 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN2 net15 B net16 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN1 net1 A net15 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN0 X net1 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MP0 net1 A VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP4 X net1 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP3 net1 D VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP2 net1 C VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP1 net1 B VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_and4_1_iso A B C D VDD VSS X +*.PININFO A:I B:I C:I D:I X:O VDD:B VSS:B +MN4 net17 D VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN3 net16 C net17 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN2 net15 B net16 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN1 net1 A net15 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN0 X net1 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MP0 net1 A VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP4 X net1 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP3 net1 D VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP2 net1 C VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP1 net1 B VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_and4_1_digisub A B C D VDD VSS X +*.PININFO A:I B:I C:I D:I X:O VDD:B VSS:B +MN4 net17 D VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN3 net16 C net17 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN2 net15 B net16 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN1 net1 A net15 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN0 X net1 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MP0 net1 A VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP4 X net1 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP3 net1 D VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP2 net1 C VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP1 net1 B VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and4_2/layout/sg13g2_and4_2.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and4_2/layout/sg13g2_and4_2.gds new file mode 100644 index 0000000000000000000000000000000000000000..0a01c43ead1c72b3b4285b980d4b13dcd88ef98f GIT binary patch literal 19002 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 KAIvK>8t&gS*#W@- literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and4_2/netlist/sg13g2_and4_2.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and4_2/netlist/sg13g2_and4_2.cdl new file mode 100644 index 00000000..32dc9593 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_and4_2/netlist/sg13g2_and4_2.cdl @@ -0,0 +1,67 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_and4_2 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_and4_2 A B C D VDD VSS X +*.PININFO A:I B:I C:I D:I X:O VDD:B VSS:B +MN4 net17 D VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN3 net16 C net17 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN2 net15 B net16 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN1 net1 A net15 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN0 X net1 VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MP0 net1 A VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP4 X net1 VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MP3 net1 D VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP2 net1 C VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP1 net1 B VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_and4_2_iso A B C D VDD VSS X +*.PININFO A:I B:I C:I D:I X:O VDD:B VSS:B +MN4 net17 D VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN3 net16 C net17 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN2 net15 B net16 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN1 net1 A net15 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN0 X net1 VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MP0 net1 A VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP4 X net1 VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MP3 net1 D VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP2 net1 C VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP1 net1 B VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_and4_2_digisub A B C D VDD VSS X +*.PININFO A:I B:I C:I D:I X:O VDD:B VSS:B +MN4 net17 D VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN3 net16 C net17 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN2 net15 B net16 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN1 net1 A net15 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN0 X net1 VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MP0 net1 A VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP4 X net1 VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MP3 net1 D VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP2 net1 C VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP1 net1 B VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_antennanp/layout/sg13g2_antennanp.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_antennanp/layout/sg13g2_antennanp.gds new file mode 100644 index 0000000000000000000000000000000000000000..6376effdcc2045b22198eb6048847e1cabbaebcb GIT binary patch literal 7374 zcmeHL%}W(g6hAX>-uS`uX(E;;DB(g#tTc#3Ov6Q(glI&#NT0p(gLsM`Q4r#yMYU>E zn>Oy+g^QpF+C>ZhfZ9Z~h!8h@EP{}D{m#8}yfaT{)aRzfT$uNpckcY|Irq-}_{|}g zZ2KxTSa!)eB`HN^bc|~J_mr~TTT|n6nYp_}HHl<*@53_}-#`Cxw(s?cm1iTDsUaE8 zt#RG?iBlaD?W398!i`)mlba={l*p~Hsg&HbO+>9#3H+i|tP>?y3|8Wviy-QqLlnl( z=kv|X7Xm@f!>DBpTPR5}FTmwfmO{b9S{Py~NN$8A3{$Z=b+ z3r5ASo?8PKe2$+{jpK&FsQ8^RqVxjZFJ7l$WevEn3&I}Se`gHuf0g-yXlPLLH7a{3 zpH{SAtH&VwWxHUMf8u!w|5lG6xbV+>jl205o}lmqcjKG5dHlE^61QMf{Pwc;n`jc$ ze(hz!X#e~i`%N?%WWQ_|Ebwpn*AEfepZ3+X&+u!#;egVGKkFi4k zoh5_Ga@@l%hvv4`5Ke%<3XEm3u=JCiv-vzW``(C(a_L)ZD-#Ps#f-CCRK$USUfJ9O(UFjGg9 zJvUXEq!gcr)*n1PNp79nyEk@+DyKd6hKi=N&b=}`Tnzua>Lv60`hxs(x@p#&xGlfBInbVUc!27=6N89 zF^TogmY$6D4(0{)Myz+Rlf-%l`-IUsvEISj(0a&!-WTX4JQM33HE-m*yb^PWi{Osm z)(X~caOwh35$`^D8DXxh_!6<3IVsHyv^ zUiDYU&3v{C8h)%ZmCoLqQr*AKY}i3(W~U~m<`>6ft;yeaDo0ie#Qfykl$U$+&+Tow zInGJNxizhoILF30nK-wGff&Ta-&m`Gy)`g@4w@T`b89B2COJ0AsR_opwZQxf2u41x544n(4rr$#Li(|I`@P literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_antennanp/netlist/sg13g2_antennanp.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_antennanp/netlist/sg13g2_antennanp.cdl new file mode 100644 index 00000000..555a32a7 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_antennanp/netlist/sg13g2_antennanp.cdl @@ -0,0 +1,43 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_antennanp +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_antennanp A VDD VSS +*.PININFO A:I VDD:B VSS:B +Ddn_1 VSS A dantenna m=1 w=780n l=780n a=608.4f p=3.12u +DD0 A VDD dpantenna m=1 w=1.05u l=1.34u a=1.407p p=4.78u +.ENDS + +.SUBCKT sg13g2_antennanp_iso A VDD VSS +*.PININFO A:I VDD:B VSS:B +Ddn_1 VSS A dantenna m=1 w=780n l=780n a=608.4f p=3.12u +DD0 A VDD dpantenna m=1 w=1.05u l=1.34u a=1.407p p=4.78u +.ENDS + +.SUBCKT sg13g2_antennanp_digisub A VDD VSS +*.PININFO A:I VDD:B VSS:B +Ddn_1 VSS A dantenna m=1 w=780n l=780n a=608.4f p=3.12u +DD0 A VDD dpantenna m=1 w=1.05u l=1.34u a=1.407p p=4.78u +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_1/layout/sg13g2_buf_1.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_1/layout/sg13g2_buf_1.gds new file mode 100644 index 0000000000000000000000000000000000000000..1f8fa5dc1ba4b7bc98bd96c694deab6a3738cf43 GIT binary patch literal 10518 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 literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_16/netlist/sg13g2_buf_16.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_16/netlist/sg13g2_buf_16.cdl new file mode 100644 index 00000000..b59b8f40 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_16/netlist/sg13g2_buf_16.cdl @@ -0,0 +1,49 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_buf_16 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_buf_16 A VDD VSS X +*.PININFO A:I X:O VDD:B VSS:B +MN1 net1 A VSS VSS sg13_lv_nmos m=1 w=4.44u l=130.00n ng=6 +MN0 X net1 VSS VSS sg13_lv_nmos m=1 w=11.84u l=130.00n ng=16 +MP1 X net1 VDD VDD sg13_lv_pmos m=1 w=17.92u l=130.00n ng=16 +MP0 net1 A VDD VDD sg13_lv_pmos m=1 w=6.72u l=130.00n ng=6 +.ENDS + +.SUBCKT sg13g2_buf_16_iso A VDD VSS X +*.PININFO A:I X:O VDD:B VSS:B +MN1 net1 A VSS VSS sg13_lv_nmos m=1 w=4.44u l=130.00n ng=6 +MN0 X net1 VSS VSS sg13_lv_nmos m=1 w=11.84u l=130.00n ng=16 +MP1 X net1 VDD VDD sg13_lv_pmos m=1 w=17.92u l=130.00n ng=16 +MP0 net1 A VDD VDD sg13_lv_pmos m=1 w=6.72u l=130.00n ng=6 +.ENDS + +.SUBCKT sg13g2_buf_16_digisub A VDD VSS X +*.PININFO A:I X:O VDD:B VSS:B +MN1 net1 A VSS VSS sg13_lv_nmos m=1 w=4.44u l=130.00n ng=6 +MN0 X net1 VSS VSS sg13_lv_nmos m=1 w=11.84u l=130.00n ng=16 +MP1 X net1 VDD VDD sg13_lv_pmos m=1 w=17.92u l=130.00n ng=16 +MP0 net1 A VDD VDD sg13_lv_pmos m=1 w=6.72u l=130.00n ng=6 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_2/layout/sg13g2_buf_2.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_2/layout/sg13g2_buf_2.gds new file mode 100644 index 0000000000000000000000000000000000000000..380913afff189f6ad4b633f4b9a9ed84b035a675 GIT binary patch literal 13542 zcmeI2U1%It6vxlb&dyGf?IsPOH5xFMJ``G7O$%zNXV-1@Q~~c=4eiVjg^`RjN{I{QvKnvoo7!=3!TT@h&XC z*>mTA&z*bk+?jj!NF+h9Lk3Dgbw(;ulMY!Tec5BF1<~ZhzQcPDKPu8!t_*K@>c-nY ze(U_rqwlYper4BPGEm9a_C(Rtfg4sI7}~S%$bEZ;B#cF(1pz!o^*}_%dded4gCf;Q ze4j~K`xVCvM2w}swA>giQJoR`aG_jL|I@6$azbRmAlRLlt89O_KS@-iwg(k>HP zPFBuqxv})J>W#Fsek1MlYec=-_FbD?|B9aS?Cfk0I^|oD&Mhf>Zd1Dv-hhG zab6GKXEU6H{y2UojB8rn;C75Zba6uH=c|96n_oDuGK8@>oieyX>ud0&))yqi`SaC> z@#1x%Zyw#Bg%92)#d0r-hb#9&M%pW%X*t<-CwzaElI5(|hlYorHm?6|Hy^*iwH!qIkEZOnh`z(z zGsaJ%f4{~zVQoOmjh*PLU^njBg!8Re!DZBsb%|uXmG4r9pQFA{F$WR`7{3_pGNOI+ z^`9HR68fF{BBXb(%EzM(TMuxTFG{h^h>+3$bU4Vexq|nasH{N|D-(Ee>kpw zD>$A0N&2PTSmZw(SHBf8q5}A(Ug_+){;Ql%zo5TfP1$(@^9gn%$_w>fn^fQ6kE-u7 zZpzooC-94TTe?4G=Rvd`b|cDj{qsCNH>hv$ch$$n?fLqk7h{C>^I6d#+U@MdqV}Ir zUFn_-p%dDT1^VhEIPWOhz9?mNG5Qa7Bg%8HKP+LaH{<(yhCkt$cH`z^eek^Mjpa3} zH^QFlpYw!sC;RQVMaSQWvRpmKuj>gNKV$7W9X})NxqA8!@xDa=4gReDL*rPnKKMiR z#_~(5H^QFlpZy$f)&6Vng7#l*+?uZs@C@bn1#e`CadUQK!T9k!jvMtxjvMX9qVcQD z;=EOud#`24XBzFsRr&4bd0jhI-{7CB?=tSp*UPl7Tcr^r#vbdJOdE^Wui%)jo8`fj zTsLVq{+sJ(IG(QCt*qbeK0n&M{&t_g!7&}T@}N=N__19a$D};>{)rP^tIu!F6ZU&) zBqhh4c4N`_xBL8WcmB4}{?qRLDYX3ut~L48Kg2V19Q}~c>|nG!kjJHWMRaKI#zRLA z?neM%?L&vL1$}rg8vCq7{n3sV)NvK+->BY@s9`9IdGs~MJoZdX9l9beG3NFG zKJMY;9_ul?&ic3q_k+nkFuU&ixW|m{r!D^B;~scF*zMyUe1Bp5gYPRo?&0GeKJJ12 zx5h=X&yS|Kp^tmu1=hzseB5JD_q~jNSiHknwC`;bLQ_q9`}ef?lGABAGM$R`1(yqj2J?QV_8c6AI^`F|ARBmVl;bwrRtP8 zUdQ^3tgk5!+LSkNX&KL>es=cq^{O+P9rb1B(;U4>?=bbwPjVf4J!bD6F4EI4z5~Xz zKGnN+<@m>*chr@;>(zEsPrEVI`*>3}CntL>SIvnx?VmU>F?D30k2xjxYSWzexi*ljPj^T$|kc&*$3c t^ULSjATEOc+?X?Du_ohx6mwda=0I!AM`Jv5V>f9`$YMYL^Vmrk%HJHd0So{D literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_2/netlist/sg13g2_buf_2.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_2/netlist/sg13g2_buf_2.cdl new file mode 100644 index 00000000..3cde48fb --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_2/netlist/sg13g2_buf_2.cdl @@ -0,0 +1,49 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_buf_2 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_buf_2 A VDD VSS X +*.PININFO A:I X:O VDD:B VSS:B +MN1 net1 A VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN0 X net1 VSS VSS sg13_lv_nmos m=1 w=1.48u l=130.00n ng=2 +MP1 X net1 VDD VDD sg13_lv_pmos m=1 w=2.24u l=130.00n ng=2 +MP0 net1 A VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_buf_2_iso A VDD VSS X +*.PININFO A:I X:O VDD:B VSS:B +MN1 net1 A VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN0 X net1 VSS VSS sg13_lv_nmos m=1 w=1.48u l=130.00n ng=2 +MP1 X net1 VDD VDD sg13_lv_pmos m=1 w=2.24u l=130.00n ng=2 +MP0 net1 A VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_buf_2_digisub A VDD VSS X +*.PININFO A:I X:O VDD:B VSS:B +MN1 net1 A VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN0 X net1 VSS VSS sg13_lv_nmos m=1 w=1.48u l=130.00n ng=2 +MP1 X net1 VDD VDD sg13_lv_pmos m=1 w=2.24u l=130.00n ng=2 +MP0 net1 A VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_4/layout/sg13g2_buf_4.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_4/layout/sg13g2_buf_4.gds new file mode 100644 index 0000000000000000000000000000000000000000..1b1b08b541544886250e26364435a7c5ecdfd34e GIT binary patch literal 19350 zcmeI4YlvOd701^-_ug~Qea;x;V>G2xO|4?^5d&&S!)TKr?I2>L*g#1P!7vg{NKA_$ zb-ox7^0D-TZQ(+xA}X}B^%aDnKE8-3BDT;<$F@>S6(1lXBIEzR*I9R;JI+4hJ^hw_ zA^hg9wbxneti8`Ud+&8mB$Xt&RW{U;);rRap0woxSzr8HdP#a{VgJ$Fj@~1(zTVt^ z-2+$u;KheOxOT@=mk)or=N8$}4BJkp>9K=XUUhKu-u=gK-@8Q`nMm4C;3*v>B69C^ zU8MIL{DY$REzi~=kLjMR57R6Uu#A<}IWcmclu4c~Lt9z@$8ix?@VA0v*}I73#) zQ|mFF_B8x%70Dj>Navs-6IsF?cXIw_g8NZQoo}ZC&p0^S47xOd7`)kv5ePw0k8610AWNMe^ zU|Quy=u7O;cAoY|5&5IqE1kS(U-SOaR-nHF_9H^{3(E0vbovr|k-=rO_ng|}ti=d@ z*#0l*n;X$rFL*XL!ya-Y^lRB~FL4V@9dJT5GK5$OP)~hNvLLRhF{);^PM5O+nXKyS1hTI5! z(BAdu#=Jirk&C};e<*P-8_VpGt9P_NjZ;IlH$whp{~{-O{){_2j&pz8lX185_{r8w z+RoT)s@|B~ul7b>>pZTJ`LR4%UZ|&^+L5i_*H^vI$GqTS*Z)qQq*{_j<8$6r1 zHrxNic+A;42Y=5X=A7x7&|ia?b2fg3SRO~bIg>?P8}Ms{-?ieaHhx4NWB&PJzwyKV z;&o}Hy#FuNlbxFo=RZ8DZ~sU2WX8TkJ0tbY|EZpAqhA_mXQaONzUs;BdvK0+M(X(i z*E)X}KjY;%?R@N+>_&gxi~QxR-wvO5ps#aM-u_VaB<&fWv3^A3G*Zs^jCIC^_D0Ix z$I)FcdVloSQ!)P3-#>6}OXzEiufaagsr4#1LSJGJf4`%>5s{#ucwD8E2kpDd>bJM( zNxzgE%lvnj)o*XnsD5cr|G7Tszk_Bx|IW~peknJW`S0*Kg!AtVjp~>7^q=d4{x2H&IrYnDI`cr%FXhHE|LL6iO_z=0{L-HObA8Z% zW1srPE!Fua>6db2ng7N<_1hF94gkNjS2}snzq`lbyz8^-pQK;Pjb;9mMfF>sHL73Q z(|@iH`j?^lt<8DTFXhHE|1wm+wK*ef;g|MGClC7X{s?{aQ(PyXdh$6zxe@xHeRekN zc4C}8QQ+J7PPuVs*gpNU+O_r<2sDK~yq{OoteZ)CqSeq&kxvmN`N_D1$Q%(jhE|#@pGKeFUOCOeknJW`DZ)kjrK<7jdCO8 zrT&>W+K-65(Vo|jV@dwn_vpCkAP*e>B*zWq#2<+P95q*uIaApbnlP{oi|b@hqX-2z}7M;5m!uvrPK@P8R*VgU9*0^N*_Yr>gTm z&NCTzw&clq3+2YL`3s+O+|%RpZ^Y;DopR%aW%;*xk5RtX{HN;tt?K-<>ioIt{J+1X zd7E_oR(1W@UDk1P8m<4Hb?fhj?!RHQjy{9uan0bHaiqZ1_R>UtChIn(hi|+7@bSA2 zU_*ZEk)xQh;5OChL63cP?CYJK$c&`t)VRlfUJdrW^P6*5xz85qx&5vqxHhkqbSAxZ z0_*0`#gxsYKis{00{iZRc%mTAne@5|tlQ_g+|c`u9l3o=N^217$7>LK7mgiXz3(6E z5U~z{>uwiDcC16VI!3HR=zVyNebwSTaIB8P`y%&?dH*&}4Jn0e=n&dRJ{ju}n6INA zVf6>2n;WNCS1jVb55_vg*gROrUtUMyxZ`+@bqJf!A|KcXjdcjkL##u%aZ$W~kJZ7d zuA{521Km9?U;j_C4^VX-TXi2J)*%Y@hn@JF^$4p!7-JnGc>TpX1m-{Ux(_?zySo3% zIu!R|ArIz{dhWl*It2C(PiQ@W`{%3!7|Zt2*^c|?u@0g6<2bVVgRv}s9DmGTtV19V zT&tj-F{(d2guk^;5xjn59YXhkC;c5ttV8I!XVTxn#5#nIzgUNGd+Za{Au_E)%;vu@ zJivXeGyjSg2R5&)e0H%Xe}B!7acYn5n;A_$xJ>Po_PzYRuzJhgXm1^kPg@o%Sh=c{qk zo^qqN?`hs+{pZW?ubjK8{&QgA;KH%v`(q8LKa2ImB^WrEE5~{ zRe#IWT|VvB0Au;Dx`wX$TeNge^FQexK-D#DtO05MYk5DA_6~}%?6;h;288*v)qadt z`!U8EQ1JdAYe2CE#2Qw77e#9@d?$sqm-sG9d>19Yi-KpX&P#&NkE-+6_%4dpkS2YX yyXySE>iVtf`tdYe|NYgQzFDfLPSIcLX_}>-})djJ-_wr|Ji4*cdu}EV9**E zeslk8J?Fpn+H0?U&f3peHx!}Ox+$DF)tY`Ybi*LbgtNn*$-l#(RUAEX==kl&zZt@w zcK52Qzx(MgJp07kR~-1w#hX99`TB5Xw?1}M6!+fwiOcT1^tMCy-ErIHq0Hm<8jRW@?EO**bE_dNKUZ;jznNVdf=Kz&^Ii_o7r$JQ@`V??98x~Iz9QxGFM2to ze0W1e%IE&><&g5hO%*AheaXuq<^7v0Qaz~d-IC*@8Uot+5TfN`9uU4EsYL(Zm&q`W+Xusy=5WRJ%BIQ$CUJmi4TrAG^coCh~ z7t!$-(P@`xuRq!Tp^xuy;i$d6y*;wuFNU!1S}}z1B)S;&`gm(cv1RdAT^#b7ri-Re z#!prL7Gyuei$XYUz2f}MQ4XS&C*sZPF5*RtebnQfQLm5xj`g*j>y=+r>|Sc|ri)fy zAOEmj3j>RPqT=AF#hWf#`DFZutK+w}Sw9zcZS1r0D2_hwx@h`jd@shgIDdYeb8mY8 ziSwJTi>BAc_kLt!$@*{k`xU!;>{v_}t-LmV>U?XrjlW`8ar!YEd!~z4UK<~R9qYN} z`HQr++gOf2k+J-}@gY3N@lQQ&bC1P!epYetDQo+t^?ymqr+?_>aC*h&gJTtoB`+6w zE#k$N&4v6e@;AO>Ya@hU^~LUItuOv*uTiphzn6=&i+Iu6cdFxy=Xclr8>R;I&mP9- zQ_jI9exAkFL#~UAg9Ym!k>efNxDe6j%JBj@-htH@DW9>v5s70QiHs-OBlh-sxk$T+ z7il-IFVbK5is-aY9PIb@i|FO?pQ?Y~n!JAO42Ahkzm7z%r3^~Fj-MY9o%@JW$Mv51qp0Rzi(j=i*?C(zQE}eJDY|Ioll^y6yuJRfh!@TO zT90=|y*7S%&3%`*D&mVSru>)J+;@3PbbsRUFUxEFm)70aEMq@Fe9^^}|I)hq?g^s3 zfcX;djC!sA!iM`Uu2#esT}=5eY`E{@s_4GN<6oB7`g5(@>xa==MSRi4l>hvu`;OK` z_az?xvb@%R?u7de*DK{7KRP}^i;KFLh#x-Sar0+Q z(Bh&lCgSHl>Tz>_ouI` z%<~hpxTuSXc-BSm<-Prw78i9f5g+XQb*{0`19tw#d?SRYi`UeTAL?=a5ifGxp^K^O zuVcrJZ};vAns3y_gg^E0C0@iAT}=7+Y~0{KbJqmTH|k=-pL+NbFXD?Xru+wX-QhoX z#{|tc>SDs5diWAA;)^b({6~Ls--SaHG~cL;34iM0OT36Lx|s53p62+OzsEG+sEY~z z)(hryvHjjN!M|Bs(8Y`E$8YhR$FU~H>qJ^y)Wt-6|1akCu3h(Et=Rs#UH_(wR$hDm z82;Jg<_}jS4qZ&eFWP+u|E2Yc#G#9+_`SdLeqXs|g4XX*7Zd$YJ-Y{2>lL;`4`SdTsv^-#^FW$9&r3`{Ft2_}()fFV1|$<3-bJ{h4QIH}j83yV1o| z`>98}i67J29d$9$e(KR~;zinxE~eVgbwazjeni@hE~eT~J=#tDnAYy7i;4Dgo#D%M zC*q4Pru?bbxAzXjk7;vC)Wx&v&mZ$NzRceuzUX4gpL#QIdA!(v*yBahYsU}qy&FA# z%zt@&PrR`{o_U6LGyjOR8(mDbpL#Rj^LVlUagP^GuWdi~8GO0_i1?z5DSztGZ^VoA z8@gzE(w}}KeoX5(;_1K0ME`N0qTSrTMB0rmrrJ+E+D*JjyU|6{Yuisf+D-hJ*6yf_ ziS~1!pxxX*MB0rmrrJ+E&O7lU=N(;4oqz5#_%5wi#1~ym`BM*H;zfMX#gsqq6Y%H# zgNQG>nDVC{=Z$!g^M)>(UVHwi$9W@uOgnE;7Zc}?`y}n={wdOKbTQR_>d|iEMcR!n znqJ#}>d|iE$Fz1wT}-sUW9Lnu+eLkD7gL|#o30-eYwllcRm2xvO!+rmKWVyt({%l) zAN;ucn-w{3bTM`OP1nz6x7>HIQ4wEsG3DQM{jll!Ww}0T>#x3kHChXC-D-YQjC$?$ z({%l~>H0PEruA>IE+3PAM;BB5-*o+cdCh&7w<_X`E~flfR=wYM`~0Hm^OLaY{!``o zpR#tdZW%Vk|8)L6ez)uYtqqTFm;KOQb>G&8nD%elevXsz!*Pq8H*_&|{+h;fo#D%M zC*q4Pru^wA;^;S#ICL=;-&yzm?*=i%^Ur;aaZr}mUjHAw|N9<4zYpY>b*lUgJJR^W zd%ld4APAm-GB`o?pzy&wbllOVgbIf^u={(Au z=Qqx8w0yr)jh~$7*XAO#_o;T>#h+L0zVw*=RZ{tVB6`mA3pvj(eh{~gzF({(s@XuaE3@oxJHfebeUzJWnCNfafeC z`32}=D$gM2`Pn`7pgm`Nc7m_lzt6LOi-|n3oag8Lmh=4l`Xk?u>n`W{c|VZHk(z(V zL&$l4K7Z#tKYKQD*v3uH^NaHbc@AYBVD0;-oabk2;m_nezntgic|zp-aoyxRKf5k0 zPbug5#c@$Pf95>DD!-3BIX*{{AIIlMF_kA5^Z9P{xSZ$5V{p%};B!5B7Uk#r+VR(P z{h;akMbq_@rt3F3&#&3~Vb1gO^*g)NVxAM^x?3u*KbXpM%6Wc1{&Jq5k00{=7(ZdN zVru+QkNmpb<_YFJKOcX)&olJ+_mL<1U(fUF*%GK_;H}2|!4M9!f6a$3xA#z&Zg0PH zK}GUx_z~Ghi@ZWn`tTx;bK2im@_Hh#x8r&Gj(w}%xqy1aZ*RYQiN}f3?e!+#kDL^5 z-!Zw0_~=s}haZph#j8^B_}cH8V)c3+AKO*qAHo?2VtG7XZ#VJiViiB|e$V-p@7;g# zw3G5H4_LKKg+;RWekz>{LyMRr;N(Iw{&)Lb^rma%P1op~J|k%QjH2l?lJXf$d^W>* zc)!nRa*n0FFFR;!>Zecebz6_Q-~KHoawPL!ir#N|FGX7`xW@Ms>%3u;;*0igF|n5# z^~i0`dntN9uqPKersP(NImfd8{V((PIJeTqA2|+;yQqta@yDKRc`rqOrm8&^wTGgZ z_fo7Mf6QOxC^CPE+Cx!H?M29*h3tWq_foX?(C65-c#rXEn+xr_95e5wIQdL%$LIgN zm!jvm<-HVb{;^!WxTm7!hUUE#ZT=|tRLpxR*5AMKUW&ecW6${FIu2yrh;H4vtnxg{^0jA^mc!6dpY{``#+Fld1aYnc_IHtYL)AFa;{>P1F2lc Pf!(hEkN0Bibi%&@uLp=0 literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_8/netlist/sg13g2_buf_8.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_8/netlist/sg13g2_buf_8.cdl new file mode 100644 index 00000000..0ea2191b --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_buf_8/netlist/sg13g2_buf_8.cdl @@ -0,0 +1,49 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_buf_8 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_buf_8 A VDD VSS X +*.PININFO A:I X:O VDD:B VSS:B +MN1 net1 A VSS VSS sg13_lv_nmos m=1 w=2.22u l=130.00n ng=3 +MN0 X net1 VSS VSS sg13_lv_nmos m=1 w=5.92u l=130.00n ng=8 +MP1 X net1 VDD VDD sg13_lv_pmos m=1 w=8.96u l=130.00n ng=8 +MP0 net1 A VDD VDD sg13_lv_pmos m=1 w=3.36u l=130.00n ng=3 +.ENDS + +.SUBCKT sg13g2_buf_8_iso A VDD VSS X +*.PININFO A:I X:O VDD:B VSS:B +MN1 net1 A VSS VSS sg13_lv_nmos m=1 w=2.22u l=130.00n ng=3 +MN0 X net1 VSS VSS sg13_lv_nmos m=1 w=5.92u l=130.00n ng=8 +MP1 X net1 VDD VDD sg13_lv_pmos m=1 w=8.96u l=130.00n ng=8 +MP0 net1 A VDD VDD sg13_lv_pmos m=1 w=3.36u l=130.00n ng=3 +.ENDS + +.SUBCKT sg13g2_buf_8_digisub A VDD VSS X +*.PININFO A:I X:O VDD:B VSS:B +MN1 net1 A VSS VSS sg13_lv_nmos m=1 w=2.22u l=130.00n ng=3 +MN0 X net1 VSS VSS sg13_lv_nmos m=1 w=5.92u l=130.00n ng=8 +MP1 X net1 VDD VDD sg13_lv_pmos m=1 w=8.96u l=130.00n ng=8 +MP0 net1 A VDD VDD sg13_lv_pmos m=1 w=3.36u l=130.00n ng=3 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_decap_4/layout/sg13g2_decap_4.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_decap_4/layout/sg13g2_decap_4.gds new file mode 100644 index 0000000000000000000000000000000000000000..c5779d115aac79970a52e4bbb6d25d0df792e27d GIT binary patch literal 7464 zcmeI0KWrRD6vp4~?e3k!-PyTVAqf^7iHk%;2_%vDBg;CFE1-xJM4}Y<4;NXEB5c`- z1QJ9BK|x1FL*p)OBq9_=f`VA7QiO&Iq*RcCffe`9$uSW!`PIfJqn~U%68-YyHC%nM9M}5v)p~@nHUr1EG%7-( zy+l7445n32Limf5d%E~;y~xL!U-N4J?C-$Z4b=Y|*2q)ab-l=XOC;_<>#6f`n$=GtUby~Rr|PtRQgs?9%k;8k`!4DQ>b}!B zS+@UV%l2K=BcVNOdZUZy>u-nikG2KW`VgNN_X67!7AMhOtiOZ4Z>yd}?pyf#4(Z}~ zeH8Me4_@sP_IX8)U$i)hc(MLNk;doHHv*eiphuiUd$C?n-(}5DLi@GlH@bMS9(m#~ zEI+BA)ta9~Jg4M104f)eFZMzX}DZjqv4s-5|E{LQHBI$xix*(D+h@=Z5wO@U6$bIJP zsoao#n{aNhaznud(G}4Jk(C=7I?u!Br*cD;8~UHSAs9(@LtXFE`s#X`7jS`dYA|?w zG*I2DzDRYe`kWydZ=W!o5r5CIVn-Ali*)qN6#m^KO#xuREs~|tV(e+)so3GWadX1Ao-+Z!N=%HOMw7;^vvT<#x za-w!WhogXdH1~4EcbMs+owdvPY5(e8ZfE}tKS_IbAE4jO^E=WZAty=I;Zl zdpYdGn|ePd{yvU$@%$&(@cP5ar~|C-<*Iu*J%5ouch$X|IUJlKbw2s?GkmXy`>*O= oPFD%*v~A9iw5a=CdN1dl=uG~;FgU_dM;DwT9pMw;sFFnf0YUE;r2qf` literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_decap_4/netlist/sg13g2_decap_4.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_decap_4/netlist/sg13g2_decap_4.cdl new file mode 100644 index 00000000..ad190677 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_decap_4/netlist/sg13g2_decap_4.cdl @@ -0,0 +1,43 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_decap_4 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_decap_4 VDD VSS +*.PININFO VDD:B VSS:B +MX1 VSS VDD VSS VSS sg13_lv_nmos m=1 w=420.00n l=1.000u ng=1 +MX0 VDD VSS VDD VDD sg13_lv_pmos m=1 w=1.000u l=1.000u ng=1 +.ENDS + +.SUBCKT sg13g2_decap_4_iso VDD VSS +*.PININFO VDD:B VSS:B +MX1 VSS VDD VSS VSS sg13_lv_nmos m=1 w=420.00n l=1.000u ng=1 +MX0 VDD VSS VDD VDD sg13_lv_pmos m=1 w=1.000u l=1.000u ng=1 +.ENDS + +.SUBCKT sg13g2_decap_4_digisub VDD VSS +*.PININFO VDD:B VSS:B +MX1 VSS VDD VSS VSS sg13_lv_nmos m=1 w=420.00n l=1.000u ng=1 +MX0 VDD VSS VDD VDD sg13_lv_pmos m=1 w=1.000u l=1.000u ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_decap_8/layout/sg13g2_decap_8.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_decap_8/layout/sg13g2_decap_8.gds new file mode 100644 index 0000000000000000000000000000000000000000..965cb12f92ba7a0dd1b1997478339e7884f5122e GIT binary patch literal 10728 zcmeI1-)kII6vxlb?#xa$yPGr(wXFpgsSs?b+6qxy%Brp453~>wDM;EH4bft1(mseF z6%nZl`XopZ7C}S^Sg;ROC=^;s{{Vlyh(tvx2xg!gQ7hVw=uf}`tKQ;O2%G1sf&;tBm0%lwSSV=yO(3X-`~n{8C`om zA2$AXZTurWl^a`E@%c;ikum)U-_?1{fsBmv`!~iHb$%EbAAVii$@F97=S@$xGjB%t z=Es+0`Q7fm|7DT(ap+Haj*O#!#EobV=#hsr)EhEO3bAc56FP-j2oK){S%tE1nUa(M>1~-;>J+^V$2ohEk2tg za^m8~Q2svCaW@~%5#t_a+!z>t^f-Kxzv%ZIkvA7N2J$CZhnT+#o}&Tb>*B_MKl9X> zgg5dwAl7CVH%=DkpYxRShVynn%o`Us2IddvU;4GqKjYAGoqtBegU=6j^fyvRe`83` z`%Hh<`!^1~q4#e@yx6~|>rSQX$#q8%H-^?9>FK&t=^CNM`a``ky#7Qd)wkO5q%Y&f zkbjh|d)1Emvmg3WuMGRw4ykX9%efAd^kv)_@~<6I-&l<30RGe~!~RKEeUoKR`Z8_| z`6pfVO_q)7OFjLw_QLN!?Wk{h!IQp>8$2>?~R@(eHk}~ z{2QXajh<0`si%L|p7(G2-(P6H!rx=~t$yAJ-C4$sE*{V$$IH}vwntTOM0;Le@&54m z1UWi|_2Wa&CVmqcH=?~*k4xJ-biZL7Ifx)$M#PKtr}3=34X^h+Yv@l9H=?~*&-}kY zeb&F7tiZ&@%N9mQREH#<#vvvk7(S8_Pk#AcagaL6K!mtWgO`-iu><5usxuM z*Vb(Oj?i4Y-^}aJyYbh&zq;TaE@j_CMvH^Vwn$!+vF*wH;RohVyflN7=DuSKNHOaI z{QR*l!F_FrWRoN}Ram2Ju0YqkIqvRque+tm{bKUI^GP=)Pwm_HKlSLB`l+c*UzcDd zwP9@~H9faDe@!)W)a_<>qf1mvWi>U(k5wZ}R*i6WmDLn}X)o$L;Zs{yQ`u^QU7uA^ zMysNXp=zLBR#Ss2iuo(6DXrqlYO1WJxSP(Zt^96g)qkVPY6`o-Ggvp4jo2$4z~`>f z#S8OSR#V7NSxuGI6sy6lS`A(AYAVI!ifXEpRhcu~cdz>k2S_{n{gnw%R?B=DSuM9Z zS~ZgvZ|_i@67To0KO_5FRb8&CZdWFF9rgYGzjvz6XmRwHUr*NPMaK40?|icR(EG9Y z*xrzyzWCc>^!=&cjjO<4WVGhm-Tmsgsb}2i^*4AGyZM?bc4lsNZt=vCL8Vrn3zp}C z<+-3}CCYORR!~j+lgP*llyPII66N^?b>+FBo@=@D!6p1O?bnJdJ2%X)ysLKNJlA3V z%5%Z;T(CSB#2nzxEURFRp>v_KlC=ufh^=l}$+~mJ@>~#e0k860a8>2B=3LP#SR)d4 eozDfcN_J2Fywq2eYb!!uX<9{j15{+Sn*0Ygrlp(! literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_decap_8/netlist/sg13g2_decap_8.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_decap_8/netlist/sg13g2_decap_8.cdl new file mode 100644 index 00000000..16a45ffc --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_decap_8/netlist/sg13g2_decap_8.cdl @@ -0,0 +1,43 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_decap_8 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_decap_8 VDD VSS +*.PININFO VDD:B VSS:B +MX1 VSS VDD VSS VSS sg13_lv_nmos m=2 w=420.00n l=1.000u ng=1 +MX0 VDD VSS VDD VDD sg13_lv_pmos m=2 w=1.000u l=1.000u ng=1 +.ENDS + +.SUBCKT sg13g2_decap_8_iso VDD VSS +*.PININFO VDD:B VSS:B +MX1 VSS VDD VSS VSS sg13_lv_nmos m=2 w=420.00n l=1.000u ng=1 +MX0 VDD VSS VDD VDD sg13_lv_pmos m=2 w=1.000u l=1.000u ng=1 +.ENDS + +.SUBCKT sg13g2_decap_8_digisub VDD VSS +*.PININFO VDD:B VSS:B +MX1 VSS VDD VSS VSS sg13_lv_nmos m=2 w=420.00n l=1.000u ng=1 +MX0 VDD VSS VDD VDD sg13_lv_pmos m=2 w=1.000u l=1.000u ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dfrbp_1/layout/sg13g2_dfrbp_1.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dfrbp_1/layout/sg13g2_dfrbp_1.gds new file mode 100644 index 0000000000000000000000000000000000000000..6a19bab15bc1793b4c9c618ccd47bd09b9ce5e71 GIT binary patch literal 48408 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 literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dfrbp_1/netlist/sg13g2_dfrbp_1.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dfrbp_1/netlist/sg13g2_dfrbp_1.cdl new file mode 100644 index 00000000..351cb130 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dfrbp_1/netlist/sg13g2_dfrbp_1.cdl @@ -0,0 +1,139 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_dfrbp_1 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_dfrbp_1 CLK D Q Q_N RESET_B VDD VSS +*.PININFO CLK:I D:I RESET_B:I Q:O Q_N:O VDD:B VSS:B +MN13 net12 net2 VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN14 net5 clkneg net12 VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN15 net2 net5 net11 VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN16 net11 RESET_B VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN6 Q_N net5 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN0 Db D net10 VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN1 net10 RESET_B VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN7 Db clkneg net6 VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN8 net6 clkpos net9 VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN9 net9 net4 net8 VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN10 net8 RESET_B VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN11 net4 net6 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN2 clkneg CLK VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN12 net4 clkpos net5 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN3 clkpos clkneg VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN4 Q net1 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN5 net1 net5 VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MP14 net5 clkpos net3 VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP15 net2 net5 VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP16 net2 RESET_B VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP6 Q_N net5 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP7 Db clkpos net6 VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP0 Db RESET_B VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP1 Db D VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP8 net7 net4 VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP9 net6 clkneg net7 VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP10 net6 RESET_B VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP2 clkneg CLK VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP3 clkpos clkneg VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP11 net4 net6 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP12 net4 clkneg net5 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP4 Q net1 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP13 net3 net2 VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP5 net1 net5 VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_dfrbp_1_iso CLK D Q Q_N RESET_B VDD VSS +*.PININFO CLK:I D:I RESET_B:I Q:O Q_N:O VDD:B VSS:B +MN13 net12 net2 VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN14 net5 clkneg net12 VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN15 net2 net5 net11 VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN16 net11 RESET_B VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN6 Q_N net5 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN0 Db D net10 VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN1 net10 RESET_B VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN7 Db clkneg net6 VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN8 net6 clkpos net9 VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN9 net9 net4 net8 VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN10 net8 RESET_B VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN11 net4 net6 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN2 clkneg CLK VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN12 net4 clkpos net5 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN3 clkpos clkneg VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN4 Q net1 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN5 net1 net5 VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MP14 net5 clkpos net3 VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP15 net2 net5 VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP16 net2 RESET_B VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP6 Q_N net5 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP7 Db clkpos net6 VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP0 Db RESET_B VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP1 Db D VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP8 net7 net4 VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP9 net6 clkneg net7 VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP10 net6 RESET_B VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP2 clkneg CLK VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP3 clkpos clkneg VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP11 net4 net6 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP12 net4 clkneg net5 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP4 Q net1 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP13 net3 net2 VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP5 net1 net5 VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_dfrbp_1_digisub CLK D Q Q_N RESET_B VDD VSS +*.PININFO CLK:I D:I RESET_B:I Q:O Q_N:O VDD:B VSS:B +MN13 net12 net2 VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN14 net5 clkneg net12 VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN15 net2 net5 net11 VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN16 net11 RESET_B VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN6 Q_N net5 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN0 Db D net10 VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN1 net10 RESET_B VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN7 Db clkneg net6 VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN8 net6 clkpos net9 VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN9 net9 net4 net8 VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN10 net8 RESET_B VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MN11 net4 net6 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN2 clkneg CLK VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN12 net4 clkpos net5 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN3 clkpos clkneg VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN4 Q net1 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN5 net1 net5 VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MP14 net5 clkpos net3 VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP15 net2 net5 VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP16 net2 RESET_B VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP6 Q_N net5 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP7 Db clkpos net6 VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP0 Db RESET_B VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP1 Db D VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP8 net7 net4 VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP9 net6 clkneg net7 VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP10 net6 RESET_B VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP2 clkneg CLK VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP3 clkpos clkneg VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP11 net4 net6 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP12 net4 clkneg net5 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP4 Q net1 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP13 net3 net2 VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MP5 net1 net5 VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dfrbp_2/layout/sg13g2_dfrbp_2.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dfrbp_2/layout/sg13g2_dfrbp_2.gds new file mode 100644 index 0000000000000000000000000000000000000000..c892663d3e9f452d8325bd7fce2e59f5842be76d GIT binary patch literal 53400 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 MeIHwT{}qeoKRhV3=>Px# literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dlhq_1/netlist/sg13g2_dlhq_1.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dlhq_1/netlist/sg13g2_dlhq_1.cdl new file mode 100644 index 00000000..b0b49bd0 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dlhq_1/netlist/sg13g2_dlhq_1.cdl @@ -0,0 +1,103 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_dlhq_1 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_dlhq_1 D GATE Q VDD VSS +*.PININFO D:I GATE:I Q:O VDD:B VSS:B +MX17 VDD a_386_326_ Q VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX16 a_592_149_ a_685_59_ a_419_392_ VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ++ ng=1 +MX14 a_386_326_ a_592_149_ VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX12 VDD D a_116_424_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX9 a_562_123_ GATE VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX7 VDD a_562_123_ a_685_59_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX4 VDD a_386_326_ a_419_392_ VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MX3 a_229_392_ a_562_123_ a_592_149_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ++ ng=1 +MX1 a_229_392_ a_116_424_ VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX15 a_562_123_ GATE VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX13 VSS a_562_123_ a_685_59_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX11 a_514_149_ a_562_123_ a_592_149_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ++ ng=1 +MX10 VSS a_386_326_ Q VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX8 a_239_85_ a_116_424_ VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX6 VSS a_386_326_ a_514_149_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX5 a_386_326_ a_592_149_ VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX2 a_592_149_ a_685_59_ a_239_85_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ++ ng=1 +MX0 VSS D a_116_424_ VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_dlhq_1_iso D GATE Q VDD VSS +*.PININFO D:I GATE:I Q:O VDD:B VSS:B +MX17 VDD a_386_326_ Q VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX16 a_592_149_ a_685_59_ a_419_392_ VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ++ ng=1 +MX14 a_386_326_ a_592_149_ VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX12 VDD D a_116_424_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX9 a_562_123_ GATE VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX7 VDD a_562_123_ a_685_59_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX4 VDD a_386_326_ a_419_392_ VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MX3 a_229_392_ a_562_123_ a_592_149_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ++ ng=1 +MX1 a_229_392_ a_116_424_ VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX15 a_562_123_ GATE VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX13 VSS a_562_123_ a_685_59_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX11 a_514_149_ a_562_123_ a_592_149_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ++ ng=1 +MX10 VSS a_386_326_ Q VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX8 a_239_85_ a_116_424_ VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX6 VSS a_386_326_ a_514_149_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX5 a_386_326_ a_592_149_ VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX2 a_592_149_ a_685_59_ a_239_85_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ++ ng=1 +MX0 VSS D a_116_424_ VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_dlhq_1_digisub D GATE Q VDD VSS +*.PININFO D:I GATE:I Q:O VDD:B VSS:B +MX17 VDD a_386_326_ Q VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX16 a_592_149_ a_685_59_ a_419_392_ VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ++ ng=1 +MX14 a_386_326_ a_592_149_ VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX12 VDD D a_116_424_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX9 a_562_123_ GATE VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX7 VDD a_562_123_ a_685_59_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX4 VDD a_386_326_ a_419_392_ VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MX3 a_229_392_ a_562_123_ a_592_149_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ++ ng=1 +MX1 a_229_392_ a_116_424_ VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX15 a_562_123_ GATE VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX13 VSS a_562_123_ a_685_59_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX11 a_514_149_ a_562_123_ a_592_149_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ++ ng=1 +MX10 VSS a_386_326_ Q VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX8 a_239_85_ a_116_424_ VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX6 VSS a_386_326_ a_514_149_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX5 a_386_326_ a_592_149_ VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX2 a_592_149_ a_685_59_ a_239_85_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ++ ng=1 +MX0 VSS D a_116_424_ VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dlhr_1/layout/sg13g2_dlhr_1.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dlhr_1/layout/sg13g2_dlhr_1.gds new file mode 100644 index 0000000000000000000000000000000000000000..a4144bf38a3c73c44732f8bd89b09cc663f3e402 GIT binary patch literal 33880 zcmeI4d#q(ueaF{%?eo0PnS1Zt*UTB5fJsN>VzOuV75gsV z_s7nyEmh9kcIz9?edNC9-?aT3uU-1wr5CxmO1AEJlI*|g)YGpzZP%51uHLunROiYy z=aQi!@=At_&biA*OU`ZB=iE@+x%JNnCO^mbS0l1#<$iqsrgLK91n6~~6DempBGN05 zy*$4MnBV;Mme1Uafwdc*oBOhJV)7p6rk_Oqp4D-Dzt%aC64VNL%L!CWn1?W z%I8`6j-@ZM-1D2P{ABfzl}pShe`>F(Wt8hq=ce`svOJTAtvn>dCqEF#a!mfx%0pJ( z3Voy_BK{zIrTIo@uil=IIKe{*2_FO+fd%yQq0d0yv*IkCi1>rjOY75mowY;jlt7lh`Bf`F zS-s7<#xsFQ2jTZ1e^0hk^J~^#B+J2cMYQ*z{131`4HUAqh_<*Tu=;QKzJUBZlY23? z_aZ;f>Lmy}5g*TF81XU1iG^?A`w`^tNjdWok>8;5r1nT&k90BiDt{B$+K%sUK>0iw zUVhHP$z(IWzYth>!fYuroau_tAC!MOUduCUDl{esW` zcDDbRRhcW)2#&^#$=9dQMEwOR|`Ul3DSlol~ZHVv5^wYnT zD9<&_S4{IARKCYlzL85!T^v3c_Wo;>(X)9c`q~Fk2T#sZ)h#HKC*|e;uyB%kjdKH= zk0I`B5$?%(X!u_s^K5*_xiv3A$FtUQZsywv_iXKf?$ziYo=l&16;bX%^-JfI_9Lb@ z`^CWeCOpqjPLcUAo``$~rI+^KHu_-sVd%rgU7~Nzo{#UIg%u0$5_MVsN3fxYaHhj> zpWdMS(0^f<#}V)6u*Z(TGHge=i10!BY5kK&(QmGWF8ZHXLc5i|fRAVKHjE9#6A`aB zy$yZiX%umvz<78taC8Uy8ss9vd-ZFne$l1%nfMLL@ftkezZ_WIiRUlmBEmEED-Gz~ zkGx+Wi1F_z7ZIMR@9;PDto0vpWQkHdvzAgYJX3%A!{|5fMtg4zY+Z%*7vv(sGxaxg zP)XID@;d`rZ_35|`lGGT|I_&)CF=a7)!UeczdV2Ey7L9& ztw(*u@&fw%O(>Hm<@+O8 zelz;xMS*`cf!Yj4N@SU-x~XEIzY zpKkhHqHMzpsE;R~J=_n8wWpB(VWi>N{3+^tH|*u9eV2&x531h-Y5m@VdF}&959?sD zbR*j2HrUUT>-^f~$lo*FCm>v`qx_ZUQ3uc34c0ay=gG=nqCTEnS2O)CzlZ!c;=3pJ z8KWqdh;j`of7*Yz&#Eq>?so<@(Dud8Vvh7|-i)*kAdY8g*}_HInRC8a`?ZCOjaMP9 zXYlb%Fjp~OvAQ_0e4AziO@g4hmSy?a`D7`eU2mQi`2uzx5wNA3g^C`M~5$(1%<^cxL(2eb3+8`mOHCwF~7U!YoTm^)_5Jvc66G{i@pyZk=(Ka`87ETbHPr0}yCx67_UX%J_`DD`*A^R2PVIZ{S4$H!ZY)qSi$@`|KH_*<2&Wz&g}X#9?u|nejt{wF?|v8O#7|DbDra7?S}(7ZYUS?#?P7sv)fuH zn%&kci23$oJlYM_=#qA$T+FlI8jLm0KRo~J67xu-iWJNJ_G_+Kxm$~( zm78-n_rX3q)BcRda<>)(S#HY3yz)2ktV=$P_&*J-z7F3Z7ZIMBf8&#gdk;RR2DY}K z?I0Hso~@5{Q~ECLq`=}7^dT1!o~`f9ZjB|;?A8EizlMe9=$qXdOM$c-^~F5<@eHZ< zU5xdK!1^`#A94}lnfceyPs;B@T=XBYQh`4Ek0<2W`faOsZCSK>*VSj+b0x|}glFcTbgbOTifH9dI%0nL8IS!xSqWshDHrp~&oj#! zo^^bOC)V*Sq+EnNv;38RM?d`@;@=#|=ON`H!gKY@n@qpUhfSaFQ<)Cr+4|c|m+@Ez zvbqu676^H!etE&{UU8z?y}Tgi+n@1he{|I@X?M!SJo}e^ZSzL?^MRZQhQkJ8g- z_wp@)v^(Wup8Xk*cBg)quzM;ObL?L_!|Y!AVIb{KxtM4F;-cBT)E3R|#YHjS{)|Wa zm)e1}JLO`Y{R5I)BrY}OC+5ZY(gWWOraqZvb zUqGL7v6-#!mdtL2j%apsOJctL7?1WVbOLEN%EeXodni4>F5CGxVs`(A(O)($BOT9f z0J_HS6x~g3d~CXJ}rd9Zw!6`lSLdnBvS?YT+S4r-|2_5JxqbU_i6PIkKAwgpNLp!R>t+*S4} zjt_G@YbRHE*6!N9A1~gbcP-v>(u+5G*Y?eB^0wZ?(H^~Pv6E`!Qw)?>tr)#)Q}6r( z>@U%~w*S`(Jb|DWSoE&N3Tqrs-LHU$F|RxwSmw#g^LQY6%BxnCSFPyo#`BYZDY3f3 zZZ~?@y41Tg^(Nbcw|Q9M&^wouSFI?oS}}Up_C5cicP)Qy<-LQWcP-|bC(XM;6HCC!+ZBf?^=wjVf3ZT1LajK%BxnCSFI?oTCwX@dk|~$+prGB>3Q_7?Vbmz z|E1o!(YqGw=jU+hxfn>VnCM-Lbx)eLQ@`1X-nG%Y7W=z#g;qef?YhAkj z99zuyt{B6(qj$x4JCO4~b|lg{gz{U>_YTEB_jwRjJ)37=c=c^JfINAPZS z<1*$sPs(}gT9>1E|9URIiwNgC4u+?MJiRqe?51z|4xdcovz6r$S)RVoA8YY5886Mp+rjK1`S_Xn`5!&y*s-H?_@oT!nLg!N`p#{-Hw{ng zYvras+P(jVD=>Kch?OU--J`Y7JV4{U!+2|Y z2p%xlRS&iMMp~b}rZ96QcjAO`Zy@5wdx!79$?F!JK!Cb$Sfs}UJ+8%g?=bqE42 z&qM0IVKM#9*Mk4;7Z~pyHVd z7(3o~xzqzY-aCvn5Y~qA-r??iEKkLBK92Ve^Y`27FY!{(&Evk;J>EMU?;SoEJ)`}- z#J&50zVQ`3qk~5@JeX1sX?iq8&uFYyE{LAdyuUc!JKVSa@AGVr_YULS1!u_d-eH`v zJZ1L}>%L(z-aDK{f> z?{2(z81pvXZN__t@xIdEKdk$P#dz;<_VX*=J8biBymvTyM#p=H@eXap&JB`|n2wL$ z^QXT3Bja)ZL_Lw~Kgz|t^0_J4=$`1DuXO6$<8I5_$ s|H&g-lpK5|p3z&wdn28@!30kcLaDkT^ZjS+MkK;8l|L=o!x{hpccox8X99PLK@Yc|<@ z_WWjkGr#%GGTGuYreLb3%j|CkTmLrIY_w_Pxm(t4`Ghfpxx#VB zZ$IiiJ8paV=oLR&(zx-Q)n=@atlJ+&TQ@9Sw&C!#>o=Xh<)dqtntaKas5^_gqMocV zW=&ttnA(jHJ_j!L>>f8}{_VzyOrL*-O(!#7!}TMcg@!FhME?9dvqycKSl`HH#uPV! zOFUW6@b_$eB-4kF^o;h$^(xfw$ohvLwe^#fvs@ASo$8OJR{UMxC`YwvVN8$B7dj)E@68IhKwm6XiWdRJz3wp9kxEQ>&v))&@&I;_U(iN z9W$pP{e7s3cEuX~%dk1Q-VhWSL~?_^)>pXys|zgPa{N&707So=thkMi$5IW8&}qJBr#UxANB z%2}?MFka&NyIw)LV;BpMdsZiL{eG0;$n+9yYVy}8`**l@q(8bgTYr$WgXN0QOKgAP zFSeWl#w^Pt+5Y^ko|NZ5Z_`QES6J-Hc~Q6%^*P4rC|87jr~2dhncHsj z`pM!kD4X-xvGB4nxgzRx#Hwmoj);0&>+5mr-=e@q4N*Iu#_~@3 zvAtvGVQlr;{9-f>|C|N;9gFXTtr#;+!oCr#z(q&qV>x0^-z>KQ2Oa zJ>~d`8OvMkZPSOnhf?3O_ncVUh)D0GACJ$`A7C7AvU69g?8JD4|HaZ3C>!HVEdK)Q z)7{WMS2-l7U&h_0GUyfOnQ^qMO$OB*F6^Lh%pIH`To;&c{*Y(x516mm4~R_f|AI{? zbC+R%a+N33D|MSrW}n4;!F&^$o`1onlR2z?xhFiC9{n+5+gnBtg=yfXp>ny)^4d%yl&_Bboa60z0pTl@}r2WGito;87S9?T&9rJftJH)o<1v{UOT@U6wpN+Yi?HxP{ zcAbd((JwtK=c6w$rp5Alq#uMa;8^@Bt~uWwxzFy#dMxJ7#9Tfe{&p;W3+-Ko{Epn` zv0f4Ncj}Lww6D1z$9fa*%fakt;OiZpthacwt)Gm(gtlNjiCmY8tMKc{JzwD-toM$* z-$vhsj$`4iNPh^wj@b{`y2Tv&zdDBYIcEL{JHLT7*irj@v2DMv{<}AB-vjVn73IM` zv2-o2AB8=RET`*Zu*Z>hb3Y-LZou_#@$1NZ#oabPna5tE`$bRgGr8{**j?UMWiR{*M5R=vj+J;*upok{!lKiN!Ras!Rm|U ztF68Wd20Q9W@P;$=N9W1Ay3xlIB;pY z8~tBvc+&6G7t{Pd|5l81tZB7(c}Caa{sXy)^u+o{ZbCnyo%4_N5B4mMV1EF)i1ftzhj8Cu|M5O9vfn5d)B2D3*l*Nt z68#p-#gzVIKK2{+MfMxzVp{(V)ve!$rbX-bp}Lsvf99kAho(L0cgn>y{|`KZdjs|% zgIhgwM`OPMxrp>c|1)3yB&*-#(^j9)w=O+d|Fh`#m!N;3XYq^BgIsL8|Ib>#2PUlF z290R_HZUQk`;YnPKe(((`i*ii)qif@4m@uApJcxeKrW{BfB!hf=`uX;Otla`jpgF9 zWdF~*7yb5Aln#(i*hk-{VHFCytsc4N3*8!KF=zr#;|H=(d`i*ii&3~o$;=cVW{J!Yfbpif{Tts?e{e1T3 z^H~Y|ACcpTauM=m{c+pw(v)c1&F5dXzhu)>^liIKQ=V)$^~JRI7Z1U>!EXp?{1g--A#t zB0X{ZFkc0G59*86eycA+o~(ZW+Ws)|Kj4|)jBCh6q$lc|hV^@pD^7j2HayEZ@es14Gi_HXd#UWYqDbv3w+Pv9T8bcjZ=gE7?wh5EAi=Ll2f`=-%4`enI^Y7r*+UTbHt%3xGL zd&L~IhyM)i*G#n*ow;(=%GGP}+HJ2b;5%zrP^v{I9lzR*%e`rT59T%e3;nZJ%%u%{ z&y0s1>aSYm>@T9*QX+kZ+arC}Zrr+gkLa5 zMElsc#39-Td&k8t>gS;l?GvJX?AMNgiTEo>;`+;|9)2wg(LVNT5u<+im1y3iXWQ4J zS@*9H?SpkEMEitjpAhZSjQUZOj~JqTlJ~D6+Q&!vDC$R1K4OUWNgh8T+Q&!vDC$R1 zK4OUWnKgd?=g~gyJMFmpFRt}`Pd)w*#7rDMGxPd^o;*c>KO#>L7#qhv(^2xCL#>`A z{$9@VM3y(JJ^Jr+ypN$C^I7gb%<74fqrBGVfi`_az8^>ZxE|LI+aAgLk4w{^nc009 ze#b;#p4F#3N#B_L@^O0HUTZh?DHpx|-b5LNC@YM+|8JDl=pIp4>o;!LxOLmPA<~K~ zL^xLoU#woj>Nn%5^OQtJo-x8oRD_kN2rDr}TG>!WZK# zzIfq_I?4Z;2xCYf-ql3l;~t$^!yRQF7~|Aljv;^!M21S6XGJT5+C^IR@>?o#6TV?N$D z3&<|g|CEbq{txFWVXUsi9yXk-6rXRLsbe5v+?j@${`}2+9Cy?cIqoPI+s5CU6={Xj klH&geZi{$ok67}NP>OiM=d5rp(|>s`)thuKQ$BD04WYz(AOHXW literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dlhrq_1/netlist/sg13g2_dlhrq_1.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dlhrq_1/netlist/sg13g2_dlhrq_1.cdl new file mode 100644 index 00000000..783a9f24 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dlhrq_1/netlist/sg13g2_dlhrq_1.cdl @@ -0,0 +1,112 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_dlhrq_1 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_dlhrq_1 D GATE Q RESET_B VDD VSS +*.PININFO D:I GATE:I RESET_B:I Q:O VDD:B VSS:B +MX19 a_769_74_ a_817_48_ VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX14 a_565_74_ a_363_74_ a_643_74_ VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ++ ng=1 +MX11 VSS a_817_48_ Q VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX10 a_27_424_ D VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX8 a_1045_74_ RESET_B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX7 a_817_48_ a_643_74_ a_1045_74_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ++ ng=1 +MX6 a_643_74_ a_216_424_ a_769_74_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ++ ng=1 +MX4 VSS GATE a_216_424_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX3 VSS a_27_424_ a_565_74_ VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX1 a_363_74_ a_216_424_ VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX18 VDD a_643_74_ a_817_48_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX17 VDD a_27_424_ a_568_392_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX16 a_643_74_ a_363_74_ a_759_508_ VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ++ ng=1 +MX15 VDD GATE a_216_424_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX13 a_27_424_ D VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX12 a_759_508_ a_817_48_ VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MX9 a_363_74_ a_216_424_ VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX5 VDD a_817_48_ Q VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX2 a_817_48_ RESET_B VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX0 a_568_392_ a_216_424_ a_643_74_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ++ ng=1 +.ENDS + +.SUBCKT sg13g2_dlhrq_1_iso D GATE Q RESET_B VDD VSS +*.PININFO D:I GATE:I RESET_B:I Q:O VDD:B VSS:B +MX19 a_769_74_ a_817_48_ VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX14 a_565_74_ a_363_74_ a_643_74_ VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ++ ng=1 +MX11 VSS a_817_48_ Q VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX10 a_27_424_ D VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX8 a_1045_74_ RESET_B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX7 a_817_48_ a_643_74_ a_1045_74_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ++ ng=1 +MX6 a_643_74_ a_216_424_ a_769_74_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ++ ng=1 +MX4 VSS GATE a_216_424_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX3 VSS a_27_424_ a_565_74_ VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX1 a_363_74_ a_216_424_ VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX18 VDD a_643_74_ a_817_48_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX17 VDD a_27_424_ a_568_392_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX16 a_643_74_ a_363_74_ a_759_508_ VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ++ ng=1 +MX15 VDD GATE a_216_424_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX13 a_27_424_ D VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX12 a_759_508_ a_817_48_ VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MX9 a_363_74_ a_216_424_ VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX5 VDD a_817_48_ Q VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX2 a_817_48_ RESET_B VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX0 a_568_392_ a_216_424_ a_643_74_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ++ ng=1 +.ENDS + +.SUBCKT sg13g2_dlhrq_1_digisub D GATE Q RESET_B VDD VSS +*.PININFO D:I GATE:I RESET_B:I Q:O VDD:B VSS:B +MX19 a_769_74_ a_817_48_ VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX14 a_565_74_ a_363_74_ a_643_74_ VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ++ ng=1 +MX11 VSS a_817_48_ Q VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX10 a_27_424_ D VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX8 a_1045_74_ RESET_B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX7 a_817_48_ a_643_74_ a_1045_74_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ++ ng=1 +MX6 a_643_74_ a_216_424_ a_769_74_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ++ ng=1 +MX4 VSS GATE a_216_424_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX3 VSS a_27_424_ a_565_74_ VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX1 a_363_74_ a_216_424_ VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX18 VDD a_643_74_ a_817_48_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX17 VDD a_27_424_ a_568_392_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX16 a_643_74_ a_363_74_ a_759_508_ VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ++ ng=1 +MX15 VDD GATE a_216_424_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX13 a_27_424_ D VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX12 a_759_508_ a_817_48_ VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MX9 a_363_74_ a_216_424_ VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX5 VDD a_817_48_ Q VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX2 a_817_48_ RESET_B VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX0 a_568_392_ a_216_424_ a_643_74_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ++ ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dllr_1/layout/sg13g2_dllr_1.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dllr_1/layout/sg13g2_dllr_1.gds new file mode 100644 index 0000000000000000000000000000000000000000..68b8652c2dc1358758061698daa0e6a91d431f9d GIT binary patch literal 35870 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 literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dllrq_1/netlist/sg13g2_dllrq_1.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dllrq_1/netlist/sg13g2_dllrq_1.cdl new file mode 100644 index 00000000..89b9e424 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dllrq_1/netlist/sg13g2_dllrq_1.cdl @@ -0,0 +1,112 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_dllrq_1 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_dllrq_1 D GATE_N Q RESET_B VDD VSS +*.PININFO D:I GATE_N:I RESET_B:I Q:O VDD:B VSS:B +MX18 a_357_392_ a_232_98_ VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX17 VSS a_897_406_ Q VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX16 a_654_392_ a_357_392_ a_854_74_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ++ ng=1 +MX14 VSS a_27_136_ a_681_74_ VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX12 a_681_74_ a_232_98_ a_654_392_ VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ++ ng=1 +MX9 a_27_136_ D VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX6 a_1139_74_ RESET_B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX5 a_854_74_ a_897_406_ VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX3 a_897_406_ a_654_392_ a_1139_74_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ++ ng=1 +MX1 VSS GATE_N a_232_98_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX19 VDD GATE_N a_232_98_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX15 a_897_406_ RESET_B VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX13 a_654_392_ a_232_98_ a_793_508_ VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ++ ng=1 +MX11 a_793_508_ a_897_406_ VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MX10 VDD a_897_406_ Q VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX8 a_27_136_ D VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX7 VDD a_27_136_ a_570_392_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX4 VDD a_654_392_ a_897_406_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX2 a_570_392_ a_357_392_ a_654_392_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ++ ng=1 +MX0 a_357_392_ a_232_98_ VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_dllrq_1_iso D GATE_N Q RESET_B VDD VSS +*.PININFO D:I GATE_N:I RESET_B:I Q:O VDD:B VSS:B +MX18 a_357_392_ a_232_98_ VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX17 VSS a_897_406_ Q VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX16 a_654_392_ a_357_392_ a_854_74_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ++ ng=1 +MX14 VSS a_27_136_ a_681_74_ VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX12 a_681_74_ a_232_98_ a_654_392_ VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ++ ng=1 +MX9 a_27_136_ D VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX6 a_1139_74_ RESET_B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX5 a_854_74_ a_897_406_ VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX3 a_897_406_ a_654_392_ a_1139_74_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ++ ng=1 +MX1 VSS GATE_N a_232_98_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX19 VDD GATE_N a_232_98_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX15 a_897_406_ RESET_B VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX13 a_654_392_ a_232_98_ a_793_508_ VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ++ ng=1 +MX11 a_793_508_ a_897_406_ VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MX10 VDD a_897_406_ Q VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX8 a_27_136_ D VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX7 VDD a_27_136_ a_570_392_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX4 VDD a_654_392_ a_897_406_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX2 a_570_392_ a_357_392_ a_654_392_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ++ ng=1 +MX0 a_357_392_ a_232_98_ VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_dllrq_1_digisub D GATE_N Q RESET_B VDD VSS +*.PININFO D:I GATE_N:I RESET_B:I Q:O VDD:B VSS:B +MX18 a_357_392_ a_232_98_ VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX17 VSS a_897_406_ Q VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX16 a_654_392_ a_357_392_ a_854_74_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ++ ng=1 +MX14 VSS a_27_136_ a_681_74_ VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX12 a_681_74_ a_232_98_ a_654_392_ VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ++ ng=1 +MX9 a_27_136_ D VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX6 a_1139_74_ RESET_B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX5 a_854_74_ a_897_406_ VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX3 a_897_406_ a_654_392_ a_1139_74_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ++ ng=1 +MX1 VSS GATE_N a_232_98_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX19 VDD GATE_N a_232_98_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX15 a_897_406_ RESET_B VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX13 a_654_392_ a_232_98_ a_793_508_ VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ++ ng=1 +MX11 a_793_508_ a_897_406_ VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MX10 VDD a_897_406_ Q VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX8 a_27_136_ D VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX7 VDD a_27_136_ a_570_392_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX4 VDD a_654_392_ a_897_406_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX2 a_570_392_ a_357_392_ a_654_392_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ++ ng=1 +MX0 a_357_392_ a_232_98_ VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dlygate4sd1_1/layout/sg13g2_dlygate4sd1_1.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_dlygate4sd1_1/layout/sg13g2_dlygate4sd1_1.gds new file mode 100644 index 0000000000000000000000000000000000000000..9606c1cfc3dfb90fb6711f7f636df8ecf414619d GIT binary patch literal 15438 zcmeI3U5H&*701^-=bm%V{g^wGWUNgaaSUy!nAUtrwZ<^jB-I+UG{u$}&7_VFQwLL$ z1}XS4O7R0)>qoWKA`U22`czaz1nns5Qx)++i}Yb0+FC2vD1wDp#{Yk>y=I@A-hCj& zH}{1*zkAo-Yp=c6*=z4}*4-neWZ7-9t(A42lR^g4mF+TJ|15*7Tw1*S^vTnAi%jRm zf$P6`?Yn>T$ho&1{K*?v9zJ%9Y%AirmzL$3h247>_MDhsx_jZ|T_4_eW`6gH-O{c^ z%83jX%V8!W$ER|U{-q*=?~C-l5!ks-q~Q zquufe=>8yZa1`Hn!M(|fLUYq=pz+^MUjm z<;Eue^*@JtTX6k$)c8YurrfwCZom5v*g6E;U#amK%zes@hvNDZtLnGmoKgKY0e{es zzC1d9)}#N1bAj|5<;EueP27XN_n>=4jgLZ~a$~Qd|ENb_QQt^kQr`%9wEsQParah? zI&O5yjo+6y=ljh`|7~*t*{Td5#^2g1kJ}SG zx$aPIY+8S+8TEU$Y7}?f8ULLBzC3Eb!n#$RMZDb**nJf~LvBQQT>l~T^WUiZ=D_xY z(1+ZJ@~D1$PWxSmQTxs7&;I-JsDAZr`05bszpch+V4reh!}`IP>prfrX6&8NSTsT& zwclUUc{^ARQ?)aBIB+xLDF6{^7iv4o?+IOIg`|-YK z_q@uD71jjm8JqhD|6(kYVno|`7IH5~Cm+{89Uq<#=+_ROSB&{Tp$)ka^1A+ON9NBI z=FJ~r|6JhIjj##15#@FL%Ih!DKfPyRdk5Z_@5cUTFc;9Cv3D)n-if-N`H!{Sn0?dt z-?QAV?HbW;)P8}zqC1D@1Y%TPp%)WHC;c*_Uq93@R$jGhfxZ#`YJ~j`4!$IlG=3&#ZeJ*1wMgR+r=Zr(wf0yB#rwdPdYAH$FE% z7WO<7Im%~DevE+{vRG)TjoJRAb5%LE8 zvHf+!(Q&!*xccb2D4zWvnMkIf_Tblsh& z5rUiW#&XZR5$5S7nQWEv)h*_bE^9%5aCtGi*S+@1!0kua$2;$ma%+i6e9_v~m6+MT zlWJ@EzJmu}iT*?AQ{nWF9(@J+S%sl~nZ3W>Yj>nE*S2kZuI)3v?Lo z{edapmhx>W--fk$8hgzuR=|dQrOT`JPzQV8M&9jF=-q?w#*}ZX@24aAa^8pXIlaI} zVWi(FH#Yg7&mSq@hI`Rf+_yYN!jZi1g^LaN(`8GWda3tm1uy;-22{7f`>if6lr(8aT zd9{>p8`+=CKTC|Cly6J(+nvi6TW>!)0&=GfBN zLd4Dsc<#6wzb)R6_4U5Mbha=aKj~~C_MaD#YfWbhH*%hKrqGzq7RKWzoh`(gy9dAR z+#G0U3XK`gzVQsAF`X@R|68TGvW+u^*vIeCXY+Kn5ck5*Vn5%mOlJ!bU&r;lAlXT0 z3)9&`SZXgRQF~C9qfHHCLxv_H^q3-| zKzmyDAQ~tr`V+H4nIqUABl%nWbno)`>`zWCXRcR)5=RZ>;N{5FwY+k>48&P+hEMD^P*_VIv%7Js2 zzH`Rt^VhAR8Hr!_xHR1|c;n@1v2q?!b_tO(Ie_x3h?LQ{(5n(DShAeLBWxnJhd5vR=)aQ7>z_(FGx-_iFFCS(Zbymwd3&k7eslTym1g4F zYzIGdtj`s>66JpVGJN|5>c8w5-;VE)D^c#%k1KL*;#VBwh0ujuiEHQ8k47dYCUCvu z9wlbxO0+eiG;*(g2H!UCzZg~9-_re#>^GJxi~LuA5cQ_u`pwSq zO?+m#a*E%6^*7jB2HTJ4xEFJu<;rD#{f;s5TeDv&e(Qig*pIf{JASUm{%iI-vfo&) zEb?E+1L!+qr+G?_uR)*X%34AHQICDa`bzdC>nkDm_P<6l?%JqQ#*HqS@!RqOeHnLc z)RD){`pTm5r+s2K9aoCov`=Z|Ui;;Kv74YeUk4`JWx2A*e%yn;-i`PfbF81h@dSTb zqTFwP2W&o%_dLh+eAtIviSk1I^jFbWRvs07CFEZH6tTwZkJ%F}dEH^TvS|Iudc^P9 zn3BwO=lJLOZ_B;*Gpt+LR>a%Ij@4uE8FD4c{rb*D4+u#w=Kd>}xMV8TaFL%jzMKD>JMKtfwsQ zAN-54bdnNnKaDrP42`^9|73i4K48CA@Vugoe}^vQO33s2C$-F$RU? zuc-Fpc>!}o$#aL;zGcQSjylTnHz@xSGD}`RO5?JAFw3W+e`r^UcH7w(|9^(MxOa{( za;#t+1i2FB?eyg*Ft7l`2}Oc-l|MiqWo6aw~WW6 zuCn})*ijzwJg3)F;+gASi}mjo$Lx4~zZW(vqYa2D)Kj8W+^f%ab(~7|qZ0B0{kHuz!;x{Ba=-q6 zpWpA9^`R`|7en&5`H@^VWv(neEuwp9^4xUO`U^L0y=?%Ar}J*#j1ZiJHtt0`po(4YMC%AFo_W>9iD+_&;lBvoNzir)*k!_0pwBqyG&0 zlo@{Op0Soe#Ca;Fr3Hdhco3CTF9>wQ4Y2^9+v?X88_o4ipo}jvt{myb_k^lMm zBjnp~FFGdv&&J?LzVC%!gvI_3`8M27@5YVOY)8$rDMP-k<$k&)exnhITaH7HUna*b z%auj(%XzhsZ-ehbzRl*{DCFDZJiv;OZ^Pczg?ovRZ_D35X@1J&Q#h{{@@*~qllo_v z<0s_XLcR?WDCFCEY@UCB=hYPC%Da0fCJxPU1)d zdGmD96XNqCZcoYWwan+1-zN^u;d-n;G4c0&(Nn4%?d8{tBlL+TFJ^sX$BskBqw>j% zi}cwp-ZPZ0J<&J)^4KSuw8xa2@k+m0pXExYAM%{}Gl==m)Z@u>4h#(rZP|+axt+7& zY$4`VI9n*cJ@6UAaJCSO`F`Y#whQ%4p)#B;Y+3tTp7lenQ*vzKY$0OjS3Gyj!*7d^ zVtw7=7|s^@<0qUg#Qt*-xz=#D@Nmvk&lD=d*+PH(gtLWMb9?dI&MHSeQ>et*Hgg71 z8O|1(|E-c-+2J#V*vB`@vw1jM7|s@kvxRb|E}Sh4XA5oKXi@%5w97djnKN{`NXn{>omDOxntG>Mib!*Ck|f(BdCBBd5HDO1A4F$qZu z)(07jprZJo#ZS}`(fT6BQlSXKJe0n)V5w5XRJiz55K0k2B*yXo-)pbg=T7fA(%B+~ zoPo(Nv-bJ#b@u1kd#`gOlO%aS=4;8^tJ09JwB+5gJO6*_CfVxB!xv6ncuZt>y|H-r zSML1Sb5Fj0*Rf|lu>SoA@0a;TvG%4cyLkGJgQpLiTwZbJjSRR7e|zfUjp z-w)x3yRpoFThwoR-Kc)4r+=Sb z=)XBqzs-$6`la1i=D#^ozs(J!`lX)!eR`q)Y^;8>Ng(~wZY=Ykjn!{9F{)qc>EEXp z`cIeCZv&UJ9Z346-B{*7T~fadF(L!_rC#amh5lt-b+xfkb+T^!Z+gA&+BlH+O}(+~ z{*yKJTOS$KZ?a}A_s{ECZ}m|i{nBnM^B-G(vF#Vze`5P@?D&Ztzp?X2?EDowfA-Iy zuRVdjh8r=~51}u@ZiKyX{PDWCa)f}O7c4LXY`3KZ9`bq0jVEPU89oUUXFDyT=Yo1rVu{Bh^5%xlT_5#}dd8|#@ z4?OFiMppZpN_{t~WV49qUzUSKyOy-?3`Hom3hH)bEw@*80< z)Yq`?XS>z@9msa0-B{LsypHWgy^-xkyRoeOI_Tqk{&&{``P`@7SoZvnUBCA>)bCFB z4+Fpc+Ufpfu&(}x<3N_1c4Jxjufz3UKkPrTw)_o#kBi*!9;1jnO}o+A^ZkFD9^-66 zePDm6dLz>F`kME@!2R>!Ec)&$e&+)_f5-g!b@XA+W>>E>;`-wJu=Z~pP`$B^yt=qQ zV}fVn0M{9D-K_lF{v5R+{oAp>Mj4HR2Wdqfp0F3{YnaREXYQ#$JWqsnBhqK-kF$QL zb87)SV~m|2souzEUmfYj<`-3GET}JEKC~6qV8e+K1;c#kejJ@We}C_q>OVuY`^#wm z7XybMg$8yb()0SJ*Sqo!o<_N_*64pEuz557{xjOpv$24`_o7`r6P#~RXM}!M{;RA% zwwt_y_03{n{RDg+MxA*wJw+QE>mNqi2)~}RyB|lC?N(o3j!1c>+&||c{uq0&BJcO% zo;=$t>fcB^$Agh;nchg(G$idTml65SD*xA5{@(A<7kEC0F=T8$iM)P{`t@ub$N#Z@ zHO^s8%k`r%{k^6e>%YRaKSLQj(;GE^qdVV&U*op(J8S=kcz>PGz|SuH{v@z-0e$JK zNb_vpiNBx0^U;&*WnOR0`kIds`OT^i*B=^KSGF!gyFaiq#(3I?JUqE>OTUeD&-B-t zZcLt1y|Mlelok0Jk^e0J`&i!EJ8|vfxb~ZY+(XiCMEV=`iTqFWf*n!^xG4=VqV(SMdkT zMR=A}@dwNcmoXm4=&$$sXPu+7=g0F@{3CY%5W9crOfW((Vc@R?+P=wHwtt8{KWn49 z=)b)lNWZij%lyZlAM%+)|ILj+`la1i=0EoQG#jg5>=E33kn~HtvCMz$`Ek0WesN^x z{FC%cyRpoF?D_e1xc{6Q|FQKK+kUbAC$|5_j-S}^8#{l*&R?Zh?BTF(RaWtb!u3ZLf50B+d8}cv&oNru!B}>F%{T?mt*JL!+`(9OeqF^Ma1MZT zHpX9!7I!dK@rSANh^h5M?EayOKj^;g|M>pNw)g@3AFtvMx%VqAKH|>%upQZoJ5=!p zcWzh3A8xJU4^{jD>op&Tu(*S^3L`@gn-bMx9fejP)8s;9k3FY>l$UAil;-Z%BM8-u>9^__K~2Hz>UjPoxpaxiY#F3R%$6We~V{U^5nRe~~24!zlT*Z96H-<_h)$ajWlH gXKKCoR*n5ESlvko&DdWk2_3)OxckVxN=&rq6OjI)_X_a9s zX_t*LOWlew@o{6SXo#=O@BwT$uo)NR znSLC9zw)HN(w|7XCG_h%MW3X9Ym1&desztsTSA|6%;S*UKe^A7^5lTDlgY2qw%arQ z4f=Nt#_LFba2!h58#Ug0>F-Woj@w!CJ46cck6U z!(yMba@bMgINAQRUA%AVR{H(d&h`8KDPvY$P$Cnapj>I?qx7dZo>d9@*2O-EJ7uyA z-N)cB<)g-o{SDhn$f?J6(I4tx$@dS(`3quyJ>sk38AD9D67AXkslM&s*e=B4)9}w~ z&-8tmuW!TOj%;tNlU2adltw zjJ}J$K(5RgpN*&SMT~9QS{tx^E&Bd`%!gx&xG8PJcpW*e2KuHm=s&6#REFLyW~xt~`~e4_|dwJLF2_MXo;cJf22;Jmkr|qg;vhTzwl4SGjnw#MqZ)euNmyRYm%+{hat) z*;x>MCFHsGEAK@=zlp!^d)Ch3`~$fX?U(8sGs}3k@pP#@Q{6B9BGXwM>yRh=*;*J0mFusv44bs8g#A(ddt>osjLp}^*Cem%pY?3w9GgsHypHLM$X9GD>mNej zkk85#ev03NcE|efMPJ#x0=|MBCGvjMc&6y@^v`acIpA5n2>G87KaRCma6II%vfL6q zCDy4?$G84kaXw|@k$Ka;fE;k-yfK!Plvm+1W#w-8<6nq*N6PKb(&nG6*FHZ-^?#QB zss9$fUX4E-K*?*g64z_T2=QiKLVp}fr?KyO?BmFO(sxRp&v;xVj+<+rdCa_xraT*4 zB%hVF593&vM`h&}>|eq@j=WZ^d<8Pc5$i+Nev)0!OUT1Aa=!F)&q^8FkSoz%s2{Bp z{Q;j6{YbekU%$okD$WJ%86|vutE@LdE6=qb%|Q2KGJi^53sA0vJXgQ^7L5BW;tPMu z${}n+u7o^Szqu^^PUn@<|K_r?xc?38#(p;zJlSu`l|}up!*|U)us?h@AY#|bm3QR# zKSiuootyGVUl>7R8_4 z5B;Y;$3e2+lq-w+-=*)CaQ=X=l)OfyTnTyZ_`6p~zq?oq*ng7!rd(On|MEQgiutch zcyit;R~F5Gyix4NKlP+t%9Ta-8%E}@v7nTBWBhUcTzl^LBiyPdZP;6z;iK?9<;r%x z|F~AA7%T5Tm8}WnALL5NbL}@C#<*|9Tuo+(bDNbbZ!FfYd_(k=(N@t{LSAS;`m5+G z<1dK567pPqUQcoU+cTb=cgmGT^PheXe%^rn-<9Fh@FnHS4f*zK6Eg3$MWwOxUYk%_ zd2auWiU;-2Stj_eRuL zHa3c$67pPqu9M7ruAfTg9p%cR{3~Itsox1*?5}L#VuW%f93N?#cTW%9Uu( z)vx0koq1D##*=wNxw0sKxF6?@`U7I#tXx?ze@Rc`*3K2;m}J~it}KdQ&Qtw@%$t(; zQj{wp&mDi|9^}eq>HC1c#MmiUZZ6j6y`~+zW8+HESE4=F{+OHpaX0^5hdJ+De}%>Q z!*!ndU+Q_%ZeL!mN+N=~Q@As6s;T`NM$P#MZ!KUqNvl_5O8o&W!>4ApSSgsRJg zdt>i&yl-D~4j;#C>Gxl{;K?_)`BUNzZh6z!k#c?0+Y-;(>>K3DfxaBKeJ$DVzl?g( z8hk+@q`jed8+v{x`-|SI*NL9;#wk?!_>N-xuU^;hzp~u# z3;pp#pYl9?V=l9L*?v=>a;4V~6}$heTDgLX-MULEb_b6hK6?BF-a&QQ5WeR+k7Z#S z?jjsR)einRfEDclp;qgZTCG!RwN4qTb~tr}s$KY=>lCWB7m-7#!iDd-;DaUn@x7$* zJy-UsO{*j)c{Lio=fWMvi+E#Z(o?_VQtEeHO8t&Yso!xa!}nawJN$h9h3~oWotS>t zh4VNE)NDg)jJ=l2N8qW8f=)h<-+2GzQDsM_(#yMD)|3{|`Q z^G~SSg{mFC*9uj;P_-L;*QM1uWvJTaub-i6=c{%6u8h??{fzX4yO!Yu#* literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_ebufn_2/netlist/sg13g2_ebufn_2.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_ebufn_2/netlist/sg13g2_ebufn_2.cdl new file mode 100644 index 00000000..5ea95b04 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_ebufn_2/netlist/sg13g2_ebufn_2.cdl @@ -0,0 +1,61 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_ebufn_2 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_ebufn_2 A TE_B VDD VSS Z +*.PININFO A:I TE_B:I Z:O VDD:B VSS:B +MN3 net4 net3 VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MN2 Z net1 net4 VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MN1 net3 TE_B VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN0 net1 A VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MP3 net2 TE_B VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MP2 Z net1 net2 VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MP1 net3 TE_B VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP0 net1 A VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_ebufn_2_iso A TE_B VDD VSS Z +*.PININFO A:I TE_B:I Z:O VDD:B VSS:B +MN3 net4 net3 VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MN2 Z net1 net4 VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MN1 net3 TE_B VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN0 net1 A VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MP3 net2 TE_B VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MP2 Z net1 net2 VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MP1 net3 TE_B VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP0 net1 A VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_ebufn_2_digisub A TE_B VDD VSS Z +*.PININFO A:I TE_B:I Z:O VDD:B VSS:B +MN3 net4 net3 VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MN2 Z net1 net4 VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MN1 net3 TE_B VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN0 net1 A VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MP3 net2 TE_B VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MP2 Z net1 net2 VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MP1 net3 TE_B VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP0 net1 A VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_ebufn_4/layout/sg13g2_ebufn_4.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_ebufn_4/layout/sg13g2_ebufn_4.gds new file mode 100644 index 0000000000000000000000000000000000000000..750ffeb278bbda163a18f517b0b75f43d9e55ae3 GIT binary patch literal 26892 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 bo;p=_lx!zuSC#CfZ*MQImi?$Yo$CJpIr7%L literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_ebufn_8/netlist/sg13g2_ebufn_8.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_ebufn_8/netlist/sg13g2_ebufn_8.cdl new file mode 100644 index 00000000..8a678d5e --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_ebufn_8/netlist/sg13g2_ebufn_8.cdl @@ -0,0 +1,61 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_ebufn_8 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_ebufn_8 A TE_B VDD VSS Z +*.PININFO A:I TE_B:I Z:O VDD:B VSS:B +MN3 net23 net22 VSS VSS sg13_lv_nmos m=8 w=740.00n l=130.00n ng=1 +MN2 Z net21 net23 VSS sg13_lv_nmos m=8 w=740.00n l=130.00n ng=1 +MN1 net22 TE_B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN0 net21 A VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MP3 net24 TE_B VDD VDD sg13_lv_pmos m=8 w=1.12u l=130.00n ng=1 +MP2 Z net21 net24 VDD sg13_lv_pmos m=8 w=1.12u l=130.00n ng=1 +MP1 net22 TE_B VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP0 net21 A VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_ebufn_8_iso A TE_B VDD VSS Z +*.PININFO A:I TE_B:I Z:O VDD:B VSS:B +MN3 net23 net22 VSS VSS sg13_lv_nmos m=8 w=740.00n l=130.00n ng=1 +MN2 Z net21 net23 VSS sg13_lv_nmos m=8 w=740.00n l=130.00n ng=1 +MN1 net22 TE_B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN0 net21 A VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MP3 net24 TE_B VDD VDD sg13_lv_pmos m=8 w=1.12u l=130.00n ng=1 +MP2 Z net21 net24 VDD sg13_lv_pmos m=8 w=1.12u l=130.00n ng=1 +MP1 net22 TE_B VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP0 net21 A VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_ebufn_8_digisub A TE_B VDD VSS Z +*.PININFO A:I TE_B:I Z:O VDD:B VSS:B +MN3 net23 net22 VSS VSS sg13_lv_nmos m=8 w=740.00n l=130.00n ng=1 +MN2 Z net21 net23 VSS sg13_lv_nmos m=8 w=740.00n l=130.00n ng=1 +MN1 net22 TE_B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN0 net21 A VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MP3 net24 TE_B VDD VDD sg13_lv_pmos m=8 w=1.12u l=130.00n ng=1 +MP2 Z net21 net24 VDD sg13_lv_pmos m=8 w=1.12u l=130.00n ng=1 +MP1 net22 TE_B VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP0 net21 A VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_einvn_2/layout/sg13g2_einvn_2.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_einvn_2/layout/sg13g2_einvn_2.gds new file mode 100644 index 0000000000000000000000000000000000000000..76af37e68cf76843d7e2b6e681af6fb4bd849e2a GIT binary patch literal 17532 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�S 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 literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_fill_2/layout/sg13g2_fill_2.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_fill_2/layout/sg13g2_fill_2.gds new file mode 100644 index 0000000000000000000000000000000000000000..e7d9fb80059a8a759ba3de6ca1add4216763c70a GIT binary patch literal 4968 zcmeHLziSg=7=G`PT%)Ad7)qrzU=fFcrD`gOQc9Fe>L64^x`dWsNePW4c5sod{sSVo zWDr~(9HgK)6mfENa&RmzItoS3=l$M${q7EulDK5JgXTG&yXSk~@5epw_mwk1XvFP$Hz)%>h?e{F3P z{ZFj-17dxx7V0Nxpp(xeoV?!bwxP`b%Q|&)%!yR9-v7B_>gFNpym^ zU*Yx?xxLtY#&!os3;Z7IgW%64(J3mA_M+7_p(iS>vfjiA`yu^NzO*_>&vEfrRh@H#Qa}oBX*wd%yB8-DM yAHgbd&N7!l!}oCxJWJ0-!~S1n?9N4DC0()SMX6*`xsnyhRywU{V^9&YS^5iJ20P&Z literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_fill_4/layout/sg13g2_fill_4.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_fill_4/layout/sg13g2_fill_4.gds new file mode 100644 index 0000000000000000000000000000000000000000..a2b68de9bdab5765fd16d591338d8acbae352e3b GIT binary patch literal 4968 zcmeH~v1=4T6vn^X+nqbZ=5ih(k{B?EMZgd>35XKHDOah55Rs7Pl5luj2qq+^u#vR> z12#6-*;rUu1VJka+E@yLMaq=+LDu)??aS;f+(N9P?85R}-pn`O%R){NO{-dPZulov6+EbGDC*6Em z+IaH)rS!ny5$hd?x-2IDt_8Oz^%dt&V}GFg0qGBvq1lqad;dYt{_#A&(caVil>?t-{z{4`=l{{_eK&tu1^s?M$L}Gg#);;thZm?# zna$O^o4Ze2lu~bRZIdPEwUF8=FVeb3JdDCzDA3>0j1@>1UJUB9_L@V;`&IlwK3`ED zHIEyOztO+7vts??VyrJAGn0>`GI_JJvq{Rb%sS8JC)JELq%K)3&*phH=idNlbiB9^!vK#lp3e;lGQDx2Wktfw?6SYWIYy>%4p5scVKjT$&EL}xgopxtucP+1^`X$kGuFET_tDt&5(({lqKNt06p8Q literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_fill_8/layout/sg13g2_fill_8.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_fill_8/layout/sg13g2_fill_8.gds new file mode 100644 index 0000000000000000000000000000000000000000..9941096a8e72cfd3ae028d65ab142e1c13f09b8e GIT binary patch literal 6504 zcmeI0ziU%b6vt0qUv6WXyri*IS_>BGP_R^O1%FUVl;WTcLW@Y3{-9VQ#Y$@j7s={B z;Np_aRnS2MC4-1Aj^f~u!J%XKBJq6hc_%lC7)e z6RdBML*EhSW@-C9dZPS3^p1rZ#2l+xp#OJ$fcdxj|3Ux9^G|iG{}a#Q8BxR=tPBlb zb6m;s_W5_}d1y2(>sJ<*Imk`PagUzoe;;}!3wb`aS=xBJK63NtzPJ3nH&}n&F)B)2 z$^9NZkG%!GlAT|RUTEX(`n2=svDl|CvVY3#dx19e@WCgu4L_PqM)j@ zagUz8A3^U}7!tjb`+Mq5S$s`HDZZwx^!sBR{P7(q;fuJ^=bt6<&DNCSn`K}h;{KlV z$2jPgyhOd-y7%*o7dP1cs zv%Pk0d+)&pr_?JCcX*qT*K*v?d6Dzla6ltuPNewjFrz8fRWkzP5WOGzAt!jXOZ4>wvD0#R2)ktSH z=4_-{T&Y=HnPl^hY?x&8RyECk$g(`el58&ffUJ(Ec#_R!AL4A^vl>dWIX{2nrdeF6 zai%w$$9Zu)eoNRu);|7?U!Z52&BIAYyltT=@wSEPL8Wp=Ny@oSQc20VSaL36-^-G75vgQwK7vXnITw+A zh|f*hGe^g{Tyid==OIciE%;pMe>xY5E2%km-YS)hR4&~WiK}$9qB#N;K^W36le7pO literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_inv_1/layout/sg13g2_inv_1.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_inv_1/layout/sg13g2_inv_1.gds new file mode 100644 index 0000000000000000000000000000000000000000..80e89cb56c910a27531888749ce4592e09f3ac21 GIT binary patch literal 9702 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 gg}souFS9lLjh1U0&6w*2eveQQ~&?~ literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_inv_4/netlist/sg13g2_inv_4.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_inv_4/netlist/sg13g2_inv_4.cdl new file mode 100644 index 00000000..4d26a1f4 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_inv_4/netlist/sg13g2_inv_4.cdl @@ -0,0 +1,43 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_inv_4 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_inv_4 A VDD VSS Y +*.PININFO A:I Y:O VDD:B VSS:B +MP0 Y A VDD VDD sg13_lv_pmos m=4 w=1.12u l=130.00n ng=1 +MN0 Y A VSS VSS sg13_lv_nmos m=4 w=740.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_inv_4_iso A VDD VSS Y +*.PININFO A:I Y:O VDD:B VSS:B +MP0 Y A VDD VDD sg13_lv_pmos m=4 w=1.12u l=130.00n ng=1 +MN0 Y A VSS VSS sg13_lv_nmos m=4 w=740.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_inv_4_digisub A VDD VSS Y +*.PININFO A:I Y:O VDD:B VSS:B +MP0 Y A VDD VDD sg13_lv_pmos m=4 w=1.12u l=130.00n ng=1 +MN0 Y A VSS VSS sg13_lv_nmos m=4 w=740.00n l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_inv_8/layout/sg13g2_inv_8.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_inv_8/layout/sg13g2_inv_8.gds new file mode 100644 index 0000000000000000000000000000000000000000..7eaec21c148b2459db4f48b84d3a02ef4564ddc3 GIT binary patch literal 24342 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 AEdT%j literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_inv_8/netlist/sg13g2_inv_8.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_inv_8/netlist/sg13g2_inv_8.cdl new file mode 100644 index 00000000..fa7f447e --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_inv_8/netlist/sg13g2_inv_8.cdl @@ -0,0 +1,43 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_inv_8 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_inv_8 A VDD VSS Y +*.PININFO A:I Y:O VDD:B VSS:B +MX1 Y A VSS VSS sg13_lv_nmos m=8 w=740.00n l=130.00n ng=1 +MX0 Y A VDD VDD sg13_lv_pmos m=8 w=1.12u l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_inv_8_iso A VDD VSS Y +*.PININFO A:I Y:O VDD:B VSS:B +MX1 Y A VSS VSS sg13_lv_nmos m=8 w=740.00n l=130.00n ng=1 +MX0 Y A VDD VDD sg13_lv_pmos m=8 w=1.12u l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_inv_8_digisub A VDD VSS Y +*.PININFO A:I Y:O VDD:B VSS:B +MX1 Y A VSS VSS sg13_lv_nmos m=8 w=740.00n l=130.00n ng=1 +MX0 Y A VDD VDD sg13_lv_pmos m=8 w=1.12u l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_lgcp_1/layout/sg13g2_lgcp_1.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_lgcp_1/layout/sg13g2_lgcp_1.gds new file mode 100644 index 0000000000000000000000000000000000000000..8458b07e7be96410a7f29afa5fa1485c5380f7ae GIT binary patch literal 28184 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 Fe*@q%?WO<# literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_mux2_1/netlist/sg13g2_mux2_1.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_mux2_1/netlist/sg13g2_mux2_1.cdl new file mode 100644 index 00000000..2bfe2c88 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_mux2_1/netlist/sg13g2_mux2_1.cdl @@ -0,0 +1,73 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_mux2_1 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_mux2_1 A0 A1 S VDD VSS X +*.PININFO A0:I A1:I S:I X:O VDD:B VSS:B +MP0 net4 S VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP4 X net6 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP3 net6 A1 net5 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP5 Sb S VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP2 net5 Sb VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP1 net6 A0 net4 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MN4 net3 S VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN1 net1 Sb VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN6 X net6 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN5 Sb S VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MN2 net6 A1 net3 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN0 net6 A0 net1 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_mux2_1_iso A0 A1 S VDD VSS X +*.PININFO A0:I A1:I S:I X:O VDD:B VSS:B +MP0 net4 S VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP4 X net6 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP3 net6 A1 net5 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP5 Sb S VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP2 net5 Sb VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP1 net6 A0 net4 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MN4 net3 S VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN1 net1 Sb VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN6 X net6 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN5 Sb S VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MN2 net6 A1 net3 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN0 net6 A0 net1 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_mux2_1_digisub A0 A1 S VDD VSS X +*.PININFO A0:I A1:I S:I X:O VDD:B VSS:B +MP0 net4 S VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP4 X net6 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP3 net6 A1 net5 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP5 Sb S VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP2 net5 Sb VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP1 net6 A0 net4 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MN4 net3 S VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN1 net1 Sb VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN6 X net6 VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN5 Sb S VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MN2 net6 A1 net3 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN0 net6 A0 net1 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_mux2_2/layout/sg13g2_mux2_2.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_mux2_2/layout/sg13g2_mux2_2.gds new file mode 100644 index 0000000000000000000000000000000000000000..85ea9e5259dae9bb5277bf3d95e330d072050b68 GIT binary patch literal 23616 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 literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_mux2_2/netlist/sg13g2_mux2_2.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_mux2_2/netlist/sg13g2_mux2_2.cdl new file mode 100644 index 00000000..b281c240 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_mux2_2/netlist/sg13g2_mux2_2.cdl @@ -0,0 +1,73 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_mux2_2 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_mux2_2 A0 A1 S VDD VSS X +*.PININFO A0:I A1:I S:I X:O VDD:B VSS:B +MP0 net4 S VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP4 X net6 VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MP3 net6 A1 net5 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP5 Sb S VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP2 net5 Sb VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP1 net6 A0 net4 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MN4 net3 S VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN1 net1 Sb VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN6 X net6 VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MN5 Sb S VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MN2 net6 A1 net3 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN0 net6 A0 net1 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_mux2_2_iso A0 A1 S VDD VSS X +*.PININFO A0:I A1:I S:I X:O VDD:B VSS:B +MP0 net4 S VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP4 X net6 VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MP3 net6 A1 net5 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP5 Sb S VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP2 net5 Sb VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP1 net6 A0 net4 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MN4 net3 S VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN1 net1 Sb VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN6 X net6 VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MN5 Sb S VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MN2 net6 A1 net3 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN0 net6 A0 net1 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_mux2_2_digisub A0 A1 S VDD VSS X +*.PININFO A0:I A1:I S:I X:O VDD:B VSS:B +MP0 net4 S VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP4 X net6 VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MP3 net6 A1 net5 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP5 Sb S VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP2 net5 Sb VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP1 net6 A0 net4 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MN4 net3 S VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN1 net1 Sb VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN6 X net6 VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MN5 Sb S VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MN2 net6 A1 net3 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN0 net6 A0 net1 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_mux4_1/layout/sg13g2_mux4_1.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_mux4_1/layout/sg13g2_mux4_1.gds new file mode 100644 index 0000000000000000000000000000000000000000..81d93d7f83cfe153950d46cf940db9de8542db1e GIT binary patch literal 36654 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 I|6}?o&W#< literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_mux4_1/netlist/sg13g2_mux4_1.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_mux4_1/netlist/sg13g2_mux4_1.cdl new file mode 100644 index 00000000..4fce33bf --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_mux4_1/netlist/sg13g2_mux4_1.cdl @@ -0,0 +1,115 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_mux4_1 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_mux4_1 A0 A1 A2 A3 S0 S1 VDD VSS X +*.PININFO A0:I A1:I A2:I A3:I S0:I S1:I X:O VDD:B VSS:B +MN12 X Xb VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN18 low S0b net7 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN17 net7 A0 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN19 low S1b Xb VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN10 high S1 Xb VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN9 net4 A3 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN8 high S0 net4 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN14 net6 A2 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN13 high S0b net6 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN16 net2 A1 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN15 low S0 net2 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN1 S1b S1 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN0 S0b S0 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MP19 low S1 Xb VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP11 high S1b Xb VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP10 X Xb VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP9 high S0b net3 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP8 net3 A3 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP14 high S0 net5 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP13 net5 A2 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP18 net8 A0 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP17 low S0 net8 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP1 S1b S1 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP0 S0b S0 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP16 low S0b net1 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP15 net1 A1 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_mux4_1_iso A0 A1 A2 A3 S0 S1 VDD VSS X +*.PININFO A0:I A1:I A2:I A3:I S0:I S1:I X:O VDD:B VSS:B +MN12 X Xb VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN18 low S0b net7 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN17 net7 A0 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN19 low S1b Xb VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN10 high S1 Xb VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN9 net4 A3 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN8 high S0 net4 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN14 net6 A2 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN13 high S0b net6 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN16 net2 A1 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN15 low S0 net2 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN1 S1b S1 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN0 S0b S0 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MP19 low S1 Xb VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP11 high S1b Xb VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP10 X Xb VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP9 high S0b net3 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP8 net3 A3 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP14 high S0 net5 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP13 net5 A2 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP18 net8 A0 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP17 low S0 net8 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP1 S1b S1 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP0 S0b S0 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP16 low S0b net1 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP15 net1 A1 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_mux4_1_digisub A0 A1 A2 A3 S0 S1 VDD VSS X +*.PININFO A0:I A1:I A2:I A3:I S0:I S1:I X:O VDD:B VSS:B +MN12 X Xb VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN18 low S0b net7 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN17 net7 A0 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN19 low S1b Xb VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN10 high S1 Xb VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN9 net4 A3 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN8 high S0 net4 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN14 net6 A2 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN13 high S0b net6 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN16 net2 A1 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN15 low S0 net2 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN1 S1b S1 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN0 S0b S0 VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MP19 low S1 Xb VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP11 high S1b Xb VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP10 X Xb VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP9 high S0b net3 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP8 net3 A3 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP14 high S0 net5 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP13 net5 A2 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP18 net8 A0 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP17 low S0 net8 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP1 S1b S1 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP0 S0b S0 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP16 low S0b net1 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP15 net1 A1 VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand2_1/layout/sg13g2_nand2_1.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand2_1/layout/sg13g2_nand2_1.gds new file mode 100644 index 0000000000000000000000000000000000000000..b90666fcec087f968929431a4bbfae8f69da8b3a GIT binary patch literal 12198 zcmeI2L1-LR7{|YvotbQPv)P7FO$``AkrqR3Q$>^z(vnlHQfQP~qG?JXq=Y0S7V%O7 zf*=a&K@S$n;>BwZ9z-aDm4bTnpcj>#q=*MS=%vc~|G#g(yxk--v{}5pf#tV+Z~pK5 z-g`4|=6i1>lQ=#vLs8swM^dTDJ{ggL_Wx3gv!%sLYjbOFhzwNHiIZw){}}S{Ule_A4z{n|&fOI0x$RkRsNIP2_IS7Haqb!FjUw`y>Xpvku8+Kb#QZw?>IKC5 zqh~s%b|cD*^`j!y8e*UJtSvzgyAkDudPFPrqlkaQv+n|}B1V*#=+VB*)EgoE$jNg$ zd%ONo-+q)e5c>~^ebuvZTJ1)Zx9h7;9}C70d>zW;cSP(z zB zVc)5jF8eRncj14D(EGhHmT)g6?0KK?#c3aO3O)>NBMcA)eG*{{xj-d z$6t70yrXwKlb=!ldl;LXEN6U5(-mAF`TUvQQa#6)^^i8MMvi}FM#rB_4&nEuCu3ke zM%2^Zp3L7*+F$k8z)jrGIr|3GZiKx=kM`W4-iY>|RlU;L3-!rG^~?F2{z>|!-B{*7 zx`}g-psla8@f(Z_?ZzX;@h5+(F8!d5&^f!YM9(=l{T09OJ+rs)A9f?k3)>&Pk8}S* z{Kq`A4-r4?MwA!oE2|<8!e7$xtUZS719l_IOZEGHSH1CpcU5nMy;NW2H3VKh9&nQNKm>8};lz$CCa_mo@IJ?#Z}mH1Yev63P z*^MRf$9xaCfw3AkVgfje{@5`7zw<{nsebo5fAKkE^QO_}O=H>oB~8`y`9nQP9qq<4 zeYgF`ex~2buqXY}ZY=YkT-5$c#VBt4IDc~-^YX&$r`z^RQ~gHyII{ofm-Q-Ld7=Mq z4|#L(dlT|A=G`H0*1U=NFY_hl-Nv%KiRUq23VCzLn?v60-u+y@$>$LB zPO>cT>^5%`BiT~rQ&&c{Z@}rJ@vAc(P9`&u(zsFQ(G&|~Rf1YpCi}X)W@BHNL(DsZVfc-_3IvQ*z3ps%%>HtVy}OdL!4WXg9*% z{*JywzqM9@wJW#hZ+ra4u-9MMe__o+zcGj=J?$F@WBHm-ShK*ZqdRP^!f1BzUe+we e^EC@RS9Q%m*9f-f{(eot)(%4M-9_%5B=R4YXZzLw literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand2_1/netlist/sg13g2_nand2_1.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand2_1/netlist/sg13g2_nand2_1.cdl new file mode 100644 index 00000000..94137096 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand2_1/netlist/sg13g2_nand2_1.cdl @@ -0,0 +1,49 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_nand2_1 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_nand2_1 A B VDD VSS Y +*.PININFO A:I B:I Y:O VDD:B VSS:B +MP1 Y B VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MP0 Y A VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MN1 net1 B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN0 Y A net1 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_nand2_1_iso A B VDD VSS Y +*.PININFO A:I B:I Y:O VDD:B VSS:B +MP1 Y B VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MP0 Y A VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MN1 net1 B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN0 Y A net1 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_nand2_1_digisub A B VDD VSS Y +*.PININFO A:I B:I Y:O VDD:B VSS:B +MP1 Y B VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MP0 Y A VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MN1 net1 B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN0 Y A net1 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand2_2/layout/sg13g2_nand2_2.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand2_2/layout/sg13g2_nand2_2.gds new file mode 100644 index 0000000000000000000000000000000000000000..b258553b7717b1255acc22d7dff4c40b78cb973e GIT binary patch literal 15270 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 literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand2b_1/netlist/sg13g2_nand2b_1.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand2b_1/netlist/sg13g2_nand2b_1.cdl new file mode 100644 index 00000000..8ac4e864 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand2b_1/netlist/sg13g2_nand2b_1.cdl @@ -0,0 +1,55 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_nand2b_1 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_nand2b_1 A_N B VDD VSS Y +*.PININFO A_N:I B:I Y:O VDD:B VSS:B +MX0 Y a_27_112_ VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX1 a_27_112_ A_N VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX3 Y B VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX2 Y a_27_112_ net1 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX4 a_27_112_ A_N VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX5 net1 B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_nand2b_1_iso A_N B VDD VSS Y +*.PININFO A_N:I B:I Y:O VDD:B VSS:B +MX0 Y a_27_112_ VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX1 a_27_112_ A_N VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX3 Y B VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX2 Y a_27_112_ net1 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX4 a_27_112_ A_N VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX5 net1 B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_nand2b_1_digisub A_N B VDD VSS Y +*.PININFO A_N:I B:I Y:O VDD:B VSS:B +MX0 Y a_27_112_ VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX1 a_27_112_ A_N VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX3 Y B VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX2 Y a_27_112_ net1 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX4 a_27_112_ A_N VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX5 net1 B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand2b_2/layout/sg13g2_nand2b_2.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand2b_2/layout/sg13g2_nand2b_2.gds new file mode 100644 index 0000000000000000000000000000000000000000..b731a8186ae911267e43e5481f0197dad2b63325 GIT binary patch literal 17298 zcmeI3TZkQ18in_%Q>RXy(Gu6TC#l3lfhZ2;&Wj@iIY3cMQfz=twdO zf@tG?#t1>2LG+~=L|^hC5=8{1@eaW$iPUqBSOkRdz zH#A@Tcdhzs|9jW2s?}SUxg@#Wt!^akFI~&^T*sZ^R#gA(dP%l>*Y>?rdmnIaMYFZx z>OWt4-QichxqQ=`=g+>lb&Ffws@JZ_vVA)*ylCh8ZPQcJJJxUCw%)lkcP?9&AX_$? zIOq0{H=WBjJGX4Yx%MZX?VEAn7Q{-jz4fWJlkGp?WG{PWzq59+@wDkh#(92`apo0q z{`90{uWvW6FS#GuwcsYt9y-!^*Ex~xjccu)Z2e&EVseS;MaFqv5&B{Ii~96#w|yt%Nj@D_fr zcW&$&5hHtuaj}S3`?o}oyz|t1j*gpNM0-`=@cEGgKcnYCU*Q<~#vc*w0X=fvL%j&$ z-wJujB3`Rcq0M`!{TrUW-Iz>>i)at(ldGUVh&fTRh0ahfB3`R^)6jk8T=RKP>KGT% z9@O*tsTW6Z?@=!#9FC+}azMYJEQcdl5UmSNn|SCMPRGx-nh_h)g=l59^OwRW=c9dbSCnU3Jv zA47Y|WI1Yq^NP?9%YS0yS6)BsR@4bK7dw}s?|(rbN-~~3VeKUA-Nkc2Y+`4LO<;Ki~4cgIbYh(c{XoDz5~#gWP1a7#q=ot{Rrw+a>#tM^<<6BE3^;G{~+go z>mB6A^P%~HX9v3GW9Wa$kv_&^27M}-PoVuw^uHvpgY9DT-*!GRyU_B8$T#eIit#*w z`FN21VLf%HdWwvv4_P~z-+=4I@gmzfKSi!fou_PlA{p;t{6y+Fe?`WZ z+~3vyXMR0{ZVu0rKjC-Mb8LmhMYPxIdxvptM{xXIp56VpKEy?|2lXSU4fSGgt?5O? zYxN`ZSnrDUKt%0t!nx+fB3`TKbtbs?m|tw3YxzaQYxT^-`t@c!SvSVTQ2n@WrmJxL z-4)_pqKJ#D>hmv~vwn|Giq>zAE9+3U*Is|Ip8wtQ=OsHEEx(9(P~Z99^di?Lo>xRX zsOPw||02hodNDNqT|N&n{@q#8`rQTC|FXS4KMv#gb!R;}Zq$pR@#|cVwewD!`(hjG z0^=g$wfXZo%)94s{G?~|V%*D!i)at(n_rt=OrJ5mhcvp~v%b|mn-{I_Szj#T_4#oe>&|Zyk#(nD4Ann9f@3lN zTl+mZ?->_E^FPHJ$91>0)syQk<6>z2O<%`x|AhV)Pd-x_7tvnZf4(c`cRdgv~h1a(Z)TU6vN}s<2ddu94>O)85cw2 zpS*@+&q3`sSNIXel5z2z`u_7cdK1(y@>|pA;^wfvJ8gP#WYqK`;^!^LSrmT0{QRKSAxVU8fdAoT3PR$QMrp2Gp_mLC-B`!8#D*Qfi54q** zvOQB9_uMzV119Aa_wGds`glFG!)JugaB|{Sy6m?NdXB3a(DzPl^)D)ZE_OYBuQXo3 z!7sRcWp?$p8;?UjvJQ29-(@SaKOTp=`Ek)ZWWROOrsL2zelBW4{mn2-e|7KkH_-bp zc=a1gb=w7f-BXV7b+_%>w+GtXY977aAF$TlkLO3p=?X~*C3z))l`z1V6OBNm_ zzr}as`3^>JcS!xBw;R3P3A|f9VfP>3`*Gj#t&Z`XUe(c8s09(+xCx?=Qp2i^w<{>|I#L-7#)Ta4ar^?P{W{{3I@ zc60L?C(1n=JLuv5=5uUNUB9q!^lVS=3FME+y@2$RMa4(YGo2CtzLMt?dA@=5Y+&!( z(X)9R^$QC>;qMjHiHhTV)p{<`JGXoT^+letAJ!kmmv0E^nGe6KMSnii7uQph-?@|i zRkT;Gn|j7YuaBPkfBP4OU+t-{KGsv;v1{k9efQx{;L%sd-Z<{PmY*(0U)}ul=&Qq9 zI*9p!#Xats#`nnM_{Fm*?wKBVZra}k;-2ZaXL5kH*VixZnZ~_$1m7^&=P7Ehw1{}s z#~GM^(N{M=H}09ncV8cV3BUj5;d39TuwOra=znw1dfYROc~tJ5)?R7x|9#JN>8oGq b|6fS+wav#~>Q8&$TmE+Rhfl~KPE+>_=o>7N literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand2b_2/netlist/sg13g2_nand2b_2.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand2b_2/netlist/sg13g2_nand2b_2.cdl new file mode 100644 index 00000000..f7276c37 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand2b_2/netlist/sg13g2_nand2b_2.cdl @@ -0,0 +1,55 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_nand2b_2 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_nand2b_2 A_N B VDD VSS Y +*.PININFO A_N:I B:I Y:O VDD:B VSS:B +MX0 Y A VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX1 A A_N VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX3 Y B VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX2 Y B net1 VSS sg13_lv_nmos m=2 w=720.00n l=130.00n ng=1 +MX4 A A_N VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX5 net1 A VSS VSS sg13_lv_nmos m=2 w=720.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_nand2b_2_iso A_N B VDD VSS Y +*.PININFO A_N:I B:I Y:O VDD:B VSS:B +MX0 Y A VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX1 A A_N VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX3 Y B VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX2 Y B net1 VSS sg13_lv_nmos m=2 w=720.00n l=130.00n ng=1 +MX4 A A_N VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX5 net1 A VSS VSS sg13_lv_nmos m=2 w=720.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_nand2b_2_digisub A_N B VDD VSS Y +*.PININFO A_N:I B:I Y:O VDD:B VSS:B +MX0 Y A VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX1 A A_N VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX3 Y B VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX2 Y B net1 VSS sg13_lv_nmos m=2 w=720.00n l=130.00n ng=1 +MX4 A A_N VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX5 net1 A VSS VSS sg13_lv_nmos m=2 w=720.00n l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand3_1/layout/sg13g2_nand3_1.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand3_1/layout/sg13g2_nand3_1.gds new file mode 100644 index 0000000000000000000000000000000000000000..dd2a9d4a66c7602fedb2bf42ae6decc5e83e465c GIT binary patch literal 14544 zcmeI2O=w(I6vxlJnRzplPA4(;!`6VIR47`jO$9$Fby|Z;4I;KwTZN`2HjRW<8jI*c zv(SYbH-Zb@%&J`oQfmD`5F%)cI}s@&T|_8af>;qZQe^!9?|EnLn*}|G5%M5IiFTg`jdx%2Jn_Y?3wc-%=04$%&(7rBoFOR|kj{HUbfu>??{?_Tl>w z5-xkLK8EZ4B1Wc{f6{a^yjjzYg%8!=NIUa2!oPHrEQmkC_`#1F2QA^^k(DPz3dcRe zO}GzsBjeD|h;lBL|8va0d>8VWMDQOxS+CLojYqolf@ioL=^r3oM8;u0M%*8dSB=`! z)u;NsNcDAm(Za^^lgJx&G8X?p-g6?x0Og~f5q^v1@9M+*>KEbvr)TY1ly{?uu|AEw z*C9P(^$oqh!&fz4H6rp`EZ$bOAN#?z`+3jGmr?&jM0%os@e}o9`!OHaAK#*Uuva3c z`Ip=9YiRo!E2uy1M%WjN@A{)QijjT=<-P7%oWXC5VV4xZ$i(B{t2eF+)J2$8-D$Sx$Sdp``Q`LMxWY^ z=$m-|&-2HmPS7)9iQ`YWA1?qBfnaWBS5a1`zRjwj#Uv>TD0=wB$o_bGhu@T{N5 z_=Vkw^hAF|lEyZaf7G-05UuF{h)7TINBv%)zY&h_I`@dq9{0b^*B@zpX!px_hOp)^ z_U%=>5%##h?zaMQ>)*`#i^xCo{wDIzyg!NjxsS7bm~sC84)(kC+phZ_sWpYu%5 z1qnBB(pqwKstDnAdhf~L9bjF6eLuV(&fs0bY6>6Ld>_P>C6_&X579qj^xctnMN$={ zb@LUZ!xK{{7pORH7o4j|nDHmktQfOKQ;&?M9vO2L39}Sd&ZZ`%sX&?E@}h64%x`It z5mR|`6{%|$nWsWw7CDEP(~J>sD$M9yMJk;=K8tkuhfQ6@VWrhs4RiHLyD@DQy3#7b za#z6_RHwkGnwbKDoLua`#EQF>M#h`>JQv-)QQQ z5%$FAhdTxC-g6ZR?GUL+rXCq{6)AcAP%X(-B&eOu#x9Gn?yw{L9mq}s`kk>j&A zs%j@`_Qp2#Q{wkd=4WJnUH#dmYTnqw`{>_p|9y}88O@IT;_JD2{v!Rm=EYM8h7dgkZAlAoXa9GJehv!0{Q&w=^#Uv?hM&VL#6b6{Q1UzdWG`Gi1z q4s0uxG7&t#n^*Q6SfoqrjGqtmO4@uS%qwiBq~%J~iYZa0lKcaP?G94_ literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand3_1/netlist/sg13g2_nand3_1.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand3_1/netlist/sg13g2_nand3_1.cdl new file mode 100644 index 00000000..69709bce --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand3_1/netlist/sg13g2_nand3_1.cdl @@ -0,0 +1,55 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_nand3_1 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_nand3_1 A B C VDD VSS Y +*.PININFO A:I B:I C:I Y:O VDD:B VSS:B +MX1 Y A VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX2 Y B VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX6 Y C VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX3 net2 B net3 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX4 net3 C VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX7 Y A net2 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_nand3_1_iso A B C VDD VSS Y +*.PININFO A:I B:I C:I Y:O VDD:B VSS:B +MX1 Y A VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX2 Y B VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX6 Y C VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX3 net2 B net3 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX4 net3 C VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX7 Y A net2 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_nand3_1_digisub A B C VDD VSS Y +*.PININFO A:I B:I C:I Y:O VDD:B VSS:B +MX1 Y A VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX2 Y B VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX6 Y C VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX3 net2 B net3 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX4 net3 C VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX7 Y A net2 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand3b_1/layout/sg13g2_nand3b_1.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nand3b_1/layout/sg13g2_nand3b_1.gds new file mode 100644 index 0000000000000000000000000000000000000000..36d6a4db58b13ed000ea20fd2864ca0c6f14c442 GIT binary patch literal 18156 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 CVjegE literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor2_1/netlist/sg13g2_nor2_1.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor2_1/netlist/sg13g2_nor2_1.cdl new file mode 100644 index 00000000..d6da0c37 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor2_1/netlist/sg13g2_nor2_1.cdl @@ -0,0 +1,49 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_nor2_1 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_nor2_1 A B VDD VSS Y +*.PININFO A:I B:I Y:O VDD:B VSS:B +MX0 Y A VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX3 Y B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX1 net1 A VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX2 Y B net1 VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_nor2_1_iso A B VDD VSS Y +*.PININFO A:I B:I Y:O VDD:B VSS:B +MX0 Y A VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX3 Y B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX1 net1 A VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX2 Y B net1 VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_nor2_1_digisub A B VDD VSS Y +*.PININFO A:I B:I Y:O VDD:B VSS:B +MX0 Y A VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX3 Y B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX1 net1 A VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX2 Y B net1 VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor2_2/layout/sg13g2_nor2_2.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor2_2/layout/sg13g2_nor2_2.gds new file mode 100644 index 0000000000000000000000000000000000000000..cb1f5bbb7f96acecbbb1f237c8687c0f5fc0dbf4 GIT binary patch literal 27126 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 F{{d5Sjluu` literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor2_2/netlist/sg13g2_nor2_2.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor2_2/netlist/sg13g2_nor2_2.cdl new file mode 100644 index 00000000..6d64ac7b --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor2_2/netlist/sg13g2_nor2_2.cdl @@ -0,0 +1,49 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_nor2_2 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_nor2_2 A B VDD VSS Y +*.PININFO A:I B:I Y:O VDD:B VSS:B +MX0 Y A VSS VSS sg13_lv_nmos m=1 w=1.48u l=130.00n ng=2 +MX3 Y B VSS VSS sg13_lv_nmos m=1 w=1.48u l=130.00n ng=2 +MX1 net1 A VDD VDD sg13_lv_pmos m=1 w=2.24u l=130.00n ng=2 +MX2 Y B net1 VDD sg13_lv_pmos m=1 w=2.24u l=130.00n ng=2 +.ENDS + +.SUBCKT sg13g2_nor2_2_iso A B VDD VSS Y +*.PININFO A:I B:I Y:O VDD:B VSS:B +MX0 Y A VSS VSS sg13_lv_nmos m=1 w=1.48u l=130.00n ng=2 +MX3 Y B VSS VSS sg13_lv_nmos m=1 w=1.48u l=130.00n ng=2 +MX1 net1 A VDD VDD sg13_lv_pmos m=1 w=2.24u l=130.00n ng=2 +MX2 Y B net1 VDD sg13_lv_pmos m=1 w=2.24u l=130.00n ng=2 +.ENDS + +.SUBCKT sg13g2_nor2_2_digisub A B VDD VSS Y +*.PININFO A:I B:I Y:O VDD:B VSS:B +MX0 Y A VSS VSS sg13_lv_nmos m=1 w=1.48u l=130.00n ng=2 +MX3 Y B VSS VSS sg13_lv_nmos m=1 w=1.48u l=130.00n ng=2 +MX1 net1 A VDD VDD sg13_lv_pmos m=1 w=2.24u l=130.00n ng=2 +MX2 Y B net1 VDD sg13_lv_pmos m=1 w=2.24u l=130.00n ng=2 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor2b_1/layout/sg13g2_nor2b_1.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor2b_1/layout/sg13g2_nor2b_1.gds new file mode 100644 index 0000000000000000000000000000000000000000..f26fa425dd29b2fac640376cd913cc997114e38d GIT binary patch literal 12156 zcmeI2UuaxK6vofJd+*)NX0wT*R2qveQhc$kHm#^7l(eKGH56$>utiB4iXl>(l3G!b zQV;}Rqz@ukMfO2diWDD2O8tY1hz}L}AcEjS!9Nr&rAS}2n)N#~^X>V|}_;43C zzwDX$X6~GsxqHu?l|;huAz2%Q3S(W`?YGHC{Zf4=Y!c!uvO7XVs&)@yP z=WkxUckJvP%~$qM$l5qxJD4O#XE$x09iBQozc4&AwMn9iNYWRgucRJ|$oN1>B>X_6 zhJtWw%H*0zP)B9Q_zPQ3;;M~~gg&}Ky0;&Xi1am3crIn~vqi|8?iT^#i3= zt91_Vagm-kNO<;LwUfr4uYVQSa#8gu>jTihPNF=k57Pe8hoJ6b&`*;vy`*-$42|8R zM?V`?pR#|yQ45LkZu$}Rf8_=EX&Ci?N?EF5ejml#G2CtIk*J^BUik;C!$Ve2_D

    w|t{-+1_FTPLU+diZ zGDOE1hj|%deXZ-z|C0LO)dO^W>C3FM&+PwoM|@h|zsSSf-@Hz;=UMm^^GSw}U_ATa zW5@VDl>d&mBgajmo!tJS8w}SnXWY=G%0YAJ0zkW<&pjbOPcb3MUz5XS7+!r5Leaik- zR!^clS6_Y$>+(g^zdvPZ3+5Mg66IcfG;Z~6Ubgy(9M9J$x{kj>{nt|V%wxa6PNF=w zf2~*DVD)W&Y4ufdgJ0kKoYj-H+pM01J-`3oP)1x1?^PXHJ?Yt+W zq<{Xkp3c91N0U15YA1d3AD_1Kp6p7g^R9N%H~(5s=Uw$}V&09N^vr)WZO0u8X~!K+ zlm78*Jsmf0Np0%5)lT}xUwRMM9-;nZhOcAnYA2)o`76C`{ib8reWX;ssh#xsPwVNr zRb87{x5iF-*00vnb*p+(*R9$~-}((tSihGVr1g7vg7o`e>#6@sjg;zlwUa*o2NUo! zo;8AN8J@vswUhOH{|D>s*n{&KUWQ)nq-XtUy~-ZcKc69<$&8)cectJrMmvt}0!+p2 zp&XaN^~wB!9rMQyA4JHv^~eHTtZ`Kh<%rwxT)H}xHIm#IXbd+LKwrBl9^GtSTcl>5 zmv*D_MM>5q+gG3tPD1^RRMsRrrqIy8?!EM_86EVKV`D4Oml0W3pVX`0w*qzPdw3+) ztDoGv*XhgRjgnU{jgqJ4j?Qt#Bk$Mp+U%-9k3^r#G zDQCZ_ib#0~x9Q_}I~I{L?ypzOJ~8A86WMkD6p^wyY0!vTpVBqbZu2tysdm!yq*_GE z_6fO&l&v2$;uV|}6_GNY$%{zYM$AQ|oPB=jI4S)#mkBAK>l_2#;A`p412*wX7(z1qoCUz||Lq*i3Os(bvFsuiK~PBA=h0H|pKXoHIHyk58gJyX%Wn3U@l;jk4VD0alQY z?D#!_e(NxAO7=I^if^B$ftF|Ir$b-l^AX`K|2@NUf4Sce6#4u#kFV=Z^ZLx=lU#=+ z)?qh)7WsTUO&0lln+Mh36KFnE$vi&k%ZHl0{Z8nLe7-rQGI@QRPQ|C~DV3q;l&Z+* zXY%;W>+^JiEb{r;`*%l_Zu0iy$l#sFdLyy^jGgqXKa;mF^7-aLjd^_1KE0X0-h940 pr5JIi6!>1Xrv&y?U}?0Uo+9wHpk_}wir)kL&2J%cqU|V>zW~HE07L)) literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor2b_1/netlist/sg13g2_nor2b_1.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor2b_1/netlist/sg13g2_nor2b_1.cdl new file mode 100644 index 00000000..b2ada9e4 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor2b_1/netlist/sg13g2_nor2b_1.cdl @@ -0,0 +1,55 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_nor2b_1 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_nor2b_1 A B_N VDD VSS Y +*.PININFO A:I B_N:I Y:O VDD:B VSS:B +MN0 B B_N VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX0 Y A VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX3 Y B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MP0 B B_N VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX1 net1 B VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX2 Y A net1 VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_nor2b_1_iso A B_N VDD VSS Y +*.PININFO A:I B_N:I Y:O VDD:B VSS:B +MN0 B B_N VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX0 Y A VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX3 Y B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MP0 B B_N VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX1 net1 B VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX2 Y A net1 VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_nor2b_1_digisub A B_N VDD VSS Y +*.PININFO A:I B_N:I Y:O VDD:B VSS:B +MN0 B B_N VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX0 Y A VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX3 Y B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MP0 B B_N VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX1 net1 B VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX2 Y A net1 VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor2b_2/layout/sg13g2_nor2b_2.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor2b_2/layout/sg13g2_nor2b_2.gds new file mode 100644 index 0000000000000000000000000000000000000000..e2be8c6c20fdf98ea202724ea3c807c842ec8ea6 GIT binary patch literal 16236 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 TXDT>e=4=(t(1JNbQ6&EYSPCI? literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor3_1/netlist/sg13g2_nor3_1.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor3_1/netlist/sg13g2_nor3_1.cdl new file mode 100644 index 00000000..a43ce03c --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor3_1/netlist/sg13g2_nor3_1.cdl @@ -0,0 +1,55 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_nor3_1 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_nor3_1 A B C VDD VSS Y +*.PININFO A:I B:I C:I Y:O VDD:B VSS:B +MX3 net1 C Y VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MX0 net2 B net1 VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MX2 VDD A net2 VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MX4 Y A VSS VSS sg13_lv_nmos m=1 w=770.00n l=130.00n ng=1 +MX1 Y B VSS VSS sg13_lv_nmos m=1 w=770.00n l=130.00n ng=1 +MX5 Y C VSS VSS sg13_lv_nmos m=1 w=770.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_nor3_1_iso A B C VDD VSS Y +*.PININFO A:I B:I C:I Y:O VDD:B VSS:B +MX3 net1 C Y VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MX0 net2 B net1 VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MX2 VDD A net2 VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MX4 Y A VSS VSS sg13_lv_nmos m=1 w=770.00n l=130.00n ng=1 +MX1 Y B VSS VSS sg13_lv_nmos m=1 w=770.00n l=130.00n ng=1 +MX5 Y C VSS VSS sg13_lv_nmos m=1 w=770.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_nor3_1_digisub A B C VDD VSS Y +*.PININFO A:I B:I C:I Y:O VDD:B VSS:B +MX3 net1 C Y VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MX0 net2 B net1 VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MX2 VDD A net2 VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MX4 Y A VSS VSS sg13_lv_nmos m=1 w=770.00n l=130.00n ng=1 +MX1 Y B VSS VSS sg13_lv_nmos m=1 w=770.00n l=130.00n ng=1 +MX5 Y C VSS VSS sg13_lv_nmos m=1 w=770.00n l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor3_2/layout/sg13g2_nor3_2.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor3_2/layout/sg13g2_nor3_2.gds new file mode 100644 index 0000000000000000000000000000000000000000..6a66fa1336e40704918429c3c51fdc9ab3833883 GIT binary patch literal 19728 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 literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor3_2/netlist/sg13g2_nor3_2.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor3_2/netlist/sg13g2_nor3_2.cdl new file mode 100644 index 00000000..c4e8658e --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor3_2/netlist/sg13g2_nor3_2.cdl @@ -0,0 +1,55 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_nor3_2 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_nor3_2 A B C VDD VSS Y +*.PININFO A:I B:I C:I Y:O VDD:B VSS:B +MX3 net1 C Y VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX0 net2 B net1 VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX2 VDD A net2 VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX4 Y A VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MX1 Y B VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MX5 Y C VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_nor3_2_iso A B C VDD VSS Y +*.PININFO A:I B:I C:I Y:O VDD:B VSS:B +MX3 net1 C Y VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX0 net2 B net1 VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX2 VDD A net2 VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX4 Y A VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MX1 Y B VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MX5 Y C VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_nor3_2_digisub A B C VDD VSS Y +*.PININFO A:I B:I C:I Y:O VDD:B VSS:B +MX3 net1 C Y VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX0 net2 B net1 VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX2 VDD A net2 VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX4 Y A VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MX1 Y B VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MX5 Y C VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor4_1/layout/sg13g2_nor4_1.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor4_1/layout/sg13g2_nor4_1.gds new file mode 100644 index 0000000000000000000000000000000000000000..57646f86e876310b125da7b4a9a29744719017c6 GIT binary patch literal 16986 zcmeI3TWB3c7{}-A+1;}zJxyZh-GVVxsoHysQVHcWEmUd|q0$@GUMSYo&`4@4ibw^u ziarS{UXX(?eG)1th$ysF1;NXU_|%7@4;BgHi_Vi6*IljOO?~jQQZxI(5l8BR`;mub{F73Z5cyk1E%Usv@`lMri2SDVH$s2m zIP!(B@PicLCw$rXBcWGeuOrJ*J!#TOzHfNQk$#!45cyB#U%xNkf%(N>I?`Xf+4v)w z&UX{iU;L2qN79e33rjqg>92l^$)_GW(qHn7@ki1R+fT^+lMBWVN&n18*x|3+^@oXx ziI4EJMX4Fj36)as(=OEZba^}U@N=Ge$L?OE7a~2auUP+sY~QXyw8d&La*S5tUFM-q zErWZ^b3!~nRerjEQM0#4EXnkPDH$BZnAE19>Pm5Nigs|u6;cJn7 ze@zI_X}P6N&(@zsyPd%JKIT}v8G6`-NYB()H{iWFUdJ69(9V86C$f^C9a) zW_$|s^fEuz*$x~>VC`f4VBQqw>67=+@18*ad&#kJ9KXXZMEcd`xAQYv~sr{_J zvIM^FLj9xv2$>JfwHGNvh^bliTNP88}3nR=)^)JvDE!j`3zs&Zipbv8Vu|0+1*Jw}Jg|KJpqs2xS zqy4ETt3RL&unY6_dOj>NAK3P&LrcG1wj5;jGt>j@!Vdqjn-8Iby!%nG<=8XJ*o8<> zzki1w^VKQpg~;$;qc_y{OnuUC{3fRz>6dn4p8urZ_)Sg=jeqLt-==5!kDJCX*I3pA zNx!rU^ZdtL$MF8~d7;vNsi%LNp6Nf_Yy4t)*8WNQrCpfkKiq5lMoNeb;Fo$sZO`-{ z95;Te{f_iYyD-mx@7e{z%2B^Yzmlhn~J%+uGO$6nxRj2DbsVdF-O zU)Y7PXO^GObuBgeNq%MYUBadL`s5p<7uH9OUI=@pf3`Er&Gr|v+_Vex%FpNO<3=y! zT0pxH_FVtTcB7x*<$zA^lP>%=6EBrjG3=q>grBo<73fySg0X<;|AyM0*?-IK z-^#v!f%1Q%_n)CVPvcGXr~6Z^Ax*S{r8N`rZGn19^(~1<_YI96J$wKmygMHm!xYIl zS_A2b!{MAhCs6ZMJh#G_+=2>pjq9W4YW-QG8am#Ec?GG-{CL~etwr>RhoOAbZ`@cw zU;P$y^JNv!kB17Vx$6WP#QufRfH_cfqKJUo07VW~kGgsL&Z`m_<*)xCH zm;+-oKIUp-tv=>zVs{d275bQK+kT?$J1ZY^O~qOR8+(;ltI)?>)BDl3{!@1SDZBpp zm@D>er!fDY7GnQ~nCW!C^DPjwY-@kU(HN`mYB_S>Lc1_;|MGu`xhB}IA?Dg|?-Cqf zY_)eDu2rs@n7Fjqk$1KD5%P`}&w)a*cP}$KL;OC-{DjP}Z9Z?i({*VvpQCDHfo__JOQ0VeAdR?vz|EQZqI$gi7DL3`B3!UD_ zx~CWC=UDvD#JU%B#<~v-9~?e%bia>x>pQqU-i>d4+V3=X+!4k)xW&i2G30%`8|!f4 zJB4z`*~h#69peEkKI10tOv>GG;gol@?f8pYM#sD1{*E!?GpI|(m;D{%V&|o@=Utu) zd0z8(j7>d6=#D(6G7c`xJFoh9H@^49ec;MPN8T6qcZ_ky@^_5&U0K{cPM`1F;zjVEIz)2bo$miwl%0Ree&6Zi-R1TVW#heNzi;>PZftn$NA4C2#SZ4)F}CsU kLHECNCf;n~%bjs!7mt>>a|8MNJIeojKl@)7w+%z}Hz8c)VE_OC literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor4_1/netlist/sg13g2_nor4_1.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor4_1/netlist/sg13g2_nor4_1.cdl new file mode 100644 index 00000000..c28c9fdb --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor4_1/netlist/sg13g2_nor4_1.cdl @@ -0,0 +1,61 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_nor4_1 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_nor4_1 A B C D VDD VSS Y +*.PININFO A:I B:I C:I D:I Y:O VDD:B VSS:B +MX0 net3 A VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX5 net2 B net3 VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX6 net1 C net2 VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX7 Y D net1 VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX1 Y A VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX2 Y D VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX3 Y B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX4 Y C VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_nor4_1_iso A B C D VDD VSS Y +*.PININFO A:I B:I C:I D:I Y:O VDD:B VSS:B +MX0 net3 A VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX5 net2 B net3 VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX6 net1 C net2 VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX7 Y D net1 VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX1 Y A VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX2 Y D VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX3 Y B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX4 Y C VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_nor4_1_digisub A B C D VDD VSS Y +*.PININFO A:I B:I C:I D:I Y:O VDD:B VSS:B +MX0 net3 A VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX5 net2 B net3 VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX6 net1 C net2 VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX7 Y D net1 VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX1 Y A VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX2 Y D VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX3 Y B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX4 Y C VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor4_2/layout/sg13g2_nor4_2.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor4_2/layout/sg13g2_nor4_2.gds new file mode 100644 index 0000000000000000000000000000000000000000..8ec2c20165a9629ace29eaad2acfe959f5e589ef GIT binary patch literal 25434 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 QP4^{l;jNgr(CLK#0{h8(r~m)} literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor4_2/netlist/sg13g2_nor4_2.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor4_2/netlist/sg13g2_nor4_2.cdl new file mode 100644 index 00000000..f2a0d2de --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_nor4_2/netlist/sg13g2_nor4_2.cdl @@ -0,0 +1,61 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_nor4_2 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_nor4_2 A B C D VDD VSS Y +*.PININFO A:I B:I C:I D:I Y:O VDD:B VSS:B +MX0 net3 A VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX5 net2 B net3 VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX6 net1 C net2 VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX7 Y D net1 VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX1 Y A VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MX2 Y D VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MX3 Y B VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MX4 Y C VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_nor4_2_iso A B C D VDD VSS Y +*.PININFO A:I B:I C:I D:I Y:O VDD:B VSS:B +MX0 net3 A VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX5 net2 B net3 VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX6 net1 C net2 VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX7 Y D net1 VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX1 Y A VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MX2 Y D VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MX3 Y B VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MX4 Y C VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_nor4_2_digisub A B C D VDD VSS Y +*.PININFO A:I B:I C:I D:I Y:O VDD:B VSS:B +MX0 net3 A VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX5 net2 B net3 VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX6 net1 C net2 VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX7 Y D net1 VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +MX1 Y A VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MX2 Y D VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MX3 Y B VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MX4 Y C VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_o21ai_1/layout/sg13g2_o21ai_1.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_o21ai_1/layout/sg13g2_o21ai_1.gds new file mode 100644 index 0000000000000000000000000000000000000000..26e7779c92a6183de98e5c6003bf8a8051ccaebf GIT binary patch literal 14076 zcmeI3O=w+36vxlI@7|mH>dQ+ErIH$LD4`S$)uaniN=a)Lej#FuXg7H+AtfayrD;nA zDWSNrxE8@8S!wC2i!4M?iiE6OxDatsq$??16meVS`Tx({lezabcap}B)jUXk>ACZt zGv9OPys4xTMeoW`E$X=|i8Q4ldu3$G?a?c26X^uk_D!^iTad;n&!e zoA_t_saLYz)GK}UPf>R2dQfI1b+jvedbShm&-PQY-n1)y^=CTzrCv$Dv@3o7Sx&Ya z%fC*vo3SfB?Uzn;I-Q$He@6-5Z{gn)N@K6=Kc;J)r{1w|r`0R*yiy;xt=~kH)^FTa z`u#H<{U=DSq+i;VKL62@^;;iSTEEef((j+?=(j%XNWZizeg0+H`mIeUtzTJI`u#H< z{nsWO>6dn;&p*cr$1TT?lH-^b@V6g z%B*_))Zezc`X2>CXY5Lkp5$luSd9i*g z>#tz^tihHO_Tv00>E()@_sNX{SCJR(%JTd#>A6m3zuNUv+58b&*p;wX`sX-__Mz?= zGs?zgJARa~SL(UWWq;cBPuY7H<%eAfyH`)YX8p{$zHhPq$j9fO`v&XHdMH_L+LgZg zi(q_@AZ=S|`w_oQf9B7t%a3HNXQS=dw+tgbN<6RBv!7Uhv;XB}{b^VF>d$)bzw8X+4m>5^S0W5U9bJFM25GSD?WzC{&4wo{kG>%u4g-IyDPWU{<;1ix8I}p zU#+ibN-&m=dU5O7)Rz~Xr5R5 zN5a+tJAajZC#+lvdr_Yh>z_Q0xr4nU9d+!vk3NN6iRab&-!OO1LHnU&@*VWBEAhNi z&oN5>QRYa$v@3o7%{wym@ouXpsiR%#)&FG68Kdo4Ub6Qi=wVmFURi$byR1J>V(Vl+ zv@3n}ryuI+S4kc1N}pc+&_C0YEH~{+*elDg{lxyGo}`X;WtYC?#t+8kH_+U{`1{ha z)o<-eJTLn1(j)B~)GN{VD^_o5>_z>alK+1A{TX}5703S9pn+Y9=SBUuMjyNN*UlD^ z7WS=1+fnUc`fMbZWneU2IC*s8!u&Lj)GwW7xA9zyp~iFZK}mN-O#4I)$ANTrZ3#=r zlk2B$X$~bvSMofYJUhpG(9fSq|DZW(Pt9GNnty*`(Vr*ur990Uy!YS9Cmq`~AH2Jv zj)Sg_wmcL2X3R%yy>6OXW`pTF$BvcTXlwdwrVpr}oZN=K=T*#u`;rc(?`=bE-ux%2 zK8lz}p?|kj_WH|McZ~YT_@k?9PeJ`AeILnv_lP%2v#UEwGc~)ouyLd%L~1Z9=CHC| za^x<-HyGt+kq+w3Nh7D(eePMkd6U{C(!~>Qh}2+qpT{zJ$DVN02}j>aH$-Z%t6^mg zks8cFzAeV!bCG##q6CyR(|3l#HY{+F0jvs=al<>MZg1A?BxKel`Y>`z=MT z9_(j2>N}mkp0_%s+L2!|a@D0588}S6@sroX)<^9Fhkbhb#m|t^2b^s5wZ{=Gtt5SIYPGkp$OUZ?CIIX3#USqEMJvMr({OMLX-?|R#)vQ z*$}5>M)!D1HZ0#~D79a>&t#)i;XYHi&lK)6*>4;49+T2{pJ&_mF(m&!6HzR^$E4)_ z5=OU_;XYI8t+*8BGyC7Z{9B@&dXGuzixRT`G&-hayVI@=_n9_m{}3e$Q8Jvy`Qhoh z(RS2(OiDa2o=U@gro#Wn(0fDSJ`>jPaG%M}Bb-|}p9-I?M9B^n?^(HMRd=+>MX@wm V6{0=iKGe*Ny$kjqM0?^`{syka)8+sG literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_o21ai_1/netlist/sg13g2_o21ai_1.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_o21ai_1/netlist/sg13g2_o21ai_1.cdl new file mode 100644 index 00000000..1ed19210 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_o21ai_1/netlist/sg13g2_o21ai_1.cdl @@ -0,0 +1,55 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_o21ai_1 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_o21ai_1 A1 A2 B1 VDD VSS Y +*.PININFO A1:I A2:I B1:I Y:O VDD:B VSS:B +MP2 net14 A1 VDD VDD sg13_lv_pmos m=1 w=1.12u l=150.00n ng=1 +MP1 Y A2 net14 VDD sg13_lv_pmos m=1 w=1.12u l=150.00n ng=1 +MP0 Y B1 VDD VDD sg13_lv_pmos m=1 w=1.12u l=150.00n ng=1 +MN2 net1 A2 VSS VSS sg13_lv_nmos m=1 w=740.00n l=150.00n ng=1 +MN3 net1 A1 VSS VSS sg13_lv_nmos m=1 w=740.00n l=150.00n ng=1 +MN0 Y B1 net1 VSS sg13_lv_nmos m=1 w=740.00n l=150.00n ng=1 +.ENDS + +.SUBCKT sg13g2_o21ai_1_iso A1 A2 B1 VDD VSS Y +*.PININFO A1:I A2:I B1:I Y:O VDD:B VSS:B +MP2 net14 A1 VDD VDD sg13_lv_pmos m=1 w=1.12u l=150.00n ng=1 +MP1 Y A2 net14 VDD sg13_lv_pmos m=1 w=1.12u l=150.00n ng=1 +MP0 Y B1 VDD VDD sg13_lv_pmos m=1 w=1.12u l=150.00n ng=1 +MN2 net1 A2 VSS VSS sg13_lv_nmos m=1 w=740.00n l=150.00n ng=1 +MN3 net1 A1 VSS VSS sg13_lv_nmos m=1 w=740.00n l=150.00n ng=1 +MN0 Y B1 net1 VSS sg13_lv_nmos m=1 w=740.00n l=150.00n ng=1 +.ENDS + +.SUBCKT sg13g2_o21ai_1_digisub A1 A2 B1 VDD VSS Y +*.PININFO A1:I A2:I B1:I Y:O VDD:B VSS:B +MP2 net14 A1 VDD VDD sg13_lv_pmos m=1 w=1.12u l=150.00n ng=1 +MP1 Y A2 net14 VDD sg13_lv_pmos m=1 w=1.12u l=150.00n ng=1 +MP0 Y B1 VDD VDD sg13_lv_pmos m=1 w=1.12u l=150.00n ng=1 +MN2 net1 A2 VSS VSS sg13_lv_nmos m=1 w=740.00n l=150.00n ng=1 +MN3 net1 A1 VSS VSS sg13_lv_nmos m=1 w=740.00n l=150.00n ng=1 +MN0 Y B1 net1 VSS sg13_lv_nmos m=1 w=740.00n l=150.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_or2_1/layout/sg13g2_or2_1.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_or2_1/layout/sg13g2_or2_1.gds new file mode 100644 index 0000000000000000000000000000000000000000..23e35b11daf48725f2873ca263803f708ff5900d GIT binary patch literal 13536 zcmeI2Ux-vy9LIli=iWOr>+I}mOQi`;B_<`7ZrMMvQTC}n6e%JWxY~lOh-5zefq72%g3$vfu-#x$c zJLh-)|K><6L9j!Xmx9V=iKH$yxkCoh-=!YJ`$zYT?;d|eWS|^v+I;-MC#FBY^6=2t z_fEdQbDJ!W@^$;;cw+Cm!M*Eujg7D0wNApSNZcDpN#aHzB5V4~_=~5pR-`uU*tgS& zg~a=CvCPunsQQ&@k@_D|m z-CX%4^=r4=`?P)}@;Zr+K88k~){oQvDZc}!y^Hb;I#wPKQ8|hCx%zTeWYKk$b(>@T zL)eC##QQ@1+9j(`_8hhPB;>jJ!Ivm&6Q5^OoDwl|vYD?R|7y!!dD&6Rt#Y!c{PEAQ z`x|`qqGNa%`jC@&pId%S7p$`S9Zp;QfLv9ek8<`*Kp*8N7u{sbPePt=ANth`R-de) zKWY6*$aD3B+o69DbvWl(>&O3)lX#!2AN~Try($u+4rI6tzJr{EJYWAO*jWL6jL#0g zgRaWS6$Sbji|V&%#8LgGW0NfMpGkM!>gzbre6-)FoGj`;noiqY^*Thm8#!6f{tLCQ z<5b6wj^7S3Zj794=KF7<<1adix??_$H>7wK-&IcT%(uVL`d6EnAJ3rgPLZhlGx)zr z8hLL2({zoORNt|0!0MBDpQ|6YtlfBqw07ebS!`d^sr`7yQSGXnEV3UCTf32v)^0dV z7Tec!YCl49QthgoEV3UQv3AQ%(%KDFHjUqpF6bu{bJ$0*-2d_aA#^(4zv_>TILDmRZI`qN6ym&BWkbJ{oUtM>aQ zjdq8-oX zcj?2E5jeYZ%%8IP@VWAy4Z^P9J^tDd=I0hd7XtmDjAC zggjSY=Y^;Tx)={++`@OAFA_qYt8c~(+AG`wepn2|>y3ViV50LmziI>Kk=b;_x zN{fbC8gJjabsqX<6c@b;*5U3OE_>xMl>IH$-Z2kt-MPZETJ|9{ma$%u!idK}HsY~s zbYg5))FO!rAaAU8ru7ms+CloL2b?~L7EGcajCPPd>XDh{GEpNR^}wWa5VPz#M@BnH zAN9!ZKPI}d3ajD>d`M1XJYr7Ns8{kny~<|#pT1|bg=DmaEQ-4Ls0Vh0XV7=2NUWmR zG5V;7^+OUB$?t!|_Ou@%xt{)&dfN9<4=*h%VP>qGgHO-1@@7oX*%%g^eYa^=`Zm}tnn zH}$pUR(+L|PTxnH{!5%qPfRx$ZMwB9+B7n{cXZ;=p3Vy7@7drtYV#Ok<=vMV5t$RK zzh~p_*XW5|@2luZU4Nq>i%#r5;^ZPtj65;YMEZzR{`gBGNWafW=&&K!{_hd+{oQOEeBw6f#O{e}Z zwH$fBhV1e`BMRmhv3cKX5b^hH(9P}dxs3p=G-{SAtV7#u>lPigy;UiA|o(=Aw s_)+gO!m=@OXJ85@?h1@C%X^CWi>GUaF>?kz zyEj>}5s@CwHPiH0Qom!dG1cFZf2U{V7&5{9XRb>)Mdc4bdNEVi%3t^uRM&pj>8wf zdd|5HzabZqo~qwrP`?wr=9-;acR1K z{EPEj=_OD4jdC%|fALRf_c@G}7d*qg(1%<^dTRZdkM*X0gQ&Nai&v;W#~uQK*zeS9 z5dCiDVn+YZ);`w>&R?z{4PxF}xmZj0-)!eU=P$<{*H4k-j&d<;{4pQrAN57fJIckZ z`4=6A@9{p2?``5=_)fXFDZTx)!+xiIk^N4&c%}ZQ9{XR^xDm7T%Qg4jC{Kv!JG?i_ zH8K1B!F*hQ%M+elcPSUM*57#0*^MVfXEz=cv+Xk_$d(cEc@V zwteQK{Rr7b+NE5~vLEboc8fL9*$wuI+4h-_b~*P%+NE5~vTy3nZedV#c1>N(w$FUD zTNw1DUCPBa`{m~SQ}6@&>Q?w`)U$L1^@m(Udh_}%{b#wqEPbB5XFv7iI#5EIXy2nB zy7?S~_C5KDr_G0QM9iC+?7cyI+y|SpSnInz!xNaVb5MRlrbnN-bke?uKJsLG;h;+= zixc?1-;?R~v4sDZ(5{G-v+4DVpM)Qm!~Pmiz8ebz_4&mzUyC+a`w9jJJahExbqU*rFx6)?S(vD zALIU-=0jrN;88tA`9*|0)xI$rXCexmJ|0u`Iqx|BN|;{_{^{mpEVho1F25eY=2!SU z4u2mMVgDrMqLnw>Z_|g}N$Puc^*DVI>CO6!TI}~g4|~_@ot{09K_7Av>CO6)*T=Yh z0(zJWAr9nX=@lmzAy3zzKs({@@KMjoGth@zY@7cr_6y%3-~E_hL!O<`rCdaMs{O(w z#_w&gSM{uHfIj3R(o^+qJz<~qXFbTy?_K@HO#7%O+t2!o+=ttCB}{3*U7yRxVebs; zev4;3h`x9ZpM*@0esk$0<#xSH7xw8j7~dY4y=LC>cy#Ndqq}zwBf#_Et}(cCEGkjfia?86TY%)k>m9C>w7pz7<48!^Au) z2B#082b1WSqG4hl6>C`~TB3@xJr!etvb*w*x+izzl#6Y<@)r9%eR7w~Q)z>z@tbln zBdWkRC{Lq#R19y1GtLi+hKZ0jza?7ypGU>q__@}oMjjP&<1UYi`Eg`Vf!J}0c~mTY z{mG+Z*!P~msUweyX`Tjw4FmwZiE+;`>ULC$hYj z^{yp~d}$f;QGaUcZ$y%*CrXa;n$Lf2`o_##MSW{0X@_f%C+xQ3q@a^)3^0W zu@B!YvFT0qratAO*UzJoR}+W5hG^vcwrJ$=$o7%(-P;;7D8HwNI~Mk_#EyMO%ZzA= zsO0zb5WPE(6U}Q z%y0)m)crg$zo(Zz|MGi!ZrWWsW2Ln-_t`l;27@VTyV_q z>0!*^>8@MQFVn|Q(@2kEd78HR{iz97lQ*2%04(^QPDf~A%sdnst;n45CnbLAW0<14?%(1_W$4KK67Su@1>nX5pf5G-};>U zKhL@MoH^$?&pn#Jc;03+Bj*(_7~fP)$;>i6t$&-U7Yq*U9NsbfxG_C>e|i72OYZ#Q zjZ3$$`sC)ut6T0dGyG(2R}k#oy>RjFMcamk7jIi=3ZXGUhX+qV%`?WV>&hFGUujJB zO=G;1mc>D1a=#d(3}#8WGIv;XO6UvS=9>DqvVQ-d)KfTRNq>bE;*Vs#h0iTnuiuY0 z#AG?^QKDTF`HSu+d{O)ae_GOC@TB-7Sx<-tE9r+iWkUVY{gj_az4MGIZ?NpB8&f)C zjFRQ0d!?N8$8de8CH=4-C9ZG1pIY2M^Skn6V`InhU5C0KP@?BPrd=7?Q}npcQR*#g zU7}Z_yj7pG{^0|k+5)*ZW#<;LD`8L3!`FkbVh`nBg5#uB?0{dS&>V_*E8{qTPqkhM4{(DOaL>6Sd!Md>R?wZI91b z-}d;7`l*9)C(hfqJM8h{O0SH^h>)k&A&Gye)Dyu_@$oy6aBmX{y1(+$MM~6S>A$i2fGsGiT)X*Q_t8(NgeIVG`+V9W9%_J z=N~PL)9`QDl_*d4KT~wYla|yKVOOT<3onVzUt&oe?aDNL=_quoaj*R?JdbBVyK;4M z`*T=3^Vkb`8(a7x)>qn<-N|}hyC$Ugy0cdS(80 z(JNt3ynpsnrGz@re@(t6{Z~O7;)RW&yfm zo@bsiQ|1RlJ5~(sdw3TTic9wlW0-W~TSYnYg2+ou^-Qk`rsXi4g6psXnCkU@-{R>au$$GVPvlI3tQ|6^QbIo#&>$a1*r z5tktT&vLk!vrc2mP01m1onWr3qi)&RpcQLaBLd5#`7%UxvR2?7Qk=uq9GK>;SdZjx zm006uC+ivKW;tAp)dLu_*w2ufyH#rLR_R|t%zh628Z*n`;(25_+&Gtu-`xg`rBP*i z4$C!$b&a82V|dp+gzFy0br0pbhjZOSy6$0J_t2&xd#85y@UA%o{!X}uYxf-r_nyqX zmbP1J?pB$WgJrHnbGJ&(-73@cSq>L_AZ%o_94?;0S&XHlHg}ula3zAL>9uK%v_him-f8h^RQf3ESTYyA6P$l=EO@_KwWWEb;--FUCqvuJGW z@?1-v;p0ciGkhI&?DJ!)y|zGfLj1jq^(k53xcOws%c+n2#P=chqxLDw)AaO- zZ}2bY&Zl3MJKr_1dtmRroz47cb_RMDa!iPsvop}hjbQJF_m{2nL6$$y^5;?BJUau8 zJmN*kjbvw_qxUG$`&N#N+#I~Oh&kc=mFx_3^XzkW27283GH(Cvx_@!qKe_JTT=$Qz z`&ZZfv+Mpn%b#cYbDoRJ&Ol54nP;K(?6WfM3^C6-XJ?=hXWH0cV-@?6WdE z1DzZ{xV}GieShn^{<*HduIs;R{NWn^xW-?u@t&*X}&F*^dbFTZmXKSn3MWm-2+<3ioy*ErxwmxS0i6MRO3g;T%bguWXXZ8pD z54(u;p#RoET>nA%tvE4b{zcfw>2G2En>RuGxO2%_&(;Z))Z!~`-^G$!|$$YatmOsgK<|Cq9FtkNI+-n@KTUel5AzXm{cwHyzJD$)Ej@#B zE;={)KF|J?*+rxW^tkpG>P7VYADiA-+K2TG?;qFV)87vL5GN0nW+x&&phx~6r(T5i zA=4X6`#AkB_MeHDaoxT1ti*Fy4eG2#GCDiYN=hV$+7m+@!FG_u4<4@yil;fN|Ph#tk@udTmhzqqREA0?rE#q`E9 zy;k2jjdK1Iec_Luy?H!eu!~4vsdw%)`xpB){ji^j*)+7jLwi)Dz5QEDC!3!||9R1q z>FF0Oon(6R3!Y3bKPAW3cU<{SuzdaZpkD8->Q_z znc-PyxkQw2T=}=L{HuPxtM`*tKi`#p70-9>$2Z)!7TV@v@G;Nk^=225K3xA5`gFhP z2Yk)+skpyh-@)8TUH8!;LRZ?w|Db32sTWyp>cvp`d+57e^reXhJ$r9O|At*edTsrA zU2&`F2mGt)3-Q*lzJ1a3V&@Uli?G-F@BGyKckdh`{FZhx;GfsA{?v=CH|=7m{=BaJ zC)0}@n`sweuPy(?8H`n!pZiBVCpV!zU>A`d&||#)5%nU*vIC|!miAhGchUUz<~`|` zb}{6?yJ&uU^P>5up8l)!TK^qf#`<>_Jn5HqG339)`4#o=EQscpdit-@YyB59=C?TG zNx!s#@O(JqGc?QcQ14|Ux$ z#8=T4w2S-d%inkk^DNfd$!$Y?67NN{iyP|oye9cI%KKr@<~^nrkzU_^cn3?cK4{@x zQEYw#|HCfAUaQZ3XuAAEp48DUhV<8_FwP!5BleO+iKsRIL>tYxZfCm2K)i?q+RUS*Pr7IbsT>N zgs!xU0X@fA&ReS;zt=kdtabk6Jk9dwi=Lc!Xct5C58pGWFV1*UN4pr(^F4|B&Vna( zw2RC1KPlHwsqOFJvcaeSEHwB}93-GRTNC$rw{crOch`+`_kQvyHoR}R=Ol)`4fx{L zbKe^KK9?tM+T~X?@EVf82_uN>y*ZoRS$^K-dR%XE&$<7CE2i_?_hO2B4#~g6hljB#6F|6n>F~+dn#z@5$#28~hyIjEd_L5Pt1u@1L zY`!Q4b0uQDRg5LZ7%->5GNyf;i!lbgGsPGKUir@9!P)Go*r7N!1{h-uWsHYwbj21# z#TLXEV;C8KMq)(ky~d9*2EVq|T32gZaoHMo^!_>9+l?^>YlnOh^X&nQr?X;sk9)0q zBr(Qd?H*$c=yUgBE;^5WAnftS7=y(Lsu)DMpH!_6M#irgW59;je(W!=({C(di~;-6 zF~;Cl8{=N<{K(HiMZWjYE{5KJ{vTot)wnoQ{r2l9V+oi29zVL@v9xsY8c+Tf zm>-e*bBt+-viG-}&WOKvF+Y*{jjRVoep7q#8eT{J($X96G@U3r@*5t{m+76`xSRUY zPgM`AkL(+FhxGJ|?-tSLXZo^SHU6F3aK210>ucqvo_5jeV{GTYjBEXGV>_Fd#deM! zKX&}oy?3wJuebI81GaCXvmm6-j)=?lPe#t5NEgqLtZ3hOhGZ-DC*v8Cc!ngNAsL=; zN6x^+_zqscVti+1|8VY!c!mUPd;FLt#&_0leEA)llb_H;w&*vv2JmSGU)J(=0jnROk#tq|^2oi~LqKSwOBE$_*l4vkSgQJO21d(wA z#T7vj1(^p$!JwjoA_fK&@xkRy6c_Eotp>O_#g2JKQbke(&-m-MZzfC~QbJgnmPCf74=YCkR z=8Y34pStWqx42oX9Zu8jn@?W8dD;5$ZKte1*)=lf(!m6t(xJpTw{^JgT=Q+`TCac$ zA_qsDYdq?llIacHfHJ)XpWnpA0+9#TT9Q zNv01BMK*uH=R4pdu=XVM$cvJ8URMcyq5sw&xGwV7IzN*B)Az+c$@KKq$mVZ&e-Ex7 z$b4rl$v??_^Sa8i{C7}pt*y?r?~SDYb}If!rf1(priUZ_E?hs5{yRnf3-ZvR7}{Viqtb8cp4X3V*H zvxMn2+VS%A=>>YEy$Qe5(4QSSG%R){(o6Kg|Jh3V6}`~gyY;o+`*&{W1m1t-yvy(b zFD24T^tk@DA^)BbKJMj#K7B6zN|xUs$~#BYEZ5Z|TG4hXR zRylmG*p;w%>oc!UTxdV=wMWWdId4+RPYHXWK3|8t{EBPrjLgyYX;&h>P@jE?`)(uu z$49naN7=)!M0%mV1}*je`3Y=2jPl2OWtrYTKTAUU@kHJ~5ADYjWx1r-Kl^q1XJ4u0 zbKBG3m)t-5Me2Ni7f5|~e>vyr?BG^~!oAldX7M6{>Bnu{mlFQxD*p#~|IL@AJ(G1j z=WH)Zw)4(vNhj++!tdHhrlV>2=fRIJcs}%b;X9_+Zi{4HB@-xzK&A)(bKReBf9-d0 z4~vjjko^x|O7=hWucW>6o}`ni1G}%E#{LoCox-?s6aF?t&cj@db|unF^mzVXre28~ zxPCWBxmnk@QQuvdn*n^9tm@ zGpQ86)YE@RFZ7>{h~I1~l74Admif;{#BVmG6u;Ede@HL%pN@*(bUKoLX;+r{Pe;XX zI;|AH)YE@RFZ9p;faQ;AAyY_Nx!r!%ls!3 z;Z8Va8X;+r{ca!3`HmZaceyJCFd!heUhC14XzVrFW))n{+ zyAtVz`s8NO)enrMj&^04e&8zT)}n7mUp&ii@Z8d_TwCnFeI~wl3;M^eBU=mc8FnSo z3-7=2A#})p^ZH2MH|@%@`_Fcu?c4`{2ShfG#d8O{66uBhYnYpIt;zCIay~)3682I( z=Z4hJ@&nO#l*gCrvyVitY>$gx345Xc{2tsl%75_4NUpVMS0cSs-~Lwg%FY9#SHfPZ z=UjvSmF=47m9Q7;>pP|18e@^HH`@0||++<;Ji0spisPcQb*?jnsZyS=N7B z#}DiHWgS1Q;%Ch>m&L6GwSL^(FU|RB>Ped}`v@6T< zKR6}xmVVa{eXL)0`SnjD?(ewp8hQu!jQ2{lgXwXJyWP!SnvQQgb9~43o3LSi+6~*# z#j@Mak&b>C}JxJ52qSmPe}!5D>Hen@k4xqqGFa;`V?pU_XOcIl!N3)X+F=8ghp zMNpsBhdMb5>S?Oi^r23F_9c@oN-tj1m;Pwf^zV-Pb?f@@-+mBx{~7OobsuWZ`?D#JATSYiRWJ8_@eLkuP2g(CGtXz2r(LcQ0GrsjiShy163bEf6 zl68ekeHN z;Xqs8RYf=$A*mu9*!&p7Ulrk~A{>+MA4Q0*{kL`eu#R8W@zXkfTjvkf`HOY_WSzfR z=a1I;t9AZtoxlGdA{-f}5QuP$gkO$r;=axPpWw*AGHmG|6UkpH^QGi3lo?S`s(t7L z(FyT>C9kLC^?KG*J-_Jv{TP0a`k9$OP7<9`?YLg|e$8Hb=jN}X-unspko>59{;D!P z{o-%2GG0&g{=N$QJGb9%pYHQ3_f0+R%BaWIOch!B+n8GV--;|9v{z(l)0WL!w(q!d zcK4||Kht%7s5(Crqe_D#Rdk8xaH{h&_`T6JSkW&N>bV)Eo|{ot=V$Pn3;afs=SWCB zH=~^M{74mDs-jEyRYQpGbSVdV^ht}1pb#-iAom+PYth*D| z-4W~VjCFU&x;tgv9kcGvS$7AmyOULP3G*VH->A;d$lTDMqtSCS%If?~_xz{l*A3PA z8Ju&e&d=cdi~kjjKL_(~&L3L)Z|nGB9lxyOr*-_c&L6Dv7wi1VI)AgyAFcCO>-^a| tf48n5_J#8^A-c3O{$B!#?npFe?9L3`&1BL*h+ZX3m^B&za{;Om4F59<#ZYwJw;ZDNWm4Yu1ndZOSY^aqPa6hfjXm znDzDMp1qH~`_7+y=i-ii=iWK^=DqJXo14|zex9E?`mS4#Za=hi^0q_UO`|X-pUL1U z?`6iAoBMTRW>$=8Z8N5~b&U5oyK3+_W{Z^taN|x(&ap$k}-+D#b)w;`* z{_~%Sf0FIaf9To#7yf<({vFxwq9yGo*>0X!8EStA{nk2RO#4w!`fumrpJaLQXV3gv zlz#!|cclMLQ~Z;(^SnyvE8AbcU;Jb*d9uCP+u+ZU?Z|#C?IG!}zQ>d0^^Zw8NgdCt zM0>{l_x$~L>C&ZV@w;HmRW~Y)F+ZYRY3%_${0^!2?Da*jMESVB=KSyC_@5nMte}5u zU-2v+M*lsHK3A4vIm-|D{*?Xc^ zrT?&P&*w2Nx1&9{CdxYM-Gp74{RP+NJ-B|3w0G{5ax%lcFpJ}rIM2Ahw@zHYKKlIy z^#89s`|m>=VOOGjTwhpyCi5>_Hgkdf<;iQpA0^5w_2ogd<)6^5c$OHuv@20wsV{zy zdbiR3TRdB5aqVGOqP$XHgO++b{vBIiM*rh)Wk_$w%k^%&Sfb&-was@#UtVABpYt;P zbIw!pzMGh@1NG;;MxC9n9H}3l@7AopF)JKzI)8T`$2oRlUIyC>7&~V?%Wde7r*N!e z@g?;4i|Av=<_FM!Uq>4p>mNe>7h!X3d>6+ahRu=o_7*88Y44&P$}7zOGX9KNVEs96 zO3WR0yg1tNgnL5SoJIKw)Xy=)-_$9gfA#n<#y(&BLqCqk#(Dzc*MnqvcfV)- zujtFY7$1%-XFZg4^k4J)D0ieiTb6Q?ZLWRBljZiu(%z3Uzx(^Ovj3-;A96pxqMhGD z-Oi%@yF5AmX;-3r-2bcejRnz<_$Sdflnd4R@)PKX-56^OfR(?){Xn~NcUYf&Tl7lC z4%91QudILh2<~;%bLIxm&J)nXu0(lI-+f5*%5tOVm9Pi(#R1Weh;c>#h4MhPzK1x5 z_2;u&$$HbSguT)~kE37eM}%K%S6;zC+fBWa?WSHCYX9s2Ixd zzqBhu{>?!A*5;Ma!Y}ngYp?X*DsYXSLo9a2v-J`D8+IkiEA`o@L|4DYlRDa!A$|9w z(Cx=uiCA&OKjOZnUAe#7fBSYEhxxbt2hSGfU)q%@udILL7to>oO~gM+)|+-^sQ$%i zjGf2eZ-ZxJ3+_AEl_;r?-Dp>a zuHSzCb>;QD%d^4j2fGsGmDjKNB6K@2_Av%W{59?e+Lb%1^_^2V?hai0tH*c& zW07{{9o72wKV;l=p7i9npJYV)2tZ!1Id zckJ^c_W2e2{EU5m$Hot_@k?y{RLseBFIGKy-Dy{bu77O&7#qLF#?RfMw7XpPWV>ls zhT8Am56rah4^zCqJZInk8-9J%xS!s6S@%(@9n9a6na`SaH|I--Z(ln7;1MLuc7FUM zrdYnVmncWx3+rCjWM-4eH`bT~dvguC@-5BzTkX$nrnKvMf5SYr*W{aWEb_l@HCJX3 z6+!*pDb(4GP!FlzH-$R?JFf6~Q*6pVxNj=`+YyPrZ1o2ZPT{}(Mb!Q`to`08)Qsgs zjlj_Md&>l~o9idDn}?2_T3S0pX;;R#p>MV#VpQVdTDvl3I44)kAHYSx3JEh?WQKl9 z8BXbkl;OmE^bDfM`#opoCL*|$;XFRkADVHs83{hMI2ZMYo|@TIrVJ;(P;nX3l;OlY z+{XNS(KBT@5xVi2gg#m03zwAPJc~D+D`oIghI5qZOc_qZ!zsgQGmNiyg_4;>&1@<) zv#Er=a)mEtI1vY7g|4^g$(4ze;gl5`w}MnTeqvXsVpqswSLk9_2xC_$V^>IHS7>8b zh+|i%V^_#ySLjoQ6LEdYaM}!M%5Y-6Z2`Yqu)eb5nKGQ!@l(ohO5Bt(oYD_XtgkVC zPZkEyg!*+j9+CM8<(6oORD|U0pkiR7Tk@n9b1M@Jx zC3+gfV`6sTnfA}>|382)j`|2)UP$|A)Bah^8$0n`;^WAsEMOiv*t9<+Oj6U;Vt6|9^nTG5(r%{*L`RDfa8A*srrt|H~!WUCHKNo~8BKU(NEClATWbZ-YCJ{|B?A HjfVL*IF8p5 literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_or4_2/netlist/sg13g2_or4_2.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_or4_2/netlist/sg13g2_or4_2.cdl new file mode 100644 index 00000000..c2ebf8b4 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_or4_2/netlist/sg13g2_or4_2.cdl @@ -0,0 +1,67 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_or4_2 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_or4_2 A B C D VDD VSS X +*.PININFO A:I B:I C:I D:I X:O VDD:B VSS:B +MN4 X net1 VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MN3 net1 D VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MN2 net1 C VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MN1 net1 B VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MN0 net1 A VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MP4 net4 A VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP3 net3 B net4 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP2 net2 C net3 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP1 net1 D net2 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP0 X net1 VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_or4_2_iso A B C D VDD VSS X +*.PININFO A:I B:I C:I D:I X:O VDD:B VSS:B +MN4 X net1 VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MN3 net1 D VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MN2 net1 C VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MN1 net1 B VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MN0 net1 A VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MP4 net4 A VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP3 net3 B net4 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP2 net2 C net3 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP1 net1 D net2 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP0 X net1 VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_or4_2_digisub A B C D VDD VSS X +*.PININFO A:I B:I C:I D:I X:O VDD:B VSS:B +MN4 X net1 VSS VSS sg13_lv_nmos m=2 w=740.00n l=130.00n ng=1 +MN3 net1 D VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MN2 net1 C VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MN1 net1 B VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MN0 net1 A VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MP4 net4 A VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP3 net3 B net4 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP2 net2 C net3 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP1 net1 D net2 VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MP0 X net1 VDD VDD sg13_lv_pmos m=2 w=1.12u l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_sdfbbp_1/layout/sg13g2_sdfbbp_1.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_sdfbbp_1/layout/sg13g2_sdfbbp_1.gds new file mode 100644 index 0000000000000000000000000000000000000000..c54f3d459d1731726064c1823c5aab5c485e4d66 GIT binary patch literal 62148 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 av4QmQUT^k7n7t7G3=8}pdLb;A-G2iSrr+-X literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_sdfbbp_1/netlist/sg13g2_sdfbbp_1.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_sdfbbp_1/netlist/sg13g2_sdfbbp_1.cdl new file mode 100644 index 00000000..c4dc5820 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_sdfbbp_1/netlist/sg13g2_sdfbbp_1.cdl @@ -0,0 +1,226 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_sdfbbp_1 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_sdfbbp_1 CLK D Q Q_N RESET_B SCD SCE SET_B VDD VSS +*.PININFO CLK:I D:I RESET_B:I SCD:I SCE:I SET_B:I Q:O Q_N:O VDD:B VSS:B +MX46 a_1625_93_ RESET_B VDD VDD sg13_lv_pmos m=1 w=640.00n l=130.00n ng=1 +MX45 a_2037_442_ a_1878_420_ a_2384_392_ VDD sg13_lv_pmos m=1 w=1.000u ++ l=130.00n ng=1 +MX44 VDD SET_B a_2037_442_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX41 VDD a_622_98_ a_877_98_ VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX39 VDD SCE a_341_93_ VDD sg13_lv_pmos m=1 w=640.00n l=130.00n ng=1 +MX38 a_218_464_ D a_197_119_ VDD sg13_lv_pmos m=1 w=640.00n l=130.00n ng=1 +MX33 a_1092_96_ a_622_98_ a_1221_419_ VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ++ ng=1 +MX28 a_1221_419_ a_1250_231_ VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MX27 VDD SCE a_218_464_ VDD sg13_lv_pmos m=1 w=640.00n l=130.00n ng=1 +MX26 VDD a_2037_442_ Q_N VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX24 VDD a_1250_231_ a_1766_379_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX19 a_2384_392_ a_1625_93_ VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX17 VDD SET_B a_1250_231_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX16 a_27_464_ SCD VDD VDD sg13_lv_pmos m=1 w=640.00n l=130.00n ng=1 +MX15 a_622_98_ CLK VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX14 a_1250_231_ a_1092_96_ a_1580_379_ VDD sg13_lv_pmos m=1 w=840.00n ++ l=130.00n ng=1 +MX11 a_197_119_ a_877_98_ a_1092_96_ VDD sg13_lv_pmos m=1 w=640.00n l=130.00n ++ ng=1 +MX9 a_197_119_ a_341_93_ a_27_464_ VDD sg13_lv_pmos m=1 w=640.00n l=130.00n ++ ng=1 +MX8 a_2881_74_ a_2037_442_ VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX7 a_1580_379_ a_1625_93_ VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX6 a_1986_504_ a_2037_442_ VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MX5 a_1878_420_ a_877_98_ a_1986_504_ VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ++ ng=1 +MX4 a_1766_379_ a_622_98_ a_1878_420_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ++ ng=1 +MX3 VDD a_2881_74_ Q VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX47 a_2271_74_ a_1878_420_ a_2037_442_ VSS sg13_lv_nmos m=1 w=740.00n ++ l=130.00n ng=1 +MX43 a_197_119_ a_622_98_ a_1092_96_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ++ ng=1 +MX42 a_299_119_ a_341_93_ VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX40 VSS a_622_98_ a_877_98_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX37 a_1625_93_ RESET_B VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX36 a_2061_74_ a_2037_442_ VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX35 a_1418_125_ a_1092_96_ a_1250_231_ VSS sg13_lv_nmos m=1 w=550.00n ++ l=130.00n ng=1 +MX34 VSS SCE a_341_93_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX32 VSS SET_B a_1418_125_ VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX31 a_1192_96_ a_1250_231_ VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX30 a_119_119_ SCE a_197_119_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX29 VSS SET_B a_2271_74_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX25 a_1092_96_ a_877_98_ a_1192_96_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ++ ng=1 +MX23 a_197_119_ D a_299_119_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX22 a_2881_74_ a_2037_442_ VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX21 a_1878_420_ a_622_98_ a_2061_74_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ++ ng=1 +MX20 VSS a_2881_74_ Q VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX18 VSS a_1250_231_ a_1880_119_ VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX13 a_622_98_ CLK VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX12 VSS SCD a_119_119_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX10 a_1880_119_ a_877_98_ a_1878_420_ VSS sg13_lv_nmos m=1 w=550.00n ++ l=130.00n ng=1 +MX2 a_1250_231_ a_1625_93_ a_1418_125_ VSS sg13_lv_nmos m=1 w=550.00n ++ l=130.00n ng=1 +MX1 VSS a_2037_442_ Q_N VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX0 a_2037_442_ a_1625_93_ a_2271_74_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ++ ng=1 +.ENDS + +.SUBCKT sg13g2_sdfbbp_1_iso CLK D Q Q_N RESET_B SCD SCE SET_B VDD VSS +*.PININFO CLK:I D:I RESET_B:I SCD:I SCE:I SET_B:I Q:O Q_N:O VDD:B VSS:B +MX46 a_1625_93_ RESET_B VDD VDD sg13_lv_pmos m=1 w=640.00n l=130.00n ng=1 +MX45 a_2037_442_ a_1878_420_ a_2384_392_ VDD sg13_lv_pmos m=1 w=1.000u ++ l=130.00n ng=1 +MX44 VDD SET_B a_2037_442_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX41 VDD a_622_98_ a_877_98_ VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX39 VDD SCE a_341_93_ VDD sg13_lv_pmos m=1 w=640.00n l=130.00n ng=1 +MX38 a_218_464_ D a_197_119_ VDD sg13_lv_pmos m=1 w=640.00n l=130.00n ng=1 +MX33 a_1092_96_ a_622_98_ a_1221_419_ VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ++ ng=1 +MX28 a_1221_419_ a_1250_231_ VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MX27 VDD SCE a_218_464_ VDD sg13_lv_pmos m=1 w=640.00n l=130.00n ng=1 +MX26 VDD a_2037_442_ Q_N VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX24 VDD a_1250_231_ a_1766_379_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX19 a_2384_392_ a_1625_93_ VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX17 VDD SET_B a_1250_231_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX16 a_27_464_ SCD VDD VDD sg13_lv_pmos m=1 w=640.00n l=130.00n ng=1 +MX15 a_622_98_ CLK VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX14 a_1250_231_ a_1092_96_ a_1580_379_ VDD sg13_lv_pmos m=1 w=840.00n ++ l=130.00n ng=1 +MX11 a_197_119_ a_877_98_ a_1092_96_ VDD sg13_lv_pmos m=1 w=640.00n l=130.00n ++ ng=1 +MX9 a_197_119_ a_341_93_ a_27_464_ VDD sg13_lv_pmos m=1 w=640.00n l=130.00n ++ ng=1 +MX8 a_2881_74_ a_2037_442_ VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX7 a_1580_379_ a_1625_93_ VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX6 a_1986_504_ a_2037_442_ VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MX5 a_1878_420_ a_877_98_ a_1986_504_ VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ++ ng=1 +MX4 a_1766_379_ a_622_98_ a_1878_420_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ++ ng=1 +MX3 VDD a_2881_74_ Q VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX47 a_2271_74_ a_1878_420_ a_2037_442_ VSS sg13_lv_nmos m=1 w=740.00n ++ l=130.00n ng=1 +MX43 a_197_119_ a_622_98_ a_1092_96_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ++ ng=1 +MX42 a_299_119_ a_341_93_ VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX40 VSS a_622_98_ a_877_98_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX37 a_1625_93_ RESET_B VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX36 a_2061_74_ a_2037_442_ VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX35 a_1418_125_ a_1092_96_ a_1250_231_ VSS sg13_lv_nmos m=1 w=550.00n ++ l=130.00n ng=1 +MX34 VSS SCE a_341_93_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX32 VSS SET_B a_1418_125_ VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX31 a_1192_96_ a_1250_231_ VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX30 a_119_119_ SCE a_197_119_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX29 VSS SET_B a_2271_74_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX25 a_1092_96_ a_877_98_ a_1192_96_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ++ ng=1 +MX23 a_197_119_ D a_299_119_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX22 a_2881_74_ a_2037_442_ VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX21 a_1878_420_ a_622_98_ a_2061_74_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ++ ng=1 +MX20 VSS a_2881_74_ Q VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX18 VSS a_1250_231_ a_1880_119_ VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX13 a_622_98_ CLK VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX12 VSS SCD a_119_119_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX10 a_1880_119_ a_877_98_ a_1878_420_ VSS sg13_lv_nmos m=1 w=550.00n ++ l=130.00n ng=1 +MX2 a_1250_231_ a_1625_93_ a_1418_125_ VSS sg13_lv_nmos m=1 w=550.00n ++ l=130.00n ng=1 +MX1 VSS a_2037_442_ Q_N VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX0 a_2037_442_ a_1625_93_ a_2271_74_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ++ ng=1 +.ENDS + +.SUBCKT sg13g2_sdfbbp_1_digisub CLK D Q Q_N RESET_B SCD SCE SET_B VDD VSS +*.PININFO CLK:I D:I RESET_B:I SCD:I SCE:I SET_B:I Q:O Q_N:O VDD:B VSS:B +MX46 a_1625_93_ RESET_B VDD VDD sg13_lv_pmos m=1 w=640.00n l=130.00n ng=1 +MX45 a_2037_442_ a_1878_420_ a_2384_392_ VDD sg13_lv_pmos m=1 w=1.000u ++ l=130.00n ng=1 +MX44 VDD SET_B a_2037_442_ VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX41 VDD a_622_98_ a_877_98_ VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX39 VDD SCE a_341_93_ VDD sg13_lv_pmos m=1 w=640.00n l=130.00n ng=1 +MX38 a_218_464_ D a_197_119_ VDD sg13_lv_pmos m=1 w=640.00n l=130.00n ng=1 +MX33 a_1092_96_ a_622_98_ a_1221_419_ VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ++ ng=1 +MX28 a_1221_419_ a_1250_231_ VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MX27 VDD SCE a_218_464_ VDD sg13_lv_pmos m=1 w=640.00n l=130.00n ng=1 +MX26 VDD a_2037_442_ Q_N VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX24 VDD a_1250_231_ a_1766_379_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX19 a_2384_392_ a_1625_93_ VDD VDD sg13_lv_pmos m=1 w=1.000u l=130.00n ng=1 +MX17 VDD SET_B a_1250_231_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX16 a_27_464_ SCD VDD VDD sg13_lv_pmos m=1 w=640.00n l=130.00n ng=1 +MX15 a_622_98_ CLK VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX14 a_1250_231_ a_1092_96_ a_1580_379_ VDD sg13_lv_pmos m=1 w=840.00n ++ l=130.00n ng=1 +MX11 a_197_119_ a_877_98_ a_1092_96_ VDD sg13_lv_pmos m=1 w=640.00n l=130.00n ++ ng=1 +MX9 a_197_119_ a_341_93_ a_27_464_ VDD sg13_lv_pmos m=1 w=640.00n l=130.00n ++ ng=1 +MX8 a_2881_74_ a_2037_442_ VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX7 a_1580_379_ a_1625_93_ VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX6 a_1986_504_ a_2037_442_ VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MX5 a_1878_420_ a_877_98_ a_1986_504_ VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ++ ng=1 +MX4 a_1766_379_ a_622_98_ a_1878_420_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ++ ng=1 +MX3 VDD a_2881_74_ Q VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX47 a_2271_74_ a_1878_420_ a_2037_442_ VSS sg13_lv_nmos m=1 w=740.00n ++ l=130.00n ng=1 +MX43 a_197_119_ a_622_98_ a_1092_96_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ++ ng=1 +MX42 a_299_119_ a_341_93_ VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX40 VSS a_622_98_ a_877_98_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX37 a_1625_93_ RESET_B VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX36 a_2061_74_ a_2037_442_ VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX35 a_1418_125_ a_1092_96_ a_1250_231_ VSS sg13_lv_nmos m=1 w=550.00n ++ l=130.00n ng=1 +MX34 VSS SCE a_341_93_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX32 VSS SET_B a_1418_125_ VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX31 a_1192_96_ a_1250_231_ VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX30 a_119_119_ SCE a_197_119_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX29 VSS SET_B a_2271_74_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX25 a_1092_96_ a_877_98_ a_1192_96_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ++ ng=1 +MX23 a_197_119_ D a_299_119_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX22 a_2881_74_ a_2037_442_ VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX21 a_1878_420_ a_622_98_ a_2061_74_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ++ ng=1 +MX20 VSS a_2881_74_ Q VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX18 VSS a_1250_231_ a_1880_119_ VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX13 a_622_98_ CLK VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX12 VSS SCD a_119_119_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX10 a_1880_119_ a_877_98_ a_1878_420_ VSS sg13_lv_nmos m=1 w=550.00n ++ l=130.00n ng=1 +MX2 a_1250_231_ a_1625_93_ a_1418_125_ VSS sg13_lv_nmos m=1 w=550.00n ++ l=130.00n ng=1 +MX1 VSS a_2037_442_ Q_N VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX0 a_2037_442_ a_1625_93_ a_2271_74_ VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ++ ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_sighold/layout/sg13g2_sighold.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_sighold/layout/sg13g2_sighold.gds new file mode 100644 index 0000000000000000000000000000000000000000..14de95c2a660e2c58e59867145dad3d1b1644ce6 GIT binary patch literal 11618 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 literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_slgcp_1/netlist/sg13g2_slgcp_1.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_slgcp_1/netlist/sg13g2_slgcp_1.cdl new file mode 100644 index 00000000..21b58d98 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_slgcp_1/netlist/sg13g2_slgcp_1.cdl @@ -0,0 +1,103 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_slgcp_1 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_slgcp_1 CLK GATE GCLK SCE VDD VSS +*.PININFO CLK:I GATE:I SCE:I GCLK:O VDD:B VSS:B +MX19 GCLK a_1238_94_ VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX18 a_114_112_ CLKbb a_566_74_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX16 CLKbb CLKb VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX14 a_1238_94_ int_GATE VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX13 a_116_424_ SCE VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX11 a_566_74_ CLKb a_722_492_ VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MX9 int_GATE a_566_74_ VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX7 CLKb CLK VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX5 a_1238_94_ CLK VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX3 a_722_492_ int_GATE VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MX2 a_114_112_ GATE a_116_424_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX21 int_GATE a_566_74_ VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX20 net2 CLK VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX17 a_114_112_ SCE VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX15 a_566_74_ CLKb a_114_112_ VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX12 a_667_80_ int_GATE VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX10 a_1238_94_ int_GATE net2 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX8 GCLK a_1238_94_ VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX6 CLKbb CLKb VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX4 a_114_112_ GATE VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX1 CLKb CLK VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX0 a_566_74_ CLKbb a_667_80_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_slgcp_1_iso CLK GATE GCLK SCE VDD VSS +*.PININFO CLK:I GATE:I SCE:I GCLK:O VDD:B VSS:B +MX19 GCLK a_1238_94_ VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX18 a_114_112_ CLKbb a_566_74_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX16 CLKbb CLKb VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX14 a_1238_94_ int_GATE VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX13 a_116_424_ SCE VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX11 a_566_74_ CLKb a_722_492_ VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MX9 int_GATE a_566_74_ VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX7 CLKb CLK VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX5 a_1238_94_ CLK VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX3 a_722_492_ int_GATE VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MX2 a_114_112_ GATE a_116_424_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX21 int_GATE a_566_74_ VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX20 net2 CLK VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX17 a_114_112_ SCE VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX15 a_566_74_ CLKb a_114_112_ VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX12 a_667_80_ int_GATE VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX10 a_1238_94_ int_GATE net2 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX8 GCLK a_1238_94_ VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX6 CLKbb CLKb VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX4 a_114_112_ GATE VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX1 CLKb CLK VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX0 a_566_74_ CLKbb a_667_80_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_slgcp_1_digisub CLK GATE GCLK SCE VDD VSS +*.PININFO CLK:I GATE:I SCE:I GCLK:O VDD:B VSS:B +MX19 GCLK a_1238_94_ VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX18 a_114_112_ CLKbb a_566_74_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX16 CLKbb CLKb VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX14 a_1238_94_ int_GATE VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX13 a_116_424_ SCE VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX11 a_566_74_ CLKb a_722_492_ VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MX9 int_GATE a_566_74_ VDD VDD sg13_lv_pmos m=1 w=1.12e-06 l=130.00n ng=1 +MX7 CLKb CLK VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX5 a_1238_94_ CLK VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX3 a_722_492_ int_GATE VDD VDD sg13_lv_pmos m=1 w=420.00n l=130.00n ng=1 +MX2 a_114_112_ GATE a_116_424_ VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MX21 int_GATE a_566_74_ VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX20 net2 CLK VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX17 a_114_112_ SCE VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX15 a_566_74_ CLKb a_114_112_ VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX12 a_667_80_ int_GATE VSS VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +MX10 a_1238_94_ int_GATE net2 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MX8 GCLK a_1238_94_ VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX6 CLKbb CLKb VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX4 a_114_112_ GATE VSS VSS sg13_lv_nmos m=1 w=550.00n l=130.00n ng=1 +MX1 CLKb CLK VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MX0 a_566_74_ CLKbb a_667_80_ VSS sg13_lv_nmos m=1 w=420.00n l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_tiehi/layout/sg13g2_tiehi.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_tiehi/layout/sg13g2_tiehi.gds new file mode 100644 index 0000000000000000000000000000000000000000..22e3405258cedd8b6febcb7e55c43c95e1f4fe99 GIT binary patch literal 11042 zcmeI2U1(fI6vxlry*s;UH=AuptkIxFi!E5IO$AX)*h;DPL;PqhZ55NWscEE|nzTqk zBo9In!B6aif(8|e_(4IdR`fxXicg|~RPZ4WTKXg+_!MRRpL^!NcemZWnygRdUMRnu zGxtAd=H8jvId>{ff?%igXM+4W$w^T<~13!uK zM1AfB)01wE=}Gt#^*hv_(_zvjPEKKYbR7sBKF;; zH%9)J`f%9d<{;B{C^fG7$)xz$9YnbiJv zpI^K0uif#}?)YtY{w!er78=%njJ3kOn6FrK$i)w09>Pz;Uq5~>&}V;weg)P{&-`nq zC*g0Vf1sSTd7A$X5Y-UUZ3&tpU~&0?e5xb?IcU9VNYQl@GRoK;0qCQ z5%v~ZP8LSc_EmVFp2c7AKL5h~o?4H_ArYrpdk(NYat!)E5W_PwYxR@ioW&=z-=cl* zLF1{q=!%H`KdkXdlpJe_Z{t7E{g;h%&Kr{RhHN^2yk6tZb38P}m-&y!oPVF6Y5U!+ z=^ekW|t+^1{f-SA77#!CZqzH)Z`o5J?gGqXgi+}xOT%YNqcD0C) z9B4EukNRuvR=xVkSbve{(3hT(`xz@ssA!%%4e&oivaB&u8ZCeg|szJ5-uSBbQIlJfpMF^vo0cY@B^&X0dU{ zxem#*PLgMxWP0X_y+V5CnVxxCzWcwQdHQ|(I-f`5{|Z>1YI*7T`DUEQGGDz2^1U#W Fe*j$uy@CJ$ literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_tiehi/netlist/sg13g2_tiehi.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_tiehi/netlist/sg13g2_tiehi.cdl new file mode 100644 index 00000000..0963e286 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_tiehi/netlist/sg13g2_tiehi.cdl @@ -0,0 +1,49 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_tiehi +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_tiehi L_HI VDD VSS +*.PININFO L_HI:O VDD:B VSS:B +MMN2 net3 net2 VSS VSS sg13_lv_nmos m=1 w=795.00n l=130.00n ng=1 +MMN1 net1 net1 VSS VSS sg13_lv_nmos m=1 w=300n l=130.00n ng=1 +MMP2 L_HI net3 VDD VDD sg13_lv_pmos m=1 w=1.155u l=130.00n ng=1 +MMP1 net2 net1 VDD VDD sg13_lv_pmos m=1 w=660.0n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_tiehi_iso L_HI VDD VSS +*.PININFO L_HI:O VDD:B VSS:B +MMN2 net3 net2 VSS VSS sg13_lv_nmos m=1 w=795.00n l=130.00n ng=1 +MMN1 net1 net1 VSS VSS sg13_lv_nmos m=1 w=300n l=130.00n ng=1 +MMP2 L_HI net3 VDD VDD sg13_lv_pmos m=1 w=1.155u l=130.00n ng=1 +MMP1 net2 net1 VDD VDD sg13_lv_pmos m=1 w=660.0n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_tiehi_digisub L_HI VDD VSS +*.PININFO L_HI:O VDD:B VSS:B +MMN2 net3 net2 VSS VSS sg13_lv_nmos m=1 w=795.00n l=130.00n ng=1 +MMN1 net1 net1 VSS VSS sg13_lv_nmos m=1 w=300n l=130.00n ng=1 +MMP2 L_HI net3 VDD VDD sg13_lv_pmos m=1 w=1.155u l=130.00n ng=1 +MMP1 net2 net1 VDD VDD sg13_lv_pmos m=1 w=660.0n l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_tielo/layout/sg13g2_tielo.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_tielo/layout/sg13g2_tielo.gds new file mode 100644 index 0000000000000000000000000000000000000000..9ad646fa87b335b99e37648149da3492ed55cc00 GIT binary patch literal 11906 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 a{vD_g+gTf%2{9kVc4BO#LTsebF#iJQf4(#T literal 0 HcmV?d00001 diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_xnor2_1/netlist/sg13g2_xnor2_1.cdl b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_xnor2_1/netlist/sg13g2_xnor2_1.cdl new file mode 100644 index 00000000..4dc176e6 --- /dev/null +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_xnor2_1/netlist/sg13g2_xnor2_1.cdl @@ -0,0 +1,67 @@ +************************************************************************ +* +* Copyright 2024 IHP PDK Authors +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* https://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +************************************************************************ + + +************************************************************************ +* Library Name: sg13g2_stdcell +* Cell Name: sg13g2_xnor2_1 +* View Name: schematic +************************************************************************ + +.SUBCKT sg13g2_xnor2_1 A B VDD VSS Y +*.PININFO A:I B:I Y:O VDD:B VSS:B +MP9 Y net1 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP8 Y B net4 VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP7 net4 A VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP1 net1 B VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP0 net1 A VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MN4 Y net1 net3 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN6 net2 A VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN5 net1 B net2 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN3 net3 B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN2 net3 A VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_xnor2_1_iso A B VDD VSS Y +*.PININFO A:I B:I Y:O VDD:B VSS:B +MP9 Y net1 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP8 Y B net4 VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP7 net4 A VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP1 net1 B VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP0 net1 A VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MN4 Y net1 net3 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN6 net2 A VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN5 net1 B net2 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN3 net3 B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN2 net3 A VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +.ENDS + +.SUBCKT sg13g2_xnor2_1_digisub A B VDD VSS Y +*.PININFO A:I B:I Y:O VDD:B VSS:B +MP9 Y net1 VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP8 Y B net4 VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP7 net4 A VDD VDD sg13_lv_pmos m=1 w=1.12u l=130.00n ng=1 +MP1 net1 B VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MP0 net1 A VDD VDD sg13_lv_pmos m=1 w=840.00n l=130.00n ng=1 +MN4 Y net1 net3 VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN6 net2 A VSS VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN5 net1 B net2 VSS sg13_lv_nmos m=1 w=640.00n l=130.00n ng=1 +MN3 net3 B VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +MN2 net3 A VSS VSS sg13_lv_nmos m=1 w=740.00n l=130.00n ng=1 +.ENDS + diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_xor2_1/layout/sg13g2_xor2_1.gds b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/testcases/sg13g2_cells/sg13g2_xor2_1/layout/sg13g2_xor2_1.gds new file mode 100644 index 0000000000000000000000000000000000000000..26cde4bb330190b6111db49bebae5f306cf49da8 GIT binary patch literal 16710 zcmeI3U5Hgx6vx*+_ug~Q+&TBoIGQzOHsuFmVtxcs$S{dTrBs%Lh~x*tpoz+uVkI(t zK~_Xx^peETOArxO(idd|Mo2HwL(zi|^N=7UA=OhB)BnHMS$E$V=bUPKY+tzi=B|C# zUTd$t_d4e+w-QSfZIn5ssCG`Ol1hhMC$rlBmNbfY@7zALZRin^S>7?@2o;d@wq{cWZkJ(oXubryDQ&G2;4Md$k^sB*oy*d(uv2m)aw12hrCK z&v*#}{UW{@qgT;}evIgEDtpHm&yLmFZ!+r1_$Du)kBrq%@Eh$$j<0f=j*pCoM9K#| z>2LI__D9whV)jpaR?p!2SI}R^66TVA7@^Kx{U5s{Y)5EIo&DJcU>cc)B$Vxe@KT`XY!O)?`ida%^M0>*?AZu||o5%OGpc?s9Pjk&+k zv-TM5LvBR-rTSSu{tx==Ts|MxI596XUS$1{t|eo7KYZbJ89RQ!-}r5WUao)Bj*rN0 z`p0>(c`$OmN+0Nak;#Y1S08z@y#wpP*m)1e^aRG1k@89NJ(d55X}>XB=P~`tvjgii zZo)=J#-$Q#e8}>fm`lXa$a_KMIKCMZuFZw;H)C8;J4URVsr-4~;=%pF9AqpXh5lmL z%Sd^$Put1rD)^54W@J0po3U~X@x(pVNV)qsy8Wm5!SBzh{B!qr?nB#mM()qX*YGK0 zbspwoCj7}5y#bv$n8S>f^}3&plh#-4^AG$!i+<5}^t5NkE|nY6-tO-u`gQn0{T5HD ze%&}PU%$EuV|g57`Q0GllOAU zjc6~_uRNpr#_A%~H$tAP-+^__@z?M59A4tI>(HEqyH{^p9^1+vs*lgu~2TDn?L@>JMb0X<~q*~{7tzL?fL%ShI!r!dsxTD zDqQb`+z5HDew2;7+^6F&_vyH!VPo<5;{o{oF!I@$XV)zJhTMquT>Fd@=b!O2a^5L7 z7R`UD30upt-*A14-{Lpr#^w3;Wkkna8Zhd(WyDxKeqP7%mj*mJZpw{C<8O?r-R4#! zbg_OLqsC(UyvOqSyYmW9KKoN{M0;-hnP-^)n177Sdz2fC@*l6OW4}|s#nY-^H!jMz z&vnN5aorgiH_DC0@l(C#R!{0Ne#S!m&6@Wbe|R$QH6S+@<-hbG;=Tdb<38WwZ&1d(7458MzzcQL;G2KZv1%PE|227z>~HqH=;dX ze>-d-|CFOPBJV_$8w>JJ>8!?`_L%=j#+`CwQT$7^4gX89Wu)Jf8zIm2pZ6I)xA6Yc z;wh|W%8dojFT9R^Q{PCxDK{4R-#Mo9o(_9*-YGX0%|Gw+TsO(6C-o>d7U^@H^S;gX z-y-hYPHrr?fAc=e=O^BOjm#UA8;kM>-veUAFXsI#V-4}6+z5I5{C)18Un} zed{!|lf{U~Ea&_Ed|_kcYEoDeojs{0x@G77z0jf?p)QJ?&pPm!Lv!Ii{d#0H}QW}Hx6}CyZ`FHBZ!2$s6LNeQrBcX zfbSzltA`qk>H>U!Y1KpLX+N!cDE4mF-u_%W!9ME>e4hw)QH=xZqkNwVbz^}!KoM}o`1r*|p6)D#)+bn|aPe2tC5|5Rn~#Nn)Ns7Z&jx^^}a zX`8v-a=7JmX7f;!Mhq_aT6CyMhnjRatBV`yd3=w1+8JG=ozXRhv%1K!M-Z>|%5YY9 z!ZY}Uns_*?t7p8zSzV1oxepH__;-PDR#)SYo#kzR2c58gWJGJBr2$XYL@75GofQjb zbv15WcRX`PGH&6lF4hqCVK}Sn) Date: Mon, 13 May 2024 15:20:54 +0300 Subject: [PATCH 2/7] Updating docs for LVS testing Signed-off-by: FaragElsayed2 --- .github/workflows/lvs_regression.yml | 6 +- Makefile | 8 + .../libs.tech/klayout/tech/lvs/README.md | 65 +------- .../klayout/tech/lvs/testing/Makefile | 8 +- .../klayout/tech/lvs/testing/README.md | 142 ++++++++++++------ 5 files changed, 120 insertions(+), 109 deletions(-) diff --git a/.github/workflows/lvs_regression.yml b/.github/workflows/lvs_regression.yml index de0ecc1a..e5313079 100644 --- a/.github/workflows/lvs_regression.yml +++ b/.github/workflows/lvs_regression.yml @@ -74,7 +74,7 @@ jobs: run: | make test-"$(python -c 'print("${{ matrix.part }}".upper())')"-${{ matrix.test }} - lvs_regression_stdcells: + lvs_regression_cells: runs-on: ubuntu-latest steps: - name: Installing Klayout @@ -92,6 +92,6 @@ jobs: - uses: actions/checkout@v3 with: submodules: 'recursive' - - name: Testing LVS for stdcells + - name: Testing LVS for SG13G2 cells run: | - make test-LVS-stdcells + make test-LVS-cells diff --git a/Makefile b/Makefile index 6cdef419..24806360 100644 --- a/Makefile +++ b/Makefile @@ -60,6 +60,14 @@ test-LVS-% : env @. $(VENV_RUN_COMMAND); echo "Running Klayout-LVS regression for $* device" @. $(VENV_RUN_COMMAND); cd $(KLAYOUT_LVS_TESTS) && make test-LVS-$* +#================================= +# -------- test-LVS-cells -------- +#================================= + +test-LVS-cells: env + @. $(VENV_RUN_COMMAND); echo "Running Klayout-LVS for SG13G2 cells" + @. $(VENV_RUN_COMMAND); cd $(KLAYOUT_LVS_TESTS) && make test-LVS-cells + #================================= # -------- test-LVS-switch ------- #================================= diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/README.md b/ihp-sg13g2/libs.tech/klayout/tech/lvs/README.md index 1c77edc3..b23de49b 100644 --- a/ihp-sg13g2/libs.tech/klayout/tech/lvs/README.md +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/README.md @@ -19,11 +19,11 @@ Explains how to use the SG13G2 LVS rule decks. ```text 📁 lvs - ┣ 📁testing Testing environment directory for SG13G2 LVS. - ┣ 📁rule_decks Holds all LVS rule decks used for SG13G2. - ┣ sg13g2.lvs Main LVS runset that call all rule decks. - ┣ 📜README.md This file to document LVS for SG13G2. - ┗ 📜run_lvs.py Main python script used for SG13G2 LVS. + ┣ 📁testing Directory for the SG13G2 LVS testing environment. + ┣ 📁rule_decks Contains all LVS rule decks used for SG13G2. + ┣ 📜sg13g2.lvs Main LVS runset that calls all rule decks. + ┣ 📜README.md Documentation for SG13G2 LVS. + ┗ 📜run_lvs.py Main Python script for SG13G2 LVS run. ``` ## Prerequisites @@ -45,59 +45,6 @@ To install the required Python packages, execute the following command: pip install -r ../../../../../requirements.txt ``` -## Devices Status - -The following table explains the list of available SG13G2 devices we have supported in our LVS runset. - -| Device | Tested | -|-----------------|------------------| -| **MOSFET** | | -| sg13_lv_nmos |:white_check_mark:| -| sg13_hv_nmos |:white_check_mark:| -| sg13_lv_pmos |:white_check_mark:| -| sg13_hv_pmos |:white_check_mark:| -| **RF-MOSFET** | | -| rfnmos |:white_check_mark:| -| rfnmosHV |:white_check_mark:| -| rfpmos |:white_check_mark:| -| rfpmosHV |:white_check_mark:| -| **BJTs** | | -| npn13G2 |:white_check_mark:| -| npn13G2L |:white_check_mark:| -| npn13G2V |:white_check_mark:| -| pnpMPA |:white_check_mark:| -| **Diodes** | | -| dantenna |:white_check_mark:| -| dpantenna |:white_check_mark:| -| schottky_nbl1 |:white_check_mark:| -| **Resistors** | | -| rsil |:white_check_mark:| -| rppd |:white_check_mark:| -| rhigh |:white_check_mark:| -| lvsres |:white_check_mark:| -| **Capacitors** | | -| SVaricap |:white_check_mark:| -| cap_cmim |:white_check_mark:| -| rfcmim |:white_check_mark:| -| **ESD** | | -| diodevdd_4kv |:white_check_mark:| -| diodevdd_2kv |:white_check_mark:| -| diodevss_4kv |:white_check_mark:| -| diodevss_2kv |:white_check_mark:| -| idiodevdd_4kv |:white_check_mark:| -| idiodevdd_2kv |:white_check_mark:| -| idiodevss_4kv |:white_check_mark:| -| idiodevss_2kv |:white_check_mark:| -| nmoscl_2 |:white_check_mark:| -| nmoscl_4 |:white_check_mark:| -| **Inductors** | | -| inductor |:white_check_mark:| -| inductor3 |:white_check_mark:| -| **Taps** | | -| ptap1 |:white_check_mark:| -| ntap1 |:white_check_mark:| - - ## Usage You have the option to execute the SG13G2-LVS through either a Python script via the command-line interface [CLI](#cli) or by the Klayout graphical user interface [GUI](#gui), as detailed in the subsequent usage sections. @@ -117,7 +64,7 @@ The `run_lvs.py` script takes your gds and netlist files to run LVS rule decks w **Options:** -- `--help -h ` Displays this help message. +- `--help -h` Displays this help message. - `--layout=` Specifies the file path of the input GDS file. diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/Makefile b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/Makefile index 47cbf3d2..2809a23c 100644 --- a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/Makefile +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/Makefile @@ -44,8 +44,8 @@ test-LVS-%: #================================ .ONESHELL: -test-LVS-stdcells: - @echo "========== LVS-stdcells Testing ==========" +test-LVS-cells: + @echo "========== SG13G2-Cells Testing ==========" @ python3 run_regression_cells.py #================================= @@ -58,6 +58,10 @@ test-LVS-switch: @python3 ../run_lvs.py --layout=testcases/extraction_checking/sg13_lv_nmos.gds --netlist=testcases/extraction_checking/sg13_lv_nmos.cdl --run_mode=deep --run_dir=test_nmos_deep @python3 ../run_lvs.py --layout=testcases/extraction_checking/sg13_lv_nmos.gds --netlist=testcases/extraction_checking/sg13_lv_nmos.cdl --run_mode=flat --run_dir=test_nmos_flat +#============================== +# -------- LIST DEVICES ------- +#============================== + .ONESHELL: list-devices: @echo "test-LVS-MOS" diff --git a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/README.md b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/README.md index 5fea958b..699b4884 100644 --- a/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/README.md +++ b/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing/README.md @@ -6,10 +6,11 @@ Explains how to test SG13G2 LVS rule decks. ```text 📁 testing - ┣ 📜README.md This file to document the testing directory. - ┣ 📜Makefile Used for SG13G2 LVS rule deck testing. - ┣ 📜run_regression.py Main regression script used for LVS testing. - ┣ 📁testcases All testcases used for LVS testing. + ┣ 📜README.md This file documents the contents of the testing directory. + ┣ 📜Makefile Used for testing the SG13G2 LVS rule deck. + ┣ 📜run_regression.py Main regression script for testing SG13G2 devices. + ┣ 📜run_regression_cells.py Main regression script for testing SG13G2 cells. + ┣ 📁testcases Contains all test cases used for LVS testing. ``` ## Prerequisites @@ -32,20 +33,72 @@ To install the required Python packages, execute the following command: pip install -r ../../../../../../requirements.txt ``` -## Usage +## Devices Status + +The following table explains the list of available SG13G2 devices we have supported in our LVS runset. + +| Device | Tested | +|-----------------|------------------| +| **MOSFET** | | +| sg13_lv_nmos |:white_check_mark:| +| sg13_hv_nmos |:white_check_mark:| +| sg13_lv_pmos |:white_check_mark:| +| sg13_hv_pmos |:white_check_mark:| +| **RF-MOSFET** | | +| rfnmos |:white_check_mark:| +| rfnmosHV |:white_check_mark:| +| rfpmos |:white_check_mark:| +| rfpmosHV |:white_check_mark:| +| **BJTs** | | +| npn13G2 |:white_check_mark:| +| npn13G2L |:white_check_mark:| +| npn13G2V |:white_check_mark:| +| pnpMPA |:white_check_mark:| +| **Diodes** | | +| dantenna |:white_check_mark:| +| dpantenna |:white_check_mark:| +| schottky_nbl1 |:white_check_mark:| +| **Resistors** | | +| rsil |:white_check_mark:| +| rppd |:white_check_mark:| +| rhigh |:white_check_mark:| +| lvsres |:white_check_mark:| +| **Capacitors** | | +| SVaricap |:white_check_mark:| +| cap_cmim |:white_check_mark:| +| rfcmim |:white_check_mark:| +| **ESD** | | +| diodevdd_4kv |:white_check_mark:| +| diodevdd_2kv |:white_check_mark:| +| diodevss_4kv |:white_check_mark:| +| diodevss_2kv |:white_check_mark:| +| idiodevdd_4kv |:white_check_mark:| +| idiodevdd_2kv |:white_check_mark:| +| idiodevss_4kv |:white_check_mark:| +| idiodevss_2kv |:white_check_mark:| +| nmoscl_2 |:white_check_mark:| +| nmoscl_4 |:white_check_mark:| +| **Inductors** | | +| inductor |:white_check_mark:| +| inductor3 |:white_check_mark:| +| **Taps** | | +| ptap1 |:white_check_mark:| +| ntap1 |:white_check_mark:| + +## Devices Regression Usage ```bash - run_regression.py (--help| -h) - run_regression.py [--device=] [--run_dir=] [--mp=] + run_regression.py (--help| -h) + run_regression.py [--device=] [--run_dir=] [--mp=] ``` Example: ```bash - python3 run_regression.py --device_name=MOS --run_dir=test_mos + python3 run_regression.py --device_name=MOS --run_dir=test_mos ``` -### Options +**Options** - `--help -h` Print this help message. @@ -56,17 +109,48 @@ Example: - `--mp=` The number of threads used in run. -Another approach for testing LVS devices, you could make a full test for SG13G2 LVS rule deck, by executing the following command in current testing directory: +Another approach for testing SG13G2 devices, you could make a full test for SG13G2 LVS rule deck, by executing the following command in current testing directory: ```bash -make all + make test-LVS-main ``` +## Cells Regression Usage + +```bash + run_regression_cells.py (--help| -h) + run_regression_cells.py [--cell=] [--run_dir=] [--mp=] +``` + +Example: + +```bash +python3 run_regression_cells.py --cell=sg13g2_inv_1 --run_dir=test_inv +``` + +**Options** + +- `--help -h` Print this help message. + +- `--cell=` Specify the cell to run; all cells run if not specified. + +- `--run_dir=` Run directory to save all the results [default: pwd] + +- `--mp=` The number of threads used in run. + + +Another approach for testing SG13G2 cells, you could make a full test for SG13G2 cells, by executing the following command in current testing directory: + +```bash + make test-LVS-cells +``` + + ## LVS Outputs You could find the regression run results at your run directory if you previously specified it through `--run_name=`. Default path of run directory is `unit_tests__