diff --git a/.github/workflows/drc_gf180mcu_fd_io_test.yml b/.github/workflows/drc_gf180mcu_fd_io_test.yml
new file mode 100644
index 0000000..68b9698
--- /dev/null
+++ b/.github/workflows/drc_gf180mcu_fd_io_test.yml
@@ -0,0 +1,66 @@
+# 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: |
+          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
new file mode 100644
index 0000000..f5b0f1c
--- /dev/null
+++ b/.github/workflows/drc_gf180mcu_fd_ip_sram_test.yml
@@ -0,0 +1,66 @@
+# 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: |
+          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
new file mode 100644
index 0000000..0a93fdb
--- /dev/null
+++ b/.github/workflows/drc_gf180mcu_fd_sc_mcu7t5v0_test.yml
@@ -0,0 +1,66 @@
+# 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: |
+          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
new file mode 100644
index 0000000..93a36f9
--- /dev/null
+++ b/.github/workflows/drc_gf180mcu_fd_sc_mcu9t5v0_test.yml
@@ -0,0 +1,66 @@
+# 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: |
+          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
new file mode 100644
index 0000000..e1934a8
--- /dev/null
+++ b/.github/workflows/drc_regression_test.yml
@@ -0,0 +1,66 @@
+# 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: |
+          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
new file mode 100644
index 0000000..9c8e5a2
--- /dev/null
+++ b/.github/workflows/drc_switch_checking_test.yml
@@ -0,0 +1,66 @@
+# 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: |
+          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/rules/klayout/drc/testing/Makefile b/rules/klayout/drc/testing/Makefile
index 8f75baf..37824f1 100644
--- a/rules/klayout/drc/testing/Makefile
+++ b/rules/klayout/drc/testing/Makefile
@@ -31,18 +31,39 @@
 #=================================
 
 .ONESHELL:
-test-DRC_SC:
+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:
 	@cd $(Testing_DIR)
-	@echo "========== DRC-SC testing =========="
-	@ python3 run_sc_regression.py --path=sc_testcases/GF018_5VGreen_SRAM_1P_64x8M8WM1.gds  \
-								   --path=sc_testcases/GF018_5VGreen_SRAM_1P_128x8M8WM1.gds \
-								   --path=sc_testcases/GF018_5VGreen_SRAM_1P_256x8M8WM1.gds \
-								   --path=sc_testcases/GF018_5VGreen_SRAM_1P_512x8M8WM1.gds \
-								   --path=sc_testcases/GF018green_ipio_5p0c_75_3lm.gds      \
-								   --path=sc_testcases/GF018green_ipio_5p0c_75_4lm.gds	    \
-								   --path=sc_testcases/GF018green_ipio_5p0c_75_5lm.gds 		\
-								   --path=sc_testcases/GF018hv5v_green_sc9.gds 				\
-								   --path=sc_testcases/GF018hv5v_mcu_sc7.gds				\
+	@echo "========== DRC-gf180mcu_fd_ip_sram testing =========="
+	@ python3 run_sc_regression.py 									\
+		--path=sc_testcases/gf180mcu_fd_ip_sram__sram64x8m8wm1.gds 	\
+		--path=sc_testcases/gf180mcu_fd_ip_sram__sram128x8m8wm1.gds	\
+		--path=sc_testcases/gf180mcu_fd_ip_sram__sram256x8m8wm1.gds	\
+		--path=sc_testcases/gf180mcu_fd_ip_sram__sram512x8m8wm1.gds	
+
+.ONESHELL:
+test-DRC-gf180mcu_fd_io:
+	@cd $(Testing_DIR)
+	@echo "========== DRC-gf180mcu_fd_io testing =========="
+	@ python3 run_sc_regression.py 					\
+		--path=sc_testcases/gf180mcu_fd_io_3lm.gds	\
+		--path=sc_testcases/gf180mcu_fd_io_4lm.gds	\
+		--path=sc_testcases/gf180mcu_fd_io_5lm.gds
+
+.ONESHELL:
+test-DRC-gf180mcu_fd_sc_mcu7t5v0:
+	@cd $(Testing_DIR)
+	@echo "========== DRC-gf180mcu_fd_sc_mcu7t5v0 testing =========="
+	@ python3 run_sc_regression.py --path=sc_testcases/gf180mcu_fd_sc_mcu7t5v0.gds
+
+.ONESHELL:
+test-DRC-gf180mcu_fd_sc_mcu9t5v0:
+	@cd $(Testing_DIR)
+	@echo "========== DRC-gf180mcu_fd_sc_mcu9t5v0 testing =========="
+	@ python3 run_sc_regression.py --path=sc_testcases/gf180mcu_fd_sc_mcu9t5v0.gds
 
 #=================================
 # ----- test-DRC_regression ------
