IC的设计过程可分为两个部分,分别为:前端设计(也称逻辑设计)和后端设计(也称物理设计),这两个部分并没有统一严格的界限,凡涉及到与工艺有关的设计可称为后端设计。

前端设计的主要流程:

1、规格制定
芯片规格,也就像功能列表一样,是客户向芯片设计公司(称为Fabless,无晶圆设计公司)提出的设计要求,包括芯片需要达到的具体功能和性能方面的要求。

2、详细设计
Fabless根据客户提出的规格要求,拿出设计解决方案和具体实现架构,划分模块功能。

3、HDL编码
使用硬件描述语言(VHDL,Verilog HDL,业界公司一般都是使用后者)将模块功能以代码来描述实现,也就是将实际的硬件电路功能通过HDL语言描述出来,形成RTL(寄存器传输级)代码。

4、仿真验证
仿真验证就是检验编码设计的正确性,检验的标准就是第一步制定的规格。看设计是否精确地满足了规格中的所有要求。规格是设计正确与否的黄金标准,一切违反,不符合规格要求的,就需要重新修改设计和编码。设计和仿真验证是反复迭代的过程,直到验证结果显示完全符合规格标准。仿真验证工具Mentor公司的Modelsim,Synopsys的VCS,还有Cadence的NC-Verilog均可以对RTL级的代码进行设计验证,该部分个人一般使用第一个-Modelsim。该部分称为前仿真,接下来逻辑部分综合之后再一次进行的仿真可称为后仿真。

5、逻辑综合――Design Compiler
仿真验证通过,进行逻辑综合。逻辑综合的结果就是把设计实现的HDL代码翻译成门级网表netlist。综合需要设定约束条件,就是你希望综合出来的电路在面积,时序等目标参数上达到的标准。逻辑综合需要基于特定的综合库,不同的库中,门电路基本标准单元(standard cell)的面积,时序参数是不一样的。所以,选用的综合库不一样,综合出来的电路在时序,面积上是有差异的。一般来说,综合完成后需要再次做仿真验证(这个也称为后仿真,之前的称为前仿真)逻辑综合工具Synopsys的Design Compiler,仿真工具选择上面的三种仿真工具均可。

6、静态时序分析——STA
Static Timing Analysis(STA),静态时序分析,这也属于验证范畴,它主要是在时序上对电路进行验证,检查电路是否存在建立时间(setup time)和保持时间(hold time)的违例(violation)。这个是数字电路基础知识,一个寄存器出现这两个时序违例时,是没有办法正确采样数据和输出数据的,所以以寄存器为基础的数字芯片功能肯定会出现问题。STA工具有Synopsys的Prime Time。

7、形式验证
这也是验证范畴,它是从功能上(STA是时序上)对综合后的网表进行验证。常用的就是等价性检查方法,以功能验证后的HDL设计为参考,对比综合后的网表功能,他们是否在功能上存在等价性。这样做是为了保证在逻辑综合过程中没有改变原先HDL描述的电路功能。形式验证工具有Synopsys的Formality。前端设计的流程暂时写到这里。从设计程度上来讲,前端设计的结果就是得到了芯片的门级网表电路。

Backend design flow后端设计流程:

1、可测性设计——DFT
Design ForTest,可测性设计。芯片内部往往都自带测试电路,DFT的目的就是在设计的时候就考虑将来的测试。DFT的常见方法就是,在设计中插入扫描链,将非扫描单元(如寄存器)变为扫描单元。关于DFT,有些书上有详细介绍,对照图片就好理解一点。DFT工具Synopsys的DFT Compiler

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

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

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

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

6、版图物理验证
对完成布线的物理版图进行功能和时序上的验证,验证项目很多,如LVS(Layout Vs Schematic)验证,简单说,就是版图与逻辑综合后的门级电路图的对比验证;DRC(Design Rule Checking):设计规则检查,检查连线间距,连线宽度等是否满足工艺要求,ERC(Electrical Rule Checking):电气规则检查,检查短路和开路等电气规则违例;等等。工具为Synopsys的Hercules实际的后端流程还包括电路功耗分析,以及随着制造工艺不断进步产生的DFM(可制造性设计)问题,在此不说了。物理版图验证完成也就是整个芯片设计阶段完成,下面的就是芯片制造了。物理版图以GDSII的文件格式交给芯片代工厂(称为Foundry)在晶圆硅片上做出实际的电路,再进行封装和测试,就得到了我们实际看见的芯片。

