IC设计流程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

IC设计流程
⼤体是
1. ⾸先是使⽤HDL语⾔进⾏电路描述,写出可综合的代码。

然后⽤仿真⼯具作前仿真,
对理想状况下的功能进⾏验证。

这⼀步可以使⽤Vhdl或Verilog作为⼯作语⾔,EDA⼯具
⽅⾯就我所知可以⽤Synopsys的VSS(for Vhdl)、VCS(for Verilog)Cadence的⼯具也就是著名的Verilog-XL和NC Verilog
2.前仿真通过以后,可以把代码拿去综合,把语⾔描述转化成电路⽹表,并进⾏逻辑和
时序电路的优化。

在这⼀步通过综合器可以引⼊门延时,关键要看使⽤了什么⼯艺的库
这⼀步的输出⽂件可以有多种格式,常⽤的有EDIF格式。

综合⼯具Synopsys的Design Compiler,Cadence的Ambit
3,综合后的输出⽂件,可以拿去做layout,将电路fit到可编程的⽚⼦⾥或者布到硅⽚上
这要看你是做单元库的还是全定制的。

全定制的话,专门有版图⼯程师帮你画版图,Cadence的⼯具是layout editor 单元库的话,下⾯⼀步就是⾃动布局布线,auto place & route,简称apr cadence的⼯具是Silicon Ensembler,Avanti的是Apollo
layout出来以后就要进⾏extract,只知道⽤Avanti的Star_rcxt,然后做后仿真
如果后仿真不通过的话,只能iteration,就是回过头去改。

4,接下来就是做DRC,ERC,LVS了,如果没有什么问题的话,就tape out GDSII
格式的⽂件
送制版⼚做掩膜板,制作完毕上流⽔线流⽚,然后就看是不是work了
做DRC,ERC,LVSAvanti的是Hercules,Venus,其它公司的你们补充好了
btw:后仿真之前的输出⽂件忘记说了,应该是带有完整的延时信息的设计⽂件如:*.VHO,*.sdf
RTL->SIM->DC->SIM-->PT-->DC---ASTRO--->PT----DRC,LVS--->TAPE OUT
1。

PT后⼀般也要做动态仿真,原因:异步路径PT是做不了的
2。

综合后加⼀个形式验证,验证综合前后⽹表与RTL的⼀致性
3。

布版完成后⼀般都会有ECO,⽬的⼿⼯修改⼩的错误
SPEC->ARCHITECTURE->RTL->SIM->DC->SIM-->PT-->DC---ASTRO--->PT----DRC, LVS--->TAPE OUT
SPEC:specification,在进⾏IC设计之前,⾸先需要对本IC的功能有⼀个基本的定义。

ARCHITECTURE:IC的系统架构,包括算法的设计,算法到电路的具体映射,电路的具体实现⽅法,如总线结构、流⽔⽅式等。

在IC前端的设计中,ARCHITECTURE才是精华,其他的⼤部分都是EDA⼯具的使⽤,技术含量不⾼。

dv, design verification,验证和前端、后端并列。

DFT, design for test. 前后端合作,并与tapeout 后测试合作。

ir-drop. 后端和验证合作。

SI, 后端。

low-power design ,前后端合作.
《ic设计流程与使⽤⼯具介绍》
我认为IC设计流程按照功能和应⽤场合不同⼤致可以划分为三个部分进⾏介绍,分别是数字IC、模拟IC和FPGA。

这三者之间既有相同点⼜有相异点。

在进⾏设计时,所使⽤的软件⼯具也有相同和不同的。

1、数字Asic设计流程前端到后端使⽤⼯具
通⽤型数字Asic(从上到下)
在验证算法时⼀般使⽤C语⾔或者verilog来对系统算法进⾏建模,使⽤⾏为级描述来对算法功能的正确与否进⾏仿真。

⼀般⽐较常⽤的⽅法是使⽤C语⾔在Matlab软件环境下进⾏算法验证。

算法验证完成之后,需要进⾏的⼯作就是将算法转化为对应的⾏为级或者寄存器传输级描述,并且对其进⾏功能仿真验证。

