芯片公司开始搞自己的EDA?
似乎越来越多的公司正在创建自定义 EDA 工具,但尚不清楚这一趋势是否正在加速以及它对主流EDA行业意味着什么。
只要有变化,就有机会。变化可能来自新的抽象(abstractions)、新的优化选项(optimization)或强加于工具或流程的新限制。例如,摩尔定律的放缓意味着仅仅通过移动到下一个节点,无法在产品的特定版本之间取得足够的性能、功耗或成本进步。必须改进设计本身,或者重新设计产品。
一种开始进入设计方法的变化是从静态工具转向动态工具。静态工具将独立于任何特定用例或场景查看设计并对其进行优化。动态优化添加一个或多个场景作为优化过程的输入,允许工具执行更有针对性的优化。这始于执行时钟或电源门控时的电源优化,这曾经是静态操作。通过准确了解设计的各个部分需要如何以及何时激活,可以进一步改进这些技术。这也推动了处理器设计的复苏,可以创建最适合特定任务的定制处理器。
半导体公司总是创建一些自己的 EDA 工具。“在 80 年代,大多数半导体和 ASIC 公司都有自己的工具,” Imperas Software的创始人兼首席执行官 Simon Davidmann 说。“但随后出现了资源问题,客户需要更标准化的方法。该行业从设计和半导体公司的专有解决方案转变为由标准驱动的行业,试图构建适用于所有人的通用解决方案。”
还有一些专用工具的空间。“每个设计公司都有一些专属于他们的设计或数据管理问题,” Synopsys的技术策略师 Rob Aitken 说。“有时,在他们创建解决方案后,他们不希望竞争对手得到它,因此他们将其保留在内部。他们可能已经得出结论,这是解决它的唯一方法,并且可能出于多种原因,但最终更广泛适用的 EDA 解决方案可能对他们有用。”
工具总是处于不断变化的状态。“EDA 业务必须拥有足够大的市场,才能证明对工具的投资是合理的,”西门子 EDA设计验证技术战略总监 Neil Hand 说。“当涉及到特定行业、特定应用程序或特定领域的解决方案时,真正限制这一点的是问题的普遍化程度。然后第二部分是封装这种概括的语言或功能。”
有些领域(domains )足够大,可以支持专用解决方案。“特定领域并不是什么新鲜事物,”openROAD 的嵌入式企业家和承包商 Tom Feist 说。“FPGA 行业就是一个例子,EDA 和学术界通过包括 MATLAB、OpenCL、C/C++、Python 和基于 Simulink 的设计在内的解决方案来应对这一挑战。使用 National Instruments的LabVIEW就是另一个例子。”
在特异性和灵活性之间始终存在平衡。“特定领域的系统遇到了有趣的技术和经济问题重叠,”EDA 技术顾问 Duaine Pryor 说。“当你让它们足够通用以赢得一个证明领先发展合理的市场时,它们就会失去通过专业化获得的技术优势所带来的价值。当然,反过来也是如此。这会传播到整个价值链。”
市场和行业动态发生变化。“有些公司在其领域的最前沿拥有大量资源,试图找到比 EDA 公司能走得更远的方法,”Imperas 的 Davidmann 说。“这就是为什么一些公司被半导体公司收购的原因,他们在那里咀嚼和吐槽,以此作为在内部获得专业知识的一种方式。我确信 Apple 在 M1 和 M2 方面的成功是因为它们内部拥有如此多的工具。”
任何使用最新节点的人都知道它们面临的压力。Codasip的首席技术官 Zdeněk Přikryl 说:“随着半导体扩展速度放缓或失败,需要进行架构创新和特定领域的优化。” “提高抽象级别和高效的设计自动化可以加快设计周期,从而缩短上市时间。”
此外,许多新技术被插入到设计流程中。“每当您开始谈论新技术(例如光子学)时,您可能会发现市售产品与需求之间存在差距,” Cadence产品经理 Jeff Roane 说。“但一旦需要,这种差距很快就会缩小,以至于大型企业之一开发某些东西在财务上是有意义的。”
建立必要的专业知识需要时间。“量子 EDA 领域必须跨越物理和工程之间的障碍,”是德科技量子解决方案规划负责人 Mohamed Hassan 说。“这是一项艰巨的任务。这两个领域通常使用不同的术语和命名法。目前,量子硬件设计周期跨越多个领域的多个工具,以一种不和谐的方式,在它们之间存在多个差距,这些差距通常由高度依赖于设计师知识和经验的额外努力来填补。”
ESL的失败
上世纪 90 年代后期的电子系统级工作是尝试引入新的抽象和新的语言。Synopsys 的 Aitken 说:“它从广泛的目标开始,最后只针对以数据路径为中心和类似的算法简单的设计。”
对于作为该流程的一部分开发的一些工具,市场确实在继续增长和发展。“系统级协处理器硬件/软件协同设计和优化确实开始看起来更像是一种真正的颠覆,但它具有真正的'回到未来'的味道,”Pryor 说。“当许多系统——尤其是手机——获得更多的异构计算架构时,行业最初遇到了这个问题。产生了一些好的解决方案,但由于经济因素和工程孤岛的结合而成为利基产品。过去 20 年的优化设计、高级综合、特定领域语言和其他发展可能使该领域比千年更容易处理。”
ESL 也受到不断增长的 IP 市场的影响。“今天我们看到了工具加 IP 的概念,”Cadence 的 Roane 说。“你会看到处理器 IP、存储器 IP、互连 IP、接口 IP,甚至是当今高级综合所涵盖的算法内容。但是,如果您查看真正适合高级综合的设计类型,那就是算法设计。工具加 IP 的整个概念今天已经在发挥作用,你会看到更多。”
虚拟原型将它的许多部分组合在一起。“特定领域的 EDA 可能有助于生成部分虚拟原型,例如 SoC 中使用的处理器或其他组件,”Codasip 的 Přikryl 说。因此,一方面,特定领域的 EDA 由虚拟原型启用,其中每个垂直领域都通过适合这些功能的专用流程显着加速和优化。如果我将软件世界与软件世界相提并论,我们可以用多种语言编写代码,并将所有内容在链接器中粘合在一起。在硬件领域也是如此。我们只是使用不同的集成方法。”
随着抽象的提出,工作负载变得越来越重要。“多年前,您可以优化布局中的功率,而这正是人们真正能做的,”西门子的 Hand 说。“然后权力成为综合和实施权衡的一部分。然后它成为高级综合权衡的一部分。现在它已成为处理器优化权衡的一部分,我们将继续前进,它将成为系统级权衡的一部分。”
这些工作负载正在推动设计实践。“超大规模制造商正在进行芯片设计,因为他们的特定工作负载是独一无二的,并且不同于他们的供应商试图瞄准的目标工作负载,”Roane 补充道。“你可以使用现成的处理器来完成这些任务,但在功耗方面会付出高昂的代价。与自定义实现相比,您可能不会获得最佳性能。我们今天看到很多超大规模厂商都在进行芯片设计,因为他们试图降低功耗并提高他们独有的特定工作负载的性能。”
机器学习也在创造一些独特的流程。“我们看到许多特定领域的架构语言正在被创建,”Aitken 说。“当你从 EDA 的角度考虑它时,这绝对是一些定制设计方法的机会,从你用来描述这些东西的语言开始。针对特定结构优化的综合流程与现在存在的综合流程有何不同?你如何定制一个将产生定制块的算法?”
工具开发
过去,许多特定领域的工具都来自初创公司。“他们会看到客户要求 EDA 无法满足的需求的机会,”Davidmann 说。“由于 RISC-V 产生的需求以及对处理器验证生态系统的需求,我们从模拟公司转向验证。有少数公司因为客户需要而构建解决方案,但大型EDA公司还没有实现这个,小公司正在创造这个,随着时间的推移也会有整合。”
这也激发了人们对开源 EDA 的兴趣。“使用开源的一个令人信服的理由是能够根据他们的特殊需求修改工具,”openROAD 的 Feist 说。“这可能是为了安全或利用机器学习等功能。谷歌一直是开源的大力支持者,这并不是因为这些工具对他们来说太贵了。这是因为他们想要竞争优势,如果他们将秘诀提供给 EDA 供应商,那么每个人都拥有它。”
efabless 已将一个这样的开源流程(如图 1 所示)放在一起。
一些大型 EDA 公司正在顺应这一趋势。“开放标准允许人们插入流程,”Hand 说。“将接口添加到工具中的能力很重要,学术合作也很重要。传统上,这是 EDA 确实需要改进的领域之一。过去曾发生过学术界和 EDA 之间密切合作的案例。在最近的一段时间里,这种情况已经消失了,我们需要重新开始。”
一个驱动因素可能是访问数据。“超大规模用户花费大量时间收集数据、处理数据并阻止彼此访问他们的数据,”Aitken 说。“在芯片数据方面,考虑片上监视器。您可以在芯片运行时使用这些来收集信息,并且可以学习一些东西。大型EDA公司不会给你数据。他们为您提供了一种方法来收集您自己的数据并用它做任何您想做的事情。还有一个 ML 风格的角色,其中相关数据存在于 Synopsys 和用户群中。例如,当一个工具或流程有一堆旋钮时,当你以不同的方式调整它们时会发生什么?你从哪里得到最好的答案?”
Hand对此表示同意。“我们与客户合作,并在工具中添加了接口,使他们能够提取信息并将其放入数据湖中。然后他们可以使用有关其设计的信息进行自己的深入分析,并且他们正在构建自己的能力。这对于他们的需求来说可能是独一无二的,因为他们正在利用这样一个事实,即他们可以应用有关设计的其他信息。我们不知道这些信息。”他接着说
工具的创建通常需要多个人聚集在一起。是德科技的 Hassan 说:“量子 EDA 被设想为一种软件和工具,可以简化工作流程并实现量子硬件设计的自动化,无论是基于超导量子位、俘获离子、自旋量子位、集成光学器件还是冷原子。” “硬件基础跨越了广泛的发展领域,从超导微波电路到光学和集成光子学,这扩大了量子 EDA 的机会,但也使集中精力面临挑战。陡峭的知识壁垒使许多工程师无法进入这个热门的新兴领域,这与当前成熟的 EDA 设计周期的设计方式非常不同,例如设计集成电路。”
在其他情况下,应用程序领域对现有工具和低点提出了新的要求。“自动驾驶汽车,无论是机器人、汽车还是飞机,都会带来一系列全新的要求,”Hand 说。“它增加了新的功能安全方面,或者对必须在整个流程中进行管理的非确定性的新关注。”
简单的更改可能会产生重大影响。Aitken 说:“如果您查看多芯片系统,您开始在其中整合常规 CMOS 之外的东西——无论它们是新型存储器还是来自不同工艺的 CMOS——您就会遇到问题。”“你可以强制一套现有的 EDA 工具来处理它,你可以强制一套现有的关于利润应该如何工作以及签核应该如何工作的假设。但是,当您想要做得比这更好时,您真的应该重新考虑一些流程,即您如何为信号、电源、时钟等领域构建相当于领域特定 EDA 的内容 ,在一个封装内跨多芯片系统迁移。这是一种不同于现有 EDA 解决方案的动物。”
这是 EDA 课程的标准。“随着每一代产品的出现,无论是用于新节点还是用于新应用程序,EDA 都会得到扩展并创造新的机会,”Hand 说。“就功能覆盖而言,今天的 EDA 行业看起来与以往完全不同。它不再只是一个模拟器、一个综合工具和一个布局工具。它已经远远超出了这一点。我们在底部添加了更多内容,在顶部添加了更多内容,但它通过使用更多可用的信息为优化创造了新的机会。”
它一直是推和拉的结合。“总是有两种动力,”Roane说。“一个是 EDA 公司将尝试预测并因此推动的地方。另一个动态是他们的客户,即半导体公司,将根据他们正在做的事情创造需求拉动。在一个完美的世界里,这两种力量都会对齐。就它们而言,这意味着新工具或技术的成功。但它们通常没有对齐。有时你会等待那场完美的风暴发生。”
结论
今天可能会创建更多的内部 EDA 工具,因为该行业正朝着许多新方向发展。摩尔定律的放缓导致公司关注许多新技术、解决方案和优化,而这些需求需要时间才能整合成标准流程可以涵盖的东西。该行业充满活力,这只是增长的一个指标。