问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

详解ASIC设计流程

创作时间:
作者:
@小白创作中心

详解ASIC设计流程

引用
CSDN
1.
https://blog.csdn.net/Reborn_Lee/article/details/106536869

ASIC(专用集成电路)设计是一个复杂而精细的过程,涉及多个阶段的协同工作。从需求分析到最终的流片生产,每个环节都需要精确的规划和执行。本文将详细介绍ASIC设计的完整流程,帮助读者理解这一技术领域的核心内容。

需求(Requirements)

半导体公司的客户通常是其他一些计划在其系统或最终产品中使用该芯片的公司。因此,客户的需求在决定如何设计芯片方面也起着重要作用。第一步就是收集需求,估算最终产品的市场价值,并评估完成该项目所需的资源数量。

技术指标(Specifications)

下一步将是收集“规范”,这些规范抽象地描述了要设计的芯片的功能、接口和总体架构。例如:

  1. 需要计算能力才能运行成像算法以支持虚拟现实
  2. 需要两个具有相干互连功能的ARMA 53处理器,并且应在600MHz上运行
  3. 需要USB 3.0、蓝牙和PCle第二代接口
  4. 应使用适当的控制器支持1920x1080像素显示

架构(Architecture)

现在,架构师提出了芯片应如何工作的系统级视图。他们将确定所需的所有其他组件,它们应以什么时钟频率运行以及如何确定功耗和性能要求。他们还将决定数据应如何在芯片内部流动。例如,当处理器从系统RAM中获取图像数据并执行时,数据流就会消失。与此同时,图形引擎将执行前一批数据的后处理数据,然后将其转储到内存的另一部分并很快执行。

数字设计(Digital Design)

由于现代芯片的复杂性,不可能从头开始构建某些东西,并且在许多情况下会重复使用许多组件。例如,X公司要求Flex CAN模块与汽车中的其他模块进行交互。要么从另一家公司购买Flex CAN设计以节省时间和精力,要么花费资源自行构建一个系统。此外,从触发器和CMOS晶体管等基本构建模块设计这样的系统也不可行。取而代之的是,开发了一种行为描述,以使用诸如Verilog或VHDL的硬件描述语言从功能、性能和其他高级问题方面对设计进行分析。

这通常是由数字设计师完成的,类似于配备了数字电子设备中的高级计算机程序员的软件。

验证(Verification)

一旦RTL设计就绪,就需要对其功能正确性进行验证。例如,期望DSP处理器发出总线事务以从内存中获取指令,但是我们如何知道这种情况会按预期发生呢?因此,此时需要功能验证,这需要借助EDA仿真器来完成,该仿真器具有对设计进行建模并对其施加不同激励的能力。这是验证工程师的工作。

为了节省时间并实现功能收敛,设计团队和验证团队并行运行,其中设计人员“发布”了一个RTL版本,验证团队开发了测试平台环境和测试用例以测试该RTL版本的功能。失败,则可能表明设计存在问题,并且该设计元素上将出现“错误”。该错误必须在设计团队的下一版RTL版本中进行修复。继续进行此过程,直到对设计的功能正确性有足够的信心为止。

逻辑综合(Logic Synthesis)

现在我们对设计感到满意,是时候使用组合门和触发器等真实元素将其转换为硬件原理图了。这一步骤称为综合。逻辑综合工具可将HDL中的RTL描述转换为门级网表。该网表只不过是对电路的门和它们之间的连接的描述。它可能类似于:

and_2_0     u_and2_0 ( .in_a (_net_112),
                       .in_b (_net_56),
                       .out  (_net_222));

ff_lt       u_ff_lt_122 (.d   (_net_222),
                         .clk (_net_11),
                         .q   (_net_76));

逻辑综合工具可确保网表满足时序、面积和功率规格,通常可以访问不同的技术节点过程和数字元素库,并且可以进行智能计算以满足所有这些不同的标准。这些库可从提供以下功能的半导体工厂获得:不同组件的数据特性,例如触发器的上升/下降时间,组合门的输入-输出时间等。

逻辑对等(Logic Equivalence)

然后检查门级网表与RTL的逻辑等效性,有时会执行“门级验证”,其中再次验证某些元素,不同之处在于这一次是门级且处于较低级别抽象级别。由于在此阶段设计中涉及的元素数量众多,并且带有回注的延迟信息,因此仿真时间往往会变慢。

布局和布线(Placement and Routing)

然后将网表输入到物理设计流程中,在此流程中,借助EDA工具完成自动布局和布线(APR或PnR)。Cadence Encounter和Synopsys IC Compiler是此类工具的一个很好的例子。这将选择标准单元并将其放置为行,定义用于输入输出的球形图,创建不同的金属层,并放置缓冲区以满足时序要求。完成此过程后,将生成布局并通常发送至制造阶段。由物理设计团队处理,他们精通技术节点和物理实施细节。

验证 (Validation)

它并没有到此结束。样品芯片可以由同一家半导体公司制造,也可以发送给第三方铸造厂,例如TSMC或Global Foundries。该样例芯片现在经历了硅片后验证过程,其中另一个工程师团队在测试仪上运行不同的模式。与硅片前验证相比,在硅片后图标验证中调试起来要困难得多,这仅仅是因为对硅片的可见性水平芯片的内部节点将大大减少。此外,一百万个时钟周期将在一秒钟内完成,而追溯到准确的错误时间将非常耗时。如果在此阶段发现任何实际问题或设计错误,则必须在RTL中修复此问题,然后重新进行验证,并且必须执行此之后的所有步骤。

尽管设计流程中有多个步骤,但许多设计活动通常都集中在电路RTL描述的优化和验证上。重要的是要注意,尽管可以使用EDA工具来使流程自动化,但使用不当会导致设计效率低下,因此设计人员必须在设计过程中做出明智的选择。

流片(GDS II –图形数据流信息交换)

在流片的最后阶段,工程师执行晶片处理,封装,测试,验证并交付给物理IC。GDS II是半导体代工厂生产并用于制造硅并交付给客户的文件。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号