在该阶段可以使⽤的⼯具有很多,常⽤的有Active—HDL、Mentor的Modelsim系列软件和QuestaSim系列(前者使⽤三个核进⾏仿真,后者使⽤⼀个核,因此后者可以对不同语⾔环境下的描述进⾏混合仿真)。

完成功能仿真之后需要进⾏的⼯作就是根据foundry提供的标准数字单元⼯艺库,对前⾯得到的表述⼀定功能的代码进⾏综合,得到代码对应的由标准单元库中的门电路组成的实际电路映射。

在综合的过程中,要根据设计规范来制定各种约束以使综合得到的电路映射能够满⾜设计的要求,同时也要注意综合报告中所给出的违反约束的各个信息,并且利⽤这些信息来修改代码或者算法。

在综合的过程中使⽤的⼯具最主要是Synopsys的DC和PC。

做完综合之后,利⽤综合得到的实际电路映射、时序约束与foundry提供的与版图有关的⼯艺库就可以进⾏⾃动布局布线的操做了。

此时常⽤的软件有Synopsys的ASTRO和Cadence的Se⼯具。

⾃动布局布线完成后就可以根据产⽣的版图⽂件信息提取寄⽣参数来进⾏包含寄⽣参数与互联延迟的后仿真了。

⼀般常⽤的寄⽣参数提取⼯具有AVANTI的STAR-RC和Cadence的DRECULA或Diva,两者都需要将⾃动布局布线得到的版图和⼯艺库⽂件导⼊软件中进⾏寄⽣参数提取。

Cadence的软件还可以通过导⼊版图,来对⾃动布局布线得到的版图中不满意的地⽅进⾏修补。

寄⽣参数提取结束后将得到的寄⽣参数信息与⾃动布局布线得到的⽹表导⼊PT 进⾏包含寄⽣参数的时序参数提取,然后利⽤所提取的时序参数在底层⽹表中反标进⾏后仿真,观察后仿真的时序是否满⾜设计规范的要求。

如果满⾜则设计基本完成,不满⾜还需要进⾏迭代修改。

产⽣反标需要的时序⽂件的软件是PT,⽽将时序反标⽂件反标回综合后的⽹表并且进⾏后仿真的软件⽐较多,⽐如Modelsim和Nclaunch(NC主要针对⼤型系统,⽽Modelsim则主要是针对⼩的设计,因为前者的⼯作平台是⼯作站后者是PC)。

全定制数字Asic或者混合信号ASIC(从下到上与从上到下结合)
当需要制作全定制的数字芯⽚时,传统的从上到下的设计流程就不完全奏效了。

其中最⼤的不同就是全定制芯⽚为了实现更⼩的体积与功耗,更⾼的集成度将可能不采⽤⼚家提供的标准数字单元库⽽是通过与foundry沟通⾃⼰设计满⾜⾃⼰需要的⼯艺库。

⽐如Xilinx的FPGA芯⽚的设计采⽤的就是全定制的设计⽅法。

对于全定制设计⽽⾔,也需要采⽤算法验证、功能描述与仿真验证、综合、寄⽣参数提取与后仿真的过程,但是相对通⽤型Asic的设计⽽⾔,在做后仿真时全定制可以使⽤模拟仿真的⽅法进⾏后仿真⽽不需要进⾏时序反标的过程,因为在设计全定制Asic时使⽤的不是foundry提供的标准数字⼯艺库⽽是根据设计需要⾃⼰设计的数字⼯艺库。

因此对于全定制的Asic设计⽽⾔,它的后仿真需要采⽤foundry提供的标准模拟库,由于不使⽤时序的反标⽽采⽤模拟仿真的⽅法后仿真得到最终版图对应信息,因此耗时可能⽐设计通⽤型的Asic更长。

全定制设计流程的使⽤软件有,算法验证与功能仿真的软件同通⽤型使⽤的基本相同。

但是在综合这⼀步就不太⼀样了,对于全定制的设计⽽⾔⼀般在设计时采⽤Cadence的软件⽐较多,因为全定制设计更象模拟电路设计。

在综合这⼀步之前先要根据设计规范对每个模块进⾏时序与功耗的分配,并且最好能够细化到每个门级电路。

然后根据要求来构建设计所需要的设计者需要的单元库。

