ASIC设计代表特定于应用的集成电路,指的是针对特定应用而设计的半导体解决方案。与其他解决方案(如现场可编程门阵列(FPGA))不同,FPGA可以多次编程以执行不同的功能。ASIC有时也被称为SoC(片上系统)。
ASIC的设计之旅是一条漫长而曲折的道路,它将你从一个概念带到一个工作的硅。虽然最终产品通常非常小(以平方毫米为单位),但整个过程非常有趣,充满了挑战和权衡,设计师需要绞尽脑汁才能做出最好的工程设计。这篇文章将试图阐明从ASIC设计规范到设计流水作业的ASIC设计流程中的不同步骤,并强调每个步骤所涉及的重要决策和活动。虽然每个步骤的复杂性可能取决于EDA供应商的选择、设计应用程序以及技术节点,但顺序基本上保持不变。以下是ASIC设计流程的流程图。
ASIC设计流程的第一步是在开始设计之前定义产品的规格。这一阶段通常包括与潜在客户进行市场调查,以确定需求,并与技术专家交谈以判断未来趋势。 市场调查转化为高水平的产品规格,如确定产品的顶级功能、特定计算算法、时钟频率、封装类型、通信协议、温度范围等。制定一个全面和正确的规范通常为ASIC设计奠定了坚实的基础。
在删减规范之后,现在是将整个ASIC或SOC的功能划分为多个功能块的时候了。架构师集思广益地讨论架构的许多可能选项,并在考虑性能影响、技术可行性以及成本和时间方面的资源分配时讨论它们的优缺点。一个好的架构专注于收集ASIC芯片的最佳性能,同时最小化硬件资源。在此阶段,架构师定义不同功能块之间的关系,并为每个功能块分配时间预算。
一旦确定所需的所有功能块,就应该确定关键模块,并可能会重新使用以前项目中的这些IP,对现有IP进行必要的更改或从其他方获得它们。硬件和软件块之间的划分也是ASIC设计阶段的一个关键部分。设计是用C++或C语言的高级编程语言来捕获的。
逻辑设计是指ASIC设计流程的前端部分,包括用Verilog、VHDL或SystemVerilog等硬件描述语言对每个功能块的数据流进行编码。功能块之间的交互也被编码。
物理设计是指后端设计周期。在物理设计流程中,合成读取RTL代码(.v或.sv文件)以及标准单元的物理库,以将行为或数据流代码转换为实实在在的物理标准单元门。布局规划步骤正式化并细化了在架构规划步骤中首次出现的平面图。在放置期间,所有标准单元都放置在站点行的合法位置。时钟网络在时钟树合成过程中被传播并且时钟树被使用时钟缓冲器合成。现代工艺支持10-12金属层堆叠,M0-M1为标准单元布线预留。时钟是本设计中开关频率最高的信号,时钟缓冲树占专用集成电路动态功耗的75%以上。
逻辑验证确保功能正确,物理验证确保布局正确。时序验证通过确保设计中所有时序路径都满足设置和保持,验证芯片以指定频率运行。
ASIC设计是一个复杂的工程问题,从概念到硅都要经历很多步骤。虽然有些步骤更像是艺术而不是工程,但其他一些步骤需要合理的工程权衡。随着对更好性能和缩短上市时间的需求增加,ASIC设计流程在未来十年将继续变得更加复杂。然而,核心动机和设计理念将保持不变。"
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删