Merge pull request #17 from mabrains/moving_ip_testcases

Moving the SRAM test cases to a ip_testcases directory
diff --git a/README.rst b/README.rst
index 8e53fc9..b1fadf3 100644
--- a/README.rst
+++ b/README.rst
@@ -1,4 +1,4 @@
-GlobalFoundries 180um MCU primitive libraries
+GlobalFoundries 180nm MCU primitive libraries
 =============================================
 
 This repository contains the "primitive cells" implementation as part of
diff --git a/rules/klayout/drc/testing/Makefile b/rules/klayout/drc/testing/Makefile
index 37824f1..21d8f44 100644
--- a/rules/klayout/drc/testing/Makefile
+++ b/rules/klayout/drc/testing/Makefile
@@ -39,19 +39,19 @@
 	@cd $(Testing_DIR)
 	@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	
+		--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	
 
 .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
+		--path=ip_testcases/gf180mcu_fd_io_3lm.gds	\
+		--path=ip_testcases/gf180mcu_fd_io_4lm.gds	\
+		--path=ip_testcases/gf180mcu_fd_io_5lm.gds
 
 .ONESHELL:
 test-DRC-gf180mcu_fd_sc_mcu7t5v0:
diff --git a/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_io_3lm.gds b/rules/klayout/drc/testing/ip_testcases/gf180mcu_fd_io_3lm.gds
similarity index 100%
rename from rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_io_3lm.gds
rename to rules/klayout/drc/testing/ip_testcases/gf180mcu_fd_io_3lm.gds
Binary files differ
diff --git a/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_io_4lm.gds b/rules/klayout/drc/testing/ip_testcases/gf180mcu_fd_io_4lm.gds
similarity index 100%
rename from rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_io_4lm.gds
rename to rules/klayout/drc/testing/ip_testcases/gf180mcu_fd_io_4lm.gds
Binary files differ
diff --git a/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_io_5lm.gds b/rules/klayout/drc/testing/ip_testcases/gf180mcu_fd_io_5lm.gds
similarity index 100%
rename from rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_io_5lm.gds
rename to rules/klayout/drc/testing/ip_testcases/gf180mcu_fd_io_5lm.gds
Binary files differ
diff --git a/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__sram128x8m8wm1.gds b/rules/klayout/drc/testing/ip_testcases/gf180mcu_fd_ip_sram__sram128x8m8wm1.gds
similarity index 100%
rename from rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__sram128x8m8wm1.gds
rename to rules/klayout/drc/testing/ip_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/ip_testcases/gf180mcu_fd_ip_sram__sram256x8m8wm1.gds
similarity index 100%
rename from rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__sram256x8m8wm1.gds
rename to rules/klayout/drc/testing/ip_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/ip_testcases/gf180mcu_fd_ip_sram__sram512x8m8wm1.gds
similarity index 100%
rename from rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__sram512x8m8wm1.gds
rename to rules/klayout/drc/testing/ip_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/ip_testcases/gf180mcu_fd_ip_sram__sram64x8m8wm1.gds
similarity index 100%
rename from rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__sram64x8m8wm1.gds
rename to rules/klayout/drc/testing/ip_testcases/gf180mcu_fd_ip_sram__sram64x8m8wm1.gds
Binary files differ
diff --git a/rules/klayout/drc/testing/run_sc_regression.py b/rules/klayout/drc/testing/run_sc_regression.py
index f08ac69..8bd4934 100644
--- a/rules/klayout/drc/testing/run_sc_regression.py
+++ b/rules/klayout/drc/testing/run_sc_regression.py
@@ -20,9 +20,9 @@
     run_sc_regression.py (--path=<file_path>)... [--thr=<thr>]
 
 Options:
