{"id":5,"date":"2014-10-27T12:28:37","date_gmt":"2014-10-27T11:28:37","guid":{"rendered":"http:\/\/www.fabienm.eu\/flf\/?p=5"},"modified":"2014-10-27T13:51:52","modified_gmt":"2014-10-27T12:51:52","slug":"compiler-les-exemples-chisel-sur-jessie","status":"publish","type":"post","link":"http:\/\/www.fabienm.eu\/flf\/compiler-les-exemples-chisel-sur-jessie\/","title":{"rendered":"Compiler les exemples Chisel sur Jessie"},"content":{"rendered":"<p><a href=\"https:\/\/chisel.eecs.berkeley.edu\/\">Chisel<\/a> est un langage de description hardware d\u00e9velopp\u00e9 par l&rsquo;universit\u00e9 de <a href=\"http:\/\/www.eecs.berkeley.edu\/\">Berkley<\/a> bas\u00e9 sur le langage <a href=\"http:\/\/www.scala-lang.org\/\">Scala<\/a>.<\/p>\n<p>Les mainteneurs du projet Chisel fournissent un<a href=\"https:\/\/github.com\/ucb-bar\/chisel-tutorial\"> github de code d&rsquo;exemples<\/a> avec un <a href=\"https:\/\/chisel.eecs.berkeley.edu\/latest\/chisel-tutorial.pdf\">tutoriel<\/a> qui va avec.<a href=\"https:\/\/chisel.eecs.berkeley.edu\/2.2.0\/chisel-getting-started.pdf\"> Le guide d&rsquo;installation<\/a> est par contre un peu l\u00e9ger et n\u00e9cessite quelques adaptations pour tourner correctement sous <a href=\"https:\/\/www.debian.org\/releases\/testing\/\">Debian Jessie<\/a>.<\/p>\n<p><strong>D\u00e9pendances<\/strong><\/p>\n<p>Les paquets debian \u00e0 install\u00e9 sont les suivants:<\/p>\n<ul>\n<li>Scala<\/li>\n<li>sbt<\/li>\n<li>g++4.8<\/li>\n<li>openjdk-7-jre<\/li>\n<\/ul>\n<p>Que l&rsquo;on peut installer sous Jessie avec les commandes suivantes:<\/p>\n<pre><code>sudo apt-get install scala\r\nsudo apt-get install g++-4.8-multilib\r\nsudo apt-get install openjdk-7-jre\r\n<\/code><\/pre>\n<p><a href=\"http:\/\/www.scala-sbt.org\/index.html\">sbt<\/a> n&rsquo;\u00e9tant pas int\u00e9gr\u00e9 dans Jessie, il est n\u00e9cessaire de l&rsquo;installer \u00e0 la main en d\u00e9compressant l&rsquo;archive:<\/p>\n<pre><code>wget https:\/\/dl.bintray.com\/sbt\/native-packages\/sbt\/0.13.6\/sbt-0.13.6.tgz\r\ntar -zxvf sbt-0.13.6.tgz<\/code><\/pre>\n<p>Puis en l&rsquo;ajoutant \u00e0 son .bashrc :<\/p>\n<pre><code># Scala built tool\r\nexport PATH=$PATH:\"\/opt\/sbt\/bin\/\"<\/code><\/pre>\n<p><strong>Installation des tutoriels<\/strong><\/p>\n<p>Tout d&rsquo;abord il nous faut descendre le git des tutoriels :<\/p>\n<pre><code>git clone https:\/\/github.com\/ucb-bar\/chisel-tutorial.git\r\ncd chisel-tutorial\/example\r\n<\/code><\/pre>\n<p>Puis tenter de compiler l&rsquo;exemple Parity avec le makefile :<\/p>\n<pre><code>$ make Parity.out\r\nset -e -o pipefail; sbt -Dsbt.log.noformat=true \"run Parity --genHarness --compile --test --backend c \" | tee Parity.out\r\n\/bin\/sh: 0: Illegal option -o pipefail\r\n..\/suffix.mk:61: recipe for target 'Parity.out' failed\r\nmake: *** [Parity.out] Error 2\r\n<\/code><\/pre>\n<p>Et c&rsquo;est le drame !<\/p>\n<p>Pour que \u00e7a fonctionne il faut taper la commande \u00e0 la main sans le \u00abset -e -o pipefail\u00bb.<\/p>\n<pre><code>$ sbt -Dsbt.log.noformat=true \"run Parity --genHarness --compile --test --backend c \" | tee Parity.out\r\n\r\n...\r\n\r\nSTEP 1 -&gt; 10\r\n PEEK Parity.io_out -&gt; 0x0\r\nEXPECT Parity.io_out &lt;- 0 == 0 PASS\r\nRAN 10 CYCLES PASSED\r\nPASSED\r\n[success] Total time: 31 s, completed 27 oct. 2014 12:28:46\r\n$\r\n<\/code><\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Chisel est un langage de description hardware d\u00e9velopp\u00e9 par l&rsquo;universit\u00e9 de Berkley bas\u00e9 sur le langage Scala. Les mainteneurs du projet Chisel fournissent un github de code d&rsquo;exemples avec un tutoriel qui va avec. Le guide d&rsquo;installation est par contre un peu l\u00e9ger et n\u00e9cessite quelques adaptations pour tourner correctement sous Debian Jessie. D\u00e9pendances Les &hellip; <a href=\"http:\/\/www.fabienm.eu\/flf\/compiler-les-exemples-chisel-sur-jessie\/\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Compiler les exemples Chisel sur Jessie<\/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":[4],"tags":[57,6,7,8],"class_list":["post-5","post","type-post","status-publish","format-standard","hentry","category-chisel-langages","tag-chisel","tag-debian","tag-jessie","tag-scala"],"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":1,"uagb_excerpt":"Chisel est un langage de description hardware d\u00e9velopp\u00e9 par l&rsquo;universit\u00e9 de Berkley bas\u00e9 sur le langage Scala. Les mainteneurs du projet Chisel fournissent un github de code d&rsquo;exemples avec un tutoriel qui va avec. Le guide d&rsquo;installation est par contre un peu l\u00e9ger et n\u00e9cessite quelques adaptations pour tourner correctement sous Debian Jessie. D\u00e9pendances Les\u2026","_links":{"self":[{"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/posts\/5","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=5"}],"version-history":[{"count":8,"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/posts\/5\/revisions"}],"predecessor-version":[{"id":21,"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/posts\/5\/revisions\/21"}],"wp:attachment":[{"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/media?parent=5"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/categories?post=5"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/tags?post=5"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}