锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

IC设计流程

时间:2022-10-11 02:00:00 桥式电路中插入电容器集成电路射频icrf7170集成电路ic2sa1106晶体管集成电路2sa10132sa1666ic集成电路

1.1 集成电路设计基础(IC设计)
集成电路(Integrated Circuit,IC)芯片,又称芯片,是现代信息社会的基石。它承载着信息时代的灵魂,是现代技术发展的精髓结晶。所有现代电子设备都必须依靠芯片才能充分发挥作用。集成电路现在已经演变成一种完整而独立的设备形式,单个芯片可以完成传统的设备系统功能,实现真实性System on Chip(SoC)。目前,任何智能手机处理器芯片的处理能力都远远超过了20世纪80年代的大型计算机。同时,芯片也在向可穿戴芯片、微机械芯片等各种应用领域和应用场景演变。
典型的集成电路芯片集成了大量的功能部件,包括模拟电路、数字电路和CPU。数字电路主要用于数字信号的处理,模拟电路主要由电容电阻、晶体管等组成,主要用于处理射频电路(RF)、功率放大器(PA与LNA)、相环(PLL)、模拟滤波器、电源管理等。
对于具有单一功能的电路,使用纯硬件逻辑设计方案基本上可以满足应用程序的需要。然而,对于通信系统或移动互联网应用程序,芯片的功能需求不断变化,客户群体也不断变化。如果使用纯硬件逻辑,应用市场将不可避免地非常狭窄,因此复杂的系统级芯片必须SoC或软件化。
SoC对于相同的芯片,通过加载不同的应用软件,实现不同的功能定义,实现单个芯片的通用化,从而降低单个芯片的成本。因此,在后续的设计中,需要熟悉如何将简单的逻辑电路转换为支持各种软件定义的功能设备,以实现芯片功能覆盖的软件。

1.1.1 比较硬件和软件的优缺点
硬件的优点:
(1)与软件相比,吞吐率高、全并行化处理可达10~性能提升100倍;
(2)相对于CPU/DSP设计复杂度低,整体规划简单;
(3)软件设计相对简单,代码简单;
硬件缺点:
(1)成本高,需要额外的硬件资源,芯片面积比较大。此外,还有很多IP使用费用;
(2)从概念原型到研发时间长RTL至少6个月的编制验证;
(3)一次成功率低,正常工作通常需要多次迭代验证;
软件的优点:
(1)成本低,可随时添加功能,不会随芯片量产而变化;
(2)调试简单,不考虑时序收敛,功耗控制相对容易;
软件缺点:
(1)相对于硬件实现而言,性能较差;
(2)算法实现对CPU/DSP对处理速度和存储容量要求较高;
(3)由于软件开发存在诸多不确定性,芯片上市后需要发布大量补丁版;
1.1.2 集成电路设计中的分工层次
IC设计通常包括算法设计、系统架构、数字电路设计(数字前端)、模拟电路设计、地图设计、测试验证、数字后端和DFT(Design For Test)、芯片生产试验设计(DFM设计)、芯片固件与软件设计、电路板与应用原型开发等,只有将这些完整的组合在一起,设计一个完美的芯片,具有一定的竞争力,可以被市场接受。下图为芯片分工层次图。

不同的工程师可分为系统架构设计工程师、算法设计工程师、电路设计工程师(数字前端设计工程师和模拟电路设计工程师)、芯片验证工程师、大规模生产测试工程师、固件和软件工程师。

