Precheck fix for feol and consistancy
diff --git a/Makefile b/Makefile
index 9eae04d..2090a6a 100644
--- a/Makefile
+++ b/Makefile
@@ -327,3 +327,11 @@
@$(MAKE) -C $(TIMING_ROOT) -f $(TIMING_ROOT)/timing.mk caravel-timing-fast
@$(MAKE) -C $(TIMING_ROOT) -f $(TIMING_ROOT)/timing.mk caravel-timing-slow
@echo "You can find results for all corners in $(CUP_ROOT)/signoff/caravel/openlane-signoff/timing/"
+
+#Added by Dinesh-A for Klayout Based DRC check
+.PHONY: run-drc
+run-drc:
+ @echo "run kalyout DRC checks"
+ mkdir -p signoff/user_project_wrapper/openlane-signoff/drc
+ docker run -ti --rm -v $(PROJECT_ROOT):/project riscduino/openlane:mpw7 sh -c "cd /project && ./scripts/klayout_drc.sh user_project_wrapper "
+
diff --git a/gds/user_project_wrapper.gds.gz b/gds/user_project_wrapper.gds.gz
index f69ee1b..9bfe51c 100644
--- a/gds/user_project_wrapper.gds.gz
+++ b/gds/user_project_wrapper.gds.gz
Binary files differ
diff --git a/lef/user_project_wrapper.lef.gz b/lef/user_project_wrapper.lef.gz
index 5a1770e..c15d4f1 100644
--- a/lef/user_project_wrapper.lef.gz
+++ b/lef/user_project_wrapper.lef.gz
Binary files differ
diff --git a/openlane/Makefile b/openlane/Makefile
index 3c48c94..c21989a 100644
--- a/openlane/Makefile
+++ b/openlane/Makefile
@@ -43,15 +43,29 @@
@sleep 1
@if [ -f ./$*/interactive.tcl ]; then\
- docker run --rm \
+ docker run --rm -v $(OPENLANE_ROOT):/openlane \
+ -v $(PDK_ROOT):$(PDK_ROOT) \
-v $(PWD)/..:$(PWD)/.. \
+ -v $(MCW_ROOT):$(MCW_ROOT) \
+ -v $(CARAVEL_ROOT):$(CARAVEL_ROOT) \
+ -e MCW_ROOT=$(MCW_ROOT) \
+ -e PDK_ROOT=$(PDK_ROOT) \
+ -e CARAVEL_ROOT=$(CARAVEL_ROOT) \
+ -e PDK=$(PDK) \
-e TEST_MISMATCHES=tools \
-e MISMATCHES_OK=1 \
-u $(shell id -u $(USER)):$(shell id -g $(USER)) \
$(OPENLANE_IMAGE_NAME) sh -c $(OPENLANE_INTERACTIVE_COMMAND);\
else\
- docker run --rm \
+ docker run --rm -v $(OPENLANE_ROOT):/openlane \
+ -v $(PDK_ROOT):$(PDK_ROOT) \
-v $(PWD)/..:$(PWD)/.. \
+ -v $(CARAVEL_ROOT):$(CARAVEL_ROOT) \
+ -v $(MCW_ROOT):$(MCW_ROOT) \
+ -e MCW_ROOT=$(MCW_ROOT) \
+ -e PDK=$(PDK) \
+ -e PDK_ROOT=$(PDK_ROOT) \
+ -e CARAVEL_ROOT=$(CARAVEL_ROOT) \
-e TEST_MISMATCHES=tools \
-e MISMATCHES_OK=1 \
-u $(shell id -u $(USER)):$(shell id -g $(USER)) \
diff --git a/scripts/klayout_drc.sh b/scripts/klayout_drc.sh
new file mode 100755
index 0000000..a29de15
--- /dev/null
+++ b/scripts/klayout_drc.sh
@@ -0,0 +1,19 @@
+echo "################ Running Klayout FEOL ########################"
+klayout -b -r '$PDK_ROOT/$PDK/libs.tech/klayout/drc/sky130A_mr.drc' -rd input=gds/$1.gds -rd report=/project/signoff/$1/openlane-signoff/drc/klayout_feol_check.xml -rd feol=true
+
+echo "################ Running Klayout BEOL ########################"
+klayout -b -r '$PDK_ROOT/$PDK/libs.tech/klayout/drc/sky130A_mr.drc' -rd input=gds/$1.gds -rd report=/project/signoff/$1/openlane-signoff/drc/klayout_beol_check.xml -rd beol=true
+
+echo "################ Running Klayout Offgrid #####################"
+ klayout -b -r '$PDK_ROOT/$PDK/libs.tech/klayout/drc/sky130A_mr.drc' -rd input=gds/$1.gds -rd report=/project/signoff/$1/openlane-signoff/drc/klayout_offgrid_check.xml -rd offgrid=true
+
+echo "################ Klayout Metal Minimum Clear Area Density #####################"
+klayout -b -r '$PDK_ROOT/$PDK/libs.tech/klayout/drc/met_min_ca_density.lydrc' -rd input=gds/$1.gds -rd report=/project/signoff/$1/openlane-signoff/drc/klayout_met_min_ca_density_check.xml
+
+echo "### Klayout Zero Area check command ####"
+klayout -b -r '$PDK_ROOT/$PDK/libs.tech/klayout/drc/zeroarea.rb.drc' -rd input=gds/$1.gds -rd report=/project/signoff/$1/openlane-signoff/drc/klayout_zeroarea_check.xml -rd cleaned_output=outputs/dac_top_no_zero_areas.gds
+
+echo "## klayout_pin_label_purposes_overlapping_drawing_check"
+klayout -b -r '$PDK_ROOT/$PDK/libs.tech/klayout/drc/pin_label_purposes_overlapping_drawing.rb.drc' -rd input=gds/$1.gds -rd report=/project/signoff/$1/openlane-signoff/drc/klayout_pin_label_purposes_overlapping_drawing_check.xml -rd top_cell_name=$1
+echo "You can find results for all corners in ./signoff/$1/openlane-signoff/drc/"
+
diff --git a/sdc/user_project_wrapper.sdc b/sdc/user_project_wrapper.sdc
index 7913d31..3a0fe8c 100644
--- a/sdc/user_project_wrapper.sdc
+++ b/sdc/user_project_wrapper.sdc
@@ -1,6 +1,6 @@
###############################################################################
# Created by write_sdc
-# Thu Dec 8 16:36:06 2022
+# Fri Dec 9 15:55:05 2022
###############################################################################
current_design user_project_wrapper
###############################################################################
diff --git a/signoff/user_project_wrapper/OPENLANE_VERSION b/signoff/user_project_wrapper/OPENLANE_VERSION
index 1234be5..1888caa 100644
--- a/signoff/user_project_wrapper/OPENLANE_VERSION
+++ b/signoff/user_project_wrapper/OPENLANE_VERSION
@@ -1 +1 @@
-OpenLane 7f0486c949c21042e0a670dd77d2d654ad189483
+OpenLane 73bc7f8a736d6f2a2d68168daea3e7718d4b6208
diff --git a/signoff/user_project_wrapper/PDK_SOURCES b/signoff/user_project_wrapper/PDK_SOURCES
index f8d3b3a..3b6c758 100644
--- a/signoff/user_project_wrapper/PDK_SOURCES
+++ b/signoff/user_project_wrapper/PDK_SOURCES
@@ -1 +1 @@
-open_pdks a519523b0d9bc913a6f87a5eed083597ed9e2e93
+open_pdks b8c6129fb60851c452a3136c2b8c603bb92cb180
diff --git a/verilog/gl/user_project_wrapper.v.gz b/verilog/gl/user_project_wrapper.v.gz
index f7ab685..d7543d3 100644
--- a/verilog/gl/user_project_wrapper.v.gz
+++ b/verilog/gl/user_project_wrapper.v.gz
Binary files differ
diff --git a/verilog/rtl/user_project_wrapper.v b/verilog/rtl/user_project_wrapper.v
index a2b6681..bad1917 100644
--- a/verilog/rtl/user_project_wrapper.v
+++ b/verilog/rtl/user_project_wrapper.v
@@ -1329,7 +1329,7 @@
.rst_n (cpu_intf_rst_n ),
.cfg_cska (cfg_ccska_fpu_rp ),
- .wbd_clk_int (cpu_clk_rp_fpu ),
+ .wbd_clk_int (cpu_clk_fpu ),
.wbd_clk_out (cpu_clk_fpu_skew ),
.dmem_req (fpu_dmem_req ),