<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="https://bondmachinehq.github.io/xml/base.min.xml" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>BondMachine</title>
    <link>https://bondmachinehq.github.io/intro/</link>
    <description>Recent content on BondMachine</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <atom:link rel="self" href="https://bondmachinehq.github.io/intro/feed.xml" type="application/rss+xml" />
    <item>
      <title>2018 GoLab</title>
      <link>https://bondmachinehq.github.io/docs/slides/golab2018/</link>
      <guid>https://bondmachinehq.github.io/docs/slides/golab2018/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;Talk given at Golab 2018, Florence, 22 Oct 2018&lt;/p&gt;


    
    &lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; allowfullscreen=&#34;allowfullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/5hjDzwSjAZU?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;
      &gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;Slides:&lt;/p&gt;
&lt;iframe src=&#34;//www.slideshare.net/slideshow/embed_code/key/GtpBF7FgdZQmUS&#34; width=&#34;600&#34; height=&#34;500&#34; frameborder=&#34;0&#34; marginwidth=&#34;0&#34; marginheight=&#34;0&#34; scrolling=&#34;no&#34; style=&#34;border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;&#34; allowfullscreen&gt; &lt;/iframe&gt;
&lt;p&gt;&lt;a href=&#34;img/talk-golab2018.pdf&#34;&gt;Download Slides&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>2022 - Joint ICTP-IAEA School on FPGA-based SoC and its Applications to Nuclear and Scientific Instrumentation</title>
      <link>https://bondmachinehq.github.io/docs/slides/ictp2022/</link>
      <guid>https://bondmachinehq.github.io/docs/slides/ictp2022/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;Talk at &amp;ldquo;Joint ICTP-IAEA School on FPGA-based SoC and its Applications to Nuclear and Scientific Instrumentation&amp;rdquo;&lt;/p&gt;
&lt;iframe src=&#34;https://www.slideshare.net/slideshow/embed_code/key/pdPOPIHdUzSItS?startSlide=1&#34; width=&#34;760&#34; height=&#34;480&#34; frameborder=&#34;0&#34;   marginwidth=&#34;0&#34; marginheight=&#34;0&#34; scrolling=&#34;no&#34; style=&#34;border:1px solid #CCC; border-width:1px;   margin-bottom:5px;max-width: 100%;&#34; allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;a href=&#34;img/talk-ictp2022.pdf&#34;&gt;Download Slides&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>2023 - Introductory course to HLS FPGA programming</title>
      <link>https://bondmachinehq.github.io/docs/slides/icsc2023/</link>
      <guid>https://bondmachinehq.github.io/docs/slides/icsc2023/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;a href=&#34;https://agenda.infn.it/event/38191/&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Introductory course to HLS FPGA programming&lt;/a&gt;, 27 -30 Nov 2023&lt;/p&gt;
&lt;iframe src=&#34;https://www.slideshare.net/slideshow/embed_code/key/1ozgLzCP8f6dnT?hostedIn=slideshare&amp;page=upload&#34; width=&#34;760&#34; height=&#34;480&#34; frameborder=&#34;0&#34; marginwidth=&#34;0&#34; marginheight=&#34;0&#34; scrolling=&#34;no&#34; style=&#34;border:1px solid #CCC; border-width:1px;   margin-bottom:5px;max-width: 100%;&#34; allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;a href=&#34;img/talk-icsc2023.pdf&#34;&gt;Download Slides&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>2024 - 1st FPGA Developers&#39; Forum (FDF)</title>
      <link>https://bondmachinehq.github.io/docs/slides/fdf2024/</link>
      <guid>https://bondmachinehq.github.io/docs/slides/fdf2024/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;a href=&#34;https://indico.cern.ch/event/1381060&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;1st FPGA Developers&amp;#39; Forum (FDF) meeting&lt;/a&gt;, 11-13 Jun 2024&lt;/p&gt;


    
    &lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; allowfullscreen=&#34;allowfullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/UoLOwVBKQkg?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;
      &gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;Slides:&lt;/p&gt;
&lt;iframe src=&#34;https://www.slideshare.net/slideshow/embed_code/key/mMaMzhRRlZNlWe?hostedIn=slideshare&amp;page=upload&#34; width=&#34;760&#34; height=&#34;480&#34; frameborder=&#34;0&#34; marginwidth=&#34;0&#34; marginheight=&#34;0&#34; scrolling=&#34;no&#34;&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;a href=&#34;img/talk-fdf2024.pdf&#34;&gt;Download Slides&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>adc</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/adc/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/adc/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: adc&lt;/p&gt;
</description>
    </item>
    <item>
      <title>add</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/add/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/add/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: add&lt;/p&gt;
</description>
    </item>
    <item>
      <title>addf</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/addf/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/addf/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: addf&lt;/p&gt;
</description>
    </item>
    <item>
      <title>addf16</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/addf16/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/addf16/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: addf16&lt;/p&gt;
</description>
    </item>
    <item>
      <title>addi</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/addi/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/addi/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: addi&lt;/p&gt;
</description>
    </item>
    <item>
      <title>addp</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/addp/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/addp/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: addp&lt;/p&gt;
</description>
    </item>
    <item>
      <title>All Slides</title>
      <link>https://bondmachinehq.github.io/docs/slides/all/</link>
      <guid>https://bondmachinehq.github.io/docs/slides/all/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;a href=&#34;https://indico.cern.ch/event/1381060&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;1st FPGA Developers&amp;#39; Forum (FDF) meeting&lt;/a&gt;, 11-13 Jun 2024&lt;/p&gt;
&lt;iframe src=&#34;https://www.slideshare.net/slideshow/embed_code/key/mMaMzhRRlZNlWe?hostedIn=slideshare&amp;page=upload&#34; width=&#34;760&#34; height=&#34;480&#34; frameborder=&#34;0&#34; marginwidth=&#34;0&#34; marginheight=&#34;0&#34; scrolling=&#34;no&#34;&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;a href=&#34;img/talk-fdf2024.pdf&#34;&gt;Download Slides&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;a href=&#34;https://agenda.infn.it/event/38127/&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Incontri di Fisica delle Alte Energie 2024 (IFAE 2024)&lt;/a&gt;, 3-5 Apr 2024&lt;/p&gt;
&lt;iframe src=&#34;https://www.slideshare.net/slideshow/embed_code/key/bG3p2vIviNm5o3?hostedIn=slideshare&amp;page=upload&#34; width=&#34;760&#34; height=&#34;480&#34; frameborder=&#34;0&#34; marginwidth=&#34;0&#34; marginheight=&#34;0&#34; scrolling=&#34;no&#34;&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;a href=&#34;img/talk-ifae2024.pdf&#34;&gt;Download Slides&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;a href=&#34;https://agenda.infn.it/event/38191/&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Introductory course to HLS FPGA programming&lt;/a&gt;, 27 -30 Nov 2023&lt;/p&gt;
&lt;iframe src=&#34;https://www.slideshare.net/slideshow/embed_code/key/1ozgLzCP8f6dnT?hostedIn=slideshare&amp;page=upload&#34; width=&#34;760&#34; height=&#34;480&#34; frameborder=&#34;0&#34; marginwidth=&#34;0&#34; marginheight=&#34;0&#34; scrolling=&#34;no&#34; style=&#34;border:1px solid #CCC; border-width:1px;   margin-bottom:5px;max-width: 100%;&#34; allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;a href=&#34;img/talk-icsc2023.pdf&#34;&gt;Download Slides&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Talk at Workshop of the CCR of INFN, 23 May 2023&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;img/talk-ccr2023.pdf&#34;&gt;Download Slides&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Talk at &amp;ldquo;SOSC 2022 Fourth International School on Open Science Cloud, November 28, 2022 to December 2, 2022 INFN Perugia&amp;rdquo;&lt;/p&gt;
&lt;iframe src=&#34;https://www.slideshare.net/slideshow/embed_code/key/efKHzbUTNM4uLv?startSlide=1&#34; width=&#34;760&#34; height=&#34;480&#34; frameborder=&#34;0&#34;   marginwidth=&#34;0&#34; marginheight=&#34;0&#34; scrolling=&#34;no&#34; style=&#34;border:1px solid #CCC; border-width:1px;   margin-bottom:5px;max-width: 100%;&#34; allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;a href=&#34;img/talk-sosc2022.pdf&#34;&gt;Download Slides&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Talk at &amp;ldquo;Third edition of the Machine Learning at INFN advanced level hackathon&amp;rdquo;&lt;/p&gt;
&lt;iframe src=&#34;https://www.slideshare.net/slideshow/embed_code/key/FLFuuyUk2v2LH0?startSlide=1&#34; width=&#34;760&#34; height=&#34;480&#34; frameborder=&#34;0&#34;   marginwidth=&#34;0&#34; marginheight=&#34;0&#34; scrolling=&#34;no&#34; style=&#34;border:1px solid #CCC; border-width:1px;   margin-bottom:5px;max-width: 100%;&#34; allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;a href=&#34;img/talk-mlhackaton2022.pdf&#34;&gt;Download Slides&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Talk at &amp;ldquo;Joint ICTP-IAEA School on FPGA-based SoC and its Applications to Nuclear and Scientific Instrumentation&amp;rdquo;&lt;/p&gt;
&lt;iframe src=&#34;https://www.slideshare.net/slideshow/embed_code/key/pdPOPIHdUzSItS?startSlide=1&#34; width=&#34;760&#34; height=&#34;480&#34; frameborder=&#34;0&#34;   marginwidth=&#34;0&#34; marginheight=&#34;0&#34; scrolling=&#34;no&#34; style=&#34;border:1px solid #CCC; border-width:1px;   margin-bottom:5px;max-width: 100%;&#34; allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;a href=&#34;img/talk-ictp2022.pdf&#34;&gt;Download Slides&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Talk at &amp;ldquo;Machine Learning Techniques with FPGA Devices for Particle Physics Experiments&amp;rdquo;&lt;/p&gt;
&lt;iframe src=&#34;https://www.slideshare.net/slideshow/embed_code/key/j3q1F1T0JVc0J4?startSlide=1&#34; width=&#34;760&#34; height=&#34;480&#34; frameborder=&#34;0&#34;   marginwidth=&#34;0&#34; marginheight=&#34;0&#34; scrolling=&#34;no&#34; style=&#34;border:1px solid #CCC; border-width:1px;   margin-bottom:5px;max-width: 100%;&#34; allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;a href=&#34;img/talk-infnml2022.pdf&#34;&gt;Download Slides&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Talk at Workshop of the CCR of INFN, 23 May 2022&lt;/p&gt;
&lt;iframe src=&#34;https://www.slideshare.net/slideshow/embed_code/key/a00XXegknpnysU?hostedIn=slideshare&amp;page=upload&#34; width=&#34;760&#34; height=&#34;480&#34; frameborder=&#34;0&#34; marginwidth=&#34;0&#34; marginheight=&#34;0&#34; scrolling=&#34;no&#34;&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;a href=&#34;img/talk-ccr2022.pdf&#34;&gt;Download Slides&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Talk at ParCo2019, Prague ,10-13 Sept 2019&lt;/p&gt;
&lt;iframe src=&#34;//www.slideshare.net/slideshow/embed_code/key/kcjJTHoB7IwBGR&#34; width=&#34;600&#34; height=&#34;500&#34; frameborder=&#34;0&#34; marginwidth=&#34;0&#34; marginheight=&#34;0&#34; scrolling=&#34;no&#34; style=&#34;border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;&#34; allowfullscreen&gt; &lt;/iframe&gt;
&lt;p&gt;&lt;a href=&#34;img/talk-parco2019.pdf&#34;&gt;Download Slides&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Lecture at NiPS 2019 Summer school, Perugia, 3-6 Sept 2019&lt;/p&gt;
&lt;iframe src=&#34;//www.slideshare.net/slideshow/embed_code/key/3kyPDdkqZGrI3a&#34; width=&#34;600&#34; height=&#34;500&#34; frameborder=&#34;0&#34; marginwidth=&#34;0&#34; marginheight=&#34;0&#34; scrolling=&#34;no&#34; style=&#34;border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;&#34; allowfullscreen&gt; &lt;/iframe&gt;
&lt;p&gt;&lt;a href=&#34;img/talk-nips2019.pdf&#34;&gt;Download Slides&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Lecture at &lt;a href=&#34;http://indico.ictp.it/event/8680/overview&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Advanced Workshop on Modern FPGA Based Technology for Scientific Computing 2019&lt;/a&gt;, ICTP 13 May - 24 May 2019, Trieste, Italy&amp;quot;&lt;/p&gt;
&lt;iframe src=&#34;//www.slideshare.net/slideshow/embed_code/key/pZe5DIuUTkTLdS&#34; width=&#34;600&#34; height=&#34;500&#34; frameborder=&#34;0&#34; marginwidth=&#34;0&#34; marginheight=&#34;0&#34; scrolling=&#34;no&#34; style=&#34;border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;&#34; allowfullscreen&gt; &lt;/iframe&gt;
&lt;p&gt;&lt;a href=&#34;img/talk-ictp2019.pdf&#34;&gt;Download Slides&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Talk at ISGC2019, 5 April 2019, Academia Sinica, Taipei, Taiwan&lt;/p&gt;
&lt;iframe src=&#34;//www.slideshare.net/slideshow/embed_code/key/ksJ5YZsgPGOJMU&#34; width=&#34;600&#34; height=&#34;500&#34; frameborder=&#34;0&#34; marginwidth=&#34;0&#34; marginheight=&#34;0&#34; scrolling=&#34;no&#34; style=&#34;border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;&#34; allowfullscreen&gt; &lt;/iframe&gt;
&lt;p&gt;&lt;a href=&#34;img/talk-isgc2019.pdf&#34;&gt;Download Slides&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Talk given at Golab 2018, Florence, 22 Oct 2018&lt;/p&gt;
&lt;iframe src=&#34;//www.slideshare.net/slideshow/embed_code/key/GtpBF7FgdZQmUS&#34; width=&#34;600&#34; height=&#34;500&#34; frameborder=&#34;0&#34; marginwidth=&#34;0&#34; marginheight=&#34;0&#34; scrolling=&#34;no&#34; style=&#34;border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;&#34; allowfullscreen&gt; &lt;/iframe&gt;
&lt;p&gt;&lt;a href=&#34;img/talk-golab2018.pdf&#34;&gt;Download Slides&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Talk given at Intel Campus, San Jose (CA), 15 Aug 2018&lt;/p&gt;
&lt;iframe src=&#34;//www.slideshare.net/slideshow/embed_code/key/D9AfsKfwh8KMQI&#34; width=&#34;760&#34; height=&#34;480&#34; frameborder=&#34;0&#34; marginwidth=&#34;0&#34; marginheight=&#34;0&#34; scrolling=&#34;no&#34; style=&#34;border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;&#34; allowfullscreen&gt; &lt;/iframe&gt;
&lt;hr&gt;
&lt;p&gt;Talk given at INFN-CNAF, 23 Feb 2018&lt;/p&gt;
&lt;iframe src=&#34;//www.slideshare.net/slideshow/embed_code/key/3eqNRFdxRiKDAM&#34; width=&#34;600&#34; height=&#34;500&#34; frameborder=&#34;0&#34; marginwidth=&#34;0&#34; marginheight=&#34;0&#34; scrolling=&#34;no&#34; style=&#34;border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;&#34; allowfullscreen&gt; &lt;/iframe&gt; 
&lt;hr&gt;
&lt;p&gt;Talk given at &lt;a href=&#34;https://agenda.infn.it/conferenceDisplay.py?confId=13040&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Workshop della CCR: L.N.G.S.&lt;/a&gt; , 22-26 May 2017 , Gran Sasso National Laboratories, Italy&lt;/p&gt;
&lt;iframe src=&#34;//www.slideshare.net/slideshow/embed_code/key/61pZlQuwRdxR3&#34; width=&#34;600&#34; height=&#34;500&#34; frameborder=&#34;0&#34; marginwidth=&#34;0&#34; marginheight=&#34;0&#34; scrolling=&#34;no&#34; style=&#34;border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;&#34; allowfullscreen&gt; &lt;/iframe&gt;
</description>
    </item>
    <item>
      <title>and</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/and/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/and/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: and&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Basic procbuilder operations</title>
      <link>https://bondmachinehq.github.io/docs/tutorials/001/</link>
      <guid>https://bondmachinehq.github.io/docs/tutorials/001/</guid>
      <description>&lt;hr&gt;



