IC设计流程图全览


一颗芯片的诞生经历了设计、制造和测试(分别对应集成电路产业链的设计业、制造业和封测业),而每一步都包含了复杂的步骤和流程,如图0-1所示。

图0-1 集成电路产业链

现在,我们重点介绍芯片设计的全流程以及每个流程需要用到的设计工具和需要参与的工作人员


一、IC设计分类

首先对IC设计的分类做个介绍,如图1-1所示。

图1-1 IC设计分类

如图1-1所示,IC设计可以粗分为数字IC设计射频/模拟IC设计;数字IC设计又可分为ASIC设计FPGA/CPLD设计;此外还有一部分IC设计采用数模混合设计,如:SOC设计数模混合信号IC设计

关于数字IC中的ASIC与FPGA/CPLD的区别:

  • ASIC(Application Specific Integrated Circuit,专用集成电路):需制作掩模,设计时间长,硬件不能升级;芯片面积小,性能可以得到较好的优化;适合芯片需求量大的场合:片量用于平摊昂贵的光罩掩模制版费,降低单片生产成本。
  • FPGA/CPLD(Field Programmable Gate Array,现场可编程门阵列 / Complex Programmable Logic Device,复杂可编程逻辑器件):不需要后端设计/制作掩模,可编程;开发门槛较低,设计时间较短,可方便和快速地升级优化硬件;芯片面积大,性能不够优化 ;适合芯片需求量小的场合:不用支付昂贵的光罩掩模制版费。作为数字ASIC设计流程中的必要步骤:ASIC设计中前端设计的FPGA原型验证(HDL功能验证)。

模拟/射频IC:处理模拟信号,规模远不如数字IC,放大器( RF放大器、中放、运放、功放);比较器;振荡器;混频器;模拟PLL;稳压稳流源等

数模混合信号IC: ADC、DAC;某些Driver;电源管理;等等

SOC:System on Chip(系统集成电路,片上系统)


二、IC设计中需要考虑的因素

1、满足功能和性能的要求(性能:速度、功耗)

2、降低芯片成本(包括:设计、制造、测试)

  • 设计:良好的设计流程,就能降低芯片的设计成本。
  • 制造:需要优化设计来减少芯片面积,增加每个晶圆上的管芯数,在设计中采用DFM方法来提高芯片制造成品率。
  • 测试:在设计中采用可测试性设计(DFT)方法,降低每个芯片的测试时间等。
    • 单芯片成本计算方式:CT = CD/N + CP/(y*n) + 封装测试成本

      • 第一项表示分摊到每个芯片上的设计费用:CD是设计及掩模制版费(也叫NRE费用), N是总产量;
      • 第二项表示每个芯片的制造费用:CP是每个晶圆的制造费用,n是每个晶圆上的管芯数,y是晶圆成品率;

(3)延长芯片的使用寿命

(4)缩短芯片面市时间(Time-to-Market)


三、数字IC设计流程及EDA工具和人员分工

数字IC设计流程:三个阶段(前端设计+功能验证+后端实现),如图3-1所示。

  • RTL前端+功能验证(最终得到的是RTL source code)
  • GDSII后端:逻辑综合+后仿真(最终得到的是GDSII文件)

图3-1 IC设计流程图

1、第一阶段:前端设计(RTL设计、逻辑设计)

用硬件描述语言HDL(Verilog、VHDL)来描述;描述硬件电路,抽象地表示电路的结构和行为(怎样组成,完成什么功能);

HDL描述的两种方式:
结构描述:若干部件用信号线互连形成一个实体;
行为描述:反映信号的变化、组合和传播行为,特点是信号的延迟和并行性;
HDL的作用:
具有与具体硬件电路无关和与EDA工具平台无关的特性,简化了设计;
支持从系统级到门和器件级的电路描述,并具有在不同设计层次上的仿真/验证机制;
可作为综合工具的输入,支持电路描述由高层向低层的转换;

数字ASIC设计中采用的典型EDA工具

图3-2 IC设计流程及典型EDA工具

2、第二阶段:功能验证(前仿真)

检验RTL级的HDL设计是否实现了Spec.需要的功能等;

图3-3 功能验证流程图
  • 仿真:先对设计进行一系列的激励(输入),然后有选择的观察响应(输出)
  • 激励与控制:设置输入端口,输入激励向量;
  • 响应和分析:及时监控输出响应信号变化,判断是否正确、合法;
  • 常用的仿真EDA工具:VCS (Synopsys), Modelsim(Mentor), NC(Cadence)

3、后端实现(逻辑综合+时序分析+布局布线+版图验证,后仿真)

(1)逻辑综合:

将描述电路的RTL级HDL转换到门级电路网表netlist的过程;根据该电路性能的要求(限制),在一个由制造商提供的包含众多结构、功能、性能均已知的逻辑元件的单元库的支持下,寻找出一个门级逻辑网络结构的最佳实现方案,形成门级电路网表netlist;

图 3-4 逻辑综合示意图

综合EDA工具主要包括三个阶段:转换(Translation)、优化(Optimization)与映射(Mapping)

转换阶段:将RTL用门级逻辑来实现,构成初始的未优化电路。
优化与映射:对已有的初始电路进行分析,去掉电路中的冗余单元,并对不满足限制条件的路径进行优化,然后将优化之后的电路映射到由制造商提供的工艺库上

常用的EDA工具:Design Compiler(Synopsys)

(2)时序分析

时序分析一般采用静态时序分析STA(Static Timing Analysis),以验证门级逻辑网络结构netlist的时序是否正确

图3-5 STA原理图

STA工具的基本思想: 在netlist中找到关键路径

  • 关键路径是netlist中信号传播时延的最长路径,决定了芯片的最高工作频率;

STA工具可以分为三个基本步骤:

  • 第一是将netlist看成一个拓扑图 ;
  • 第二是时延计算(连线时延 net delay、单元时延 cell delay);
  • 第三是找到关键路径并计算时延,进行判断;

常用的时序验证EDA工具:PrimeTime(Synopsys) ;

(3)布局布线

将门级电路网表(netlist)实现成版图(layout)

常用的EDA工具:Encounter(Cadence)、Astro (Synopsys)

(4)版图验证

版图验证包括DRC和LVS