因为全定制的ic综合这⼀步更象是利⽤设计者⾃⼰定义的库来搭积⽊的过程,⼈为的控制因素与经验也更加重要,在这⾥良好的布局可以使搭出的电路效率更⾼。

在这⾥可以先使⽤cadence的版图与电路图输⼊⼯具Virtuoso来根据设计规范的要求构建建⽴在单管基础上的基本单元库,然后再根据已经验证的算法和功能描述,利⽤所构建的基本单元库来得到整个芯⽚的电路图布局结构,最后根据芯⽚内各个信号的关系来进⾏电路布线的操作。

以上的操作都可以在Cadence的IC 5.1集成设计环境下的Virtuoso中完成,当完成布局布线后全定制Asic的版图基本就确定了,然后根据基于基本单元库所对应版图的全芯⽚电路来搭建全芯⽚电路对应的全芯⽚版图。

此时可以利⽤Cadence的Diva或者Drucla⼯具进⾏DRC、ERC、LVS检查,并且可以根据版图利⽤上述⼯具进⾏参数提取。

然后将提取得到的参数与搭建全芯⽚时所得到的全芯⽚⽹表或者全芯⽚电路进⾏后仿真。

如果在后仿真时不想使⽤Cadence或者系统太⼤仿真不了时,可以使⽤Hsim进⾏仿真。

Hsim在使⽤时需要根据版图提取寄⽣参数和全芯⽚电路基于基本单元库的⽹表。

(还有不详细的地⽅,回来需要具体再阐述下)。

在进⾏通⽤型数字Asic设计时需要注意代码的风格,因为代码风格的好坏直接影响到综合软件的效果,风格规范的代码可以得到性能更⾼的芯⽚电路。

另外,在写代码时还要注意尽量使⽤可综合的代码和能够避免系统出现⽑刺与亚稳态的电路描述⽅法。

在进⾏全定制数字Asic设计时⼀定要注意单元库的建⽴,在建⽴时除了满⾜基本的逻辑功能外还要注意宽长⽐与所构造单元的功耗和延迟之间的关系,最好能够建⽴基于verilog和电路图等多种不同表达⽅式的电路结构。

这样便于后⾯的进⼀步分析与仿真。

另外,在全定制数字IC设计中经常会把数字电路当成模拟电路来分析功耗与延迟,所以可以使⽤模数混合的⽅法来对所设计的基于⾃建单元库的电路进⾏仿真,从⽽可以相对全电路模拟仿真⼤幅度提⾼仿真的速度,相对全电路数字仿真得到更精确的延时信息。

不过对于功耗的仿真还是只能使⽤全电路的模拟仿真。

最为重要的⼀点是通⽤型数字IC的版图布局可以利⽤软件
实现⾃动化,⽽全定制则更多的依靠有经验的版图设计师来实现。

以上是数字IC部分的,⼀点个⼈的看法与⼤家共同研究,欢迎各位达⼈指出错误与不⾜的地⽅!!
IC设计流程
IC设计流程(转⾃USTC )
2,实现⽅法;IC从⽣产⽬的上可以分成为通⽤IC(如CPU,DRAM,接⼝芯⽚等)和ASIC(Application Specific Integreted Circuit)两种,ASIC
是因应专门⽤途⽽⽣产的IC。

从结构可以分成数字IC,模拟IC,数模混合IC三种,⽽SOC(system on chip)则成为发展的⽅向。

从实现⽅式上讲可以分为三种。

基于晶体管级,所有器件和互连版图都采⽤⼈⼯的称为全定制(full-custom)设计,这种⽅法⽐较适合于⼤批量⽣产的,要求集成度⾼、速度快、⾯积⼩、功耗低的通⽤型IC或是ASIC。

基于门阵(Gate-Array)和标准单元(Standard-Cell)的半定制设计(Semi-custom)由于其成本低、周期短、芯⽚利⽤率低⽽适合于批量⼩、要求推出速度快的芯⽚。

基于IC⽣产⼚家已经封装好的PLD(Programmable Logical Design)芯⽚的设计,因为其易⽤性、“可重写性”受到对集成电路⼯艺不太了解的系统集成⽤户的欢迎。