数字芯片的设计流程及其使用工具相关推荐

  1. 完整的芯片反向设计流程原来是这样的!(实例讲解)

    完整的芯片反向设计流程原来是这样的!(实例讲解) 作者:时间:2018-02-23来源:网络收藏 现代IC产业的市场竞争十分激烈,所有产品都是日新月异,使得各IC设计公司必须不断研发新产品,维持自身企 ...

  2. 芯片的设计流程和流片成本

    每天都在用,但你知道芯片的设计流程和流片成本吗? 2017-05-10 06:10 来源:半导行业观察 芯片,是无数设计工程师们烧死很多脑细胞后产生的作品,完全可以称得上是当代的艺术品.无论是电工们, ...

  3. 数字IC前端设计流程及详细解释

    数字IC前端设计流程及详细解释 1,数字前端设计流程图 2,各个部分的解释 1,数字前端设计流程图 数字前端以设计架构为起点,以生成可以布局布线的网表为终点. 使用设计的电路实现想法,主要包括:基本的 ...

  4. IC-CAD IC 设计流程及 EDA 工具

    IC 设计流程是每个 IC 从业者的必修课,虽然多数人的从业方向只是 IC 设计流程中的一部分,但是了解 IC 设计流程全貌对正确认识每个 IC 设计环节的作用是有很大帮助的. 对于一个 CAD 来说 ...

  5. 数字芯片后端设计——Memory Complier使用及库导入

    ARM公司MC软件使用 Memory Compiler用于生成数字芯片中片上存储SRAM的生成. 关于所生成SRAM的结构和参数概念,参考1即可.在这里只谈一下自己平时需要设置的参数.下图为软件界面, ...

  6. 数字芯片后端设计——SRAM宏模块布局布线

    在40nm SMIC工艺下,根据手册总结单端SRAM的布局布线问题. ArtiGrid power structure options:以下图为例,memory的电源布线,无论是core核还是外围pe ...

  7. 从 Spec.到芯片_(数字IC、模拟IC、FPGA/CPLD设计的流程及EDA工具)

    从 Spec.到芯片→ 先来看张图,本图体现出了集成电路产业链:设计业.制造业.封测业. 关于制造.封装测试我们看两张图稍作了解即可: 关于设计,是本文主要内容,主要从下方几个方面了解: 1.IC设计 ...

  8. 【简历投递】数字IC前端设计工程师-北京

    目录 1.兆易创新 (社招)数字前端实现资深/主管工程师 2.海尔集成电路 (X招)IC前端设计工程师 3.龙芯中科 (校招)SoC结构设计工程师 (校招)多核结构设计工程师 4.紫光同芯 (校招)数 ...

  9. 数字ASIC设计流程前端到后端使用工具

    文章来于<ic设计流程与使用工具介绍> a.通用型数字Asic(从上到下) 在验证算法时一般使用C语言或者verilog来对系统算法进行建模,使用行为级描述来对算法功能的正确与否进行仿真. ...

最新文章

  1. 【青少年编程】【二级】寻找宝石
  2. Swin-Transformer又又又下一城 | 看SwinTrack目标跟踪领域独领风骚
  3. java集合类讲解视频,关于java:实实在在面试List和Map集合面试合集含讲解视频
  4. “编程能力差!90%输在这点上!”谷歌AI专家:其实都是瞎努力!
  5. mysql大量数据合并_mysql中将多行数据合并成一行数据
  6. python find不区分大小写_牛鹭学院:Python基础了解
  7. 小鹏汽车自动驾驶内推(社招+校招)
  8. 5分钟部署一个Hello World Servlet到CloudFoundry 1
  9. CentOS下Apache服务器的安装与配置
  10. 【题解】P5369 [PKUSC2018]最大前缀和(状压 DP)
  11. 数字逻辑课程设计--数字钟的设计(quartus ii)(内附源代码和实习报告以及6篇实习日志)
  12. Wince电源管理(五) ---- Windows CE设备驱动开发之电源管理
  13. python爬贴吧回复_Python爬虫实践,获取百度贴吧内容
  14. 零售行业新渠道,效率居然这么高?
  15. html给页面整体添加左右边距_左右边距相对于页面宽度过大
  16. 报错:HTTP/2 stream 1 was not closed cleanly before end of the underlying stream
  17. 《Java核心技术 卷II》笔记——(7)输入/输出流文件流序列化
  18. 硬盘、U盘起死回生的方法:文件系统显示为RAW文件系统,总共字节为0,可用字节为0且无法读取 的解决办法
  19. 写给扎克伯格的一封信:不要让我们失望!
  20. 杰理之SD卡 MMC卡 U盘 假U盘【篇】

热门文章

  1. 《大学生公共安全教育》
  2. Kafka-eagle 安装教程
  3. hexo VS jekyll
  4. modelsim的基本使用
  5. Modelsim库编译
  6. 公司注册商标的重要性
  7. 学习 前端开发中的JS调试技巧(断点)
  8. 模拟电影胶片、梦幻系列、喜怒无常的电影胶片、Lightroom预设合集【61】
  9. 自动驾驶感知——物体检测与跟踪算法|4D毫米波雷达
  10. 盛大发布nbsp;Bambooknbsp;手机:解与未解…