diff --git a/.github/workflows/Tests.yml b/.github/workflows/Tests.yml
new file mode 100644
index 0000000..1138d5d
--- /dev/null
+++ b/.github/workflows/Tests.yml
@@ -0,0 +1,83 @@
+# Copyright 2022 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.
+
+name: Regression testing
+
+# Prevent keeping resources busy when a branch/PR is updated
+# https://docs.github.com/en/actions/using-jobs/using-concurrency
+concurrency:
+  group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }}
+  cancel-in-progress: true
+
+on:
+  push:
+  pull_request:
+  workflow_dispatch:
+
+jobs:
+
+
+  Test:
+    runs-on: ubuntu-latest
+    strategy:
+      fail-fast: false
+      matrix:
+        include:
+          - { type: DRC, pdk: drc, test: main }
+          - { type: DRC, pdk: drc, test: switch }
+          - { type: DRC, pdk: drc, test: gf180mcu_fd_io }
+          - { type: DRC, pdk: drc, test: gf180mcu_fd_ip_sram }
+          - { type: DRC, pdk: drc, test: gf180mcu_fd_sc_mcu7t5v0 }
+          - { type: DRC, pdk: drc, test: gf180mcu_fd_sc_mcu9t5v0 }
+          - { type: LVS, pdk: lvs, test: main }
+          - { type: LVS, pdk: lvs, test: switch }
+          - { type: LVS, pdk: lvs, test: gf180mcu_fd_sc_mcu7t5v0}
+          - { type: LVS, pdk: lvs, test: gf180mcu_fd_sc_mcu9t5v0 }
+
+    name: ${{ matrix.type }} | ${{ matrix.test }}
+
+    env:
+      PDK_ROOT: $GITHUB_WORKSPACE/rules/klayout
+      PDK: ${{ matrix.pdk }}
+
+    steps:
+
+      - uses: actions/checkout@v3
+
+      - uses: actions/setup-python@v3
+        with:
+          python-version: '3.9'
+          cache: 'pip'
+          cache-dependency-path: '**/requirements.test.txt'
+
+      - run: pip install -r ./rules/klayout/requirements.test.txt
+
+      - name: Installing Klayout 0.27.8
+        run: |
+          sudo apt update -qq -y
+          wget https://www.klayout.org/downloads/Ubuntu-20/klayout_0.27.8-1_amd64.deb
+          sudo apt install -qq -y \
+            qt5-default \
+            qttools5-dev \
+            libqt5xmlpatterns5-dev \
+            qtmultimedia5-dev \
+            libqt5multimediawidgets5 \
+            libqt5svg5-dev
+          sudo dpkg -i ./klayout_0.27.8-1_amd64.deb
+          sudo apt-get install -f -y
+
+      - name: Testing ${{ matrix.type }} for ${{ matrix.test }}
+        run: |
+          cd ./rules/klayout/${{ matrix.pdk }}/testing
+          make test-${{ matrix.type }}-${{ matrix.test }}
diff --git a/.github/workflows/drc_gf180mcu_fd_io_test.yml b/.github/workflows/drc_gf180mcu_fd_io_test.yml
deleted file mode 100644
index 39a905c..0000000
--- a/.github/workflows/drc_gf180mcu_fd_io_test.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022 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.
-
-# This is a Github Actions for testing DRC rule deck of GF180MCU
-name: Regression testing the DRC rules against gf180mcu_fd_io
-
-# Controls when the workflow will run
-on:
-  # Triggers the workflow on push or pull request events
-  push:
-  pull_request:
-
-  # Allows you to run this workflow manually from the Actions tab
-  workflow_dispatch:
-
-# Defines environment variables
-env:
-  PDK_ROOT: $GITHUB_WORKSPACE/rules/klayout
-  PDK: drc
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
-  # This workflow contains a single job called "gf180mcu_fd_io_DRC_testing"
-  gf180mcu_fd_io_DRC_testing:
-    # The type of runner that the job will run on
-    runs-on: ubuntu-latest
-
-    # Steps represent a sequence of tasks that will be executed as part of the job
-    steps:
-      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
-      - uses: actions/checkout@v3
-
-      # Gets python version with list of needed requirements
-      - uses: actions/setup-python@v3
-        with:
-          python-version: '3.9'
-          cache: 'pip'
-          cache-dependency-path: '**/requirements.test.txt'
-
-      # Installs requirements
-      - run: pip install -r ./rules/klayout/requirements.test.txt
-
-      # Installs Klayout verison 0.27.8
-      - name: Installing Klayout 0.27.8
-        run: |
-          sudo apt-get update
-          sudo apt-get upgrade -y
-          wget https://www.klayout.org/downloads/Ubuntu-20/klayout_0.27.8-1_amd64.deb
-          sudo apt-get install qt5-default qttools5-dev libqt5xmlpatterns5-dev qtmultimedia5-dev libqt5multimediawidgets5 libqt5svg5-dev
-          sudo dpkg -i ./klayout_0.27.8-1_amd64.deb
-          sudo apt-get install -f -y
-
-      # Runs a set of commands using the runners shell
-      - name: Testing DRC for gf180mcu_fd_io
-        run: |
-          cd ./rules/klayout/drc/testing
-          make test-DRC-gf180mcu_fd_io
diff --git a/.github/workflows/drc_gf180mcu_fd_ip_sram_test.yml b/.github/workflows/drc_gf180mcu_fd_ip_sram_test.yml
deleted file mode 100644
index 4c80822..0000000
--- a/.github/workflows/drc_gf180mcu_fd_ip_sram_test.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022 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.
-
-# This is a Github Actions for testing DRC rule deck of GF180MCU
-name: Regression testing the DRC rules against gf180mcu_fd_ip_sram
-
-# Controls when the workflow will run
-on:
-  # Triggers the workflow on push or pull request events
-  push:
-  pull_request:
-
-  # Allows you to run this workflow manually from the Actions tab
-  workflow_dispatch:
-
-# Defines environment variables
-env:
-  PDK_ROOT: $GITHUB_WORKSPACE/rules/klayout
-  PDK: drc
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
-  # This workflow contains a single job called "DRC_gf180mcu_fd_ip_sram_testing"
-  DRC_gf180mcu_fd_ip_sram_testing:
-    # The type of runner that the job will run on
-    runs-on: ubuntu-latest
-
-    # Steps represent a sequence of tasks that will be executed as part of the job
-    steps:
-      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
-      - uses: actions/checkout@v3
-
-      # Gets python version with list of needed requirements
-      - uses: actions/setup-python@v3
-        with:
-          python-version: '3.9'
-          cache: 'pip'
-          cache-dependency-path: '**/requirements.test.txt'
-
-      # Installs requirements
-      - run: pip install -r ./rules/klayout/requirements.test.txt
-
-      # Installs Klayout verison 0.27.8
-      - name: Installing Klayout 0.27.8
-        run: |
-          sudo apt-get update
-          sudo apt-get upgrade -y
-          wget https://www.klayout.org/downloads/Ubuntu-20/klayout_0.27.8-1_amd64.deb
-          sudo apt-get install qt5-default qttools5-dev libqt5xmlpatterns5-dev qtmultimedia5-dev libqt5multimediawidgets5 libqt5svg5-dev
-          sudo dpkg -i ./klayout_0.27.8-1_amd64.deb
-          sudo apt-get install -f -y
-
-      # Runs a set of commands using the runners shell
-      - name: Testing DRC for gf180mcu_fd_ip_sram
-        run: |
-          cd ./rules/klayout/drc/testing
-          make test-DRC-gf180mcu_fd_ip_sram
diff --git a/.github/workflows/drc_gf180mcu_fd_sc_mcu7t5v0_test.yml b/.github/workflows/drc_gf180mcu_fd_sc_mcu7t5v0_test.yml
deleted file mode 100644
index b97d413..0000000
--- a/.github/workflows/drc_gf180mcu_fd_sc_mcu7t5v0_test.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022 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.
-
-# This is a Github Actions for testing DRC rule deck of GF180MCU
-name: Regression testing the DRC rules against gf180mcu_fd_sc_mcu7t5v0
-
-# Controls when the workflow will run
-on:
-  # Triggers the workflow on push or pull request events
-  push:
-  pull_request:
-
-  # Allows you to run this workflow manually from the Actions tab
-  workflow_dispatch:
-
-# Defines environment variables
-env:
-  PDK_ROOT: $GITHUB_WORKSPACE/rules/klayout
-  PDK: drc
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
-  # This workflow contains a single job called "DRC_gf180mcu_fd_sc_mcu7t5v0_testing"
-  DRC_gf180mcu_fd_sc_mcu7t5v0_testing:
-    # The type of runner that the job will run on
-    runs-on: ubuntu-latest
-
-    # Steps represent a sequence of tasks that will be executed as part of the job
-    steps:
-      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
-      - uses: actions/checkout@v3
-
-      # Gets python version with list of needed requirements
-      - uses: actions/setup-python@v3
-        with:
-          python-version: '3.9'
-          cache: 'pip'
-          cache-dependency-path: '**/requirements.test.txt'
-
-      # Installs requirements
-      - run: pip install -r ./rules/klayout/requirements.test.txt
-
-      # Installs Klayout verison 0.27.8
-      - name: Installing Klayout 0.27.8
-        run: |
-          sudo apt-get update
-          sudo apt-get upgrade -y
-          wget https://www.klayout.org/downloads/Ubuntu-20/klayout_0.27.8-1_amd64.deb
-          sudo apt-get install qt5-default qttools5-dev libqt5xmlpatterns5-dev qtmultimedia5-dev libqt5multimediawidgets5 libqt5svg5-dev
-          sudo dpkg -i ./klayout_0.27.8-1_amd64.deb
-          sudo apt-get install -f -y
-
-      # Runs a set of commands using the runners shell
-      - name: Testing DRC for gf180mcu_fd_sc_mcu7t5v0
-        run: |
-          cd ./rules/klayout/drc/testing
-          make test-DRC-gf180mcu_fd_sc_mcu7t5v0
diff --git a/.github/workflows/drc_gf180mcu_fd_sc_mcu9t5v0_test.yml b/.github/workflows/drc_gf180mcu_fd_sc_mcu9t5v0_test.yml
deleted file mode 100644
index 463e37a..0000000
--- a/.github/workflows/drc_gf180mcu_fd_sc_mcu9t5v0_test.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022 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.
-
-# This is a Github Actions for testing DRC rule deck of GF180MCU
-name: Regression testing the DRC rules against gf180mcu_fd_sc_mcu9t5v0
-
-# Controls when the workflow will run
-on:
-  # Triggers the workflow on push or pull request events
-  push:
-  pull_request:
-
-  # Allows you to run this workflow manually from the Actions tab
-  workflow_dispatch:
-
-# Defines environment variables
-env:
-  PDK_ROOT: $GITHUB_WORKSPACE/rules/klayout
-  PDK: drc
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
-  # This workflow contains a single job called "DRC_gf180mcu_fd_sc_mcu9t5v0_testing"
-  DRC_gf180mcu_fd_sc_mcu9t5v0_testing:
-    # The type of runner that the job will run on
-    runs-on: ubuntu-latest
-
-    # Steps represent a sequence of tasks that will be executed as part of the job
-    steps:
-      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
-      - uses: actions/checkout@v3
-
-      # Gets python version with list of needed requirements
-      - uses: actions/setup-python@v3
-        with:
-          python-version: '3.9'
-          cache: 'pip'
-          cache-dependency-path: '**/requirements.test.txt'
-
-      # Installs requirements
-      - run: pip install -r ./rules/klayout/requirements.test.txt
-
-      # Installs Klayout verison 0.27.8
-      - name: Installing Klayout 0.27.8
-        run: |
-          sudo apt-get update
-          sudo apt-get upgrade -y
-          wget https://www.klayout.org/downloads/Ubuntu-20/klayout_0.27.8-1_amd64.deb
-          sudo apt-get install qt5-default qttools5-dev libqt5xmlpatterns5-dev qtmultimedia5-dev libqt5multimediawidgets5 libqt5svg5-dev
-          sudo dpkg -i ./klayout_0.27.8-1_amd64.deb
-          sudo apt-get install -f -y
-
-      # Runs a set of commands using the runners shell
-      - name: Testing DRC for gf180mcu_fd_sc_mcu9t5v0
-        run: |
-          cd ./rules/klayout/drc/testing
-          make test-DRC-gf180mcu_fd_sc_mcu9t5v0
diff --git a/.github/workflows/drc_regression_test.yml b/.github/workflows/drc_regression_test.yml
deleted file mode 100644
index df1737e..0000000
--- a/.github/workflows/drc_regression_test.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022 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.
-
-# This is a Github Actions for testing DRC rule deck of GF180MCU
-name: Regression testing the DRC rules
-
-# Controls when the workflow will run
-on:
-  # Triggers the workflow on push or pull request events
-  push:
-  pull_request:
-
-  # Allows you to run this workflow manually from the Actions tab
-  workflow_dispatch:
-
-# Defines environment variables
-env:
-  PDK_ROOT: $GITHUB_WORKSPACE/rules/klayout
-  PDK: drc
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
-  # This workflow contains a single job called "DRC_Regression_testing"
-  DRC_Regression_testing:
-    # The type of runner that the job will run on
-    runs-on: ubuntu-latest
-
-    # Steps represent a sequence of tasks that will be executed as part of the job
-    steps:
-      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
-      - uses: actions/checkout@v3
-
-      # Gets python version with list of needed requirements
-      - uses: actions/setup-python@v3
-        with:
-          python-version: '3.9'
-          cache: 'pip'
-          cache-dependency-path: '**/requirements.test.txt'
-
-      # Installs requirements
-      - run: pip install -r ./rules/klayout/requirements.test.txt
-
-      # Installs Klayout verison 0.27.8
-      - name: Installing Klayout 0.27.8
-        run: |
-          sudo apt-get update
-          sudo apt-get upgrade -y
-          wget https://www.klayout.org/downloads/Ubuntu-20/klayout_0.27.8-1_amd64.deb
-          sudo apt-get install qt5-default qttools5-dev libqt5xmlpatterns5-dev qtmultimedia5-dev libqt5multimediawidgets5 libqt5svg5-dev
-          sudo dpkg -i ./klayout_0.27.8-1_amd64.deb
-          sudo apt-get install -f -y
-
-      # Runs a set of commands using the runners shell
-      - name: Testing DRC for Regression
-        run: |
-          cd ./rules/klayout/drc/testing
-          make test-DRC_main -j$(nproc)
diff --git a/.github/workflows/drc_switch_checking_test.yml b/.github/workflows/drc_switch_checking_test.yml
deleted file mode 100644
index d4040ef..0000000
--- a/.github/workflows/drc_switch_checking_test.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022 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.
-
-# This is a Github Actions for testing DRC rule deck of GF180MCU
-name: DRC Switch Checking (Rule deck arguments) test
-
-# Controls when the workflow will run
-on:
-  # Triggers the workflow on push or pull request events
-  push:
-  pull_request:
-
-  # Allows you to run this workflow manually from the Actions tab
-  workflow_dispatch:
-
-# Defines environment variables
-env:
-  PDK_ROOT: $GITHUB_WORKSPACE/rules/klayout
-  PDK: drc
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
-  # This workflow contains a single job called "DRC_Switch_Checking_testing"
-  DRC_Switch_Checking_testing:
-    # The type of runner that the job will run on
-    runs-on: ubuntu-latest
-
-    # Steps represent a sequence of tasks that will be executed as part of the job
-    steps:
-      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
-      - uses: actions/checkout@v3
-
-      # Gets python version with list of needed requirements
-      - uses: actions/setup-python@v3
-        with:
-          python-version: '3.9'
-          cache: 'pip'
-          cache-dependency-path: '**/requirements.test.txt'
-
-      # Installs requirements
-      - run: pip install -r ./rules/klayout/requirements.test.txt
-
-      # Installs Klayout verison 0.27.8
-      - name: Installing Klayout 0.27.8
-        run: |
-          sudo apt-get update
-          sudo apt-get upgrade -y
-          wget https://www.klayout.org/downloads/Ubuntu-20/klayout_0.27.8-1_amd64.deb
-          sudo apt-get install qt5-default qttools5-dev libqt5xmlpatterns5-dev qtmultimedia5-dev libqt5multimediawidgets5 libqt5svg5-dev
-          sudo dpkg -i ./klayout_0.27.8-1_amd64.deb
-          sudo apt-get install -f -y
-
-      # Runs a set of commands using the runners shell
-      - name: Testing DRC for Switch Checking
-        run: |
-          cd ./rules/klayout/drc/testing
-          make test-DRC_switch -j$(nproc)
diff --git a/.github/workflows/lvs_gf180mcu_fd_sc_mcu7t5v0_test.yml b/.github/workflows/lvs_gf180mcu_fd_sc_mcu7t5v0_test.yml
deleted file mode 100644
index 2e3eed0..0000000
--- a/.github/workflows/lvs_gf180mcu_fd_sc_mcu7t5v0_test.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022 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.
-
-# This is a Github Actions for testing LVS rule deck of GF180MCU
-name: Standard Cells gf180mcu_fd_sc_mcu7t5v0 LVS testing
-
-# Controls when the workflow will run
-on:
-  # Triggers the workflow on push or pull request events
-  push:
-  pull_request:
-
-  # Allows you to run this workflow manually from the Actions tab
-  workflow_dispatch:
-
-# Defines environment variables
-env:
-  PDK_ROOT: $GITHUB_WORKSPACE/rules/klayout
-  PDK: lvs
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
-  # This workflow contains a single job called "LVS_gf180mcu_fd_sc_mcu7t5v0_testing"
-  LVS_gf180mcu_fd_sc_mcu7t5v0_testing:
-    # The type of runner that the job will run on
-    runs-on: ubuntu-latest
-
-    # Steps represent a sequence of tasks that will be executed as part of the job
-    steps:
-      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
-      - uses: actions/checkout@v3
-
-      # Gets python version with list of needed requirements
-      - uses: actions/setup-python@v3
-        with:
-          python-version: '3.9'
-          cache: 'pip'
-          cache-dependency-path: '**/requirements.test.txt'
-
-      # Installs requirements
-      - run: pip install -r ./rules/klayout/requirements.test.txt
-
-      # Installs Klayout verison 0.27.8
-      - name: Installing Klayout 0.27.8
-        run: |
-          sudo apt-get update
-          sudo apt-get upgrade -y
-          wget https://www.klayout.org/downloads/Ubuntu-20/klayout_0.27.8-1_amd64.deb
-          sudo apt-get install qt5-default qttools5-dev libqt5xmlpatterns5-dev qtmultimedia5-dev libqt5multimediawidgets5 libqt5svg5-dev
-          sudo dpkg -i ./klayout_0.27.8-1_amd64.deb
-          sudo apt-get install -f -y
-
-      # Runs a set of commands using the runners shell
-      - name: Testing LVS for Standard Cells gf180mcu_fd_sc_mcu7t5v0
-        run: |
-          cd ./rules/klayout/lvs/testing
-          make test-LVS-gf180mcu_fd_sc_mcu7t5v0 -j$(nproc)
diff --git a/.github/workflows/lvs_gf180mcu_fd_sc_mcu9t5v0_test.yml b/.github/workflows/lvs_gf180mcu_fd_sc_mcu9t5v0_test.yml
deleted file mode 100644
index 0a1866e..0000000
--- a/.github/workflows/lvs_gf180mcu_fd_sc_mcu9t5v0_test.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022 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.
-
-# This is a Github Actions for testing LVS rule deck of GF180MCU
-name: Standard Cells gf180mcu_fd_sc_mcu9t5v0 LVS testing
-
-# Controls when the workflow will run
-on:
-  # Triggers the workflow on push or pull request events
-  push:
-  pull_request:
-
-  # Allows you to run this workflow manually from the Actions tab
-  workflow_dispatch:
-
-# Defines environment variables
-env:
-  PDK_ROOT: $GITHUB_WORKSPACE/rules/klayout
-  PDK: lvs
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
-  # This workflow contains a single job called "LVS_gf180mcu_fd_sc_mcu9t5v0_testing"
-  LVS_gf180mcu_fd_sc_mcu9t5v0_testing:
-    # The type of runner that the job will run on
-    runs-on: ubuntu-latest
-
-    # Steps represent a sequence of tasks that will be executed as part of the job
-    steps:
-      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
-      - uses: actions/checkout@v3
-
-      # Gets python version with list of needed requirements
-      - uses: actions/setup-python@v3
-        with:
-          python-version: '3.9'
-          cache: 'pip'
-          cache-dependency-path: '**/requirements.test.txt'
-
-      # Installs requirements
-      - run: pip install -r ./rules/klayout/requirements.test.txt
-
-      # Installs Klayout verison 0.27.8
-      - name: Installing Klayout 0.27.8
-        run: |
-          sudo apt-get update
-          sudo apt-get upgrade -y
-          wget https://www.klayout.org/downloads/Ubuntu-20/klayout_0.27.8-1_amd64.deb
-          sudo apt-get install qt5-default qttools5-dev libqt5xmlpatterns5-dev qtmultimedia5-dev libqt5multimediawidgets5 libqt5svg5-dev
-          sudo dpkg -i ./klayout_0.27.8-1_amd64.deb
-          sudo apt-get install -f -y
-
-      # Runs a set of commands using the runners shell
-      - name: Testing LVS for Standard Cells gf180mcu_fd_sc_mcu9t5v0
-        run: |
-          cd ./rules/klayout/lvs/testing
-          make test-LVS-gf180mcu_fd_sc_mcu9t5v0 -j$(nproc)
diff --git a/.github/workflows/lvs_regression.yml b/.github/workflows/lvs_regression.yml
deleted file mode 100644
index e8507ef..0000000
--- a/.github/workflows/lvs_regression.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022 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.
-
-# This is a Github Actions for testing LVS rule deck of GF180MCU
-name: LVS Regression test
-
-# Controls when the workflow will run
-on:
-  # Triggers the workflow on push or pull request events
-  push:
-  pull_request:
-
-  # Allows you to run this workflow manually from the Actions tab
-  workflow_dispatch:
-
-# Defines environment variables
-env:
-  PDK_ROOT: $GITHUB_WORKSPACE/rules/klayout
-  PDK: lvs
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
-  # This workflow contains a single job called "LVS_Regression_testing"
-  LVS_Regression_testing:
-    # The type of runner that the job will run on
-    runs-on: ubuntu-latest
-
-    # Steps represent a sequence of tasks that will be executed as part of the job
-    steps:
-      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
-      - uses: actions/checkout@v3
-
-      # Gets python version with list of needed requirements
-      - uses: actions/setup-python@v3
-        with:
-          python-version: '3.9'
-          cache: 'pip'
-          cache-dependency-path: '**/requirements.test.txt'
-
-      # Installs requirements
-      - run: pip install -r ./rules/klayout/requirements.test.txt
-
-      # Installs Klayout verison 0.27.8
-      - name: Installing Klayout 0.27.8
-        run: |
-          sudo apt-get update
-          sudo apt-get upgrade -y
-          wget https://www.klayout.org/downloads/Ubuntu-20/klayout_0.27.8-1_amd64.deb
-          sudo apt-get install qt5-default qttools5-dev libqt5xmlpatterns5-dev qtmultimedia5-dev libqt5multimediawidgets5 libqt5svg5-dev
-          sudo dpkg -i ./klayout_0.27.8-1_amd64.deb
-          sudo apt-get install -f -y
-
-      # Runs a set of commands using the runners shell
-      - name: Testing LVS for Regression
-        run: |
-          cd ./rules/klayout/lvs/testing
-          make test-LVS_main -j$(nproc)
diff --git a/.github/workflows/lvs_switch_checking_test.yml b/.github/workflows/lvs_switch_checking_test.yml
deleted file mode 100644
index 964a42b..0000000
--- a/.github/workflows/lvs_switch_checking_test.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022 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.
-
-# This is a Github Actions for testing LVS rule deck of GF180MCU
-name: LVS Switch Checking (Rule deck arguments) test
-
-# Controls when the workflow will run
-on:
-  # Triggers the workflow on push or pull request events
-  push:
-  pull_request:
-
-  # Allows you to run this workflow manually from the Actions tab
-  workflow_dispatch:
-
-# Defines environment variables
-env:
-  PDK_ROOT: $GITHUB_WORKSPACE/rules/klayout
-  PDK: lvs
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
-  # This workflow contains a single job called "LVS_Switch_checking_testing"
-  LVS_Switch_checking_testing:
-    # The type of runner that the job will run on
-    runs-on: ubuntu-latest
-
-    # Steps represent a sequence of tasks that will be executed as part of the job
-    steps:
-      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
-      - uses: actions/checkout@v3
-
-      # Gets python version with list of needed requirements
-      - uses: actions/setup-python@v3
-        with:
-          python-version: '3.9'
-          cache: 'pip'
-          cache-dependency-path: '**/requirements.test.txt'
-
-      # Installs requirements
-      - run: pip install -r ./rules/klayout/requirements.test.txt
-
-      # Installs Klayout verison 0.27.8
-      - name: Installing Klayout 0.27.8
-        run: |
-          sudo apt-get update
-          sudo apt-get upgrade -y
-          wget https://www.klayout.org/downloads/Ubuntu-20/klayout_0.27.8-1_amd64.deb
-          sudo apt-get install qt5-default qttools5-dev libqt5xmlpatterns5-dev qtmultimedia5-dev libqt5multimediawidgets5 libqt5svg5-dev
-          sudo dpkg -i ./klayout_0.27.8-1_amd64.deb
-          sudo apt-get install -f -y
-
-      # Runs a set of commands using the runners shell
-      - name: Testing LVS for Switch Checking
-        run: |
-          cd ./rules/klayout/lvs/testing
-          make test-LVS_switch -j$(nproc)
diff --git a/rules/klayout/drc/testing/Makefile b/rules/klayout/drc/testing/Makefile
index 21d8f44..df53ce7 100644
--- a/rules/klayout/drc/testing/Makefile
+++ b/rules/klayout/drc/testing/Makefile
@@ -23,16 +23,16 @@
 
 all : clean test-DRC
 
