diff --git a/Makefile b/Makefile
index 6de652c..fa42afe 100644
--- a/Makefile
+++ b/Makefile
@@ -16,6 +16,7 @@
 
 CARAVEL_ROOT?=$(PWD)/caravel
 PRECHECK_ROOT?=${HOME}/mpw_precheck
+MCW_ROOT?=$(PWD)/mgmt_core_wrapper
 SIM ?= RTL
 
 # Install lite version of caravel, (1): caravel-lite, (0): caravel
@@ -58,6 +59,7 @@
                 -v ${CARAVEL_ROOT}:${CARAVEL_ROOT} \
                 -e TARGET_PATH=${TARGET_PATH} -e PDK_ROOT=${PDK_ROOT} \
                 -e CARAVEL_ROOT=${CARAVEL_ROOT} \
+				-e MCW_ROOT=$(MCW_ROOT) \
                 -u $(id -u $$USER):$(id -g $$USER) efabless/dv_setup:latest \
                 sh -c $(VERIFY_COMMAND)
 				
diff --git a/verilog/dv/Makefile b/verilog/dv/Makefile
index d87238f..e14258d 100644
--- a/verilog/dv/Makefile
+++ b/verilog/dv/Makefile
@@ -19,12 +19,19 @@
 .SUFFIXES:
 .SILENT: clean all
 
+export DESIGNS = $(CARAVEL_ROOT)
+export TOOLS = /opt/riscv32i/
+
+echo $TOOLS
+
 PATTERNS = io_ports la_test1 la_test2 wb_port mprj_stimulus
 
 all:  ${PATTERNS}
-	for i in ${PATTERNS}; do \
-		( cd $$i && make -f Makefile $${i}.vcd &> verify.log && grep Monitor verify.log) ; \
-	done
+
+	echo "bla"
+	# for i in ${PATTERNS}; do \
+	# 	( cd $$i && make -f Makefile $${i}.vcd &> verify.log && grep Monitor verify.log) ; \
+	# done
 
 DV_PATTERNS = $(foreach dv, $(PATTERNS), verify-$(dv))
 $(DV_PATTERNS): verify-% : 
diff --git a/verilog/dv/io_ports/Makefile b/verilog/dv/io_ports/Makefile
index 5237a05..ea1b0e0 100644
--- a/verilog/dv/io_ports/Makefile
+++ b/verilog/dv/io_ports/Makefile
@@ -14,83 +14,24 @@
 #
 # SPDX-License-Identifier: Apache-2.0
 
-## PDK 
-PDK_PATH = $(PDK_ROOT)/sky130A
 
-## Caravel Pointers
-CARAVEL_ROOT ?= ../../../caravel
-CARAVEL_PATH ?= $(CARAVEL_ROOT)
-CARAVEL_FIRMWARE_PATH = $(CARAVEL_PATH)/verilog/dv/caravel
-CARAVEL_VERILOG_PATH  = $(CARAVEL_PATH)/verilog
-CARAVEL_RTL_PATH = $(CARAVEL_VERILOG_PATH)/rtl
-CARAVEL_BEHAVIOURAL_MODELS = $(CARAVEL_VERILOG_PATH)/dv/caravel
+ 
+PWDD := $(shell pwd)
+BLOCKS := $(shell basename $(PWDD))
 
-## User Project Pointers
-UPRJ_VERILOG_PATH ?= ../../../verilog
-UPRJ_RTL_PATH = $(UPRJ_VERILOG_PATH)/rtl
-UPRJ_BEHAVIOURAL_MODELS = ../
+# ---- Include Partitioned Makefiles ----
 
-## RISCV GCC 
-GCC_PATH?=/ef/apps/bin
-GCC_PREFIX?=riscv32-unknown-elf
+$(info $(TARGET_PATH))
 
-## Simulation mode: RTL/GL
-SIM_DEFINES = -DFUNCTIONAL -DSIM
-SIM?=RTL
+export DESIGNS = $(TARGET_PATH)
+export TOOLS = /opt/riscv32i/
 
-.SUFFIXES:
+CONFIG = caravel_user_project
 
-PATTERN = io_ports
 
-all:  ${PATTERN:=.vcd}
+include $(MCW_ROOT)/verilog/dv/make/env.makefile
+include $(MCW_ROOT)/verilog/dv/make/var.makefile
+include $(MCW_ROOT)/verilog/dv/make/cpu.makefile
+include $(MCW_ROOT)/verilog/dv/make/sim.makefile
 
-hex:  ${PATTERN:=.hex}
 
-%.vvp: %_tb.v %.hex
-ifeq ($(SIM),RTL)
-	iverilog $(SIM_DEFINES) -I $(PDK_PATH) \
-	-I $(CARAVEL_BEHAVIOURAL_MODELS) -I $(CARAVEL_RTL_PATH) \
-	-I $(UPRJ_BEHAVIOURAL_MODELS)    -I $(UPRJ_RTL_PATH) \
-	$< -o $@ 
-else  
-	iverilog $(SIM_DEFINES) -DGL -I $(PDK_PATH) \
-	-I $(CARAVEL_BEHAVIOURAL_MODELS) -I $(CARAVEL_RTL_PATH) -I $(CARAVEL_VERILOG_PATH) \
-	-I $(UPRJ_BEHAVIOURAL_MODELS) -I$(UPRJ_RTL_PATH)   -I $(UPRJ_VERILOG_PATH) \
-	$< -o $@ 
-endif
-
-%.vcd: %.vvp
-	vvp $<
-
-%.elf: %.c $(CARAVEL_FIRMWARE_PATH)/sections.lds $(CARAVEL_FIRMWARE_PATH)/start.s check-env
-	${GCC_PATH}/${GCC_PREFIX}-gcc -I $(CARAVEL_PATH) -march=rv32imc -mabi=ilp32 -Wl,-Bstatic,-T,$(CARAVEL_FIRMWARE_PATH)/sections.lds,--strip-debug -ffreestanding -nostdlib -o $@ $(CARAVEL_FIRMWARE_PATH)/start.s $<
-
-%.hex: %.elf
-	${GCC_PATH}/${GCC_PREFIX}-objcopy -O verilog $< $@ 
-	# to fix flash base address
-	sed -i 's/@10000000/@00000000/g' $@
-
-%.bin: %.elf
-	${GCC_PATH}/${GCC_PREFIX}-objcopy -O binary $< /dev/stdout | tail -c +1048577 > $@
-
-check-env:
-ifndef PDK_ROOT
-	$(error PDK_ROOT is undefined, please export it before running make)
-endif
-ifeq (,$(wildcard $(PDK_ROOT)/sky130A))
-	$(error $(PDK_ROOT)/sky130A not found, please install pdk before running make)
-endif
-ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc ))
-	$(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make)
-endif
-# check for efabless style installation
-ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog))
-SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE
-endif
-
-# ---- Clean ----
-
-clean:
-	rm -f *.elf *.hex *.bin *.vvp *.vcd *.log
-
-.PHONY: clean hex all
diff --git a/verilog/dv/io_ports/RTL-io_ports.vcd b/verilog/dv/io_ports/RTL-io_ports.vcd
new file mode 100644
index 0000000..a85a5ed
--- /dev/null
+++ b/verilog/dv/io_ports/RTL-io_ports.vcd
Binary files differ
diff --git a/verilog/dv/io_ports/io_ports.c b/verilog/dv/io_ports/io_ports.c
index 0b23571..aa111ef 100644
--- a/verilog/dv/io_ports/io_ports.c
+++ b/verilog/dv/io_ports/io_ports.c
@@ -16,8 +16,8 @@
  */
 
 // This include is relative to $CARAVEL_PATH (see Makefile)
-#include "verilog/dv/caravel/defs.h"
-#include "verilog/dv/caravel/stub.c"
+#include <defs.h>
+#include <stub.c>
 
 /*
 	IO Test:
@@ -46,7 +46,11 @@
 	/* Set up the housekeeping SPI to be connected internally so	*/
 	/* that external pin changes don't affect it.			*/
 
-	reg_spimaster_config = 0xa002;	// Enable, prescaler = 2,
+	// reg_spi_enable = 1;
+	// reg_spimaster_cs = 0x10001;
+	// reg_spimaster_control = 0x0801;
+
+	// reg_spimaster_control = 0xa002;	// Enable, prescaler = 2,
                                         // connect to housekeeping SPI
 
 	// Connect the housekeeping SPI to the SPI master