-    --help -h                           Print this help message
-    --path=<file_path>                  The input GDS file path.
-    --thr=<thr>                         The number of threads used in run.
+    --help -h           Print this help message
+    --path=<file_path>  The input GDS file path.
+    --thr=<thr>         The number of threads used in run.
 
 """
 from docopt import docopt
diff --git a/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__128x8m8wm1.gds b/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__128x8m8wm1.gds
deleted file mode 100644
index 151cee3..0000000
--- a/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__128x8m8wm1.gds
+++ /dev/null
Binary files differ
diff --git a/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__256x8m8wm1.gds b/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__256x8m8wm1.gds
deleted file mode 100644
index c490d57..0000000
--- a/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__256x8m8wm1.gds
+++ /dev/null
Binary files differ
diff --git a/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__512x8m8wm1.gds b/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__512x8m8wm1.gds
deleted file mode 100644
index 0db35ac..0000000
--- a/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__512x8m8wm1.gds
+++ /dev/null
Binary files differ
diff --git a/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__64x8m8wm1.gds b/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__64x8m8wm1.gds
deleted file mode 100644
index 67a4a4f..0000000
--- a/rules/klayout/drc/testing/sc_testcases/gf180mcu_fd_ip_sram__64x8m8wm1.gds
+++ /dev/null
Binary files differ
diff --git a/rules/klayout/lvs/testing/Makefile b/rules/klayout/lvs/testing/Makefile
index c701ac9..5656b9c 100644
--- a/rules/klayout/lvs/testing/Makefile
+++ b/rules/klayout/lvs/testing/Makefile
@@ -33,24 +33,34 @@
 .ONESHELL:
 Add_run-dir:
 	@cd $(Testing_DIR)
-	@ mkdir -p $(run_folder)/switch_checking  $(run_folder)/main  $(run_folder)/gf180mcu_fd_sc_mcu7t5v0 $(run_folder)/gf180mcu_fd_sc_mcu9t5v0
+	@ 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 ----------
 #=================================
 
 .ONESHELL:
-test-LVS-gf180mcu_fd_sc: test-LVS-gf180mcu_fd_sc_mcu7t5v0 test-LVS-gf180mcu_fd_sc_mcu9t5v0
+test-LVS-gf180mcu_fd_sc: test-LVS-gf180mcu_fd_sc_mcu7t5v0 test-LVS-gf180mcu_fd_sc_mcu9t5v0 test-LVS-gf180mcu_fd_io test-LVS-gf180mcu_fd_ip_sram
+
+.ONESHELL:
+test-LVS-gf180mcu_fd_io: Add_run-dir
+	@cd $(Testing_DIR)
+	@ python3 run_sc_regression.py --path=ip_testcases/gf180mcu_fd_io_3lm --path=ip_testcases/gf180mcu_fd_io_4lm --path=ip_testcases/gf180mcu_fd_io_5lm --run_dir=$(run_folder)/gf180mcu_fd_io |& tee $(run_folder)/gf180mcu_fd_io/results.log
+
+.ONESHELL:
+test-LVS-gf180mcu_fd_ip_sram: Add_run-dir
+	@cd $(Testing_DIR)
+	@ python3 run_sc_regression.py --path=ip_testcases/gf180mcu_fd_ip_sram__sram64x8m8wm1 --path=ip_testcases/gf180mcu_fd_ip_sram__sram128x8m8wm1 --path=ip_testcases/gf180mcu_fd_ip_sram__sram256x8m8wm1 --path=ip_testcases/gf180mcu_fd_ip_sram__sram512x8m8wm1 --run_dir=$(run_folder)/gf180mcu_fd_ip_sram |& tee $(run_folder)/gf180mcu_fd_ip_sram/results.log
 
 .ONESHELL:
 test-LVS-gf180mcu_fd_sc_mcu7t5v0: Add_run-dir
 	@cd $(Testing_DIR)
-	@ python3 run_sc_regression.py --cell_lib=gf180mcu_fd_sc_mcu7t5v0 --run_dir=$(run_folder)/gf180mcu_fd_sc_mcu7t5v0  |& tee $(run_folder)/gf180mcu_fd_sc_mcu7t5v0/results.log
+	@ python3 run_sc_regression.py --path=sc_testcases/gf180mcu_fd_sc_mcu7t5v0 --run_dir=$(run_folder)/gf180mcu_fd_sc_mcu7t5v0  |& tee $(run_folder)/gf180mcu_fd_sc_mcu7t5v0/results.log
 
 .ONESHELL:
 test-LVS-gf180mcu_fd_sc_mcu9t5v0: Add_run-dir
 	@cd $(Testing_DIR)
-	@ python3 run_sc_regression.py --cell_lib=gf180mcu_fd_sc_mcu9t5v0 --run_dir=$(run_folder)/gf180mcu_fd_sc_mcu9t5v0  |& tee $(run_folder)/gf180mcu_fd_sc_mcu9t5v0/results.log
+	@ python3 run_sc_regression.py --path=sc_testcases/gf180mcu_fd_sc_mcu9t5v0 --run_dir=$(run_folder)/gf180mcu_fd_sc_mcu9t5v0  |& tee $(run_folder)/gf180mcu_fd_sc_mcu9t5v0/results.log
 
 #=================================
 # ----- test-LVS_regression ------
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__asig_5p0.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__asig_5p0.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__asig_5p0.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__asig_5p0.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__asig_5p0_3lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__asig_5p0_3lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__asig_5p0_3lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__asig_5p0_3lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__bi_24t.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__bi_24t.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__bi_24t.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__bi_24t.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__bi_24t_3lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__bi_24t_3lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__bi_24t_3lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__bi_24t_3lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__bi_t.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__bi_t.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__bi_t.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__bi_t.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__bi_t_3lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__bi_t_3lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__bi_t_3lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__bi_t_3lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__brk2.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__brk2.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__brk2.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__brk2.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__brk2_3lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__brk2_3lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__brk2_3lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__brk2_3lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__brk5.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__brk5.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__brk5.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__brk5.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__brk5_3lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__brk5_3lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__brk5_3lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__brk5_3lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__cor.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__cor.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__cor.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__cor.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__cor_3lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__cor_3lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__cor_3lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__cor_3lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__dvdd.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__dvdd.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__dvdd.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__dvdd.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__dvdd_3lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__dvdd_3lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__dvdd_3lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__dvdd_3lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__dvss.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__dvss.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__dvss.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__dvss.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__dvss_3lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__dvss_3lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__dvss_3lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__dvss_3lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill1.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill1.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill1.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill1.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill10.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill10.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill10.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill10.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill10_3lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill10_3lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill10_3lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill10_3lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill1_3lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill1_3lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill1_3lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill1_3lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill5.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill5.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill5.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill5.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill5_3lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill5_3lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill5_3lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fill5_3lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fillnc.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fillnc.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fillnc.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fillnc.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fillnc_3lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fillnc_3lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fillnc_3lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__fillnc_3lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__in_c.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__in_c.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__in_c.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__in_c.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__in_c_3lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__in_c_3lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__in_c_3lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__in_c_3lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__in_s.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__in_s.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__in_s.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__in_s.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__in_s_3lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__in_s_3lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__in_s_3lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_3lm/gf180mcu_fd_io__in_s_3lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__asig_5p0.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__asig_5p0.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__asig_5p0.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__asig_5p0.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__asig_5p0_4lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__asig_5p0_4lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__asig_5p0_4lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__asig_5p0_4lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__bi_24t.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__bi_24t.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__bi_24t.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__bi_24t.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__bi_24t_4lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__bi_24t_4lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__bi_24t_4lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__bi_24t_4lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__bi_t.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__bi_t.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__bi_t.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__bi_t.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__bi_t_4lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__bi_t_4lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__bi_t_4lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__bi_t_4lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__brk2.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__brk2.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__brk2.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__brk2.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__brk2_4lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__brk2_4lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__brk2_4lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__brk2_4lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__brk5.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__brk5.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__brk5.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__brk5.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__brk5_4lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__brk5_4lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__brk5_4lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__brk5_4lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__cor.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__cor.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__cor.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__cor.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__cor_4lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__cor_4lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__cor_4lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__cor_4lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__dvdd.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__dvdd.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__dvdd.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__dvdd.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__dvdd_4lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__dvdd_4lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__dvdd_4lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__dvdd_4lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__dvss.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__dvss.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__dvss.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__dvss.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__dvss_4lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__dvss_4lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__dvss_4lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__dvss_4lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill1.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill1.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill1.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill1.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill10.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill10.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill10.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill10.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill10_4lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill10_4lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill10_4lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill10_4lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill1_4lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill1_4lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill1_4lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill1_4lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill5.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill5.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill5.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill5.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill5_4lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill5_4lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill5_4lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fill5_4lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fillnc.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fillnc.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fillnc.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fillnc.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fillnc_4lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fillnc_4lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fillnc_4lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__fillnc_4lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__in_c.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__in_c.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__in_c.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__in_c.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__in_c_4lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__in_c_4lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__in_c_4lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__in_c_4lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__in_s.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__in_s.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__in_s.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__in_s.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__in_s_4lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__in_s_4lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__in_s_4lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_4lm/gf180mcu_fd_io__in_s_4lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__asig_5p0.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__asig_5p0.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__asig_5p0.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__asig_5p0.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__asig_5p0_5lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__asig_5p0_5lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__asig_5p0_5lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__asig_5p0_5lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__bi_24t.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__bi_24t.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__bi_24t.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__bi_24t.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__bi_24t_5lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__bi_24t_5lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__bi_24t_5lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__bi_24t_5lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__bi_t.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__bi_t.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__bi_t.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__bi_t.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__bi_t_5lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__bi_t_5lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__bi_t_5lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__bi_t_5lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__brk2.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__brk2.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__brk2.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__brk2.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__brk2_5lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__brk2_5lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__brk2_5lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__brk2_5lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__brk5.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__brk5.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__brk5.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__brk5.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__brk5_5lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__brk5_5lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__brk5_5lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__brk5_5lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__cor.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__cor.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__cor.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__cor.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__cor_5lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__cor_5lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__cor_5lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__cor_5lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__dvdd.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__dvdd.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__dvdd.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__dvdd.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__dvdd_5lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__dvdd_5lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__dvdd_5lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__dvdd_5lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__dvss.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__dvss.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__dvss.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__dvss.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__dvss_5lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__dvss_5lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__dvss_5lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__dvss_5lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill1.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill1.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill1.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill1.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill10.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill10.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill10.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill10.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill10_5lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill10_5lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill10_5lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill10_5lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill1_5lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill1_5lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill1_5lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill1_5lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill5.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill5.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill5.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill5.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill5_5lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill5_5lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill5_5lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fill5_5lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fillnc.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fillnc.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fillnc.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fillnc.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fillnc_5lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fillnc_5lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fillnc_5lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__fillnc_5lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__in_c.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__in_c.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__in_c.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__in_c.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__in_c_5lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__in_c_5lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__in_c_5lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__in_c_5lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__in_s.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__in_s.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__in_s.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__in_s.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__in_s_5lm.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__in_s_5lm.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__in_s_5lm.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_io_5lm/gf180mcu_fd_io__in_s_5lm.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_ip_sram__sram128x8m8wm1.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_ip_sram__sram128x8m8wm1.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_ip_sram__sram128x8m8wm1.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_ip_sram__sram128x8m8wm1.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_ip_sram__sram128x8m8wm1.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_ip_sram__sram128x8m8wm1.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_ip_sram__sram128x8m8wm1.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_ip_sram__sram128x8m8wm1.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_ip_sram__sram256x8m8wm1.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_ip_sram__sram256x8m8wm1.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_ip_sram__sram256x8m8wm1.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_ip_sram__sram256x8m8wm1.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_ip_sram__sram256x8m8wm1.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_ip_sram__sram256x8m8wm1.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_ip_sram__sram256x8m8wm1.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_ip_sram__sram256x8m8wm1.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_ip_sram__sram512x8m8wm1.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_ip_sram__sram512x8m8wm1.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_ip_sram__sram512x8m8wm1.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_ip_sram__sram512x8m8wm1.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_ip_sram__sram512x8m8wm1.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_ip_sram__sram512x8m8wm1.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_ip_sram__sram512x8m8wm1.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_ip_sram__sram512x8m8wm1.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_ip_sram__sram64x8m8wm1.cdl b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_ip_sram__sram64x8m8wm1.cdl
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_ip_sram__sram64x8m8wm1.cdl
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_ip_sram__sram64x8m8wm1.cdl
diff --git a/rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_ip_sram__sram64x8m8wm1.gds b/rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_ip_sram__sram64x8m8wm1.gds
similarity index 100%
rename from rules/klayout/lvs/testing/sc_testcases/gf180mcu_fd_ip_sram__sram64x8m8wm1.gds
rename to rules/klayout/lvs/testing/ip_testcases/gf180mcu_fd_ip_sram__sram64x8m8wm1.gds
Binary files differ
diff --git a/rules/klayout/lvs/testing/run_full_regression.py b/rules/klayout/lvs/testing/run_full_regression.py
deleted file mode 100644
index 8943b97..0000000
--- a/rules/klayout/lvs/testing/run_full_regression.py
+++ /dev/null
@@ -1,45 +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.
-
-"""Run GlobalFoundries 180nm MCU FULL LVS Regression.
-
-Usage:
-    run_full_regression.py (--help| -h)
-    run_full_regression.py [--num_cores=<num>]
-
-Options:
-    --help -h              Print this help message.
-    --num_cores=<num>      Number of cores to be used by LVS checker
-"""
-from docopt import docopt
-import os
-
-
-def main():
-
-    # Run Basic LVS Regression
-    os.system(f"python3 run_regression.py    --num_cores={workers_count}")
-
-    # Run SC LVS Regression
-    os.system(f"python3 run_sc_regression.py --num_cores={workers_count}")
-
-
-if __name__ == "__main__":
-
-    # Args
-    arguments     = docopt(__doc__, version='FULL LVS REGRESSION: 0.1')
-    workers_count = os.cpu_count()*2 if arguments["--num_cores"] == None else int(arguments["--num_cores"])
-
-    # Calling main function
-    main()
diff --git a/rules/klayout/lvs/testing/run_sc_regression.py b/rules/klayout/lvs/testing/run_sc_regression.py
index 358e04c..6a89176 100644
--- a/rules/klayout/lvs/testing/run_sc_regression.py
+++ b/rules/klayout/lvs/testing/run_sc_regression.py
@@ -16,11 +16,11 @@
 
 Usage: 
     run_sc_regression.py (--help| -h)
-    run_sc_regression.py (--cell_lib=<cells>) (--run_dir=<run_dir>) [--num_cores=<num>]
+    run_sc_regression.py (--path=<file_path>)... (--run_dir=<run_dir>) [--num_cores=<num>]
 
 Options:
     --help -h               Print this help message.
-    --cell_lib=<cells>      Select the cell library to run LVS against (gf180mcu_fd_sc_mcu7t5v0, gf180mcu_fd_sc_mcu9t5v0)
+    --path=<file_path>      The input name of GDS/Netlist file path without extention.
     --run_dir=<run_dir>     Selecting your output path.    
     --num_cores=<num>       Number of cores to be used by LVS checker 
 """
