{"id":2092,"date":"2022-06-22T20:52:48","date_gmt":"2022-06-22T19:52:48","guid":{"rendered":"http:\/\/www.fabienm.eu\/flf\/?p=2092"},"modified":"2022-06-22T20:52:49","modified_gmt":"2022-06-22T19:52:49","slug":"rapidsilicon-va-t-elle-renverser-la-table","status":"publish","type":"post","link":"http:\/\/www.fabienm.eu\/flf\/rapidsilicon-va-t-elle-renverser-la-table\/","title":{"rendered":"RapidSilicon va-t-elle renverser la table ?"},"content":{"rendered":"\n<p>Le <a href=\"http:\/\/www.fabienm.eu\/flf\/\">FLF<\/a>\u00a0a \u00e9t\u00e9 fond\u00e9 a une \u00e9poque obscure o\u00f9 il n&rsquo;existait (quasiment) pas de solution open-source pour travailler sur des FPGA. Seul un petit village d\u2019irr\u00e9ductibles simulateurs comme <a href=\"http:\/\/iverilog.icarus.com\/home\">icarus<\/a>, <a href=\"https:\/\/ghdl.github.io\/ghdl\/\">ghdl<\/a> ou <a href=\"https:\/\/www.veripool.org\/verilator\/\">verilator<\/a> maintenaient un semblant de libert\u00e9 dans cet oc\u00e9an de sombre verrouillage. Il y avait bien <a href=\"https:\/\/docs.verilogtorouting.org\/en\/latest\/vtr\/cad_flow\/\">VTR<\/a>  et <a href=\"https:\/\/www-soc.lip6.fr\/equipe-cian\/logiciels\/alliance\/\">Alliance<\/a>, mais ils restaient tr\u00e8s universitaire et un peu trop centr\u00e9 sur les <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Application-specific_integrated_circuit\">ASIC<\/a>.<\/p>\n\n\n\n<p>Puis est arriv\u00e9 <a href=\"https:\/\/yosyshq.net\/yosys\/\">Yosys<\/a> le logiciel libre de synth\u00e8se Verilog accompagn\u00e9 du reverse engineering de l&rsquo;ICE40 avec <a href=\"http:\/\/bygone.clairexen.net\/icestorm\/\">Icestorm<\/a>. Ont suivis <a href=\"https:\/\/linuxfr.org\/news\/apicula-lancement-de-la-liberation-du-fpga-gowin-gw1n\">Apicula<\/a> pour les <a href=\"https:\/\/www.gowinsemi.com\/en\/\">Gowin<\/a>, <a href=\"https:\/\/github.com\/f4pga\/prjxray\">X-Ray<\/a> pour les Xilinx s\u00e9rie 7 ou <a href=\"https:\/\/github.com\/YosysHQ\/prjtrellis\">Trellis<\/a> pour les <a href=\"https:\/\/www.latticesemi.com\/Products\/FPGAandCPLD\/ECP5\">ECP5<\/a> (<a href=\"http:\/\/www.fabienm.eu\/flf\/materiel\/liberation-des-fpga\/\">Voir le tableau des projets de reverse sur le FLF<\/a>).<\/p>\n\n\n\n<p>Et pour boucler la boucle de d\u00e9veloppement, le logiciel libre de placement routage <a href=\"https:\/\/github.com\/YosysHQ\/nextpnr\">nextpnr<\/a> a \u00e9merg\u00e9 ainsi que le logiciel de configuration universelle <a href=\"https:\/\/github.com\/trabucayre\/openFPGALoader\">openFPGALoader<\/a>.<\/p>\n\n\n\n<p>Toutes ces initiatives ont \u00e9norm\u00e9ment gagn\u00e9es en qualit\u00e9 et en cr\u00e9dibilit\u00e9 depuis 3 ou 4 ans et sont en passe de devenir les r\u00e9f\u00e9rences dans le monde du FPGA.<\/p>\n\n\n\n<p>\u00c0 ces nouvelles tr\u00e8s r\u00e9jouissantes se sont ajout\u00e9 les annonces de plusieurs mise en production de FPGA avec les outils open-source support\u00e9s officiellement par les constructeurs. On pense notamment \u00e0 :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/www.quicklogic.com\/\">Quicklogic<\/a> et son microcontr\u00f4leur  <a href=\"http:\/\/www.fabienm.eu\/flf\/eos-s3-le-bitstream-libere\/\">EOS S3 <\/a>bas\u00e9 sur un c\u0153ur Cortex-M4 coupl\u00e9 \u00e0 une \u00abzone\u00bb de FPGA utilisable int\u00e9gralement avec des logiciels open source.<\/li><li><a href=\"https:\/\/linuxfr.org\/news\/clear-production-du-premier-microcontroleur-avec-un-efpga-avec-code-source-disponible\">CLEAR<\/a>: un projet plus anecdotique consistant \u00e0 g\u00e9n\u00e9rer un FPGA \u00e0 partir de l\u2019outil open source <a href=\"https:\/\/openfpga.readthedocs.io\/en\/master\/\">openFpga<\/a> et \u00e0 l&rsquo;int\u00e9grer \u00e0 la <a href=\"https:\/\/caravel-harness.readthedocs.io\/en\/latest\/\">Caravel<\/a> de la soci\u00e9t\u00e9 <a href=\"https:\/\/efabless.com\/\">eFabless<\/a> pour la graver en <a href=\"https:\/\/skywater-pdk.readthedocs.io\/en\/main\/\">130nm<\/a>. Pour le coup les outils pour d\u00e9velopper <strong>le<\/strong> FPGA sont opensource ainsi que les outils pour d\u00e9velopper <strong>sur<\/strong> le fpga.<\/li><li><a href=\"https:\/\/colognechip.com\/\">CologneChip<\/a> et son <a href=\"http:\/\/www.fabienm.eu\/flf\/decouverte-du-fpga-europeen-le-gatemate-de-colognechip\/\">GateMate<\/a>: un FPGA \u00e0 l&rsquo;architecture assez original notamment pour la partie calcul\/dsp mais qui se d\u00e9fend assez bien niveau taille.<\/li><\/ul>\n\n\n\n<p>Avec toutes ces nouvelles on aurait pens\u00e9 que cela allait se calmer et que l&rsquo;on aurait le temps de dig\u00e9rer et faire clignoter quelques LED avant de passer \u00e0 une vitesse encore sup\u00e9rieure.<\/p>\n\n\n\n<p><strong>ERREUR !<\/strong><\/p>\n\n\n\n<p>C&rsquo;\u00e9tait sans compter sur <a href=\"https:\/\/rapidsilicon.com\/\">cette soci\u00e9t\u00e9 <\/a>cr\u00e9\u00e9 en 2020 (et oui toute neuve) et son annonce de sortie du projet <a href=\"https:\/\/rapidsilicon.com\/gemini-product-brief\">Gemini<\/a> (un poil pr\u00e9tentieux tout de m\u00eame pour le nom \ud83d\ude09 de faire un SoC haute performances en se basant sur des outils open sources, et oui m\u00eame pour la fabrication du FPGA. En parall\u00e8le du d\u00e9veloppement silicium, <a href=\"https:\/\/rapidsilicon.com\/\">RapidSilicon<\/a> d\u00e9veloppe un IDE open source nomm\u00e9 <a href=\"https:\/\/rapidsilicon.com\/raptor\/\">Raptor<\/a> se basant sur tout un tas de logiciels libres cit\u00e9 au d\u00e9but de cet article :<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/www.fabienm.eu\/flf\/wp-content\/uploads\/2022\/06\/Untitled-design-24.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"667\" data-id=\"2097\" src=\"http:\/\/www.fabienm.eu\/flf\/wp-content\/uploads\/2022\/06\/Untitled-design-24.png\" alt=\"\" class=\"wp-image-2097\" srcset=\"http:\/\/www.fabienm.eu\/flf\/wp-content\/uploads\/2022\/06\/Untitled-design-24.png 1000w, http:\/\/www.fabienm.eu\/flf\/wp-content\/uploads\/2022\/06\/Untitled-design-24-300x200.png 300w, http:\/\/www.fabienm.eu\/flf\/wp-content\/uploads\/2022\/06\/Untitled-design-24-768x512.png 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<p>Un premier \u00e9chantillonnage de composants en <strong>16nm<\/strong> est d\u00e9j\u00e0 sorti des fonderies de <a href=\"https:\/\/www.tsmc.us\/\">TSMC<\/a> et nous rassure sur la r\u00e9alit\u00e9 du produit. Nous ne sommes pas dans le cas d&rsquo;une soci\u00e9t\u00e9 qui fait des annonces \u00ab<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Vaporware\">vaporware<\/a>\u00bb juste pour faire des lev\u00e9es de fond.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"http:\/\/www.fabienm.eu\/flf\/wp-content\/uploads\/2022\/06\/Untitled-design-23.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"667\" src=\"http:\/\/www.fabienm.eu\/flf\/wp-content\/uploads\/2022\/06\/Untitled-design-23.png\" alt=\"\" class=\"wp-image-2095\" srcset=\"http:\/\/www.fabienm.eu\/flf\/wp-content\/uploads\/2022\/06\/Untitled-design-23.png 1000w, http:\/\/www.fabienm.eu\/flf\/wp-content\/uploads\/2022\/06\/Untitled-design-23-300x200.png 300w, http:\/\/www.fabienm.eu\/flf\/wp-content\/uploads\/2022\/06\/Untitled-design-23-768x512.png 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><figcaption>H\u00e2te de voir la datasheet<\/figcaption><\/figure>\n\n\n\n<p>L&rsquo;architecture du prototype est donn\u00e9e dans la figure suivante:<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/www.fabienm.eu\/flf\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-22-14-33-39.png\"><img loading=\"lazy\" decoding=\"async\" width=\"839\" height=\"680\" data-id=\"2093\" src=\"http:\/\/www.fabienm.eu\/flf\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-22-14-33-39.png\" alt=\"\" class=\"wp-image-2093\" srcset=\"http:\/\/www.fabienm.eu\/flf\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-22-14-33-39.png 839w, http:\/\/www.fabienm.eu\/flf\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-22-14-33-39-300x243.png 300w, http:\/\/www.fabienm.eu\/flf\/wp-content\/uploads\/2022\/06\/Screenshot-from-2022-06-22-14-33-39-768x622.png 768w\" sizes=\"auto, (max-width: 839px) 100vw, 839px\" \/><\/a><\/figure>\n<\/figure>\n\n\n\n<p>On est donc dans le cas d&rsquo;un gros SoC-FPGA avec les caract\u00e9ristiques suivantes :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Arm A53 Dual-Core <\/li><li>contr\u00f4leur de DDR4<\/li><li>\u00abPetit\u00bb core Risc-V 32bit pour le temps r\u00e9el et la supervision<\/li><li>Les ports habituels d&rsquo;un SoC : UART, USB, SPI, I\u00b2C, &#8230;<\/li><li>Du PCIe Gen4, XGMII (pour le r\u00e9seau)<\/li><li>Des liens serdes (tr\u00e8s) rapide jusqu&rsquo;\u00e0 16Gbits\/s<\/li><li>La zone FPGA&nbsp;n&rsquo;est pas \u00e9norme, mais se d\u00e9fend face aux petit Zynq par exemple :<ul><li>50-75K LUT (6 entr\u00e9es)<\/li><li>Blocks DSP (combien ?)<\/li><li>Block de Ram double port 18kb (Combien ?)<\/li><\/ul><\/li><\/ul>\n\n\n\n<p>Toutes ces parties sont li\u00e9e ensemble au moyen d&rsquo;un bloc d&rsquo;interconnexion nomm\u00e9  <a href=\"https:\/\/www.arteris.com\/flexnoc\">FlexNOC<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Alors ?<\/h2>\n\n\n\n<p>Xilinx doit-elle trembler avec son <a href=\"https:\/\/www.xilinx.com\/products\/silicon-devices\/soc\/zynq-7000.html\">Zynq<\/a> ? et Microsemi avec son <a href=\"https:\/\/www.microsemi.com\/product-directory\/soc-fpgas\/5498-polarfire-soc-fpga\">PolarFire<\/a> SoC ?<\/p>\n\n\n\n<p>L&rsquo;avenir nous le dira, h\u00e2te de voir la suite \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le FLF\u00a0a \u00e9t\u00e9 fond\u00e9 a une \u00e9poque obscure o\u00f9 il n&rsquo;existait (quasiment) pas de solution open-source pour travailler sur des FPGA. Seul un petit village d\u2019irr\u00e9ductibles simulateurs comme icarus, ghdl ou verilator maintenaient un semblant de libert\u00e9 dans cet oc\u00e9an de sombre verrouillage. Il y avait bien VTR et Alliance, mais ils restaient tr\u00e8s universitaire &hellip; <a href=\"http:\/\/www.fabienm.eu\/flf\/rapidsilicon-va-t-elle-renverser-la-table\/\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">RapidSilicon va-t-elle renverser la table ?<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","footnotes":""},"categories":[1],"tags":[223,222,224],"class_list":["post-2092","post","type-post","status-publish","format-standard","hentry","category-non-classe","tag-gemini","tag-rapidsilicon","tag-tc1"],"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\/martoni\/"},"uagb_comment_info":0,"uagb_excerpt":"Le FLF\u00a0a \u00e9t\u00e9 fond\u00e9 a une \u00e9poque obscure o\u00f9 il n&rsquo;existait (quasiment) pas de solution open-source pour travailler sur des FPGA. Seul un petit village d\u2019irr\u00e9ductibles simulateurs comme icarus, ghdl ou verilator maintenaient un semblant de libert\u00e9 dans cet oc\u00e9an de sombre verrouillage. Il y avait bien VTR et Alliance, mais ils restaient tr\u00e8s universitaire\u2026","_links":{"self":[{"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/posts\/2092","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\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/comments?post=2092"}],"version-history":[{"count":5,"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/posts\/2092\/revisions"}],"predecessor-version":[{"id":2100,"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/posts\/2092\/revisions\/2100"}],"wp:attachment":[{"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/media?parent=2092"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/categories?post=2092"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/tags?post=2092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}