-test-DRC: test-DRC_switch  test-DRC_SC  test-DRC_main
+test-DRC: test-DRC-switch  test-DRC-SC  test-DRC-main
 
 
 #=================================
-# --------- test-DRC_SC ----------
+# --------- test-DRC-SC ----------
 #=================================
 
 .ONESHELL:
-test-DRC_SC : test-DRC-gf180mcu_fd_ip_sram test-DRC-gf180mcu_fd_io test-DRC-gf180mcu_fd_sc_mcu7t5v0 test-DRC-gf180mcu_fd_sc_mcu9t5v0
-	@echo "========== DRC-DRC_SC is done =========="
+test-DRC-SC : test-DRC-gf180mcu_fd_ip_sram test-DRC-gf180mcu_fd_io test-DRC-gf180mcu_fd_sc_mcu7t5v0 test-DRC-gf180mcu_fd_sc_mcu9t5v0
+	@echo "========== DRC-DRC-SC is done =========="
 
 .ONESHELL:
 test-DRC-gf180mcu_fd_ip_sram:
@@ -42,7 +42,7 @@
 		--path=ip_testcases/gf180mcu_fd_ip_sram__sram64x8m8wm1.gds 	\
 		--path=ip_testcases/gf180mcu_fd_ip_sram__sram128x8m8wm1.gds	\
 		--path=ip_testcases/gf180mcu_fd_ip_sram__sram256x8m8wm1.gds	\