@@ -41,24 +41,27 @@
     # print(f"================================================")
     # print ('{:-^48}'.format(sc_input.upper()))
     # print(f"================================================ \n")
-    
+
     # Selecting correct netlist 
     if "gf180mcu_fd_io_" in sc_input:
         cdl_input = sc_input[:-4]
         cdl_input_clean = cdl_input.split("/")[-1]
-    else: 
+        dir = "ip"
+    else:
         cdl_input = sc_input
         cdl_input_clean = sc_input.split("/")[-1]
+        dir = "ip"
 
     if "sc" in sc_input:
         sc_input_clean  = sc_input.split ("/")[-1]
         cdl_input = f"sc_netlists/{sc_input_clean}"
+        dir = "sc"
 
     # Cleaning netlist [Remove unnecessary chars] and writing it again
     unnecessary_chars = ["$SUB=" ,"$[" , "]", "$"]
-         
+
     if "sc" in sc_input and "io" not in sc_input:
-        
+
         with open(f'sc_testcases/sc_split/{cdl_input}.cdl', 'r') as file :
             spice_netlist = file.read()
         for char in unnecessary_chars:
@@ -66,98 +69,88 @@
 
         with open(f'sc_testcases/sc_split/{cdl_input}_modified.cdl', 'w') as file:
             file.write(spice_netlist)
