DRC Testing =========== .. tip:: - This section provides instructions for testing SG13G2-DRC 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/drc/testing Folder Structure ---------------- .. code-block:: rst πŸ“ testing ┣ πŸ“œREADME.md This file to document the regression. ┣ πŸ“œrun_regression.py Main regression script used for DRC testing. ┣ πŸ“testcases All testcases used in regression. Usage Guide ----------- Golden Results (For Developers Only) ************************************ .. note:: This section is intended for *developers*. If you are an end user, you can safely ignore it. Golden unit tests are generated for all implemented and verified DRC rules and are stored in the `unit_golden` directory. These serve as the reference ("golden") results to validate the correctness of the DRC implementation. To regenerate golden results based on the current rule implementation, use the following script: .. code-block:: bash gen_golden.py (--help | -h) gen_golden.py [--table_name=] [--run_dir=] [--mp=] [--keep] Example: .. code-block:: bash python3 gen_golden.py --table_name=activ --run_dir=testcases/unit_golden **Options** .. code-block:: rst -h, --help show this help message and exit --table_name TABLE_NAME Target rule table name to generate golden results for. --run_dir RUN_DIR Directory to store output. If not specified, a timestamped folder will be created. --mp MP The number of cores used in the run. [default: 1] --keep Keep output logs and intermediate files after processing. Regression Testing ****************** Use the regression script to validate current rule outputs against the golden references. .. code-block:: bash run_regression.py (--help | -h) run_regression.py [--run_dir=] [--table_name=] [--mp=] Example: .. code-block:: bash python3 run_regression.py --table_name=activ --run_dir=activ_regression **Options** .. code-block:: rst -h, --help show this help message and exit --run_dir RUN_DIR Run directory to save all the results. If not provided, a timestamped directory will be created. --table_name TABLE_NAME Target specific rule table to run. --mp MP The number of parts to split the rule deck for parallel execution. [default: 1] DRC Regression 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__