From 3608832408d66c9c9b2904b5314e7a5bd4934458 Mon Sep 17 00:00:00 2001
From: Yaman Umuroglu <yamanu@xilinx.com>
Date: Wed, 9 Dec 2020 00:41:17 +0100
Subject: [PATCH] [Test] build_dataflow: check for verification outputs

---
 .../build_dataflow/dataflow_build_config.json    |   6 ++++++
 .../qnn-data/build_dataflow/expected_output.npy  | Bin 0 -> 136 bytes
 src/finn/qnn-data/build_dataflow/input.npy       | Bin 0 -> 3264 bytes
 tests/util/test_build_dataflow.py                |   6 ++++++
 4 files changed, 12 insertions(+)
 create mode 100644 src/finn/qnn-data/build_dataflow/expected_output.npy
 create mode 100644 src/finn/qnn-data/build_dataflow/input.npy

diff --git a/src/finn/qnn-data/build_dataflow/dataflow_build_config.json b/src/finn/qnn-data/build_dataflow/dataflow_build_config.json
index eb141c6a8..69c6b6f31 100644
--- a/src/finn/qnn-data/build_dataflow/dataflow_build_config.json
+++ b/src/finn/qnn-data/build_dataflow/dataflow_build_config.json
@@ -6,6 +6,12 @@
   "board": "Pynq-Z1",
   "standalone_thresholds": true,
   "shell_flow_type": "vivado_zynq",
+  "verify_steps": [
+    "initial_python",
+    "streamlined_python",
+    "folded_hls_cppsim",
+    "stitched_ip_rtlsim"
+  ],
   "generate_outputs": [
     "estimate_reports",
     "stitched_ip",
diff --git a/src/finn/qnn-data/build_dataflow/expected_output.npy b/src/finn/qnn-data/build_dataflow/expected_output.npy
new file mode 100644
index 0000000000000000000000000000000000000000..a8d09384633791b7e3760dc8a2d1ba88a05d526d
GIT binary patch
literal 136
zcmbR27wQ`j$;eQ~P_3SlTAW;@Zl$1ZlWC!@qoAIaUsO_*m=~X4l#&V(cT3DEP6dh=
ZXCxM+0{I$-I+{8PwF(pfE+z&D001yc8({zd

literal 0
HcmV?d00001

diff --git a/src/finn/qnn-data/build_dataflow/input.npy b/src/finn/qnn-data/build_dataflow/input.npy
new file mode 100644
index 0000000000000000000000000000000000000000..edd24de05a33a15ebc330cdab31f3d77d2c47196
GIT binary patch
literal 3264
zcmeH|v1?R85XPUKh)60+c}3(@Qk)@b6g8U|gNl(u5->Ji%w157$$1xJG)5m*mH|P;
z>PoTl53smOti;MfEDlQxYb){ly|<HF&%2PsN^r<`J3Biw-_Gpr%d<<9<Atdm(NeUM
zE0t?A)!d0VcXD<h*B9qz7pjZZ>G^95)lwPz*z{bjEPL(7bfv8Mfx~^V{`v>O!M=Dk
z-m>h9HYLeW6gk&&P0;;3KiskxrQ?gd2<(|<^S>^LZMrOuys_D_35lOO>0mpO=C`~y
zk|@x_TG+=czm~Y|FlI5<CuX4@W(<2v?c1rb;P+b5NRE%f&XFj3s_~`9BWI$hU)U`@
zaUuKP>3fy)k?=rR5o*FikH;DZ#MkhAbwBoKPg|9yV%L;wTsg@*FTjNkKitd0d0|W_
z$rlOFG_!2}_p0)c|BfH;YqUBUSp!v}D2#eew?TdB9dQ1PHAaHnizkXN`JB|WD14WV
zbL<tq2*yjTKQym*;UcHy70VxDdt6qI55iaBn*diR=lnjbR@N*w^ov|)KC5@#7e4{X
z`@J_^>yA7ZKXn_Q`KAF~evHE@5B?TYZ0pVXy_1g#^%~czcw@zYZW3}uuI1&>{k))f
ztIa$bTBC38MlwFmmou!$hP{)(WoTb-x7S_P!;qJ^KPZlS0yXkp*jp!YijP3MxZitf
z`7f%Dx58_oE+6n-xtGKN;4277PY2G#WwoUa`k|htY!&(PX6Y06@~Cp05^f8e58sv{
z;j}O#*!SkL^fkqiqnjk*nsR>@jw{ak!#if*;r+wLw*`B}kLY|Gcz>O0OZh`C8Gg!_
zxLZLEc+0|s0FS+G{J0y8)XaAWomvkG-R?`?_nAErM+~?rTo5=bWJ2Sp=6pk0r;q4+
z1bQ;85xdnpAiZ50F0;H57iV`@KJ1TsP3)9Ft=EM~fu33)7o_t)$)v6voHPAkjXWDk
z;-YB3d@LW_aMDBSwmzPf{z*J@o@<T%D7GOWS7aw{pU_Df_<JFSZ$(bNBSKy{CiJ4q
z9%((6KYqZZ?sa;E6#X8uS?iZrBwg3&{JcHhayK2`fp~w*V{v$xE$~iN<4Rm>g*R-%
aJu)#p?`>93y6((t<M-F{`mg<49ry(uW(BMO

literal 0
HcmV?d00001

diff --git a/tests/util/test_build_dataflow.py b/tests/util/test_build_dataflow.py
index 670eff127..333139682 100644
--- a/tests/util/test_build_dataflow.py
+++ b/tests/util/test_build_dataflow.py
@@ -59,3 +59,9 @@ def test_build_dataflow_directory():
     assert os.path.isfile(output_dir + "/bitfile/finn-accel.hwh")
     assert os.path.isfile(output_dir + "/report/post_synth_resources.xml")
     assert os.path.isfile(output_dir + "/report/post_route_timing.rpt")
+    # verification outputs
+    verify_out_dir = output_dir + "/verification_output"
+    assert os.path.isfile(verify_out_dir + "/verify_initial_python_SUCCESS.npy")
+    assert os.path.isfile(verify_out_dir + "/verify_streamlined_python_SUCCESS.npy")
+    assert os.path.isfile(verify_out_dir + "/verify_folded_hls_cppsim_SUCCESS.npy")
+    assert os.path.isfile(verify_out_dir + "/verify_stitched_ip_rtlsim_SUCCESS.npy")
-- 
GitLab