0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

IC设计流程概述

电路和微电子考研 来源:电路和微电子考研 作者:电路和微电子考研 2022-11-10 16:25 次阅读

面试时被问到了对IC设计流程的理解,隐约觉得和FPGA的整套流程有点像,但确实没接触过,在此总结一下。

芯片开发流程如下图所示,芯片设计被分为两个阶段:前端设计和后端设计阶段。

6df33e60-60c9-11ed-8abf-dac502259ad0.png

前端设计

1.1 市场需求分折文件

(Market Rcouirement Document,MRD)

芯片开发的第一项工作,是一个市场调研报告,说明了潜在市场规模和可获取市场规模。

客户向芯片设计公司(称为Fabless,无晶圆设计公司)提出的设计要求,包括芯片需要达到的具体功能和性能方面的要求;

1.2 架构文件

这是一个关于系统构成和芯片架构的高层次描达文件,涉及芯片的高层次操作、引脚分配与定义、软件编程模型、可测性、寄存器定义以及应用模型等。

1.3 微架构文件

它包括芯片内部操作的细节、时钟和复位方案、主要模块的功能描述、典型数据路径描述、缓冲区需求分析、吞吐率和延迟分析、中断和功率管理等问题。

这是多个设计者在采用高级语言( Verilog或VHDL)进行设计时所依照的蓝图。

1.4 RTL设计

芯片被划分成多个块,每个块又被划分成多个模块。多个设计者使用Verilog 或VHDL共同承担设计工作。使用Lint和其他结构工具以保证所有的设计遵循共同的基本设计指导原则。

Lint工具用于检查RTL代码错误,其检查的范用从基本的矢量宽度不匹配到时钟交叉和同步问题。使用一个好的代码分析工具对RTL代码进行检查以便在早期就发现设计和代码中的错误是非常有益的。

常见的商用代码分析工具有:Atrenta的Spyglass、Synopsys的Leda、Cadence的Surelint、Springsoft的nLint和eritools的HDLint等。

1.5 验证

1.5.1 功能验证

在RTL设计完成后,需要对其进行功能验证。

它需要一个testbench验证环境,基于此环境可以生成测试激励并进行设计验证。

System Verilog, OVM/UVM是目前最新的验证语言和验证方法,可以进行受约束的随机化验证。

通常需要一个高层次的,对测试场景进行描述的文件。

仿真工具用于通过各种测试用例对设计进行仿真。每一种测试用例都会针对芯片的某些功能进行测试。仿真工具记录所有内部信号在每个时钟周期的状态值,这对于发现设计错误的内部细节非常重要。商用的仿真工具有Silvaco的SILos、Mentor的Modelsim和Questa、Cadence的nCSim、Synopsys的VCS等。

1.5.2 模拟

芯片设计时,经常会使用FPGA进行系统模拟验证。FPGA与芯片类似,都使用综合后的网表实现所需要的功能,但FPGA更为灵活。FPGA最初是一块空白的芯片,用户的设计经过综合后得到比特文件,烧录到FPGA中之后可以实现与芯片相同的功能。FPGA可以反复烧录,易于进行设计修改。

使用FPGA实现芯片功能,在系统中进行实际验证,有助于从系统级对芯片的功能进行实际验证,可以先期就开发软件和驱动程序,这些都有助于在流片之前发现隐藏较深的设计缺陷。

目前,FPGA模拟已经成为芯片开发流程中的一个标准环节。

后端设计

2.1 综合

综合是使用软件工具将RTL代码(Verilog或VHDL)转换为逻辑门(与门、或门和触发器等)的过程。综合工具可以按照某些原则,如最小面积或最佳定时特性,生成综合后的网表。

在开始综合之前,我们需要编写综合约束文件。综合约束文件中需要说明的一些重要内容包括以下几点:

时钟频率:这是综合工具需要知道的最重要的信息,它决定了满足定时要求的情况下两个触发器之间可以有多少级逻辑电路。

优化目标:最小面积或最佳定时特性。如果工作频率较低,定时不存在问题,那么我们可以将综合过程的优化目标确定为最小面积;如果定时要求苛刻,那么综合的优化目标应该为最佳定时特性,此时综合工具可能会将某些电路设计为并行或流水线结构,这会增大芯片面积,但定时特性会更好。

输出延迟和输入延迟:当一个模块的输出与另一个模块的输人相连接时,我们需要对输出引脚的输出延迟和输人引脚的输入延迟进行描述。

展平(fattening)与保持层次(keeping hierarchy):当保持层次时,RTL代码在模块级进行综合,其输入输出引脚被保留。当设计被展平后,综合时不考虑模块之间的边界。

一些常用的综合工具有,

ASIC:Synopsys的DC(Design Compiler)、Cadence(RTL Compiler)和Magma的Talus等。

FPGA:Mentor的Precision、Synopsys的Synplify family、Xilinx的XST、AlteraQuartus、Magma的BlastFPGA等。

2.2 STA

