{"id":1238,"date":"2019-12-09T11:12:37","date_gmt":"2019-12-09T10:12:37","guid":{"rendered":"http:\/\/www.fabienm.eu\/flf\/?p=1238"},"modified":"2019-12-09T14:45:33","modified_gmt":"2019-12-09T13:45:33","slug":"one-program-to-configure-them-all","status":"publish","type":"post","link":"http:\/\/www.fabienm.eu\/flf\/one-program-to-configure-them-all\/","title":{"rendered":"openFPGALoader: One program to configure them all."},"content":{"rendered":"\n<p><a href=\"https:\/\/github.com\/trabucayre\/openFPGALoader\">openFPGALoader<\/a> is an open source C++ utility prog used to program\/configure FPGA. <\/p>\n\n\n\n<p>The goal of this project is to have one command line program to configure all types of FPGA regardless of probe or development kit is used.<\/p>\n\n\n\n<p>For the moment the following FPGA are supported :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li> Gowin <a href=\"https:\/\/www.gowinsemi.com\/en\/product\/detail\/2\/\">GW1N (GW1NR-9)<\/a> (SRAM only)<\/li><li> Lattice <a href=\"http:\/\/www.latticesemi.com\/en\/Products\/FPGAandCPLD\/MachXO3.aspx\">MachXO3LF<\/a><\/li><li> Xilinx Artix 7 <a href=\"https:\/\/www.xilinx.com\/products\/silicon-devices\/fpga\/artix-7.html\">xc7a35ti<\/a> (memory and spi flash)<\/li><li> Intel Cyclone 10 LP <a href=\"https:\/\/www.intel.com\/content\/www\/us\/en\/products\/programmable\/fpga\/cyclone-10.html\">10CL025<\/a> <\/li><\/ul>\n\n\n\n<p>But the project is growing fast, no doubt that other FPGA will be supported soon.<\/p>\n\n\n\n<p>Not only it&rsquo;s easier to use than GUI, but it really fastest. With a MachXO3 6900 and digilent HS3 probe it take about <strong>10 seconds<\/strong> on my computer :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ time openFPGALoader -cdigilent_hs3 bitstream.jed\nOpen file bitstream.jed DONE\nParse file DONE\nEnable configuration: DONE\nSRAM erase: DONE\nEnable configuration: DONE\nFlash erase: DONE\nWriting: &#91;==================================================] 100.000000%\nDone\nVerifying: &#91;==================================================] 100.000000%\nDone\nWrite program Done: DONE\nDisable configuration: DONE\nRefresh: DONE\n\nreal\t0m10,274s\nuser\t0m0,728s\nsys\t0m1,676s\n<\/code><\/pre>\n\n\n\n<p>With official lattice diamond programer it take me <strong>50 seconds<\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>openFPGALoader is an open source C++ utility prog used to program\/configure FPGA. The goal of this project is to have one command line program to configure all types of FPGA regardless of probe or development kit is used. For the moment the following FPGA are supported : Gowin GW1N (GW1NR-9) (SRAM only) Lattice MachXO3LF Xilinx &hellip; <a href=\"http:\/\/www.fabienm.eu\/flf\/one-program-to-configure-them-all\/\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">openFPGALoader: One program to configure them all.<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","footnotes":""},"categories":[15,9],"tags":[158],"class_list":["post-1238","post","type-post","status-publish","format-standard","hentry","category-bitstream","category-outils","tag-openfpgaloader"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false,"post-thumbnail":false},"uagb_author_info":{"display_name":"Fabien Marteau","author_link":"http:\/\/www.fabienm.eu\/flf\/author\/admin\/"},"uagb_comment_info":0,"uagb_excerpt":"openFPGALoader is an open source C++ utility prog used to program\/configure FPGA. The goal of this project is to have one command line program to configure all types of FPGA regardless of probe or development kit is used. For the moment the following FPGA are supported : Gowin GW1N (GW1NR-9) (SRAM only) Lattice MachXO3LF Xilinx\u2026","_links":{"self":[{"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/posts\/1238","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/comments?post=1238"}],"version-history":[{"count":5,"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/posts\/1238\/revisions"}],"predecessor-version":[{"id":1244,"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/posts\/1238\/revisions\/1244"}],"wp:attachment":[{"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/media?parent=1238"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/categories?post=1238"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/tags?post=1238"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}