系统架构设计工程师
系统架构设计工程师的设计重点是确保IC芯片整体结构合理,各基本单元模块功能均衡,无设计缺陷,芯片在可控性、可验证性、可测试性、前后芯片产品的可维护性和连续性方面具有优异的性能。整个系统架构IC设计中最基本的工作取决于系统结构,产品是否满足市场和客户的需求,上市时间是否领先于竞争对手,功能是否具有竞争力,解决方案的成本和芯片率是否可控。
算法设计工程师
算法设计工程师的设计重点是确保IC芯片可以完成特定的功能,设计算法是可执行的。算法工程师可以决定芯片的性能和大部分成本,也是系统框架和电路设计的中间桥梁。
电路设计工程师
电路设计工程师设计的重点是用电路准确实现算法,兼顾功耗、成本和电路可测性。此外,还需要独立设计模块来控制电路、各种电路粘合逻辑、时钟系统、复位系统和全局控制逻辑。
测试验证工程师
测试验证工程的重点是设计规范(Spec)以及设计要求,测试和验证电路通常包括白盒测试和黑盒测试,通常需要引入大量的测试方法(UVM)和测试手段,例如SVA此外,还需要多个团队对同一芯片进行全面验证。
固件与软件工程师
固件和软件工程师的重点是与电路设计工程师合作IC芯片运行,充分挖掘芯片的功能潜力,提供各种扩展创意。在当前的IC在设计领域,固件和软件的开发工作量占整个芯片开发的60%以上,并持续增长。原因是简单的电路逻辑无法满足灵活的市场需求,必须通过可变软件随时处理。例如现在的LTE除了射频信号处理外,终端芯片的所有基带(baseband)可控和可编程,协议处理基本交给多核CPU或DSP进行。目前,许多领先的无线信芯片设计公司对软件设计进行了更详细的划分,包括软件平台(操作系统、设备驱动)、物理协议软件MAC协议处理、高层协议栈、应用软件等。因此,对于芯片设计,软件是整个芯片的灵魂。对于任何智能芯片的开发,首先要考虑的是如何灵活配置,并引入适当的软件支持。
因此,我们不仅需要数字IC如果有时间和精力,还需要掌握系统设计、算法、验证、软件等基础知识。
1.1.3 IC设计流程
IC下图可以描述设计的主要过程:

基于HDL设计过程主要包括系统架构设计、软件结构设计和ASIC硬件设计有三个部分。在芯片设计中,必须了解整个系统的应用场景,定义合理的芯片架构,使软硬件结合达到系统的最佳工作状态。另外,需要建立IP在整个过程中,复用或更大的平台复用的概念应该是基于IP以复用为基础,以当前设计为下一轮设计IP和基础平台。基于HDL设计流程如下:

指定系统需求
系统设计主要从需求确认开始,包括系统的基本输入、输出和基本算法需求,以及系统所需的功能、性能、功耗、成本和开发时间。用户的需求通常转换为设计技术文档,并初步确定系统的设计过程。这一阶段是整个芯片项目开发中最重要的阶段,需要完成各种设计框架和验证模型。
建模和模拟高级算法
设计师将使用先进的语言来创建整个系统的先进算法模型和模拟模型。通过先进的算法模型,您可以获得软硬件协同模拟所需的可执行解释文档,这将随着设计过程的深入而不断改进和完善。
软硬件划分过程
设计师通过软硬件能应该由硬件完成,哪些功能应该由软件完成。此外,该步骤还涉及软硬件顶层设计与内部基本模块的划分。对于硬件,需要确定整体实现框架,包括整体模块设置(时钟、复位、功耗控制等)、主控模块实现方案、数据流(Data Flow)设计分解方案及接口时序、总线或数据交换接口、调试接口及验证接口。确定硬件框架后,建立各种适合软硬件交互的验证环境。对于软件,软件框架是在硬件框架的基础上确定的,包括确定HAL(硬件抽象层)、设计驱动和软件平台、底层软件、高层软件、应用软件和测试软件的层次划分和相互调用接口。此外,软件还需要设计整个自动测试框架。如果芯片开发者追求高效的软硬件组合,也应根据敏捷开发的要求设计以测试为中心的软硬件框架。
软硬件划分和内部框架确认是一个需要反复评估、修改和满足系统需求的过程。
软硬件同步设计
由于软硬件分工明确,芯片架构和软件接口也定义,软硬件可以同步设计。硬件设计包括RTL设计与集成、综合、布局和最终流片。软件设计包括算法优化、应用开发、操作系统、接口驱动和应用软件开发。
1.1.4 IC硬件设计过程
从HDL设计到最终版图实现的设计过程如下图所示,基本上每一步都会使用一个模型EDA这里的核心设计来源是硬件设计定义描述、模块设计(RTL代码变换)和IP复用。


