IC设计流程
- 格式:pdf
- 大小:275.55 KB
- 文档页数:7
IC设计流程
⼤体是
1. ⾸先是使⽤HDL语⾔进⾏电路描述,写出可综合的代码。然后⽤仿真⼯具作前仿真,
对理想状况下的功能进⾏验证。这⼀步可以使⽤Vhdl或Verilog作为⼯作语⾔,EDA⼯具
⽅⾯就我所知可以⽤Synopsys的VSS(for Vhdl)、VCS(for Verilog)Cadence的⼯具也就是著名的Verilog-XL和NCVerilog
2.前仿真通过以后,可以把代码拿去综合,把语⾔描述转化成电路⽹表,并进⾏逻辑和
时序电路的优化。在这⼀步通过综合器可以引⼊门延时,关键要看使⽤了什么⼯艺的库
这⼀步的输出⽂件可以有多种格式,常⽤的有EDIF格式。
综合⼯具Synopsys的Design Compiler,Cadence的Ambit
3,综合后的输出⽂件,可以拿去做layout,将电路fit到可编程的⽚⼦⾥或者布到硅⽚上
这要看你是做单元库的还是全定制的。
全定制的话,专门有版图⼯程师帮你画版图,Cadence的⼯具是layout editor 单元库的话,下⾯⼀步就是⾃动布局布线,autoplace & 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(FieldProgrammable Gate Array)器件.