diff --git a/tests/end2end/test_end2end_bnn_pynq.py b/tests/end2end/test_end2end_bnn_pynq.py index b997fbae195f9226a727ea82f51f3903ec0699de..29ecb2c7e49444cecade6d3321aaba3b9add4b9c 100644 --- a/tests/end2end/test_end2end_bnn_pynq.py +++ b/tests/end2end/test_end2end_bnn_pynq.py @@ -292,21 +292,23 @@ class TestEnd2End: @pytest.mark.slow @pytest.mark.vivado - def test_ipgen(self, topology, wbits, abits): + @pytest.mark.parametrize("kind", ["zynq", "alveo"]) + def test_ipgen(self, topology, wbits, abits, kind): prev_chkpt_name = get_checkpoint_name(topology, wbits, abits, "fold") model = load_test_checkpoint_or_skip(prev_chkpt_name) - test_fpga_part = get_build_env("zynq", target_clk_ns)["part"] + test_fpga_part = get_build_env(kind, target_clk_ns)["part"] model = model.transform(GiveUniqueNodeNames()) model = model.transform(PrepareIP(test_fpga_part, target_clk_ns)) model = model.transform(HLSSynthIP()) - model.save(get_checkpoint_name(topology, wbits, abits, "ipgen")) + model.save(get_checkpoint_name(topology, wbits, abits, "ipgen_" + kind)) @pytest.mark.slow @pytest.mark.vivado - def test_ipstitch_rtlsim(self, topology, wbits, abits): - prev_chkpt_name = get_checkpoint_name(topology, wbits, abits, "ipgen") + @pytest.mark.parametrize("kind", ["zynq", "alveo"]) + def test_ipstitch_rtlsim(self, topology, wbits, abits, kind): + prev_chkpt_name = get_checkpoint_name(topology, wbits, abits, "ipgen_" + kind) model = load_test_checkpoint_or_skip(prev_chkpt_name) - test_fpga_part = get_build_env("zynq", target_clk_ns)["part"] + test_fpga_part = get_build_env(kind, target_clk_ns)["part"] model = model.transform(InsertDWC()) model = model.transform(InsertFIFO()) model = model.transform(GiveUniqueNodeNames()) @@ -324,7 +326,7 @@ class TestEnd2End: "rtlsim_trace", "%s_w%da%d.vcd" % (topology, wbits, abits) ) os.environ["RTLSIM_TRACE_DEPTH"] = "3" - rtlsim_chkpt = get_checkpoint_name(topology, wbits, abits, "ipstitch_rtlsim") + rtlsim_chkpt = get_checkpoint_name(topology, wbits, abits, "ipstitch_rtlsim_" + kind) model.save(rtlsim_chkpt) parent_chkpt = get_checkpoint_name(topology, wbits, abits, "dataflow_parent") (input_tensor_npy, output_tensor_npy) = get_golden_io_pair( @@ -338,8 +340,9 @@ class TestEnd2End: @pytest.mark.slow @pytest.mark.vivado - def test_throughput_rtlsim(self, topology, wbits, abits): - prev_chkpt_name = get_checkpoint_name(topology, wbits, abits, "ipstitch_rtlsim") + @pytest.mark.parametrize("kind", ["zynq", "alveo"]) + def test_throughput_rtlsim(self, topology, wbits, abits, kind): + prev_chkpt_name = get_checkpoint_name(topology, wbits, abits, "ipstitch_rtlsim_" + kind) model = load_test_checkpoint_or_skip(prev_chkpt_name) n_nodes = len(model.graph.node) perf_est = model.analysis(dataflow_performance) @@ -358,7 +361,7 @@ class TestEnd2End: def test_build(self, topology, wbits, abits, kind): if kind == "alveo" and ("VITIS_PATH" not in os.environ): pytest.skip("VITIS_PATH not set") - prev_chkpt_name = get_checkpoint_name(topology, wbits, abits, "ipgen") + prev_chkpt_name = get_checkpoint_name(topology, wbits, abits, "ipgen_" + kind) model = load_test_checkpoint_or_skip(prev_chkpt_name) cfg = get_build_env(kind, target_clk_ns) model = model.transform(cfg["build_fxn"])