caravel update
diff --git a/.gitmodules b/.gitmodules
index 9bc2fca..0fbcc7c 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -9,5 +9,5 @@
 	path = verilog/rtl/syntacore/scr1/dependencies/coremark
 	url = https://github.com/eembc/coremark
 [submodule "caravel-lite"]
-	path = caravel-lite
+	path = caravel
 	url = https://github.com/efabless/caravel-lite.git
diff --git a/Makefile b/Makefile
index aac51a9..89a50bb 100644
--- a/Makefile
+++ b/Makefile
@@ -15,9 +15,8 @@
 # SPDX-License-Identifier: Apache-2.0
 
 CARAVEL_ROOT?=$(PWD)/caravel
-PRECHECK_ROOT?=${HOME}/open_mpw_precheck
-SIM?=RTL
-DUMP?=OFF
+PRECHECK_ROOT?=${HOME}/mpw_precheck
+SIM ?= RTL
 
 # Install lite version of caravel, (1): caravel-lite, (0): caravel
 CARAVEL_LITE?=1
@@ -36,9 +35,9 @@
 SUBMODULE?=1
 
 # Include Caravel Makefile Targets
-.PHONY: %
+.PHONY: % : check-caravel
 %: 
-	$(MAKE) -f $(CARAVEL_ROOT)/Makefile $@
+	export CARAVEL_ROOT=$(CARAVEL_ROOT) && $(MAKE) -f $(CARAVEL_ROOT)/Makefile $@
 
 # Verify Target for running simulations
 .PHONY: verify
@@ -78,7 +77,7 @@
 BLOCKS = $(shell cd openlane && find * -maxdepth 0 -type d)
 .PHONY: $(BLOCKS)
 $(BLOCKS): %:
-	cd openlane && $(MAKE) $*
+	export CARAVEL_ROOT=$(CARAVEL_ROOT) && cd openlane && $(MAKE) $*
 
 # Install caravel
 .PHONY: install
@@ -147,20 +146,20 @@
 # Default installs to the user home directory, override by "export PRECHECK_ROOT=<precheck-installation-path>"
 .PHONY: precheck
 precheck:
-	@git clone https://github.com/efabless/open_mpw_precheck.git --depth=1 $(PRECHECK_ROOT)
-	@docker pull efabless/open_mpw_precheck:latest
+	@git clone https://github.com/efabless/mpw_precheck.git --depth=1 $(PRECHECK_ROOT)
+	@docker pull efabless/mpw_precheck:latest
 
 .PHONY: run-precheck
 run-precheck: check-precheck check-pdk check-caravel
-	$(eval TARGET_PATH := $(shell pwd))
+	$(eval INPUT_DIRECTORY := $(shell pwd))
 	cd $(PRECHECK_ROOT) && \
-	docker run -v $(PRECHECK_ROOT):/usr/local/bin -v $(TARGET_PATH):$(TARGET_PATH) -v $(PDK_ROOT):$(PDK_ROOT) -v $(CARAVEL_ROOT):$(CARAVEL_ROOT) \
-	-u $(shell id -u $(USER)):$(shell id -g $(USER)) efabless/open_mpw_precheck:latest bash -c "python3 open_mpw_prechecker.py --pdk_root $(PDK_ROOT) --target_path $(TARGET_PATH) -rfc -c $(CARAVEL_ROOT) "
+	docker run -e INPUT_DIRECTORY=$(INPUT_DIRECTORY) -e PDK_ROOT=$(PDK_ROOT) -e CARAVEL_ROOT=$(CARAVEL_ROOT) -v $(PRECHECK_ROOT):$(PRECHECK_ROOT) -v $(INPUT_DIRECTORY):$(INPUT_DIRECTORY) -v $(PDK_ROOT):$(PDK_ROOT) -v $(CARAVEL_ROOT):$(CARAVEL_ROOT) \
+	-u $(shell id -u $(USER)):$(shell id -g $(USER)) efabless/mpw_precheck:latest bash -c "cd $(PRECHECK_ROOT) ; python3 mpw_precheck.py --pdk_root $(PDK_ROOT) --input_directory $(INPUT_DIRECTORY) --caravel_root $(CARAVEL_ROOT)"
 
 # Install PDK using OL's Docker Image
 .PHONY: pdk-nonnative
 pdk-nonnative: skywater-pdk skywater-library skywater-timing open_pdks
