LVS Testing =========== .. tip:: - This section provides instructions for testing SG13G2-LVS using KLayout. - For detailed steps and resources, please refer to `Testing`_ directory. .. _Testing: https://github.com/IHP-GmbH/IHP-Open-PDK/tree/dev/ihp-sg13g2/libs.tech/klayout/tech/lvs/testing Folder Structure ---------------- .. code-block:: rst πŸ“ 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. 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 |βœ… | +-----------------+------------------+ | sg13_hv_nmos |βœ… | +-----------------+------------------+ | sg13_lv_pmos |βœ… | +-----------------+------------------+ | sg13_hv_pmos |βœ… | +-----------------+------------------+ | **RF-MOSFET** | | +-----------------+------------------+ | rfnmos |βœ… | +-----------------+------------------+ | rfnmosHV |βœ… | +-----------------+------------------+ | rfpmos |βœ… | +-----------------+------------------+ | rfpmosHV |βœ… | +-----------------+------------------+ | **BJTs** | | +-----------------+------------------+ | npn13G2 |βœ… | +-----------------+------------------+ | npn13G2L |βœ… | +-----------------+------------------+ | npn13G2V |βœ… | +-----------------+------------------+ | pnpMPA |βœ… | +-----------------+------------------+ | **Diodes** | | +-----------------+------------------+ | dantenna |βœ… | +-----------------+------------------+ | dpantenna |βœ… | +-----------------+------------------+ | schottky_nbl1 |βœ… | +-----------------+------------------+ | **Resistors** | | +-----------------+------------------+ | rsil |βœ… | +-----------------+------------------+ | rppd |βœ… | +-----------------+------------------+ | rhigh |βœ… | +-----------------+------------------+ | lvsres |βœ… | +-----------------+------------------+ | **Capacitors** | | +-----------------+------------------+ | SVaricap |βœ… | +-----------------+------------------+ | cap_cmim |βœ… | +-----------------+------------------+ | rfcmim |βœ… | +-----------------+------------------+ | **ESD** | | +-----------------+------------------+ | diodevdd_4kv |βœ… | +-----------------+------------------+ | diodevdd_2kv |βœ… | +-----------------+------------------+ | diodevss_4kv |βœ… | +-----------------+------------------+ | diodevss_2kv |βœ… | +-----------------+------------------+ | idiodevdd_4kv |βœ… | +-----------------+------------------+ | idiodevdd_2kv |βœ… | +-----------------+------------------+ | idiodevss_4kv |βœ… | +-----------------+------------------+ | idiodevss_2kv |βœ… | +-----------------+------------------+ | nmoscl_2 |βœ… | +-----------------+------------------+ | nmoscl_4 |βœ… | +-----------------+------------------+ | **Inductors** | | +-----------------+------------------+ | inductor |βœ… | +-----------------+------------------+ | inductor3 |βœ… | +-----------------+------------------+ | **Taps** | | +-----------------+------------------+ | ptap1 |βœ… | +-----------------+------------------+ | ntap1 |βœ… | +-----------------+------------------+ Devices Regression Usage ------------------------ .. code-block:: bash run_regression.py (--help| -h) run_regression.py [--device=] [--run_dir=] [--mp=] Example: .. code-block:: bash python3 run_regression.py --device_name=MOS --run_dir=test_mos **Options** .. code-block:: rst `--help -h` Print this help message. `--device=` Select device category you want to run regression on. `--run_dir=` Run directory to save all the results [default: pwd] `--mp=` The number of threads used in run. 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: .. code-block:: bash make test-LVS-main Cells Regression Usage ---------------------- .. code-block:: bash run_regression_cells.py (--help| -h) run_regression_cells.py [--cell=] [--run_dir=] [--mp=] Example: .. code-block:: bash python3 run_regression_cells.py --cell=sg13g2_inv_1 --run_dir=test_inv **Options** .. code-block:: rst `--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: .. code-block:: 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__