{"id":148,"date":"2020-01-30T15:59:00","date_gmt":"2020-01-30T20:59:00","guid":{"rendered":"https:\/\/blogs.sw.siemens.com\/hlsdesign-verification\/?p=148"},"modified":"2026-03-26T15:59:14","modified_gmt":"2026-03-26T19:59:14","slug":"semiengineering-divided-on-system-partitioning","status":"publish","type":"post","link":"https:\/\/blogs.sw.siemens.com\/hlsdesign-verification\/2020\/01\/30\/semiengineering-divided-on-system-partitioning\/","title":{"rendered":"SemiEngineering: Divided On System Partitioning"},"content":{"rendered":"\n<p>Excerpt from article: \u201c<a href=\"https:\/\/semiengineering.com\/divided-on-system-partitioning\/\" target=\"_blank\" rel=\"noreferrer noopener\">Divided On System Partitioning<\/a>\u201d<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Building an optimal implementation of a system using a functional description has been an industry goal for a long time, but it has proven to be much more difficult than it sounds.<\/p><p>The general idea is to take software designed to run on a processor and to improve performance using various types of alternative hardware. That performance can be specified in various ways and for specific applications. The problems start when you try to automate the function, especially when the starting point for software is probably in pure&nbsp;<a href=\"https:\/\/semiengineering.com\/knowledge_centers\/languages\/c-c\/\" target=\"_blank\" rel=\"noopener\">C or C++<\/a>. These are very general-purpose languages, which makes them very difficult to analyze and manipulate for anything other than a defined instruction set processor.<\/p><p>Today\u2019s systems often contain multiple heterogenous processors, including DSPs, GPUs and various sizes of CPUs. They also may contain programmable fabrics, and some pieces of the system require custom accelerators.<\/p><p><strong>Sticking with software<\/strong><\/p><p>Software has a lot of positive characteristics. \u201cMost notably, it can be updated in the field,\u201d says Russell Klein, HLS platform director at <a href=\"https:\/\/semiengineering.com\/entities\/mentor-a-siemens-business\/\" target=\"_blank\" rel=\"noreferrer noopener\">Siemens EDA<\/a>. \u201cToday it can often be updated over the air, sometimes without any assistance from the end user. This means you can fix bugs and add features, which you can\u2019t do with fixed hardware. Keeping things in software minimizes risk, not just during development but over the lifetime of the product. So anything that can be in software, should be in software.\u201d<\/p><\/blockquote>\n\n\n\n<p>Read the entire article on <a href=\"https:\/\/semiengineering.com\/divided-on-system-partitioning\/\" target=\"_blank\" rel=\"noreferrer noopener\">SemiEngineering <\/a>originally published on January 30th, 2020.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Excerpt from article: \u201cDivided On System Partitioning\u201d Building an optimal implementation of a system using a functional description has been&#8230;<\/p>\n","protected":false},"author":77876,"featured_media":0,"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":[1],"tags":[378],"industry":[],"product":[84],"coauthors":[349],"class_list":["post-148","post","type-post","status-publish","format-standard","hentry","category-news","tag-system-partitioning","product-catapult"],"_links":{"self":[{"href":"https:\/\/blogs.sw.siemens.com\/hlsdesign-verification\/wp-json\/wp\/v2\/posts\/148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.sw.siemens.com\/hlsdesign-verification\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.sw.siemens.com\/hlsdesign-verification\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/hlsdesign-verification\/wp-json\/wp\/v2\/users\/77876"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/hlsdesign-verification\/wp-json\/wp\/v2\/comments?post=148"}],"version-history":[{"count":2,"href":"https:\/\/blogs.sw.siemens.com\/hlsdesign-verification\/wp-json\/wp\/v2\/posts\/148\/revisions"}],"predecessor-version":[{"id":150,"href":"https:\/\/blogs.sw.siemens.com\/hlsdesign-verification\/wp-json\/wp\/v2\/posts\/148\/revisions\/150"}],"wp:attachment":[{"href":"https:\/\/blogs.sw.siemens.com\/hlsdesign-verification\/wp-json\/wp\/v2\/media?parent=148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/hlsdesign-verification\/wp-json\/wp\/v2\/categories?post=148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/hlsdesign-verification\/wp-json\/wp\/v2\/tags?post=148"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/hlsdesign-verification\/wp-json\/wp\/v2\/industry?post=148"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/hlsdesign-verification\/wp-json\/wp\/v2\/product?post=148"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/hlsdesign-verification\/wp-json\/wp\/v2\/coauthors?post=148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}