-	docker run --rm -v $(PDK_ROOT):$(PDK_ROOT) -v $(pwd):/user_project -v $(CARAVEL_ROOT):$(CARAVEL_ROOT) -e CARAVEL_ROOT=$(CARAVEL_ROOT) -e PDK_ROOT=$(PDK_ROOT) -u $(shell id -u $(USER)):$(shell id -g $(USER)) efabless/openlane:current sh -c "cd $(CARAVEL_ROOT); make build-pdk; make gen-sources"
+	docker run --rm -v $(PDK_ROOT):$(PDK_ROOT) -v $(CARAVEL_ROOT):$(CARAVEL_ROOT) -e CARAVEL_ROOT=$(CARAVEL_ROOT) -e PDK_ROOT=$(PDK_ROOT) -u $(shell id -u $(USER)):$(shell id -g $(USER)) efabless/openlane:current sh -c "cd $(CARAVEL_ROOT); make build-pdk; make gen-sources"
 
 # Clean 
 .PHONY: clean
diff --git a/README.md b/README.md
index aaa083d..b9a6374 100644
--- a/README.md
+++ b/README.md
@@ -48,10 +48,14 @@
 ```
     * Open sourced under Apache-2.0 License (see LICENSE file) - unrestricted commercial use allowed.
     * industry-grade and silicon-proven Open-Source RISC-V core from syntacore 
+    * 4KB SRAM for data memory
+    * Pin Compatbible to arudino uno
     * Quad SPI Master
     * UART with 16Byte FIFO
     * USB 1.1 Host
     * I2C Master
+    * 6 Channel ADC
+    * 6 PWM
     * Wishbone compatible design
     * Written in System Verilog
     * Open-source tool set
@@ -104,37 +108,66 @@
   <tr>
     <td  align="center"> 0x0000_0000 to 0x0FFF_FFFF  </td> 
     <td  align="center"> 0x0000_0000 to 0x0FFF_FFFF  </td>
-    <td  align="center"> 0x4000_0000 to 0x4FFF_FFFF</td>
+    <td  align="center"> 0x0000_0000 to 0x0FFF_FFFF</td>
     <td  align="center"> SPI FLASH MEMORY</td>
   </tr>
   <tr>
     <td  align="center"> 0x1000_0000 to 0x1000_00FF</td> 
     <td  align="center"> 0x1000_0000 to 0x1000_00FF</td>
-    <td  align="center"> 0x5000_0000 to 0x5000_00FF</td>
+    <td  align="center"> 0x1000_0000 to 0x1000_00FF</td>
     <td  align="center"> SPI Config Reg</td>
   </tr>
-
   <tr>
-    <td  align="center"> 0x3000_0000 to 0x3000_00FF</td> 
-    <td  align="center"> 0x3000_0000 to 0x3000_00FF</td>
-    <td  align="center"> 0x3000_0000 to 0x3000_00FF</td>
-    <td  align="center"> Global Register</td>
+    <td  align="center"> 0x1001_0000 to 0x1001_003F</td> 
+    <td  align="center"> 0x1001_0000 to 0x1001_003F</td>
+    <td  align="center"> 0x1001_0000 to 0x1001_003F</td>
+    <td  align="center"> UART</td>
+  </tr>
+  <tr>
+    <td  align="center"> 0x1001_0040 to 0x1001_007F</td> 
+    <td  align="center"> 0x1001_0040 to 0x1001_007F</td>
+    <td  align="center"> 0x1001_0040 to 0x1001_007F</td>
+    <td  align="center"> I2C</td>
+  </tr>
+  <tr>
+    <td  align="center"> 0x1001_0080 to 0x1001_00FF</td> 
+    <td  align="center"> 0x1001_0080 to 0x1001_00FF</td>
+    <td  align="center"> 0x1001_0080 to 0x1001_00FF</td>
+    <td  align="center"> USB</td>
+  </tr>
+  <tr>
+    <td  align="center"> 0x1002_0080 to 0x1002_00FF</td> 
+    <td  align="center"> 0x1002_0080 to 0x1002_00FF</td>
+    <td  align="center"> 0x1002_0080 to 0x1002_00FF</td>
+    <td  align="center"> PINMUX</td>
+  </tr>
+  <tr>
+    <td  align="center"> 0x1003_0080 to 0x1003_00FF</td> 
+    <td  align="center"> 0x1003_0080 to 0x1003_00FF</td>
+    <td  align="center"> 0x1003_0080 to 0x1003_00FF</td>
+    <td  align="center"> PINMUX</td>
+  </tr>
+  <tr>
+    <td  align="center"> -</td> 
+    <td  align="center"> -</td>
+    <td  align="center"> 0x3080_0000 to 0x3080_00FF</td>
+    <td  align="center"> WB HOST</td>
   </tr>
 </table>
 
 # SOC Size
 
-| Block       | Total Cell | Seq      | Combo   |
-| ------      | ---------  | -------- | -----   |
-| RISC        | 26642      | 3158     | 23484   |
-| GLOBAL REG  | 2753       | 575      | 2178    |
-| SDRAM       | 7198       | 1207     | 5991    |
-| SPI         | 7607       | 1279     | 6328    |
-| UART_I2C    | 3561       | 605      | 2956    |
-| WB_HOST     | 3073       | 515      | 2558    |
-| WB_INTC     | 1291       | 110      | 1181    |
-|             |            |          |         |
-| TOTAL       | 52125      | 7449     | 44676   |
+| Block         | Total Cell | Seq      | Combo   |
+| ------        | ---------  | -------- | -----   |
+| RISC          | 26919      | 3164     | 23755   |
+| PINMUX        | 5461       | 1022     |  4439   |
+| SPI           | 7597       | 1279     |  6318   |
+| UART_I2C_USB  | 12423      | 2230     | 10193   |
+| WB_HOST       | 3072       | 515      | 2557    |
+| WB_INTC       | 1356       | 108      | 1248    |
+| SAR_ADC       | 128        |  18      |  110    |
+|               |            |          |         |
+| TOTAL         | 56956      | 8336     | 44620   |
 
 
 
diff --git a/caravel-lite b/caravel
similarity index 100%
rename from caravel-lite
rename to caravel
diff --git a/openlane/sar_adc/pin_order.cfg b/openlane/sar_adc/pin_order.cfg
index 392a553..9f5fbf6 100644
--- a/openlane/sar_adc/pin_order.cfg
+++ b/openlane/sar_adc/pin_order.cfg
@@ -95,5 +95,10 @@
 sar2dac\[2\]
 sar2dac\[1\]
 sar2dac\[0\]
-analog_din
+analog_din\[5\]
+analog_din\[4\]
+analog_din\[3\]
+analog_din\[2\]
+analog_din\[1\]
+analog_din\[0\]
 analog_dac_out
diff --git a/openlane/user_project_wrapper/config.tcl b/openlane/user_project_wrapper/config.tcl
index 5c861db..b89efe6 100644
--- a/openlane/user_project_wrapper/config.tcl
+++ b/openlane/user_project_wrapper/config.tcl
@@ -16,13 +16,14 @@
 # Base Configurations. Don't Touch
 # section begin
 set script_dir [file dirname [file normalize [info script]]]
+set proj_dir [file dirname [file normalize [info script]]]
 
 source $script_dir/../../caravel/openlane/user_project_wrapper_empty/fixed_wrapper_cfgs.tcl
 
 set ::env(DESIGN_NAME) user_project_wrapper
-set verilog_root $script_dir/../../verilog/
-set lef_root $script_dir/../../lef/
-set gds_root $script_dir/../../gds/
+set verilog_root $proj_dir/../../verilog/
+set lef_root $proj_dir/../../lef/
+set gds_root $proj_dir/../../gds/
 #section end
 
 # User Configurations
@@ -33,8 +34,8 @@
 
 ## Source Verilog Files
 set ::env(VERILOG_FILES) "\
-	$script_dir/../../caravel/verilog/rtl/defines.v \
-	$script_dir/../../verilog/rtl/user_project_wrapper.v"
+	$proj_dir/../../caravel/verilog/rtl/defines.v \
+	$proj_dir/../../verilog/rtl/user_project_wrapper.v"
 
 ## Clock configurations
 set ::env(CLOCK_PORT) "user_clock2 wb_clk_i"
@@ -45,26 +46,26 @@
 ## Internal Macros
 ### Macro Placement
 set ::env(FP_SIZING) "absolute"
-set ::env(MACRO_PLACEMENT_CFG) $script_dir/macro.cfg
+set ::env(MACRO_PLACEMENT_CFG) $proj_dir/macro.cfg
 
-set ::env(PDN_CFG) $script_dir/pdn.tcl
+set ::env(PDN_CFG) $proj_dir/pdn.tcl
 
-#set ::env(SDC_FILE) "$script_dir/base.sdc"
-#set ::env(BASE_SDC_FILE) "$script_dir/base.sdc"
+#set ::env(SDC_FILE) "$proj_dir/base.sdc"
+#set ::env(BASE_SDC_FILE) "$proj_dir/base.sdc"
 
 set ::env(SYNTH_READ_BLACKBOX_LIB) 1
 
 ### Black-box verilog and views
 set ::env(VERILOG_FILES_BLACKBOX) "\
-        $script_dir/../../verilog/gl/spi_master.v \
-        $script_dir/../../verilog/gl/wb_interconnect.v \
-        $script_dir/../../verilog/gl/pinmux.v     \
-        $script_dir/../../verilog/gl/sar_adc.v     \
-        $script_dir/../../verilog/gl/uart_i2cm_usb.v     \
-	$script_dir/../../verilog/rtl/sar_adc/DAC_8BIT.v \
-	$script_dir/../../verilog/gl/wb_host.v \
-	$script_dir/../../verilog/gl/syntacore.v \
-	$script_dir/../../verilog/rtl/sram_macros/sky130_sram_2kbyte_1rw1r_32x512_8.v \
+        $proj_dir/../../verilog/gl/spi_master.v \
+        $proj_dir/../../verilog/gl/wb_interconnect.v \
+        $proj_dir/../../verilog/gl/pinmux.v     \
+        $proj_dir/../../verilog/gl/sar_adc.v     \
+        $proj_dir/../../verilog/gl/uart_i2cm_usb.v     \
+	$proj_dir/../../verilog/rtl/sar_adc/DAC_8BIT.v \
+	$proj_dir/../../verilog/gl/wb_host.v \
+	$proj_dir/../../verilog/gl/syntacore.v \
+	$proj_dir/../../verilog/rtl/sram_macros/sky130_sram_2kbyte_1rw1r_32x512_8.v \
 	"
 
 set ::env(EXTRA_LEFS) "\
@@ -92,7 +93,7 @@
 
 set ::env(SYNTH_DEFINES) [list SYNTHESIS ]
 
-set ::env(VERILOG_INCLUDE_DIRS) [glob $script_dir/../../verilog/rtl/syntacore/scr1/src/includes $script_dir/../../verilog/rtl/sdram_ctrl/src/defs ]
+set ::env(VERILOG_INCLUDE_DIRS) [glob $proj_dir/../../verilog/rtl/syntacore/scr1/src/includes ]
 
 set ::env(GLB_RT_MAXLAYER) 5
 
diff --git a/signoff/sar_adc/final_summary_report.csv b/signoff/sar_adc/final_summary_report.csv
index d3936a2..17383a9 100644
--- a/signoff/sar_adc/final_summary_report.csv
+++ b/signoff/sar_adc/final_summary_report.csv
@@ -1,2 +1,2 @@
 ,design,design_name,config,flow_status,total_runtime,routed_runtime,(Cell/mm^2)/Core_Util,DIEAREA_mm^2,CellPer_mm^2,OpenDP_Util,Peak_Memory_Usage_MB,cell_count,tritonRoute_violations,Short_violations,MetSpc_violations,OffGrid_violations,MinHole_violations,Other_violations,Magic_violations,antenna_violations,lvs_total_errors,cvc_total_errors,klayout_violations,wire_length,vias,wns,pl_wns,optimized_wns,fastroute_wns,spef_wns,tns,pl_tns,optimized_tns,fastroute_tns,spef_tns,HPWL,routing_layer1_pct,routing_layer2_pct,routing_layer3_pct,routing_layer4_pct,routing_layer5_pct,routing_layer6_pct,wires_count,wire_bits,public_wires_count,public_wire_bits,memories_count,memory_bits,processes_count,cells_pre_abc,AND,DFF,NAND,NOR,OR,XOR,XNOR,MUX,inputs,outputs,level,EndCaps,TapCells,Diodes,Total_Physical_Cells,suggested_clock_frequency,suggested_clock_period,CLOCK_PERIOD,SYNTH_STRATEGY,SYNTH_MAX_FANOUT,FP_CORE_UTIL,FP_ASPECT_RATIO,FP_PDN_VPITCH,FP_PDN_HPITCH,PL_TARGET_DENSITY,GLB_RT_ADJUSTMENT,STD_CELL_LIBRARY,CELL_PAD,DIODE_INSERTION_STRATEGY
-0,/project/openlane/sar_adc,sar_adc,sar_adc,Flow_completed,0h1m58s,0h1m3s,1653.3333333333335,0.15,826.6666666666667,1,439.33,124,0,0,0,0,0,0,0,0,13,-1,0,14612,1009,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,12962297,0.0,3.76,1.93,0.31,0.0,-1,102,181,48,127,0,0,0,124,0,0,0,1,12,0,0,32,19,26,5,204,1768,0,1972,10.0,100.0,100,AREA 0,5,50,1,45,40,0.01,0.15,sky130_fd_sc_hd,4,4
+0,/project/openlane/sar_adc,sar_adc,sar_adc,Flow_completed,0h1m45s,0h0m56s,1653.3333333333335,0.15,826.6666666666667,1,440.52,124,0,0,0,0,0,0,0,0,13,-1,0,14549,1000,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,12946929,0.0,3.68,1.92,0.36,0.0,-1,102,186,48,132,0,0,0,124,0,0,0,1,12,0,0,32,19,26,5,204,1768,0,1972,10.0,100.0,100,AREA 0,5,50,1,45,40,0.01,0.15,sky130_fd_sc_hd,4,4
diff --git a/signoff/uart_i2cm_usb/final_summary_report.csv b/signoff/uart_i2cm_usb/final_summary_report.csv
index e5d7813..2c0683d 100644
--- a/signoff/uart_i2cm_usb/final_summary_report.csv
+++ b/signoff/uart_i2cm_usb/final_summary_report.csv
@@ -1,2 +1,2 @@
 ,design,design_name,config,flow_status,total_runtime,routed_runtime,(Cell/mm^2)/Core_Util,DIEAREA_mm^2,CellPer_mm^2,OpenDP_Util,Peak_Memory_Usage_MB,cell_count,tritonRoute_violations,Short_violations,MetSpc_violations,OffGrid_violations,MinHole_violations,Other_violations,Magic_violations,antenna_violations,lvs_total_errors,cvc_total_errors,klayout_violations,wire_length,vias,wns,pl_wns,optimized_wns,fastroute_wns,spef_wns,tns,pl_tns,optimized_tns,fastroute_tns,spef_tns,HPWL,routing_layer1_pct,routing_layer2_pct,routing_layer3_pct,routing_layer4_pct,routing_layer5_pct,routing_layer6_pct,wires_count,wire_bits,public_wires_count,public_wire_bits,memories_count,memory_bits,processes_count,cells_pre_abc,AND,DFF,NAND,NOR,OR,XOR,XNOR,MUX,inputs,outputs,level,EndCaps,TapCells,Diodes,Total_Physical_Cells,suggested_clock_frequency,suggested_clock_period,CLOCK_PERIOD,SYNTH_STRATEGY,SYNTH_MAX_FANOUT,FP_CORE_UTIL,FP_ASPECT_RATIO,FP_PDN_VPITCH,FP_PDN_HPITCH,PL_TARGET_DENSITY,GLB_RT_ADJUSTMENT,STD_CELL_LIBRARY,CELL_PAD,DIODE_INSERTION_STRATEGY
-0,/project/openlane/uart_i2cm_usb,uart_i2c_usb_top,uart_i2cm_usb,Flow_completed,0h27m15s,0h11m51s,59157.14285714286,0.42,29578.57142857143,45,750.5,12423,0,0,0,0,0,0,0,0,0,-1,0,522443,99881,-3.16,-3.16,-3.07,-3.07,-3.11,-91.08,-91.08,-91.67,-91.67,-91.56,390283627,0.0,31.24,29.46,0.31,-1,-1,12407,12476,2262,2331,0,0,0,12423,364,10,202,244,2118,325,79,2692,2224,2170,26,498,5146,0,5644,76.27765064836004,13.11,10,AREA 0,4,50,1,100,100,0.45,0,sky130_fd_sc_hd,4,5
+0,/project/openlane/uart_i2cm_usb,uart_i2c_usb_top,uart_i2cm_usb,Flow_completed,0h25m24s,0h9m59s,59157.14285714286,0.42,29578.57142857143,45,758.68,12423,0,0,0,0,0,0,0,0,0,-1,0,522443,99881,-3.16,-3.16,-3.07,-3.07,-3.11,-91.08,-91.08,-91.67,-91.67,-91.56,390283627,0.0,31.24,29.46,0.31,-1,-1,12407,12476,2262,2331,0,0,0,12423,364,10,202,244,2118,325,79,2692,2224,2170,26,498,5146,0,5644,76.27765064836004,13.11,10,AREA 0,4,50,1,100,100,0.45,0,sky130_fd_sc_hd,4,5