Skip to content

Commit

Permalink
[mkdocs] updated cpp tutorial, few overall corrections
Browse files Browse the repository at this point in the history
  • Loading branch information
pchdev committed Mar 12, 2024
1 parent 173f795 commit d59b185
Show file tree
Hide file tree
Showing 11 changed files with 632 additions and 256 deletions.
34 changes: 25 additions & 9 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -180,9 +180,15 @@ <h1 id="syfala-toolchain-documentation">Syfala Toolchain Documentation</h1>
<p>Automatic compilation of Faust and C++ audio DSP programs for AMD/Xilinx FPGA platforms.</p>
<h2 id="supported-board-models">Supported board models</h2>
<ul>
<li>[x] Digilent <strong>Zybo Z7-10</strong> - Zynq-7000 ARM/FPGA SoC Development Board</li>
<li>[x] Digilent <strong>Zybo Z7-20</strong> - Zynq-7000 ARM/FPGA SoC Development Board</li>
<li>[x] Digilent <strong>Genesys ZU-3EG</strong> - Zynq UltraScale+ MPSoC Development Board</li>
<li>
<p>Digilent <strong>Zybo Z7-10</strong> - Zynq-7000 ARM/FPGA SoC Development Board</p>
</li>
<li>
<p>Digilent <strong>Zybo Z7-20</strong> - Zynq-7000 ARM/FPGA SoC Development Board</p>
</li>
<li>
<p>Digilent <strong>Genesys ZU-3EG</strong> - Zynq UltraScale+ MPSoC Development Board</p>
</li>
</ul>
<p>and more to come...</p>
<h2 id="dependencies">Dependencies</h2>
Expand All @@ -197,11 +203,21 @@ <h2 id="installing">Installing</h2>
<h2 id="getting-started">Getting started</h2>
<h3 id="hardware-setup-digilent-zybo-z7-1020-boards">Hardware setup (Digilent <strong>Zybo-Z7-10/20</strong> boards)</h3>
<ul>
<li>[ ] Jumper <strong>JP5</strong> should be on <em>JTAG</em> </li>
<li>[ ] <strong>Power select</strong> jumper should be on <em>USB</em> </li>
<li>[ ] <strong>Switches</strong> SW0, SW1, SW2, SW3 should be <strong>down</strong> </li>
<li>[ ] The <strong>audio input</strong> is <strong>LINE IN</strong> (blue), not MIC IN </li>
<li>[ ] The <strong>audio output</strong> is the black <strong>HPH OUT</strong> jack </li>
<li>
<p>Jumper <strong>JP5</strong> should be on <em>JTAG</em> </p>
</li>
<li>
<p><strong>Power select</strong> jumper should be on <em>USB</em> </p>
</li>
<li>
<p><strong>Switches</strong> SW0, SW1, SW2, SW3 should be <strong>down</strong> </p>
</li>
<li>
<p>The <strong>audio input</strong> is <strong>LINE IN</strong> (blue), not MIC IN </p>
</li>
<li>
<p>The <strong>audio output</strong> is the black <strong>HPH OUT</strong> jack </p>
</li>
</ul>
<h3 id="software">Software</h3>
<h4 id="faust-targets">Faust targets</h4>
Expand Down Expand Up @@ -379,5 +395,5 @@ <h4 class="modal-title" id="keyboardModalLabel">Keyboard Shortcuts</h4>

<!--
MkDocs version : 1.4.2
Build Date UTC : 2024-03-12 14:08:39.270958+00:00
Build Date UTC : 2024-03-12 15:13:18.032405+00:00
-->
59 changes: 26 additions & 33 deletions docs/manual/dependencies/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@
<div class="col-md-9" role="main">