-		--path=ip_testcases/gf180mcu_fd_ip_sram__sram512x8m8wm1.gds	
+		--path=ip_testcases/gf180mcu_fd_ip_sram__sram512x8m8wm1.gds
 
 .ONESHELL:
 test-DRC-gf180mcu_fd_io:
@@ -70,7 +70,7 @@
 #=================================
 
 .ONESHELL:
-test-DRC_main : test-DRC-foundry-Option-1 test-DRC-foundry-Option-2 test-DRC-foundry-Option-3 test-DRC-foundry-Option-4 test-DRC-Option-A test-DRC-Option-B test-DRC-Option-C
+test-DRC-main : test-DRC-foundry-Option-1 test-DRC-foundry-Option-2 test-DRC-foundry-Option-3 test-DRC-foundry-Option-4 test-DRC-Option-A test-DRC-Option-B test-DRC-Option-C
 	@echo "========== DRC-Regression is done =========="
 
 .ONESHELL:
@@ -79,7 +79,7 @@
 	@echo "========== DRC-Regression foundry-Option-1 =========="
 	@python3 run_regression.py 																\
 		--path=testcases/0.0.DM000013_13_1P6M_6kA_MIMA_SOLDER_BUMP.gds.gz					\
-		--metal_top="6K" --mim_option="A"  --metal_level=6 --run_name="DRC-foundry-Option-1"										
+		--metal_top="6K" --mim_option="A"  --metal_level=6 --run_name="DRC-foundry-Option-1"
 
 .ONESHELL:
 test-DRC-foundry-Option-2:
