{"id":2040,"date":"2017-01-11T04:05:43","date_gmt":"2017-01-11T04:05:43","guid":{"rendered":"http:\/\/support.plunify.com\/en\/?p=1914"},"modified":"2017-01-11T04:05:43","modified_gmt":"2017-01-11T04:05:43","slug":"who-says-you-cant-use-random-seeds-in-vivado","status":"publish","type":"post","link":"https:\/\/support.plunify.com\/jp\/2017\/01\/11\/who-says-you-cant-use-random-seeds-in-vivado\/","title":{"rendered":"Who says you can&#8217;t use random seeds in Vivado?"},"content":{"rendered":"<p>It is common knowledge that Vivado uses an analytical place and route engine for better and more predictable design\u00a0closure, and in the process, got rid of the \"cost table\" (also commonly known as random seeds) user options.<\/p>\n<p>What may be less well-known is that designers still have ways to introduce randomness into Vivado placement, and achieve\u00a0different performance results. We have first-hand accounts from multiple customers relating how they got 10s of nanoseconds of TNS\u00a0fluctuations, by simply making minute tweaks that do not affect the functionality at all. These fluctuations can go either way, reminiscent of the effects of cost tables or placement seeds.<\/p>\n<p>Without talking too much Chaos Theory and butterflies flapping their wings from across the ocean, this approach is not a hack but a method to subtly introducing various stimuli into relevant parts of the design flow so that Vivado will attempt different calculations and end up with different (and potentially better!) results for the otherwise unmodified design.<\/p>\n<p>InTime's implementation requires that your design be routed beforehand, and contains false timing paths. Here is how to use the new <em>Placement Exploration<\/em> recipe for Vivado:<\/p>\n<ol>\n<li>Open your routed project or DCP in InTime<\/li>\n<li>From the recipes dropdown, click and select the <em>Placement Exploration<\/em>\u00a0recipe.<br \/>\n<img loading=\"lazy\" class=\"alignnone size-full wp-image-1933\" src=\"http:\/\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2017\/01\/button_placement_exploration.png\" alt=\"button_placement_exploration\" width=\"299\" height=\"131\" \/><\/li>\n<li>Specify the number of different results you want in the \"Runs per Round\" flow property (10 in this example).<br \/>\n<img loading=\"lazy\" class=\"alignnone size-full wp-image-1934\" src=\"http:\/\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2017\/01\/property_runs_per_round.png\" alt=\"property_runs_per_round\" width=\"214\" height=\"45\" \/><\/li>\n<li>Click \"Start Recipe\" to start running.<\/li>\n<\/ol>\n<p>The following images show the chip view of the implemented design, before and after the <em>Placement Exploration<\/em>:<\/p>\n<table border=\"0.1\" align=\"center\">\n<tbody>\n<tr>\n<td style=\"text-align: center\">Before<\/td>\n<td style=\"text-align: center\">After<\/td>\n<\/tr>\n<tr>\n<td><img loading=\"lazy\" class=\"alignnone size-medium wp-image-1918 aligncenter\" src=\"http:\/\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2017\/01\/cpu_before-145x300.png\" alt=\"cpu_before\" width=\"145\" height=\"300\" \/><\/td>\n<td><img loading=\"lazy\" class=\"size-medium wp-image-1919 aligncenter\" src=\"http:\/\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2017\/01\/cpu_after-148x300.png\" alt=\"cpu_after\" width=\"148\" height=\"300\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"text-align: center\">Noticeable placement differences<br \/>\nprior to (left) and after (right) running <em>Placement Exploration<\/em>.<\/p>\n<p style=\"text-align: left\">Querying one of the affected cells via:<br \/>\n<span style=\"color: #3366ff\"><code>get_property LOC [get_cells mgtEngine\/no_chipscope.gt3_rxuserrdy_r_reg]<\/code><\/span>,<\/p>\n<p style=\"text-align: left\">before running the recipe,\u00a0the cell above was at <code>SLICE_X52Y100<\/code>, but after the placement was stimulated, this cell was shifted to <code>SLICE_X38Y126<\/code>. More importantly, the TNS improved by 78ns -- without changing the design at all.<\/p>\n<p style=\"text-align: left\">As randomness is involved, not all results generated via the new <em>Placement Exploration<\/em> recipe will be good, but it is a painless approach with no impact on functionality -- certainly something worth <a href=\"http:\/\/www.plunify.com\/en\/evalregister.php\">trying<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It is common knowledge that Vivado uses an analytical place and route engine for better and more predictable design\u00a0closure, and in the process, got rid of the &#8220;cost table&#8221; (also commonly known as random seeds) user options. What may be less well-known is that designers still have ways to introduce randomness into Vivado placement, and [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":1958,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_links_to":"","_links_to_target":""},"categories":[99,98],"tags":[100,34,102],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v17.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Who says you can&#039;t use random seeds in Vivado? - 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\/2017\/01\/11\/who-says-you-cant-use-random-seeds-in-vivado\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Who says you can&#039;t use random seeds in Vivado? - Plunify \u65e5\u672c\u8a9e\u30d8\u30eb\u30d7\u30c7\u30b9\u30af\" \/>\n<meta property=\"og:description\" content=\"It is common knowledge that Vivado uses an analytical place and route engine for better and more predictable design\u00a0closure, and in the process, got rid of the &quot;cost table&quot; (also commonly known as random seeds) user options. What may be less well-known is that designers still have ways to introduce randomness into Vivado placement, and [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/support.plunify.com\/jp\/2017\/01\/11\/who-says-you-cant-use-random-seeds-in-vivado\/\" \/>\n<meta property=\"og:site_name\" content=\"Plunify \u65e5\u672c\u8a9e\u30d8\u30eb\u30d7\u30c7\u30b9\u30af\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-11T04:05:43+00:00\" \/>\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=\"2 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\/2017\/01\/11\/who-says-you-cant-use-random-seeds-in-vivado\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"\",\"contentUrl\":\"\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/support.plunify.com\/jp\/2017\/01\/11\/who-says-you-cant-use-random-seeds-in-vivado\/#webpage\",\"url\":\"https:\/\/support.plunify.com\/jp\/2017\/01\/11\/who-says-you-cant-use-random-seeds-in-vivado\/\",\"name\":\"Who says you can't use random seeds in Vivado? - 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\/2017\/01\/11\/who-says-you-cant-use-random-seeds-in-vivado\/#primaryimage\"},\"datePublished\":\"2017-01-11T04:05:43+00:00\",\"dateModified\":\"2017-01-11T04:05:43+00:00\",\"author\":{\"@id\":\"https:\/\/support.plunify.com\/jp\/#\/schema\/person\/0702317d75b841ce991ca9936b72f8b0\"},\"breadcrumb\":{\"@id\":\"https:\/\/support.plunify.com\/jp\/2017\/01\/11\/who-says-you-cant-use-random-seeds-in-vivado\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/support.plunify.com\/jp\/2017\/01\/11\/who-says-you-cant-use-random-seeds-in-vivado\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/support.plunify.com\/jp\/2017\/01\/11\/who-says-you-cant-use-random-seeds-in-vivado\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/support.plunify.com\/jp\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Who says you can&#8217;t use random seeds in Vivado?\"}]},{\"@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":"Who says you can't use random seeds in Vivado? - 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\/2017\/01\/11\/who-says-you-cant-use-random-seeds-in-vivado\/","og_locale":"en_US","og_type":"article","og_title":"Who says you can't use random seeds in Vivado? - Plunify \u65e5\u672c\u8a9e\u30d8\u30eb\u30d7\u30c7\u30b9\u30af","og_description":"It is common knowledge that Vivado uses an analytical place and route engine for better and more predictable design\u00a0closure, and in the process, got rid of the \"cost table\" (also commonly known as random seeds) user options. What may be less well-known is that designers still have ways to introduce randomness into Vivado placement, and [&hellip;]","og_url":"https:\/\/support.plunify.com\/jp\/2017\/01\/11\/who-says-you-cant-use-random-seeds-in-vivado\/","og_site_name":"Plunify \u65e5\u672c\u8a9e\u30d8\u30eb\u30d7\u30c7\u30b9\u30af","article_published_time":"2017-01-11T04:05:43+00:00","twitter_card":"summary_large_image","twitter_misc":{"Written by":"plunify","Est. reading time":"2 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\/2017\/01\/11\/who-says-you-cant-use-random-seeds-in-vivado\/#primaryimage","inLanguage":"en-US","url":"","contentUrl":""},{"@type":"WebPage","@id":"https:\/\/support.plunify.com\/jp\/2017\/01\/11\/who-says-you-cant-use-random-seeds-in-vivado\/#webpage","url":"https:\/\/support.plunify.com\/jp\/2017\/01\/11\/who-says-you-cant-use-random-seeds-in-vivado\/","name":"Who says you can't use random seeds in Vivado? - 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\/2017\/01\/11\/who-says-you-cant-use-random-seeds-in-vivado\/#primaryimage"},"datePublished":"2017-01-11T04:05:43+00:00","dateModified":"2017-01-11T04:05:43+00:00","author":{"@id":"https:\/\/support.plunify.com\/jp\/#\/schema\/person\/0702317d75b841ce991ca9936b72f8b0"},"breadcrumb":{"@id":"https:\/\/support.plunify.com\/jp\/2017\/01\/11\/who-says-you-cant-use-random-seeds-in-vivado\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/support.plunify.com\/jp\/2017\/01\/11\/who-says-you-cant-use-random-seeds-in-vivado\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/support.plunify.com\/jp\/2017\/01\/11\/who-says-you-cant-use-random-seeds-in-vivado\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/support.plunify.com\/jp\/"},{"@type":"ListItem","position":2,"name":"Who says you can&#8217;t use random seeds in Vivado?"}]},{"@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\/2040"}],"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=2040"}],"version-history":[{"count":0,"href":"https:\/\/support.plunify.com\/jp\/wp-json\/wp\/v2\/posts\/2040\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/support.plunify.com\/jp\/wp-json\/wp\/v2\/media\/1958"}],"wp:attachment":[{"href":"https:\/\/support.plunify.com\/jp\/wp-json\/wp\/v2\/media?parent=2040"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/support.plunify.com\/jp\/wp-json\/wp\/v2\/categories?post=2040"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/support.plunify.com\/jp\/wp-json\/wp\/v2\/tags?post=2040"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}