From cfd37551859716ff87754507f9b557bd0092dd29 Mon Sep 17 00:00:00 2001 From: auphelia <jakobapk@web.de> Date: Thu, 27 Feb 2020 18:06:23 +0000 Subject: [PATCH] [Sphinx Documentation] Add first draft of page about pynq deployment --- docs/finn/pynq_deploy.rst | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/docs/finn/pynq_deploy.rst b/docs/finn/pynq_deploy.rst index 1c850b1fb..70bd6d721 100644 --- a/docs/finn/pynq_deploy.rst +++ b/docs/finn/pynq_deploy.rst @@ -9,3 +9,28 @@ PYNQ Deployment .. image:: /img/pynq-deploy.png :scale: 70% :align: center + +This chapter is about the hardware generation and deployment on PYNQ. If you need more information about PYNQ, please have a look at the `PYNQ website <https://pynq.readthedocs.io/en/v2.5.1/>`_. + +Create PYNQ Shell Project +========================= + +To deploy the network on A PYNQ platform, it needs to be put inside an appropriate *shell*. This *shell* bridges the network with the interfaces the underlying system exposes. This can be done using the transformation MakePYNQProject, see :py:mod:`finn.transformation.fpgadataflow.make_pynq_proj.MakePYNQProject`. + +Test on Hardware +================ + +Synthesis, Place and Route +-------------------------- + +After integrating the model into the PYNQ shell, Vivado *Synthesis, Place and Route* can be launched. The result is a bitfile which can be used for the PYNQ board. In FINN this can be done using a transformation pass. For details, please have a look at :py:mod:`finn.transformation.fpgadataflow.synth_pynq_proj.SynthPYNQProject`. + +Generate PYNQ runtime code +-------------------------- + +Additionally, a Python code is necessary to execute the model on the board. This is done by transformation pass :py:mod:`finn.transformation.fpgadataflow.make_pynq_driver.MakePYNQDriver`. + +Deployment and Remote Execution +------------------------------- + +The bitfile and the driver file(s) are copied to the PYNQ board and can be executed there using the *onnx_exec* function with the right *exec_mode* settings. For details please have a look at transformation :py:mod:`finn.transformation.fpgadataflow.make_deployment.DeployToPYNQ` and the execution function :py:mod:`finn.core.onnx_exec`. -- GitLab