@@ -87,7 +87,7 @@
 	@echo "========== DRC-Regression foundry-Option-2 =========="
 	@python3 run_regression.py 																\
 		--path=testcases/0.0.DM000013_13_1P6M_9kA_MIMB_WEDGE.gds.gz							\
-		--metal_top="9K" --mim_option="B"  --metal_level=6  --run_name="DRC-foundry-Option-2"										
+		--metal_top="9K" --mim_option="B"  --metal_level=6  --run_name="DRC-foundry-Option-2"
 
 .ONESHELL:
 test-DRC-foundry-Option-3:
@@ -95,7 +95,7 @@
 	@echo "========== DRC-Regression foundry-Option-3 =========="
 	@python3 run_regression.py 																\
 		--path=testcases/0.0.DM000013_13_1P6M_11kA_MIMA_Gold_Bump.gds.gz					\
-		--metal_top="11K" --mim_option="A"  --metal_level=6	--run_name="DRC-foundry-Option-3"										
+		--metal_top="11K" --mim_option="A"  --metal_level=6	--run_name="DRC-foundry-Option-3"
 
 .ONESHELL:
 test-DRC-foundry-Option-4:
@@ -103,7 +103,7 @@
 	@echo "========== DRC-Regression foundry-Option-4 =========="
 	@python3 run_regression.py 																\
 		--path=testcases/0.0.DM000013_13_1P6M_30kA_MIMB_BALL.gds.gz							\