DRC(Design Rule Check,设计规则检查):保证版图的可制造性,保证版图满足芯片制造厂的版图设计规则(Design Rule);
LVS(Layout Versus Schematic,电路规则检查 :证明版图与门级电路网表netlist的一致性;

常用的EDA工具:Mentor的Calibre,Synopsys的Hercules;

(4)后仿真

后仿真是保证版图是否满足时序的要求,在后仿真之前首先要进行参数提取,提取版图的连线时延信息(RC Extract),后仿真STA等;

常用的参数提取EDA工具:Synopsys的StarRCXT

常用的后仿真STA EDA工具:Synopsys的PrimeTime


四、FPGA/CPLD设计流程及EDA工具

图4-1 FPGA/CPLD设计流程及EDA工具:

主要流程有三步:仿真、综合与适配

(1)功能仿真

HDL设计是否实现Spec.功能要求;

采用的EDA工具:Modelsim(Mentor)

(2)逻辑综合

HDL转化为FPGA门级网表;

采用的EDA工具:Synplify(Synplicity)、Precision(Mentor)

(3)时序仿真

不同于前面提到的静态时序仿真STA,是动态时序仿真;

采用的工具:Modelsim

(4)适配

也称结构综合或FPGA布局布线,是将由综合产生的网表文件配置于指定的目标器件(FPGA/CPLD)中,产生最终的下载文件,如JEDEC、Jam格式的文件。

(5)FPGA/CPLD 器件及其开发工具

FPGA/CPLD 器件提供商:Altera和Xilinx

FPGA/CPLD 开发的EDA工具一般由器件生产厂家提供,但器件厂家只开发集成开发环境IDE和与器件密切相关的适配工具,功能仿真和综合工具实际是由第三方EDA软件开发商公司提供;

Altera -Quartus II (前身为Maxplus II )

Xilinx -ISE

五、模拟IC设计流程及EDA工具

(1)电路图编辑

常用的工具:Cadence Virtuoso – Schamatic Composer

(2)电路仿真(电路模拟):俗称 SPICE 仿真

常用的工具: Synopsys HSPICE,Cadence Spectre

(3)版图编辑

常用的工具: Cadence Virtuoso – Layout Editor(LE)

(4)版图验证与后仿真

DRC/ LVS: DRC保证版图满足芯片制造厂的设计规则 / LVS证明版图与网表的一致性;

常用的DRC/LVS EDA工具:Mentor Calibre、 Synopsys Hercules;

参数提取:提取版图的连线时延信息(RC Extract);常用的参数提取EDA工具:Synopsys StarRCXT;

版图后仿真:SPICE;

模拟典型设计流程及EDA工具:


参考文献

1、IC设计流程,从 Spec.到芯片_(数字IC、模拟IC、FPGA设计的流程及EDA工具) - 知乎 (zhihu.com)

【详细】芯片设计全流程(包括每个流程需要用到的工具以及需要参与的工作人员)相关推荐

  1. 一篇文章讲清楚芯片设计全流程及相关岗位划分

    大家好,欢迎来到IC修真院. 现如今IC设计行业正值风口,但还是有很多同学不清楚IC设计到底是什么?这个行业的全貌是怎样的?更是不清楚自己适合其中的哪些岗位? 今天,我们就一次来把这些问题回答清楚. ...

  2. 【无标题】数字ic设计|ic芯片设计全流程

    前端设计的主要流程: 大家也可以下载原文件:数字设计ic芯片流程 1. 规格制定 芯片规格: 芯片需要达到的具体功能和性能方面的要求 2. 详细设计 就是根据规格要求,实施具体架构,划分模块功能. 3 ...

  3. 【验证通识】芯片设计全流程

    目录 前言 1.芯片设计流程图 2.数字IC设计的流程及每个流程需要做的工作 1.1确定项目需求 1.2前端设计 1.3后端设计  前言 数字IC设计流程是IC从业者的第一课. 无论你是做前端,后端, ...

  4. php 许愿墙 阶段案例_房地产全周期设计管控流程解析及跨部门合作及案例分析...

    时间:2021年1月22-23日 地点:北京 授课专家:高炜 联系人:文雯 手机微信:13264559187 课程前言 房地产市场虽已进入"白银时代",但中国的城市化过程并没有结束 ...

  5. DPABI详细使用教材——数据准备、预处理流程、数据分析流程

    dpabi必看内容 1.DPABI(用于脑成像的数据处理和分析的工具箱)的下载和安装步骤 2.DPABI详细使用教材--数据准备.预处理流程.数据分析流程 3.DPABISurf的安装及使用(wind ...

  6. pycharm的项目文件中包括什么_一个完整的项目管理流程包括什么?

    首先,我们先了解一下什么是「项目」和「项目管理」. 「项目」是为完成某一独特的产品或服务所做的临时性努力.在项目的实施过程中,通常都会遇到一些问题,这些问题会阻碍项目的实施.而「项目管理」就是指在项目 ...

  7. metasploit完整的使用流程包括meterpreter后渗透

    metasploit完整的使用流程包括meterpreter后渗透 主机发现 基于ARP发现内网存活主机 基于FTP服务 基于HTTP服务 基于SMB 漏洞扫描 漏洞渗透利用 利用ms17_010 利 ...

  8. 采购如何询价?询价流程包括什么?

    无论处于哪个生产阶段,要想为你的产品获得合适的报价,询价(RFQ)的准备是至关重要的.在与供应商沟通和解释你对产品的期望方面,询价无疑起着至关重要的作用.   什么是询价(RFQ)?   询价(RFQ ...

  9. 史上最全的画册制作流程—画册类型

    <史上最全的画册制作流程>--https://blog.csdn.net/weixin_43770771/article/details/88792051 [▲云展网电子画册] 画册,就是 ...

最新文章

  1. 百度搜索效果(页面传来数据地址,由服务器去获取)
  2. 基于docker部署的微服务架构(九): 分布式服务追踪 Spring Cloud Sleuth
  3. 【测试工程师面试】面试官热衷询问的N个问题
  4. python编程制作接金币游戏_pygame学习笔记(6):完成一个简单的游戏
  5. SQL 语句执行顺序
  6. python函数实例化_用Python实例化函数
  7. 信息学奥赛一本通 1050:骑车与走路 | OpenJudge NOI 1.4 12
  8. java网站短信接口_网云JAVA短信接口API
  9. 安装虚拟机工具 linux虚拟机访问windows文件夹
  10. vi 之行号操作---显示行号、跳到指定行
  11. java pingfang,PingFang sc字体的使用
  12. 详解神奇的卡尔曼滤波(Kalman filter)算法
  13. 文本主题模型之LDA
  14. [转载] 晓说——第17期:揭秘战争秘闻 朝鲜战争62年祭(下)
  15. linux 关闭桌面特效,[多图] Ubuntu 中开启3D桌面特效与设置方法
  16. Newtonsoft.Json Json.NET - Newtonsoft
  17. Web前端性能优化思路
  18. 有效的医疗设备维修保养解决方案
  19. python用数据告诉你谁是《西游记》真正的主角:基于jieba模块的分析与基于pyechart的词云可视化展示
  20. Android Stadio 代码模板 fbc的使用

热门文章

  1. L1-010 比较大小(Python3)
  2. (20230328个人学习笔记)Lsdyna ALE流固耦合案例二
  3. 【HTML】鼠标特效
  4. 【分类特征编码】11种分类特征编码方法
  5. win11取消开机密码pin无法删除怎么办 win11关闭开机密码pin选项灰色怎么办
  6. 来自北大算法课的Leetcode题解:459. 重复的子字符串
  7. Python小白练习之判断周几
  8. RocketMQ搭建-WEB集成RMQ-SE集成RMQ
  9. Nginx反向代理:通过外网访问内网数据库(mysql)
  10. 使用 a标签 或 js 群发短信