From 6009b55f836037bc9336557ea6af30ce6af8435a Mon Sep 17 00:00:00 2001 From: James Talbert <jtalbert@iastate.edu> Date: Mon, 1 Oct 2018 17:21:51 -0500 Subject: [PATCH] Integrate hw simulation into the unit tests --- ci/ci-build.sh | 8 ++++++-- ci/ci-test.sh | 5 ++++- quad/ip_repo/Makefile | 5 +++++ quad/ip_repo/pwm_recorder_1.0/Makefile | 8 ++++++++ quad/ip_repo/pwm_recorder_1.0/get_simulation_result.tcl | 1 + quad/ip_repo/pwm_recorder_1.0/hdl/kernel_tester.vhd | 2 +- 6 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 quad/ip_repo/Makefile create mode 100644 quad/ip_repo/pwm_recorder_1.0/Makefile diff --git a/ci/ci-build.sh b/ci/ci-build.sh index 2a6b7efed..621e455b1 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 67e6ed1c6..0228e8aa6 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 000000000..6d9004cd0 --- /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 000000000..c96c87d45 --- /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 6d73376cb..26a4eea8e 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 7b65c6cc9..aa3b53a64 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; -- GitLab