{"id":1600,"date":"2012-01-20T08:22:00","date_gmt":"2012-01-20T08:22:00","guid":{"rendered":"http:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/"},"modified":"2017-11-01T02:19:52","modified_gmt":"2017-11-01T02:19:52","slug":"biggest-challenges-in-fpga-design","status":"publish","type":"post","link":"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/","title":{"rendered":"Biggest Challenges in FPGA Design"},"content":{"rendered":"<p><\/p>\n<div style=\"text-align: justify\">\n<div style=\"margin-bottom: 0px;margin-left: 0px;margin-right: 0px;margin-top: 0px\">A poll on the challenges associated with FPGA design in an FPGA discussion group on LinkedIn caught my attention recently. Conducted by Cuong Nguyen from EDA Direct, <a href=\"http:\/\/www.linkedin.com\/groupItem?view=&amp;gid=54049&amp;type=member&amp;item=88013245&amp;qid=39b2cb2d-5cf8-4bc2-8df1-f2aec91ba602&amp;trk=group_most_popular-0-b-ttl&amp;goback=.gmp_54049\" target=\"_blank\">it<\/a> drew several lengthy comments.<\/p>\n<table align=\"center\" cellpadding=\"0\" cellspacing=\"0\" style=\"margin-left: auto;margin-right: auto;text-align: center\">\n<tbody>\n<tr>\n<td style=\"text-align: center\"><a href=\"https:\/\/i1.wp.com\/3.bp.blogspot.com\/-kp9bnXL7gw0\/T0IPxFOfOwI\/AAAAAAAAAMA\/Js1aIgwwECw\/s1600\/Screen+Shot+2012-02-20+at+5.11.21+PM.png?ssl=1\" style=\"margin-left: auto;margin-right: auto\"><img loading=\"lazy\" border=\"0\" height=\"211\" src=\"https:\/\/i1.wp.com\/3.bp.blogspot.com\/-kp9bnXL7gw0\/T0IPxFOfOwI\/AAAAAAAAAMA\/Js1aIgwwECw\/s320\/Screen+Shot+2012-02-20+at+5.11.21+PM.png?resize=320%2C211&#038;ssl=1\" width=\"320\" data-recalc-dims=\"1\" \/><\/a><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\">Poll: FPGA Design Challenges<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><\/div>\n<\/div>\n<div>\n<div style=\"clear: both;text-align: center\"><\/div>\n<\/div>\n<div>\n<div style=\"text-align: justify\">\n<div style=\"margin-bottom: 0px;margin-left: 0px;margin-right: 0px;margin-top: 0px\">My vote went to Timing Closure - definitely one of the most frustrating and time-consuming classes of problems for me. Unlike functional bugs, timing problems can be rather unpredictable because there are more dependencies on the rest of the system, and also because different synthesis and place-and-route tools have their own unique options that can improve \/ worsen timing scores unexpectedly. This seems especially true when a design exceeds ~75% utilization and above. Which reminds me of a restriction placed on the FPGA team at a user's company where, at the code development phase, no design was allowed to exceed 70% total utilization.<\/div>\n<\/div>\n<div style=\"text-align: justify\">\n<div style=\"margin-bottom: 0px;margin-left: 0px;margin-right: 0px;margin-top: 0px\"><\/div>\n<\/div>\n<div style=\"text-align: justify\">\n<div style=\"margin-bottom: 0px;margin-left: 0px;margin-right: 0px;margin-top: 0px\">The closer it gets to the deadline, the more urgent it is for the designer to find a timing solution without changing too much of the design. Upstream changes are rarely welcomed so if a tool option can result in positive slack, that would be very much preferred.<\/div>\n<\/div>\n<div style=\"text-align: justify\">\n<div style=\"margin-bottom: 0px;margin-left: 0px;margin-right: 0px;margin-top: 0px\"><\/div>\n<\/div>\n<div style=\"text-align: justify\">\n<div style=\"margin-bottom: 0px;margin-left: 0px;margin-right: 0px;margin-top: 0px\">One rather brute-force approach that I've used before was to run a design against almost every conceivable tool option and just select the best results. Of course, that's assuming one has sufficient licenses, enough servers and suitable scripting experience, otherwise it is going to be very time- and resource-consuming. Over time, we've figured out a more optimized set of options that perform well for different designs, and are now pairing those with cloud computing resources to get a good blend of options vs tools+hardware. This approach has been working very well so far and we're improving it as we get more designs.<\/div>\n<\/div>\n<div style=\"margin-bottom: 0px;margin-left: 0px;margin-right: 0px;margin-top: 0px\"><\/div>\n<div style=\"margin-bottom: 0px;margin-left: 0px;margin-right: 0px;margin-top: 0px\">What's the most challenging thing that you've faced in FPGA design?<\/div>\n<div style=\"margin-bottom: 0px;margin-left: 0px;margin-right: 0px;margin-top: 0px\"><\/div>\n<div style=\"margin-bottom: 0px;margin-left: 0px;margin-right: 0px;margin-top: 0px\">- harnhua<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>A poll on the challenges associated with FPGA design in an FPGA discussion group on LinkedIn caught my attention recently. Conducted by Cuong Nguyen from EDA Direct, it drew several lengthy comments. Poll: FPGA Design Challenges My vote went to Timing Closure &#8211; definitely one of the most frustrating and time-consuming classes of problems for [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"_links_to":"","_links_to_target":""},"categories":[205],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v17.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Biggest Challenges in FPGA Design - Plunify Blog &amp; Support<\/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\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Biggest Challenges in FPGA Design - Plunify Blog &amp; Support\" \/>\n<meta property=\"og:description\" content=\"A poll on the challenges associated with FPGA design in an FPGA discussion group on LinkedIn caught my attention recently. Conducted by Cuong Nguyen from EDA Direct, it drew several lengthy comments. Poll: FPGA Design Challenges My vote went to Timing Closure - definitely one of the most frustrating and time-consuming classes of problems for [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/\" \/>\n<meta property=\"og:site_name\" content=\"Plunify Blog &amp; Support\" \/>\n<meta property=\"article:published_time\" content=\"2012-01-20T08:22:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-11-01T02:19:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/3.bp.blogspot.com\/-kp9bnXL7gw0\/T0IPxFOfOwI\/AAAAAAAAAMA\/Js1aIgwwECw\/s320\/Screen+Shot+2012-02-20+at+5.11.21+PM.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirvy Teo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/support.plunify.com\/en\/#organization\",\"name\":\"Plunify-Support\",\"url\":\"https:\/\/support.plunify.com\/en\/\",\"sameAs\":[],\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/support.plunify.com\/en\/#logo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/i1.wp.com\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2016\/05\/Plunify_Logo_Outline_TranspBG_sm.png?fit=600%2C159&ssl=1\",\"contentUrl\":\"https:\/\/i1.wp.com\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2016\/05\/Plunify_Logo_Outline_TranspBG_sm.png?fit=600%2C159&ssl=1\",\"width\":600,\"height\":159,\"caption\":\"Plunify-Support\"},\"image\":{\"@id\":\"https:\/\/support.plunify.com\/en\/#logo\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/support.plunify.com\/en\/#website\",\"url\":\"https:\/\/support.plunify.com\/en\/\",\"name\":\"Plunify Blog &amp; Support\",\"description\":\"Everything you need to know about Plunify products\",\"publisher\":{\"@id\":\"https:\/\/support.plunify.com\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/support.plunify.com\/en\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/3.bp.blogspot.com\/-kp9bnXL7gw0\/T0IPxFOfOwI\/AAAAAAAAAMA\/Js1aIgwwECw\/s320\/Screen+Shot+2012-02-20+at+5.11.21+PM.png\",\"contentUrl\":\"https:\/\/3.bp.blogspot.com\/-kp9bnXL7gw0\/T0IPxFOfOwI\/AAAAAAAAAMA\/Js1aIgwwECw\/s320\/Screen+Shot+2012-02-20+at+5.11.21+PM.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/#webpage\",\"url\":\"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/\",\"name\":\"Biggest Challenges in FPGA Design - Plunify Blog &amp; Support\",\"isPartOf\":{\"@id\":\"https:\/\/support.plunify.com\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/#primaryimage\"},\"datePublished\":\"2012-01-20T08:22:00+00:00\",\"dateModified\":\"2017-11-01T02:19:52+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/support.plunify.com\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Biggest Challenges in FPGA Design\"}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/#webpage\"},\"author\":{\"@id\":\"https:\/\/support.plunify.com\/en\/#\/schema\/person\/e837e6c73fa6ac9d51563659f5703277\"},\"headline\":\"Biggest Challenges in FPGA Design\",\"datePublished\":\"2012-01-20T08:22:00+00:00\",\"dateModified\":\"2017-11-01T02:19:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/#webpage\"},\"wordCount\":304,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/support.plunify.com\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/3.bp.blogspot.com\/-kp9bnXL7gw0\/T0IPxFOfOwI\/AAAAAAAAAMA\/Js1aIgwwECw\/s320\/Screen+Shot+2012-02-20+at+5.11.21+PM.png\",\"articleSection\":[\"General\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/#respond\"]}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/support.plunify.com\/en\/#\/schema\/person\/e837e6c73fa6ac9d51563659f5703277\",\"name\":\"Kirvy Teo\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/support.plunify.com\/en\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/774c97d4bacda481b716e8168ce23aad?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/774c97d4bacda481b716e8168ce23aad?s=96&d=mm&r=g\",\"caption\":\"Kirvy Teo\"},\"url\":\"https:\/\/support.plunify.com\/en\/author\/kirvy\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Biggest Challenges in FPGA Design - Plunify Blog &amp; Support","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\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/","og_locale":"en_US","og_type":"article","og_title":"Biggest Challenges in FPGA Design - Plunify Blog &amp; Support","og_description":"A poll on the challenges associated with FPGA design in an FPGA discussion group on LinkedIn caught my attention recently. Conducted by Cuong Nguyen from EDA Direct, it drew several lengthy comments. Poll: FPGA Design Challenges My vote went to Timing Closure - definitely one of the most frustrating and time-consuming classes of problems for [&hellip;]","og_url":"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/","og_site_name":"Plunify Blog &amp; Support","article_published_time":"2012-01-20T08:22:00+00:00","article_modified_time":"2017-11-01T02:19:52+00:00","og_image":[{"url":"https:\/\/3.bp.blogspot.com\/-kp9bnXL7gw0\/T0IPxFOfOwI\/AAAAAAAAAMA\/Js1aIgwwECw\/s320\/Screen+Shot+2012-02-20+at+5.11.21+PM.png"}],"twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirvy Teo","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Organization","@id":"https:\/\/support.plunify.com\/en\/#organization","name":"Plunify-Support","url":"https:\/\/support.plunify.com\/en\/","sameAs":[],"logo":{"@type":"ImageObject","@id":"https:\/\/support.plunify.com\/en\/#logo","inLanguage":"en-US","url":"https:\/\/i1.wp.com\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2016\/05\/Plunify_Logo_Outline_TranspBG_sm.png?fit=600%2C159&ssl=1","contentUrl":"https:\/\/i1.wp.com\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2016\/05\/Plunify_Logo_Outline_TranspBG_sm.png?fit=600%2C159&ssl=1","width":600,"height":159,"caption":"Plunify-Support"},"image":{"@id":"https:\/\/support.plunify.com\/en\/#logo"}},{"@type":"WebSite","@id":"https:\/\/support.plunify.com\/en\/#website","url":"https:\/\/support.plunify.com\/en\/","name":"Plunify Blog &amp; Support","description":"Everything you need to know about Plunify products","publisher":{"@id":"https:\/\/support.plunify.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/support.plunify.com\/en\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/#primaryimage","inLanguage":"en-US","url":"https:\/\/3.bp.blogspot.com\/-kp9bnXL7gw0\/T0IPxFOfOwI\/AAAAAAAAAMA\/Js1aIgwwECw\/s320\/Screen+Shot+2012-02-20+at+5.11.21+PM.png","contentUrl":"https:\/\/3.bp.blogspot.com\/-kp9bnXL7gw0\/T0IPxFOfOwI\/AAAAAAAAAMA\/Js1aIgwwECw\/s320\/Screen+Shot+2012-02-20+at+5.11.21+PM.png"},{"@type":"WebPage","@id":"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/#webpage","url":"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/","name":"Biggest Challenges in FPGA Design - Plunify Blog &amp; Support","isPartOf":{"@id":"https:\/\/support.plunify.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/#primaryimage"},"datePublished":"2012-01-20T08:22:00+00:00","dateModified":"2017-11-01T02:19:52+00:00","breadcrumb":{"@id":"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/support.plunify.com\/en\/"},{"@type":"ListItem","position":2,"name":"Biggest Challenges in FPGA Design"}]},{"@type":"Article","@id":"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/#article","isPartOf":{"@id":"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/#webpage"},"author":{"@id":"https:\/\/support.plunify.com\/en\/#\/schema\/person\/e837e6c73fa6ac9d51563659f5703277"},"headline":"Biggest Challenges in FPGA Design","datePublished":"2012-01-20T08:22:00+00:00","dateModified":"2017-11-01T02:19:52+00:00","mainEntityOfPage":{"@id":"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/#webpage"},"wordCount":304,"commentCount":1,"publisher":{"@id":"https:\/\/support.plunify.com\/en\/#organization"},"image":{"@id":"https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/#primaryimage"},"thumbnailUrl":"https:\/\/3.bp.blogspot.com\/-kp9bnXL7gw0\/T0IPxFOfOwI\/AAAAAAAAAMA\/Js1aIgwwECw\/s320\/Screen+Shot+2012-02-20+at+5.11.21+PM.png","articleSection":["General"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/support.plunify.com\/en\/2012\/01\/20\/biggest-challenges-in-fpga-design\/#respond"]}]},{"@type":"Person","@id":"https:\/\/support.plunify.com\/en\/#\/schema\/person\/e837e6c73fa6ac9d51563659f5703277","name":"Kirvy Teo","image":{"@type":"ImageObject","@id":"https:\/\/support.plunify.com\/en\/#personlogo","inLanguage":"en-US","url":"https:\/\/secure.gravatar.com\/avatar\/774c97d4bacda481b716e8168ce23aad?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/774c97d4bacda481b716e8168ce23aad?s=96&d=mm&r=g","caption":"Kirvy Teo"},"url":"https:\/\/support.plunify.com\/en\/author\/kirvy\/"}]}},"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7XiEH-pO","_links":{"self":[{"href":"https:\/\/support.plunify.com\/en\/wp-json\/wp\/v2\/posts\/1600"}],"collection":[{"href":"https:\/\/support.plunify.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/support.plunify.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/support.plunify.com\/en\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/support.plunify.com\/en\/wp-json\/wp\/v2\/comments?post=1600"}],"version-history":[{"count":2,"href":"https:\/\/support.plunify.com\/en\/wp-json\/wp\/v2\/posts\/1600\/revisions"}],"predecessor-version":[{"id":2854,"href":"https:\/\/support.plunify.com\/en\/wp-json\/wp\/v2\/posts\/1600\/revisions\/2854"}],"wp:attachment":[{"href":"https:\/\/support.plunify.com\/en\/wp-json\/wp\/v2\/media?parent=1600"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/support.plunify.com\/en\/wp-json\/wp\/v2\/categories?post=1600"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/support.plunify.com\/en\/wp-json\/wp\/v2\/tags?post=1600"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}