硬件设计定义说明(Hardware Design Specification)
用于描述芯片整体结构、规格参数、模块划分、使用总线、各模块的详细定义等。
模块设计与IP复用
对于需要重新设计的模块,对于可重用的模块IP核可根据总线接口标准进行修改。
集成顶层模块
顶层模块集成是将不同的功能模块(包括新设计和重用)集成在一起,形成一个完整的设计。设计重点包括时钟模块、复位模块、功率控制等全球信号和各种顶层IP集成。对于ASIC 还需要考虑IO PAD配置。
布局前仿真(Pre-layout Simulation)
模拟也叫布局前RTL通常通过等级仿真HDL仿真器验证电路逻辑功能是否有效。通常在ASIC中采用的是Synopsys的VCS验证。
逻辑综合(Logic Synthesis)
主要采用逻辑综合EDA该工具将硬件描述语言设计的电路自动转换为特定工艺下的网表,即RTL级的HDL该代码通过编译和优化生成了一个合格的炖鸡网络表。在这个阶段,将输出逻辑综合网络表和时间序列信息,用户可以进行初步的时间序列模拟,并找出可能的逻辑时间序列问题。
版图布局规划(Floorplan)
布局规划的任务是确定设计中:
(1)I/O 规划:确定I/O定义电源和接地口的位置;
(2)模块放置:定义各种物理组、区域或模块,预放宏单元;
(3)供电设计:根据电压降设计整个地图的供电网络(IR Drop)拓扑优化和电迁移。
功耗分析(Power Analysis)
布局规划完成后,需要分析电源网络的功耗,确定电源引脚的位置和电源线的宽度。布局布线完成后,需要对整个布局进行动态功耗分析和静态功耗分析。除了布局功耗分析外,还应通过模拟工具快速计算动态功耗,找出主要功耗模块或单元,并返回模块设计阶段进行优化。它可以很常见Spyglass工具。
单元布局和优化
单元布局和优化主要定义每个标准单元的位置,并根据位置进行优化。
静态时序分析(Static Timing Analysis - STA)
STA这是一种静态验证方法。通过分析提取电路中所有路径上的延迟等信息,计算时间路径上信号的延迟,发现违反时间限制的错误,如检查建立时间和维护时间是否符合要求。通常使用Primetime工具。
形式验证(Formal Verification)
形式验证也是一种静态验证方法,在整个设计过程中多次引入形式验证进行比较RTL代码之间,门级网表和RTL修改前后的代码和门级网表功能的一致性。常用工具Formality,Conformal以及Spyglass。
插入可测电路(Design for Test - DFT)
可测试设计是SOC设计中的重要一步是使用扫描链的可测结构进行逻辑电路,边界扫描芯片的输入/输出端口测试结构。基本思想是通过插入扫描链,增加电路内部节点的可控性和可观测性,以达到提高测试效率的目的。一般在逻辑综合或者物理综合后进行扫描电路的插入和优化。
时钟书综合(Clock Tree Synthesis)
SoC设计方法强调同步电路的设计,构建芯片内部全局或局部平衡的时钟链的过程称为时钟树综合。分布在芯片内部的寄存器和时钟的驱动电路构成了一种树状结构,这种结构称为时钟树,时钟树综合是在布线设计之前进行的。
布线设计(Routing)
这一阶段完成所有节点的连接,类似于在电路PCB设计时,将各个元器件的连线在PCB上摆放好。
寄生参数提取(Parasitic Extraction)
通过提取版图上内部互连所产生的寄生电阻和电容值,进而得到版图实现后的真实时序信息,这些寄生电路信息将用于进行静态时序分析和后仿真。
布局后仿真(Post-layout Simulation)
布局后仿真也叫门级仿真、时序仿真、带反标的仿真,需要利用在布局布线后获得的精确延迟参数和网表进行仿真,验证网表的功能和时序是否正确。布局后仿真一般使用标准延时(Standard Delay Format- SDF)文件来输入延时信息。
ECO修改
ECO修改是工程修改命令的意思,这一步实际上是正常设计流程的一个例外,当在设计的最后阶段发现个别路径有时序问题或者逻辑错误时,有必要通过ECO对设计的局部进行小范围的修改和重新布线,而不影响芯片其余部分的布局布线。
物理验证
物理验证是对版图的设计规则检查(Design Rule Check - DRC)及逻辑图网表和版图网表比较(Layout Vs. Schematic - LVS)。
DRC用以保证制造良率
LVS用以确认电路版图网表结构是否与原始原理图一致。
————————————————
版权声明:本文为CSDN博主「青花127」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yushaodi/article/details/122910229

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章