{"id":565,"date":"2017-01-30T13:50:25","date_gmt":"2017-01-30T12:50:25","guid":{"rendered":"http:\/\/www.fabienm.eu\/flf\/?p=565"},"modified":"2017-01-30T13:50:25","modified_gmt":"2017-01-30T12:50:25","slug":"nvc-lautre-simulateur-vhdl-libre","status":"publish","type":"post","link":"http:\/\/www.fabienm.eu\/flf\/nvc-lautre-simulateur-vhdl-libre\/","title":{"rendered":"NVC, l&rsquo;autre simulateur VHDL libre"},"content":{"rendered":"<p>Dans le domaine de la simulation libre du <a href=\"http:\/\/www.fabienm.eu\/flf\/hdl\/vhdl\/\">VHDL<\/a>, on connait bien le simulateur <a href=\"http:\/\/home.gna.org\/ghdl\/\">GHDL<\/a> qui est bas\u00e9 sur <a href=\"https:\/\/gcc.gnu.org\/\">GCC<\/a>, on conna\u00eet un petit peu le simulateur <a href=\"http:\/\/freehdl.seul.org\/\">FreeHDL<\/a> inclus dans le logiciel graphique de simulation \u00e9lectronique <a href=\"http:\/\/qucs.sourceforge.net\/\">Qucs<\/a>, mais on conna\u00eet moins le simulateur <a href=\"https:\/\/github.com\/nickg\/nvc\">NVC<\/a> qui pourtant est en train de faire son petit bonhomme de chemin.<\/p>\n<p>NVC est \u00e9crit en langage C pur et compil\u00e9 par d\u00e9faut avec le compilateur <a href=\"http:\/\/llvm.org\/\">LLVM<\/a> concurrent de GCC. L&rsquo;avantage de NVC par rapport \u00e0 GHDL: c&rsquo;est un programme ind\u00e9pendant de son compilateur l\u00e0 o\u00f9 ghdl n&rsquo;est qu&rsquo;une couche de GCC. Ce qui simplifie grandement la compilation de l&rsquo;outils.<\/p>\n<p>NVC n&rsquo;a pas encore atteint sa premi\u00e8re version stable, cependant le rythme des commits laisse penser que cela va venir. Et surtout il est d\u00e9j\u00e0 utilisable en l&rsquo;\u00e9tat dans sa version git \u00abmaster\u00bb .<\/p>\n<p>L\u2019outil a \u00e9t\u00e9 int\u00e9gr\u00e9 dans la partie VHDL du <a href=\"https:\/\/github.com\/Martoni\/blp\">blp<\/a>, il s&rsquo;utilise de la m\u00eame mani\u00e8re que ghdl avec une phase d&rsquo;\u00e9laboration puis d&rsquo;analyse avant d&rsquo;\u00eatre lanc\u00e9 en simulation.<\/p>\n<p>Pour simuler le testbench permettant de tester le module anti-rebond du blp nous ferons les commandes suivantes dans le r\u00e9pertoire vhdl :<\/p>\n<ul>\n<li>analyse<\/li>\n<\/ul>\n<pre><code>nvc -a ..\/test\/test_button_deb.vhd ..\/src\/button_deb.vhd\r\n<\/code><\/pre>\n<ul>\n<li>\u00e9laboration<\/li>\n<\/ul>\n<pre><code>nvc -e button_deb_tb\r\n<\/code><\/pre>\n<ul>\n<li>simulation (run)<\/li>\n<\/ul>\n<pre><code>nvc -r button_deb_tb -w\r\n<\/code><\/pre>\n<p>L&rsquo;option de simulation -w permet de g\u00e9n\u00e9rer un fichier de sortie (*.fst) pour \u00eatre lu par gtkwave.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans le domaine de la simulation libre du VHDL, on connait bien le simulateur GHDL qui est bas\u00e9 sur GCC, on conna\u00eet un petit peu le simulateur FreeHDL inclus dans le logiciel graphique de simulation \u00e9lectronique Qucs, mais on conna\u00eet moins le simulateur NVC qui pourtant est en train de faire son petit bonhomme de &hellip; <a href=\"http:\/\/www.fabienm.eu\/flf\/nvc-lautre-simulateur-vhdl-libre\/\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">NVC, l&rsquo;autre simulateur VHDL libre<\/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":[3,87,9,11],"tags":[],"class_list":["post-565","post","type-post","status-publish","format-standard","hentry","category-langages","category-nvc","category-outils","category-vhdl"],"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":"Dans le domaine de la simulation libre du VHDL, on connait bien le simulateur GHDL qui est bas\u00e9 sur GCC, on conna\u00eet un petit peu le simulateur FreeHDL inclus dans le logiciel graphique de simulation \u00e9lectronique Qucs, mais on conna\u00eet moins le simulateur NVC qui pourtant est en train de faire son petit bonhomme de\u2026","_links":{"self":[{"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/posts\/565","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=565"}],"version-history":[{"count":6,"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/posts\/565\/revisions"}],"predecessor-version":[{"id":571,"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/posts\/565\/revisions\/571"}],"wp:attachment":[{"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/media?parent=565"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/categories?post=565"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.fabienm.eu\/flf\/wp-json\/wp\/v2\/tags?post=565"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}