STA ( Statie Timing Analysis., 静态定时分析)是一种用于发现芯片在综合或布局布线之后的逻辑是否满足定时要求的方法。RTL代码综合和布局在线之后,就可以将逻辑门及逻辑门之间互联信导线的延迟参数提取出来,这一过程称为延迟提取。在同步设计中,信号从一个触发器的输出、经过多个逻辑门之后进入另一个触发器的输入端。

STA工具可以计算出从一个触发器的输出到另一个触发器入之间的最大延迟,最大延迟值应小于1个时钟周期,这样才能保证输出的信号在本周期内到达下一个触发器,并且不会出现建立时间不满足要求的问题。STA工具还会计算从一个触发器的输出到另一个触发器输入之间的最小延迟,最小延迟用于确保延迟值大于触发器所需要的保持时间。

常见的STA工具有,Synopsys Prime Time、Cadence CTE(Common Timing Engine)、Mentor SST Velocity、Magma等。

2.3 门级仿真

门级仿真是在包含定时信息的情况下检查芯片功能是否正确。

此时芯片内部的所有延迟都放标注出来,因此所有内部节点和逻辑门的逻辑值变化都包含了实际的延迟。这反映了真实芯片的操作行为。

2.4 布局布线(layout)

在这一阶段,layout 工具将综合后的网表读入,所有逻辑门都以晶体管和其他基本元件的方式出现。

有些芯片的layout是由布局布线工具自动完成的。

有些高频设计需要以手工的方式进行布局布线。

2.5 提交设计数据(tape-out)

芯片布局布线后,可以提取出精确的定时信息并反馈给STA工具进行精确的定时特性检查。此后还需要进行设计规则检查(Design Rule Check,DRC)。这些工作都完成后,就可以将设计数据提交给芯片制造厂了。早期进行芯片设计时,都是以磁带来存储芯片设计数据的,因此称为tape-out。目前多以电子文档的方式提交数据,已经不使用磁带了,但这一称呼沿用至今。

系统实现

3.1 实验室测试

芯片的工程样片需要安装在预先设计好的评估板上进行实际应用测试。

第一次所投的芯片被称为工程样片,目的是发现芯片在实际应用时存在的问题并解决这些问题。

第二次所投芯片如果经过全面测试后没有发现任何问题,那么这一批芯片就可以作为正式的产品

有些博客在前后端划分有不一样,有的前端将综合和STA包括进前端设计中。

因此其前端包括:规格制定、详细设计、HDL编码、仿真验证、逻辑综合、STA和形式验证,前端设计的结果就是得到了芯片的门级网表电路;

后端划分更细,包括:

DFT:Design For Test,可测性设计。DFT的常见方法就是,在设计中插入扫描链,将非扫描单元(如寄存器)变为扫描单元。

DFT工具有Synopsys的DFT Compiler。

布局规划(FloorPlan):布局规划就是放置芯片的宏单元模块,在总体上确定各种功能电路的摆放位置,如IP模块,RAM,I/O引脚等等;布局规划能直接影响芯片最终的面积。

工具为Synopsys的Astro。

CTS:Clock Tree Synthesis,时钟树综合,时钟的布线;由于时钟信号在数字芯片的全局指挥作用,它的分布应该是对称式的连到各个寄存器单元,从而使时钟从同一个时钟源到达各个寄存器时,时钟延迟差异最小,这也是为什么时钟信号需要单独布线的原因。

CTS工具有Synopsys的Physical Compiler。

布线(Place & Route):普通信号布线,包括各种标准单元(基本逻辑门电路)之间的走线;比如我们平常听到的0.13um工艺,或者说90nm工艺,实际上就是这里金属布线可以达到的最小宽度,从微观上看就是MOS管的沟道长度。

寄生参数提取:由于导线本身存在的电阻,相邻导线之间的互感,耦合电容在芯片内部会产生信号噪声,串扰和反射;这些效应会产生信号完整性问题,导致信号电压波动和变化,如果严重就会导致信号失真错误;提取寄生参数进行再次的分析验证,分析信号完整性问题是非常重要的。

工具Synopsys的Star-RCXT。

版图物理验证:对完成布线的物理版图进行功能和时序上的验证,验证项目很多,如LVS(Layout Vs Schematic)验证,简单说,就是版图与逻辑综合后的门级电路图的对比验证;DRC(Design Rule Checking),设计规则检查,检查连线间距,连线宽度等是否满足工艺要求;ERC(Electrical Rule Checking),电气规则检查,检查短路和开路等电气 规则违例。

工具为Synopsys的Hercules。

实际的后端流程还包括电路功耗分析,以及随着制造工艺不断进步产生的DFM可制造性设计)问题。

物理版图以GDS II的文件格式交给芯片代工厂(Foundry)在晶圆硅片上做出实际的电路,再进行封装和测试,就得到了实际看见的芯片。

【END】

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    447

    文章

    47788

    浏览量

    409142
  • IC设计
    +关注

    关注

    37

    文章

    1264

    浏览量

    102957

原文标题:【科普】IC设计流程概述