-        
+
         cdl_input_clean = cdl_input
     else:
-        with open(f'sc_testcases/{cdl_input}.cdl', 'r') as file :
+        with open(f'ip_testcases/{cdl_input}.cdl', 'r') as file :
             spice_netlist = file.read()
         for char in unnecessary_chars:
             spice_netlist = spice_netlist.replace(char, '')
 
-        with open(f'sc_testcases/{cdl_input}_modified.cdl', 'w') as file:
+        with open(f'ip_testcases/{cdl_input}_modified.cdl', 'w') as file:
             file.write(spice_netlist)
-        
+
     sc_input_clean = sc_input.split("/")[-1]
 
     # Running LVS
-    result = os.popen(f"klayout -b -r ../gf180mcu.lvs -rd input=sc_testcases/{sc_input}.gds -rd report={sc_input_clean}.lvsdb -rd schematic={cdl_input_clean}_modified.cdl -rd thr={workers_count} -rd schematic_simplify=true").read()
-    
+    result = os.popen(f"klayout -b -r ../gf180mcu.lvs -rd input={dir}_testcases/{sc_input}.gds -rd report={sc_input_clean}.lvsdb -rd schematic={cdl_input_clean}_modified.cdl -rd thr={workers_count} -rd schematic_simplify=true").read()
+
 
     # moving all reports to run dir
     out_dir = arguments["--run_dir"]
     # os.system(f"cd {out_dir} && mkdir {sc_input_clean}")
     # os.system(f"mv -f sc_testcases/{sc_input}.lvsdb sc_testcases/*/{cdl_input_clean}_extracted.cir sc_testcases/*/{cdl_input_clean}_modified.cdl {out_dir}/{sc_input_clean}/")