&lt;h2 id=&#34;this-tutorial-shows-the-procbuild-tool-it-uses-the-application-to-create-a-simple-processor-with-a-small-program&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/tutorials/001/#this-tutorial-shows-the-procbuild-tool-it-uses-the-application-to-create-a-simple-processor-with-a-small-program&#34;&gt;This tutorial shows the procbuild tool. It uses the application to create a simple processor with a small program.&lt;/a&gt;
&lt;/h2&gt;



&lt;h2 id=&#34;hahahugoshortcode14s0hbhb&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/tutorials/001/#hahahugoshortcode14s0hbhb&#34;&gt;&lt;video class=&#34;video-shortcode&#34; preload=&#34;&#34; controls&gt;
	&lt;source src=&#34;video.mp4&#34; type=&#34;&#34;&gt;
	There should have been a video here but your browser does not seem
	to support it.
    &lt;/video&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The tutorial is built with the tool &lt;a href=&#34;https://www.mirkomariotti.it/repos_handsomehandson&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Handsome Hands-on&lt;/a&gt; - Alongside the video a &lt;a href=&#34;demo.sh&#34;&gt;demo script&lt;/a&gt; has been built and can be downloaded from &lt;a href=&#34;demo.sh&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Basm File Structure</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/docbasmfile/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/docbasmfile/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;&lt;/p&gt;



&lt;h2 id=&#34;__directives__&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/basm/docbasmfile/#__directives__&#34;&gt;&lt;strong&gt;Directives&lt;/strong&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;A .basm input file is made of directives starting with the % character. Some directive starts a block that ends with the respective %end directive. Others are  single line directives. The table below lists the directives that can be used in a .basm file.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align:right&#34;&gt;Directive&lt;/th&gt;
&lt;th style=&#34;text-align:left&#34;&gt;End directive&lt;/th&gt;
&lt;th style=&#34;text-align:left&#34;&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:right&#34;&gt;%section&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;%endsection&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Code section&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:right&#34;&gt;%macro&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;%endmacro&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Macro definition&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:right&#34;&gt;%fragment&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;%endfragment&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Code fragment&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:right&#34;&gt;%chunk&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;%endchunk&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Chunk of data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:right&#34;&gt;%meta bmdef&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;none&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;BondMachine metadatas&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:right&#34;&gt;%meta cpdef&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;none&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;CP metadatas&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:right&#34;&gt;%meta sodef&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;none&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;SO metadatas&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:right&#34;&gt;%meta iodef&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;none&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Input/Output metadatas&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:right&#34;&gt;%meta fidef&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;none&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Fragment Instance metadata&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:right&#34;&gt;%meta filinkdef&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;none&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Fragment Instance Link metadatas&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:right&#34;&gt;%meta soatt&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;none&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;SO attach directives&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:right&#34;&gt;%meta ioatt&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;none&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;IO attach directives&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:right&#34;&gt;%meta filinkatt&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;none&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Fragment Instance link attach directives&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id=&#34;__sections__&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/basm/docbasmfile/#__sections__&#34;&gt;&lt;strong&gt;Sections&lt;/strong&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The main Basm structure is the section. A section is a block of code or data.
The directive %section is used start a section  and ends with the directive %endsection. The syntax is:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;%section section_name section_type [section metadata]
...
%endsection
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Within Basm four type of sections can be defined:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;romtext&lt;/strong&gt;: Read only code section&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;romdata&lt;/strong&gt;: Read only data section&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ramtext&lt;/strong&gt;: Code section&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ramdata&lt;/strong&gt;: Data section&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The section name is a valid identifier. It has to be unique in the current BasmInstance. The section type is one of the four listed above. The section metadata is a list of metadata that are associated to the section. The metadata are used to define the section properties. The list of metadata is given in the table below.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align:right&#34;&gt;Metadata&lt;/th&gt;
&lt;th style=&#34;text-align:left&#34;&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:right&#34;&gt;&lt;strong&gt;iomode&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;The defualt I/O mode for the section. It can be &lt;strong&gt;sync&lt;/strong&gt; or &lt;strong&gt;async&lt;/strong&gt;. The default is &lt;strong&gt;async&lt;/strong&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;



&lt;h3 id=&#34;code-sections&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/basm/docbasmfile/#code-sections&#34;&gt;Code sections&lt;/a&gt;
&lt;/h3&gt;



&lt;h3 id=&#34;data-sections&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/basm/docbasmfile/#data-sections&#34;&gt;Data sections&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;TODO&lt;/p&gt;



&lt;h2 id=&#34;__macros__&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/basm/docbasmfile/#__macros__&#34;&gt;&lt;strong&gt;Macros&lt;/strong&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;TODO&lt;/p&gt;



&lt;h2 id=&#34;__fragments__&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/basm/docbasmfile/#__fragments__&#34;&gt;&lt;strong&gt;Fragments&lt;/strong&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;TODO&lt;/p&gt;



&lt;h2 id=&#34;__chunks__&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/basm/docbasmfile/#__chunks__&#34;&gt;&lt;strong&gt;Chunks&lt;/strong&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;TODO&lt;/p&gt;



&lt;h2 id=&#34;__meta-directives__&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/basm/docbasmfile/#__meta-directives__&#34;&gt;&lt;strong&gt;%meta Directives&lt;/strong&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The %meta directives are used to define the BondMachine architecture. They are used to define the SOs, the CPs and the BM itself. The syntax is:&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Basm Instructions</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/docinstructions/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/docinstructions/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;&lt;/p&gt;



&lt;h2 id=&#34;__instructions__&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/basm/docinstructions/#__instructions__&#34;&gt;&lt;strong&gt;Instructions&lt;/strong&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Basm instructions are identified by an operation that requires operands to be processed. Operands can be registers, memory address or more generally any SOs I/O ports.
Some instructions do not require an operand, whereas some other instructions may require one, two, or three operands.&lt;/p&gt;
&lt;p&gt;The first operand is generally the destination and the second operand is the source.&lt;/p&gt;



&lt;h2 id=&#34;pseudo-instructions&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/basm/docinstructions/#pseudo-instructions&#34;&gt;Pseudo instructions&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Pseudo instructions are not real instructions, they are directives that are translated into one or more real instructions. They are used in the instruction field anyway because that’s the most convenient place to put them. The most common pseudo instructions are the ones that define data and reserve storage space. They are used to define constants and variables and to reserve space for arrays and other data structures.&lt;/p&gt;



&lt;h3 id=&#34;declaring-data&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/basm/docinstructions/#declaring-data&#34;&gt;Declaring data&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;The declaration of data is done in data sections by using the syntax:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;symbol directive expression [, expression]...
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;symbol&lt;/strong&gt; is the name of the variable. It can be any valid identifier. It as to be unique in the current section.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;directive&lt;/strong&gt; is the name of the directive that declares the data. The list of directives is given in the table below.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;expression&lt;/strong&gt; is a constant expression that evaluates to a byte (or other types according to the directives) value. The assembler assigns the first expression to the first byte of the variable, the second expression to the second byte, and so on. The assembler automatically advances the location counter by the number of bytes declared.&lt;/p&gt;
&lt;p&gt;The following table lists the directives that can be used to declare data:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align:right&#34;&gt;Directive&lt;/th&gt;
&lt;th style=&#34;text-align:left&#34;&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:right&#34;&gt;db&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Initiatialized data&lt;/td&gt;
&lt;td&gt;Declare byte&lt;/td&gt;
&lt;td&gt;examplevar db 1, 2, 3&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id=&#34;expressing-io&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/basm/docinstructions/#expressing-io&#34;&gt;Expressing I/O&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Apart from operations among internal elements, CP instructions can interact with external objects. These can be memories, like in standard processor, or more generally can be all kind of SOs. Basm has a special syntax to express such data movements. The most common instruction is &lt;em&gt;&lt;strong&gt;mov&lt;/strong&gt;&lt;/em&gt; and  the general syntax for the I/O objects is:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[IO object name][object index]:[I/O port]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If the object has no port the colon can be omitted. Similarly, if the object has no index, just the name can be used alone.&lt;/p&gt;
&lt;p&gt;Following is a list of examples of I/O objects:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align:left&#34;&gt;Object name&lt;/th&gt;
&lt;th style=&#34;text-align:left&#34;&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;ram&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;The random access memory&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;rom&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;The read only memory&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;i&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;The input&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;o&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;The output&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;vtm&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;The video textual memory&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;q&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;The shared queue&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;s&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;The shared stack&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The I/O port can be addressed in two ways:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;Immediate addressing&lt;/em&gt;: An immediate port has a constant value or an expression.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;Register addressing&lt;/em&gt;: In this addressing mode, a register contains the port. In this mode the register name is surrounded by brackets.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;Symbol addressing&lt;/em&gt;: In this addressing mode, a symbol refers to a port.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here is some examples along with theirs descriptions:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align:left&#34;&gt;Example&lt;/th&gt;
&lt;th style=&#34;text-align:left&#34;&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;mov r0 5&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;The register &lt;em&gt;&lt;strong&gt;r0&lt;/strong&gt;&lt;/em&gt; is filled with the decimal value of 5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;mov r1 i0&lt;/em&gt; or &lt;em&gt;mov r1 i0:&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;The register &lt;em&gt;&lt;strong&gt;r0&lt;/strong&gt;&lt;/em&gt; is filled with the value read from the input &lt;em&gt;&lt;strong&gt;i0&lt;/strong&gt;&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;mov vtm0:48 r0&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Copy the value contained in the &lt;em&gt;&lt;strong&gt;r0&lt;/strong&gt;&lt;/em&gt; register into the location 48 of the video textual memory using immediate addressing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;&lt;em&gt;mov vtm0:[r1] r0&lt;/em&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Copy the value contained in the &lt;em&gt;&lt;strong&gt;r0&lt;/strong&gt;&lt;/em&gt; register into the location of the video textual memory pointed by the &lt;em&gt;&lt;strong&gt;r1&lt;/strong&gt;&lt;/em&gt; register using register addressing&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id=&#34;contexts&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/basm/docinstructions/#contexts&#34;&gt;Contexts&lt;/a&gt;
&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;%macro macro_name num_of_params
%endmacro
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Macros are not CP-bounded, they are assembler bounded&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Every section takes a CP tag, if that is missing it means there is only 1 tag associated to CP 0&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sections .romtext cp_tag
     .romdata cp_tag
     .text cp_tag
     .data cp_tag
     .bss cp_tag