文章出处:【微信号:feifeijiehaha,微信公众号:电路和微电子考研】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是烧录?怎么判别IC是否烧录过

     IC烧录的基本流程,有时候我们会买来新料,新料一般是空白的可以跳过清除这道程序。
    的头像 发表于 02-02 14:14 1242次阅读

    3D-IC 设计之 Memory-on-Logic 堆叠实现流程

    3D-IC 设计之 Memory-on-Logic 堆叠实现流程
    的头像 发表于 12-01 16:53 326次阅读
    3D-<b class='flag-5'>IC</b> 设计之 Memory-on-Logic 堆叠实现<b class='flag-5'>流程</b>

    语音芯片烧录流程概述

    语音芯片的烧录是将特定的固件或软件加载到芯片中,以使其能够执行特定的语音处理功能。以下是一般的语音芯片烧录过程:具体的烧录过程可能因芯片型号、厂商和烧录工具而异,上述步骤仅为一般流程的参考。
    的头像 发表于 10-19 11:19 1029次阅读

    ic载板和pcb有什么区别

     ic载板和pcb之间的不同主要体现在定义、材料、结构、制造流程以及应用场景等方面,本文小编将详细和大家介绍ic载板和pcb的区别。
    的头像 发表于 10-05 16:44 2889次阅读

    pcb和ic载板区别在哪里

    ic载板和pcb之间的不同主要体现在定义、材料、结构、制造流程以及应用场景等方面,本文捷多邦小编将详细和大家介绍ic载板和pcb的区别。
    的头像 发表于 09-18 10:37 1044次阅读

    Vivado设计套件用户指南(设计流程概述)

    电子发烧友网站提供《Vivado设计套件用户指南(设计流程概述).pdf》资料免费下载
    发表于 09-15 09:55 1次下载
    Vivado设计套件用户指南(设计<b class='flag-5'>流程</b><b class='flag-5'>概述</b>)

    【工程师笔记】Driver IC 热阻模型概述与计算

    点击标题下「MPS芯源系统」可快速关注 芯片散热是越来越多客户关心的问题,那么如何构建相应的物理模型进行分析和计算? 点击图片进入小程序,观看 《电机驱动IC热阻模型概述与计算》研讨会
    的头像 发表于 09-13 12:15 680次阅读
    【工程师笔记】Driver <b class='flag-5'>IC</b> 热阻模型<b class='flag-5'>概述</b>与计算

    ic设计前端到后端的流程 ic设计的前端和后端的区别

    IC(Integrated Circuit)设计涉及两个主要的阶段:前端设计和后端设计。它们在IC设计流程中扮演着不同的角色和职责,具有以下区别
    的头像 发表于 08-15 14:49 2254次阅读

    ic设计需要哪些知识 ic设计全流程

    IC设计需要掌握深入的电子学知识、半导体物理学、数字电路设计、模拟电路设计等多个学科领域的知识。此外,熟悉相关的工艺和EDA工具,以及了解芯片的设计规则和标准也是非常重要的。
    发表于 07-31 15:21 1107次阅读

    简述进行​IC设计的方法和设计流程

    IC设计是一门非常复杂的科学,在IC生产流程中,IC芯片主要由专业IC设计公司进行规划、设计,如联发科、高通、Intel等国际知名大厂,都自
    发表于 07-19 08:58 1118次阅读
    简述进行​<b class='flag-5'>IC</b>设计的方法和设计<b class='flag-5'>流程</b>

    IC设计流程先后顺序 ic设计流程物理验证

     IC设计是一项复杂的工作,需要设计工程师具备电路设计和布局技能,以及对电子元器件和芯片制造工艺的深入了解。它在现代电子技术中起着关键作用,使得我们可以实现高度集成的电子系统,提供更小、更快、更智能的电子产品。
    发表于 07-18 15:15 569次阅读

    FPGA的详细开发流程

      FPGA 的详细开发流程就是利用 EDA 开发工具对 FPGA 芯片进行开发的过程,所以 FPGA 芯片开发流程讲的并不是芯片的制造流程,区分于 IC 设计制造
    的头像 发表于 07-04 14:37 2757次阅读
    FPGA的详细开发<b class='flag-5'>流程</b>

    低功耗技术在IC设计中的应用 IC设计流程解析

    IC设计流程从设计到验证是一个复杂而精细的过程,需要多个设计工具和验证手段的支持。不同的设计流程可能会有所差异,具体的设计流程也会根据项目需求和技术发展的变化而有所调整。
    发表于 06-27 17:07 293次阅读

    数字IC设计流程中为什么要做门级仿真?

    门级仿真(gate levelsimulation)也称之为后仿真,是数字IC设计流程中的一个重要步骤。
    的头像 发表于 06-07 09:55 1297次阅读
    数字<b class='flag-5'>IC</b>设计<b class='flag-5'>流程</b>中为什么要做门级仿真?

    芯片设计流程概述

    点击上方 蓝字 关注我们 芯片设计流程概述 芯片设计分为前端设计和后端设计,前端设计(也称逻辑设计)和后端设计(也称物理设计)并没有统一严格的界限,涉及到与工艺有关的设计就是后端设计。 1. 规格
    的头像 发表于 05-22 19:30 428次阅读