openFPGALoader/vendors/lattice.html

245 lines
12 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en" data-content_root="../">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Lattice notes &#8212; openFPGALoader: universal utility for programming FPGA latest documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=5ecbeea2" />
<link rel="stylesheet" type="text/css" href="../_static/basic.css?v=b08954a9" />
<link rel="stylesheet" type="text/css" href="../_static/alabaster.css?v=27fed22d" />
<script src="../_static/documentation_options.js?v=c6e86fd7"></script>
<script src="../_static/doctools.js?v=fd6eb6e6"></script>
<script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Xilinx notes" href="xilinx.html" />
<link rel="prev" title="Intel notes" href="intel.html" />
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
</head><body>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="lattice-notes">
<span id="lattice"></span><h1>Lattice notes<a class="headerlink" href="#lattice-notes" title="Link to this heading"></a></h1>
<section id="machxo2-machxo3">
<h2>MachXO2/MachXO3<a class="headerlink" href="#machxo2-machxo3" title="Link to this heading"></a></h2>
<section id="flash-memory">
<h3>Flash memory<a class="headerlink" href="#flash-memory" title="Link to this heading"></a></h3>
<p><code class="docutils literal notranslate"><span class="pre">.jed</span></code> file is the default format generated by <em>Lattice Diamond</em>, so nothing special must be done to generates this
file.</p>
<p>File load:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>openFPGALoader<span class="w"> </span><span class="o">[</span>-b<span class="w"> </span>yourboard<span class="o">]</span><span class="w"> </span><span class="o">[</span>--flash-sector<span class="w"> </span>CFG0<span class="o">]</span><span class="w"> </span>impl1/*.jed
</pre></div>
</div>
<p>where <code class="docutils literal notranslate"><span class="pre">yourboard</span></code> may be:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">machX02EVN</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">machX03EVN</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">machXO3SK</span></code></p></li>
</ul>
<p>and where <code class="docutils literal notranslate"><span class="pre">--flash-sector</span> <span class="pre">CFG0</span></code> is needed for the MachXO3D Breakout Board.</p>
<p><code class="docutils literal notranslate"><span class="pre">.bit</span></code> may also be used for <em>machXO2</em></p>
</section>
<section id="sram">
<h3>SRAM<a class="headerlink" href="#sram" title="Link to this heading"></a></h3>
<p>To generates <code class="docutils literal notranslate"><span class="pre">.bit</span></code> file <em>Bitstream file</em> must be checked under <em>Exports Files</em> in <em>Lattice Diamond</em> left panel.</p>
<p>File load:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>openFPGALoader<span class="w"> </span><span class="o">[</span>-b<span class="w"> </span>yourboard<span class="o">]</span><span class="w"> </span>impl1/*.bit
</pre></div>
</div>
<p>where <code class="docutils literal notranslate"><span class="pre">yourboard</span></code> may be:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">machX02EVN</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">machX03EVN</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">machXO3SK</span></code></p></li>
</ul>
</section>
</section>
<section id="ice40">
<h2>iCE40<a class="headerlink" href="#ice40" title="Link to this heading"></a></h2>
<p><code class="docutils literal notranslate"><span class="pre">.bin</span></code> is the default format generated by <em>nextpnr</em>, so nothing special must be done.</p>
<p>Since most ice40 boards uses the same pinout between <em>FTDI</em> and <em>SPI flash</em> a generic <em>ice40_generic</em> board is provided.</p>
<p>For the specific case of the <em>iCE40HXXK-EVB</em> where no onboard programmer is present, please use this:</p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>FTDI</p></th>
<th class="head"><p>iCE40HXXK-EVB</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>SI (ADBUS1)</p></td>
<td><p>Pin 8</p></td>
</tr>
<tr class="row-odd"><td><p>SCK (ADBUS0)</p></td>
<td><p>Pin 9</p></td>
</tr>
<tr class="row-even"><td><p>SO (ADBUS2)</p></td>
<td><p>Pin 7</p></td>
</tr>
<tr class="row-odd"><td><p>CS (ABDUS4)</p></td>
<td><p>Pin 10</p></td>
</tr>
<tr class="row-even"><td><p>RST (ADBUS6</p></td>
<td><p>Pin 6</p></td>
</tr>
<tr class="row-odd"><td><p>DONE (ADBUS7)</p></td>
<td><p>Pin 5</p></td>
</tr>
</tbody>
</table>
<p>Bin file load:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>openFPGALoader<span class="w"> </span>-b<span class="w"> </span>ice40_generic<span class="w"> </span>/somewhere/*.bin
</pre></div>
</div>
<p>Since its a direct access to the flash (SPI) the <code class="docutils literal notranslate"><span class="pre">-b</span></code> option is required.</p>
</section>
<section id="ecp5-ecp3-certus-nx-certuspro-nx-crosslink-nx">
<h2>ECP5/ECP3/Certus-NX/CertusPro-NX/Crosslink-NX<a class="headerlink" href="#ecp5-ecp3-certus-nx-certuspro-nx-crosslink-nx" title="Link to this heading"></a></h2>
<section id="id1">
<h3>SRAM<a class="headerlink" href="#id1" title="Link to this heading"></a></h3>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>openFPGALoader<span class="w"> </span><span class="o">[</span>-b<span class="w"> </span>yourBoard<span class="o">]</span><span class="w"> </span><span class="o">[</span>-c<span class="w"> </span>yourCable<span class="o">]</span><span class="w"> </span>-m<span class="w"> </span>project_name/*.bit
</pre></div>
</div>
<div class="admonition hint">
<p class="admonition-title">Hint</p>
<p>By default, openFPGALoader loads bitstream in memory, so the <code class="docutils literal notranslate"><span class="pre">-m</span></code> argument is optional.</p>
</div>
</section>
<section id="spi-flash">
<h3>SPI Flash<a class="headerlink" href="#spi-flash" title="Link to this heading"></a></h3>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>SPI Flash write is not supported for ECP3 family.</p>
</div>
<p>BIT:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>openFPGALoader<span class="w"> </span><span class="o">[</span>-b<span class="w"> </span>yourBoard<span class="o">]</span><span class="w"> </span><span class="o">[</span>-c<span class="w"> </span>yourCable<span class="o">]</span><span class="w"> </span>-f<span class="w"> </span>project_name/*.bit<span class="w"> </span><span class="c1"># or *.bin</span>
</pre></div>
</div>
<p>MCS:</p>
<p>To generate <code class="docutils literal notranslate"><span class="pre">.mcs</span></code> file <em>PROM File</em> must be checked under <em>Exports Files</em> in <em>Lattice Diamond</em> left panel.</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>openFPGALoader<span class="w"> </span><span class="o">[</span>-b<span class="w"> </span>yourBoard<span class="o">]</span><span class="w"> </span><span class="o">[</span>-c<span class="w"> </span>yourCable<span class="o">]</span><span class="w"> </span>project_name/*.mcs
</pre></div>
</div>
</section>
</section>
</section>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="Main">
<div class="sphinxsidebarwrapper">
<h1 class="logo"><a href="../index.html">openFPGALoader: universal utility for programming FPGA</a></h1>
<search id="searchbox" style="display: none" role="search">
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" placeholder="Search"/>
<input type="submit" value="Go" />
</form>
</div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script><h3>Navigation</h3>
<p class="caption" role="heading"><span class="caption-text">User Guide</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../guide/first-steps.html">First steps with openFPGALoader</a></li>
<li class="toctree-l1"><a class="reference internal" href="../guide/install.html">Installing openFPGALoader</a></li>
<li class="toctree-l1"><a class="reference internal" href="../guide/troubleshooting.html">Troubleshooting Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../guide/advanced.html">Advanced usage of openFPGALoader</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Compatibility</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../compatibility/fpga.html">FPGAs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../compatibility/board.html">Boards</a></li>
<li class="toctree-l1"><a class="reference internal" href="../compatibility/cable.html">Cables</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Vendors</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="anlogic.html">Anlogic notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="colognechip.html">Cologne Chip notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="efinix.html">Efinix notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="gowin.html">Gowin notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="intel.html">Intel notes</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Lattice notes</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#machxo2-machxo3">MachXO2/MachXO3</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#flash-memory">Flash memory</a></li>
<li class="toctree-l3"><a class="reference internal" href="#sram">SRAM</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#ice40">iCE40</a></li>
<li class="toctree-l2"><a class="reference internal" href="#ecp5-ecp3-certus-nx-certuspro-nx-crosslink-nx">ECP5/ECP3/Certus-NX/CertusPro-NX/Crosslink-NX</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#id1">SRAM</a></li>
<li class="toctree-l3"><a class="reference internal" href="#spi-flash">SPI Flash</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="xilinx.html">Xilinx notes</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Development</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../todo.html">To Do</a></li>
</ul>
<div class="relations">
<h3>Related Topics</h3>
<ul>
<li><a href="../index.html">Documentation overview</a><ul>
<li>Previous: <a href="intel.html" title="previous chapter">Intel notes</a></li>
<li>Next: <a href="xilinx.html" title="next chapter">Xilinx notes</a></li>
</ul></li>
</ul>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="footer">
&#169;2019-2022, Gwenhael Goavec-Merou and contributors.
|
Powered by <a href="https://www.sphinx-doc.org/">Sphinx 9.1.0</a>
&amp; <a href="https://alabaster.readthedocs.io">Alabaster 1.0.0</a>
|
<a href="../_sources/vendors/lattice.rst.txt"
rel="nofollow">Page source</a>
</div>
</body>
</html>