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