-		--metal_top="30K" --mim_option="B"  --metal_level=6	--run_name="DRC-foundry-Option-4"									
+		--metal_top="30K" --mim_option="B"  --metal_level=6	--run_name="DRC-foundry-Option-4"
 
 .ONESHELL:
 test-DRC-Option-A:
@@ -111,7 +111,7 @@
 	@echo "========== DRC-Regression Option-A =========="
 	@python3 run_regression.py 														\
 		--path=testcases/0.0.DM000013_13_1P6M_11kA_MIMA_Gold_Bump.gds.gz			\
-		--metal_top="30K" --mim_option="A"  --metal_level=3	--run_name="DRC-Option-A"										
+		--metal_top="30K" --mim_option="A"  --metal_level=3	--run_name="DRC-Option-A"
 
 .ONESHELL:
 test-DRC-Option-B:
@@ -119,7 +119,7 @@
 	@echo "========== DRC-Regression Option-B =========="
 	@python3 run_regression.py 														\
 		--path=testcases/0.0.DM000013_13_1P6M_11kA_MIMA_Gold_Bump.gds.gz			\
-		--metal_top="11K" --mim_option="B"  --metal_level=4	--run_name="DRC-Option-B"			
+		--metal_top="11K" --mim_option="B"  --metal_level=4	--run_name="DRC-Option-B"
 
 .ONESHELL:
 test-DRC-Option-C:
