| # Copyright 2023 GlobalFoundries 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 |
| # |
| # http://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. |
| |
| # The top directory where environment will be created. |
| TOP_DIR := $(realpath $(dir $(lastword $(MAKEFILE_LIST)))) |
| |
| # A pip `requirements.txt` file. |
| # https://pip.pypa.io/en/stable/reference/pip_install/#requirements-file-format |
| REQUIREMENTS_FILE := requirements.txt |
| |
| # https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html |
| ENVIRONMENT_FILE := pdk_regression.yml |
| |
| KLAYOUT_LVS_TESTS := klayout/lvs/testing/ |
| |
| include third_party/make-env/conda.mk |
| |
| # Lint python code |
| lint_python: | $(CONDA_ENV_PYTHON) |
| @$(IN_CONDA_ENV) flake8 . |
| |
| ################################################################################ |
| ## DRC Regression section |
| ################################################################################ |
| #================================= |
| # ----- test-DRC_regression ------ |
| #================================= |
| |
| .ONESHELL: |
| test-DRC-BCDLite-% : | $(CONDA_ENV_PYTHON) |
| @which python3 |
| @$(IN_CONDA_ENV) python3 ./scripts/run_regression_drc.py --variant=BCDLite --table=$* |
| |
| .ONESHELL: |
| test-DRC-ULL-% : | $(CONDA_ENV_PYTHON) |
| @which python3 |
| @$(IN_CONDA_ENV) python3 ./scripts/run_regression_drc.py --variant=ULL --table=$* |
| |
| .ONESHELL: |
| test-DRC-IC-% : | $(CONDA_ENV_PYTHON) |
| @which python3 |
| @$(IN_CONDA_ENV) python3 ./scripts/run_regression_drc.py --variant=IC --table=$* |
| |
| #================================= |
| # -------- test-DRC-switch ------- |
| #================================= |
| |
| # LVS main testing |
| test-DRC-switch: | $(CONDA_ENV_PYTHON) |
| @$(IN_CONDA_ENV) klayout -v |
| |
| ################################################################################ |
| ## LVS Regression section |
| ################################################################################ |
| #================================= |
| # ----- test-LVS_regression ------ |
| #================================= |
| |
| .ONESHELL: |
| test-LVS-BCDLite-% : | $(CONDA_ENV_PYTHON) |
| @which python3 |
| @$(IN_CONDA_ENV) python3 ./scripts/run_regression_lvs.py --variant=BCDLite --device=$* |
| |
| .ONESHELL: |
| test-LVS-ULL-% : | $(CONDA_ENV_PYTHON) |
| @which python3 |
| @$(IN_CONDA_ENV) python3 ./scripts/run_regression_lvs.py --variant=ULL --device=$* |
| |
| .ONESHELL: |
| test-LVS-IC-% : | $(CONDA_ENV_PYTHON) |
| @which python3 |
| @$(IN_CONDA_ENV) python3 ./scripts/run_regression_lvs.py --variant=IC --device=$* |
| |
| #================================= |
| # -------- test-LVS-switch ------- |
| #================================= |
| |
| # LVS main testing |
| test-LVS-switch: | $(CONDA_ENV_PYTHON) |
| @$(IN_CONDA_ENV) klayout -v |
| |
| #================================ |
| # ---------- GEN-SVG ------------ |
| #================================ |
| |
| # Generate SVGs |
| gen-svg: | $(CONDA_ENV_PYTHON) |
| @which python3 |
| @$(IN_CONDA_ENV) python3 ./scripts/generate_svg.py . |