diff --git a/verilog/dv/io_ports/io_ports.hex b/verilog/dv/io_ports/io_ports.hex
new file mode 100755
index 0000000..2515ebb
--- /dev/null
+++ b/verilog/dv/io_ports/io_ports.hex
@@ -0,0 +1,59 @@
+@00000000
+6F 00 00 0B 13 00 00 00 13 00 00 00 13 00 00 00 
+13 00 00 00 13 00 00 00 13 00 00 00 13 00 00 00 
+23 2E 11 FE 23 2C 51 FE 23 2A 61 FE 23 28 71 FE 
+23 26 A1 FE 23 24 B1 FE 23 22 C1 FE 23 20 D1 FE 
+23 2E E1 FC 23 2C F1 FC 23 2A 01 FD 23 28 11 FD 
+23 26 C1 FD 23 24 D1 FD 23 22 E1 FD 23 20 F1 FD 
+13 01 01 FC EF 00 40 11 83 20 C1 03 83 22 81 03 
+03 23 41 03 83 23 01 03 03 25 C1 02 83 25 81 02 
+03 26 41 02 83 26 01 02 03 27 C1 01 83 27 81 01 
+03 28 41 01 83 28 01 01 03 2E C1 00 83 2E 81 00 
+03 2F 41 00 83 2F 01 00 13 01 01 04 73 00 20 30 
+17 01 00 F1 13 01 01 75 17 05 00 00 13 05 85 F6 
+73 10 55 30 13 05 00 00 93 05 00 00 17 06 00 00 
+13 06 C6 2C 63 0C B5 00 83 26 06 00 23 20 D5 00 
+13 05 45 00 13 06 46 00 6F F0 DF FE 13 05 00 00 
+93 05 80 00 63 08 B5 00 23 20 05 00 13 05 45 00 
+6F F0 5F FF 37 15 00 00 13 05 05 88 73 10 45 30 
+EF 00 C0 1A 6F 00 00 00 13 01 01 FF 23 26 81 00 
+13 04 01 01 13 00 00 00 03 24 C1 00 13 01 01 01 
+67 80 00 00 13 01 01 FF 23 26 81 00 13 04 01 01 
+13 00 00 00 03 24 C1 00 13 01 01 01 67 80 00 00 
+13 01 01 FE 23 2E 81 00 13 04 01 02 23 26 A4 FE 
+83 27 C4 FE 73 90 07 BC 13 00 00 00 03 24 C1 01 
+13 01 01 02 67 80 00 00 13 01 01 FF 23 26 11 00 
+23 24 81 00 13 04 01 01 13 05 00 00 EF F0 5F FC 
+B7 37 00 F0 93 87 87 03 13 07 A0 00 23 A0 E7 00 
+B7 37 00 F0 93 87 C7 03 37 07 02 00 23 A0 E7 00 
+13 07 10 00 23 10 E0 00 13 00 00 00 83 20 C1 00 
+03 24 81 00 13 01 01 01 67 80 00 00 13 01 01 FF 
+23 26 81 00 13 04 01 01 13 00 00 00 03 24 C1 00 
+13 01 01 01 67 80 00 00 13 01 01 FF 23 26 81 00 
+13 04 01 01 13 00 00 00 03 24 C1 00 13 01 01 01 
+67 80 00 00 13 01 01 FE 23 2E 11 00 23 2C 81 00 
+13 04 01 02 93 07 05 00 A3 07 F4 FE 03 47 F4 FE 
+93 07 A0 00 63 16 F7 00 13 05 D0 00 EF F0 9F FD 
+13 00 00 00 B7 67 00 F0 93 87 47 80 03 A7 07 00 
+93 07 10 00 E3 08 F7 FE B7 67 00 F0 93 87 07 80 
+03 47 F4 FE 23 A0 E7 00 13 00 00 00 83 20 C1 01 
+03 24 81 01 13 01 01 02 67 80 00 00 13 01 01 FE 
+23 2E 11 00 23 2C 81 00 13 04 01 02 23 26 A4 FE 
+6F 00 C0 01 83 27 C4 FE 13 87 17 00 23 26 E4 FE 
+83 C7 07 00 13 85 07 00 EF F0 DF F6 83 27 C4 FE 
+83 C7 07 00 E3 90 07 FE 13 00 00 00 83 20 C1 01 
+03 24 81 01 13 01 01 02 67 80 00 00 13 01 01 FF 
+23 26 81 00 13 04 01 01 B7 07 00 26 93 87 47 02 
+37 27 00 00 13 07 87 80 23 A0 E7 00 B7 07 00 26 
+93 87 87 02 37 27 00 00 13 07 87 80 23 A0 E7 00 
+B7 07 00 26 93 87 C7 02 37 27 00 00 13 07 87 80 
+23 A0 E7 00 B7 07 00 26 93 87 07 03 37 27 00 00 
+13 07 87 80 23 A0 E7 00 B7 07 00 26 93 87 47 03 
+37 27 00 00 13 07 87 80 23 A0 E7 00 B7 07 00 26 
+93 87 87 03 37 27 00 00 13 07 87 80 23 A0 E7 00 
+B7 07 00 26 93 87 C7 03 37 27 00 00 13 07 87 80 
+23 A0 E7 00 B7 07 00 26 93 87 07 04 37 27 00 00 
+13 07 87 80 23 A0 E7 00 B7 07 00 26 13 07 10 00 
+23 A0 E7 00 13 00 00 00 B7 07 00 26 03 A7 07 00 
+93 07 10 00 E3 0A F7 FE 13 00 00 00 03 24 C1 00 
+13 01 01 01 67 80 00 00 
diff --git a/verilog/dv/io_ports/io_ports.hexe b/verilog/dv/io_ports/io_ports.hexe
new file mode 100755
index 0000000..66f6660
--- /dev/null
+++ b/verilog/dv/io_ports/io_ports.hexe
@@ -0,0 +1,59 @@
+@10000000
+6F 00 00 0B 13 00 00 00 13 00 00 00 13 00 00 00 
+13 00 00 00 13 00 00 00 13 00 00 00 13 00 00 00 
+23 2E 11 FE 23 2C 51 FE 23 2A 61 FE 23 28 71 FE 
+23 26 A1 FE 23 24 B1 FE 23 22 C1 FE 23 20 D1 FE 
+23 2E E1 FC 23 2C F1 FC 23 2A 01 FD 23 28 11 FD 
+23 26 C1 FD 23 24 D1 FD 23 22 E1 FD 23 20 F1 FD 
+13 01 01 FC EF 00 40 11 83 20 C1 03 83 22 81 03 
+03 23 41 03 83 23 01 03 03 25 C1 02 83 25 81 02 
+03 26 41 02 83 26 01 02 03 27 C1 01 83 27 81 01 
+03 28 41 01 83 28 01 01 03 2E C1 00 83 2E 81 00 
+03 2F 41 00 83 2F 01 00 13 01 01 04 73 00 20 30 
+17 01 00 F1 13 01 01 75 17 05 00 00 13 05 85 F6 
+73 10 55 30 13 05 00 00 93 05 00 00 17 06 00 00 
+13 06 C6 2C 63 0C B5 00 83 26 06 00 23 20 D5 00 
+13 05 45 00 13 06 46 00 6F F0 DF FE 13 05 00 00 
+93 05 80 00 63 08 B5 00 23 20 05 00 13 05 45 00 
+6F F0 5F FF 37 15 00 00 13 05 05 88 73 10 45 30 
+EF 00 C0 1A 6F 00 00 00 13 01 01 FF 23 26 81 00 
+13 04 01 01 13 00 00 00 03 24 C1 00 13 01 01 01 
+67 80 00 00 13 01 01 FF 23 26 81 00 13 04 01 01 
+13 00 00 00 03 24 C1 00 13 01 01 01 67 80 00 00 
+13 01 01 FE 23 2E 81 00 13 04 01 02 23 26 A4 FE 
+83 27 C4 FE 73 90 07 BC 13 00 00 00 03 24 C1 01 
+13 01 01 02 67 80 00 00 13 01 01 FF 23 26 11 00 
+23 24 81 00 13 04 01 01 13 05 00 00 EF F0 5F FC 
+B7 37 00 F0 93 87 87 03 13 07 A0 00 23 A0 E7 00 
+B7 37 00 F0 93 87 C7 03 37 07 02 00 23 A0 E7 00 
+13 07 10 00 23 10 E0 00 13 00 00 00 83 20 C1 00 
+03 24 81 00 13 01 01 01 67 80 00 00 13 01 01 FF 
+23 26 81 00 13 04 01 01 13 00 00 00 03 24 C1 00 
+13 01 01 01 67 80 00 00 13 01 01 FF 23 26 81 00 
+13 04 01 01 13 00 00 00 03 24 C1 00 13 01 01 01 
+67 80 00 00 13 01 01 FE 23 2E 11 00 23 2C 81 00 
+13 04 01 02 93 07 05 00 A3 07 F4 FE 03 47 F4 FE 
+93 07 A0 00 63 16 F7 00 13 05 D0 00 EF F0 9F FD 
+13 00 00 00 B7 67 00 F0 93 87 47 80 03 A7 07 00 
+93 07 10 00 E3 08 F7 FE B7 67 00 F0 93 87 07 80 
+03 47 F4 FE 23 A0 E7 00 13 00 00 00 83 20 C1 01 
+03 24 81 01 13 01 01 02 67 80 00 00 13 01 01 FE 
+23 2E 11 00 23 2C 81 00 13 04 01 02 23 26 A4 FE 
+6F 00 C0 01 83 27 C4 FE 13 87 17 00 23 26 E4 FE 
+83 C7 07 00 13 85 07 00 EF F0 DF F6 83 27 C4 FE 
+83 C7 07 00 E3 90 07 FE 13 00 00 00 83 20 C1 01 
+03 24 81 01 13 01 01 02 67 80 00 00 13 01 01 FF 
+23 26 81 00 13 04 01 01 B7 07 00 26 93 87 47 02 
+37 27 00 00 13 07 87 80 23 A0 E7 00 B7 07 00 26 
+93 87 87 02 37 27 00 00 13 07 87 80 23 A0 E7 00 
+B7 07 00 26 93 87 C7 02 37 27 00 00 13 07 87 80 
+23 A0 E7 00 B7 07 00 26 93 87 07 03 37 27 00 00 
+13 07 87 80 23 A0 E7 00 B7 07 00 26 93 87 47 03 
+37 27 00 00 13 07 87 80 23 A0 E7 00 B7 07 00 26 
+93 87 87 03 37 27 00 00 13 07 87 80 23 A0 E7 00 
+B7 07 00 26 93 87 C7 03 37 27 00 00 13 07 87 80 
+23 A0 E7 00 B7 07 00 26 93 87 07 04 37 27 00 00 
+13 07 87 80 23 A0 E7 00 B7 07 00 26 13 07 10 00 
+23 A0 E7 00 13 00 00 00 B7 07 00 26 03 A7 07 00 
+93 07 10 00 E3 0A F7 FE 13 00 00 00 03 24 C1 00 
+13 01 01 01 67 80 00 00 
diff --git a/verilog/dv/io_ports/io_ports.lst b/verilog/dv/io_ports/io_ports.lst
new file mode 100644
index 0000000..a7bd073
--- /dev/null
+++ b/verilog/dv/io_ports/io_ports.lst
@@ -0,0 +1,271 @@
+
+io_ports.elf:     file format elf32-littleriscv
+
+
+Disassembly of section .text:
+
+10000000 <_ftext>:
+10000000:	0b00006f          	j	100000b0 <crt_init>
+10000004:	00000013          	nop
+10000008:	00000013          	nop
+1000000c:	00000013          	nop
+10000010:	00000013          	nop
+10000014:	00000013          	nop
+10000018:	00000013          	nop
+1000001c:	00000013          	nop
+
+10000020 <trap_entry>:
+10000020:	fe112e23          	sw	ra,-4(sp)
+10000024:	fe512c23          	sw	t0,-8(sp)
+10000028:	fe612a23          	sw	t1,-12(sp)
+1000002c:	fe712823          	sw	t2,-16(sp)
+10000030:	fea12623          	sw	a0,-20(sp)
+10000034:	feb12423          	sw	a1,-24(sp)
+10000038:	fec12223          	sw	a2,-28(sp)
+1000003c:	fed12023          	sw	a3,-32(sp)
+10000040:	fce12e23          	sw	a4,-36(sp)
+10000044:	fcf12c23          	sw	a5,-40(sp)
+10000048:	fd012a23          	sw	a6,-44(sp)
+1000004c:	fd112823          	sw	a7,-48(sp)
+10000050:	fdc12623          	sw	t3,-52(sp)
+10000054:	fdd12423          	sw	t4,-56(sp)
+10000058:	fde12223          	sw	t5,-60(sp)
+1000005c:	fdf12023          	sw	t6,-64(sp)
+10000060:	fc010113          	addi	sp,sp,-64
+10000064:	114000ef          	jal	ra,10000178 <isr>
+10000068:	03c12083          	lw	ra,60(sp)
+1000006c:	03812283          	lw	t0,56(sp)
+10000070:	03412303          	lw	t1,52(sp)
+10000074:	03012383          	lw	t2,48(sp)
+10000078:	02c12503          	lw	a0,44(sp)
+1000007c:	02812583          	lw	a1,40(sp)
+10000080:	02412603          	lw	a2,36(sp)
+10000084:	02012683          	lw	a3,32(sp)
+10000088:	01c12703          	lw	a4,28(sp)
+1000008c:	01812783          	lw	a5,24(sp)
+10000090:	01412803          	lw	a6,20(sp)
+10000094:	01012883          	lw	a7,16(sp)
+10000098:	00c12e03          	lw	t3,12(sp)
+1000009c:	00812e83          	lw	t4,8(sp)
+100000a0:	00412f03          	lw	t5,4(sp)
+100000a4:	00012f83          	lw	t6,0(sp)
+100000a8:	04010113          	addi	sp,sp,64
+100000ac:	30200073          	mret
+
+100000b0 <crt_init>:
+100000b0:	f1000117          	auipc	sp,0xf1000
+100000b4:	75010113          	addi	sp,sp,1872 # 1000800 <_fstack>
+100000b8:	00000517          	auipc	a0,0x0
+100000bc:	f6850513          	addi	a0,a0,-152 # 10000020 <trap_entry>
+100000c0:	30551073          	csrw	mtvec,a0
+
+100000c4 <data_init>:
+100000c4:	00000513          	li	a0,0
+100000c8:	00000593          	li	a1,0
+100000cc:	00000617          	auipc	a2,0x0
+100000d0:	2cc60613          	addi	a2,a2,716 # 10000398 <_etext>
+
+100000d4 <data_loop>:
+100000d4:	00b50c63          	beq	a0,a1,100000ec <bss_init>
+100000d8:	00062683          	lw	a3,0(a2)
+100000dc:	00d52023          	sw	a3,0(a0)
+100000e0:	00450513          	addi	a0,a0,4
+100000e4:	00460613          	addi	a2,a2,4
+100000e8:	fedff06f          	j	100000d4 <data_loop>
+
+100000ec <bss_init>:
+100000ec:	00000513          	li	a0,0
+100000f0:	00800593          	li	a1,8
+
+100000f4 <bss_loop>:
+100000f4:	00b50863          	beq	a0,a1,10000104 <bss_done>
+100000f8:	00052023          	sw	zero,0(a0)
+100000fc:	00450513          	addi	a0,a0,4
+10000100:	ff5ff06f          	j	100000f4 <bss_loop>
+
+10000104 <bss_done>:
+10000104:	00001537          	lui	a0,0x1
+10000108:	88050513          	addi	a0,a0,-1920 # 880 <_ebss+0x878>
+1000010c:	30451073          	csrw	mie,a0
+10000110:	1ac000ef          	jal	ra,100002bc <main>
+
+10000114 <infinit_loop>:
+10000114:	0000006f          	j	10000114 <infinit_loop>
+
+10000118 <flush_cpu_icache>:
+10000118:	ff010113          	addi	sp,sp,-16
+1000011c:	00812623          	sw	s0,12(sp)
+10000120:	01010413          	addi	s0,sp,16
+10000124:	00000013          	nop
+10000128:	00c12403          	lw	s0,12(sp)
+1000012c:	01010113          	addi	sp,sp,16
+10000130:	00008067          	ret
+
+10000134 <flush_cpu_dcache>:
+10000134:	ff010113          	addi	sp,sp,-16
+10000138:	00812623          	sw	s0,12(sp)
+1000013c:	01010413          	addi	s0,sp,16
+10000140:	00000013          	nop
+10000144:	00c12403          	lw	s0,12(sp)
+10000148:	01010113          	addi	sp,sp,16
+1000014c:	00008067          	ret
+
+10000150 <irq_setmask>:
+10000150:	fe010113          	addi	sp,sp,-32
+10000154:	00812e23          	sw	s0,28(sp)
+10000158:	02010413          	addi	s0,sp,32
+1000015c:	fea42623          	sw	a0,-20(s0)
+10000160:	fec42783          	lw	a5,-20(s0)
+10000164:	bc079073          	csrw	0xbc0,a5
+10000168:	00000013          	nop
+1000016c:	01c12403          	lw	s0,28(sp)
+10000170:	02010113          	addi	sp,sp,32
+10000174:	00008067          	ret
+
+10000178 <isr>:
+10000178:	ff010113          	addi	sp,sp,-16
+1000017c:	00112623          	sw	ra,12(sp)
+10000180:	00812423          	sw	s0,8(sp)
+10000184:	01010413          	addi	s0,sp,16
+10000188:	00000513          	li	a0,0
+1000018c:	fc5ff0ef          	jal	ra,10000150 <irq_setmask>
+10000190:	f00037b7          	lui	a5,0xf0003
+10000194:	03878793          	addi	a5,a5,56 # f0003038 <_etext+0xe0002ca0>
+10000198:	00a00713          	li	a4,10
+1000019c:	00e7a023          	sw	a4,0(a5)
+100001a0:	f00037b7          	lui	a5,0xf0003
+100001a4:	03c78793          	addi	a5,a5,60 # f000303c <_etext+0xe0002ca4>
+100001a8:	00020737          	lui	a4,0x20
+100001ac:	00e7a023          	sw	a4,0(a5)
+100001b0:	00100713          	li	a4,1
+100001b4:	00e01023          	sh	a4,0(zero) # 0 <__DYNAMIC>
+100001b8:	00000013          	nop
+100001bc:	00c12083          	lw	ra,12(sp)
+100001c0:	00812403          	lw	s0,8(sp)
+100001c4:	01010113          	addi	sp,sp,16
+100001c8:	00008067          	ret
+
+100001cc <flush_cpu_icache>:
+100001cc:	ff010113          	addi	sp,sp,-16
+100001d0:	00812623          	sw	s0,12(sp)
+100001d4:	01010413          	addi	s0,sp,16
+100001d8:	00000013          	nop
+100001dc:	00c12403          	lw	s0,12(sp)
+100001e0:	01010113          	addi	sp,sp,16
+100001e4:	00008067          	ret
+
+100001e8 <flush_cpu_dcache>:
+100001e8:	ff010113          	addi	sp,sp,-16
+100001ec:	00812623          	sw	s0,12(sp)
+100001f0:	01010413          	addi	s0,sp,16
+100001f4:	00000013          	nop
+100001f8:	00c12403          	lw	s0,12(sp)
+100001fc:	01010113          	addi	sp,sp,16
+10000200:	00008067          	ret
+
+10000204 <putchar>:
+10000204:	fe010113          	addi	sp,sp,-32
+10000208:	00112e23          	sw	ra,28(sp)
+1000020c:	00812c23          	sw	s0,24(sp)
+10000210:	02010413          	addi	s0,sp,32
+10000214:	00050793          	mv	a5,a0
+10000218:	fef407a3          	sb	a5,-17(s0)
+1000021c:	fef44703          	lbu	a4,-17(s0)
+10000220:	00a00793          	li	a5,10
+10000224:	00f71663          	bne	a4,a5,10000230 <putchar+0x2c>
+10000228:	00d00513          	li	a0,13
+1000022c:	fd9ff0ef          	jal	ra,10000204 <putchar>
+10000230:	00000013          	nop
+10000234:	f00067b7          	lui	a5,0xf0006
+10000238:	80478793          	addi	a5,a5,-2044 # f0005804 <_etext+0xe000546c>
+1000023c:	0007a703          	lw	a4,0(a5)
+10000240:	00100793          	li	a5,1
+10000244:	fef708e3          	beq	a4,a5,10000234 <putchar+0x30>
+10000248:	f00067b7          	lui	a5,0xf0006
+1000024c:	80078793          	addi	a5,a5,-2048 # f0005800 <_etext+0xe0005468>
+10000250:	fef44703          	lbu	a4,-17(s0)
+10000254:	00e7a023          	sw	a4,0(a5)
+10000258:	00000013          	nop
+1000025c:	01c12083          	lw	ra,28(sp)
+10000260:	01812403          	lw	s0,24(sp)
+10000264:	02010113          	addi	sp,sp,32
+10000268:	00008067          	ret
+
+1000026c <print>:
+1000026c:	fe010113          	addi	sp,sp,-32
+10000270:	00112e23          	sw	ra,28(sp)
+10000274:	00812c23          	sw	s0,24(sp)
+10000278:	02010413          	addi	s0,sp,32
+1000027c:	fea42623          	sw	a0,-20(s0)
+10000280:	01c0006f          	j	1000029c <print+0x30>
+10000284:	fec42783          	lw	a5,-20(s0)
+10000288:	00178713          	addi	a4,a5,1
+1000028c:	fee42623          	sw	a4,-20(s0)
+10000290:	0007c783          	lbu	a5,0(a5)
+10000294:	00078513          	mv	a0,a5
+10000298:	f6dff0ef          	jal	ra,10000204 <putchar>
+1000029c:	fec42783          	lw	a5,-20(s0)
+100002a0:	0007c783          	lbu	a5,0(a5)
+100002a4:	fe0790e3          	bnez	a5,10000284 <print+0x18>
+100002a8:	00000013          	nop
+100002ac:	01c12083          	lw	ra,28(sp)
+100002b0:	01812403          	lw	s0,24(sp)
+100002b4:	02010113          	addi	sp,sp,32
+100002b8:	00008067          	ret
+
+100002bc <main>:
+100002bc:	ff010113          	addi	sp,sp,-16
+100002c0:	00812623          	sw	s0,12(sp)
+100002c4:	01010413          	addi	s0,sp,16
+100002c8:	260007b7          	lui	a5,0x26000
+100002cc:	02478793          	addi	a5,a5,36 # 26000024 <_etext+0x15fffc8c>
+100002d0:	00002737          	lui	a4,0x2
+100002d4:	80870713          	addi	a4,a4,-2040 # 1808 <_ebss+0x1800>
+100002d8:	00e7a023          	sw	a4,0(a5)
+100002dc:	260007b7          	lui	a5,0x26000
+100002e0:	02878793          	addi	a5,a5,40 # 26000028 <_etext+0x15fffc90>
+100002e4:	00002737          	lui	a4,0x2
+100002e8:	80870713          	addi	a4,a4,-2040 # 1808 <_ebss+0x1800>
+100002ec:	00e7a023          	sw	a4,0(a5)
+100002f0:	260007b7          	lui	a5,0x26000
+100002f4:	02c78793          	addi	a5,a5,44 # 2600002c <_etext+0x15fffc94>
+100002f8:	00002737          	lui	a4,0x2
+100002fc:	80870713          	addi	a4,a4,-2040 # 1808 <_ebss+0x1800>
+10000300:	00e7a023          	sw	a4,0(a5)
+10000304:	260007b7          	lui	a5,0x26000
+10000308:	03078793          	addi	a5,a5,48 # 26000030 <_etext+0x15fffc98>
+1000030c:	00002737          	lui	a4,0x2
+10000310:	80870713          	addi	a4,a4,-2040 # 1808 <_ebss+0x1800>
+10000314:	00e7a023          	sw	a4,0(a5)
+10000318:	260007b7          	lui	a5,0x26000
+1000031c:	03478793          	addi	a5,a5,52 # 26000034 <_etext+0x15fffc9c>
+10000320:	00002737          	lui	a4,0x2
+10000324:	80870713          	addi	a4,a4,-2040 # 1808 <_ebss+0x1800>
+10000328:	00e7a023          	sw	a4,0(a5)
+1000032c:	260007b7          	lui	a5,0x26000
+10000330:	03878793          	addi	a5,a5,56 # 26000038 <_etext+0x15fffca0>
+10000334:	00002737          	lui	a4,0x2
+10000338:	80870713          	addi	a4,a4,-2040 # 1808 <_ebss+0x1800>
+1000033c:	00e7a023          	sw	a4,0(a5)
+10000340:	260007b7          	lui	a5,0x26000
+10000344:	03c78793          	addi	a5,a5,60 # 2600003c <_etext+0x15fffca4>
+10000348:	00002737          	lui	a4,0x2
+1000034c:	80870713          	addi	a4,a4,-2040 # 1808 <_ebss+0x1800>
+10000350:	00e7a023          	sw	a4,0(a5)
+10000354:	260007b7          	lui	a5,0x26000
+10000358:	04078793          	addi	a5,a5,64 # 26000040 <_etext+0x15fffca8>
+1000035c:	00002737          	lui	a4,0x2
+10000360:	80870713          	addi	a4,a4,-2040 # 1808 <_ebss+0x1800>
+10000364:	00e7a023          	sw	a4,0(a5)
+10000368:	260007b7          	lui	a5,0x26000
+1000036c:	00100713          	li	a4,1
+10000370:	00e7a023          	sw	a4,0(a5) # 26000000 <_etext+0x15fffc68>
+10000374:	00000013          	nop
+10000378:	260007b7          	lui	a5,0x26000
+1000037c:	0007a703          	lw	a4,0(a5) # 26000000 <_etext+0x15fffc68>
+10000380:	00100793          	li	a5,1
+10000384:	fef70ae3          	beq	a4,a5,10000378 <main+0xbc>
+10000388:	00000013          	nop
+1000038c:	00c12403          	lw	s0,12(sp)
+10000390:	01010113          	addi	sp,sp,16
+10000394:	00008067          	ret
diff --git a/verilog/dv/io_ports/io_ports_tb.v b/verilog/dv/io_ports/io_ports_tb.v
index f7628bc..8da4873 100644
--- a/verilog/dv/io_ports/io_ports_tb.v
+++ b/verilog/dv/io_ports/io_ports_tb.v
@@ -17,32 +17,31 @@
 
 `timescale 1 ns / 1 ps
 
-`include "uprj_netlists.v"
-`include "caravel_netlists.v"
-`include "spiflash.v"
+// `include "uprj_netlists.v"
+// `include "caravel_netlists.v"
+// `include "spiflash.v"
 
 module io_ports_tb;
 	reg clock;
 	reg RSTB;
 	reg CSB;
 	reg power1, power2;
