Implement verify target to run functional and gatelevel sims

Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
diff --git a/Makefile b/Makefile
index 0b94c21..918d47f 100644
--- a/Makefile
+++ b/Makefile
@@ -37,8 +37,11 @@
 
 .PHONY: verify
 verify:
-	echo "verify"
-
+	@if test ! -d packages; then \
+		echo "Fetching required packages for verification"; \
+		./bootstrap.sh ; \
+	fi
+	$(MAKE) -C verilog/dv/fwpayload verify
 
 
 $(LARGE_FILES_GZ): %.gz: %
diff --git a/verilog/dv/fwpayload/Makefile b/verilog/dv/fwpayload/Makefile
index 9bae4d9..79ffb95 100644
--- a/verilog/dv/fwpayload/Makefile
+++ b/verilog/dv/fwpayload/Makefile
@@ -1,12 +1,22 @@
 
 DV_DIR := $(abspath $(dir $(lastword $(MAKEFILE_LIST))))
 
-TESTS := $(shell ls $(DV_DIR) | grep -v 'common' | grep -v 'bringup' | grep -v 'Makefile' | grep -v '.log')
+TESTS += fwrisc_gpio fwrisc_gpio_la mgmt_mem_access mgmt_mem_access_la
 
-all :
+verify : functional gatelevel
+
+functional : 
 	for t in $(TESTS); do \
 		echo "Running $${t}"; \
-		$(MAKE) -C $$t > $${t}.log 2>&1; \
+		$(MAKE) -C $$t clean; \
+		$(MAKE) -C $$t > $${t}.functional.log 2>&1; \
+	done
+
+gatelevel : 
+	for t in $(TESTS); do \
+		echo "Running $${t}"; \
+		$(MAKE) -C $$t clean; \
+		$(MAKE) -C $$t SIMTYPE=gate > $${t}.gatelevel.log 2>&1; \
 	done
 
 
@@ -14,3 +24,4 @@
 	for t in $(TESTS); do \
 		$(MAKE) -C $$t clean ; \
 	done
+