为什么芯片上会设计冗余电路?
扫描二维码
随时随地手机看文章
冗余电路会升高成本,降低性能和提升功耗。但实际上又真的能删减多少呢?当人们被问到这个问题的时候往往会比较保守或者认为这是展现架构,设计过程以及IP优势的好机会。IP供应商也是这样认为。其他人则指出,冗余电路的整体概念有点奇怪,因为它是试图以合理价格获得足够好上市产品的自然产物。
芯片制造商试图利用额外面积有很多原因:
• 余量 添加额外的电路虽然会耗费更多的金钱,但是它允许芯片制造商缓冲时序问题以及处理可能存在的变化。
• 成熟度 使用已经被验证过的IP可以降低风险,即使它可能提供比所需更多的功能。
• 可扩展性 在新的或者竞争激烈的行业中,留下空间和连接端口来集成额外的功能至关重要,因为有可能这些芯片在上市之前就已经过时了。
• 灵活性 应用处理器可能是执行特定功能最有效的方法,它们能提供安全性,灵活性和可扩展性。
• 不断发展的标准 在汽车或者通讯等新兴和不断变化的市场中,标准的变化几乎是无法避免的。拥有在不完全重做芯片而不断更新标准的能力长久看来可以节省不少时间和金钱。
几乎所有人都认为冗余电路可以减少,问题是可以减少多少以及需要的代价。
冗余电路与经济
Achronix营销副总裁Steve Mensor表示:“纵观所有设计,很少有人能说‘我完全使用了所有的逻辑功能与内存’。对于板级FPGA来说,公司可能只会使用其中一半的功能,而另一半并没有使用的需求,或者找不到适当的资源平衡来获得更高的利用率。”
冗余电路必须以正确的术语来定义
Flex Logix首席执行官Geoffrey Tate表示:“作为IP供应商,我们正在努力实现利润最大化,而客户也正在努力实现利润最大化。他们希望得到可以获得的最优化的IP,但最大限度地减少浪费并不客观。在考虑其他重要因素(如成本,可用性以及在硅片上已验证的IP)时,要尽可能接近他们想要的。”
Mobivil首席执行官Ravi Thummarukudy也肯定了已验证IP的价值:“在物理知识产权领域,工作的价值比优化设计更重要。如果有人拥有了能正常工作的IP,那么即使它们具有稍微不同的功能,他们也会选择已验证的IP,尽管它可能不是最优化的。”
不同设计类型之间的经济效益区别是很大的。Codasip的顾问Dan Ganousis说:“有很大一部分市场会为了减少风险而接受浪费。那些以9位数的预算和1500万美元到2000万美元的掩膜版构建10nm设计的人无法承受风险。越深入先进IC设计,风险就越小。新兴的物联网市场则与之相反。对于他们来说,产品上市时间比风险更重要,落后竞争对手六个月就不能发布产品了。我们也看到了很多真正关心低功耗和高安全性的人。”
IP的选择与配置
如何正确选择IP是设计的一部分。ClioSoft营销副总裁Ranjit Adhikary指出:“我们需要大量时间来正确地选择和鉴定IP。一个不好的IP选择可能会在以后的流程中引起问题。通过比较不同IP以及配置,可以很容易得到IP已通过验证的代工厂,开放问题等细节。我们针对不同应用场景使用不同的IP配置,并建立一个可分类的机制。”
对于IP供应商来讲,可配置性至关重要。 Silvaco IP部门总经理Warren Savage说:“可配置性是确保客户能够创造最佳设计的关键。但是,可配置性是给开发过程增加了大量成本,因为所有场景都需要验证。此外,我们必须付出巨大努力让客户清楚如何正确配置IP,并且确保所有参数有效。”
在很多情况下可配置性都成为了一个挑战。Synopsys的DesignWare模拟组和MSIP解决方案集团营销组高级主管Navraj Nandra说:“我们为DDR控制器提供了一个实用工具,这是一个可配置工具,允许客户根据运行模式,地址映射以及其面积/功率/延迟要求来得到不同的结果。一共有20个参数可供输入,通过这些参数可以得到一个优化的控制器RTL网表。没有这个实用工具,客户很难得到一个定制IP。”
选择参数也是一件很复杂的事情。Mobiveil的Thummarukudy说:“客户通常会有吞吐量/面积/功耗的要求,或者例如通道数量这样的特定需求。但是我们是精通每个协议,可以根据客户要求配置IP,所以控制器空间的浪费会少于其他人。“
在许多情况下,IP配置的应用程序可能变得与IP本身一样复杂
Nandra补充说道:“我们不想使用太多的配置选项以致于IP膨胀变大,所以我们选择以自下而上的方式将配置参数添加到工具中。这意味着我们需要不停积累系统知识。为了能做出正确的配置,你必须知道这些参数的用途。因此,IP和工具都会变得很复杂。这样的话,我们需要会配置IP参数或者客户自己能配置。”
为了确保有效性,需要仔细设计IP。Uniquify公司营销副总裁Graham Bell表示:“最大限度地减少IP的浪费取决于IP架构师的智慧。架构师搜寻一种可缩减和扩展的架构,并能提供所需的性能。新的创新架构是IP设计公司的宝贵财富。”
但是可配置性依然存在限制。Sonics首席技术官Drew Wingard说:“对于NoC设计,我们意识到将无法使用现有HDL的参数化功能。我们开始使用其他编程语言对RTL进行解释来达到灵活性和可配置性,因此可以选择性地启用功能并避免浪费。”
其他人则希望编译器能够创建高效的IP。西门子旗下Mentor公司IP部门总经理Farzad Zarrinfar说:“编译器可以用来产生最佳的IP模块。例如,客户可以在架构层面使用编译器对速度,面积和功耗进行权衡分析。或者,如果不需要某个多余的功能,编译器就会将之删除,使IP规模得以减小。”
Savage承认:“可配置IP的底线是从硅成本的角度来讲,不会比常用IP更高。通过可配置IP将产品推向市场的好处是成本更低,速度更快,安全性更高。”
可综合IP
再进一步扩展可能是将IP提升至更高的抽象层次,随之带来了几个问题。Codasip的Ganousis认为:“高层次设计在语言方面受到了阻挠。System C是一种很好的验证语言,但想要将其变为一种实现语言已被证明是很困难的。一种解决方法是降低语言的难度直至可以被编译,但是这样又失去了很多语言的能力和功能。此外,如何编写一个非常简洁的模式的能力对于大多数RTL编写者来说比较难达到。”[!--empirenews.page--]
在其他领域,技术是有所缺失的。“综合试图将目标功能最大化,”Wingard解释说。 “问题在于,目标功能在SoC的性能表现并不能用代数来描述。因此,我可以拥有一个围绕一组延迟约束进行优化的综合引擎,它甚至可以优化产出的约束,但是这些约束并不考虑内存控制器的实际表现,因为DRAM控制器的实际吞吐量取决于地址模式,突发长度和与其交互的组件的时域行为。 我们不知道任何一种可以在满足芯片性能需求的情况下处理大部分基础挑战的综合算法。”
硬核
硬核通常与行业标准接口相关。Cadence设计IP组设计工程总监Tom Wong说:“一级IP供应商现在都是非常专业的。我没有看到任何一家供应商在相同的代工厂的工艺节点中部署相同的IP,毕竟这与跟竞争对手比较还容易得多。对于硬核来讲,真正重要的是余量,质量,成熟度以及在硅片上得到验证。”
在这个层面上有很多区分的方法。Synopsys的Nandra解释了为什么外形可以成为区分的一个因素:“大型应用处理器正在尝试将大量接口IP放在芯片的边缘,并且它们是由I / O限制。仅是减小功能模块的大小是无济于事的,因为并没有增加引脚。这些客户希望PHY高而瘦,以便IP具有不影响边界的宽高比。在数据中心市场,他们更看重的是性能,采用在芯片顶层使用复杂的bump方案。他们希望IP宽且短,这样信号和地的引脚可以在顶层金属匹配对应的层次。”
Cadence的Wong增加了另一种区分方式。“在某些情况下,单个PHY同时支持DDR3 / 3L,DDR4和LPDDR3 / 4接口,这样我们可以使用组合DDR / LPDDR PHY。好处是可以往后兼容,所以SoC在市场上可能存在五年或更长时间。可以在出现价格交叉的时候,连接不同的内存类型,因为当一个内存类型过时的时候,新的内存会变得更便宜。在SoC中采用组合存储PHY可以延长芯片的生命周期。”
在某些情况下,同一颗裸片可能被不同产品采用。 Mobiveil的Thummarukudy补充说:“一个设计在不同封装方案和价格可能会有额外的SerDes。这是一个基于经济效应的决定。”
PHY也可以与控制器集成来进一步节省成本。Nandra补充说:“当将两者结合在一起的时候,可以消除PHY和控制器之间在互操作性要求方面的所有浪费。完整的解决方案可以减少门的数量,我们已经看到了可以提供20%更低延迟和更小面积的案例。”
提高鲁棒性
将一个设计优化到极致并不一定是最好的办法。Thummarukudy指出:“设计的许多方面都是经验法则。他们可能会要求预留30%的余量,来提供一个时序缓冲。这可以在物理设计中处理遇到的异常情况。这种余量绝不是浪费,更像是物理设计或过程关键问题的保险。”
危险增加了太多。Wingard解释说:“我可以定制系统在处理器和内存之间拥有足够的缓冲,这样即使内存被最大程度地加载,并且处理器和内存之间的事务流量有最大的延迟,那么处理器可以覆盖许多事务问题”。 如果我的平均内存延迟足够短,这样的交易量就会减少,那么我已经过度设计了。当 人们决定这是否值得的时候? 如果您为一般事件设计了芯片,则可能无法正常工作。 当你有争议的时候,事情会减慢,你将会降低你所需要的资源的一段时间,如果你没有建立一些剩余容量的话,那么你可能永远不会赶上。因此你已经做了一些过度的设计,性能架构的技术正在认识到多少是合适的。
适型化是重要的,定义真实的场景或用例是确保重要性能需求可以得到满足的一种方式。 Breker验证系统公司首席执行官Adnan Hamid说:“新兴的可移植刺激标准将为系统架构师提供一个有价值的工具,以便能够定义重要的场景。 “这些用例作为验证团队的起点,并验证实施是否符合规范。”
架构性浪费
除了适型化互连结构之外,架构师还必须提供适当的处理能力,这正在成为一个更困难的任务。 Achronix的Mensor指出:“CPU在很大程度上被超越,尽管他们仍然继续按摩尔定律上升曲线,但和以前相比已经变慢。” “单核性能基本上被封顶了,可以添加的内核数量没有下降的改善是有限。 所以是有限度的。”
有些人正在寻求更好的处理器。 Uniquify的贝尔说:“指令集架构(ISA)会影响基于处理器的设计中的面积和功耗。 “新的RISC-V ISA允许定制以提供设计中所需的指令。 这意味着通过消除冗余指令和硅来降低功耗和减小面积。”
Ganousis补充说,“为了消除浪费,你必须去除那些无用的晶体管。那些晶体管泄漏电流,而且您必须意识到没有EDA公司或代工厂想去消除浪费。 如果你主张客户,你要提出一个不同于EDA和代工厂提供的答案。”
所有处理器都需要大小合适的内存。 Flex Logix的Tate补充说:“人们编写C代码,并且他们知道他们将来会升级代码。” “多少额外的内存应该投入多少? 这是一种风险和回报的情形,花费额外的硅提供更多的灵活性,但短期成本。”
有些甚至看到CPU太低效率和浪费。 Mensor说:“有大量证据表明,和CPU集群实现相比FPGA功耗更有效率。” “CPU是高功率解决方案,虽然非常灵活,但它们比使用FPGA执行相同的功能多消耗一个数量级的功率。 使用FPGA的挑战在于,当编程时,它是要做一个特定的功能,而CPU则是要做任何功能。 CPU目的是编程,而FPGA的意图是在编程之后运行该功能。 所以有些部分重新配置和即时配置,使功能的更改更快更灵活,但这仍然是少数的情况。”
FPGA本身提供了一些有趣的权衡。 Mensor说:“我们使用标准单元实现FPGA,以便我们可以更快地实现设计,并可以覆盖多个流程节点。” “但是,我们确实优化了几个标准单元,如多路复用器。 我们在开关矩阵中使用很多,并且当FPGA被编程路由时改变多路复用器。 他们不必从一个输入快速切换到另一个输入,因为它们不经常执行。 这允许一个非常优化的单元。”
充分利用FPGA是不可能的。 他补充道:“在任何FPGA中都将占用开销。” “虽然设计可能会变化很小,在某些时候,您可能会接近100%的利用率。 那么你将难以做地布局布线。 您必须有一些冗余才能继续保持灵活性。 即使是最小的变化也许意味着没有足够的灵活性来做出改变。”[!--empirenews.page--]
Tate目前的想法是,团队应该增加三分之一的能力,随着时间的推移,如果这是一个好的数字,他们将获得经验并学习。
结论
所有设计都包含冗余,摩尔定律的迅速发展几乎助长了它。 将设计推向市场比优化它们更为重要。 但是,那些停留在旧技术中的人们正在开始面临不同的冗余挑战。 尽管需要更高的开发成本,适型化设计和消除过多的利润成为一种降低硅面积,功耗和制造成本的方式。 物联网正在挑战许多“经验法则”,并且可能会细流整个设计链。