{"id":305,"date":"2014-02-12T12:52:08","date_gmt":"2014-02-12T12:52:08","guid":{"rendered":"http:\/\/panda.dei.polimi.it\/?p=305"},"modified":"2014-02-12T13:55:27","modified_gmt":"2014-02-12T13:55:27","slug":"panda-0-9-2-released","status":"publish","type":"post","link":"https:\/\/panda.deib.polimi.it\/?p=305","title":{"rendered":"PandA 0.9.2 released"},"content":{"rendered":"<p>PandA 0.9.2 new features introduced:<br \/>\n&#8211; added an initial support to GCC 4.9.0,<br \/>\n&#8211; stable support to GCC versions: v4.5, v4.6, v4.7 (default) and v4.8,<br \/>\n&#8211; added an experimental support to Verilator simulator,<br \/>\n&#8211; new dataflow dependency analysis for LOADs and STOREs; we now use GCC alias analysis to see if a LOAD and STORE pair or a STORE and STORE pair may conflict,<br \/>\n&#8211; added a frontend step that optimizes PHI nodes,<br \/>\n&#8211; added a frontend step that performs conditionally if conversions,<br \/>\n&#8211; added a frontend step that performs simple code motions,<br \/>\n&#8211; added a frontend step that converts if chains in a single multi-if control construct,<br \/>\n&#8211; added a frontend step that simplifies short circuits based control constructs,<br \/>\n&#8211; added a proxy-based approach to the LOADs\/STOREs of statically resolved pointers,<br \/>\n&#8211; improved EBR inference for Lattice based devices,<br \/>\n&#8211; now, memory models are different for Lattice, Altera, Virtex5 and Virtex6-7 based devices,<br \/>\n&#8211; updated FloPoCo to a more recent version,<br \/>\n&#8211; now, register allocation maps storage values on registers without write enable when possible,<br \/>\n&#8211; added support to CentOS\/Scientific Linux distributions,<br \/>\n&#8211; added support to ArchLinux distribution,<br \/>\n&#8211; added support to Ubuntu 13.10 distribution,<br \/>\n&#8211; now, testbenches accept a user defined error for float based computations; the error is specified in ULPs units; a Unit in the Last Place is the spacing between floating-point numbers,<br \/>\n&#8211; improved architectural timing model,<br \/>\n&#8211; added a very simple symbolic estimator of number of cycles taken by a function, it mainly covers function without loops and without unbounded operations,<br \/>\n&#8211; general refactoring of automatic HLS testbench generation,<br \/>\n&#8211; added support to libm function lceil and lceilf,<br \/>\n&#8211; added skip-pipe-parameter option to bambu; it is is used to select a faster pipelined unit (xilinx devices have the default equal to 1 while lattice and altera devices have the default equal to 0),<br \/>\n&#8211; improved memory allocation when byte-enabled write memories are not needed,<br \/>\n&#8211; added support to variable lenght arrays,<br \/>\n&#8211; added support to memalign builtin,<br \/>\n&#8211; added EXT_PIPELINED_BRAM memory allocation policy, bambu with this option assumes that a block ram memory is allocated outside the core (LOAD with II=1 and latency=2 and STORE with latency=1),<br \/>\n&#8211; added 2D matrix multiplication examples for integers and single precision floating point numbers,<br \/>\n&#8211; added some synthesis scripts checking bambu quality of results w.r.t. 72 single precision libm functions (e.g., sqrtf, sinf, expf, tanhf, etc.),<br \/>\n&#8211; added spider tool to automatically generate latex tables from bambu synthesis results,<br \/>\n&#8211; moved all the dot generated files into directory HLS_output\/dot\/. Such files (scheduling, FSM, CFG, DFG, etc) are now generated when &#8211;print-dot option is passed,<br \/>\n&#8211; VIVADO is now the default backend flow for Zynq based devices.<\/p>\n<p>Problems fixed:<br \/>\n&#8211; fixed all the Bison related compilation problems,<br \/>\n&#8211; fixed some problems with testbench generation of 2D arrays,<br \/>\n&#8211; fixed configuration scripts for manually installed Boost libraries; now, we need at least Boost 1.48.0,<br \/>\n&#8211; fixed some problems with C pretty-printing of the internal IR,<br \/>\n&#8211; fixed some ISE\/Vivado synthesis problems when System Verilog based model are used,<br \/>\n&#8211; fixed some problems with &#8211;soft-float based synthesis,<br \/>\n&#8211; fixed RTL-backend configuration scripts looking for tools (e.g., ISE, Vivado, Quartus and Diamond) already installed,<br \/>\n&#8211; fixed some problems with real-to-int and int-to-real conversions, added some explicit tests to the panda regressions.<\/p>\n<p>For any information or bug report, please write to panda-info@elet.polimi.it<\/p>\n","protected":false},"excerpt":{"rendered":"<p>PandA 0.9.2 new features introduced: &#8211; added an initial support to GCC 4.9.0, &#8211; stable support to GCC versions: v4.5, v4.6, v4.7 (default) and v4.8, &#8211; added an experimental support to Verilator simulator, &#8211; new dataflow dependency analysis for LOADs and STOREs; we now use GCC alias analysis to see if a LOAD and STORE &hellip; <a href=\"https:\/\/panda.deib.polimi.it\/?p=305\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">PandA 0.9.2 released<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-305","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PandA 0.9.2 released - panda.deib.polimi.it<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/panda.deib.polimi.it\/?p=305\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PandA 0.9.2 released - panda.deib.polimi.it\" \/>\n<meta property=\"og:description\" content=\"PandA 0.9.2 new features introduced: &#8211; added an initial support to GCC 4.9.0, &#8211; stable support to GCC versions: v4.5, v4.6, v4.7 (default) and v4.8, &#8211; added an experimental support to Verilator simulator, &#8211; new dataflow dependency analysis for LOADs and STOREs; we now use GCC alias analysis to see if a LOAD and STORE &hellip; Continue reading PandA 0.9.2 released &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/panda.deib.polimi.it\/?p=305\" \/>\n<meta property=\"og:site_name\" content=\"panda.deib.polimi.it\" \/>\n<meta property=\"article:published_time\" content=\"2014-02-12T12:52:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2014-02-12T13:55:27+00:00\" \/>\n<meta name=\"author\" content=\"Fabrizio Ferrandi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@PandA4Design\" \/>\n<meta name=\"twitter:site\" content=\"@PandA4Design\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fabrizio Ferrandi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/panda.deib.polimi.it\\\/?p=305#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/panda.deib.polimi.it\\\/?p=305\"},\"author\":{\"name\":\"Fabrizio Ferrandi\",\"@id\":\"https:\\\/\\\/panda.deib.polimi.it\\\/#\\\/schema\\\/person\\\/bc35ee838f502f880120708c1bb705cb\"},\"headline\":\"PandA 0.9.2 released\",\"datePublished\":\"2014-02-12T12:52:08+00:00\",\"dateModified\":\"2014-02-12T13:55:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/panda.deib.polimi.it\\\/?p=305\"},\"wordCount\":570,\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/panda.deib.polimi.it\\\/?p=305\",\"url\":\"https:\\\/\\\/panda.deib.polimi.it\\\/?p=305\",\"name\":\"PandA 0.9.2 released - panda.deib.polimi.it\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/panda.deib.polimi.it\\\/#website\"},\"datePublished\":\"2014-02-12T12:52:08+00:00\",\"dateModified\":\"2014-02-12T13:55:27+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/panda.deib.polimi.it\\\/#\\\/schema\\\/person\\\/bc35ee838f502f880120708c1bb705cb\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/panda.deib.polimi.it\\\/?p=305#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/panda.deib.polimi.it\\\/?p=305\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/panda.deib.polimi.it\\\/?p=305#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/panda.deib.polimi.it\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PandA 0.9.2 released\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/panda.deib.polimi.it\\\/#website\",\"url\":\"https:\\\/\\\/panda.deib.polimi.it\\\/\",\"name\":\"panda.deib.polimi.it\",\"description\":\"A framework for Hardware-Software Co-Design of Embedded Systems\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/panda.deib.polimi.it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/panda.deib.polimi.it\\\/#\\\/schema\\\/person\\\/bc35ee838f502f880120708c1bb705cb\",\"name\":\"Fabrizio Ferrandi\",\"description\":\"Fabrizio Ferrandi received his Laurea (cum laude) in Electronic Engineering in 1992 and the Ph.D. degree in Information and Automation Engineering (Computer Engineering) from the Politecnico di Milano, Italy, in 1997. He joined the faculty of Politecnico di Milano in 1999 as \\\"Ricercatore\\\" and later in 2002 as Associate Professor with the Dipartimento di Elettronica, Informazione e Bioingegneria. He has published over 100 papers. His research interests include synthesis, verification, simulation and testing of digital circuits and systems. Fabrizio Ferrandi is a Member of IEEE, of the IEEE Computer Society, of the Test Technology Technical Committee and of European Design and Automation Association \u2013 EDAA. Some references to my publications: DBLP Google Scholar\",\"sameAs\":[\"https:\\\/\\\/ferrandi.faculty.polimi.it\\\/\"],\"url\":\"https:\\\/\\\/panda.deib.polimi.it\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PandA 0.9.2 released - panda.deib.polimi.it","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/panda.deib.polimi.it\/?p=305","og_locale":"en_US","og_type":"article","og_title":"PandA 0.9.2 released - panda.deib.polimi.it","og_description":"PandA 0.9.2 new features introduced: &#8211; added an initial support to GCC 4.9.0, &#8211; stable support to GCC versions: v4.5, v4.6, v4.7 (default) and v4.8, &#8211; added an experimental support to Verilator simulator, &#8211; new dataflow dependency analysis for LOADs and STOREs; we now use GCC alias analysis to see if a LOAD and STORE &hellip; Continue reading PandA 0.9.2 released &rarr;","og_url":"https:\/\/panda.deib.polimi.it\/?p=305","og_site_name":"panda.deib.polimi.it","article_published_time":"2014-02-12T12:52:08+00:00","article_modified_time":"2014-02-12T13:55:27+00:00","author":"Fabrizio Ferrandi","twitter_card":"summary_large_image","twitter_creator":"@PandA4Design","twitter_site":"@PandA4Design","twitter_misc":{"Written by":"Fabrizio Ferrandi","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/panda.deib.polimi.it\/?p=305#article","isPartOf":{"@id":"https:\/\/panda.deib.polimi.it\/?p=305"},"author":{"name":"Fabrizio Ferrandi","@id":"https:\/\/panda.deib.polimi.it\/#\/schema\/person\/bc35ee838f502f880120708c1bb705cb"},"headline":"PandA 0.9.2 released","datePublished":"2014-02-12T12:52:08+00:00","dateModified":"2014-02-12T13:55:27+00:00","mainEntityOfPage":{"@id":"https:\/\/panda.deib.polimi.it\/?p=305"},"wordCount":570,"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/panda.deib.polimi.it\/?p=305","url":"https:\/\/panda.deib.polimi.it\/?p=305","name":"PandA 0.9.2 released - panda.deib.polimi.it","isPartOf":{"@id":"https:\/\/panda.deib.polimi.it\/#website"},"datePublished":"2014-02-12T12:52:08+00:00","dateModified":"2014-02-12T13:55:27+00:00","author":{"@id":"https:\/\/panda.deib.polimi.it\/#\/schema\/person\/bc35ee838f502f880120708c1bb705cb"},"breadcrumb":{"@id":"https:\/\/panda.deib.polimi.it\/?p=305#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/panda.deib.polimi.it\/?p=305"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/panda.deib.polimi.it\/?p=305#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/panda.deib.polimi.it\/"},{"@type":"ListItem","position":2,"name":"PandA 0.9.2 released"}]},{"@type":"WebSite","@id":"https:\/\/panda.deib.polimi.it\/#website","url":"https:\/\/panda.deib.polimi.it\/","name":"panda.deib.polimi.it","description":"A framework for Hardware-Software Co-Design of Embedded Systems","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/panda.deib.polimi.it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/panda.deib.polimi.it\/#\/schema\/person\/bc35ee838f502f880120708c1bb705cb","name":"Fabrizio Ferrandi","description":"Fabrizio Ferrandi received his Laurea (cum laude) in Electronic Engineering in 1992 and the Ph.D. degree in Information and Automation Engineering (Computer Engineering) from the Politecnico di Milano, Italy, in 1997. He joined the faculty of Politecnico di Milano in 1999 as \"Ricercatore\" and later in 2002 as Associate Professor with the Dipartimento di Elettronica, Informazione e Bioingegneria. He has published over 100 papers. His research interests include synthesis, verification, simulation and testing of digital circuits and systems. Fabrizio Ferrandi is a Member of IEEE, of the IEEE Computer Society, of the Test Technology Technical Committee and of European Design and Automation Association \u2013 EDAA. Some references to my publications: DBLP Google Scholar","sameAs":["https:\/\/ferrandi.faculty.polimi.it\/"],"url":"https:\/\/panda.deib.polimi.it\/?author=1"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/panda.deib.polimi.it\/index.php?rest_route=\/wp\/v2\/posts\/305","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/panda.deib.polimi.it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/panda.deib.polimi.it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/panda.deib.polimi.it\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/panda.deib.polimi.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=305"}],"version-history":[{"count":4,"href":"https:\/\/panda.deib.polimi.it\/index.php?rest_route=\/wp\/v2\/posts\/305\/revisions"}],"predecessor-version":[{"id":504,"href":"https:\/\/panda.deib.polimi.it\/index.php?rest_route=\/wp\/v2\/posts\/305\/revisions\/504"}],"wp:attachment":[{"href":"https:\/\/panda.deib.polimi.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=305"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/panda.deib.polimi.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=305"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/panda.deib.polimi.it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=305"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}