diff --git a/src/finn/transformation/fpgadataflow/make_zynq_proj.py b/src/finn/transformation/fpgadataflow/make_zynq_proj.py index dfc076ba52ab5911267d807a7513e4840f01edaf..1558d7399fe5399053c3f347cd06c4e0d76753e7 100644 --- a/src/finn/transformation/fpgadataflow/make_zynq_proj.py +++ b/src/finn/transformation/fpgadataflow/make_zynq_proj.py @@ -52,6 +52,7 @@ from finn.transformation.fpgadataflow.floorplan import Floorplan from finn.transformation.general import GiveReadableTensorNames, GiveUniqueNodeNames from finn.transformation.infer_data_layouts import InferDataLayouts from shutil import copy +from finn.transformation.fpgadataflow.make_pynq_driver import MakePYNQDriver from . import templates @@ -280,6 +281,7 @@ class ZynqBuild(Transformation): model = model.transform(InferDataLayouts()) # prepare at global level, then break up into kernels prep_transforms = [ + MakePYNQDriver(platform="zynq-iodma"), InsertIODMA(64), InsertDWC(), Floorplan(), diff --git a/tests/end2end/test_zynqbuild_end2end_cnv_w1a1.py b/tests/end2end/test_zynqbuild_end2end_cnv_w1a1.py index 1a1b21afa1aee5db97add9b3eadba1b750a967cc..cefe4d038f3e346f39f3c2aa995708123a2e26da 100644 --- a/tests/end2end/test_zynqbuild_end2end_cnv_w1a1.py +++ b/tests/end2end/test_zynqbuild_end2end_cnv_w1a1.py @@ -44,7 +44,6 @@ from finn.transformation.fpgadataflow.create_dataflow_partition import ( CreateDataflowPartition, ) from finn.transformation.fpgadataflow.make_deployment import DeployToPYNQ -from finn.transformation.fpgadataflow.make_pynq_driver import MakePYNQDriver from finn.transformation.general import ( RemoveUnusedTensors, RemoveStaticGraphInputs, @@ -168,19 +167,11 @@ def test_end2end_zynqbuild_cnv_w1a1_fold(): model.save(build_dir + "/end2end_zynqbuild_cnv_w1a1_folded.onnx") -def test_end2end_zynqbuild_cnv_w1a1_make_driver(): - model = load_test_checkpoint_or_skip( - build_dir + "/end2end_zynqbuild_cnv_w1a1_folded.onnx" - ) - model = model.transform(MakePYNQDriver(platform="zynq-iodma")) - model.save(build_dir + "/end2end_zynqbuild_cnv_w1a1_pynq_driver.onnx") - - @pytest.mark.slow @pytest.mark.vivado def test_end2end_zynqbuild_cnv_w1a1_build(): model = load_test_checkpoint_or_skip( - build_dir + "/end2end_zynqbuild_cnv_w1a1_pynq_driver.onnx" + build_dir + "/end2end_zynqbuild_cnv_w1a1_folded.onnx" ) model = model.transform(ZynqBuild(test_pynq_board, target_clk_ns)) model = model.transform(AnnotateResources("synth")) diff --git a/tests/end2end/test_zynqbuild_end2end_tfc_w1a1.py b/tests/end2end/test_zynqbuild_end2end_tfc_w1a1.py index 98ccc93188c17f4f82b3cbf0164f847c92b7b7bd..f473b86bba24fc08c29a553e06614e331c6cd4bb 100644 --- a/tests/end2end/test_zynqbuild_end2end_tfc_w1a1.py +++ b/tests/end2end/test_zynqbuild_end2end_tfc_w1a1.py @@ -49,7 +49,6 @@ from finn.transformation.fpgadataflow.create_dataflow_partition import ( CreateDataflowPartition, ) from finn.transformation.fpgadataflow.make_deployment import DeployToPYNQ -from finn.transformation.fpgadataflow.make_pynq_driver import MakePYNQDriver from finn.transformation.general import ( RemoveUnusedTensors, RemoveStaticGraphInputs, @@ -152,19 +151,11 @@ def test_end2end_zynqbuild_tfc_w1a1_fold(): model.save(build_dir + "/end2end_zynqbuild_tfc_w1a1_folded.onnx") -def test_end2end_zynqbuild_tfc_w1a1_make_driver(): - model = load_test_checkpoint_or_skip( - build_dir + "/end2end_zynqbuild_tfc_w1a1_folded.onnx" - ) - model = model.transform(MakePYNQDriver(platform="zynq-iodma")) - model.save(build_dir + "/end2end_zynqbuild_tfc_w1a1_pynq_driver.onnx") - - @pytest.mark.slow @pytest.mark.vivado def test_end2end_zynqbuild_tfc_w1a1_build(): model = load_test_checkpoint_or_skip( - build_dir + "/end2end_zynqbuild_tfc_w1a1_pynq_driver.onnx" + build_dir + "/end2end_zynqbuild_tfc_w1a1_folded.onnx" ) model = model.transform(ZynqBuild(test_pynq_board, target_clk_ns)) model = model.transform(AnnotateResources("synth")) diff --git a/tests/end2end/test_zynqbuild_end2end_tfc_w2a2.py b/tests/end2end/test_zynqbuild_end2end_tfc_w2a2.py index b8db8c1a4a2049a38e64b9c5bb54fb7d4d8d0ab0..7b28090854adbbcb6f400f73c2b6f6557f540e5e 100644 --- a/tests/end2end/test_zynqbuild_end2end_tfc_w2a2.py +++ b/tests/end2end/test_zynqbuild_end2end_tfc_w2a2.py @@ -45,7 +45,6 @@ from finn.transformation.fpgadataflow.create_dataflow_partition import ( CreateDataflowPartition, ) from finn.transformation.fpgadataflow.make_deployment import DeployToPYNQ -from finn.transformation.fpgadataflow.make_pynq_driver import MakePYNQDriver from finn.transformation.general import ( RemoveUnusedTensors, RemoveStaticGraphInputs, @@ -142,19 +141,11 @@ def test_end2end_zynqbuild_tfc_w2a2_fold(): model.save(build_dir + "/end2end_zynqbuild_tfc_w2a2_folded.onnx") -def test_end2end_zynqbuild_tfc_w2a2_make_driver(): - model = load_test_checkpoint_or_skip( - build_dir + "/end2end_zynqbuild_tfc_w2a2_folded.onnx" - ) - model = model.transform(MakePYNQDriver(platform="zynq-iodma")) - model.save(build_dir + "/end2end_zynqbuild_tfc_w2a2_pynq_driver.onnx") - - @pytest.mark.slow @pytest.mark.vivado def test_end2end_zynqbuild_tfc_w2a2_build(): model = load_test_checkpoint_or_skip( - build_dir + "/end2end_zynqbuild_tfc_w2a2_pynq_driver.onnx" + build_dir + "/end2end_zynqbuild_tfc_w2a2_folded.onnx" ) model = model.transform(ZynqBuild(test_pynq_board, target_clk_ns)) model = model.transform(AnnotateResources("synth")) diff --git a/tests/fpgadataflow/test_fpgadataflow_fifo.py b/tests/fpgadataflow/test_fpgadataflow_fifo.py index 5de3c7d6f5339bde18eeff7bebc60d954b4648b0..a0881e2c95a491c79bb86b9817fb81735eb63d81 100644 --- a/tests/fpgadataflow/test_fpgadataflow_fifo.py +++ b/tests/fpgadataflow/test_fpgadataflow_fifo.py @@ -107,7 +107,7 @@ def test_fpgadataflow_fifo_rtlsim(Shape, folded_shape, depth, finn_dtype): model = model.transform(CreateStitchedIP(test_fpga_part, target_clk_ns)) model = model.transform(MakePYNQProject(test_pynq_board)) model = model.transform(SynthPYNQProject()) - model = model.transform(MakePYNQDriver(platform="zynq-iodma")) + model = model.transform(MakePYNQDriver(platform="zynq")) username = os.getenv("PYNQ_USERNAME", "xilinx") password = os.getenv("PYNQ_PASSWORD", "xilinx") port = os.getenv("PYNQ_PORT", 22) diff --git a/tests/fpgadataflow/test_fpgadataflow_ipstitch.py b/tests/fpgadataflow/test_fpgadataflow_ipstitch.py index 380e9313ae28637c81c0e0a28b0e07ce37d2d650..66b0ef921453e9e6fee9eb9be18cc556b2612f23 100644 --- a/tests/fpgadataflow/test_fpgadataflow_ipstitch.py +++ b/tests/fpgadataflow/test_fpgadataflow_ipstitch.py @@ -459,11 +459,6 @@ def test_fpgadataflow_ipstitch_zynqbuild(board): idt = model.get_tensor_datatype(iname) ishape = model.get_tensor_shape(iname) x = gen_finn_dt_tensor(idt, ishape) - # driver - model = model.transform(MakePYNQDriver(platorm="zynq-iodma")) - driver_dir = model.get_metadata_prop("pynq_driver_dir") - assert driver_dir is not None - assert os.path.isdir(driver_dir) # bitfile using ZynqBuild model = model.transform(ZynqBuild(board, 10)) model.save(ip_stitch_model_dir + "/test_fpgadataflow_ipstitch_customzynq.onnx")