{"id":2221,"date":"2021-10-20T14:26:31","date_gmt":"2021-10-20T18:26:31","guid":{"rendered":"https:\/\/blogs.sw.siemens.com\/partners\/?p=2221"},"modified":"2026-03-26T12:50:49","modified_gmt":"2026-03-26T16:50:49","slug":"avoid-delays-in-fpga-and-asic-projects","status":"publish","type":"post","link":"https:\/\/blogs.sw.siemens.com\/partners\/avoid-delays-in-fpga-and-asic-projects\/","title":{"rendered":"How to avoid delays in field-programmable gate array &#038; application-specific integrated circuit projects"},"content":{"rendered":"\n<p>Most field-programmable gate arrays (FPGA), and often also application-specific integrated circuits (ASIC):, could be designed far more efficiently and with fewer bug iterations at all levels. By efficiency, one should consider detected delays and the fact that we could reduce a lot of wasted time already included in our planning. The same principle applies to bugs. There are always going to be bugs in complex designs, but there are far too many.<\/p>\n\n\n\n<p><br>In fact, we have a huge improvement potential for both development time and quality. The best way to realize most of this potential is a good design architecture. Using on top of the <a href=\"https:\/\/eda.sw.siemens.com\/en-US\/ic\/questa\" target=\"_blank\" rel=\"noreferrer noopener\">Questa functional verification environment<\/a> from Siemens EDA will further drive up the improvements.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"386\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/21\/2021\/10\/an-illustration-of-good-architecture-1024x386.png\" alt=\"an illustration of good architecture in FPGA &amp; ASIC projects\" class=\"wp-image-2233\" srcset=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/21\/2021\/10\/an-illustration-of-good-architecture-1024x386.png 1024w, https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/21\/2021\/10\/an-illustration-of-good-architecture-600x226.png 600w, https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/21\/2021\/10\/an-illustration-of-good-architecture-768x289.png 768w, https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/21\/2021\/10\/an-illustration-of-good-architecture-900x339.png 900w, https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/21\/2021\/10\/an-illustration-of-good-architecture.png 1450w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Avoid delays and bugs<\/h2>\n\n\n\n<p>There could be many reasons for delays and\/or the bugs mentioned above, but bad architecture is the most common. It doesn\u2019t even have to be bad, but it\u2019s just not good enough for the given specification complexity. As a design center for various customers, we often see this problem, strangely enough, in designs from both customers and their consultants. The root cause for this is that digital design architecture and making good block diagrams is not something students learn at the university \u2013 or at least very far from sufficient. What is quite a bit worse is that a significant number of experienced designers also do not handle this correctly.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Industry examples of bad architecrure<\/h2>\n\n\n\n<p>Through more than 20 years as a consultant, I have seen and heard of many extreme consequences of lousy architecture. These are just some examples of actual product delays:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>One year delay after \u201cdesign is ready,\u201d due to numerous iterations of patching and testing<\/li><li>Eight months delay caused by not being able to achieve timing closure<\/li><li>Eight months delay, due to not handling the required functionality<\/li><li>Six months wait due to terrible state machines<\/li><\/ul>\n\n\n\n<p>All of these were only or close to only caused entirely by lousy architecture. I have seen similar examples of bugs escaping all tests and turning up in the customers\u2019 products, which is mainly caused by a bad architecture. These examples might look extreme, but there are many similar examples \u2013 and of course, even more examples with \u201conly\u201d half the delays. The <a href=\"https:\/\/verificationacademy.com\/seminars\/2020-functional-verification-study\" target=\"_blank\" rel=\"noreferrer noopener\">Wison Research Group study<\/a>, commissioned by Siemens EDA, states that about 2\/3 of the design projects are behind schedule. This trend has continued to be true since at least 2012. Logical\/functional flaws responsible for bug escapes are dominating with about 50%.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Need a microarchitecture all the way down<\/h2>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"639\" height=\"232\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/21\/2021\/10\/an-illustration-of-good-architecture-2.png\" alt=\"an illustration of good architecture in FPGA &amp; ASIC projects\" class=\"wp-image-2237\" srcset=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/21\/2021\/10\/an-illustration-of-good-architecture-2.png 639w, https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/21\/2021\/10\/an-illustration-of-good-architecture-2-600x218.png 600w\" sizes=\"auto, (max-width: 639px) 100vw, 639px\" \/><\/figure><\/div>\n\n\n\n<p>In most projects, there is a well-defined top-level architecture with clearly defined high-level modules, bus systems, reset and clock systems, etc. However, &#8211; very few projects have defined the microarchitecture all the way down. Many designers and project managers make lots of excuses for not doing this, but it is proven again and again that such a microarchitecture is by far the best approach.<\/p>\n\n\n\n<p><br>The initial figure and the figure above are typical examples of microarchitectures, clearly showing the architecture inside a module. In contrast, the figure below takes this one step further and shows the lowest microarchitecture level in a communication interface. While this is quite detailed, it reduces the total development time and improves the module quality.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"699\" height=\"333\" src=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/21\/2021\/10\/an-illustration-of-good-architecture-3.png\" alt=\"an illustration of good architecture in FPGA &amp; ASIC projects\" class=\"wp-image-2238\" srcset=\"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/21\/2021\/10\/an-illustration-of-good-architecture-3.png 699w, https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/21\/2021\/10\/an-illustration-of-good-architecture-3-600x286.png 600w\" sizes=\"auto, (max-width: 699px) 100vw, 699px\" \/><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Good architecture influences everything<\/h2>\n\n\n\n<p>I have concentrated here on how the design architecture affects development time and product quality, but in fact, a good design architecture will also improve other crucial aspects of field-programmable gate array (FPGA) and application-specific integrated circuit (ASIC) design:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Power consumption<\/li><li>Timing and Timing closure<\/li><li>Verification space<\/li><li>Simpler debugging<\/li><li>Modified reuse<\/li><li>Specification changes and Iterations<\/li><li>Corner cases<\/li><li>Walkthrough and Review<\/li><\/ul>\n\n\n\n<p>Strangely enough, there seems to be very little attention on these aspects in the universities and most Digital Design courses, which is why these aspects have been given extra attention in our <a href=\"https:\/\/emlogic.no\/wp-content\/uploads\/2021\/02\/Accellerating_FPGA_Design.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">two-day design course<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Verification architecture is equally important<\/h2>\n\n\n\n<p>The verification architecture does not affect the FPGA timing or Power consumption, but it certainly significantly affects the total development time and final product quality. For Very High-Speed Integrated Circuit Hardware Description Language (VHDL) verification, however, <a href=\"https:\/\/emlogic.no\/wp-content\/uploads\/2021\/01\/Advanced_VHDL_Verification_vjan21.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Universal Verification Methodology (UVVM)<\/a> comes to the rescue. It provides a very structured testbench architecture, allowing the testbench development time to be drastically reduced while at the same time significantly improving the functional coverage. Siemens EDA is a key supporter of UVVM via the Questa Advanced Verification platform.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The architecture paradox<\/h2>\n\n\n\n<p>Making a good design architecture, unfortunately, has one bizarre side effect. Creating outstanding architecture for a rather complex specification, other designers \u2013 and reviewers in particular \u2013 will think \u2018this was a simple task.\u2019 Compared to a rubbish architecture where nobody has a chance to understand the code and design properly and are just impressed that you managed to get such a complex module to work at all.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The only sensible solution<\/h2>\n\n\n\n<p>A good Design Architecture will help you reduce development time, increase quality, and improve all-important design characteristics. Unfortunately, this is not fully understood or neglected by project managers and the designers themselves. Therefore, better awareness of the benefits of an exemplary architecture is perhaps a priority in most companies. As it really should be, but it is currently not priority one.<\/p>\n\n\n\n<p><br>Then it would be best if you assured that your designers know or learn how to make a good design architecture. Introduce implementation proposal and early architecture walkthrough\/review in your development flow, and of course, ensure that a good design architecture becomes a part of your development culture. If you would like guidance with your FPGA or ASIC design please visit EmLogic.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">About EmLogic and the author<\/h2>\n\n\n\n<p><a href=\"https:\/\/emlogic.no\/\" target=\"_blank\" rel=\"noreferrer noopener\">EmLogic<\/a> is a leading Nordic design center for field-programmable gate array (FPGA) and Embedded Systems. As quality and efficiency are essential for our customers, architectural thinking is vital in our development methodology.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.linkedin.com\/in\/espentallaksen\/\" target=\"_blank\" rel=\"noreferrer noopener\">Espen Tallaksen<\/a>, CEO of EmLogic, is the author and architect of UVVM and the founder of Bitvis (2012-2019) and EmLogic (founded January 2021). He has a strong interest in methodology cultivation, pragmatic efficiency, and quality improvement, and he has given many presentations at various international conferences with great feedback. He has also delivered courses on FPGA Design and Verification on three different continents.<\/p>\n\n\n\n<p>EmLogic is a Siemens Digital Industries <a href=\"https:\/\/www.plm.automation.siemens.com\/global\/en\/our-story\/partners\/software-technology.html\" target=\"_blank\" rel=\"noreferrer noopener\">Software Software and Technology Partner<\/a>. <a href=\"https:\/\/blogs.sw.siemens.com\/partners\/what-is-a-siemens-software-and-technology-partner\/\" target=\"_blank\" rel=\"noreferrer noopener\">Software and Technology partners are leaders<\/a> in their domain and leverage the open Xcelerator portfolio to provide customers with a comprehensive set of integrated solutions.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Most field-programmable gate arrays (FPGA), and often also application-specific integrated circuits (ASIC):, could be designed far more efficiently and with&#8230;<\/p>\n","protected":false},"author":18475,"featured_media":2232,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spanish_translation":"","french_translation":"","german_translation":"","italian_translation":"","polish_translation":"","japanese_translation":"","chinese_translation":"","footnotes":""},"categories":[3,2],"tags":[63,27],"industry":[93],"product":[286,287,288],"coauthors":[491],"class_list":["post-2221","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-featured","category-news","tag-siemens-partners","tag-software-and-technology-partners","industry-electronics-semiconductors","product-questa","product-questa-verification-ip","product-questa-verification-ip-oem-editions"],"featured_image_url":"https:\/\/blogs.sw.siemens.com\/wp-content\/uploads\/sites\/21\/2021\/10\/blue-circuit-board-with-binary-numbers_medium.jpeg","_links":{"self":[{"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/posts\/2221","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/users\/18475"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/comments?post=2221"}],"version-history":[{"count":5,"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/posts\/2221\/revisions"}],"predecessor-version":[{"id":2256,"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/posts\/2221\/revisions\/2256"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/media\/2232"}],"wp:attachment":[{"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/media?parent=2221"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/categories?post=2221"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/tags?post=2221"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/industry?post=2221"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/product?post=2221"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/partners\/wp-json\/wp\/v2\/coauthors?post=2221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}