他的最⼤特点就是只须懂得硬件描述语⾔就可以使⽤特殊EDA⼯具“写⼊”芯⽚功能。

但PLD集成度低、速度慢、芯⽚利⽤率低的缺点使他只适合新产品的试制和⼩批量⽣产。

近年来PLD中发展最活跃的当属FPGA(Field Programmable Gate Array)器件.
从采⽤的⼯艺可以分成双极型(bipolar),MOS和其他的特殊⼯艺。

硅(Si)基半导体⼯艺中的双极型器件由于功耗⼤、集成度相对低,在近年随亚微⽶深亚微⽶⼯艺的的迅速发展,在速度上对MOS管已不具优势,因⽽很快被集成度⾼,功耗低、抗⼲扰能⼒强的MOS管所替代。

MOS⼜可分为NMOS、PMOS和CMOS三种;其中CMOS⼯艺发展已经⼗分成熟,占据IC市场的绝⼤部分份额。

AsGa器件因为其在⾼频领域(可以在0.35um下很轻松作到10GHz)如微波IC中的⼴泛应⽤,其特殊的⼯艺也得到了深⼊研究。

⽽应⽤于视频采集领域的CCD传感器虽然也使⽤IC⼀样的平⾯⼯艺,但其实现和标准半导体⼯艺有很⼤不同。

从设计⽅法可以分成⾃顶⽽下(top-down)和⾃底⽽上两种⽅法。

top-down的设计⽅法
在IC开发中,根据不同的项⽬要求,根据项⽬经费和可供利⽤的EDA⼯具和⼈⼒资源,根据代⼯⼚的⼯艺实际,采⽤不同的实现⽅法是很重要的决策. (5)技术创新和紧跟潮流是IC公司良性循环的根本保证;(需要讲吗?)
3,IC设计中所使⽤的EDA⼯具;
俗话说“公欲善其事,必先利其器”。

IC设计中EDA⼯具的⽇臻完善已经使⼯程师完全摆脱了原先⼿⼯操作的蒙昧期。

IC设计向来就是EDA⼯具和⼈脑的结合。

随着IC不断向⾼集成度、⾼速度、低功耗、⾼性能发展,没有⾼可靠性的计算机辅助设计⼿段,完成设计是不可能的。

IC设计的EDA⼯具真正起步于80年代,1983年诞⽣了第⼀台⼯作站平台apollo;20年的发展,从硬件描述语⾔(或是图形输⼊⼯具)到逻辑仿真⼯
具(LOGIC SIMULICATION),从逻辑综合(logic synthesis)到⾃动布局布线(auto plane & route)系统;从物理规则检测(DRC & ERC)和参数提取(LVS)到芯
⽚的最终测试;现代EDA⼯具⼏乎涵盖了IC设计的⽅⽅⾯⾯。

提到IC设计的EDA⼯具就不能不说cadence公司,随着compass的倒闭,它成为这个⾏业名副其实的“⽼⼤” cadence提供了IC design中所涉及的⼏乎所有⼯具;但它的⼯具和它的名⽓⼀样的值钱!现代IC技术的迅猛发展在EDA软件⼚家中掀起并购、重组热潮。

除CADENCE公司以外,⽐较有名的公司包括mentor,avanti,synopsys和INVOEDA;mentor和cadence⼀样是⼀个在设计的各个层次都有开发⼯具的公司,⽽AVANTI因其模拟仿真⼯具HSPICE出名,SYNOPSYS则因为逻辑综合⽅⾯的成就⽽为市场认可。

下⾯我们根据设计的不同阶段和层次来谈谈这些⼯具;
(1)输⼊⼯具(design input):对⾃顶⽽下的(TOP-DOWN)设计⽅法,往往⾸先使⽤VHDL或是VERILOG HDL来完成器件的功能描述,代表性的语⾔输⼊⼯具有SUMMIT公司的VISUAL HDL和MENTOR公司的RENIOR等。

虽然很多的⼚家(多为FPGA⼚商)都提供⾃⼰专⽤的硬件描述语⾔输⼊,如ALTRA公司的AHDL,但所有的公司都提供了对作为IEEE标准的VHDL,VERILOGHDL的⽀持。