&lt;/code&gt;&lt;/pre&gt;
&lt;hr&gt;



&lt;h2 id=&#34;labels-are-cp-bounded&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/basm/docinstructions/#labels-are-cp-bounded&#34;&gt;Labels are CP-bounded&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;metas are directives specific of the BondMachine, they are used to create groups of processors or groups of groups (clusters)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;%meta sodef [so name] [so definition] [so tags]

%meta cpdef [cp name] [cp tags]

%meta bmdef 
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Basm Internals</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/docinternals/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/docinternals/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;&lt;/p&gt;



&lt;h2 id=&#34;phases&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/basm/docinternals/#phases&#34;&gt;Phases&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The assembling process in divided into phases. The first phase (phase 0) read assembly file/s and create a raw BasmInstance. Subsequent passes operate transformations on BasmInstances. Specific steps can be removed using the dedicated arguments from the command line. The table following shows all the phases along with their description.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align:left&#34;&gt;Phase short name&lt;/th&gt;
&lt;th style=&#34;text-align:left&#34;&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;TemplateResolver&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;The templated code is found and expanded. New (untemplated) elements (section or fragment) are created&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;DynamicalInstructions&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;The dynamical instructions are found according the name convention. They are created and inserted into the instruction database&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;SymbolsTagger1&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Map the sections and fragments symbols, creates the relative metadata within the instruction arguments&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;DataSections2Bytes&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Compute the offsets of the data sections and convert the data into bytes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;MetadataInfer1&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Infer the metadata by looking at the code and matching the instructions with the instruction database&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;FragmentAnalyzer&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Analyze the fragments resources and create the relative metadata&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;FragmentOptimizer&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Apply several customizable optimizations to the fragments&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;FragmentPruner&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Prune the fragments that are specified in the command line&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;FragmentComposer&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Compose the fragments into the sections as specified in the command line&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;MetadataInfer2&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Infer the metadata for the second time since news sections and fragments may have been created&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;EntryPoints&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;The programs entry points is detected for the sections where it is relevant&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;MatcherResolver&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Resolv the pseudo-insructions and traslate the instructions into the real ones. If more than one instruction is matched, alternative sections are created to be evaluated in the next phases&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;SymbolsTagger2&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Map the sections and fragments symbols, creates the relative metadata within the instruction arguments&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;MemComposer&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Associate the memory to the sections according to the final disposition of the sections within the BondMachine. Only section relevant for the cps metadata are considered and the others are discarded&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;SectionCleaner&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Remove the sections that are not relevant for the cps metadata&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;SymbolsTagger3&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Map the sections and fragments symbols, creates the relative metadata within the instruction arguments&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left&#34;&gt;SymbolsResolver&lt;/td&gt;
&lt;td style=&#34;text-align:left&#34;&gt;Symbols are detected, removed from the actual code and written as locations&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;After the last phase the BasmInstance is ready to be translated into a BondMachine or to a BCOF file. The structure of the BondMachine is defined by the SOs and CPs metas. While the code is processed, the assembler keeps track of the SOs and CPs that are used. At the end of the process, the assembler creates the BondMachine structure and fills it with the data collected during the process.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Bell State on a Zedboard</title>
      <link>https://bondmachinehq.github.io/docs/tutorials/501/</link>
      <guid>https://bondmachinehq.github.io/docs/tutorials/501/</guid>
      <description>&lt;hr&gt;



&lt;h2 id=&#34;bell-state&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/tutorials/501/#bell-state&#34;&gt;Bell State&lt;/a&gt;
&lt;/h2&gt;



&lt;h2 id=&#34;hahahugoshortcode24s0hbhb&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/tutorials/501/#hahahugoshortcode24s0hbhb&#34;&gt;&lt;video class=&#34;video-shortcode&#34; preload=&#34;&#34; controls&gt;
	&lt;source src=&#34;video.mp4&#34; type=&#34;&#34;&gt;
	There should have been a video here but your browser does not seem
	to support it.
    &lt;/video&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The tutorial is built with the tool &lt;a href=&#34;https://www.mirkomariotti.it/repos_handsomehandson&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Handsome Hands-on&lt;/a&gt; - Alongside the video a &lt;a href=&#34;demo.sh&#34;&gt;demo script&lt;/a&gt; has been built and can be downloaded from &lt;a href=&#34;demo.sh&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>bmnumbers</title>
      <link>https://bondmachinehq.github.io/docs/userguide/packages/002/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/packages/002/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;bmnumbers is part of BondMachine project. bmnumbers is both a command line tool to convert or cast numbers to and from different formats and a library to do the same. It is used within the BondMachine every time numbers are handled.&lt;/p&gt;



&lt;h2 id=&#34;supported-number-types&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/packages/002/#supported-number-types&#34;&gt;Supported number types&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The supported number types are listed in the following table.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Type Name&lt;/th&gt;
&lt;th&gt;Prefixes&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Static&lt;/th&gt;
&lt;th&gt;Lenght&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;unsigned&lt;/td&gt;
&lt;td&gt;none &lt;br&gt; 0u &lt;br&gt; 0d&lt;/td&gt;
&lt;td&gt;Unsigned integer&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;any&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;signed&lt;/td&gt;
&lt;td&gt;0s &lt;br&gt; 0sd&lt;/td&gt;
&lt;td&gt;Signed integer&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;any&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;bin&lt;/td&gt;
&lt;td&gt;0b &lt;br&gt; 0b&amp;lt;s&amp;gt;&lt;/td&gt;
&lt;td&gt;Binary number&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;any &lt;br&gt; s bits&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;hex&lt;/td&gt;
&lt;td&gt;0x&lt;/td&gt;
&lt;td&gt;Hexadecimal number&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;any&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;float16&lt;/td&gt;
&lt;td&gt;0f&amp;lt;16&amp;gt;&lt;/td&gt;
&lt;td&gt;IEEE 754 half precision floating point number&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;16 bits&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;float32&lt;/td&gt;
&lt;td&gt;0f &lt;br&gt; 0f&amp;lt;32&amp;gt;&lt;/td&gt;
&lt;td&gt;IEEE 754 single precision floating point number&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;32 bits&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;lqs[s]t[t]&lt;/td&gt;
&lt;td&gt;0lq&amp;lt;s.t&amp;gt;&lt;/td&gt;
&lt;td&gt;Linear quantized number with size s and type t&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;s bits&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;fps[s]f[f]&lt;/td&gt;
&lt;td&gt;0fp&amp;lt;s.f&amp;gt;&lt;/td&gt;
&lt;td&gt;Fixed point number with size s and fraction f&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;s bits&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;flp[e]f[f]&lt;/td&gt;
&lt;td&gt;0flp&amp;lt;e.f&amp;gt;&lt;/td&gt;
&lt;td&gt;FloPoCo floating point number with exponent e and mantissa f&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;e+f+3 bits&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</description>
    </item>
    <item>
      <title>bmstack</title>
      <link>https://bondmachinehq.github.io/docs/userguide/packages/001/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/packages/001/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;bmstack is part of BondMachine project. Within the project It is used to create stacks and queues distributed among several BondMachine cores. due to its generality it can also be used as standalone tool to produce HDL shared stacks and queues to be used in other projects.
The HDL code is build using golang templates that creates the code starting from the following data structure. The comments describe the meaning of each field.&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Push&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;struct&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;Agent&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// The name of the agent that is pushing
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nx&#34;&gt;Tick&lt;/span&gt;  &lt;span class=&#34;kt&#34;&gt;uint64&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// The tick at which the push occurs
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nx&#34;&gt;Value&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// The value that is pushed
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;Pop&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;struct&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;Agent&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// The name of the agent that is popping
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nx&#34;&gt;Tick&lt;/span&gt;  &lt;span class=&#34;kt&#34;&gt;uint64&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// The tick at which the pop occurs
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;TestBenchData&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;struct&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;Pops&lt;/span&gt;         &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Pop&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;// List of pops
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nx&#34;&gt;Pushes&lt;/span&gt;       &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Push&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;// List of pushes
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nx&#34;&gt;TestSequence&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// Pushes and pops in order
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;BmStack&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;struct&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;ModuleName&lt;/span&gt; &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;// The name of the module
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nx&#34;&gt;DataSize&lt;/span&gt;   &lt;span class=&#34;kt&#34;&gt;int&lt;/span&gt;      &lt;span class=&#34;c1&#34;&gt;// The size of the data bus
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nx&#34;&gt;Depth&lt;/span&gt;      &lt;span class=&#34;kt&#34;&gt;int&lt;/span&gt;      &lt;span class=&#34;c1&#34;&gt;// The depth of the stack
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nx&#34;&gt;Senders&lt;/span&gt;    &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// The names of the agents that can send data to the stack
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nx&#34;&gt;Receivers&lt;/span&gt;  &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// The names of the agents that can receive data from the stack
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nx&#34;&gt;MemType&lt;/span&gt;    &lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;// &amp;#34;LIFO&amp;#34; for a stack or &amp;#34;FIFO&amp;#34; for a queue
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nx&#34;&gt;funcMap&lt;/span&gt;    &lt;span class=&#34;nx&#34;&gt;template&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;FuncMap&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;// TestBench data
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nx&#34;&gt;TestBenchData&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2 id=&#34;usage&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/packages/001/#usage&#34;&gt;Usage&lt;/a&gt;
&lt;/h2&gt;



&lt;h3 id=&#34;usage-api&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/packages/001/#usage-api&#34;&gt;Usage: API&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;The library can be used in two ways.
The first one is from a go program. After creating a BmStack structure, the user can call the WriteHDL function to produce the HDL code.
An example on how the library can be used this way can be seen in the go test file (bmstack_test.go).&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;func&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;TestWriteHDL&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;t&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;testing&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;T&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;// Create a new stack with 4 agents
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nx&#34;&gt;stack&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;:=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;BmStack&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;ModuleName&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;test&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;DataSize&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;   &lt;span class=&#34;mi&#34;&gt;32&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;Depth&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;      &lt;span class=&#34;mi&#34;&gt;8&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;Senders&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;    &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;sender1&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;sender2&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;Receivers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;  &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;string&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;receiver1&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;receiver2&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;MemType&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;    &lt;span class=&#34;s&#34;&gt;&amp;#34;LIFO&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;// write the HDL code
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nx&#34;&gt;stack&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;WriteHDL&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The second part of the struct can be filled with test data. These data are used to produce a test bench for the stack. Using the test bench the user can verify the correctness of the stack. The test bench is produced by calling the WriteTestBench function.&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;func&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;TestWriteTestBench&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;t&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;*&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;testing&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;T&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;stack&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;:=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;BmStack&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;// ...
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;    &lt;span class=&#34;nx&#34;&gt;s&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Pushes&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Push&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nx&#34;&gt;Push&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;sender1&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;200&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s&#34;&gt;&amp;#34;32&amp;#39;d1&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;s&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Pops&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Pop&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nx&#34;&gt;Pop&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;receiver1&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;60&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;// write the test bench
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;  &lt;span class=&#34;nx&#34;&gt;stack&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;WriteTestBench&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The two functions (WriteHDL and WriteTestBench) return a string that contains the HDL code or an error if something went wrong (string, error).
The provided go test file (bmstack_test.go) shows how the library can be used in this way. When invoked (go test), it produces the two files (bmstack.v and bmstack_tb.v).
This kind of usage is useful when the user needs to create a stack or a queue in HDL and then use it in a bigger project like it is done in the BondMachine project.&lt;/p&gt;



&lt;h3 id=&#34;usage-cli&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/packages/001/#usage-cli&#34;&gt;Usage: CLI&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;The library also came with a companion CLI executable called bmstack that provides the basic interface to the library. This is the second Possible way to use it.
With the -h flag the user can see the available options and their meaning.&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ bmstack -h
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Usage of bmstack:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -d    Verbose
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -data-width int
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Width of the data bus &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;default 32&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -depth int
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Depth of the stack/queue &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;default 8&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -hdl-file string
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Name of the file to write the HDL to &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;empty string to disable&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;default &lt;span class=&#34;s2&#34;&gt;&amp;#34;stack.v&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -memory-type string
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Memory type, either stack or queue &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;default &lt;span class=&#34;s2&#34;&gt;&amp;#34;queue&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -random-stimulus int
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Generate random stimulus including N pushes and pops &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; every agent &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; to disable&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -receivers string
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Comma separated list of names of signal tags that will receive data from the stack/queue
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -senders string
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Comma separated list of names of signal tags that will send data to the stack/queue
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -sim-length int
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Length of the simulation in clock cycles &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;default 1000&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -stimulus-file string
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Name of the JSON file to load the stimulus from &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;empty string to disable&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -tb-file string
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        Name of the file to write the testbench to &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;empty string to disable&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -v    Verbose&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2 id=&#34;examples&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/packages/001/#examples&#34;&gt;Examples&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Within the BondMachine project, the library is used to create stacks and queues in HDL whenever needed. Some example of this are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The queue used by the thread manager in the CP cores to store the CP threads state&lt;/li&gt;
&lt;li&gt;The stack used to store the return addresses in the call instruction&lt;/li&gt;
&lt;li&gt;The queue used to get data for the keyboard&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To further see how the library is used in the BondMachine project, please refer to the BondMachine examples directory that contains many examples of BondMachines using stacks and queues. Instead, here we provide a simple example of how to use the library as standalone tool.&lt;/p&gt;



