2026-02-12 16:26:28 +00:00
<!DOCTYPE html>
2026-02-16 10:10:48 +00:00
< 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 > Gowin notes — 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 >
2026-02-12 16:26:28 +00:00
< link rel = "index" title = "Index" href = "../genindex.html" />
< link rel = "search" title = "Search" href = "../search.html" />
< link rel = "next" title = "Intel notes" href = "intel.html" />
2026-02-16 10:10:48 +00:00
< link rel = "prev" title = "Efinix notes" href = "efinix.html" />
< link rel = "stylesheet" href = "../_static/custom.css" type = "text/css" />
2026-02-12 16:26:28 +00:00
2026-02-16 10:10:48 +00:00
2026-02-12 16:26:28 +00:00
2026-02-16 10:10:48 +00:00
</ head >< body >
2026-02-12 16:26:28 +00:00
2026-02-16 10:10:48 +00:00
< div class = "document" >
< div class = "documentwrapper" >
< div class = "bodywrapper" >
2026-02-12 16:26:28 +00:00
2026-02-16 10:10:48 +00:00
< div class = "body" role = "main" >
2026-02-12 16:26:28 +00:00
< section id = "gowin-notes" >
< span id = "gowin" ></ span >< h1 > Gowin notes< a class = "headerlink" href = "#gowin-notes" title = "Link to this heading" > ¶</ a ></ h1 >
< section id = "gowin-gw1n" >
< h2 > GOWIN GW1N< a class = "headerlink" href = "#gowin-gw1n" title = "Link to this heading" > ¶</ a ></ h2 >
< div class = "admonition note" >
< p class = "admonition-title" > Note</ p >
< ul class = "simple" >
< li >< p > Trenz TEC0117</ p ></ li >
< li >< p > Sipeed Tang Nano</ p ></ li >
< li >< p > Sipeed Tang Nano 4K</ p ></ li >
< li >< p > Honeycomb</ p ></ li >
< li >< p > RUNBER</ p ></ li >
2026-05-13 08:58:04 +00:00
< li >< p > BrisbaneSilicon BRS-100-GW1NR9</ p ></ li >
2026-02-12 16:26:28 +00:00
</ ul >
</ div >
< p >< code class = "docutils literal notranslate" >< span class = "pre" > .fs</ span ></ code > file is the default format generated by < em > Gowin IDE</ em > , so nothing special must be done to generates this file.</ p >
< p > Since the same file is used for SRAM and Flash a CLI argument is used to specify the destination.</ p >
< section id = "flash-sram" >
< h3 > Flash SRAM< a class = "headerlink" href = "#flash-sram" title = "Link to this heading" > ¶</ a ></ h3 >
< p > with < code class = "docutils literal notranslate" >< span class = "pre" > -m</ span ></ code > :</ p >
< div class = "highlight-bash notranslate" >< div class = "highlight" >< pre >< span ></ span > openFPGALoader< span class = "w" > </ span > -m< span class = "w" > </ span > -b< span class = "w" > </ span > BOARD_NAME< span class = "w" > </ span > impl/pnr/*.fs
</ pre ></ div >
</ div >
< p > where < code class = "docutils literal notranslate" >< span class = "pre" > BOARD_NAME</ span ></ code > is:</ p >
< ul class = "simple" >
< li >< p >< code class = "docutils literal notranslate" >< span class = "pre" > tec0117</ span ></ code ></ p ></ li >
< li >< p >< code class = "docutils literal notranslate" >< span class = "pre" > tangnano</ span ></ code ></ p ></ li >
< li >< p >< code class = "docutils literal notranslate" >< span class = "pre" > tangnano1k</ span ></ code ></ p ></ li >
< li >< p >< code class = "docutils literal notranslate" >< span class = "pre" > tangnano4k</ span ></ code ></ p ></ li >
< li >< p >< code class = "docutils literal notranslate" >< span class = "pre" > tangnano9k</ span ></ code ></ p ></ li >
< li >< p >< code class = "docutils literal notranslate" >< span class = "pre" > tangnano20k</ span ></ code ></ p ></ li >
< li >< p >< code class = "docutils literal notranslate" >< span class = "pre" > tangprimer20k</ span ></ code ></ p ></ li >
< li >< p >< code class = "docutils literal notranslate" >< span class = "pre" > runber</ span ></ code ></ p ></ li >
2026-05-13 08:58:04 +00:00
< li >< p >< code class = "docutils literal notranslate" >< span class = "pre" > brs-100-gw1nr9</ span ></ code ></ p ></ li >
2026-02-12 16:26:28 +00:00
</ ul >
</ section >
< section id = "flash" >
< h3 > Flash< a class = "headerlink" href = "#flash" title = "Link to this heading" > ¶</ a ></ h3 >
< div class = "admonition attention" >
< p class = "admonition-title" > Attention</ p >
2026-05-13 08:58:04 +00:00
< p > Only with Trenz TEC0117, runber and brs-100-gw1nr9.</ p >
2026-02-12 16:26:28 +00:00
</ div >
< p > with < code class = "docutils literal notranslate" >< span class = "pre" > -f</ span ></ code > , file load:</ p >
< div class = "highlight-bash notranslate" >< div class = "highlight" >< pre >< span ></ span > openFPGALoader< span class = "w" > </ span > -f< span class = "w" > </ span > -b< span class = "w" > </ span > BOARD_NAME< span class = "w" > </ span > impl/pnr/*.fs
</ pre ></ div >
</ div >
< p > where < code class = "docutils literal notranslate" >< span class = "pre" > BOARD_NAME</ span ></ code > is:</ p >
< ul class = "simple" >
< li >< p >< code class = "docutils literal notranslate" >< span class = "pre" > tec0117</ span ></ code ></ p ></ li >
< li >< p >< code class = "docutils literal notranslate" >< span class = "pre" > runber</ span ></ code ></ p ></ li >
2026-05-13 08:58:04 +00:00
< li >< p >< code class = "docutils literal notranslate" >< span class = "pre" > brs-100-gw1nr9</ span ></ code ></ p ></ li >
2026-02-12 16:26:28 +00:00
</ ul >
< p > It’ s possible to flash external SPI Flash (connected to MSPI) in bscan mode by using < code class = "docutils literal notranslate" >< span class = "pre" > --external-flash</ span ></ code > instead of
< code class = "docutils literal notranslate" >< span class = "pre" > -f</ span ></ code > .</ p >
< div class = "admonition note" >
< p class = "admonition-title" > Note</ p >
< p > Gowin’ s FPGA may fails to be detected if < strong > JTAGSEL_N</ strong > (pin 08 for < em > GW1N-4K</ em > ) is used as a GPIO.
To recover you have to pull down this pin (before power up) to recover JTAG interface (< em > UG292 - JTAGSELL_N section</ em > ).</ p >
</ div >
</ section >
< section id = "user-flash" >
< h3 > User Flash< a class = "headerlink" href = "#user-flash" title = "Link to this heading" > ¶</ a ></ h3 >
< div class = "admonition attention" >
< p class = "admonition-title" > Attention</ p >
< p > User Flash support is based on reverse engineering of the JTAG protocol. This functionality should be considered
experimental as it hasn’ t been thoroughly tested, and may in some circumstances destroy your device.</ p >
</ div >
< p > Gowin FPGA come with extra flash space that can be read and written from the programmable logic (“User Flash”). This
flash section can also be programmed via the JTAG interface:</ p >
< div class = "highlight-bash notranslate" >< div class = "highlight" >< pre >< span ></ span > openFPGALoader< span class = "w" > </ span > --write-flash< span class = "w" > </ span > /path/to/bitstream.fs< span class = "w" > </ span > --user-flash< span class = "w" > </ span > /path/to/flash.bin
</ pre ></ div >
</ div >
</ section >
</ section >
</ section >
</ div >
2026-02-16 10:10:48 +00:00
</ 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 >
2026-02-12 16:26:28 +00:00
</ div >
2026-02-16 10:10:48 +00:00
</ 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 >
2026-02-16 14:31:48 +00:00
< li class = "toctree-l1" >< a class = "reference internal" href = "../guide/troubleshooting.html" > Troubleshooting</ a ></ li >
2026-02-16 10:10:48 +00:00
< 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 current" >< a class = "current reference internal" href = "#" > Gowin notes</ a >< ul >
< li class = "toctree-l2" >< a class = "reference internal" href = "#gowin-gw1n" > GOWIN GW1N</ a >< ul >
< li class = "toctree-l3" >< a class = "reference internal" href = "#flash-sram" > Flash SRAM</ a ></ li >
< li class = "toctree-l3" >< a class = "reference internal" href = "#flash" > Flash</ a ></ li >
< li class = "toctree-l3" >< a class = "reference internal" href = "#user-flash" > User Flash</ a ></ li >
</ ul >
</ li >
</ ul >
</ li >
< li class = "toctree-l1" >< a class = "reference internal" href = "intel.html" > Intel notes</ a ></ li >
< li class = "toctree-l1" >< a class = "reference internal" href = "lattice.html" > Lattice notes</ a ></ 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 = "efinix.html" title = "previous chapter" > Efinix notes</ a ></ li >
< li > Next: < a href = "intel.html" title = "next chapter" > Intel notes</ a ></ li >
</ ul ></ li >
</ ul >
</ div >
2026-02-12 16:26:28 +00:00
</ div >
</ div >
2026-02-16 10:10:48 +00:00
< div class = "clearer" ></ div >
</ div >
< div class = "footer" >
© 2019-2022, Gwenhael Goavec-Merou and contributors.
|
Powered by < a href = "https://www.sphinx-doc.org/" > Sphinx 9.1.0</ a >
& < a href = "https://alabaster.readthedocs.io" > Alabaster 1.0.0</ a >
|
< a href = "../_sources/vendors/gowin.rst.txt"
rel = "nofollow" > Page source</ a >
</ div >
</ body >
2026-02-12 16:26:28 +00:00
</ html >