IC设计前端到后端的流程和eda工具。
IC前端设计(逻辑设计)和后端设计(物理设计)的区分:以设计是否与工艺有关来区分二者;从设计程度上来讲,前端设计的结果就是得到了芯片的门级网表电路。
前端设计的流程及使用的EDA工具例如以下:
1、架构的设计与验证:依照要求,对总体的设计划分模块。
架构模型的仿真能够使用Synopsys公司的CoCentric软件,它是基于System C的仿真工具。
2、HDL设计输入:设计输入方法有:HDL语言(Verilog或VHDL)输入、电路图输入、状态转移图输入。
使用的工具有:Active-HDL,而RTL分析检查工具有Synopsys的LEDA。
3、前仿真工具(功能仿真):初步验证设计是否满足规格要求。
使用的工具有:Synopsys的VCS,Mentor的ModelSim,Cadence的Verilog-XL,Cadence的NC-Verilog。
4、逻辑综合:将HDL语言转换成门级网表Netlist。综合须要设定约束条件,就是你希望综合出来的电路在面积,时序等目标參数上达到的标
准;逻辑综合须要指定基于的库,使用不同的综合库,在时序和面积上会有差异。逻辑综合之前的仿真为前仿真,之后的仿真为后仿真。
使用的工具有:Synopsys的Design Compiler,Cadence的 PKS,Synplicity的Synplify等。
5、静态时序分析工具(STA):在时序上,检查电路的建立时间(Setuptime)和保持时间(Hold time)是否有违例(Violation)。
使用的工具有:Synopsys的Prime Time。
6、形式验证工具:在功能上,对综合后的网表进行验证。经常使用的就是等价性检查(Equivalence Check)方法,以功能验证后的HDL设计为參
考,对照综合后的网表功能,他们是否在功能上存在等价性。这样做是为了保证在逻辑综合过程中没有改变原先HDL描写叙述的电路功能。
使用的工具有:Synopsys的Formality
1. 数据准备。对于 CDN 的 Silicon Ensemble而言后端设计所需的数据主要有是
Foundry厂提供的标准单元、宏单元和I/O Pad的库文件,它包含物理库、时序库及网表库
,分别以.lef、.tlf和.v的形式给出。前端的芯片设计经过综合后生成的门级网表,具有
时序约束和时钟定义的脚本文件和由此产生的.gcf约束文件以及定义电源Pad的DEF(Desi
gn Exchange Format)文件。(对synopsys 的Astro 而言, 经过综合后生成的门级网表,
时序约束文件 SDC 是一样的,Pad的定义文件--tdf , .tf 文件 --technology file,
Foundry厂提供的标准单元、宏单元和I/O Pad的库文件 就与FRAM, CELL view, LM view
形式给出(Milkway 參考库 and DB, LIB file)
2. 布局规划。主要是标准单元、I/O Pad和宏单元的布局。I/OPad预先给出了位
置,而宏单元则依据时序要求进行摆放,标准单元则是给出了一定的区域由工具自己主动摆放
。布局规划后,芯片的大小,Core的面积,Row的形式、电源及地线的Ring和Strip都确定
下来了。假设必要 在自己主动放置标准单元和宏单元之后, 你能够先做一次PNA(power netw
ork analysis)--IR drop and EM .
3. Placement -自己主动放置标准单元。布局规划后,宏单元、I/O Pad的位置和放置
标准单元的区域都已确定,这些信息SE(Silicon Ensemble)会通过DEF文件传递给PC(Ph
ysical Compiler),PC依据由综合给出的.DB文件获得网表和时序约束信息进行自己主动放置标
准单元,同一时候进行时序检查和单元放置优化。假设你用的是PC +Astro
那你可用write_milkway, read_milkway 传递数据。
4. 时钟树生成(CTS Clock tree synthesis) 。芯片中的时钟网络要驱动电路中所
有的时序单元,所以时钟源端门单元带载非常多,其负载延时非常大而且不平衡,须要插入缓
冲器减小负载和平衡延时。时钟网络及其上的缓冲器构成了时钟树。一般要重复几次才可
以做出一个比較理想的时钟树。---Clock skew.
5. STA 静态时序分析和后仿真。时钟树插入后,每一个单元的位置都确定下来了,
工具能够提出Global Route形式的连线寄生參数,此时对延时參数的提取就比較准确了。
SE把.V和.SDF文件传递给PrimeTime做静态时序分析。确认没有时序违规后,将这来两个文
件传递给前端人员做后仿真。对Astro 而言,在detail routing 之后,用starRC XT 參
数提取,生成的E.V和.SDF文件传递给PrimeTime做静态时序分析,那将会更准确。
6. ECO(Engineering Change Order)。针对静态时序分析和后仿真中出现的问题,
对电路和单元布局进行小范围的修改.
7. Filler的插入(padfliier, cell filler)。Filler指的是标准单元库和I/O P
ad库中定义的与逻辑无关的填充物,用来填充标准单元和标准单元之间,I/O Pad和I/O P
ad之间的间隙,它主要是把扩散层连接起来,满足DRC规则和设计须要。
8. 布线(Routing)。Global route-- Trackassign --Detail routing--Routing
optimization 布线是指在满足工艺规则和布线层数限制、线宽、线间距限制和各线网可
靠绝缘的电性能约束的条件下,依据电路的连接关系将各单元和I/O Pad用互连线连接起来
,这些是在时序驱动(Timing driven ) 的条件下进行的,保证关键时序路径上的连线长度
可以最小。--Timing report clear
9. Dummy Metal的添加。Foundry厂都有对金属密度的规定,使其金属密度不要低
于一定的值,以防在芯片制造过程中的刻蚀阶段对连线的金属层过度刻蚀从而减少电路的
性能。添加Dummy Metal是为了添加金属的密度。
10. DRC和LVS。DRC是对芯片版图中的各层物理图形进行设计规则检查(spacing ,
width),它也包含天线效应的检查,以确保芯片正常流片。LVS主要是将版图和电路网表进
行比較,来保证流片出来的版图电路和实际须要的电路一致。DRC和LVS的检查--EDA工具
Synopsy hercules/ mentor calibre/ CDN Dracula进行的.Astro also include LVS/DRC
check commands.
11. Tape out。在全部检查和验证都正确无误的情况下把最后的版图GDSⅡ文件传
递给Foundry厂进行掩膜制造
IC设计前端到后端的流程和eda工具。的更多相关文章
- IC设计前后端流程与EDA工具
IC前端设计(逻辑设计)和后端设计(物理设计)的区分: 以设计是否与工艺有关来区分二者:从设计程度上来讲,前端设计的结果就是得到了芯片的门级网表电路. 前端设计的流程及使用的EDA工具 1.架构的设计 ...
- [转]关于几本模拟IC设计书
1.P.R.Gray的书 这本书被业界誉为模拟IC的Bible,盛名之下,必无虚士.现在已经出到第四版,作者无一例外是业界大牛,该书论述严谨,思路清晰,对电路分析透彻,定义严格明确,无愧Bible之名 ...
- VerilogHDL概述与数字IC设计流程学习笔记
一.HDL的概念和特征 HDL,Hard Discrimination Language的缩写,翻译过来就是硬件描述语言.那么什么是硬件描述语言呢?为什么不叫硬件设计语言呢?硬件描述语言,顾名思义就是 ...
- (转)IC设计完整流程及工具
IC的设计过程可分为两个部分,分别为:前端设计(也称逻辑设计)和后端设计(也称物理设计),这两个部分并没有统一严格的界限,凡涉及到与工艺有关的设计可称为后端设计. 前端设计的主要流程: 1.规格制定 ...
- 【转载】数字IC设计流程及开发工具
原文链接:https://www.zhihu.com/question/28322269/answer/42048070 Design Flow <img src="h ...
- IC设计流程介绍
芯片设计分为前端设计和后端设计,前端设计(也称逻辑设计)和后端设计(也称物理设计)并没有统一严格的界限,涉及到与工艺有关的设计就是后端设计. 1. 规格制定 芯片规格,也就像功能列表一样 ...
- IC设计流程概述
芯片设计分为前端设计和后端设计,前端设计(也称逻辑设计)和后端设计(也称物理设计)并没有统一严格的界限,涉及到与工艺有关的设计就是后端设计. Front-end design flow 1. 规格制定 ...
- 架构设计:前后端分离之Web前端架构设计
在前面的文章里我谈到了前后端分离的一些看法,这个看法是从宏观的角度来思考的,没有具体的落地实现,今天我将延续上篇文章的主题,从纯前端的架构设计角度谈谈前后端分离的一种具体实现方案,该方案和我原来设想有 ...
- 系统架构:Web应用架构的新趋势---前端和后端分离的一点想法
最近研究servlet,看书时候书里讲到了c/s架构到b/s架构的演变,讲servlet的书都很老了,现在的b/s架构已经不是几年前的b/s架构,其实b/s架构就是web应用开发,对于这样的架构我们现 ...
随机推荐
- python网络爬虫学习笔记
python网络爬虫学习笔记 By 钟桓 9月 4 2014 更新日期:9月 4 2014 文章文件夹 1. 介绍: 2. 从简单语句中開始: 3. 传送数据给server 4. HTTP头-描写叙述 ...
- POJ3623:Best Cow Line, Gold(后缀数组)
Description FJ is about to take his N (1 ≤ N ≤ 30,000) cows to the annual"Farmer of the Year&qu ...
- JavaFX它ListView使用
ListView它是通过同一控制非.在JavaFX在.ListView此外,它拥有非常丰富的功能.下列.让我们来看看如何使用ListView. ListView位于javafx.scene.contr ...
- 构建安全的Xml Web Service系列之SSL篇
原文:构建安全的Xml Web Service系列之SSL篇 首先介绍一下SSL, SSL 的英文全称是 "Secure Sockets Layer" ,中文名为 "安全 ...
- hibernate它 10.many2many单向
在前文hibernate之5.many2one单向提到多对多关系,表结构设计是基于中间表来实现, 以下以用户与角色(多对多)为例,在Hibernate是怎样操作的 表结构设计: 类图: CRUD; S ...
- GitLab一键式安装bitnami
https://bitnami.com/stack/gitlab/installer https://bitnami.com/redirect/to/96764/bitnami-gitlab-8.5. ...
- 关系数据库的基本概念和MySQL说明
关系数据库的基本概念 数据库: 大量的信息化解决方案的高效管理. 根据数据结构来组织.存储和管理数据的库. 数据库系统(DBS,DATABASE SYSTEM): 数据库(DB,DATABASE) + ...
- Codeforces 442B Andrey and Problem(贪婪)
题目链接:Codeforces 442B Andrey and Problem 题目大意:Andrey有一个问题,想要朋友们为自己出一道题,如今他有n个朋友.每一个朋友想出题目的概率为pi,可是他能够 ...
- Spring Framework 下载链接_现在有空
下载链接:http://repo.spring.io/libs-release-local/org/springframework/spring/ 点击打开链接 包括Spring的各个版本号: 3.2 ...
- What is Observer and Observable and when we used these?
转会:http://stackoverflow.com/questions/13744450/interview-when-do-we-use-observer-and-observable