&lt;h3 id=&#34;example-api&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/packages/001/#example-api&#34;&gt;Example: API&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;The provided go test file (bmstack_test.go) shows how the library can be used in this way. When invoked (go test), it produces the two files (bmstack.v and bmstack_tb.v).&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ go &lt;span class=&#34;nb&#34;&gt;test&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ ls *.v
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bmstack_tb.v  bmstack.v&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;This example sets up a stack with 5 agents (3 senders and 2 receivers) and then produces the HDL code and the test bench for the stack. The test bench contains a sequence of pushes and pops that are used to verify the correctness of the stack.
In detail the 3 senders push 6 values (2 each) to the stack at different times, while the 2 receivers pop the 6 values (3 each) from the stack at different times. The 6 values are distributed among the 2 receivers.&lt;/p&gt;



&lt;h3 id=&#34;example-cli&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/packages/001/#example-cli&#34;&gt;Example: CLI&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;The CLI can be used to produce the HDL code and the test bench for the stack. The following command produces the exact same file (bmsta.v) as the API example above.&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ bmstack -senders sender1,sender2,sender3 -receivers receiver1,receiver2 -hdl-file bmstack.v&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;To also produce the (same) test bench, the user can use the following command.&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ bmstack -senders sender1,sender2,sender3 -receivers receiver1,receiver2 -hdl-file bmstack.v -tb-file bmstack_tb.v -stimulus-file stimulus.json&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Where &lt;code&gt;stimulus.json&lt;/code&gt; is a JSON file that contains the test bench data. The JSON file has the following format.&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;Pops&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Agent&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;receiver1&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Tick&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;110&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Agent&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;receiver2&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Tick&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;160&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Agent&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;receiver1&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Tick&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;210&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Agent&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;receiver2&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Tick&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;260&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Agent&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;receiver1&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Tick&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;310&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Agent&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;receiver2&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Tick&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;360&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;Pushes&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Agent&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;sender1&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Tick&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;100&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Value&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;32&amp;#39;d1&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Agent&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;sender2&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Tick&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;150&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Value&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;32&amp;#39;d2&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Agent&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;sender3&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Tick&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;200&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Value&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;32&amp;#39;d3&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Agent&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;sender1&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Tick&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;250&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Value&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;32&amp;#39;d4&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Agent&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;sender2&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Tick&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;300&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Value&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;32&amp;#39;d5&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Agent&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;sender3&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Tick&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;350&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Value&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;32&amp;#39;d6&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;],&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;TestSequence&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;null&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The JSON file contains the same data as the test bench data in the API example above. The user can use the JSON file to provide his own test bench data to the CLI. With -random-stimulus the user can also generate random stimulus data for the test bench.
The CLI can be used to produce the HDL code and the test bench for a custom distributed stack/queue to use in other projects.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Warning&lt;/code&gt;: If the simulation prints a message like&lt;/p&gt;

  

&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Warning: impulse while request is active, the impulse will be ignored&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;it is due to the fact that the test bench data is not correct. Some pops/pushes are fired while the stack has already a request active from the same agent. In a real scenario, the agent would wait for the ack signal before sending another request.
The test bench provided in the example is correct.&lt;/p&gt;



&lt;h2 id=&#34;simulation&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/packages/001/#simulation&#34;&gt;Simulation&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Whether the HDL code is produced using the API or the CLI, the user can simulate the stack/queue using the provided test bench. The test bench is written in Verilog and can be simulated using any Verilog simulator. Here we provide an example using the Icarus Verilog simulator to run the simulation. The simulation produces a vcd file that can be viewed using gtkwave.&lt;/p&gt;
&lt;p&gt;Following the API example above, the user can simulate the stack using the following commands.&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ iverilog -o bmstack.vvp *.v
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ vvp bmstack.vvp
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;VCD info: dumpfile bmstack.vcd opened &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; output.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;stack_tb.v:142: &lt;span class=&#34;nv&#34;&gt;$finish&lt;/span&gt; called at &lt;span class=&#34;m&#34;&gt;1304000&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;1ps&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ gtkwave bmstack.vcd&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;&lt;img src=&#34;sim.png&#34; alt=&#34;Sim&#34;&gt;&lt;/p&gt;
&lt;p&gt;The simulation shows the stack in action. The stack is filled with 6 values and then the values are popped by the receivers. The values are distributed among the two receivers as expected. Alongside the values pushed and popped, the simulation also shows some internal signals of the stack.&lt;/p&gt;



&lt;h2 id=&#34;interface&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/packages/001/#interface&#34;&gt;Interface&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;To use the generated HDL code, the user needs to connect the stack/queue to the agents that send and receive data. The stack/queue has the following interface.&lt;/p&gt;



&lt;h3 id=&#34;senders&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/packages/001/#senders&#34;&gt;Senders&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;The senders need to connect the following signals to the stack/queue.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;clk&lt;/code&gt;: The clock signal&lt;/li&gt;
&lt;li&gt;&lt;code&gt;reset&lt;/code&gt;: The reset signal&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[sendername]Data&lt;/code&gt;: The data to be pushed to the stack/queue&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[sendername]Write&lt;/code&gt;: The write signal to push the data to the stack/queue&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[sendername]Ack&lt;/code&gt;: The acknowledge signal to confirm the data has been pushed to the stack/queue&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So, for example, if the user has a sender agent called sender1, the user needs to write the data to be pushed to the stack/queue in the &lt;code&gt;sender1Data&lt;/code&gt; signal, then set the &lt;code&gt;sender1Write&lt;/code&gt; signal to 1 to push the data to the stack/queue. The &lt;code&gt;sender1Ack&lt;/code&gt; signal will be set to 1 when the data has been pushed to the stack/queue.&lt;/p&gt;
&lt;p&gt;Sendername is the name of the sender agent chosen by the user.&lt;/p&gt;



&lt;h3 id=&#34;receivers&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/packages/001/#receivers&#34;&gt;Receivers&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Similarly, the receivers need to connect the following signals to the stack/queue.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;clk&lt;/code&gt;: The clock signal&lt;/li&gt;
&lt;li&gt;&lt;code&gt;reset&lt;/code&gt;: The reset signal&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[receivername]Data&lt;/code&gt;: The data to be popped from the stack/queue&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[receivername]Read&lt;/code&gt;: The read signal to pop the data from the stack/queue&lt;/li&gt;
&lt;li&gt;&lt;code&gt;[receivername]Ack&lt;/code&gt;: The acknowledge signal to confirm the data has been popped from the stack/queue&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So, for example, if the user has a receiver agent called receiver1, the user needs to set the &lt;code&gt;receiver1Read&lt;/code&gt; signal to 1 to pop the data from the stack/queue. The &lt;code&gt;receiver1Data&lt;/code&gt; signal will contain the data popped from the stack/queue. The &lt;code&gt;receiver1Ack&lt;/code&gt; signal will be set to 1 when the data has been popped from the stack/queue and is available in the &lt;code&gt;receiver1Data&lt;/code&gt; signal.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Bondgo</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/bondgo/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/bondgo/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;Bondgo&#34;&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>BondMachine Builder</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/bondmachine/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/bondmachine/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;BondMachine Builder&#34;&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>BondMachine to BASM</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/bm2basm/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/bm2basm/</guid>
      <description>&lt;hr&gt;
</description>
    </item>
    <item>
      <title>call</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/call/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/call/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;&lt;/p&gt;



&lt;h1 id=&#34;call&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/call/#call&#34;&gt;call&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;Instruction Group&lt;/strong&gt;: call&lt;/p&gt;
</description>
    </item>
    <item>
      <title>chc</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/chc/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/chc/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: chc&lt;/p&gt;
</description>
    </item>
    <item>
      <title>chw</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/chw/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/chw/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: chw&lt;/p&gt;
</description>
    </item>
    <item>
      <title>cil</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/cil/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/cil/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: cil&lt;/p&gt;
</description>
    </item>
    <item>
      <title>cilc</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/cilc/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/cilc/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: cilc&lt;/p&gt;
</description>
    </item>
    <item>
      <title>cir</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/cir/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/cir/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: cir&lt;/p&gt;
</description>
    </item>
    <item>
      <title>cirn</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/cirn/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/cirn/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: cirn&lt;/p&gt;
</description>
    </item>
    <item>
      <title>clc</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/clc/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/clc/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: clc&lt;/p&gt;
</description>
    </item>
    <item>
      <title>clr</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/clr/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/clr/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: clr&lt;/p&gt;
</description>
    </item>
    <item>
      <title>cmpr</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/cmpr/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/cmpr/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: cmpr&lt;/p&gt;
</description>
    </item>
    <item>
      <title>cmprlt</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/cmprlt/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/cmprlt/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: cmprlt&lt;/p&gt;
</description>
    </item>
    <item>
      <title>cmpv</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/cmpv/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/cmpv/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: cmpv&lt;/p&gt;
</description>
    </item>
    <item>
      <title>cpy</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/cpy/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/cpy/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: cpy&lt;/p&gt;
</description>
    </item>
    <item>
      <title>cset</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/cset/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/cset/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: cset&lt;/p&gt;
</description>
    </item>
    <item>
      <title>dec</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/dec/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/dec/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: dec&lt;/p&gt;
</description>
    </item>
    <item>
      <title>div</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/div/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/div/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: div&lt;/p&gt;
</description>
    </item>
    <item>
      <title>divf</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/divf/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/divf/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: divf&lt;/p&gt;
</description>
    </item>
    <item>
      <title>divf16</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/divf16/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/divf16/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: divf16&lt;/p&gt;
</description>
    </item>
    <item>
      <title>divp</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/divp/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/divp/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: divp&lt;/p&gt;
</description>
    </item>
    <item>
      <title>dpc</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/dpc/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/dpc/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: dpc&lt;/p&gt;
</description>
    </item>
    <item>
      <title>expf</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/expf/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/expf/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: expf&lt;/p&gt;
</description>
    </item>
    <item>
      <title>fixed</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/fixed/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/fixed/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>fixed_point</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/fixed_point/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/fixed_point/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;&lt;/p&gt;



&lt;h1 id=&#34;fixed_point&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/fixed_point/#fixed_point&#34;&gt;fixed_point&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;Instruction Group&lt;/strong&gt;: fixed_point&lt;/p&gt;
</description>
    </item>
    <item>
      <title>flopoco</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/flopoco/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/flopoco/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;&lt;/p&gt;



&lt;h1 id=&#34;flopoco&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/flopoco/#flopoco&#34;&gt;flopoco&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;Instruction Group&lt;/strong&gt;: flopoco&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Framework Installation</title>
      <link>https://bondmachinehq.github.io/docs/userguide/installation/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/installation/</guid>
      <description>&lt;hr&gt;



&lt;h2 id=&#34;binary&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/installation/#binary&#34;&gt;Binary&lt;/a&gt;
&lt;/h2&gt;



&lt;h3 id=&#34;pre-requisites&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/installation/#pre-requisites&#34;&gt;Pre-requisites&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;To use the BondMachine framework, you need to have the following tools installed on your system:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;curl&lt;/strong&gt;: to download the tools&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id=&#34;installation&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/installation/#installation&#34;&gt;Installation&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;To install the framework use the installer script downloadable from the web site. It contains all the tools and can be used on every system.&lt;/p&gt;
&lt;p&gt;To get the framework choose the directory where the binaries have to be installed. The directory has to be writable and inserted in the user&amp;rsquo;s $PATH. There is no need of superuser access but the user has to have the rights to use the specific FPGA tools and board programming.
Set the environment variable BONDMACHINE_DIR to point to this directory:&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;export BONDMACHINE_DIR=[the choosen directory]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;and execute the install script with the bash shell:&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;bash &amp;lt;(curl -fsSL https://bondmachinehq.github.io/installer/install)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;A similar uninstall script exists:&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;bash &amp;lt;(curl -fsSL https://bondmachinehq.github.io/installer/uninstall)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The install/uninstall script just copy/remove the framework executables, no other files are needed.&lt;/p&gt;
&lt;hr&gt;



&lt;h2 id=&#34;from-sources&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/installation/#from-sources&#34;&gt;From sources&lt;/a&gt;
&lt;/h2&gt;



&lt;h3 id=&#34;pre-requisites-1&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/installation/#pre-requisites-1&#34;&gt;Pre-requisites&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;If you want to compile the framework from sources, you need to install the following tools:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://golang.org&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Go&lt;/a&gt; (version 1.21 or higher) is needed to compile the framework. The go language is used to write the framework and to compile the tools.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://nodejs.org/en/&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Nodejs&lt;/a&gt; (version 16 or higher) is needed to compile the bmhelper tool. The bmhelper tool is used to assist the user in the creation of the BondMachine projects.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;SDL2 development libraries&lt;/strong&gt; are needed to compile the brvgasdl tool. The brvgasdl tool is used to simulate the BondMachine projects.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id=&#34;installation-1&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/installation/#installation-1&#34;&gt;Installation&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;The installation of the framework from sources is a two-step process. First, you need to compile the bmhelper tool, and then you need to compile the BondMachine framework.&lt;/p&gt;



&lt;h4 id=&#34;bmhelper&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/installation/#bmhelper&#34;&gt;bmhelper&lt;/a&gt;
&lt;/h4&gt;
&lt;p&gt;Clone the bmhelper repo at &lt;a href=&#34;https://github.com/BondMachineHQ/bmhelper&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;https://github.com/BondMachineHQ/bmhelper&lt;/a&gt; and compile the tool.&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;git clone https://github.com/BondMachineHQ/bmhelper.git
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Move within the newly create bmhelper directory and execute npm to install the dependencies and compile the tool.&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;cd bmhelper
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;npm i 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;npm run compile &amp;amp;&amp;amp; npm run build
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The bmhelper tool is now available in the pkg_out directory.&lt;/p&gt;



&lt;h4 id=&#34;bondmachine-framework&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/installation/#bondmachine-framework&#34;&gt;BondMachine framework&lt;/a&gt;
&lt;/h4&gt;
&lt;p&gt;Clone the main repo at &lt;a href=&#34;https://github.com/BondMachineHQ/BondMachine.git&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;https://github.com/BondMachineHQ/BondMachine.git&lt;/a&gt; and compile the tools.&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;git clone https://github.com/BondMachineHQ/BondMachine.git
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Move within the newly create BondMachine directory and execute make to build all the tools.&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;cd BondMachine/cmd ; make
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;hr&gt;



&lt;h2 id=&#34;environment&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/installation/#environment&#34;&gt;Environment&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The check that the framework is correctly installed and that all the needed tools are available, execute the command &lt;strong&gt;bmhelper doctor&lt;/strong&gt;. It should print an  output similar to the following:&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; bmhelper doctor
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          Mandatory dependency found: make
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          Mandatory dependency found: dot
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          Mandatory dependency found: curl
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          BondMachine tool basm found
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          BondMachine tool bmanalysis found
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          BondMachine tool bmnumbers found
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          BondMachine tool bmstack found
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          BondMachine tool bondgo found
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          BondMachine tool bondmachine found
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          BondMachine tool melbond found
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          BondMachine tool neuralbond found
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          BondMachine tool procbuilder found
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          BondMachine tool simbox found
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          All BondMachine tools has been found.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ WARNING ]     Optional tool found: vivado
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ WARNING ]     Optional tool found: icepack
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ WARNING ]     Optional tool not found: yosys
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ WARNING ]     Optional tool not found: quartus
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          Dependencies checked
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;If some of the prerequisites are missing, the framework will not work correctly. Install the missing ones according to the distro you are using and repeat the check.
The optional tools are needed only for specific boards, so if you don&amp;rsquo;t have the board, you can ignore the warning.
At this point the framework is ready to be used.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>hit</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/hit/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/hit/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: hit&lt;/p&gt;
</description>
    </item>
    <item>
      <title>hlt</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/hlt/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/hlt/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: hlt&lt;/p&gt;
