{"id":2038,"date":"2016-12-01T08:14:12","date_gmt":"2016-12-01T08:14:12","guid":{"rendered":"http:\/\/support.plunify.com\/en\/?p=1845"},"modified":"2016-12-01T08:14:12","modified_gmt":"2016-12-01T08:14:12","slug":"self-driving-fpga-tools","status":"publish","type":"post","link":"https:\/\/support.plunify.com\/jp\/2016\/12\/01\/self-driving-fpga-tools\/","title":{"rendered":"Self-driving FPGA tools"},"content":{"rendered":"<p>The notion of a self-driving or autonomous vehicle is firmly embedded in the collective consciousness; we've come quite a way since the days when such things were the stuff of <a href=\"https:\/\/www.inverse.com\/article\/21337-self-driving-cars-science-fiction\">science fiction<\/a>. Now everyone knows what a self-driving car is, and quite possible has seen <a href=\"https:\/\/www.cnet.com\/roadshow\/news\/heres-what-teslas-self-driving-autopilot-system-sees-in-real-time\/\">one in action<\/a>\u00a0on nearby roads.<\/p>\n<p style=\"text-align: center\"><img loading=\"lazy\" class=\"size-medium wp-image-1875 aligncenter\" src=\"http:\/\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2016\/12\/Mars_Science_Laboratory_Curiosity_rover-300x169.jpg\" alt=\"mars_science_laboratory_curiosity_rover\" width=\"300\" height=\"169\" \/>In search of timing closure...<\/p>\n<p>But has anyone heard of a self-driving FPGA tool?<\/p>\n<p>The need for one is articulated nicely in this recent <a href=\"http:\/\/www.eejournal.com\/archives\/articles\/20161110-fpgatools\/\">EE Journal article<\/a> by Kevin Morris. Previously, the calls for a more automated, more intuitive FPGA tool may have arisen more from an ease of use perspective, but now, I believe that it is more a question of how to close timing faster, how to increase system performance via tools that work unobtrusively, efficiently while you focus on more important design-related tasks.<\/p>\n<p>Well, look no further than our very own InTime tool as a starting point. InTime is a design optimiser precisely designed to work on your FPGA design in the background while you focus on the truly important parts of the design. Just like how a self-driving car takes care of choosing the best route to your destination instead of choosing the destination. As mentioned in the <a href=\"http:\/\/www.eejournal.com\/archives\/articles\/20161110-fpgatools\/\">article<\/a> cited above, of course we as designers need all the knobs and fine control provided by the synthesis and place-and-route tools -- that requirement doesn't change. But sometimes, increasingly so, all we'd like to do is to \"get from here to a spot just on the other side of the parking lot.\" without having to \"take a space shuttle.\"<\/p>\n<p>InTime will open your FPGA project as is, and start running when you hit the \"Start Recipe\" button -- that's it. The tool first reads your existing design's timing, utilisation and power estimation results (or re-compile if necessary), and then runs multiple instances of synthesis and place-&amp;-route with different tool knobs to \"drive\" the design towards timing closure, all in the background. Think of it as starting InTime before you leave the office and coming back in the morning to see results.<\/p>\n<p>Unlike\u00a0self-driving cars, the most dramatic\u00a0consequences that can occur\u00a0from using InTime are limited to resource overfits and perhaps pointed glances\u00a0from the IT department about an increase in machine resource usage (more efficient usage of servers, if I may add) resulting from running multiple compilations at the same time. To alleviate this, InTime kills jobs automatically past a certain runtime that you can specify.<\/p>\n<p>InTime is not a cure-all, of course, but given enough compilations, 99% of the time it always improves \u00a0design performance.<\/p>\n<p>One frequently-mentioned aspect of self-driving vehicles is the machine learning. When presented with new data, the system will learn from it to avoid future pitfalls and further optimise the route(s) using the terrain as a reference. Similarly, InTime will encounter\u00a0failing results as it tries different, sometimes aggressive, combinations of parameters. However, not a single compile cycle\u00a0is\u00a0wasted\u00a0in this process as the tool actually builds\u00a0a \"design brain\" within your company \/ firewall that is used to generate parameters as it chugs along. As your internal design brain grows steadily, the time to design closure will decrease.<\/p>\n<p>InTime can certainly be considered a self-driving FPGA tool, and has been autonomously optimising customer designs since 2014. Care to <a href=\"http:\/\/www.plunify.com\/en\/evalregister.php\">take it for a spin<\/a> (http:\/\/www.plunify.com\/en\/evalregister.php)?<\/p>\n<p><strong>Sources<\/strong>:<br \/>\nhttp:\/\/www.eejournal.com\/archives\/articles\/20161110-fpgatools\/, Kevin Morris, EE Journal, Nov 9, 2016<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The notion of a self-driving or autonomous vehicle is firmly embedded in the collective consciousness; we&#8217;ve come quite a way since the days when such things were the stuff of science fiction. Now everyone knows what a self-driving car is, and quite possible has seen one in action\u00a0on nearby roads. In search of timing closure&#8230; [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_links_to":"","_links_to_target":""},"categories":[99],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v17.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Self-driving FPGA tools - Plunify \u65e5\u672c\u8a9e\u30d8\u30eb\u30d7\u30c7\u30b9\u30af<\/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:\/\/support.plunify.com\/jp\/2016\/12\/01\/self-driving-fpga-tools\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Self-driving FPGA tools - Plunify \u65e5\u672c\u8a9e\u30d8\u30eb\u30d7\u30c7\u30b9\u30af\" \/>\n<meta property=\"og:description\" content=\"The notion of a self-driving or autonomous vehicle is firmly embedded in the collective consciousness; we&#039;ve come quite a way since the days when such things were the stuff of science fiction. Now everyone knows what a self-driving car is, and quite possible has seen one in action\u00a0on nearby roads. In search of timing closure... [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/support.plunify.com\/jp\/2016\/12\/01\/self-driving-fpga-tools\/\" \/>\n<meta property=\"og:site_name\" content=\"Plunify \u65e5\u672c\u8a9e\u30d8\u30eb\u30d7\u30c7\u30b9\u30af\" \/>\n<meta property=\"article:published_time\" content=\"2016-12-01T08:14:12+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2016\/12\/Mars_Science_Laboratory_Curiosity_rover-300x169.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"plunify\" \/>\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\":\"WebSite\",\"@id\":\"https:\/\/support.plunify.com\/jp\/#website\",\"url\":\"https:\/\/support.plunify.com\/jp\/\",\"name\":\"Plunify \\u65e5\\u672c\\u8a9e\\u30d8\\u30eb\\u30d7\\u30c7\\u30b9\\u30af\",\"description\":\"Plunify \\u65e5\\u672c\\u8a9e\\u30b5\\u30dd\\u30fc\\u30c8\\u30b5\\u30a4\\u30c8\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/support.plunify.com\/jp\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/support.plunify.com\/jp\/2016\/12\/01\/self-driving-fpga-tools\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"http:\/\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2016\/12\/Mars_Science_Laboratory_Curiosity_rover-300x169.jpg\",\"contentUrl\":\"http:\/\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2016\/12\/Mars_Science_Laboratory_Curiosity_rover-300x169.jpg\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/support.plunify.com\/jp\/2016\/12\/01\/self-driving-fpga-tools\/#webpage\",\"url\":\"https:\/\/support.plunify.com\/jp\/2016\/12\/01\/self-driving-fpga-tools\/\",\"name\":\"Self-driving FPGA tools - Plunify \\u65e5\\u672c\\u8a9e\\u30d8\\u30eb\\u30d7\\u30c7\\u30b9\\u30af\",\"isPartOf\":{\"@id\":\"https:\/\/support.plunify.com\/jp\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/support.plunify.com\/jp\/2016\/12\/01\/self-driving-fpga-tools\/#primaryimage\"},\"datePublished\":\"2016-12-01T08:14:12+00:00\",\"dateModified\":\"2016-12-01T08:14:12+00:00\",\"author\":{\"@id\":\"https:\/\/support.plunify.com\/jp\/#\/schema\/person\/0702317d75b841ce991ca9936b72f8b0\"},\"breadcrumb\":{\"@id\":\"https:\/\/support.plunify.com\/jp\/2016\/12\/01\/self-driving-fpga-tools\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/support.plunify.com\/jp\/2016\/12\/01\/self-driving-fpga-tools\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/support.plunify.com\/jp\/2016\/12\/01\/self-driving-fpga-tools\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/support.plunify.com\/jp\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Self-driving FPGA tools\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/support.plunify.com\/jp\/#\/schema\/person\/0702317d75b841ce991ca9936b72f8b0\",\"name\":\"plunify\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/support.plunify.com\/jp\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/79e7edc12624b682db2df4112ff7210b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/79e7edc12624b682db2df4112ff7210b?s=96&d=mm&r=g\",\"caption\":\"plunify\"},\"url\":\"https:\/\/support.plunify.com\/jp\/author\/plunify\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Self-driving FPGA tools - Plunify \u65e5\u672c\u8a9e\u30d8\u30eb\u30d7\u30c7\u30b9\u30af","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:\/\/support.plunify.com\/jp\/2016\/12\/01\/self-driving-fpga-tools\/","og_locale":"en_US","og_type":"article","og_title":"Self-driving FPGA tools - Plunify \u65e5\u672c\u8a9e\u30d8\u30eb\u30d7\u30c7\u30b9\u30af","og_description":"The notion of a self-driving or autonomous vehicle is firmly embedded in the collective consciousness; we've come quite a way since the days when such things were the stuff of science fiction. Now everyone knows what a self-driving car is, and quite possible has seen one in action\u00a0on nearby roads. In search of timing closure... [&hellip;]","og_url":"https:\/\/support.plunify.com\/jp\/2016\/12\/01\/self-driving-fpga-tools\/","og_site_name":"Plunify \u65e5\u672c\u8a9e\u30d8\u30eb\u30d7\u30c7\u30b9\u30af","article_published_time":"2016-12-01T08:14:12+00:00","og_image":[{"url":"http:\/\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2016\/12\/Mars_Science_Laboratory_Curiosity_rover-300x169.jpg"}],"twitter_card":"summary_large_image","twitter_misc":{"Written by":"plunify","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/support.plunify.com\/jp\/#website","url":"https:\/\/support.plunify.com\/jp\/","name":"Plunify \u65e5\u672c\u8a9e\u30d8\u30eb\u30d7\u30c7\u30b9\u30af","description":"Plunify \u65e5\u672c\u8a9e\u30b5\u30dd\u30fc\u30c8\u30b5\u30a4\u30c8","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/support.plunify.com\/jp\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https:\/\/support.plunify.com\/jp\/2016\/12\/01\/self-driving-fpga-tools\/#primaryimage","inLanguage":"en-US","url":"http:\/\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2016\/12\/Mars_Science_Laboratory_Curiosity_rover-300x169.jpg","contentUrl":"http:\/\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2016\/12\/Mars_Science_Laboratory_Curiosity_rover-300x169.jpg"},{"@type":"WebPage","@id":"https:\/\/support.plunify.com\/jp\/2016\/12\/01\/self-driving-fpga-tools\/#webpage","url":"https:\/\/support.plunify.com\/jp\/2016\/12\/01\/self-driving-fpga-tools\/","name":"Self-driving FPGA tools - Plunify \u65e5\u672c\u8a9e\u30d8\u30eb\u30d7\u30c7\u30b9\u30af","isPartOf":{"@id":"https:\/\/support.plunify.com\/jp\/#website"},"primaryImageOfPage":{"@id":"https:\/\/support.plunify.com\/jp\/2016\/12\/01\/self-driving-fpga-tools\/#primaryimage"},"datePublished":"2016-12-01T08:14:12+00:00","dateModified":"2016-12-01T08:14:12+00:00","author":{"@id":"https:\/\/support.plunify.com\/jp\/#\/schema\/person\/0702317d75b841ce991ca9936b72f8b0"},"breadcrumb":{"@id":"https:\/\/support.plunify.com\/jp\/2016\/12\/01\/self-driving-fpga-tools\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/support.plunify.com\/jp\/2016\/12\/01\/self-driving-fpga-tools\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/support.plunify.com\/jp\/2016\/12\/01\/self-driving-fpga-tools\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/support.plunify.com\/jp\/"},{"@type":"ListItem","position":2,"name":"Self-driving FPGA tools"}]},{"@type":"Person","@id":"https:\/\/support.plunify.com\/jp\/#\/schema\/person\/0702317d75b841ce991ca9936b72f8b0","name":"plunify","image":{"@type":"ImageObject","@id":"https:\/\/support.plunify.com\/jp\/#personlogo","inLanguage":"en-US","url":"https:\/\/secure.gravatar.com\/avatar\/79e7edc12624b682db2df4112ff7210b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/79e7edc12624b682db2df4112ff7210b?s=96&d=mm&r=g","caption":"plunify"},"url":"https:\/\/support.plunify.com\/jp\/author\/plunify\/"}]}},"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/support.plunify.com\/jp\/wp-json\/wp\/v2\/posts\/2038"}],"collection":[{"href":"https:\/\/support.plunify.com\/jp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/support.plunify.com\/jp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/support.plunify.com\/jp\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/support.plunify.com\/jp\/wp-json\/wp\/v2\/comments?post=2038"}],"version-history":[{"count":0,"href":"https:\/\/support.plunify.com\/jp\/wp-json\/wp\/v2\/posts\/2038\/revisions"}],"wp:attachment":[{"href":"https:\/\/support.plunify.com\/jp\/wp-json\/wp\/v2\/media?parent=2038"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/support.plunify.com\/jp\/wp-json\/wp\/v2\/categories?post=2038"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/support.plunify.com\/jp\/wp-json\/wp\/v2\/tags?post=2038"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}