@@ -56,59 +77,66 @@
 test-DRC-foundry-Option-1:
 	@cd $(Testing_DIR)
 	@echo "========== DRC-Regression foundry-Option-1 =========="
-	@python3 run_regression.py --path=testcases/0.0.DM000013_13_1P6M_6kA_MIMA_SOLDER_BUMP.gds \
-							   --metal_top="6K" --mim_option="A"  --metal_level=6 --run_name="DRC-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"										
 
 .ONESHELL:
 test-DRC-foundry-Option-2:
 	@cd $(Testing_DIR)
 	@echo "========== DRC-Regression foundry-Option-2 =========="
-	@python3 run_regression.py --path=testcases/0.0.DM000013_13_1P6M_9kA_MIMB_WEDGE.gds \
-							   --metal_top="9K" --mim_option="B"  --metal_level=6  --run_name="DRC-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"										
 
 .ONESHELL:
 test-DRC-foundry-Option-3:
 	@cd $(Testing_DIR)
 	@echo "========== DRC-Regression foundry-Option-3 =========="
-	@python3 run_regression.py --path=testcases/0.0.DM000013_13_1P6M_11kA_MIMA_Gold_Bump.gds \
-							   --metal_top="11K" --mim_option="A"  --metal_level=6	--run_name="DRC-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"										
 
 .ONESHELL:
 test-DRC-foundry-Option-4:
 	@cd $(Testing_DIR)
 	@echo "========== DRC-Regression foundry-Option-4 =========="
-	@python3 run_regression.py --path=testcases/0.0.DM000013_13_1P6M_30kA_MIMB_BALL.gds \
-							   --metal_top="30K" --mim_option="B"  --metal_level=6	--run_name="DRC-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"									
 
 .ONESHELL:
 test-DRC-Option-A:
 	@cd $(Testing_DIR)
 	@echo "========== DRC-Regression Option-A =========="
-	@python3 run_regression.py --path=testcases/0.0.DM000013_13_1P6M_11kA_MIMA_Gold_Bump.gds \
-							   --metal_top="30K" --mim_option="A"  --metal_level=3	--run_name="DRC-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"										
 
 .ONESHELL:
 test-DRC-Option-B:
 	@cd $(Testing_DIR)
 	@echo "========== DRC-Regression Option-B =========="
-	@python3 run_regression.py --path=testcases/0.0.DM000013_13_1P6M_11kA_MIMA_Gold_Bump.gds \
-							   --metal_top="11K" --mim_option="B"  --metal_level=4	--run_name="DRC-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"			
 
 .ONESHELL:
 test-DRC-Option-C:
 	@cd $(Testing_DIR)
 	@echo "========== DRC-Regression Option-C =========="
-	@python3 run_regression.py --path=testcases/0.0.DM000013_13_1P6M_11kA_MIMA_Gold_Bump.gds \
-							   --path=testcases/Manual_testcases.gds						 \
-							   --path=testcases/density_testcases/Mn_4_fail.gds				 \
-							   --path=testcases/density_testcases/Mn_4_pass.gds				 \
-							   --path=testcases/density_testcases/MT30_7_fail.gds			 \
-							   --path=testcases/density_testcases/MT30_7_pass.gds			 \
-							   --path=testcases/density_testcases/MT_3_fail.gds				 \
-							   --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"		
+	@python3 run_regression.py 														\
+		--path=testcases/0.0.DM000013_13_1P6M_11kA_MIMA_Gold_Bump.gds.gz			\
+		--path=testcases/Manual_testcases.gds						 				\
+		--path=testcases/density_testcases/Mn_4_fail.gds				 			\
+		--path=testcases/density_testcases/Mn_4_pass.gds				 			\
+		--path=testcases/density_testcases/MT30_7_fail.gds			 				\
+		--path=testcases/density_testcases/MT30_7_pass.gds			 				\
+		--path=testcases/density_testcases/MT_3_fail.gds				 			\
+		--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"		
 
 #=================================
 # -------- test-DRC_switch -------
@@ -138,15 +166,19 @@
 # Help Target
 help:
 	@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_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)"