</description>
    </item>
    <item>
      <title>i2r</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/i2r/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/i2r/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: i2r&lt;/p&gt;
</description>
    </item>
    <item>
      <title>i2rw</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/i2rw/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/i2rw/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: i2rw&lt;/p&gt;
</description>
    </item>
    <item>
      <title>inc</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/inc/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/inc/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: inc&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Length&lt;/strong&gt;: opBits + regBits&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Description&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;The INC instruction increments a register by 1. It assumes that the register is a positive integer and it will overflow to 0 if the maximum value is reached. The length of the register is defined by the architecture.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Snippet&lt;/strong&gt;:&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-asm&#34; data-lang=&#34;asm&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;section&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;code&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;.romtext&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nf&#34;&gt;entry&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;_start&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;; Entry point
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nl&#34;&gt;_start:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nf&#34;&gt;clr&lt;/span&gt;     &lt;span class=&#34;no&#34;&gt;r0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nl&#34;&gt;loop:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nf&#34;&gt;inc&lt;/span&gt;	&lt;span class=&#34;no&#34;&gt;r0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nf&#34;&gt;r2o&lt;/span&gt;	&lt;span class=&#34;no&#34;&gt;r0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;no&#34;&gt;o0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nf&#34;&gt;j&lt;/span&gt;	&lt;span class=&#34;no&#34;&gt;loop&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;endsection&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;meta&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;cpdef&lt;/span&gt;	&lt;span class=&#34;no&#34;&gt;cpu&lt;/span&gt;	&lt;span class=&#34;no&#34;&gt;romcode&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;code&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;ramsize&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;meta&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;ioatt&lt;/span&gt;     &lt;span class=&#34;no&#34;&gt;testio&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;cp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;cpu&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;index&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;no&#34;&gt;output&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;meta&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;ioatt&lt;/span&gt;     &lt;span class=&#34;no&#34;&gt;testio&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;cp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;bm&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;index&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;no&#34;&gt;output&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;meta&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;bmdef&lt;/span&gt;	&lt;span class=&#34;no&#34;&gt;global&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;registersize&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;8&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;INC example&lt;/p&gt;
</description>
    </item>
    <item>
      <title>incc</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/incc/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/incc/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: incc&lt;/p&gt;
</description>
    </item>
    <item>
      <title>j</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/j/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/j/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: j&lt;/p&gt;
</description>
    </item>
    <item>
      <title>ja</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/ja/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/ja/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: ja&lt;/p&gt;
</description>
    </item>
    <item>
      <title>jc</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jc/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jc/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: jc&lt;/p&gt;
</description>
    </item>
    <item>
      <title>jcmpa</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jcmpa/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jcmpa/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: jcmpa&lt;/p&gt;
</description>
    </item>
    <item>
      <title>jcmpl</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jcmpl/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jcmpl/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: jcmpl&lt;/p&gt;
</description>
    </item>
    <item>
      <title>jcmpo</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jcmpo/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jcmpo/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: jcmpo&lt;/p&gt;
</description>
    </item>
    <item>
      <title>jcmpria</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jcmpria/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jcmpria/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: jcmpria&lt;/p&gt;
</description>
    </item>
    <item>
      <title>jcmprio</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jcmprio/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jcmprio/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: jcmprio&lt;/p&gt;
</description>
    </item>
    <item>
      <title>je</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/je/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/je/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: je&lt;/p&gt;
</description>
    </item>
    <item>
      <title>jgt0f</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jgt0f/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jgt0f/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: jgt0f&lt;/p&gt;
</description>
    </item>
    <item>
      <title>jo</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jo/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jo/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: jo&lt;/p&gt;
</description>
    </item>
    <item>
      <title>jri</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jri/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jri/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: jri&lt;/p&gt;
</description>
    </item>
    <item>
      <title>jria</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jria/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jria/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: jria&lt;/p&gt;
</description>
    </item>
    <item>
      <title>jrio</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jrio/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jrio/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: jrio&lt;/p&gt;
</description>
    </item>
    <item>
      <title>jz</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jz/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/jz/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: jz&lt;/p&gt;
</description>
    </item>
    <item>
      <title>k2r</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/k2r/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/k2r/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: k2r&lt;/p&gt;
</description>
    </item>
    <item>
      <title>lfsr82r</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/lfsr82r/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/lfsr82r/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: lfsr82r&lt;/p&gt;
</description>
    </item>
    <item>
      <title>linear</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/linear/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/linear/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>linear_quantizer</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/linear_quantizer/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/linear_quantizer/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;&lt;/p&gt;



&lt;h1 id=&#34;linear_quantizer&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/linear_quantizer/#linear_quantizer&#34;&gt;linear_quantizer&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;Instruction Group&lt;/strong&gt;: linear_quantizer&lt;/p&gt;
</description>
    </item>
    <item>
      <title>m2r</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/m2r/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/m2r/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: m2r&lt;/p&gt;
</description>
    </item>
    <item>
      <title>m2rri</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/m2rri/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/m2rri/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: m2rri&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Machine Learning</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/ml/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/ml/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;Machine Learning&#34;&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Maxpool Generator</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/bmbuilder/docsmaxpool/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/bmbuilder/docsmaxpool/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
The maxpool generator is a generator that generates a maxpool layer in the neural network. The maxpool layer is a layer that is used to downsample the input data. It works by taking the maximum value of a set of values in a window and outputting that value. The maxpool layer is used to reduce the size of the input data, which can help to reduce the number of parameters in the network and speed up training.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>mod</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/mod/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/mod/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: mod&lt;/p&gt;
</description>
    </item>
    <item>
      <title>mulc</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/mulc/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/mulc/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: mulc&lt;/p&gt;
</description>
    </item>
    <item>
      <title>mult</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/mult/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/mult/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: mult&lt;/p&gt;
</description>
    </item>
    <item>
      <title>multf</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/multf/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/multf/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: multf&lt;/p&gt;
</description>
    </item>
    <item>
      <title>multf16</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/multf16/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/multf16/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: multf16&lt;/p&gt;
</description>
    </item>
    <item>
      <title>multp</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/multp/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/multp/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: multp&lt;/p&gt;
</description>
    </item>
    <item>
      <title>nand</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/nand/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/nand/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: nand&lt;/p&gt;
</description>
    </item>
    <item>
      <title>nop</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/nop/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/nop/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: nop&lt;/p&gt;
</description>
    </item>
    <item>
      <title>nor</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/nor/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/nor/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: nor&lt;/p&gt;
</description>
    </item>
    <item>
      <title>not</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/not/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/not/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: not&lt;/p&gt;
</description>
    </item>
    <item>
      <title>or</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/or/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/or/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: or&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Papers</title>
      <link>https://bondmachinehq.github.io/docs/papers/</link>
      <guid>https://bondmachinehq.github.io/docs/papers/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;This section contains all the technical information about the project in the form of papers and articles.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;2021 - &lt;a href=&#34;https://www.sciencedirect.com/science/article/pii/S0167819121001150&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Parallel Computing Article&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The article describes in detail the BondMachine project, its architecture, and the results obtained in the experiments. The article was published in the Parallel Computing journal.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;2019 - &lt;a href=&#34;https://cds.cern.ch/record/2708682&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;ISGC 2019 Conference paper&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This paper was presented at the ISGC 2019 conference in Taipei, Taiwan. It describes the early stages of the project used as a proof of concept for the FPGA-based Machine Learning Inference Engine.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;2018 - &lt;a href=&#34;img/design-paper-innovatefpga.pdf&#34;&gt;Innovate FPGA Design paper&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This paper was submitted to the Innovate FPGA Design contest in 2018. It describes the architecture of the BondMachine project in its early stages.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Processor Builder</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/procbuilder/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/procbuilder/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;The main purpose of the &lt;code&gt;procbuilder&lt;/code&gt; command is to provide a command-line interface for interacting with the &lt;code&gt;procbuilder&lt;/code&gt; package. The &lt;code&gt;procbuilder&lt;/code&gt; package is the library that contains the core functionality for building and interacting with a CP processor architecture. The command accepts various flags that control its behavior and perform different operations based on those flags. This document provides an overview of the command&amp;rsquo;s functionality, the flags it accepts, and the operations it performs based on those flags.&lt;/p&gt;
&lt;p&gt;This command performs various operations based on the provided flags. It can create a new CP, add instructions to the CP, assemble a program, disassemble a program and produce the HDL code for the CP.&lt;/p&gt;



&lt;h2 id=&#34;usage&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/procbuilder/#usage&#34;&gt;Usage&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The two main workflows for the &lt;code&gt;procbuilder&lt;/code&gt; command are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Loading an existing CP&lt;/strong&gt; and program from JSON files, inspecting the CP and program. Using the CP to generate HDL code.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Creating a new CP&lt;/strong&gt;, adding instructions to the CP, assembling a program, disassembling the program and saving the machine state to a JSON file&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id=&#34;loading-an-existing-cp-and-program&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/procbuilder/#loading-an-existing-cp-and-program&#34;&gt;Loading an Existing CP and Program&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The flag to load an existing CP and program is &lt;code&gt;load-machine&lt;/code&gt;. If this flag is set to a non-empty string, the command checks if a file with the specified name exists. If the file exists, the command reads the machine state from the file and initializes the CP and program with the read data. If any errors occur during file operations or JSON unmarshaling, the command panics.&lt;/p&gt;



&lt;h2 id=&#34;todo---finish-this-section&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/procbuilder/#todo---finish-this-section&#34;&gt;TODO - Finish this section&lt;/a&gt;
&lt;/h2&gt;



&lt;h2 id=&#34;creating-a-new-cp-and-program&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/procbuilder/#creating-a-new-cp-and-program&#34;&gt;Creating a New CP and Program&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The flags to create a new CP and program are &lt;code&gt;save-machine&lt;/code&gt;. It is used to save the machine state to a JSON file. If this flag is set to a non-empty string, the command saves the machine state to a JSON file with the specified name.&lt;/p&gt;



&lt;h2 id=&#34;todo---finish-this-section-1&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/procbuilder/#todo---finish-this-section-1&#34;&gt;TODO - Finish this section&lt;/a&gt;
&lt;/h2&gt;
</description>
    </item>
    <item>
      <title>Projects</title>
      <link>https://bondmachinehq.github.io/docs/userguide/projects/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/projects/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;A BondMachine project is a directory that contains all the necessary files to generate the firmware for a specific board.
The project is created with the &lt;strong&gt;bmhelper create&lt;/strong&gt; command line tool, which is installed with the BondMachine framework. It is configured using a Kconfig file, with commands similar to the Linux kernel (for example: make menuconfig). It is then validated and completed with the &lt;strong&gt;bmhelper validate&lt;/strong&gt; and &lt;strong&gt;bmhelper apply&lt;/strong&gt; commands.
Once the project is applied, it is possible to generate the firmware and make all the other operations with the &lt;strong&gt;make&lt;/strong&gt; command and several targets.&lt;/p&gt;