@@ -136,14 +136,14 @@
 		--path=testcases/density_testcases/MT_3_pass.gds				 			\
 		--path=testcases/density_testcases/PL_8_fail.gds				 			\
 		--path=testcases/density_testcases/PL_8_pass.gds				 			\
-		--metal_top="9K" --mim_option="B"  --metal_level=5	--run_name="DRC-Option-C"		
+		--metal_top="9K" --mim_option="B"  --metal_level=5	--run_name="DRC-Option-C"
 
 #=================================
-# -------- test-DRC_switch -------
+# -------- test-DRC-switch -------
 #=================================
 
 .ONESHELL:
-test-DRC_switch: 	
+test-DRC-switch:
 	@cd $(Testing_DIR)
 	@echo "========== DRC-Switch testing =========="
 	@python3 run_switch_checking.py
@@ -168,13 +168,13 @@
 	@echo "\n ==== The following are some of the valid targets for this Makefile ====\n"
 	@echo "... all                        			(the default if no target is provided             )"
 	@echo "... clean                      			(To clean all old runs                            )"
-	@echo "... test-DRC_switch            			(To run switch checking regression                )"
-	@echo "... test-DRC_SC                			(To run standard cells DRC regression             )"
+	@echo "... test-DRC-switch            			(To run switch checking regression                )"
+	@echo "... test-DRC-SC                			(To run standard cells DRC regression             )"
 	@echo "... test-DRC-gf180mcu_fd_ip_sram			(To run SRAM IP cells DRC regression 	          )"
 	@echo "... test-DRC-gf180mcu_fd_io				(To run I/O cells DRC regression             	  )"
 	@echo "... test-DRC-gf180mcu_fd_sc_mcu7t5v0		(To run standard cells 7 tracks DRC regression    )"
 	@echo "... test-DRC-gf180mcu_fd_sc_mcu9t5v0		(To run standard cells 9 tracks DRC regression    )"