-	reg power3, power4;
 
-    	wire gpio;
-    	wire [37:0] mprj_io;
+	wire gpio;
+	wire [37:0] mprj_io;
 	wire [7:0] mprj_io_0;
 
 	assign mprj_io_0 = mprj_io[7:0];
 	// assign mprj_io_0 = {mprj_io[8:4],mprj_io[2:0]};
 
-	assign mprj_io[3] = (CSB == 1'b1) ? 1'b1 : 1'bz;
+	// assign mprj_io[3] = (CSB == 1'b1) ? 1'b1 : 1'bz;
 	// assign mprj_io[3] = 1'b1;
 
 	// External clock is used by default.  Make this artificially fast for the
 	// simulation.  Normally this would be a slow clock and the digital PLL
 	// would be the fast clock.
 
-	always #12.5 clock <= (clock === 1'b0);
+	always #10 clock <= (clock === 1'b0);
 
 	initial begin
 		clock = 0;
@@ -55,7 +54,7 @@
 		// Repeat cycles of 1000 clock edges as needed to complete testbench
 		repeat (25) begin
 			repeat (1000) @(posedge clock);
-			// $display("+1000 cycles");
+			$display("+1000 cycles");
 		end
 		$display("%c[1;31m",27);
 		`ifdef GL
@@ -69,18 +68,22 @@
 
 	initial begin
 	    // Observe Output pins [7:0]
-	    wait(mprj_io_0 == 8'h01);
-	    wait(mprj_io_0 == 8'h02);
-	    wait(mprj_io_0 == 8'h03);
-    	    wait(mprj_io_0 == 8'h04);
-	    wait(mprj_io_0 == 8'h05);
-            wait(mprj_io_0 == 8'h06);
-	    wait(mprj_io_0 == 8'h07);
-            wait(mprj_io_0 == 8'h08);
-	    wait(mprj_io_0 == 8'h09);
-            wait(mprj_io_0 == 8'h0A);   
-	    wait(mprj_io_0 == 8'hFF);
-	    wait(mprj_io_0 == 8'h00);
+		wait(mprj_io_0 == 8'h01);
+		wait(mprj_io_0 == 8'h02);
+		wait(mprj_io_0 == 8'h03);
+		wait(mprj_io_0 == 8'h04);
+		wait(mprj_io_0 == 8'h05);
+		wait(mprj_io_0 == 8'h06);
+		wait(mprj_io_0 == 8'h07);
+		wait(mprj_io_0 == 8'h08);
+		wait(mprj_io_0 == 8'h09);
+		wait(mprj_io_0 == 8'h0A);   
+		wait(mprj_io_0 == 8'h0A);   
+		wait(mprj_io_0 == 8'h0A);   
+		wait(mprj_io_0 == 8'h0A);   
+		wait(mprj_io_0 == 8'h0A);   
+		wait(mprj_io_0 == 8'hFF);
+		wait(mprj_io_0 == 8'h00);
 		
 		`ifdef GL
 	    	$display("Monitor: Test 1 Mega-Project IO (GL) Passed");
@@ -92,26 +95,18 @@
 
 	initial begin
 		RSTB <= 1'b0;
-		CSB  <= 1'b1;		// Force CSB high
+		#1000;
+		RSTB <= 1'b1;	    // Release reset
 		#2000;
-		RSTB <= 1'b1;	    	// Release reset
-		#170000;
-		CSB = 1'b0;		// CSB can be released
 	end
 
 	initial begin		// Power-up sequence
 		power1 <= 1'b0;
 		power2 <= 1'b0;
-		power3 <= 1'b0;
-		power4 <= 1'b0;
-		#100;
+		#200;
 		power1 <= 1'b1;
-		#100;
+		#200;
 		power2 <= 1'b1;
-		#100;
-		power3 <= 1'b1;
-		#100;
-		power4 <= 1'b1;
 	end
 
 	always @(mprj_io) begin
@@ -123,30 +118,36 @@
 	wire flash_io0;
 	wire flash_io1;
 
-	wire VDD3V3 = power1;
-	wire VDD1V8 = power2;
-	wire USER_VDD3V3 = power3;
-	wire USER_VDD1V8 = power4;
-	wire VSS = 1'b0;
+	wire VDD3V3;
+	wire VDD1V8;
+	wire VSS;
+	
+	assign VDD3V3 = power1;
+	assign VDD1V8 = power2;
+	assign VSS = 1'b0;
 
 	caravel uut (
 		.vddio	  (VDD3V3),
+		.vddio_2  (VDD3V3),
 		.vssio	  (VSS),
+		.vssio_2  (VSS),
 		.vdda	  (VDD3V3),
 		.vssa	  (VSS),
 		.vccd	  (VDD1V8),
 		.vssd	  (VSS),
-		.vdda1    (USER_VDD3V3),
-		.vdda2    (USER_VDD3V3),
+		.vdda1    (VDD3V3),
+		.vdda1_2  (VDD3V3),
+		.vdda2    (VDD3V3),
 		.vssa1	  (VSS),
+		.vssa1_2  (VSS),
 		.vssa2	  (VSS),
-		.vccd1	  (USER_VDD1V8),
-		.vccd2	  (USER_VDD1V8),
+		.vccd1	  (VDD1V8),
+		.vccd2	  (VDD1V8),
 		.vssd1	  (VSS),
 		.vssd2	  (VSS),
-		.clock	  (clock),
+		.clock    (clock),
 		.gpio     (gpio),
-        	.mprj_io  (mprj_io),
+		.mprj_io  (mprj_io),
 		.flash_csb(flash_csb),
 		.flash_clk(flash_clk),
 		.flash_io0(flash_io0),
diff --git a/verilog/dv/la_test1/Makefile b/verilog/dv/la_test1/Makefile
index ba979f7..508ac7b 100644
--- a/verilog/dv/la_test1/Makefile
+++ b/verilog/dv/la_test1/Makefile
@@ -14,83 +14,18 @@
 #
 # SPDX-License-Identifier: Apache-2.0
 
-## PDK 
-PDK_PATH = $(PDK_ROOT)/sky130A
 
-## Caravel Pointers
-CARAVEL_ROOT ?= ../../../caravel
-CARAVEL_PATH ?= $(CARAVEL_ROOT)
-CARAVEL_FIRMWARE_PATH = $(CARAVEL_PATH)/verilog/dv/caravel
-CARAVEL_VERILOG_PATH  = $(CARAVEL_PATH)/verilog
-CARAVEL_RTL_PATH = $(CARAVEL_VERILOG_PATH)/rtl
-CARAVEL_BEHAVIOURAL_MODELS = $(CARAVEL_VERILOG_PATH)/dv/caravel
+ 
+PWDD := $(shell pwd)
+BLOCKS := $(shell basename $(PWDD))
 
-## User Project Pointers
-UPRJ_VERILOG_PATH ?= ../../../verilog
-UPRJ_RTL_PATH = $(UPRJ_VERILOG_PATH)/rtl
-UPRJ_BEHAVIOURAL_MODELS = ../
+# ---- Include Partitioned Makefiles ----
 
-## RISCV GCC 
-GCC_PATH?=/ef/apps/bin
-GCC_PREFIX?=riscv32-unknown-elf
+CONFIG = caravel_user_porject
 
-## Simulation mode: RTL/GL
-SIM_DEFINES = -DFUNCTIONAL -DSIM
-SIM?=RTL
+include $(MCW_ROOT)/verilog/dv/make/env.makefile
+include $(MCW_ROOT)/verilog/dv/make/var.makefile
+include $(MCW_ROOT)/verilog/dv/make/cpu.makefile
+include $(MCW_ROOT)/verilog/dv/make/sim.makefile
 
-.SUFFIXES:
 
-PATTERN = la_test1
-
-all:  ${PATTERN:=.vcd}
-
-hex:  ${PATTERN:=.hex}
-
-%.vvp: %_tb.v %.hex
-ifeq ($(SIM),RTL)
-	iverilog $(SIM_DEFINES) -I $(PDK_PATH) \
-	-I $(CARAVEL_BEHAVIOURAL_MODELS) -I $(CARAVEL_RTL_PATH) \
-	-I $(UPRJ_BEHAVIOURAL_MODELS)    -I $(UPRJ_RTL_PATH) \
-	$< -o $@ 
-else  
-	iverilog $(SIM_DEFINES) -DGL -I $(PDK_PATH) \
-	-I $(CARAVEL_BEHAVIOURAL_MODELS) -I $(CARAVEL_RTL_PATH) -I $(CARAVEL_VERILOG_PATH) \
-	-I $(UPRJ_BEHAVIOURAL_MODELS) -I$(UPRJ_RTL_PATH)   -I $(UPRJ_VERILOG_PATH) \
-	$< -o $@ 
-endif
-
-%.vcd: %.vvp
-	vvp $<
-
-%.elf: %.c $(CARAVEL_FIRMWARE_PATH)/sections.lds $(CARAVEL_FIRMWARE_PATH)/start.s check-env
-	${GCC_PATH}/${GCC_PREFIX}-gcc -I $(CARAVEL_PATH) -march=rv32imc -mabi=ilp32 -Wl,-Bstatic,-T,$(CARAVEL_FIRMWARE_PATH)/sections.lds,--strip-debug -ffreestanding -nostdlib -o $@ $(CARAVEL_FIRMWARE_PATH)/start.s $<
-
-%.hex: %.elf
-	${GCC_PATH}/${GCC_PREFIX}-objcopy -O verilog $< $@ 
-	# to fix flash base address
-	sed -i 's/@10000000/@00000000/g' $@
-
-%.bin: %.elf
-	${GCC_PATH}/${GCC_PREFIX}-objcopy -O binary $< /dev/stdout | tail -c +1048577 > $@
-
-check-env:
-ifndef PDK_ROOT
-	$(error PDK_ROOT is undefined, please export it before running make)
-endif
-ifeq (,$(wildcard $(PDK_ROOT)/sky130A))
-	$(error $(PDK_ROOT)/sky130A not found, please install pdk before running make)
-endif
-ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc ))
-	$(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make)
-endif
-# check for efabless style installation
-ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog))
-SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE
-endif
-
-# ---- Clean ----
-
-clean:
-	rm -f *.elf *.hex *.bin *.vvp *.vcd *.log
-
-.PHONY: clean hex all
diff --git a/verilog/dv/la_test1/la_test1.c b/verilog/dv/la_test1/la_test1.c
index 220bdfe..96b56bd 100644
--- a/verilog/dv/la_test1/la_test1.c
+++ b/verilog/dv/la_test1/la_test1.c
@@ -16,8 +16,8 @@
  */
 
 // This include is relative to $CARAVEL_PATH (see Makefile)
