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的形式给出。前真个芯片设计经由综合后天生的门级网表,具有时序约束和时钟定义的脚本文件和由此产生的约束文件以及定义电源Pad的DEF(Design 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 network analysis)–IR drop and EM 。
3、Placement -自动放置标准单元
布局方案后,宏单元、I/O Pad的位置和放置标准单元的区域都已确定,这些信息SE(Silicon Ensemble)会通过DEF文件通报给PC(Physical 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 参数提取,天生的SPEF文件通报给PrimeTime做静态时序剖析,那将会更准确。
6、ECO(Engineering Change Order)
针对静态时序剖析和后仿真中涌现的问题,对电路和单元布局进行小范围的改动。
7、Filler的插入(padfliier, cell filler)
Filler指的是标准单元库和I/O Pad库中定义的与逻辑无关的添补物,用来添补标准单元和标准单元之间,I/O Pad和I/O Pad之间的间隙,它紧张是把扩散层连接起来,知足DRC规则和设计须要。
8、布线(Routing)
布线是指在知足工艺规则和布线层数限定、线宽、线间距限定和各线网可靠绝缘的电性能约束的条件下,根据电路的连接关系将各单元和I/O Pad用互连线连接起来,这些是在时序驱动(Timing driven ) 的条件下进行的,担保关键时序路径上的连线长度能够最小。
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厂进行掩膜制造,也便是送去流片了。