对⾃下⽽上的设计,⼀般从晶体管或基本门的图形输⼊开始,这样的⼯具代表性的有cadence公司的composer;viewlogic公司的viewdraw等,均
可根据不同的⼚家库⽽⽣成和输⼊晶体管或门电路相对应的模拟⽹表。

(2)电路仿真软件(circuit simulation):(分为数字和模拟两⼤类)。

电路仿真⼯具的关键在于对晶体管物理模型的建⽴,最切和实际⼯艺中晶体管物理特性的模型必然得到和实际电路更符合的⼯作波形,随IC集成度的⽇益提⾼,线宽的⽇趋缩⼩,晶体管的模型也⽇趋复杂。

任何的电路仿真都是基于⼀定的⼚家库,在这些库⽂件中制造⼚为设计者提供了相应的⼯艺参数;
如TSMC0.18um Cu CMOS⼯艺的相关参数⾼达300个之多;
可以⽤于数字仿真的⼯具有很多,先期逻辑仿真的⽬的只是为了验证功能描述是否正确。

对于使⽤verilog HDL⽣成的⽹
表,cadence公司的verilog-XL是基于UNIX⼯作站最负盛名的仿真⼯具;⽽近年随PC⼯作站的出现,viewlogic的VCS和mentor公司的modelsim因其易⽤性⽽迅速崛起并成为基于廉价PC⼯作站的数字仿真⼯具的后起之秀;对于VHDL⽹表仿
真,cadence公司提供LEAFROG;SYNOPSYS公司有VSS,⽽mentor公司基于PC的MODELSIM
则愈来愈受到新⼿们的欢迎。

PSPICE最早产⽣于Berkley⼤学,经历数⼗年的发展,随晶体管线宽的不断缩⼩,PSPICE也引⼊了更多的参数和更复杂的晶体管模型。

使的他在亚微⽶和深亚微⽶⼯艺的今天依旧是模拟电路仿真的主要⼯具之⼀。

AVANTI是IC设计⾃动化软件的“英雄少年”,它的HSPICE因其在亚微⽶和深亚微⽶⼯艺中的出⾊表现⽽在近年得到了⼴泛的应⽤。

cadence公司的spectre也是模拟仿真软件,但应⽤远不及PSPICE和HSPICE⼴泛;
对于特殊⼯艺设计⽽⾔,由于它们使⽤的不是Si基bipolar或CMOS⼯艺,因⽽也有不同的设计⽅法和仿真软件;例如基于AsGa⼯艺的微波器件所
使⽤的⼯具,较著名的有HP的eesoft等;
(3)综合⼯具(synthesis tools):⽤于FPGA和CPLD的综合⼯具包括有cadence的synplify;synopsys公司的FPGAexpress和FPGA compiler;mentor公司的leonardo spectrum;⼀般⽽⾔不同的FPGA⼚商提供了适⽤于⾃⼰的FPGA电路的专⽤仿真综合⼯具,⽐如altera公司的MAXPLUS2仅
仅适⽤它⾃⼰的MAX系列芯⽚;⽽foundation则为XILINX器件量⾝定做……
最早的IC综合⼯具应该是cadence的buildgates;⽽Cadence最新版本的Envisia Ambit(R)则在99年在ASIC international公司成功⽤于240万门的设计。

使⽤较⼴泛的还有synopsys的design compiler和behavial compiler;基于不同的库,逻辑综合⼯具可以将设计思想转化成对应⼀定⼯艺⼿段的门级电路;将初级仿真中所没有考虑的门沿(gates delay)反标到⽣成的门级⽹表中,返回电路仿真阶段进⾏再仿真。

最终仿真结果⽣成的⽹表称为物理⽹表。

(4)layout⼯具和⾃动布局布线(auto plane & route)⼯具 cadence的design framework是常⽤的基于UNIX⼯作站的全定制设计的布局布线软件,和silicon ensemble ,Envisia place &route DSM; (cadence的版图输⼊⼯具Virtuoso)
(5)物理验证(physical validate)和参数提取(LVS)⼯具依然可以分成为ASIC和FPGA两⼤类。