-        
+
     if "INFO : Congratulations! Netlists match." in result:
         logging.info(f"Extraction of {sc_input_clean} is passed")
-        
-        with open ("sc_testcases/sc_report.csv","a+") as rep:
+
+        with open (f"{dir}_testcases/{dir}_report.csv","a+") as rep:
             rep.write(f"{sc_input_clean},passed\n")
     else:
-        logging.info(f"Extraction of {sc_input_clean} is failed")        
+        logging.info(f"Extraction of {sc_input_clean} is failed")
 
-        with open ("sc_testcases/sc_report.csv","a+") as rep:
+        with open (f"{dir}_testcases/{dir}_report.csv","a+") as rep:
             rep.write(f"{sc_input_clean},failed\n")
 
 def main():
-        
-    # Remove old report 
+
+    # Remove old reports
     os.system(f"rm -rf sc_testcases/sc_report.csv")
-         
-    # cell_list = ["GF018_5VGreen_SRAM_1P_64x8M8WM1" , "GF018_5VGreen_SRAM_1P_128x8M8WM1" , "GF018_5VGreen_SRAM_1P_256x8M8WM1" , "GF018_5VGreen_SRAM_1P_512x8M8WM1" ,
-    #            "GF018green_ipio_5p0c_75_3lm"     , "GF018green_ipio_5p0c_75_4lm"      , "GF018green_ipio_5p0c_75_5lm"      ,
-    #            "GF018hv5v_mcu_sc7"               , "GF018hv5v_green_sc9" ] 
-    
-    # cell_list = [ "gf180mcu_fd_io_3lm"     , "gf180mcu_fd_io_4lm"  , "gf180mcu_fd_io_5lm",
-    #               "GF018hv5v_mcu_sc7"      , "GF018hv5v_green_sc9" ] 
+    os.system(f"rm -rf ip_testcases/ip_report.csv")
 