&lt;h2 id=&#34;project-workflow&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/projects/#project-workflow&#34;&gt;Project workflow&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The project workflow is divided into several steps:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;project creation&lt;/li&gt;
&lt;li&gt;project configuration&lt;/li&gt;
&lt;li&gt;project validation&lt;/li&gt;
&lt;li&gt;project apply&lt;/li&gt;
&lt;li&gt;make targets execution&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id=&#34;project-creation&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/projects/#project-creation&#34;&gt;Project creation&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;An enpty project can be created with the following command:&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bmhelper create --project_name project_test&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;This command will create a project with the name &lt;strong&gt;project_test&lt;/strong&gt; in the current directory. The project will be created with the default configuration. The default configuration is defined in the &lt;em&gt;bmhelper&lt;/em&gt; tool and can be changed with the &lt;em&gt;make menuconfig&lt;/em&gt; command (or any other command that can be used to configure the Kconfig file).&lt;/p&gt;
&lt;p&gt;Additionally, the &lt;strong&gt;bmhelper create&lt;/strong&gt; command can be used to create a project starting from a working example. To get the list of available examples, use the following command:&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bmhelper create --list-examples&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;To duplicate an example, use the following command:&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bmhelper create --project_name project_test --example example_name&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;where &lt;strong&gt;example_name&lt;/strong&gt; is the name of an example in the list of examples.&lt;/p&gt;



&lt;h3 id=&#34;project-configuration&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/projects/#project-configuration&#34;&gt;Project configuration&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;The project configuration is defined in the &lt;strong&gt;Kconfig&lt;/strong&gt; file. The &lt;strong&gt;Kconfig&lt;/strong&gt; file is a text file that defines the configuration possibilities of the project. It is similar to the &lt;strong&gt;Kconfig&lt;/strong&gt; file used in the Linux kernel. With a kconfig compatible tool the &lt;strong&gt;Kconfig&lt;/strong&gt; file can be used to generate the specific configuration.&lt;/p&gt;
&lt;p&gt;For example, the &lt;strong&gt;make menuconfig&lt;/strong&gt; command will open a menu that allows you to configure the project. The menu is similar to the menu used to configure the Linux kernel. The menu is divided into several sections. Each section contains a set of configuration. The details of each configuration are described in the help of the menu. The menu is used to configure the &lt;strong&gt;.config&lt;/strong&gt; file. The &lt;strong&gt;.config&lt;/strong&gt; file is used by the project Makefile to configure the project and carry out the operations.&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;make menuconfig&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;If preffered, it is possible to use a &lt;strong&gt;local.mk&lt;/strong&gt; file to configure the project. The &lt;strong&gt;local.mk&lt;/strong&gt; file is a text file that defines the configuration of the project directly specifying the variables. The project Makefile created by &lt;strong&gt;bmhelper&lt;/strong&gt; will either use the &lt;strong&gt;.config&lt;/strong&gt; file or the &lt;strong&gt;local.mk&lt;/strong&gt; file to configure the project. The &lt;strong&gt;.config&lt;/strong&gt; file has priority over the &lt;strong&gt;local.mk&lt;/strong&gt; file. The &lt;strong&gt;local.mk&lt;/strong&gt; file is useful when you want to configure the project with a script or with a tool that does not support the &lt;strong&gt;.config&lt;/strong&gt; file.&lt;/p&gt;
&lt;p&gt;Details on the configuration variables are described in the &lt;strong&gt;Configuration variables&lt;/strong&gt; section.&lt;/p&gt;



&lt;h3 id=&#34;project-validation&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/projects/#project-validation&#34;&gt;Project validation&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;The bmhelper tool can be used to validate the project configuration. The validation is performed with the following command:&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;make validate&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The validation process checks the configuration variables and the project files. For each one of them the following color codes are used:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;green&lt;/strong&gt; : the variable or file is present and valid&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;yellow&lt;/strong&gt; : the (optional) variable or file is not present&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;magenta&lt;/strong&gt; : the (mandatory) variable or file is not present but bmhelper can create it with default values&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;red&lt;/strong&gt; : the (mandatory) variable or file is either not present or invalid&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 id=&#34;project-apply&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/projects/#project-apply&#34;&gt;Project apply&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;The project configuration is applied with the following command:&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;make apply&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The apply process creates the project files and directories. The files and directories are created in the working directory. The working directory is defined by the &lt;strong&gt;WORKING_DIR&lt;/strong&gt; variable. The default working directory is the current directory.
For the items marked as &lt;strong&gt;magenta&lt;/strong&gt; in the validation process, the apply process will ask for confirmation before creating the file or directory with the default values. For the items marked as &lt;strong&gt;red&lt;/strong&gt; in the validation process, the apply process will fail.&lt;/p&gt;



&lt;h3 id=&#34;generic-targets&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/projects/#generic-targets&#34;&gt;Generic targets&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;After creating and appling a project, you can use the &lt;strong&gt;make&lt;/strong&gt; command to generate firmware and perform other operations. The &lt;strong&gt;make&lt;/strong&gt; command can be used with several targets. The targets are defined in the &lt;strong&gt;Makefile&lt;/strong&gt; file and are described in the following sections.&lt;/p&gt;
&lt;p&gt;The following targets are available for any type of project independently of the board/toolchain:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Command&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;make bondmachine&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Create the Bondmachine and all its connecting processors. Starting from the specific source file and source tool, the Bondmachine is created and save as JSON file.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;make clean&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Clean the project directory.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;make show&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Use graphviz to visualize the architecture generated.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;make hdl&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Generate the source HDL code (i.e. working_dir/bondmachine.sv, working_dir/bondmachine.vhd)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Staring from the &lt;strong&gt;hdl&lt;/strong&gt; target, several workflow are available depending on several factors like the board, the toolchain, the use as accelerator or as stand-alone project.&lt;/p&gt;



&lt;h3 id=&#34;stand-alone-workflow&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/projects/#stand-alone-workflow&#34;&gt;Stand-alone workflow&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Stand-alone projects only require the FPGA board to run.
The following targets are available for stand-alone projects:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Command&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;make synthesis&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Start the project synthesis&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;make implementation&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Start the project implementation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;make bitstream&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Start the project bitstream generation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;make program&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Program the board if connected&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;



&lt;h3 id=&#34;soc-accelerator-workflow&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/projects/#soc-accelerator-workflow&#34;&gt;SoC Accelerator workflow&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;SoC Accelerator projects require a board with a SoC
processor to run. The SoC processor is connected to the FPGA fabric and can be used to run the BondMachine. Examples of SoC processors are the ARM processors in the Zynq SoC or the Cyclone V SoC.&lt;/p&gt;
&lt;p&gt;The following targets are available for SoC accelerator projects:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Command&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;make design_synthesis&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Start the project synthesis&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;make design_implementation&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Start the project implementation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;make design_bitstream&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Start the project bitstream generation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;make kernel_module&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Create the kernel module which runs on custom buildroot linux distribution&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;make buildroot&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Create the custom buildroot linux sdcard-image&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;make deploy&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Deploy the bitstream, kernel module and eventually the application on the board&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;



&lt;h3 id=&#34;pcie-accelerator-workflow-xilinx&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/projects/#pcie-accelerator-workflow-xilinx&#34;&gt;PCie Accelerator workflow (Xilinx)&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;PCie Accelerator projects require a board with a PCie interface to run. The PCie interface is used to connect the FPGA to the host PC. The host PC can be used to run the BondMachine. Examples of PCie boards are the Xilinx Alveo boards.&lt;/p&gt;
&lt;p&gt;The following targets are available for PCie accelerator projects:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Command&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;make xclbin&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Create the xclbin file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;make deploy_xclbin&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Deploy the xclbin file and eventually the application on the host&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id=&#34;configuration-variables&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/projects/#configuration-variables&#34;&gt;Configuration variables&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Wether you are reading variables from the &lt;strong&gt;Kconfig&lt;/strong&gt; file or from the &lt;strong&gt;.mk&lt;/strong&gt; files, the syntax is the same. The following is the list of the most commonly used variables:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Variable&lt;/strong&gt;&lt;/th&gt;
&lt;th style=&#34;text-align:center&#34;&gt;&lt;strong&gt;type&lt;/strong&gt;&lt;/th&gt;
&lt;th style=&#34;text-align:right&#34;&gt;&lt;strong&gt;description&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ALTERA_BOARD_MAX1000&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;Board selection max1000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ALTERA_BOARD_DE0NANO&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;Board selection de0nano&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;BASM_DEBUG&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;boolean&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;enable or not debug of basm&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;BM_REGRESSION&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;missing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;BOARD&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;Board type&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;BOARDLESS_PROJECT&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;enable or not debug of basm&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;GENERAL_TYPE&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;general project type&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;GENERAL_TYPE_BOARDLESS&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;project without board&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;GENERAL_TYPE_BOARD&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;project with board&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;HDL_REGRESSION&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;filename&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;missing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;PROJECT_TYPE_BONDGO&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;BondGo project&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;PROJECT_TYPE_NEURALBOND&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;Neural Network project&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;PROJECT_TYPE_MELBOND&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;Melbond project&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;PROJECT_TYPE_BASM&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;sBASM project&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;PROJECT_TYPE_MULTI&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;Root project aggregator for multiple project&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;MULTI_TARGET&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;string&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;Target to exec in case of multiple projects&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;MULTI_TYPE&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;string&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;Type of aggregation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;MULTI_TEMPLATE_DIR&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;directory&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;directory of template to clone&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;MULTI_TEMPLATE_DESC&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;filename&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;multifilename description json file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;LATTICE_BOARD_ICE40LP1K&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Kconfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;Board selection Lattice ice40lp1k&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;LATTICE_BOARD_ICEFUN&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Kconfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;Board selection Lattice icefun&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;LATTICE_BOARD_ICEBREAKER&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Kconfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;Board selection Lattice icebreaker&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;LATTICE_BOARD_ICESUGARNANO&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Kconfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;Board selection Lattice icesugarnano&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SELECT_PROJECT_TYPE&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;select project type&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SELECT_TOOLCHAIN&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;select toolchain&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SELECT_XILINX_BOARD&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;select board&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;REGRESSION_TEST&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;missing description&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;REGRESSION_TEST_BM&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;missing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;REGRESSION_TEST_HDL&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;missing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;REGRESSION_TEST_SIM&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;missing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ROOTDIR&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;string&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;Directory storing the board-specific files&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SIM_REGRESSION&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;missing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SOURCE_GO&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;filename&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;bondgo source&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SOURCE_NEURALBOND&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;filename&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;neuralbond source file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SOURCE_MELBOND&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;filename&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;melnond source file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SOURCE_BASM&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;filenames&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;basm source file&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;TOOLCHAIN&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;string&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;FPGA tools&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;TOOLCHAIN_ALTERA&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Kconfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;select altera toolchain&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;TOOLCHAIN_LATTICE&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Kconfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;select lattice toolchain&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;TOOLCHAIN_XILINX&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Kconfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;select xilinx toolchain&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;UART_MAPFILE&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;filename&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;support for UART&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;UART_SUPPORT&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;boolean&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;support for UART&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;WORKING_DIR&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;directory&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;Working directory path&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;XILINX_BOARD_BASYS3&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;Kconfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;Board selection basys3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;XILINX_BOARD_ZEDBOARD&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;Board selection zedboard&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;XILINX_BOARD_ZC702&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;Board selection zc702&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;XILINX_BOARD_KC705&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;Board selection kc705&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;XILINX_BOARD_EBAZ4205&lt;/code&gt;&lt;/td&gt;
&lt;td style=&#34;text-align:center&#34;&gt;KConfig Only&lt;/td&gt;
&lt;td style=&#34;text-align:right&#34;&gt;Board selection ebaz4205&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</description>
    </item>
    <item>
      <title>q2r</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/q2r/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/q2r/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: q2r&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Quantum</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/quantum/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/quantum/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;bmqsim.png&#34; alt=&#34;bmqsim&#34;&gt;&lt;/p&gt;
&lt;p&gt;bmqsim is part of BondMachine project. It is a library and a CLI tool to produce HDL code and test benches to simulate a quantum computer on FPGA using the BondMachine architecture framework. It also provides a sotfware simulator to be used in a CPU.
The installation of bmqsim is part of the standard installation of BondMachine framework. Please refer to the &lt;a href=&#34;http://bondmachine.fisica.unipg.it/docs/#quickstart&#34;&gt;BondMachine quick start&lt;/a&gt; for the instructions.&lt;/p&gt;



&lt;h2 id=&#34;usage&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/quantum/#usage&#34;&gt;Usage&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;To use the bmqsim CLI tool, you have to choose two things: the backend and the quantum algorithm to simulate.
The backend creates target hardware architecture of a specific type and its flavor (the subtype as for example the &lt;code&gt;only real numbers&lt;/code&gt; or the &lt;code&gt;complex numbers&lt;/code&gt; flavor) if applicable.
The quantum algorithm is a file containing the quantum circuit to simulate. Let&amp;rsquo;s begin the latter.&lt;/p&gt;