ASIC设计中最有名、功能最强⼤的是cadence的DRECULA,可以⼀次完成版图从DRC(设计规则检查),ERC(电⽓特性检查)到LVS(寄⽣参数提取)的⼯序;DIVA作为其相对较弱的软件多提供给教学⽤途;AVANTI的STAR-RC也是⽤于物理验证的强⼒⼯具,⽽hercules则是其LVS的排头兵。

如同综合⼯具⼀样,FPGA⼚商的物理验证和参数提取多采⽤专门的软件、并和其仿真综合⼯具集成在⼀起。

ALTERA的MAXPLUS2和XILINX的FOUNDATION是这样的典型;
(6)由于VLSI尤其是ULSI电路的预投⽚费⽤都相当的⾼(如TSMC 0.25um CMOS ⼯艺⼀次预投⽚的费⽤为100万美圆,⽽0.18um Cu CMOS 3.3V ⼯艺的⼀次预投竟⾼达300万美圆)。

因⽽对ASIC芯⽚,要求芯⽚设计尽量正确。

最好完全消灭错误;解决功耗分析;⽣成⽤于芯⽚测试⽬的的特殊测试电路;因应这⼀要求,也产⽣了⼀些特殊的EDA⼯具,以完成诸如power analysis、故障覆盖率分析、测试⽮量⽣成等⽬的。

现代VLSI特别是ULSI IC 的迅速发展,正是依靠EDA⼯具在亚微⽶和深亚微⽶技术上的进步及其对应⼯艺⽔平的提⾼。

应该说没有EDA⼯具就没有IC;This entry was posted on Tuesday, April 25th, 2006 at 6:13 am and is filed under EE. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response,
or trackback from your own site.
IC设计流程之实现篇——全定制设计
要谈IC设计的流程,⾸先得搞清楚IC和IC设计的分类。

集成电路芯⽚从⽤途上可以分为两⼤类:通⽤IC(如CPU、DRAM/SRAM、接⼝芯⽚等)和专⽤IC(ASIC)(Application Specific Integrated Circuit),ASIC是特定⽤途的IC。

从结构上可以分为数字IC、模拟IC和数模混合IC三种,⽽
SOC(System On Chip,从属于数模混合IC)则会成为IC设计的主流。

从实现⽅法上IC设计⼜可以分为三种,全定制(full
custom)、半定制(Semi-custom)和基于可编程器件的IC设计。

全定制设计⽅法是指基于晶体管级,所有器件和互连版图都⽤⼿⼯⽣成的设计⽅法,这种⽅法⽐较适合⼤批量⽣产、要求集成度⾼、速度快、⾯积⼩、功耗低的通⽤IC或ASIC。

基于门阵列(gate-array)和标准单元(standard-cell)的半定制设计由于其成本低、周期短、芯⽚利⽤率低⽽适合于⼩批量、速度快的芯⽚。

最后⼀种IC设计⽅向,则是基于PLD或FPGA器件的IC设计模式,是⼀种“快速原型设计”,因其易⽤性和可编程性受到对IC制造⼯艺不甚熟悉的系统集成⽤户的欢迎,最⼤的特点就是只需懂得硬件描述
语⾔就可以使⽤EDA⼯具写⼊芯⽚功能。

从采⽤的⼯艺可以分成双极型(bipolar),MOS和其他的特殊⼯艺。

硅(Si)基半导体⼯艺中的双极型器件由于功耗⼤、集成度相对低,在近年随亚微⽶深亚微⽶⼯艺的的迅速发展,在速度上对MOS管已不具优势,因⽽很快被集成度⾼,功耗低、抗⼲扰能⼒强的MOS管所替代。

MOSFET⼯艺⼜可分为NMOS、PMOS和CMOS三种;其中CMOS⼯艺发展已经⼗分成熟,占据IC市场的绝⼤部分份额。

GaAs器件因为其在⾼频领域(可以在0.35um下很轻松作到10GHz)如微波IC中的⼴泛应⽤,其特殊的⼯艺也得到了深⼊研究。

⽽应⽤于视频采集领域的CCD传感器虽然也使⽤IC⼀样的平⾯⼯艺,但其实现和标准半导体⼯艺有很⼤不同。

在IC开发中,常常会根据项⽬的要求(Specifications)、经费和EDA⼯具以及⼈⼒资源、并考虑代⼯⼚的⼯艺实际,采⽤不同的实现⽅法。

