diff --git a/ci/ci-build.sh b/ci/ci-build.sh
index 2a6b7efed05ec7a1b9cc2969af633a888afa6010..621e455b1d030b90d438d98fd5ee8c500b7e3f7a 100644
--- a/ci/ci-build.sh
+++ b/ci/ci-build.sh
@@ -2,9 +2,13 @@
 
 set -e
 
+# Quad Hardware Tests
+source /remote/Xilinx/2018.2/Vivado/2018.2/settings64.sh
+(cd quad/ip_repo && make build-tests)
+
 # Quad Libraries and Boot image
-(cd quad && make deep-clean && make)
+#(cd quad && make deep-clean && make)
 
 # Ground station
-git submodule update --init --recursive
+#git submodule update --init --recursive
 #(cd groundStation && make vrpn && make) # QT is breaking things right now
diff --git a/ci/ci-test.sh b/ci/ci-test.sh
index 67e6ed1c6afc9968d791978dbdf4cfca8f9711eb..0228e8aa62c906ca1c6e979b6fe62a6288f1e6e2 100644
--- a/ci/ci-test.sh
+++ b/ci/ci-test.sh
@@ -2,5 +2,8 @@
 
 set -e
 
+# Quad HW
+(cd quad/ip_repo && make run-tests)
+
 # Quad
-(cd quad && make test)
+#(cd quad && make test)
diff --git a/quad/ip_repo/Makefile b/quad/ip_repo/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..6d9004cd0faf7eed7b430096503b380ec0657029
--- /dev/null
+++ b/quad/ip_repo/Makefile
@@ -0,0 +1,5 @@
+build-tests: 
+	(cd pwm_recorder_1.0/ && make build-tests)
+
+run-tests:
+	(cd pwm_recorder_1.0/ && make run-tests)
\ No newline at end of file
diff --git a/quad/ip_repo/pwm_recorder_1.0/Makefile b/quad/ip_repo/pwm_recorder_1.0/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..c96c87d45e7640f461d7697d1b8a69bce9d34bc6
--- /dev/null
+++ b/quad/ip_repo/pwm_recorder_1.0/Makefile
@@ -0,0 +1,8 @@
+build-tests:
+	xelab --debug wave -prj kernel_test.prj -s run_kernel_test work.kernel_tester
+
+run-tests:
+	xsim run_kernel_test -wdb pwm_record_kernel_test.wdb --t get_simulation_result.tcl
+	echo 1 > result.exp
+	cmp result.log result.exp
+	rm result.exp
\ No newline at end of file
diff --git a/quad/ip_repo/pwm_recorder_1.0/get_simulation_result.tcl b/quad/ip_repo/pwm_recorder_1.0/get_simulation_result.tcl
index 6d73376cbb349e94c408dab5732f0ab8d983242b..26a4eea8eab648e5155d3afc0d3dc255231cd46b 100644
--- a/quad/ip_repo/pwm_recorder_1.0/get_simulation_result.tcl
+++ b/quad/ip_repo/pwm_recorder_1.0/get_simulation_result.tcl
@@ -3,4 +3,5 @@ set signal [get_objects /*_tester/passing]
 set fd [open "result.log" "w"]
 run all
 puts $fd [get_value $signal]
+flush $fd
 quit
\ No newline at end of file
diff --git a/quad/ip_repo/pwm_recorder_1.0/hdl/kernel_tester.vhd b/quad/ip_repo/pwm_recorder_1.0/hdl/kernel_tester.vhd
index 7b65c6cc996fdc9d39527cc9fa60b98b5a56d8de..aa3b53a64c1021f6ed1e8b3f1d5ce067f4df363e 100644
--- a/quad/ip_repo/pwm_recorder_1.0/hdl/kernel_tester.vhd
+++ b/quad/ip_repo/pwm_recorder_1.0/hdl/kernel_tester.vhd
@@ -154,7 +154,7 @@ begin
         end if;
         
         done <='1';
-        
+                        
         if (passing = '0') then
             -- output test faulure?
         end if;