-    # [ "gf180mcu_fd_sc_mcu7t5v0"      , "gf180mcu_fd_sc_mcu9t5v0" ]
+    cell_list = arguments["--path"]
+    if isinstance(cell_list, str): cell_list = [cell_list]
 
-    cell_list = [arguments["--cell_lib"]]
-    
-    # Create GDS splitter script
-    if os.path.exists("sc_testcases/sc_split") and os.path.isdir("sc_testcases/sc_split"):
-            shutil.rmtree("sc_testcases/sc_split")
-    with open('sc_testcases/split_gds.rb', 'w') as f:
-        f.write(''' layout = RBA::Layout::new
-                    layout.read($input)
-                    Dir.mkdir("sc_testcases/sc_split") unless File.exists?("sc_testcases/sc_split")
-
-                    layout.each_cell do |cell|
-                        ly2 = RBA::Layout.new
-                        ly2.dbu = layout.dbu
-                        cell_index = layout.cell_by_name("#{cell.name}")
-                        new_top = ly2.add_cell("#{cell.name}") 
-                        ly2.cell(new_top).copy_tree(layout.cell("#{cell.name}"))
-                        ly2.write("sc_testcases/sc_split/#{cell.name}.gds")
-                    end''')
+    sc_result = []
+    get_line = False
 
     # Split standard cells top-cells into multiple gds files
     for cell in cell_list:
         if "sc" in cell:
-            os.system(f"klayout -b -r sc_testcases/split_gds.rb -rd input=sc_testcases/{cell}.gds")
-    os.system(f"rm -rf sc_testcases/split_gds.rb")
+            # Create GDS splitter script
+            if os.path.exists("sc_testcases/sc_split") and os.path.isdir("sc_testcases/sc_split"):
+                    shutil.rmtree("sc_testcases/sc_split")
+            with open('sc_testcases/split_gds.rb', 'w') as f:
+                f.write(''' layout = RBA::Layout::new
+                            layout.read($input)
+                            Dir.mkdir("sc_testcases/sc_split") unless File.exists?("sc_testcases/sc_split")
+
+                            layout.each_cell do |cell|
+                                ly2 = RBA::Layout.new
+                                ly2.dbu = layout.dbu
+                                cell_index = layout.cell_by_name("#{cell.name}")
+                                new_top = ly2.add_cell("#{cell.name}")
+                                ly2.cell(new_top).copy_tree(layout.cell("#{cell.name}"))
+                                ly2.write("sc_testcases/sc_split/#{cell.name}.gds")
+                            end''')
+            os.system(f"klayout -b -r sc_testcases/split_gds.rb -rd input={cell}.gds")
+            os.system(f"rm -rf sc_testcases/split_gds.rb")
             
-    # Create cdl splitter script
-    # ["gf180mcu_fd_sc_mcu7t5v0" , "gf180mcu_fd_sc_mcu9t5v0"]
-    sc_cdl = [arguments["--cell_lib"]]
-    sc_result = []
-    get_line = False
-    os.makedirs(f"sc_testcases/sc_split/sc_netlists/",exist_ok=False)
-    
-    for cdl in sc_cdl:          
-        with open(f'sc_testcases/{cdl}.cdl', 'r') as cdl1:
-            for line in cdl1:
-                if ".SUBCKT" in line:
-                    get_line = True
-                    sc_result = []            
-                if get_line:
-                    sc_result.append(line)                
-                if '.ENDS' in line:
-                    get_line = False
-                    name = re.findall('.SUBCKT (\w+)', sc_result[0])                    
-                    with open(f"sc_testcases/sc_split/sc_netlists/{name[0]}.cdl", 'w') as out_cdl:
-                        out_cdl.write(''.join(sc_result))
+            # Create cdl splitter script
+            cdl = cell.split("/")[-1]
+            os.makedirs(f"sc_testcases/sc_split/sc_netlists/",exist_ok=False)
+            with open(f'sc_testcases/{cdl}.cdl', 'r') as cdl1:
+                for line in cdl1:
+                    if ".SUBCKT" in line:
+                        get_line = True
+                        sc_result = []
+                    if get_line:
+                        sc_result.append(line)
+                    if '.ENDS' in line:
+                        get_line = False
+                        name = re.findall('.SUBCKT (\w+)', sc_result[0])
+                        with open(f"sc_testcases/sc_split/sc_netlists/{name[0]}.cdl", 'w') as out_cdl:
+                            out_cdl.write(''.join(sc_result))
 
 
     with concurrent.futures.ProcessPoolExecutor(max_workers=workers_count) as executor:
@@ -165,25 +158,22 @@
             # Split standard cells top-cells into multiple gds files
             if "sc" not in cell:
                 if "io" in cell:
-                    cells_splitted = glob.glob(f"sc_testcases/{cell}/*.gds")
+                    cells_splitted = glob.glob(f"{cell}/*.gds")
                     for cell_split in cells_splitted:
-                        cell_split_clean = cell_split.replace(".gds","").replace("sc_testcases/","")
-                        executor.submit(lvs_check, cell_split_clean)                    
+                        cell_split_clean = cell_split.replace(".gds","").replace("ip_testcases/","")
+                        executor.submit(lvs_check, cell_split_clean)
                 else:
-                    executor.submit(lvs_check, cell)
+                    cell_clean = cell.replace("ip_testcases/","")
+                    executor.submit(lvs_check, cell_clean)
             
-        # Running LVS on SC
-        sc_list = glob.glob("sc_testcases/sc_split/*")
-        for sc in sc_list: 
-            sc_clean = sc.split ('.gds')[0]            
-            sc_clean = sc_clean.split ('sc_testcases/')[-1]           
-            executor.submit(lvs_check, sc_clean)
-            
-    df = pd.read_csv("sc_testcases/sc_report.csv")
-    df.columns = ["CELL NAME","RESULT"]
-    df.to_csv("sc_testcases/sc_report.csv", index = False)
-    
-       
+            # Running LVS on SC
+            else:
+                sc_list = glob.glob("sc_testcases/sc_split/*")
+                for sc in sc_list:
+                    sc_clean = sc.split('.gds')[0].split ('sc_testcases/')[-1]    
+                    executor.submit(lvs_check, sc_clean)
+
+
 if __name__ == "__main__":
 
     # logs format 
@@ -209,18 +199,39 @@
     
     time.sleep(10)
 
-    df = pd.read_csv("sc_testcases/sc_report.csv")
-    pass_count = df["RESULT"].str.count("passed").sum()
-    fail_count = df["RESULT"].str.count("failed").sum()
-    
-    logging.info("\n==================================")
-    logging.info(f"NO. OF PASSED CELL : {pass_count}")
-    logging.info(f"NO. OF FAILED CELL : {fail_count}")
-    logging.info("==================================\n")
+    if os.path.isfile("sc_testcases/sc_report.csv"):
+        df = pd.read_csv("sc_testcases/sc_report.csv")
+        df.columns = ["CELL NAME","RESULT"]
+        df.to_csv("sc_testcases/sc_report.csv", index = False)
+        df = pd.read_csv("sc_testcases/sc_report.csv")
+        pass_count = df["RESULT"].str.count("passed").sum()
+        fail_count = df["RESULT"].str.count("failed").sum()
+        
+        logging.info("\n==================================")
+        logging.info(f"NO. OF PASSED SC CELLS : {pass_count}")
+        logging.info(f"NO. OF FAILED SC CELLS : {fail_count}")
+        logging.info("==================================\n")
+        
+        # Move split files into run dir 
+        os.system (f"mv -f sc_testcases/sc_report.csv  sc_testcases/sc_split/  {out_dir}")
 
+    elif os.path.isfile("ip_testcases/ip_report.csv"):
+        df = pd.read_csv("ip_testcases/ip_report.csv")
+        df.columns = ["CELL NAME","RESULT"]
+        df.to_csv("ip_testcases/ip_report.csv", index = False)
+        df = pd.read_csv("ip_testcases/ip_report.csv")
+        pass_count = df["RESULT"].str.count("passed").sum()
+        fail_count = df["RESULT"].str.count("failed").sum()
+        
+        logging.info("\n==================================")
+        logging.info(f"NO. OF PASSED IP CELLS : {pass_count}")
+        logging.info(f"NO. OF FAILED IP CELLS : {fail_count}")
+        logging.info("==================================\n")
+        
+        # Move split files into run dir 
+        os.system (f"mv -f ip_testcases/ip_report.csv  {out_dir}")
 
-    
-    time.sleep(10)
-     
-    # Move split files into run dir 
-    os.system (f"mv -f sc_testcases/sc_report.csv  sc_testcases/sc_split/  {out_dir}")
+    else:
+        logging.info("\n==================================")
+        logging.info("Regression Test is failed")
+        logging.info("==================================\n")