其实IC设计这个领域博⼤精深,所涉及的知识⼯具领域很⼴,本系列博⽂围绕EDA⼯具展开,以实现⽅法的不同为主线,来介绍这三种不同的设计⽅法:全定制、半定制和基于FPGA的IC设计,这三种⽅法在EDA⼯具和流程上都有各⾃鲜明的特⾊,通过介绍这三种IC设计⽅法可以让⼤家对IC设计有个清晰的思路,也顺便介绍了其中涉及到的⼤多数EDA⼯具,并且避免了读者陷⼊IC领域的某些细节中⽽不能⼀窥全貌之嫌。

其实,⽆论是IC和ASIC,还是I/O芯⽚、CPU芯⽚在EDA⼯具上的区别都不明显,并且涉及某些应⽤领域的特定的知识,需要读者具备⼀定的背景知识,不适合⽤来作为介绍IC的设计流程的⼊门级题材。

全定制IC设计⽅法,是按照规定的功能与性能要求,先设计出满⾜功能的电路,然后对电路的布局与布线进⾏专门的优化设计,以达到芯⽚的最佳性能。

全定制IC设计的主要EDA⼯具有Cadence的Virtuoso、Synopsys的Custom Designer(CD)等,这两款⼯具实际上提供⼀个集成设计环境,在这个环境⾥⽤户可以⽅便地配置和利⽤各家EDA的⼯具来完成各个设计阶段的任务。

⾸先来看⼀看它的设计基本流程(如下图)。

图1
1. 定义设计规格(Design Specification)
典型的设计规格书描述了电路的功能(电流放⼤能⼒、信噪⽐、带宽等),最⼤可容许的延时,以及其他的物理性能,如功耗等。

通常设计规格书给予电路设计者以较⼤的设计⾃由度:如选择特定的电路拓扑结构,特定器件的位置,输⼊输出pin⾓的位置,MOSFET 的宽长⽐等。

下⾯是⼀个⼀个全加器的规格说明书:
-------
0.8um双井CMOS⼯艺
“加法”“进位”的传递延时⼩于1.2ns
“加法”“进位”的转换时间⼩于1.2ns
电路⾯积⼩于1500平⽅微⽶
动态功耗<1mW(VDD=5V,fmax=20MHZ)
-------
2. 绘制电路图
电路图绘制⼯具称为Schematic Capture(下图是Virtuoso中的Composer⼯具),可以提供门级和晶体管级的电路图绘制功能,该步骤完成后可以⽣成⽹表⽂件供电路仿真之⽤。

需要说明的是,各家产⽣的Schematic⽂件不完全兼容,要从Synopsys的CD中读⼊Virtuoso产⽣的电路图似乎有些困难。

再有⼀点就是从⽹表反过来⽣成电路图这⼀功能在这两家的⼯具中都没有被⽀持,有⼀个第三⽅⼯具spicevison有此功能,但是否能导⼊Virtuoso或CD中者不得⽽知,spicevison这个⼯具的⽤处在于晶体管级的调试(对照⽹表和电路图),不在于其⽣成的电路图的通⽤性。

图2
3. 产⽣⼦电路或电路单元符号
在有层次结构(hierarchical)的电路中,使⽤⽤户⾃定义的电路图符号来代替整个⼦电路块,有利于减少重复绘制这些频繁出现的⼦电路块,使整个顶层的电路整洁⽽有序,避免出现⼀个⼀⼤⽚的扁平(flatten)的电路图。

如反相器INV,NOR和NADN等,在设计中⼀般都使⽤⾃定义的电路符号代替,这也是代⼯⼚提供PDK中常⽤的⼀个⼿法。

4. 电路仿真
这⼀步将调⽤电路仿真器,如HSPICE、SPECTRE、ELDO等来实现电路的仿真,⽤以验证电路的各项电性指标是否符合规格说明书。

在集成设计环境中⽤户可以通过配置⾃由地选择使⽤这些仿真器,如在Virtuoso ADE(Analog Design Environment),可以⽅便地使⽤HSPICE来仿真,当然前提是⽣成HSPICE格式的⽹表。