-	@echo "... test-DRC_main              			(To run main DRC full regression                  )"
+	@echo "... test-DRC-main              			(To run main DRC full regression                  )"
 	@echo "... test-DRC-foundry-Option-1  			(To run main DRC regression using foundry-Option-1)"
 	@echo "... test-DRC-foundry-Option-2  			(To run main DRC regression using foundry-Option-2)"
 	@echo "... test-DRC-foundry-Option-3  			(To run main DRC regression using foundry-Option-3)"
diff --git a/rules/klayout/lvs/testing/Makefile b/rules/klayout/lvs/testing/Makefile
index 5656b9c..6f67766 100644
--- a/rules/klayout/lvs/testing/Makefile
+++ b/rules/klayout/lvs/testing/Makefile
@@ -24,7 +24,7 @@
 
 all: test-LVS
 
-test-LVS: Add_run-dir  test-LVS_switch  test-LVS-gf180mcu_fd_sc  test-LVS_main
+test-LVS: Add_run-dir  test-LVS-switch  test-LVS-gf180mcu_fd_sc  test-LVS-main
 
 #=================================
 # --------- RUN FOLDER ----------
@@ -36,7 +36,7 @@
 	@ mkdir -p $(run_folder)/switch_checking  $(run_folder)/main $(run_folder)/gf180mcu_fd_sc_mcu7t5v0 $(run_folder)/gf180mcu_fd_sc_mcu9t5v0 $(run_folder)/gf180mcu_fd_io $(run_folder)/gf180mcu_fd_ip_sram
 
 #=================================
