From 5356ace57554e8ca27bdd7fd7bc96c6d9d672edd Mon Sep 17 00:00:00 2001 From: Yaman Umuroglu <maltanar@gmail.com> Date: Fri, 26 Aug 2022 13:10:07 +0200 Subject: [PATCH] [Test] add residual FIFO sizing testcase, path needs fix --- .../qnn-data/testcase/residual_testcase.onnx | Bin 0 -> 30334 bytes tests/fpgadataflow/test_fifosizing.py | 25 +++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 src/finn/qnn-data/testcase/residual_testcase.onnx diff --git a/src/finn/qnn-data/testcase/residual_testcase.onnx b/src/finn/qnn-data/testcase/residual_testcase.onnx new file mode 100644 index 0000000000000000000000000000000000000000..e22bd6396dfbc9834d62d7ab61e8f4a12fa558ac GIT binary patch literal 30334 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 br6;XCY2V(xw?FTO1H0a~`{0gSH>~^r^o>Tt literal 0 HcmV?d00001 diff --git a/tests/fpgadataflow/test_fifosizing.py b/tests/fpgadataflow/test_fifosizing.py index 7287861d5..9d8b02ebe 100644 --- a/tests/fpgadataflow/test_fifosizing.py +++ b/tests/fpgadataflow/test_fifosizing.py @@ -72,7 +72,7 @@ def fetch_test_model(topology, wbits=2, abits=2): @pytest.mark.slow @pytest.mark.vivado -def test_fifosizing(): +def test_fifosizing_linear(): tmp_output_dir = fetch_test_model("tfc") steps = build_cfg.default_build_dataflow_steps steps.insert(10, custom_step_fifosize) @@ -103,3 +103,26 @@ def test_fifosizing(): > 0.9 ) shutil.rmtree(tmp_output_dir) + + +def test_fifosizing_residual(): + steps = build_cfg.default_build_dataflow_steps[8:] + tmp_output_dir = make_build_dir("build_fifosizing_residual") + cfg = build_cfg.DataflowBuildConfig( + output_dir=tmp_output_dir, + auto_fifo_depths=True, + auto_fifo_strategy="characterize", + synth_clk_period_ns=10.0, + board="Pynq-Z1", + verbose=True, + rtlsim_batch_size=10, + verify_save_rtlsim_waveforms=True, + shell_flow_type=build_cfg.ShellFlowType.VIVADO_ZYNQ, + generate_outputs=[ + build_cfg.DataflowOutputType.STITCHED_IP, + build_cfg.DataflowOutputType.RTLSIM_PERFORMANCE, + ], + steps=steps, + default_mem_mode=build_cfg.ComputeEngineMemMode.DECOUPLED, + ) + build.build_dataflow_cfg("residual_testcase.onnx", cfg) -- GitLab