设计重用和抽象

IP重用减少了更高层次的抽象的紧迫性在复杂的系统级设计,但是仍然可以改变的。

受欢迎程度

芯片设计者不断寻找一个硬件描述语言抽象级别高于RTL几十年。但并非所有人都朝着那个方向,通过设计重用似乎有足够的可用选项阻止这种转变对于许多芯片制造商。

推到一个新的水平的抽象是频繁的话题的讨论在设计的世界里,尤其是在高级节点的复杂性可以很快变得难以管理。在1990年代末和2000年代,一些人认为高级合成可能接管。虽然HLS发现了一个利基,广泛应用这种技术还没有发生。现在,由于广泛的预定义的元素和组件的设计重用,甚至似乎不太可能,另一个抽象层将被添加到促进普遍的自顶向下的设计至少目前如此。事实上,许多讨论的重点是更少的另一个抽象级别和更多的什么可以而且应该在设计重用越来越被认为在一个更广泛的系统。

“由于复杂性,一切都加剧了,”Frank Schirrmeister说,高级组产品管理主管节奏系统&验证组。“系统设计只是变得更复杂。你怎么得到的系统,系统的系统集成?没有方法来描述整个系统从上到下,然后细化和实施一切。真是一个中间相遇方法,一些新组件的你开发这些东西。但大多数是组装和重用,相互验证,以确保组件的工作。”

系统开发人员创建复杂系统,从飞机到汽车的讨论越来越多地涉及到整个飞机或汽车,让他们问什么是需要建立的。

“这就是multi-fidelity规范的概念,“Schirrmeister说。“有时会有系统的一部分是完全虚拟的,就像一个虚拟节点ECU的一辆车,在车里和其他元素。你必须重用硅。你需要董事会插入它。对于其他组件,您只有RTL。有什么统一的要求吗?这些都是真正的系统级设计问题。”

今天许多设计团队采取“分而治之”的方法来管理复杂性。“你基本上试图定义适当的不同组件之间的接口,然后遵守这些接口,希望一切顺利,”他说。“有时你找到有人测量界面),另一个在米,他们不适合在一起。但是希望这些类型的问题不经常发生。”

的一个关键方法做这个工作是系统建模,周围还有更多的活动multi-fidelity变量,可以整合在一个模拟器模拟的环境。把不同的元素时,这可能是有用的设计在不同的抽象级别,Schirrmeister说。

帮助支持的IP重用,而不是一个新的抽象级别,因为它可以针对系统需求定制。

“第三方知识产权的可用性,如高速接口的技术节点所需的芯片系统设计师,协助系统设计是关键原因,“说Navraj Nandra, IP接口的产品营销高级总监Synopsys对此。“重要的是接口IP协议标准满足合规要求。USB的最新版本,PCI Express和DDR,说7纳米硅经过测试,如果适用,标志认证。这使得systems-on-chip包括非常复杂的高速接口满足成本和上市时间要求。没有第三方知识产权的可用性,很多systems-on-chip无法实现,或迟到市场,或没有最新版本的界面。”

不足为奇的是,机器学习和ADAS是两个当前驱动程序要求下一代的接口。来支持这些机器学习、ADAS和物联网edge-based系统、IP提供商如Synopsys对此DDR5, HBM2E LPDDR5, USB 3.2,作为PCIe 5.0节点可用的最新技术。

“芯片制造商预计更多的从他们的IP供应商,“Nandra指出。“硬件和软件复杂性的增加,设计团队需要可配置,添加IP子系统提供完整、复杂的功能准备整合原有,或可修改。一个关键方面是理解集成挑战。信号完整性和电源完整性(SI /π)分析高速接口评估所需的芯片上的解耦电容,力量比地面销,和高速存储器接口PHY和SDRAM,终止策略,SoC包装设计,PCB层叠和跟踪宽/间距,和读/写/地址/命令/控制时间预算。”


图1:集成挑战可以通过SI /π分析解决。来源:Synopsys对此

IP复用系统设计还可以帮助增长和规模快得多。

“肯定会有更多的空间集成商重用IP,它允许开发的重点是新功能和算法而不是系统的公共元素,”博Zalewski说,总经理,硬件部门Aldec。这使得复杂项目的范围较小的设计团队,可用系统的重用和定制。设计工程师可以重用处理器和GPU IPs和发展所需的功能。这种方法专门工程市场。有IP开发公司,集成开发人员团队和新硬件。当然,系统级设计仍然是做的很好,但这类项目的复杂性和成本大幅增加,这使得它更容易为较小的工程团队。”

年龄因素
然而,并不是每个人都走同一条道路和一个关键变量是设计团队的年龄。

“基本上,在RTL今天一切都做的,”沃利莱茵说,总裁兼首席执行官导师,西门子业务。“但随着复杂性的增加,你需要一个更高层次的抽象。我们要去高级合成。我们要去开发数据路径。所有这些将实行人工智能算法设计使用高级设计。有产品在市场上自1993年以来,但现在所发生的是整个基础设施。你可以做设计,验证在C / c++的水平。现在世界已可用的能力。问题是谁去。它似乎是,就像上次一样,新的大学毕业生。 It’s the Googles and Facebooks and Amazons. These people have already adopted it. They’re writing the core functionality for data processing in C, and synthesized and verified at a high level. They’re looking at alternatives. They’re analyzing power dissipation.”