在图1中有⼀个迭代-循环的箭头,说明这⼀步可能需要迭代,若仿真的结果不满⾜规格说明书,需要调整电路图,然后再做仿真。

这⼀步由于没有寄⽣参数加⼊⽹表,通常叫做版图前仿真(Pre-layout simulation)。

另外,电路仿真需要代⼯⼚提供的元器件库(代⼯⼚⼀般以PDK包提供给客户,⾥⾯包含各种器件的spice模型,technology file,Design rule等)
5. ⽣成版图
版图的⽣成是⾄关重要的⼀环,是连接电路设计与芯⽚代⼯⼚的⼀个桥梁,版图不仅反映了电路图的连接关系和各种元器件规格,还反映了芯⽚的制造过程和⼯艺(具体将在另⼀篇博⽂中专门叙述)。

由电路图Schematic到版图绘制⼀般使⽤集成开发环境中的Layout Editor。

⽣成版图有两种途径,⼀是⼿⼯绘制⽽成(根据具体的⼯艺⽂件-technology file),另⼀种是⾃动⽣成(具体可参考Virtuoso Layout,Synopsys的ICWB)。

⽣成的⽂件格式为GDSII 或CIF,都是国际流⾏的标准格式。

6. DRC检查
DRC——Design Rule Check,版图⽣成完成后,还需要进⾏“设计规则检查”,这是⼀些由特定的制造⼯艺⽔平确定的规则,如poly-poly contact的最⼩间距,metal-metal的最⼩间距和metal的最⼤宽度等等。

这些规则体现了芯⽚制造的“良率(即合格率)”和芯⽚性能的折衷。

(图3 显⽰出有两处违反DRC,都是metal的宽度超过设计规则要求)
EDA⼯具有Cadence Virtuoso iDRC、Dracula(这是⼀个独⽴的版图验证⼯具,具有DRC/ERC、LVS、寄⽣参数提取等多种功能),Synopsys的Hercules(DRC、LVS检查)。

图3
7. 寄⽣参数提取
当版图的DRC完成之后,需要提取该电路的寄⽣参数以⽤来⽐较精确地模拟现实芯⽚的⼯作情形,寄⽣参数包含寄⽣电阻和寄⽣电容,在⾼频电路设计中还需要提取寄⽣的电感。

EDA⼯具主要有StarRC,Calibre,Dracula等。

这些寄⽣参数⼀般都简化成⼀个或多个lumped R/C/L,“插⼊”相应的电路节点处,⼀般都是与电压⽆关的线性⽆源器件。

这样经过寄⽣参数提取后⽣成的⽹表⽂件,被称为“post-layout netlist”。

8. LVS检查
Layout-versus-Schematic (LVS) Check,LVS将⽐较原来的电路图的“拓扑⽹络”与从版图提取出来的拓扑结构,并证明⼆者是完全等价的。

LVS提供了另⼀个层次的检查以保证设计的完整性和可靠性——这个版图是原来设计的物理实现。

LVS只能保证电路的拓扑结构是⼀致的,并不能保证最后电路的电学性能⼀定满⾜设计规格书。

典型的LVS错误为,两个晶体管的不当连接关系,或遗漏的连线等。

9. 后仿真
可以从图1看到,在DRC和LVS这两步上都有返回layout的迭代,说明若要设计流程成功进⾏到“post-layout simulation”即后仿真这⼀阶段,需要清除所有DRC和LVS的错误信息。

后仿真的输⼊是包含原始电路信息以及寄⽣信息的⽹表,是最接近真实电路的⽹表⽂件。

通过“后仿真”,可以获得该设计完整真实的性能:延时、功耗、逻辑功能、时序信息等信息,这⼀过程也是验证整个设计是否成功的“最后⼀关”,若不满⾜规格说明书要求则需要从头来过——从调整Schematic开始重新⾛完新⼀轮的设计流程。

与pre-layout仿真(第4步)不同的是,HSPICE或SPECTRE的输⼊⽂件除了原始⽹表外,还须要⼀些寄⽣参数的⽂件(如spf、spef),这⼀种电路仿真⼜称“back-annotation simulation”(具体参见HSPICE⽤户⼿册)。

评价与说明。

相关文档
最新文档