-# --------- test-LVS_SC ----------
+# --------- test-LVS-SC ----------
 #=================================
 
 .ONESHELL:
@@ -67,7 +67,7 @@
 #=================================
 
 .ONESHELL:
-test-LVS_main: test-LVS_MOS  test-LVS_BJT  test-LVS_DIODE  test-LVS_RES  test-LVS_MIMCAP  test-LVS_MOSCAP  test-LVS_MOS-SAB
+test-LVS-main: test-LVS_MOS  test-LVS_BJT  test-LVS_DIODE  test-LVS_RES  test-LVS_MIMCAP  test-LVS_MOSCAP  test-LVS_MOS-SAB
 
 .ONESHELL:
 test-LVS_MOS: Add_run-dir
@@ -112,11 +112,11 @@
 	@ python3 run_regression.py  --run_dir=$(run_folder)/main --device=MOS-SAB |& tee $(run_folder)/main/LVS_MOS-SAB/results.log
 
 #=================================
-# -------- test-LVS_switch -------
+# -------- test-LVS-switch -------
 #=================================
 
 .ONESHELL:
-test-LVS_switch: Add_run-dir	
+test-LVS-switch: Add_run-dir
 	@cd $(Testing_DIR)
 	@cd ..
 	@echo "========== LVS-Switch testing =========="
@@ -135,9 +135,9 @@
 	@echo "... all                  	(the default if no target is provided          )"
 	@echo "... Add_run-dir          	(Create output directory of all runs           )"
 	@echo "... test-LVS             	(To run LVS full regression                    )"
-	@echo "... test-LVS_switch      	(To run switch checking regression             )"
+	@echo "... test-LVS-switch      	(To run switch checking regression             )"
 	@echo "... test-LVS-gf180mcu_fd_sc	(To run standard cells LVS regression          )"
-	@echo "... test-LVS_main        	(To run main LVS regression for all devices    )"
+	@echo "... test-LVS-main        	(To run main LVS regression for all devices    )"
 	@echo "... test-LVS_MOS         	(To run main LVS regression for MOS devices    )"
 	@echo "... test-LVS_BJT         	(To run main LVS regression for BJT devices    )"
 	@echo "... test-LVS_DIODE       	(To run main LVS regression for diode devices  )"