<h1 id="syfala-toolchain-dependencies">Syfala toolchain dependencies</h1>
<p>The Syfala toolchain is a compilation toolchain of Faust programs onto AMD-Xilinx FPGA targets. This document explains how to install and run the <strong>version 0.7.1</strong> of the toolchain on a Linux machine. In practice, installing the Syfala toolchain means:</p>
<p>The Syfala toolchain is a compilation toolchain of Faust programs onto AMD-Xilinx FPGA targets. This document explains how to install and run the <strong>version 0.8.0</strong> of the toolchain on a Linux machine. In practice, installing the Syfala toolchain means:</p>
<ul>
<li>Installing the required <strong>linux-packages</strong>, depending on your Linux distribution.</li>
<li>Installing the <strong>Faust</strong> compiler</li>
Expand Down Expand Up @@ -212,12 +212,11 @@ <h2 id="vivado-vitis-vitis-hls-20222-version">Vivado, Vitis &amp; Vitis HLS (202
<li>
<p>Download the Linux installer <code>Xilinx_Unified_2022.2_1014_8888_Lin64.bin</code></p>
</li>
<li>
<p>Execute <code>chmod a+x Xilinx_Unified_2022.2_1014_8888_Lin64.bin</code></p>
</li>
<li>
<p>Execute <code>./Xilinx_Unified_2022.2_1014_8888_Lin64.bin</code></p>
</li>
</ul>
<pre><code class="language-shell">chmod a+x Xilinx_Unified_2022.2_1014_8888_Lin64.bin
./Xilinx_Unified_2022.2_1014_8888_Lin64.bin
</code></pre>
<ul>
<li>
<p>We suggest to use the "<strong>Download Image (Install Separately)</strong>" option. It creates a directory with a <strong>xsetup</strong> file to execute that you can reuse in case of failure during the installation</p>
</li>
Expand All @@ -235,24 +234,22 @@ <h2 id="vivado-vitis-vitis-hls-20222-version">Vivado, Vitis &amp; Vitis HLS (202
<li>
<p><strong>Setup a shell environment variable</strong> allowing to use the tools when necessary (add this to your <code>~/.bashrc</code>, <code>~/.zshrc</code> or whatever you're currently using, replacing <code>$XILINX_ROOT_DIR</code> by the directory you chose to install all the tools)</p>
</li>
<li>
<p><code>shell
export XILINX_ROOT_DIR=$HOME/Xilinx</code></p>
</li>
</ul>
<pre><code class="language-shell">export XILINX_ROOT_DIR=$HOME/Xilinx
</code></pre>
<h3 id="installing-cable-drivers-on-linux">Installing Cable Drivers on Linux</h3>
<ul>
<li>Go to: <code>$XILINX_ROOT_DIR/Vivado/2022.2/data/xicom/cable_drivers/lin64/install_script/install_drivers</code> directory</li>
<li>Run <code>./install_drivers</code></li>
<li>Run <code>sudo cp 52-xilinx-digilent-usb.rules /etc/udev/rules.d</code>, this allows <strong>JTAG</strong> connection through <strong>USB</strong>.</li>
</ul>
<pre><code class="language-shell">cd $XILINX_ROOT_DIR/Vivado/2022.2/data/xicom/cable_drivers/lin64/install_script/install_drivers
./install_drivers
# Allow JTAG-USB connection:
sudo cp 52-xilinx-digilent-usb.rules /etc/udev/rules.d
</code></pre>
<h3 id="installing-digilent-board-files">Installing Digilent Board Files</h3>
<ul>
<li>Download the board files from <a href="https://github.com/Digilent/vivado-boards/archive/master.zip?_ga=2.76732885.1953828090.1655988025-1125947215.1655988024">github</a>:</li>
<li>Open the folder extracted from the archive and navigate to its <code>new/board_files</code> folder. You will be copying all of this folder's subfolders</li>
<li>For the 2020.2 version, go to <code>$XILINX_ROOT_DIR/Vivado/2020.2/data/boards/board_files</code></li>
<li>For the <strong>2020.2 version</strong>, go to <code>$XILINX_ROOT_DIR/Vivado/2020.2/data/boards/board_files</code></li>
<li>
<p>For the 2022.2 version, go to <code>$XILINX_ROOT_DIR/Vivado/2022.2/data/xhub/boards/XilinxBoardStore/boards/Xilinx</code></p>
<p>For the <strong>2022.2 version</strong>, go to <code>$XILINX_ROOT_DIR/Vivado/2022.2/data/xhub/boards/XilinxBoardStore/boards/Xilinx</code></p>
</li>
<li>
<p><strong>Copy</strong> all of the folders found in vivado-boards <code>new/board_files</code>folder and <strong>paste</strong> them into this folder</p>
Expand All @@ -261,33 +258,29 @@ <h3 id="installing-digilent-board-files">Installing Digilent Board Files</h3>
<h3 id="installing-the-2022-patch-amd-xilinx-toolchain-v20202-only">Installing the 2022 patch (AMD-Xilinx toolchain v2020.2 only)</h3>
<p>Vivado and Vitis tools that use HLS in the background are also affected by this issue. HLS tools set the ip_version in the format YYMMDDHHMM and this value is accessed as a signed integer (32-bit) that causes an overflow and generates the errors below (or something similar).</p>
<ul>
<li>
<p>Follow this link: https://support.xilinx.com/s/article/76960?language=en_US</p>
</li>
<li>Follow this link: https://support.xilinx.com/s/article/76960?language=en_US</li>
<li>
<p>Download the file at the bottom of th page and unzip it in <code>$XILINX_ROOT_DIR</code></p>
</li>
<li>
<p>run the following commands: </p>
</li>
<li>
<p><code>shell
$ cd $XILINX_ROOT_DIR
$ export LD_LIBRARY_PATH=$PWD/Vivado/2020.2/tps/lnx64/python-3.8.3/lib/
$ Vivado/2020.2/tps/lnx64/python-3.8.3/bin/python3 y2k22_patch/patch.py</code></p>
<p>Run the following commands: </p>
</li>
</ul>
<pre><code class="language-shell">cd $XILINX_ROOT_DIR
export LD_LIBRARY_PATH=$PWD/Vivado/2020.2/tps/lnx64/python-3.8.3/lib/
Vivado/2022.2/tps/lnx64/python-3.8.3/bin/python3 y2k22_patch/patch.py
</code></pre>
<h2 id="cloning-the-syfala-repository">Cloning the Syfala repository</h2>
<p>To clone and install the latest stable version of the Syfala toolchain, you can use the following commands:</p>
<pre><code class="language-shell">$ git clone https://github.com/inria-emeraude/syfala
$ cd syfala
$ ./syfala.tcl install
$ syfala --help
<pre><code class="language-shell">git clone https://github.com/inria-emeraude/syfala
cd syfala
make install
syfala --help
</code></pre>
<p>In order to use the Syfala toolchain to compile your first example, please report to the main <a href="https://github.com/inria-emeraude/syfala/blob/main/README.md">README</a> file located in the repository's root directory.</p>
<h2 id="troubleshooting">Troubleshooting</h2>
<p>On <strong>Archlinux</strong>, if you see an error like this one </p>
<pre><code>/lib/../lib64/crti.o: file not recognized: File format not recognized
<pre><code class="language-shell">/lib/../lib64/crti.o: file not recognized: File format not recognized
</code></pre>
<p>you'll have to rename the <code>Vivado/2020.2/tps/lnx64/binutils-2.26</code> (Vitis will then search in the system libraries).</p>
<h4 id="vitisjava-issues">Vitis/Java issues</h4>
Expand Down
35 changes: 2 additions & 33 deletions docs/manual/reference/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@

<div class="col-md-3"><div class="bs-sidebar hidden-print affix well" role="complementary">
<ul class="nav bs-sidenav">
<li class="first-level active"><a href="#syfala-command-line-interface-reference">Syfala command-line interface reference</a></li>
<li class="first-level active"><a href="#command-line-interface-reference">Command-line interface reference</a></li>
<li class="second-level"><a href="#general-options">General options</a></li>

<li class="second-level"><a href="#commands">Commands</a></li>
Expand All @@ -177,38 +177,7 @@
</div></div>
<div class="col-md-9" role="main">

<h1 id="syfala-command-line-interface-reference">Syfala command-line interface reference</h1>
<pre><code class="language-shell">$ syfala &lt;command&gt; [command-options]

$ syfala help
$ syfala version
$ syfala tidy
$ syfala clean
$ syfala reset
$ syfala import &lt;path-to-file.zip&gt;
$ syfala export &lt;name&gt;
$ syfala report &lt;hls|any*&gt;
$ syfala log
$ syfala test
$ syfala flash
$ syfala start-gui
$ syfala open-project &lt;hls|any*&gt;

$ syfala &lt;file.dsp|file.cpp&gt; [general-options]
[build-options]
[design-options]
[hls-options]
[arm-options]
[run-step]
# examples:
$ syfala examples/faust/bypass.dsp
--board Z10
--linux --midi --osc --http

$ syfala examples/cpp/templates/gain-control-hls.cpp
--board Z20
--arm-target examples/cpp/gain-control-arm.cpp
</code></pre>
<h1 id="command-line-interface-reference">Command-line interface reference</h1>
<h2 id="general-options">General options</h2>
<table>
<thead>
Expand Down
Binary file modified docs/sitemap.xml.gz
Binary file not shown.
Loading

0 comments on commit d59b185

Please sign in to comment.