📜  ASIC设计流程

📅  最后修改于: 2021-01-11 14:33:08             🧑  作者: Mango

ASIC设计流程

典型的设计流程遵循以下结构,可以分为多个步骤。这些阶段中的某些阶段是并行发生的,而某些阶段是依次发生的。

要求

半导体公司的客户通常是计划在其系统或最终产品中使用该芯片的其他公司。因此,客户的要求在决定如何设计芯片方面也起着重要作用。

第一步是收集需求,估计最终产品的市场价值,并评估执行该项目所需的资源数量。

技术指标

下一步是收集描述功能,抽象接口以及要设计的芯片的所有体系结构的规范。这可能是类似的东西:

  • 需要计算能力才能运行成像算法以支持虚拟现实。
  • 需要两个具有相干互连功能的ARM A53处理器,并且应在600 MHz上运行。
  • 需要USB 3.0,蓝牙和PCIe第二代接口。
  • 它应通过适当的控制器支持1920×1080像素的显示器。

建筑

现在,架构师给出了芯片应如何工作的系统级视图。他们将决定需要所有其他组件,应运行什么时钟频率以及如何确定功耗和性能要求。

他们还决定数据如何在芯片内部流动。一个示例是处理器从系统内存中获取成像数据并执行它们时的数据流。同时,图形引擎将执行转储到内存另一部分中的前一批的后处理数据。

数字设计

由于现代芯片的复杂性,不可能从头开始构建某些东西,并且在许多情况下,许多组件都将被重用。

例如,公司A需要FlexCAN模块与汽车中的其他模块进行交互。他们可以从另一家公司购买FlexCAN设计以节省时间和精力,也可以花费资源来构建它。

从触发器和CMOS晶体管等基本构件设计这样的系统是不切实际的。

VHDL的硬件描述语言从功能,性能和其他高级问题方面分析设计。

这通常是由数字设计师完成的,类似于具有数字电子技能的高级计算机程序员。

验证

一旦准备好RTL设计,就需要对其功能正确性进行验证。

例如,期望DSP处理器发出带有从内存中获取指令的总线事务,并知道这将按预期发生。

此时需要功能验证,这需要借助EDA仿真器的帮助来完成,该帮助可以对设计进行建模并对其施加不同的激励。这是硅前验证工程师的工作。

为了节省时间并实现功能封闭,设计团队和验证团队并行运行,设计人员在其中发布RTL版本。验证团队开发一个测试平台环境和测试用例,以测试该RTL版本的功能。

如果这些测试中的任何一个失败,则可能表明设计存在问题,并且该设计元素上将出现“错误”。设计团队必须在下一版RTL版本中修复此错误。

继续进行此过程,直到对设计的功能正确性充满信心为止。

逻辑综合

现在,我们将把这种设计转换为带有组合门和触发器等真实元素的硬件原理图。此步骤称为合成。

逻辑综合工具可将HDL中的RTL描述转换为门级网表。该网表是根据门及其之间的连接来描述电路的。

逻辑综合工具可确保网表满足时序,区域和电源规格。通常,他们可以访问不同的技术节点流程和数字元素库,并且可以进行智能计算来满足所有这些不同的标准。

这些库是从半导体制造厂获得的,这些半导体制造厂提供了不同组件的数据特性,例如触发器的上升或下降时间,组合门的输入输出时间等。

逻辑对等

检查门级网表与RTL的逻辑等效性。有时,会执行门级验证,其中再次对某些元素进行验证,所不同的是这次是门级和较低的抽象级别。

由于设计中涉及的元素数量众多,并且回注了延迟信息,因此仿真时间往往会变慢。

放置和布线

然后,将网表输入到物理设计流程中,在此流程中,自动布局和路线将在EDA工具的帮助下完成。 Cadence EncounterSynopsys IC编译器是这类工具的很好示例。

这将选择标准单元并将其放置到行中,定义用于输入和输出的球形图,创建不同的金属层,并放置缓冲区以满足计时要求。

完成此过程后,将生成布局,通常将其发送以进行制造。此阶段通常由物理设计团队处理,他们非常熟悉技术节点和物理实施细节。

验证方式

样品芯片将由同一家半导体公司制造或发送给第三方,例如TSMCGlobal Foundries

现在,此样本经过硅后验证过程,其中另一个工程师团队运行不同的测试器模式。在硅后验证中调试比在硅前验证中调试更困难,这仅仅是因为对芯片内部节点的可见性大大降低了。

一百万个时钟周期将在一秒钟内完成,要追溯到准确的错误时间将非常耗时。

如果在此阶段发现任何实际问题或设计错误,则必须在RTL中修复该问题,然后重新验证,并且必须执行此之后的所有步骤。

即使设计流程中有多个步骤,但许多设计活动通常都集中在电路RTL描述的优化和验证上。

重要的是要注意,尽管可以使用EDA工具来使流程自动化,但使用不当会导致设计效率低下。因此,设计师必须在设计过程中做出有意识的选择。