-	@echo "... test-DRC-foundry-Option-4  (To run main DRC regression using foundry-Option-4)"
-	@echo "... test-DRC-Option-A          (To run main DRC regression using Option-A        )"
-	@echo "... test-DRC-Option-B          (To run main DRC regression using Option-B        )"
-	@echo "... test-DRC-Option-C          (To run main DRC regression using Option-C        )"
+	@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-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-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)"
+	@echo "... test-DRC-foundry-Option-4  			(To run main DRC regression using foundry-Option-4)"
+	@echo "... test-DRC-Option-A          			(To run main DRC regression using Option-A        )"
+	@echo "... test-DRC-Option-B          			(To run main DRC regression using Option-B        )"
+	@echo "... test-DRC-Option-C          			(To run main DRC regression using Option-C        )"
diff --git a/rules/klayout/drc/testing/run_regression.py b/rules/klayout/drc/testing/run_regression.py
index 6f8741a..5582f72 100644
--- a/rules/klayout/drc/testing/run_regression.py
+++ b/rules/klayout/drc/testing/run_regression.py
@@ -100,7 +100,7 @@
             if 'logger.info("Starting GF180MCU DENSITY DRC rules.")' in line:
                 remove_if = True
             if remove_if == True:
-                if 'CHIP.area' in line or 'end ' in line and 'end #' not in line:
+                if 'CHIP.area' in line or 'end\n' in line and 'end #' not in line:
                     line = ''
             if 'GEOMETRY RULES' in line:
                 break
diff --git a/rules/klayout/drc/testing/run_sc_regression.py b/rules/klayout/drc/testing/run_sc_regression.py
index 664d39b..f08ac69 100644
--- a/rules/klayout/drc/testing/run_sc_regression.py
+++ b/rules/klayout/drc/testing/run_sc_regression.py
@@ -139,8 +139,9 @@
             os.system(f"klayout -b -r split_gds.rb -rd input={path}")
             print(f"File {path} was splitted into multiple gds files")
 
-    other_files = os.listdir('sc')
-    args["--path"] = args["--path"] + other_files
+    if os.path.exists("sc"):
+        other_files = os.listdir('sc')
+        args["--path"] = args["--path"] + other_files
 
     # Get input data for simulator
     for path in args["--path"]:
diff --git a/rules/klayout/drc/testing/run_switch_checking.py b/rules/klayout/drc/testing/run_switch_checking.py
index 73b1215..87ef89a 100644
--- a/rules/klayout/drc/testing/run_switch_checking.py
+++ b/rules/klayout/drc/testing/run_switch_checking.py
@@ -74,7 +74,7 @@
         os.system('mkdir -p {0}'.format(run_directory))
 
         log_file = run_directory + "/" + test_case + ".log"
-        os.system('python3 ../run_drc.py --path=switch_checking/switch_checking.gds {0} >> {1}'.format(switches, log_file))
+        os.system('python3 ../run_drc.py --path=switch_checking/simple_por.gds.gz {0} >> {1}'.format(switches, log_file))
 
         check_output_log(log_file, expected_result)
 
diff --git a/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__sram128x8m8wm1.gds b/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__sram128x8m8wm1.gds
new file mode 100644
index 0000000..5397ff3
--- /dev/null
+++ b/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__sram128x8m8wm1.gds
Binary files differ
diff --git a/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__sram256x8m8wm1.gds b/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__sram256x8m8wm1.gds
new file mode 100644
index 0000000..7fd6339
--- /dev/null
+++ b/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__sram256x8m8wm1.gds
Binary files differ
diff --git a/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__sram512x8m8wm1.gds b/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__sram512x8m8wm1.gds
new file mode 100644
index 0000000..cd71da3
--- /dev/null
+++ b/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__sram512x8m8wm1.gds
Binary files differ
diff --git a/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__sram64x8m8wm1.gds b/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__sram64x8m8wm1.gds
new file mode 100644
index 0000000..d53a578
--- /dev/null
+++ b/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__sram64x8m8wm1.gds
Binary files differ
diff --git a/rules/klayout/drc/testing/switch_checking/simple_por.gds.gz b/rules/klayout/drc/testing/switch_checking/simple_por.gds.gz
new file mode 100644
index 0000000..920b37f
--- /dev/null
+++ b/rules/klayout/drc/testing/switch_checking/simple_por.gds.gz
Binary files differ
diff --git a/rules/klayout/drc/testing/switch_checking/switch_checking.gds b/rules/klayout/drc/testing/switch_checking/switch_checking.gds
deleted file mode 100644
index 025aa90..0000000
--- a/rules/klayout/drc/testing/switch_checking/switch_checking.gds
+++ /dev/null
Binary files differ
diff --git a/rules/klayout/requirements.test.txt b/rules/klayout/requirements.test.txt
new file mode 100644
index 0000000..3f6804c
--- /dev/null
+++ b/rules/klayout/requirements.test.txt
@@ -0,0 +1,4 @@
+docopt==0.6.2
+pandas==1.3.4
+sympy==1.9
+numpy==1.20.3
