跳到主要内容

面向多芯片设计的完整3D-IC平台介绍

完整性3D- ic平台是一种自动化的基于芯片的3D设计方法。使用多个芯片实现大型高性能系统的趋势已经持续了一段时间。例如,看看我几年前的帖子热芯片:chipletification设计今年夏天早些时候,我写了一篇关于我见过的最复杂的基于芯片的设计的文章,英特尔的庞特维奇奥热薯片:两只大野兽

完整性3D-IC提供:

  • 集成的三维设计规划和实施
  • 早期的热、功率和时序分析
  • 系统驱动PPA

为什么要使用小芯片?

我可以写一整篇文章来解释为什么要基于chiplets(有时也称为tiles)进行设计。事实上,这些年来我已经写过一些了。最近的是John Park关于Chiplets的网络研讨会而且Brian Jackson在IMAPS上介绍一款神秘产品(嘘,是orbittio).在第二篇文章中,我列出了使用基于芯片的设计而不是单片集成的大多数动机。

  • 有些设计对于单个标线来说太大了,所以你不能这样做
  • 有些事情(模拟、射频)在最先进的节点中是不可能做到的,所以你不能这样做
  • IP可用性(例如,SerDes或DDR或PCIe)可能在您需要它们时还不可用,所以您还不能这样做
  • 在高级节点上设计整个系统是没有意义的,因为只有系统的某些部分需要它或可以利用它,所以这样做的成本太高了
  • 小模具提高成品率,所以成本太高
  • 你无法在单片芯片上获得足够的内存,所以你不能这样做

我在那篇文章中没有提到的另一个动机是,您可能不想在整个设计的关键路径上为最先进的SerDes(如112G)提供测试芯片,特别是如果它已经在先前的进程生成中具有功能和特征。

解决这些问题的方法是进入第三维空间。几年来,设计团队一直在这样做,但使用的流程是每个小芯片都必须单独设计,然后系统仔细地拼接在一起,没有大量的自动化。今天,自动化已经到来。

完整3D-IC平台

Cadence的Integrity 3D- ic平台是一个集成解决方案,用于规划、实现和签署异构和同质2.5D和3D堆叠设计,允许集成多个芯片。该平台由多个模块化子流程组成,将系统级规划和分析元素与实际物理实施和早期分析相结合,为3D-IC设计实现了极大的生产力提高。

上图显示了Integrity 3D-IC是如何构建的。中心是新的完整性平台数据库。这是一种多技术,从某种意义上说,设计中的每个芯片都可以在不同的过程中使用不同的PDK。

左边是分析工具,所有这些工具都已更新以支持基于芯片的设计。特别是,Tempus已经更新了快速自动化的模具间分析。这减少了终止角组合的数量,从而减少了执行静态时序分析所需的时间。Tempus ECO已得到扩展,可以处理多芯片上的更改。对于基于芯片的设计来说,摄氏温度的热分析是另一个特别关键的领域,因为在另一个芯片上的任何芯片都充当了热障,而且最好能确保一个芯片上的任何热区域不会与另一个芯片上类似的热区域重叠。

在顶部中心是基于创新的楼层规划和实现,现在还包含了orbittio的所有功能,可以进行复杂的设计规划。

右边是Innovus无法自行处理的设计,其实现需要与Cadence组合中的其他工具进行协同设计:

  • 模拟和定制IC,包括射频,由Virtuoso处理
  • BGA和FOWLP(扇出晶圆级封装)的封装设计,由Allegro负责

Integrity 3D-IC是业界首个支持系统驱动PPA的集成平台。PPA代表性能、功率和面积。实际上,Area应该是成本,因为在这种设计中,除了小芯片的大小,还有其他成本,但PPA字母现在已经根深蒂固,很难改变。

在一些多芯片设计中,芯片的分解是预先决定的,但在其他一些情况下,通过将2D设计拆分为3D设计,可以在标准设计上进行一些功率、性能和面积(PPA)改进探索。手动完成此工作的一种方法是基于架构,通过识别哪些逻辑分区位于顶部模具上,哪些位于底部模具上,来制作3D堆叠设计。另一种越来越流行的技术是将设计中的所有宏放在一个芯片中,而将所有标准单元放在另一个芯片中。这种情况的一个特殊情况是,当所有宏都是内存时,因此您最终得到一个“逻辑”芯片和一个“内存”芯片。像这样将内存放在逻辑上可以显著降低内存延迟。通常,分区不能这么干净,因为内存的测试逻辑最好放在内存芯片上。

虽然设计早于Integrity,一个很好的例子是Arm的Neoverse N1的实验实现,使用这种风格的分区,并在我的帖子中描述过将Arm Neoverse带入3D数字全流.这种设计在今天更容易实现,因为Integrity 3D-IC在其数据库中直接支持这种设计,然后Innovus和签收工具可以直接在其上工作。