&lt;h2 id=&#34;quantum-algorithm&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/quantum/#quantum-algorithm&#34;&gt;Quantum algorithm&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The quantum circuit is a file containing the quantum algorithm to simulate. The file is written in the the same format as the one used by the Basm assembler and has the bmq extension. The file is a sequence of instructions, each one in a line inserted in a &lt;strong&gt;block&lt;/strong&gt; section. To instruct the simulator, outside the block section, you can use the &lt;code&gt;%meta&lt;/code&gt; directive to specify the simulator metadata.&lt;/p&gt;
&lt;p&gt;The following is an example (&lt;em&gt;program.bmq&lt;/em&gt;) of a quantum algorithm file implementing the Bell state:&lt;/p&gt;

  

&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-bmq&#34; data-lang=&#34;bmq&#34;&gt;%block code1 .sequential
	qbits	q0,q1
	zero	q0,q1
	h	q0
	cx	q0,q1
%endblock

%meta bmdef global main:code1&lt;/code&gt;&lt;/pre&gt;



&lt;h2 id=&#34;backend&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/quantum/#backend&#34;&gt;Backend&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Once you have the quantum algorithm, you can choose the backend to use. The backend creates the target hardware architecture of a specific type and flavor.
The subsequent tables show the available backend and architectures types, their flavors and the relevant command line options:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Architecture type (backend)&lt;/th&gt;
&lt;th&gt;Command line option&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Flavors&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Software&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;--software-simulation&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Software simulator&lt;/td&gt;
&lt;td&gt;&lt;code&gt;None&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;MatrixSeqHardcoded&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;--build-matrix-seq-hardcoded&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Sequence of matrices hardcoded in the FPGA&lt;/td&gt;
&lt;td&gt;&lt;code&gt;seq_hardcoded_real&lt;/code&gt;, &lt;code&gt;seq_hardcoded_complex&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;MatrixSeq&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;--build-matrix-seq&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Sequence of matrices in the FPGA&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Not yet implemented&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;FullHardwareHardcoded&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;--build-full-hardware-hardcoded&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Full hardware with hardcoded matrices&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Not yet implemented&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Each architecture type is associated to a different set of command line options and activates a different simulator backend. Some of the options are common to all the backends, while others are specific to a single backend. The following sections describe the possible backends and the options.&lt;/p&gt;



&lt;h3 id=&#34;common-options&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/quantum/#common-options&#34;&gt;Common options&lt;/a&gt;
&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Option&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;-hw-flavor-list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;List the available flavors for the chosen hardware architecture.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;-hw-flavor&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Choose the flavor of the hardware architecture.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;-save-basm&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Save the BondMachine Assembly code for the Basm assembler.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;-build-app&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Build the application template to use the selected hardware architecture.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;-app-flavor-list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;List the available flavors for the chosen application template.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;-app-flavor&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Choose the flavor of the application template.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;-app-file&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Choose the file name of the application template.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;



&lt;h3 id=&#34;software-simulator&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/quantum/#software-simulator&#34;&gt;Software simulator&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;The software simulator backend is used to simulate the quantum algorithm on a CPU. The program accept a json input file and produces a json output file.
The following table shows the command line options specific to the software simulator:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Option&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;-software-simulation-input&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Choose the input file for the software simulator.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;-software-simulation-output&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Choose the output file for the software simulator.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;An example of usage of the software simulator with the Bell state algorithm previously described (&lt;em&gt;program.bmq&lt;/em&gt;) is the following:&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bmqsim --software-simulation --software-simulation-input input.json --software-simulation-output output.json program.bmq&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;where &lt;code&gt;input.json&lt;/code&gt;, the input file for the software simulator, is:&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;err&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Vector&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:[{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Real&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Imag&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Real&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Imag&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Real&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Imag&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Real&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Imag&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}]}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;and &lt;code&gt;output.json&lt;/code&gt;, the output file produced by the simulator, is:&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;err&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Vector&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:[{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Real&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;0.7071067&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Imag&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Real&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Imag&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Real&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Imag&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;},{&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Real&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;0.7071067&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;Imag&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}]}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3 id=&#34;hardcoded-sequence-of-matrices&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/quantum/#hardcoded-sequence-of-matrices&#34;&gt;Hardcoded sequence of matrices&lt;/a&gt;
&lt;/h3&gt;



&lt;h3 id=&#34;loadable-sequence-of-matrices&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/quantum/#loadable-sequence-of-matrices&#34;&gt;Loadable sequence of matrices&lt;/a&gt;
&lt;/h3&gt;



&lt;h3 id=&#34;full-hardware-with-hardcoded-matrices&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/quantum/#full-hardware-with-hardcoded-matrices&#34;&gt;Full hardware with hardcoded matrices&lt;/a&gt;
&lt;/h3&gt;



&lt;h2 id=&#34;other-options&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/quantum/#other-options&#34;&gt;Other options&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Alongside these main options, there are other options that does not depend on the backend chosen. These options are listed in the following table:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Option&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;/table&gt;



&lt;h2 id=&#34;examples&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/quantum/#examples&#34;&gt;Examples&lt;/a&gt;
&lt;/h2&gt;
</description>
    </item>
    <item>
      <title>Quickstart</title>
      <link>https://bondmachinehq.github.io/docs/quickstart/</link>
      <guid>https://bondmachinehq.github.io/docs/quickstart/</guid>
      <description>&lt;hr&gt;



&lt;h2 id=&#34;pre-requisites&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/quickstart/#pre-requisites&#34;&gt;Pre-requisites&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;To use the BondMachine framework, you need to have the following tools installed on your system:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;curl&lt;/strong&gt;: to download the tools and the examples&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id=&#34;installation&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/quickstart/#installation&#34;&gt;Installation&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;To install the framework use the installer script downloadable from the web site. It contains all the tools and can be used on every system.&lt;/p&gt;
&lt;p&gt;To get the framework choose the directory where the binaries have to be installed. The directory has to be writable and inserted in the user&amp;rsquo;s $PATH. There is no need of superuser access but the user has to have the rights to use the specific FPGA tools and board programming.
Set the environment variable BONDMACHINE_DIR to point to this directory:&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;export BONDMACHINE_DIR=[the choosen directory]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;and execute the install script with the bash shell:&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;bash &amp;lt;(curl -fsSL https://bondmachinehq.github.io/installer/install)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;A similar uninstall script exists:&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;bash &amp;lt;(curl -fsSL https://bondmachinehq.github.io/installer/uninstall)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The install/uninstall script just copy/remove the framework executables, no other files are needed.&lt;/p&gt;



&lt;h2 id=&#34;environment&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/quickstart/#environment&#34;&gt;Environment&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The check that the framework is correctly installed and that all the needed tools are available, execute the command &lt;strong&gt;bmhelper doctor&lt;/strong&gt;. It should print an  output similar to the following:&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;gp&#34;&gt;$&lt;/span&gt; bmhelper doctor
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          Mandatory dependency found: make
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          Mandatory dependency found: dot
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          Mandatory dependency found: curl
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          BondMachine tool basm found
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          BondMachine tool bmanalysis found
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          BondMachine tool bmnumbers found
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          BondMachine tool bmstack found
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          BondMachine tool bondgo found
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          BondMachine tool bondmachine found
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          BondMachine tool melbond found
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          BondMachine tool neuralbond found
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          BondMachine tool procbuilder found
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          BondMachine tool simbox found
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          All BondMachine tools has been found.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ WARNING ]     Optional tool found: vivado
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ WARNING ]     Optional tool found: icepack
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ WARNING ]     Optional tool not found: yosis
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ WARNING ]     Optional tool not found: quartus
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt; [ OK ]          Dependencies checked
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;If some of the prerequisites are missing, the framework will not work correctly. Install the missing ones according to the distro you are using and repeat the check.
The optional tools are needed only for specific boards, so if you don&amp;rsquo;t have the board, you can ignore the warning.&lt;/p&gt;



&lt;h2 id=&#34;basic-examples&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/quickstart/#basic-examples&#34;&gt;Basic examples&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;To test that framework is working correctly, clone the examples repository:&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;git clone https://github.com/BondMachineHQ/bmexamples
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;and move into the directory:&lt;/p&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-console&#34; data-lang=&#34;console&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;go&#34;&gt;cd bmexamples
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The directory contains a set of examples that can be used to test the framework.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>r2m</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/r2m/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/r2m/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: r2m&lt;/p&gt;
</description>
    </item>
    <item>
      <title>r2mri</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/r2mri/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/r2mri/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: r2mri&lt;/p&gt;
</description>
    </item>
    <item>
      <title>r2o</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/r2o/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/r2o/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: r2o&lt;/p&gt;
</description>
    </item>
    <item>
      <title>r2owa</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/r2owa/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/r2owa/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: r2owa&lt;/p&gt;
</description>
    </item>
    <item>
      <title>r2owaa</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/r2owaa/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/r2owaa/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: r2owaa&lt;/p&gt;
</description>
    </item>
    <item>
      <title>r2q</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/r2q/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/r2q/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: r2q&lt;/p&gt;
</description>
    </item>
    <item>
      <title>r2s</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/r2s/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/r2s/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: r2s&lt;/p&gt;
</description>
    </item>
    <item>
      <title>r2t</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/r2t/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/r2t/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: r2t&lt;/p&gt;
</description>
    </item>
    <item>
      <title>r2u</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/r2u/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/r2u/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: r2u&lt;/p&gt;
</description>
    </item>
    <item>
      <title>r2v</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/r2v/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/r2v/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: r2v&lt;/p&gt;
</description>
    </item>
    <item>
      <title>r2vri</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/r2vri/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/r2vri/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: r2vri&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Repositories</title>
      <link>https://bondmachinehq.github.io/docs/userguide/repositories/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/repositories/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;The BondMachine project source file are hosted on GitHub as the  &lt;a href=&#34;https://github.com/BondMachineHQ&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;BondMachineHQ organization&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The two most important repositories are the &lt;a href=&#34;https://github.com/BondMachineHQ/BondMachine&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;BondMachine repository&lt;/a&gt; that contains the project source code.&lt;/p&gt;
&lt;p&gt;And the &lt;a href=&#34;https://github.com/BondMachineHQ/bmexamples&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;Projects repository&lt;/a&gt; that contains tested examples of BondMachine that can be built for specific devices.&lt;/p&gt;
&lt;p&gt;Other public repositories are:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Repository&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/BondMachineHQ/BMBuildkit&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;BMBuildkit&lt;/a&gt;    &lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/BondMachineHQ/BMBuildkit-dagger&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;BMBuildkit-dagger&lt;/a&gt;    &lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/BondMachineHQ/BondMachineHQ.github.io&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;BondMachineHQ.github.io&lt;/a&gt;    &lt;/td&gt;
&lt;td&gt;Website code&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/BondMachineHQ/bmapiaximmtransceiver&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;bmapiaximmtransceiver&lt;/a&gt;    &lt;/td&gt;
&lt;td&gt;Transceiver-like module for AXI Memory Mapped BMAPI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/BondMachineHQ/bmapiuarttransceiver&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;bmapiuarttransceiver&lt;/a&gt;    &lt;/td&gt;
&lt;td&gt;Transceiver-like module for UART BMAPI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/BondMachineHQ/bmexamples&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;bmexamples&lt;/a&gt;    &lt;/td&gt;
&lt;td&gt;BondMachine examples, demos and tutorials&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/BondMachineHQ/bmhelper&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;bmhelper&lt;/a&gt;    &lt;/td&gt;
&lt;td&gt;A tool to help users in creating and configuring projects using the BondMachine framework&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/BondMachineHQ/bmmltests&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;bmmltests&lt;/a&gt;    &lt;/td&gt;
&lt;td&gt;Examples and tests for the machine learning tools with the BM. code to train, convert and handle ML models&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/BondMachineHQ/bmqsimtests&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;bmqsimtests&lt;/a&gt;    &lt;/td&gt;
&lt;td&gt;Examples and tests for the bmqsim quantum simulator. Comparison among other simulators and so on&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/BondMachineHQ/bmregressiondata&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;bmregressiondata&lt;/a&gt;    &lt;/td&gt;
&lt;td&gt;Regression tests data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/BondMachineHQ/bmresources&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;bmresources&lt;/a&gt;    &lt;/td&gt;
&lt;td&gt;Resources used by bmhelper internally&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/BondMachineHQ/bondmachine_ebaz4205_buildroot&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;bondmachine_ebaz4205_buildroot&lt;/a&gt;    &lt;/td&gt;
&lt;td&gt;BR2 directory for ebaz4205, the repo is not meant to be used directly. It is used internally by the BondMachine makefilles to create images with buildroot&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/BondMachineHQ/bondmachine_ebaz4205_buildroot_example&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;bondmachine_ebaz4205_buildroot_example&lt;/a&gt;    &lt;/td&gt;
&lt;td&gt;Buildroot on Ebaz4205. How to create from scratch a complete BondMachine accelerated buildroot image for the Ebaz4205 board&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/BondMachineHQ/bondmachine_zedboard_buildroot&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;bondmachine_zedboard_buildroot&lt;/a&gt;    &lt;/td&gt;
&lt;td&gt;BR2 directory for zedboard. the repo is not meant to be used directly. It is used internally by the BondMachine makefilles to create images with buildroot&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/BondMachineHQ/bondmachine_zedboard_buildroot_example&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;bondmachine_zedboard_buildroot_example&lt;/a&gt;    &lt;/td&gt;
&lt;td&gt;Buildroot on Zedboard. How to create from scratch a complete BondMachine accelerated buildroot image for the Zedboard&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/BondMachineHQ/kserve-bond-extension&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;kserve-bond-extension&lt;/a&gt;    &lt;/td&gt;
&lt;td&gt;Project that extends KServe predictors&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/BondMachineHQ/kserve-ui&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;kserve-ui&lt;/a&gt;    &lt;/td&gt;
&lt;td&gt;Dynamic KServe User Interface&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/BondMachineHQ/ml-ebaz4205&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;ml-ebaz4205&lt;/a&gt;    &lt;/td&gt;
&lt;td&gt;Machine Learning with HLS4ML and BM on ebaz4205&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/BondMachineHQ/ml-zedboard&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;ml-zedboard&lt;/a&gt;    &lt;/td&gt;
&lt;td&gt;Machine Learning with HLS4ML and BM on zedboard&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;https://github.com/BondMachineHQ/pybondmachine&#34; rel=&#34;noopener&#34; target=&#34;_blank&#34;&gt;pybondmachine&lt;/a&gt;    &lt;/td&gt;
&lt;td&gt;pybondmachine is the Python library designed to streamline the development of FPGA accelerators through the use of the BondMachine framework.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</description>
    </item>
    <item>
      <title>ro2r</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/ro2r/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/ro2r/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: ro2r&lt;/p&gt;
