Fix gate level sim

make gpio_defaults writes a modified caravel.v to the
caravel_user_project verilog/gl directory so we need to use that and not
the version in the caravel repo. We also need the gate level
implementations of the various gpio_defaults_block modules (only a few
are created and referenced in the caravel repo).
diff --git a/verilog/dv/microwatt/make.rules b/verilog/dv/microwatt/make.rules
index ec00c93..1f52e2a 100644
--- a/verilog/dv/microwatt/make.rules
+++ b/verilog/dv/microwatt/make.rules
@@ -29,7 +29,7 @@
 else
 	iverilog $(SIM_DEFINES) -DGL \
 	-l$(USER_PROJECT_VERILOG)/rtl/user_defines.v \
-	-f$(VERILOG_PATH)/includes/includes.gl.caravel \
+	-f$(USER_PROJECT_VERILOG)/includes/includes.gl.caravel \
 	-f$(USER_PROJECT_VERILOG)/includes/includes.gl.caravel_user_project \
 	$< -o $@ 
 endif
diff --git a/verilog/includes/includes.gl.caravel b/verilog/includes/includes.gl.caravel
new file mode 100644
index 0000000..343456e
--- /dev/null
+++ b/verilog/includes/includes.gl.caravel
@@ -0,0 +1,100 @@
+###########################################################
+## DFFRAM - either behavioral or GL
+###########################################################
+
+## DFFRAM Full GL
+#-v $(VERILOG_PATH)/gl/DFFRAM.v
+-v $(VERILOG_PATH)/gl/RAM128.v
+-v $(VERILOG_PATH)/gl/RAM256.v
+
+###########################################################
+# Mgmt Core Wrapper
+###########################################################
+-v $(VERILOG_PATH)/rtl/defines.v
+#-v $(VERILOG_PATH)/gl/mgmt_core.v
+-v $(VERILOG_PATH)/gl/mgmt_core_wrapper.v
+
+# Caravel
+
+###########################################################
+## Must stay in RTL regardless of the type of simulation
+###########################################################
+-v $(CARAVEL_PATH)/rtl/pads.v			
+-v $(CARAVEL_PATH)/rtl/defines.v 		     		
+-v $(CARAVEL_PATH)/rtl/user_defines.v		     
+-v $(CARAVEL_PATH)/rtl/mprj_io.v
+-v $(CARAVEL_PATH)/rtl/simple_por.v		     
+
+###########################################################
+## These blocks only needed for RTL sims 
+## Not needed for GL and will be a part of another block
+###########################################################							     
+-v $(CARAVEL_PATH)/rtl/digital_pll_controller.v 
+-v $(CARAVEL_PATH)/rtl/ring_osc2x13.v		
+-v $(CARAVEL_PATH)/rtl/clock_div.v
+-v $(CARAVEL_PATH)/rtl/housekeeping_spi.v
+					  
+###########################################################
+## These blocks are either synthesized or STD cell based 
+## Manually designed blocks
+###########################################################							     
+-v $(CARAVEL_PATH)/gl/mprj_logic_high.v 	     
+-v $(CARAVEL_PATH)/gl/mprj2_logic_high.v	     
+-v $(CARAVEL_PATH)/gl/gpio_control_block.v	     
+-v $(CARAVEL_PATH)/gl/gpio_defaults_block.v	     
+-v $(CARAVEL_PATH)/gl/gpio_logic_high.v 	     
+-v $(CARAVEL_PATH)/gl/xres_buf.v		     
+-v $(CARAVEL_PATH)/gl/spare_logic_block.v	     
+-v $(CARAVEL_PATH)/gl/housekeeping.v		     
+-v $(CARAVEL_PATH)/gl/caravel_clocking.v	     
+-v $(CARAVEL_PATH)/rtl/digital_pll.v		     
+-v $(CARAVEL_PATH)/rtl/debug_regs.v
+#-v $(CARAVEL_PATH)/gl/__user_project_wrapper.v	     
+-v $(CARAVEL_PATH)/gl/user_id_programming.v	   
+-v $(CARAVEL_PATH)/gl/buff_flash_clkrst.v 		     
+-v $(CARAVEL_PATH)/gl/gpio_signal_buffering_alt.v	     
+-v $(CARAVEL_PATH)/gl/gpio_signal_buffering.v   
+#-v $(CARAVEL_PATH)/gl/caravel.v 		     
+-v $(USER_PROJECT_VERILOG)/gl/caravel.v 		     
+-v $(CARAVEL_PATH)/gl/caravan.v 		     
+
+###########################################################
+## These blocks are manually designed 		
+###########################################################
+-v $(CARAVEL_PATH)/gl/constant_block.v
+-v $(CARAVEL_PATH)/gl/chip_io_alt.v 
+-v $(CARAVEL_PATH)/gl/chip_io.v 
+-v $(CARAVEL_PATH)/gl/mgmt_protect.v		     
+-v $(CARAVEL_PATH)/gl/mgmt_protect_hv.v 	     		     
+-v $(CARAVEL_PATH)/gl/gpio_defaults_block_0403.v     
+-v $(CARAVEL_PATH)/gl/gpio_defaults_block_0801.v     
+-v $(CARAVEL_PATH)/gl/gpio_defaults_block_1803.v     
+-v $(CARAVEL_PATH)/gl/gpio_defaults_block_0402.v
+-v $(CARAVEL_PATH)/gl/gpio_defaults_block_0800.v
+-v $(CARAVEL_PATH)/gl/gpio_defaults_block_0c00.v
+-v $(CARAVEL_PATH)/gl/gpio_defaults_block_1800.v
+-v $(CARAVEL_PATH)/gl/gpio_defaults_block_1808.v
+
+###########################################################
+# STD CELLS - they need to be below the defines.v files 
+###########################################################
+ -v $(PDK_ROOT)/$(PDK)/libs.ref/sky130_fd_io/verilog/sky130_fd_io.v
+ -v $(PDK_ROOT)/$(PDK)/libs.ref/sky130_fd_io/verilog/sky130_ef_io.v
+ -v $(PDK_ROOT)/$(PDK)/libs.ref/sky130_fd_sc_hd/verilog/primitives.v
+ -v $(PDK_ROOT)/$(PDK)/libs.ref/sky130_fd_sc_hd/verilog/sky130_fd_sc_hd.v
+ -v $(PDK_ROOT)/$(PDK)/libs.ref/sky130_fd_sc_hvl/verilog/primitives.v
+ -v $(PDK_ROOT)/$(PDK)/libs.ref/sky130_fd_sc_hvl/verilog/sky130_fd_sc_hvl.v
+#-v $(PDK_ROOT)/$(PDK)/libs.ref/sky130_sram_macros/verilog/sky130_sram_2kbyte_1rw1r_32x512_8.v
+
+
+## STD CELLS - they need to be below the defines.v files 
+##v $(VERILOG_PATH)/cvc-pdk/sky130_ef_io.v
+#-v $(VERILOG_PATH)/cvc-pdk/sky130_fd_io.v
+#-v $(VERILOG_PATH)/cvc-pdk/primitives_hd.v
+#-v $(VERILOG_PATH)/cvc-pdk/sky130_fd_sc_hd.v
+#-v $(VERILOG_PATH)/cvc-pdk/primitives_hvl.v
+#-v $(VERILOG_PATH)/cvc-pdk/sky130_fd_sc_hvl.v
+ -v $(VERILOG_PATH)/cvc-pdk/sky130_sram_2kbyte_1rw1r_32x512_8.v
+
+
+