-#include "verilog/dv/caravel/defs.h"
-#include "verilog/dv/caravel/stub.c"
+#include <defs.h>
+#include <stub.c>
 
 // --------------------------------------------------------
 
@@ -31,11 +31,17 @@
 
 void main()
 {
+	int j;
 
 	/* Set up the housekeeping SPI to be connected internally so	*/
 	/* that external pin changes don't affect it.			*/
 
-	reg_spimaster_config = 0xa002;	// Enable, prescaler = 2,
+	// reg_spi_enable = 1;
+	// reg_spimaster_cs = 0x00000;
+
+	// reg_spimaster_control = 0x0801;
+
+	// reg_spimaster_control = 0xa002;	// Enable, prescaler = 2,
                                         // connect to housekeeping SPI
 
 	// Connect the housekeeping SPI to the SPI master
@@ -88,19 +94,19 @@
         reg_mprj_io_6  = GPIO_MODE_MGMT_STD_OUTPUT;
 
 	// Set UART clock to 64 kbaud (enable before I/O configuration)
-	reg_uart_clkdiv = 625;
+	// reg_uart_clkdiv = 625;
 	reg_uart_enable = 1;
 
-        /* Apply configuration */
-        reg_mprj_xfer = 1;
-        while (reg_mprj_xfer == 1);
+    // Now, apply the configuration
+    reg_mprj_xfer = 1;
+    while (reg_mprj_xfer == 1);
 
-	// Configure LA probes [31:0], [127:64] as inputs to the cpu 
+    // Configure LA probes [31:0], [127:64] as inputs to the cpu 
 	// Configure LA probes [63:32] as outputs from the cpu
-	reg_la0_oenb = reg_la0_iena = 0xFFFFFFFF;    // [31:0]
-	reg_la1_oenb = reg_la1_iena = 0x00000000;    // [63:32]
-	reg_la2_oenb = reg_la2_iena = 0xFFFFFFFF;    // [95:64]
-	reg_la3_oenb = reg_la3_iena = 0xFFFFFFFF;    // [127:96]
+	reg_la0_oenb = reg_la0_iena = 0x00000000;    // [31:0]
+	reg_la1_oenb = reg_la1_iena = 0xFFFFFFFF;    // [63:32]
+	reg_la2_oenb = reg_la2_iena = 0x00000000;    // [95:64]
+	reg_la3_oenb = reg_la3_iena = 0x00000000;    // [127:96]
 
 	// Flag start of the test 
 	reg_mprj_datal = 0xAB400000;
@@ -109,10 +115,10 @@
 	reg_la1_data = 0x00000000;
 
 	// Configure LA probes from [63:32] as inputs to disable counter write
-	reg_la1_oenb = reg_la1_iena = 0xFFFFFFFF;    
+	reg_la1_oenb = reg_la1_iena = 0x00000000;    
 
 	while (1) {
-		if (reg_la0_data > 0x1F4) {
+		if (reg_la0_data_in > 0x1F4) {
 			reg_mprj_datal = 0xAB410000;
 			break;
 		}
diff --git a/verilog/dv/la_test1/la_test1_tb.v b/verilog/dv/la_test1/la_test1_tb.v
index 626e390..93fafeb 100644
--- a/verilog/dv/la_test1/la_test1_tb.v
+++ b/verilog/dv/la_test1/la_test1_tb.v
@@ -17,10 +17,10 @@
 
 `timescale 1 ns / 1 ps
 
-`include "uprj_netlists.v"
-`include "caravel_netlists.v"
-`include "spiflash.v"
-`include "tbuart.v"
+// `include "uprj_netlists.v"
+// `include "caravel_netlists.v"
+// `include "spiflash.v"
+// `include "tbuart.v"
 
 module la_test1_tb;
 	reg clock;
@@ -29,9 +29,9 @@
 
 	reg power1, power2;
 
-    	wire gpio;
+	wire gpio;
 	wire uart_tx;
-    	wire [37:0] mprj_io;
+	wire [37:0] mprj_io;
 	wire [15:0] checkbits;
 
 	assign checkbits  = mprj_io[31:16];
@@ -43,18 +43,31 @@
 		clock = 0;
 	end
 
-	assign mprj_io[3] = (CSB == 1'b1) ? 1'b1 : 1'bz;
+	// assign mprj_io[3] = 1'b1;
 
 	initial begin
-		// $dumpfile("la_test1.vcd");
-		// $dumpvars(0, la_test1_tb);
+		$dumpfile("la_test1.vcd");
+		$dumpvars(0, la_test1_tb);
 
 		// Repeat cycles of 1000 clock edges as needed to complete testbench
-		repeat (200) begin
+		// repeat (200) begin
+		// 	repeat (1000) @(posedge clock);
+		// 	$display("+1000 cycles");
+		// end
+		// $display("%c[1;31m",27);
+		// `ifdef GL
+		// 	$display ("Monitor: Timeout, Test LA (GL) Failed");
+		// `else
+		// 	$display ("Monitor: Timeout, Test LA (RTL) Failed");
+		// `endif
+		// $display("%c[0m",27);
+		// $finish;
+		// $display("Wait for UART o/p");
+		repeat (450) begin
 			repeat (1000) @(posedge clock);
-			// $display("+1000 cycles");
+			// Diagnostic. . . interrupts output pattern.
 		end
-		$display("%c[1;31m",27);
+        $display("%c[1;31m",27);
 		`ifdef GL
 			$display ("Monitor: Timeout, Test LA (GL) Failed");
 		`else
@@ -64,22 +77,29 @@
 		$finish;
 	end
 
-	initial begin
-		wait(checkbits == 16'hAB40);
-		$display("LA Test 1 started");
-		wait(checkbits == 16'hAB41);
-		wait(checkbits == 16'hAB51);
-		#10000;
-		$finish;
-	end
+	// initial begin
+	// 	wait(checkbits == 16'hAB40);
+	// 	$display("LA Test 1 started");
+	// 	wait(checkbits == 16'hAB41);
+	// 	wait(checkbits == 16'hAB51);
+	// 	#10000;
+	// 	$finish;
+	// end
+
+	// initial begin
+	// 	RSTB <= 1'b0;
+	// 	CSB  <= 1'b1;		// Force CSB high
+	// 	#2000;
+	// 	RSTB <= 1'b1;	    	// Release reset
+	// 	#170000;
+	// 	CSB = 1'b0;		// CSB can be released
+	// end
 
 	initial begin
 		RSTB <= 1'b0;
-		CSB  <= 1'b1;		// Force CSB high
+		#1000;
+		RSTB <= 1'b1;	    // Release reset
 		#2000;
-		RSTB <= 1'b1;	    	// Release reset
-		#170000;
-		CSB = 1'b0;		// CSB can be released
 	end
 
 	initial begin		// Power-up sequence
@@ -91,37 +111,61 @@
 		power2 <= 1'b1;
 	end
 
-    	wire flash_csb;
+	always @(checkbits) begin
+		if(checkbits == 16'hAB40) begin
+			$display("LA Test 1 started");
+		end
+		else if(checkbits == 16'hAB41) begin
+			$display("First check passed");
+		end
+		else if(checkbits == 16'hAB51) begin
+			`ifdef GL
+				$display("UART Test (GL) passed");
+			`else
+				$display("UART Test (RTL) passed");
+			`endif
+			$finish;
+		end
+	end
+
+	wire flash_csb;
 	wire flash_clk;
 	wire flash_io0;
 	wire flash_io1;
 
 	wire VDD1V8;
-    	wire VDD3V3;
+	wire VDD3V3;
 	wire VSS;
     
 	assign VDD3V3 = power1;
 	assign VDD1V8 = power2;
 	assign VSS = 1'b0;
 
+	assign mprj_io[3] = 1;  // Force CSB high.
+	assign mprj_io[0] = 0;  // Disable debug mode
+
 	caravel uut (
 		.vddio	  (VDD3V3),
+		.vddio_2  (VDD3V3),
 		.vssio	  (VSS),
+		.vssio_2  (VSS),
 		.vdda	  (VDD3V3),
 		.vssa	  (VSS),
 		.vccd	  (VDD1V8),
 		.vssd	  (VSS),
 		.vdda1    (VDD3V3),
+		.vdda1_2  (VDD3V3),
 		.vdda2    (VDD3V3),
 		.vssa1	  (VSS),
+		.vssa1_2  (VSS),
 		.vssa2	  (VSS),
 		.vccd1	  (VDD1V8),
 		.vccd2	  (VDD1V8),
 		.vssd1	  (VSS),
 		.vssd2	  (VSS),
-		.clock	  (clock),
+		.clock    (clock),
 		.gpio     (gpio),
-        	.mprj_io  (mprj_io),
+		.mprj_io  (mprj_io),
 		.flash_csb(flash_csb),
 		.flash_clk(flash_clk),
 		.flash_io0(flash_io0),
diff --git a/verilog/dv/la_test2/Makefile b/verilog/dv/la_test2/Makefile
index 0435500..508ac7b 100644
--- a/verilog/dv/la_test2/Makefile
+++ b/verilog/dv/la_test2/Makefile
@@ -14,83 +14,18 @@
 #
 # SPDX-License-Identifier: Apache-2.0
 
-## PDK 
-PDK_PATH = $(PDK_ROOT)/sky130A
 
-## Caravel Pointers
-CARAVEL_ROOT ?= ../../../caravel
-CARAVEL_PATH ?= $(CARAVEL_ROOT)
-CARAVEL_FIRMWARE_PATH = $(CARAVEL_PATH)/verilog/dv/caravel
-CARAVEL_VERILOG_PATH  = $(CARAVEL_PATH)/verilog
-CARAVEL_RTL_PATH = $(CARAVEL_VERILOG_PATH)/rtl
-CARAVEL_BEHAVIOURAL_MODELS = $(CARAVEL_VERILOG_PATH)/dv/caravel
+ 
+PWDD := $(shell pwd)
+BLOCKS := $(shell basename $(PWDD))
 
-## User Project Pointers
-UPRJ_VERILOG_PATH ?= ../../../verilog
-UPRJ_RTL_PATH = $(UPRJ_VERILOG_PATH)/rtl
-UPRJ_BEHAVIOURAL_MODELS = ../
+# ---- Include Partitioned Makefiles ----
 
-## RISCV GCC 
-GCC_PATH?=/ef/apps/bin
-GCC_PREFIX?=riscv32-unknown-elf
+CONFIG = caravel_user_porject
 
-## Simulation mode: RTL/GL
-SIM_DEFINES = -DFUNCTIONAL -DSIM
-SIM?=RTL
+include $(MCW_ROOT)/verilog/dv/make/env.makefile
+include $(MCW_ROOT)/verilog/dv/make/var.makefile
+include $(MCW_ROOT)/verilog/dv/make/cpu.makefile
+include $(MCW_ROOT)/verilog/dv/make/sim.makefile
 
-.SUFFIXES:
 
-PATTERN = la_test2
-
-all:  ${PATTERN:=.vcd}
-
-hex:  ${PATTERN:=.hex}
-
-%.vvp: %_tb.v %.hex
-ifeq ($(SIM),RTL)
-	iverilog $(SIM_DEFINES) -I $(PDK_PATH) \
-	-I $(CARAVEL_BEHAVIOURAL_MODELS) -I $(CARAVEL_RTL_PATH) \
-	-I $(UPRJ_BEHAVIOURAL_MODELS)    -I $(UPRJ_RTL_PATH) \
-	$< -o $@ 
-else  
-	iverilog $(SIM_DEFINES) -DGL -I $(PDK_PATH) \
-	-I $(CARAVEL_BEHAVIOURAL_MODELS) -I $(CARAVEL_RTL_PATH) -I $(CARAVEL_VERILOG_PATH) \
-	-I $(UPRJ_BEHAVIOURAL_MODELS) -I$(UPRJ_RTL_PATH)   -I $(UPRJ_VERILOG_PATH) \
-	$< -o $@ 
-endif
-
-%.vcd: %.vvp
-	vvp $<
-
-%.elf: %.c $(CARAVEL_FIRMWARE_PATH)/sections.lds $(CARAVEL_FIRMWARE_PATH)/start.s check-env
-	${GCC_PATH}/${GCC_PREFIX}-gcc -I $(CARAVEL_PATH) -march=rv32imc -mabi=ilp32 -Wl,-Bstatic,-T,$(CARAVEL_FIRMWARE_PATH)/sections.lds,--strip-debug -ffreestanding -nostdlib -o $@ $(CARAVEL_FIRMWARE_PATH)/start.s $<
-
-%.hex: %.elf
-	${GCC_PATH}/${GCC_PREFIX}-objcopy -O verilog $< $@ 
-	# to fix flash base address
-	sed -i 's/@10000000/@00000000/g' $@
-
-%.bin: %.elf
-	${GCC_PATH}/${GCC_PREFIX}-objcopy -O binary $< /dev/stdout | tail -c +1048577 > $@
-
-check-env:
-ifndef PDK_ROOT
-	$(error PDK_ROOT is undefined, please export it before running make)
-endif
-ifeq (,$(wildcard $(PDK_ROOT)/sky130A))
-	$(error $(PDK_ROOT)/sky130A not found, please install pdk before running make)
-endif
-ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc ))
-	$(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make)
-endif
-# check for efabless style installation
-ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog))
-SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE
-endif
-
-# ---- Clean ----
-
-clean:
-	rm -f *.elf *.hex *.bin *.vvp *.vcd *.log
-
-.PHONY: clean hex all
diff --git a/verilog/dv/la_test2/la_test2.c b/verilog/dv/la_test2/la_test2.c
index 5875432..25fad48 100644
--- a/verilog/dv/la_test2/la_test2.c
+++ b/verilog/dv/la_test2/la_test2.c
@@ -16,8 +16,8 @@
  */
 
 // This include is relative to $CARAVEL_PATH (see Makefile)
-#include "verilog/dv/caravel/defs.h"
-#include "verilog/dv/caravel/stub.c"
+#include <defs.h>
+#include <stub.c>
 
 /*
 	MPRJ LA Test:
@@ -34,7 +34,8 @@
         /* Set up the housekeeping SPI to be connected internally so	*/
 	/* that external pin changes don't affect it.			*/
 
-	reg_spimaster_config = 0xa002;	// Enable, prescaler = 2,
+	// reg_spimaster_config = 0xa002;	// Enable, prescaler = 2,
+        reg_spi_enable = 1;
                                         // connect to housekeeping SPI
 
 	// Connect the housekeeping SPI to the SPI master
@@ -83,16 +84,16 @@
         while (reg_mprj_xfer == 1);
 
 	// Configure All LA probes as inputs to the cpu 
-	reg_la0_oenb = reg_la0_iena = 0xFFFFFFFF;    // [31:0]
-	reg_la1_oenb = reg_la1_iena = 0xFFFFFFFF;    // [63:32]
-	reg_la2_oenb = reg_la2_iena = 0xFFFFFFFF;    // [95:64]
-	reg_la3_oenb = reg_la3_iena = 0xFFFFFFFF;    // [127:96]
+	reg_la0_oenb = reg_la0_iena = 0x00000000;    // [31:0]
+	reg_la1_oenb = reg_la1_iena = 0x00000000;    // [63:32]
+	reg_la2_oenb = reg_la2_iena = 0x00000000;    // [95:64]
+	reg_la3_oenb = reg_la3_iena = 0x00000000;    // [127:96]
 
 	// Flag start of the test
 	reg_mprj_datal = 0xAB600000;
 
 	// Configure LA[64] LA[65] as outputs from the cpu
-	reg_la2_oenb = reg_la2_iena = 0xFFFFFFFC; 
+	reg_la2_oenb = reg_la2_iena = 0x00000003; 
 
 	// Set clk & reset to one
 	reg_la2_data = 0x00000003;
@@ -106,9 +107,14 @@
 		reg_la2_data = 0x00000000 | clk;
 	}
 
-	if (reg_la0_data >= 0x05) {
-		reg_mprj_datal = 0xAB610000;
-	}
+        // reg_mprj_datal = 0xAB610000;
+
+        while (1){
+                if (reg_la0_data_in >= 0x05) {
+                        reg_mprj_datal = 0xAB610000;
+                        break;
+                }
+                
+        }
 
 }
-
diff --git a/verilog/dv/la_test2/la_test2_tb.v b/verilog/dv/la_test2/la_test2_tb.v
index e09905e..2acf43d 100644
--- a/verilog/dv/la_test2/la_test2_tb.v
+++ b/verilog/dv/la_test2/la_test2_tb.v
@@ -17,9 +17,9 @@
 
 `timescale 1 ns / 1 ps
 
-`include "uprj_netlists.v"
-`include "caravel_netlists.v"
-`include "spiflash.v"
+// `include "uprj_netlists.v"
+// `include "caravel_netlists.v"
+// `include "spiflash.v"
 
 module la_test2_tb;
 	reg clock;
@@ -28,12 +28,11 @@
 
 	reg power1, power2;
 
-    	wire gpio;
-    	wire [37:0] mprj_io;
+	wire gpio;
+	wire [37:0] mprj_io;
 	wire [15:0] checkbits;
 
 	assign checkbits = mprj_io[31:16];
-	assign mprj_io[3] = (CSB == 1'b1) ? 1'b1 : 1'bz;
 
 	always #12.5 clock <= (clock === 1'b0);
 
@@ -46,9 +45,9 @@
 		$dumpvars(0, la_test2_tb);
 
 		// Repeat cycles of 1000 clock edges as needed to complete testbench
-		repeat (30) begin
+		repeat (75) begin
 			repeat (1000) @(posedge clock);
-			// $display("+1000 cycles");
+			$display("+1000 cycles");
 		end
 		$display("%c[1;31m",27);
 		`ifdef GL
@@ -61,20 +60,18 @@
 	end
 
 	initial begin
-		wait(checkbits == 16'h AB60);
+		wait(checkbits == 16'hAB60);
 		$display("Monitor: Test 2 MPRJ-Logic Analyzer Started");
-		wait(checkbits == 16'h AB61);
+		wait(checkbits == 16'hAB61);
 		$display("Monitor: Test 2 MPRJ-Logic Analyzer Passed");
 		$finish;
 	end
 
 	initial begin
 		RSTB <= 1'b0;
-		CSB  <= 1'b1;		// Force CSB high
+		#1000;
+		RSTB <= 1'b1;	    // Release reset
 		#2000;
-		RSTB <= 1'b1;	    	// Release reset
-		#170000;
-		CSB = 1'b0;		// CSB can be released
 	end
 
 	initial begin		// Power-up sequence
@@ -99,24 +96,31 @@
 	assign VDD1V8 = power2;
 	assign VSS = 1'b0;
 
+	assign mprj_io[3] = 1;  // Force CSB high.
+	assign mprj_io[0] = 0;  // Disable debug mode
+
 	caravel uut (
 		.vddio	  (VDD3V3),
+		.vddio_2  (VDD3V3),
 		.vssio	  (VSS),
+		.vssio_2  (VSS),
 		.vdda	  (VDD3V3),
 		.vssa	  (VSS),
 		.vccd	  (VDD1V8),
 		.vssd	  (VSS),
 		.vdda1    (VDD3V3),
+		.vdda1_2  (VDD3V3),
 		.vdda2    (VDD3V3),
 		.vssa1	  (VSS),
+		.vssa1_2  (VSS),
 		.vssa2	  (VSS),
 		.vccd1	  (VDD1V8),
 		.vccd2	  (VDD1V8),
 		.vssd1	  (VSS),
 		.vssd2	  (VSS),
-		.clock	  (clock),
+		.clock    (clock),
 		.gpio     (gpio),
-        	.mprj_io  (mprj_io),
+		.mprj_io  (mprj_io),
 		.flash_csb(flash_csb),
 		.flash_clk(flash_clk),
 		.flash_io0(flash_io0),
diff --git a/verilog/dv/mprj_stimulus/Makefile b/verilog/dv/mprj_stimulus/Makefile
index b0e4051..508ac7b 100644
--- a/verilog/dv/mprj_stimulus/Makefile
+++ b/verilog/dv/mprj_stimulus/Makefile
@@ -14,88 +14,18 @@
 #
 # SPDX-License-Identifier: Apache-2.0
 
-## PDK 
-PDK_PATH = $(PDK_ROOT)/sky130A
 
-## Caravel Pointers
-CARAVEL_ROOT ?= ../../../caravel
-CARAVEL_PATH ?= $(CARAVEL_ROOT)
-CARAVEL_FIRMWARE_PATH = $(CARAVEL_PATH)/verilog/dv/caravel
-CARAVEL_VERILOG_PATH  = $(CARAVEL_PATH)/verilog
-CARAVEL_RTL_PATH = $(CARAVEL_VERILOG_PATH)/rtl
-CARAVEL_BEHAVIOURAL_MODELS = $(CARAVEL_VERILOG_PATH)/dv/caravel
+ 
+PWDD := $(shell pwd)
+BLOCKS := $(shell basename $(PWDD))
 
-## Management SoC Pointers
-MGMT_SOC_PATH ?= ../../../../caravel_pico
-MGMT_SOC_VERILOG_PATH = $(MGMT_SOC_PATH)/verilog
-MGMT_SOC_RTL_PATH = $(MGMT_SOC_PATH)/verilog/rtl
+# ---- Include Partitioned Makefiles ----
 
-## User Project Pointers
-UPRJ_VERILOG_PATH ?= ../../../verilog
-UPRJ_RTL_PATH = $(UPRJ_VERILOG_PATH)/rtl
-UPRJ_BEHAVIOURAL_MODELS = ../
+CONFIG = caravel_user_porject
 
-## RISCV GCC 
-GCC_PATH?=/ef/apps/bin
-GCC_PREFIX?=riscv32-unknown-elf
+include $(MCW_ROOT)/verilog/dv/make/env.makefile
+include $(MCW_ROOT)/verilog/dv/make/var.makefile
+include $(MCW_ROOT)/verilog/dv/make/cpu.makefile
+include $(MCW_ROOT)/verilog/dv/make/sim.makefile
 
-## Simulation mode: RTL/GL
-SIM_DEFINES = -DFUNCTIONAL -DSIM
-SIM?=RTL
 
-.SUFFIXES:
-
-PATTERN = mprj_stimulus
-
-all:  ${PATTERN:=.vcd}
-
-hex:  ${PATTERN:=.hex}
-
-%.vvp: %_tb.v %.hex
-ifeq ($(SIM),RTL)
-	iverilog $(SIM_DEFINES) -I $(PDK_PATH) \
-	-I $(CARAVEL_BEHAVIOURAL_MODELS) -I $(CARAVEL_RTL_PATH) \
-	-I $(UPRJ_BEHAVIOURAL_MODELS)    -I $(UPRJ_RTL_PATH) -I $(MGMT_SOC_RTL_PATH) \
-	$< -o $@ 
-else  
-	iverilog $(SIM_DEFINES) -DGL -I $(PDK_PATH) \
-	-I $(CARAVEL_BEHAVIOURAL_MODELS) -I $(CARAVEL_RTL_PATH) -I $(CARAVEL_VERILOG_PATH) \
-	-I $(UPRJ_BEHAVIOURAL_MODELS) -I$(UPRJ_RTL_PATH)   -I $(UPRJ_VERILOG_PATH) -I $(MGMT_SOC_VERILOG_PATH) \
-	$< -o $@ 
-endif
-
-%.vcd: %.vvp
-	vvp $<
-
-%.elf: %.c $(CARAVEL_FIRMWARE_PATH)/sections.lds $(CARAVEL_FIRMWARE_PATH)/start.s check-env
-	${GCC_PATH}/${GCC_PREFIX}-gcc -I $(CARAVEL_PATH) -march=rv32imc -mabi=ilp32 -Wl,-Bstatic,-T,$(CARAVEL_FIRMWARE_PATH)/sections.lds,--strip-debug -ffreestanding -nostdlib -o $@ $(CARAVEL_FIRMWARE_PATH)/start.s $<
-
-%.hex: %.elf
-	${GCC_PATH}/${GCC_PREFIX}-objcopy -O verilog $< $@ 
-	# to fix flash base address
-	sed -i 's/@10000000/@00000000/g' $@
-
-%.bin: %.elf
-	${GCC_PATH}/${GCC_PREFIX}-objcopy -O binary $< /dev/stdout | tail -c +1048577 > $@
-
-check-env:
-ifndef PDK_ROOT
-	$(error PDK_ROOT is undefined, please export it before running make)
-endif
-ifeq (,$(wildcard $(PDK_ROOT)/sky130A))
-	$(error $(PDK_ROOT)/sky130A not found, please install pdk before running make)
-endif
-ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc ))
-	$(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make)
-endif
-# check for efabless style installation
-ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog))
-SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE
-endif
-
-# ---- Clean ----
-
-clean:
-	rm -f *.elf *.hex *.bin *.vvp *.vcd *.log
-
-.PHONY: clean hex all
diff --git a/verilog/dv/mprj_stimulus/mprj_stimulus.c b/verilog/dv/mprj_stimulus/mprj_stimulus.c
index 7d2c29a..65633bc 100644
--- a/verilog/dv/mprj_stimulus/mprj_stimulus.c
+++ b/verilog/dv/mprj_stimulus/mprj_stimulus.c
@@ -16,7 +16,7 @@
  */
 
 // This include is relative to $CARAVEL_PATH (see Makefile)
-#include "verilog/dv/caravel/defs.h"
+#include <defs.h>
 
 // --------------------------------------------------------
 
@@ -34,7 +34,9 @@
 
     uint32_t testval;
 
-    reg_hkspi_disable = 1;		// Shut off the housekeeping SPI,
+    reg_spi_enable = 0;
+
+    // reg_spimaster_cs = 0x00000000;		// Shut off the housekeeping SPI,
 					// so we can use the pins.
 
     reg_mprj_datal = 0x00000000;
@@ -94,10 +96,10 @@
 
     // Configure LA probes [31:0], [127:64] as inputs to the cpu
     // Configure LA probes [63:32] as outputs from the cpu
-    reg_la0_oenb = reg_la0_iena = 0xFFFFFFFF;    // [31:0]
-    reg_la1_oenb = reg_la1_iena = 0x00000000;    // [63:32]
-    reg_la2_oenb = reg_la2_iena = 0xFFFFFFFF;    // [95:64]
-    reg_la3_oenb = reg_la3_iena = 0xFFFFFFFF;    // [127:96]
+    reg_la0_oenb = reg_la0_iena = 0x00000000;    // [31:0]
+    reg_la1_oenb = reg_la1_iena = 0xFFFFFFFF;    // [63:32]
+    reg_la2_oenb = reg_la2_iena = 0x00000000;    // [95:64]
+    reg_la3_oenb = reg_la3_iena = 0x00000000;    // [127:96]
 
     // Flag start of the test
     reg_mprj_datal = 0xAB400000;
@@ -106,7 +108,7 @@
     reg_la1_data = 0x00000000;
 
     // Configure LA probes from [63:32] as inputs to disable counter write
-    reg_la1_oenb = reg_la1_iena = 0xFFFFFFFF;
+    reg_la1_oenb = reg_la1_iena = 0x00000000;
 
     reg_mprj_datal = 0xAB410000;
     reg_mprj_datah = 0x00000000;
diff --git a/verilog/dv/mprj_stimulus/mprj_stimulus_tb.v b/verilog/dv/mprj_stimulus/mprj_stimulus_tb.v
index 0ac0b42..15d7849 100644
--- a/verilog/dv/mprj_stimulus/mprj_stimulus_tb.v
+++ b/verilog/dv/mprj_stimulus/mprj_stimulus_tb.v
@@ -17,10 +17,10 @@
 
 `timescale 1 ns / 1 ps
 
-`include "uprj_netlists.v"
-`include "caravel_netlists.v"
-`include "spiflash.v"
-`include "tbuart.v"
+// `include "uprj_netlists.v"
+// `include "caravel_netlists.v"
+// `include "spiflash.v"
+// `include "tbuart.v"
 
 module mprj_stimulus_tb;
     // Signals declaration
@@ -33,10 +33,15 @@
     wire [37:0] mprj_io;
     wire [15:0] checkbits;
     wire [3:0] status;
+    wire [1:0] lol;
+    wire [15:0] lol2;
 
     // Signals Assignment
     assign checkbits  = mprj_io[31:16];
     assign status = mprj_io[35:32];
+    assign lol = mprj_io[37:36];
+    assign lol2 = mprj_io[15:0];
+
 
     // Force CSB high until simulation is underway
     // Note:  The CSB GPIO pin default needs to be set to a pull-up. . .
@@ -53,7 +58,7 @@
         $dumpvars(0, mprj_stimulus_tb);
 
         // Repeat cycles of 1000 clock edges as needed to complete testbench
-        repeat (150) begin
+        repeat (70) begin
             repeat (1000) @(posedge clock);
         end
         $display("%c[1;31m",27);
@@ -68,14 +73,22 @@
         wait(status == 4'ha);
         wait(status == 4'h5);
 
+        $display("Monitor: mprj_stimulus test 1 Passed");
+
 	// Values reflect copying user-controlled outputs to memory and back
 	// to management-controlled outputs.  Note that there is a slight
 	// discrepancy in timing when using gate level simulation;  either
 	// of the specified values is okay.
 
         wait(checkbits == 16'h0840 || checkbits == 16'h0841);
+
+        $display("Monitor: mprj_stimulus test 2 Passed");
+
+
         wait(checkbits == 16'h0a00 || checkbits == 16'h0a01);
 
+        $display("Monitor: mprj_stimulus test 3 Passed");
+
         wait(checkbits == 16'hAB51);
         $display("Monitor: mprj_stimulus test Passed");
         #10000;
@@ -84,12 +97,11 @@
 
     // Reset Operation
     initial begin
-        RSTB <= 1'b0;
-	CSB <= 1'b1;
-        #2000;
-        RSTB <= 1'b1;       	// Release reset
-	#200000;
-	CSB <= 1'bz;		// Stop driving CSB
+		RSTB <= 1'b0;
+        CSB <= 1'b1;
+		#1000;
+		RSTB <= 1'b1;	    // Release reset
+		#2000;
     end
 
     initial begin		// Power-up sequence
@@ -111,28 +123,32 @@
     wire VSS = 1'b0;
 
     caravel uut (
-        .vddio	  (VDD3V3),
-        .vssio	  (VSS),
-        .vdda	  (VDD3V3),
-        .vssa	  (VSS),
-        .vccd	  (VDD1V8),
-        .vssd	  (VSS),
-        .vdda1    (VDD3V3),
-        .vdda2    (VDD3V3),
-        .vssa1	  (VSS),
-        .vssa2	  (VSS),
-        .vccd1	  (VDD1V8),
-        .vccd2	  (VDD1V8),
-        .vssd1	  (VSS),
-        .vssd2	  (VSS),
-        .clock	  (clock),
-        .gpio     (gpio),
-        .mprj_io  (mprj_io),
-        .flash_csb(flash_csb),
-        .flash_clk(flash_clk),
-        .flash_io0(flash_io0),
-        .flash_io1(flash_io1),
-        .resetb	  (RSTB)
+		.vddio	  (VDD3V3),
+		.vddio_2  (VDD3V3),
+		.vssio	  (VSS),
+		.vssio_2  (VSS),
+		.vdda	  (VDD3V3),
+		.vssa	  (VSS),
+		.vccd	  (VDD1V8),
+		.vssd	  (VSS),
+		.vdda1    (VDD3V3),
+		.vdda1_2  (VDD3V3),
+		.vdda2    (VDD3V3),
+		.vssa1	  (VSS),
+		.vssa1_2  (VSS),
+		.vssa2	  (VSS),
+		.vccd1	  (VDD1V8),
+		.vccd2	  (VDD1V8),
+		.vssd1	  (VSS),
+		.vssd2	  (VSS),
+		.clock    (clock),
+		.gpio     (gpio),
+		.mprj_io  (mprj_io),
+		.flash_csb(flash_csb),
+		.flash_clk(flash_clk),
+		.flash_io0(flash_io0),
+		.flash_io1(flash_io1),
+		.resetb	  (RSTB)
     );
 
 
diff --git a/verilog/dv/wb_port/Makefile b/verilog/dv/wb_port/Makefile
index 1c784c6..508ac7b 100644
--- a/verilog/dv/wb_port/Makefile
+++ b/verilog/dv/wb_port/Makefile
@@ -14,83 +14,18 @@
 #
 # SPDX-License-Identifier: Apache-2.0
 
-## PDK 
-PDK_PATH = $(PDK_ROOT)/sky130A
 
-## Caravel Pointers
-CARAVEL_ROOT ?= ../../../caravel
-CARAVEL_PATH ?= $(CARAVEL_ROOT)
-CARAVEL_FIRMWARE_PATH = $(CARAVEL_PATH)/verilog/dv/caravel
-CARAVEL_VERILOG_PATH  = $(CARAVEL_PATH)/verilog
-CARAVEL_RTL_PATH = $(CARAVEL_VERILOG_PATH)/rtl
-CARAVEL_BEHAVIOURAL_MODELS = $(CARAVEL_VERILOG_PATH)/dv/caravel
+ 
+PWDD := $(shell pwd)
+BLOCKS := $(shell basename $(PWDD))
 
-## User Project Pointers
-UPRJ_VERILOG_PATH ?= ../../../verilog
-UPRJ_RTL_PATH = $(UPRJ_VERILOG_PATH)/rtl
-UPRJ_BEHAVIOURAL_MODELS = ../
+# ---- Include Partitioned Makefiles ----
 
-## RISCV GCC 
-GCC_PATH?=/ef/apps/bin
-GCC_PREFIX?=riscv32-unknown-elf
+CONFIG = caravel_user_porject
 
-## Simulation mode: RTL/GL
-SIM_DEFINES = -DFUNCTIONAL -DSIM
-SIM?=RTL
+include $(MCW_ROOT)/verilog/dv/make/env.makefile
+include $(MCW_ROOT)/verilog/dv/make/var.makefile
+include $(MCW_ROOT)/verilog/dv/make/cpu.makefile
+include $(MCW_ROOT)/verilog/dv/make/sim.makefile
 
-.SUFFIXES:
 
-PATTERN = wb_port
-
-all:  ${PATTERN:=.vcd}
-
-hex:  ${PATTERN:=.hex}
-
-%.vvp: %_tb.v %.hex
-ifeq ($(SIM),RTL)
-	iverilog $(SIM_DEFINES) -I $(PDK_PATH) \
-	-I $(CARAVEL_BEHAVIOURAL_MODELS) -I $(CARAVEL_RTL_PATH) \
-	-I $(UPRJ_BEHAVIOURAL_MODELS)    -I $(UPRJ_RTL_PATH) \
-	$< -o $@ 
-else  
-	iverilog $(SIM_DEFINES) -DGL -I $(PDK_PATH) \
-	-I $(CARAVEL_BEHAVIOURAL_MODELS) -I $(CARAVEL_RTL_PATH) -I $(CARAVEL_VERILOG_PATH) \
-	-I $(UPRJ_BEHAVIOURAL_MODELS) -I$(UPRJ_RTL_PATH)   -I $(UPRJ_VERILOG_PATH) \
-	$< -o $@ 
-endif
-
-%.vcd: %.vvp
-	vvp $<
-
-%.elf: %.c $(CARAVEL_FIRMWARE_PATH)/sections.lds $(CARAVEL_FIRMWARE_PATH)/start.s check-env
-	${GCC_PATH}/${GCC_PREFIX}-gcc -I $(CARAVEL_PATH) -march=rv32imc -mabi=ilp32 -Wl,-Bstatic,-T,$(CARAVEL_FIRMWARE_PATH)/sections.lds,--strip-debug -ffreestanding -nostdlib -o $@ $(CARAVEL_FIRMWARE_PATH)/start.s $<
-
-%.hex: %.elf
-	${GCC_PATH}/${GCC_PREFIX}-objcopy -O verilog $< $@ 
-	# to fix flash base address
-	sed -i 's/@10000000/@00000000/g' $@
-
-%.bin: %.elf
-	${GCC_PATH}/${GCC_PREFIX}-objcopy -O binary $< /dev/stdout | tail -c +1048577 > $@
-
-check-env:
-ifndef PDK_ROOT
-	$(error PDK_ROOT is undefined, please export it before running make)
-endif
-ifeq (,$(wildcard $(PDK_ROOT)/sky130A))
-	$(error $(PDK_ROOT)/sky130A not found, please install pdk before running make)
-endif
-ifeq (,$(wildcard $(GCC_PATH)/$(GCC_PREFIX)-gcc ))
-	$(error $(GCC_PATH)/$(GCC_PREFIX)-gcc is not found, please export GCC_PATH and GCC_PREFIX before running make)
-endif
-# check for efabless style installation
-ifeq (,$(wildcard $(PDK_ROOT)/sky130A/libs.ref/*/verilog))
-SIM_DEFINES := ${SIM_DEFINES} -DEF_STYLE
-endif
-
-# ---- Clean ----
-
-clean:
-	rm -f *.elf *.hex *.bin *.vvp *.vcd *.log
-
-.PHONY: clean hex all