</description>
    </item>
    <item>
      <title>ro2rri</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/ro2rri/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/ro2rri/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: ro2rri&lt;/p&gt;
</description>
    </item>
    <item>
      <title>rsc</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/rsc/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/rsc/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: rsc&lt;/p&gt;
</description>
    </item>
    <item>
      <title>rset</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/rset/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/rset/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: rset&lt;/p&gt;
</description>
    </item>
    <item>
      <title>rsets</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/rsets/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/rsets/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;&lt;/p&gt;



&lt;h1 id=&#34;rsets&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/rsets/#rsets&#34;&gt;rsets&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;Instruction Group&lt;/strong&gt;: rsets&lt;/p&gt;
</description>
    </item>
    <item>
      <title>s2r</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/s2r/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/s2r/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: s2r&lt;/p&gt;
</description>
    </item>
    <item>
      <title>saj</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/saj/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/saj/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: saj&lt;/p&gt;
</description>
    </item>
    <item>
      <title>sbc</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/sbc/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/sbc/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: sbc&lt;/p&gt;
</description>
    </item>
    <item>
      <title>sic</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/sic/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/sic/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: sic&lt;/p&gt;
</description>
    </item>
    <item>
      <title>stack</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/stack/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/stack/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;&lt;/p&gt;



&lt;h1 id=&#34;stack&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/stack/#stack&#34;&gt;stack&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;Instruction Group&lt;/strong&gt;: stack&lt;/p&gt;
</description>
    </item>
    <item>
      <title>sub</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/sub/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/sub/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: sub&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Support Matrix</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/matrix/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/matrix/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
The following tables show the feature state in term of level of development for each instruction and instruction group.
For each of them the support of the features is shown.&lt;/p&gt;
&lt;p&gt;The features are the following:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;hdl&lt;/td&gt;
&lt;td&gt;The instruction can be translated to hardware description language&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;asm&lt;/td&gt;
&lt;td&gt;The instruction can be assembled by the assembler&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;disasm&lt;/td&gt;
&lt;td&gt;The instruction can be disassembled by the disassembler&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;hlasm&lt;/td&gt;
&lt;td&gt;The instruction can be assembled by the high-level assembler (Basm)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;asmmeta&lt;/td&gt;
&lt;td&gt;The instruction has metadata for the assembler&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;gosim&lt;/td&gt;
&lt;td&gt;The instruction can be simulated in the Go-based simulator&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;hdlsim&lt;/td&gt;
&lt;td&gt;The instruction can be simulated in the hardware description language simulator&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mt&lt;/td&gt;
&lt;td&gt;Instruction thread support&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The possible support values are shown below:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src=&#34;iconok.png&#34; alt=&#34;ok&#34;&gt;&lt;/td&gt;
&lt;td&gt;The feature is fully implemented&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src=&#34;iconno.png&#34; alt=&#34;no&#34;&gt;&lt;/td&gt;
&lt;td&gt;The feature is not yet implemented&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src=&#34;icontesting.png&#34; alt=&#34;testing&#34;&gt;&lt;/td&gt;
&lt;td&gt;The feature is being tested&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src=&#34;iconpartial.png&#34; alt=&#34;partial&#34;&gt;&lt;/td&gt;
&lt;td&gt;The feature is partially implemented&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src=&#34;iconnotapplicable.png&#34; alt=&#34;notapplicable&#34;&gt;&lt;/td&gt;
&lt;td&gt;The feature is not applicable to the instruction&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id=&#34;support-matrix-for-static-instructions&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/matrix/#support-matrix-for-static-instructions&#34;&gt;Support Matrix for Static Instructions&lt;/a&gt;
&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Instruction&lt;/th&gt;
&lt;th&gt;disasm&lt;/th&gt;
&lt;th&gt;gosim&lt;/th&gt;
&lt;th&gt;mt&lt;/th&gt;
&lt;th&gt;hlasm&lt;/th&gt;
&lt;th&gt;hdl&lt;/th&gt;
&lt;th&gt;asmeta&lt;/th&gt;
&lt;th&gt;asm&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../adc.md&#34;&gt;adc&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../add.md&#34;&gt;add&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../addf.md&#34;&gt;addf&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../addf16.md&#34;&gt;addf16&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../addi.md&#34;&gt;addi&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../addp.md&#34;&gt;addp&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../and.md&#34;&gt;and&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../chc.md&#34;&gt;chc&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../chw.md&#34;&gt;chw&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../cil.md&#34;&gt;cil&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../cilc.md&#34;&gt;cilc&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../cir.md&#34;&gt;cir&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../cirn.md&#34;&gt;cirn&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../clc.md&#34;&gt;clc&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../clr.md&#34;&gt;clr&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../cmpr.md&#34;&gt;cmpr&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../cmprlt.md&#34;&gt;cmprlt&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../cmpv.md&#34;&gt;cmpv&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../cpy.md&#34;&gt;cpy&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../cset.md&#34;&gt;cset&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../dec.md&#34;&gt;dec&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../div.md&#34;&gt;div&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../divf.md&#34;&gt;divf&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../divf16.md&#34;&gt;divf16&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../divp.md&#34;&gt;divp&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../dpc.md&#34;&gt;dpc&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../expf.md&#34;&gt;expf&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../hit.md&#34;&gt;hit&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../hlt.md&#34;&gt;hlt&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../i2r.md&#34;&gt;i2r&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../i2rw.md&#34;&gt;i2rw&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../inc.md&#34;&gt;inc&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&#34;iconok.png&#34; alt=&#34;ok&#34;&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&#34;iconok.png&#34; alt=&#34;ok&#34;&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&#34;iconok.png&#34; alt=&#34;ok&#34;&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&#34;iconok.png&#34; alt=&#34;ok&#34;&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&#34;iconok.png&#34; alt=&#34;ok&#34;&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&#34;iconok.png&#34; alt=&#34;ok&#34;&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&#34;iconok.png&#34; alt=&#34;ok&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../incc.md&#34;&gt;incc&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../j.md&#34;&gt;j&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../ja.md&#34;&gt;ja&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../jc.md&#34;&gt;jc&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../jcmpa.md&#34;&gt;jcmpa&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../jcmpl.md&#34;&gt;jcmpl&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../jcmpo.md&#34;&gt;jcmpo&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../jcmpria.md&#34;&gt;jcmpria&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../jcmprio.md&#34;&gt;jcmprio&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../je.md&#34;&gt;je&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../jgt0f.md&#34;&gt;jgt0f&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../jo.md&#34;&gt;jo&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../jri.md&#34;&gt;jri&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../jria.md&#34;&gt;jria&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../jrio.md&#34;&gt;jrio&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../jz.md&#34;&gt;jz&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../k2r.md&#34;&gt;k2r&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../lfsr82r.md&#34;&gt;lfsr82r&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../m2r.md&#34;&gt;m2r&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../m2rri.md&#34;&gt;m2rri&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../mod.md&#34;&gt;mod&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../mulc.md&#34;&gt;mulc&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../mult.md&#34;&gt;mult&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../multf.md&#34;&gt;multf&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../multf16.md&#34;&gt;multf16&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../multp.md&#34;&gt;multp&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../nand.md&#34;&gt;nand&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../nop.md&#34;&gt;nop&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../nor.md&#34;&gt;nor&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../not.md&#34;&gt;not&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../or.md&#34;&gt;or&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../q2r.md&#34;&gt;q2r&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../r2m.md&#34;&gt;r2m&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../r2mri.md&#34;&gt;r2mri&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../r2o.md&#34;&gt;r2o&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../r2owa.md&#34;&gt;r2owa&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../r2owaa.md&#34;&gt;r2owaa&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../r2q.md&#34;&gt;r2q&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../r2s.md&#34;&gt;r2s&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../r2t.md&#34;&gt;r2t&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../r2u.md&#34;&gt;r2u&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../r2v.md&#34;&gt;r2v&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../r2vri.md&#34;&gt;r2vri&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../ro2r.md&#34;&gt;ro2r&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../ro2rri.md&#34;&gt;ro2rri&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../rsc.md&#34;&gt;rsc&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../rset.md&#34;&gt;rset&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../s2r.md&#34;&gt;s2r&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../saj.md&#34;&gt;saj&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../sbc.md&#34;&gt;sbc&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../sic.md&#34;&gt;sic&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../sub.md&#34;&gt;sub&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../t2r.md&#34;&gt;t2r&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../tsp.md&#34;&gt;tsp&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../u2r.md&#34;&gt;u2r&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../wrd.md&#34;&gt;wrd&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../wwr.md&#34;&gt;wwr&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../xnor.md&#34;&gt;xnor&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../xor.md&#34;&gt;xor&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;



&lt;h2 id=&#34;support-matrix-for-dynamical-instructions&#34;&gt;
  &lt;a class=&#34;Heading-link u-clickable&#34; href=&#34;https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/matrix/#support-matrix-for-dynamical-instructions&#34;&gt;Support Matrix for Dynamical Instructions&lt;/a&gt;
&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Instruction&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../call.md&#34;&gt;call&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../fixed_point.md&#34;&gt;fixed_point&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../flopoco.md&#34;&gt;flopoco&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../linear_quantizer.md&#34;&gt;linear_quantizer&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../rsets.md&#34;&gt;rsets&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&#34;../stack.md&#34;&gt;stack&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</description>
    </item>
    <item>
      <title>t2r</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/t2r/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/t2r/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: t2r&lt;/p&gt;
</description>
    </item>
    <item>
      <title>The INC istruction</title>
      <link>https://bondmachinehq.github.io/docs/snippets/inc/</link>
      <guid>https://bondmachinehq.github.io/docs/snippets/inc/</guid>
      <description>&lt;hr&gt;

  

&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-asm&#34; data-lang=&#34;asm&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;section&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;code&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;.romtext&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nf&#34;&gt;entry&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;_start&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;; Entry point
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nl&#34;&gt;_start:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nf&#34;&gt;clr&lt;/span&gt;     &lt;span class=&#34;no&#34;&gt;r0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nl&#34;&gt;loop:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nf&#34;&gt;inc&lt;/span&gt;	&lt;span class=&#34;no&#34;&gt;r0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nf&#34;&gt;r2o&lt;/span&gt;	&lt;span class=&#34;no&#34;&gt;r0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;no&#34;&gt;o0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nf&#34;&gt;j&lt;/span&gt;	&lt;span class=&#34;no&#34;&gt;loop&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;endsection&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;meta&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;cpdef&lt;/span&gt;	&lt;span class=&#34;no&#34;&gt;cpu&lt;/span&gt;	&lt;span class=&#34;no&#34;&gt;romcode&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;code&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;ramsize&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;meta&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;ioatt&lt;/span&gt;     &lt;span class=&#34;no&#34;&gt;testio&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;cp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;cpu&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;index&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;no&#34;&gt;output&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;meta&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;ioatt&lt;/span&gt;     &lt;span class=&#34;no&#34;&gt;testio&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;cp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;bm&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;index&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;no&#34;&gt;output&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;nf&#34;&gt;meta&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;bmdef&lt;/span&gt;	&lt;span class=&#34;no&#34;&gt;global&lt;/span&gt; &lt;span class=&#34;no&#34;&gt;registersize&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;8&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;INC example&lt;/p&gt;
</description>
    </item>
    <item>
      <title>tsp</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/tsp/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/tsp/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: tsp&lt;/p&gt;
</description>
    </item>
    <item>
      <title>u2r</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/u2r/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/u2r/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: u2r&lt;/p&gt;
</description>
    </item>
    <item>
      <title>wrd</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/wrd/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/wrd/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: wrd&lt;/p&gt;
</description>
    </item>
    <item>
      <title>wwr</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/wwr/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/wwr/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: wwr&lt;/p&gt;
</description>
    </item>
    <item>
      <title>xnor</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/xnor/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/xnor/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: xnor&lt;/p&gt;
</description>
    </item>
    <item>
      <title>xor</title>
      <link>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/xor/</link>
      <guid>https://bondmachinehq.github.io/docs/userguide/tools/basm/reference/xor/</guid>
      <description>&lt;hr&gt;
&lt;p&gt;&lt;img src=&#34;https://bondmachinehq.github.io/img/wip.png&#34; alt=&#34;WIP&#34;&gt;
&lt;strong&gt;Instruction&lt;/strong&gt;: xor&lt;/p&gt;
</description>
    </item>
  </channel>
</rss>