因此,尽管设计重用是解决这个问题的一种方式,这当然不是唯一的方法。开发设计从一开始就在一个更高的抽象层次也适用。“他们所做的权衡,性能和面积,在第二层次的抽象,”莱茵说。”这对RTL一样会发生,但是你想要使用适当的抽象为你在做什么。控制逻辑将保持它在哪里。但RTL设计师发现从C,他们可以做一个大份额的早期设计和权衡分析。这将是下一个抽象波。”

IP重用的一个最初的司机是更容易验证复杂的系统设计的需要。

“挑战与验证它是越来越糟了中期的90年代,我们试图找到方法来改进,”首席执行官Simon Davidmann说治之。”其中一个解决方案来提高生产力,而不是验证一切,如果你能购买的IP块,现在它被称为,non-differentiated RTL的构建块,标准组件,可以添加吗?如果你把手臂从何而来,企业建立自己的处理器,有非常复杂的一旦你试图运行Linux。因此他们的想法是,手臂和MIPS卖给你一个解决方案,这是一个添加大块RTL提供功能,真的不应该大多数公司的核心竞争力。他们想要运行软件,他们想要设计他们的硬件加速器和定制的边缘。”

从验证的角度来看,引进大量的RTL是一件好事,因为它提高了生产率。

“许多人认为他们可以设计这些IP块,但好处是,他们证明工作作为标准硅几次,如果他们去“Davidmann说。“你已经摆脱了很多块的验证。所有您需要做的集成测试。我们遇到过公司,也许100或150个不同的外围设备在设备上,以及主处理器,以及许多不同的块。挑战是,现在仍然是,如何处理,从施工的角度,以及验证。在电子系统级别的一个问题是当你有一个大的SoC与所有这些组件,如何联系他们?这仍然需要一个聪明的架构师。但是,块时,它是一个不同的游戏,因为在一块,你可以指定一个算法,然后你几乎可以自动实现该算法。SystemC和行为的成功合成之一(现在称为高级合成)曾在实现算法代码。”

产品管理主管戴夫•Pursley在数字&组节奏签收,HLS也有类似的看法。“高级合成显然是一个实现技术,所以它属于数字实现,但是,它有最大的影响在流实际上是在验证方面。的一件事是一个很有趣的整个系统设计的一部分,很多时候你重用块的90%,安排他们,连接你的需要,那么设计或购买另外的10%。但是如果你有更高水平的IP,即使90%你重用,这是可塑的。你可以改变它,让它跑得更快或慢或较低的权力,都是相同的IP。虽然它使IP重用,它复杂的方式允许您创建更优的soc。”

所以当一个单一的、自上而下的可执行文件不存在,有自称如Schirrmeister顽固不化。“在过去的美好时代,我想SysML将接管世界,而且它还没有。你总是可以辩论的绝对正确性加里史密斯用于显示的图表,也是用来设置,但原则是正确的。如果我们没有了生产力的改善随着时间的推移,设计不可能在今天的成本。我们只需要记住的复杂性这些天我们正在建设相当大,和增长,如果我们没有实现了随着时间的推移提高生产力成本会完全禁止入内的。在一天结束的时候,对于系统的系统,分而治之,适当定义的接口和软件编程所有导致装配系统的能力和优化它的需要后,你不需要一个完整的系统级规范所有的可执行文件和驱动实现。”

在这一点上,整个行业意见不一。“分而治之没有杀自上而下的系统设计,”塞吉奥Marchese说,技术营销经理OneSpin解决方案。“事实上,它使它。拥有高质量的IP与一个定义良好的、可配置的,行为作为构建块是至关重要的快速整合复杂系统可靠地工作。从系统到系统复杂性的系统,然而,是否一样的范式。没有替代目前新兴的。”

很明显,IP重用没有出轨的系统设计。但它至少延迟转移到更高层次的抽象许多芯片制造商。“系统设计,总是连接大块,而不管他们的流程或IP或IP你设计自己,“Davidmann说。“你仍然需要的方式将这些系统在一起,这就是系统设计。IP所做的就是让设计师问,“而不是构建这一块,我应该让它吗?如果我做,我应该做它在RT水平或更高层次的抽象,而不是设计或SystemC SystemVerilog等英语语言。“IP并没有出轨。事实上,它使我们能够构建系统。与此同时,你可能会说,如果我们有一个更好的高级语言,我们可以实现一切。我们不需要一个处理器和加速器和C软件运行。我们可以描述事物在高级语言Matlab,按一个按钮,和繁荣,与硅会来的。”

最后,所有的新技术如机器学习,数据中心和汽车,新的芯片设计需要考虑所有的需求。“这意味着系统级设计仍将增长设计系统体系结构,基于IP重用和专用模块的开发,“Aldec的Zalewski说。

编者斯珀林对此报道亦有贡献。



1评论

使 说:

一个很自然的结论是,你不能减少这样的问题至少magnitude-N ^ 5 magnitude-N由所谓的“高水平的抽象”。太多的抽象实际上的意思是“你不完全知道自己在做什么”,但必须有别人知道。显然需要一个数学系统把芯片完全“设计和实现”或“抽象”在大脑或电脑。就像核弹一样,在一个成熟的理论结构构造之前,人们需要引爆炸弹物理/在地上而不是“抽象”爆炸在电脑。

留下一个回复


(注意:这个名字会显示公开)

Baidu