{"id":1555,"date":"2020-06-12T05:35:03","date_gmt":"2020-06-12T04:35:03","guid":{"rendered":"http:\/\/www.fabienm.eu\/flf\/?p=1555"},"modified":"2020-06-17T08:30:28","modified_gmt":"2020-06-17T07:30:28","slug":"eos-s3-le-bitstream-libere","status":"publish","type":"post","link":"http:\/\/www.fabienm.eu\/flf\/eos-s3-le-bitstream-libere\/","title":{"rendered":"EOS S3, le bitstream lib\u00e9r\u00e9 !"},"content":{"rendered":"\n<p><a href=\"https:\/\/linuxfr.org\/news\/eos-s3-le-bitstream-libere\">[D\u00e9p\u00eache initialement paru sur <strong>LinuxFR<\/strong>]<\/a><\/p>\n\n\n\n<p> <\/p>\n\n\n\n<p>Pour configurer les diff\u00e9rentes connexions des blocs de logiques contenus dans un <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Circuit_logique_programmable\">FPGA<\/a> il faut lui fournir un fichier de configuration appel\u00e9 \u00abbitstream\u00bb. Quand on parle de lib\u00e9ration des FPGA, on pense principalement \u00e0 la publication de ces sp\u00e9cifications .<br>Jusqu\u2019\u00e0 pr\u00e9sent, cette \u00ab&nbsp;lib\u00e9ration&nbsp;\u00bb s\u2019est faite, pour une poign\u00e9e de FPGA (majoritairement <a href=\"https:\/\/linuxfr.org\/users\/martoni\/journaux\/lattice-et-l-open-source-la-fin-d-un-reve\">Lattice<\/a>), par ing\u00e9nierie inverse. Donc jamais \u00e0 l\u2019initiative du constructeur, ce dernier n\u2019ayant m\u00eame pas toujours connaissance de projet d\u2019ing\u00e9nierie inverse \u00e0 destination de ses produits. Et il faut aller fouiller dans d\u2019obscurs fils Twitter et autre forums de bidouilleurs pour <a href=\"http:\/\/www.fabienm.eu\/flf\/materiel\/liberation-des-fpga\/\">les d\u00e9couvrir<\/a>.<\/p>\n\n\n\n<p>Mais la lib\u00e9ration s\u2019acc\u00e9l\u00e8re, et une petite soci\u00e9t\u00e9 peu connue dans le monde du FPGA vient de lancer un produit bas\u00e9 sur des outils opensource pour le d\u00e9veloppement : l&rsquo;<a href=\"https:\/\/www.quicklogic.com\/products\/eos-s3\/\">EOS S3<\/a>.<\/p>\n\n\n\n<p>Comme on peut le voir dans le diagramme bloc ci-dessous, le produit est en fait un microcontr\u00f4leur Cortex-M4 qui poss\u00e8de une zone p\u00e9riph\u00e9rique \u00abde FPGA\u00bb appel\u00e9 eFPGA.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/img.linuxfr.org\/img\/68747470733a2f2f7777772e717569636b6c6f6769632e636f6d2f77702d636f6e74656e742f7468656d65732f756e64657273747261702d6368696c642f696d672f70726f64756374732f656f732d6170702d426c6f636b4469616772616d2e6a7067\/eos-app-BlockDiagram.jpg\" alt=\"EOS S3 Block Diagram\" title=\"Source : https:\/\/www.quicklogic.com\/wp-content\/themes\/understrap-child\/img\/products\/eos-app-BlockDiagram.jpg\"\/><\/figure>\n\n\n\n<p>La soci\u00e9t\u00e9 Quicklogic a consid\u00e9r\u00e9 que d\u00e9velopper des logiciels de <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Synth%C3%A8se_logique\">synth\u00e8se<\/a> et de <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Placement-routage\">placement routage<\/a> n\u2019\u00e9tait pas son m\u00e9tier. Elle s\u2019est donc \u00ab&nbsp;content\u00e9&nbsp;\u00bb de l\u2019adapter aux logiciels open source de la suite <a href=\"https:\/\/symbiflow.readthedocs.io\/en\/latest\/introduction.html\">symbiflow<\/a>.<\/p>\n\n\n\n<p><strong>Pour la premi\u00e8re fois dans l\u2019histoire des FPGA<\/strong>, nous avons donc une soci\u00e9t\u00e9 qui affirme documenter son \u00ab&nbsp;bitstream&nbsp;\u00bb et qui propose des outils libres pour le d\u00e9veloppement. C\u2019est un \u00e9v\u00e9nement que beaucoup attendaient depuis des dizaines d\u2019ann\u00e9es&nbsp;!<\/p>\n\n\n\n<p>Bon le (tout petit) FPGA ne concerne qu\u2019une partie du composant. Mais c\u2019est un bon d\u00e9but, et l\u2019utilisation de logiciels libres reste la philosophie de la soci\u00e9t\u00e9 pour le d\u00e9veloppement de ce produit. Comme dit dans les avantages de la fiche marketing du <a href=\"https:\/\/www.quicklogic.com\/products\/eos-s3\/quickfeather-development-kit\/\">kit de d\u00e9veloppement<\/a> :<\/p>\n\n\n\n<p>\u00ab&nbsp;No more multi Gigabyte software installs, no more of the hassles associated with proprietary tools, no more vendor-specific hardware incompatible with the industry.&nbsp;\u00bb<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"toc-efpga\">eFPGA<\/h3>\n\n\n\n<p>La <a href=\"https:\/\/www.quicklogic.com\/wp-content\/uploads\/2019\/05\/QL_EOS_S3_Sensor_Processing_Platform_Datasheet_V1.0_No_NDA_Required.pdf\">datasheet<\/a> nous dit que la partie FPGA (celle qui nous int\u00e9resse ici) est compos\u00e9e de :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>891 cellules logiques<\/li><li>8 blocs de RAM double ports de 8Kbits<\/li><li>2 multiplieurs c\u00e2bl\u00e9s de 32&#215;32 bits<\/li><li>32 I\/O configurables<\/li><\/ul>\n\n\n\n<p>Alors certes, on est tr\u00e8s tr\u00e8s bas dans la gamme des FPGA du march\u00e9. Mais on peut d\u00e9j\u00e0 envisager faire des petites choses int\u00e9ressantes avec. Surtout qu\u2019il n\u2019y a pas que le FPGA dans ce microcontr\u00f4leur.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"toc-kit-de-d\u00e9veloppement-quickfeather\">Kit de d\u00e9veloppement QuickFeather<\/h3>\n\n\n\n<p>Le kit est encore en phase de lancement, m\u00eame s\u2019il semble que <a href=\"https:\/\/twitter.com\/ktemkin\/status\/1270174435509600256\">certaines d\u00e9veloppeuses<\/a> aient d\u00e9j\u00e0 re\u00e7u la carte pour faire des tests. Le tarif de&nbsp;$50 n\u2019est pas prohibitif pour en envisager l\u2019acquisition \u00e0 des fin de tests. Les frais de port de&nbsp;$80 par contre posent probl\u00e8me, surtout s\u2019il faut ajouter des frais de douane.<\/p>\n\n\n\n<p>Bref, \u00e7a n\u2019est pas du vaporware puisque les composants existent, mais il est pour l\u2019instant difficile d\u2019en dire plus concernant les outils. Dans tous les cas une nouvelle tr\u00e8s rafra\u00eechissante, et une acc\u00e9l\u00e9ration de la <a href=\"https:\/\/linuxfr.org\/news\/la-liberation-des-fpga-et-des-asic-bien-engagee-pour-2020\">lib\u00e9ration des FPGA<\/a> qui fait plaisir&nbsp;!<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">[\u00c9dition le 17 juin 2020]<\/h4>\n\n\n\n<p>L&rsquo;entreprise qui est derri\u00e8re ce nouveau produit est <a href=\"https:\/\/antmicro.com\/\"><strong>Antmicro<\/strong><\/a>. Une entreprise qui fait de la conception FPGA\/ASIC \u00e0 base de logiciel libre.<br>Il semble \u00e9galement qu&rsquo;ils aient \u00e9t\u00e9 aid\u00e9 par google.<\/p>\n\n\n\n<p><a href=\"https:\/\/antmicro.com\/blog\/2020\/06\/quicklogic-open-reconfigurable-computing-press-release\/\">Le communiqu\u00e9 de Antmicro.<\/a><\/p>\n\n\n\n<p>Et en plus du EOS S3, Quicklogic lance une gamme de FPGA\u00a0\u00abdiscret\u00bb : le <a href=\"https:\/\/www.quicklogic.com\/products\/fpga\/fpgas-sram\/\"><strong>PolarPro 3E<\/strong><\/a>. \u00c9galement bas\u00e9 sur une cha\u00eene de d\u00e9veloppement libre \\o\/<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[D\u00e9p\u00eache initialement paru sur LinuxFR] Pour configurer les diff\u00e9rentes connexions des blocs de logiques contenus dans un FPGA il faut lui fournir un fichier de configuration appel\u00e9 \u00abbitstream\u00bb. Quand on parle de lib\u00e9ration des FPGA, on pense principalement \u00e0 la publication de ces sp\u00e9cifications .Jusqu\u2019\u00e0 pr\u00e9sent, cette \u00ab&nbsp;lib\u00e9ration&nbsp;\u00bb s\u2019est faite, pour une poign\u00e9e de FPGA &hellip; <a href=\"http:\/\/www.fabienm.eu\/flf\/eos-s3-le-bitstream-libere\/\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">EOS S3, le bitstream lib\u00e9r\u00e9 !<\/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,22,24,9],"tags":[61,180,182,181,183],"class_list":["post-1555","post","type-post","status-publish","format-standard","hentry","category-bitstream","category-blog","category-materiel","category-outils","tag-bitstream","tag-efpga","tag-eoss3","tag-quicklogic","tag-symbiflow"],"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":2,"uagb_excerpt":"[D\u00e9p\u00eache initialement paru sur LinuxFR] Pour configurer les diff\u00e9rentes connexions des blocs de logiques contenus dans un FPGA il faut lui fournir un fichier de configuration appel\u00e9 \u00abbitstream\u00bb. Quand on parle de lib\u00e9ration des FPGA, on pense principalement \u00e0 la publication de ces sp\u00e9cifications .Jusqu\u2019\u00e0 pr\u00e9sent, cette \u00ab&nbsp;lib\u00e9ration&nbsp;\u00bb s\u2019est faite, pour une poign\u00e9e de FPGA\u2026","_links":{"self":[{"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/posts\/1555","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=1555"}],"version-history":[{"count":3,"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/posts\/1555\/revisions"}],"predecessor-version":[{"id":1558,"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/posts\/1555\/revisions\/1558"}],"wp:attachment":[{"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/media?parent=1555"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/categories?post=1555"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/tags?post=1555"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}