|
|
| 回复:集成电路版图(layout)设计方法与实例 |
|
|
|
SoC 重用
一、系统集成芯片(SoC)是IC设计的发展趋势
(1)随着微电子技术和半导体工业的不断创新和发展,超大规模集成电路和集成度和工艺水平不断提高,深亚微米(deep-submicron)工艺,如0.18μm、0.13μm已经走向成熟,使得在一个芯片上完成系统级的集成已成为可能。
(2)各种电子系统出于降低成本、减少体积的要求,对系统集成提出了更高的要求。
(3)高性能的EDA工具得到长足发展,其自动化和智能化程度不断提高,为嵌入式系统设计提供了功能强大的开发集成环境。
(4)计算机硬件平台性能大幅度提高,使得很复杂的算法和方便的图形界面得以实现,为复杂的SoC设计提供了物理基础。
二、何为嵌入式SoC IC
SoC(SYSTEM on Chip)是指集系统性能于一块芯片上的系统级芯片。它通常含有一个微处理器核(CPU),有时再增加一个或多个DSP核,以及多个或几十个的外围特殊功能模块和一定规模的存储器(RAM、ROM)等。嵌入式SoC更是针对应用所需的性能,将其设计在芯片上而成为系统操作芯片。芯片的规模常常可以达到数百万门甚至上千万门以上,所以嵌入式SoC是满足应用的系统级的集成电路产生,一方面要满足复杂的系统性能的需要,另一方面也要满足市场上日新月异的对新产品的需求,因此嵌入式SoC的设计也代替了高科技的设计方法和程序。只有在不断地发展优化下,嵌入式SoC才能提供设计周期短而性能优异的产品。因此,要掌握嵌入式系统芯片的设计,就要了解其设计方法和流程。
三、嵌入式SoC IC的设计方法和流程
在介绍SoC IC的设计流程之前,先介绍一下“重用”的概念。
“重用”(re-use)指的是在设计新产品时采用已有的各种功能模块,即使进行修改也是非常有限的,这样,可以减少设计人力和风险,缩短设计周期,确保优良品质。
SoC IC的设计原则,就是尽可能重用各种功能模块并集成为所需的系统级芯片。读到设计重用,必须对重用时需要考虑的因素作一些说明。首先,重用的功能模块要有详尽的说明书,对模块的功能和适用范围以及芯片集成时的总线接口进行说明。其次,要提供该模块过去已实现的生产工艺。第三,要提供用于测试该模块的测试程序及测试平台。最后,也是最重要的,就是模块的设计内核。通常提供的设计分为“软模块”和“硬模块”两种。“软模块”只提供RTL语言描述,可以用EDA综合工具产生电路。它的优点是比较灵活,可以根据不同的生产工艺产生对应的电路。“硬模块”提供的是已经完成的电路物理设计(physical
design),也就是版图的设计(layout)。它的缺点是一旦生产工艺改变就不能够再使用了,即使是在采用同样生产工艺的情况下,由于模块的物理尺寸已经确定因而也影响了布局(floor-plan)的灵活性;它的优点是在设计采用同样生产工艺的产品并且其物理尺寸不影响芯片布局的情况下,能够直接采用,不用重新设计。由于半导体工艺发展极快,通常重用“软模块”比较多。
目前,在欧洲和北美已经在产业界形成了基于IP(Interllectual
Property)总线模块的重用标准,对于重用的各个因素都有明确的规定。我国的IC设计产业正在迅速发展,应该尽快建立自己的重用标准,与国际接轨。
通常SoC IC的设计方法有两种:一种是基于模块(module-based)的设计方法,另一种是“门海”(sea-of-cell)的设计方法。
Module-based的设计方法是指各个单元模块完成各自的RTL和电路综合以及版图设计,然后,在顶层完成整个芯片的版图设计。这种方法的优点是当个别模块进行修改进,不会对整个芯片的设计产生较大的影响。它的设计流程如图1所示。
Sea-of-cell的设计方法指的是在各个单元模块完成RTL后,直接对整个芯片进行综合,产生整个芯片的网表,然后,完成整个芯片的版图设计。它的优点是能够节省芯片面积,缺点是一旦某个模块修改了,整个芯片要重新做综合和版图设计。它的设计流程如图2所示。
四、SoC IC满足的时序要求
无论采用如种设计方法和流程,确保芯片的工作时序要求始终是芯片设计的核心问题。好的设计方法和流程,应该在芯片设计和初级阶段对整个芯片进行时序的控制和分配,以便减少因时序问题造成的反复修改。
由于SoC IC的规模一般都非常大,因此各个模块用于综合(synthesis)的约束条件必须基于整个芯片的时序要求来产生,才不至于对整个芯片的Timing产生影响。Synopsys公司的Design
Budgeting工具能够根据芯片顶层的约束条件对整个芯片以及子模块的约束和时序进行分配和控制,并且产生以此为基础的各个子模块的约束条件用于电路综合,由于芯片顶层以及模块之间的时序已经得到平衡考虑,许多时序问题(timing
violations)已经预先得到控制,能够减少后期对设计进行反复修改的次数。
在对电路进行验证(verify)的时候,除了验证功能正确外,还要验证工作时序的正确性。通常的方法是编写专门的测试程序,运行EDA仿真工具来完成,这通常称为动态仿真(dynamic
simulation)。由于SoC IC的规模比较大,仿真(simulation)运行的时间比较长,尤其是在完成版图设计后做后仿真(postlayout
simulation)的时候,因此,我们要引入静态时序分析的方法(static
timing analysis)。它是从电路的连接和布线上来推测贪污传输的时序,因此当电路的工作时钟和约束条件确定后,电路中信号传输时的设定时间(setup
time)和保持时间(hold time)也已经确定,通过静态时序分析就可以把那些不满足要求的路径或电路单元找出来,提供修改设计的依据。它的特点是运行时间远远少于动态仿真。许多电路的时序问题可以预先发现而不用等到动态仿真完成,因而可以帮助我们缩短设计周期。常用的设计工具有Synopsys公司的Primetime和Cadence公司的Pearl。
五、版图设计
对于复杂的SoC IC,其版图设计(layout)也是非常复杂的。随着半导体工艺的越来越精密,芯片的规模越来越大,版图布线的负荷已成为主要的时序影响因素,所以自动布局布线的时序分析成为设计的重点。无论采用module-based的设计方法还是sea-of-cell的方法,最好要采用时序驱动(timing
driven)的版图设计方式,这样,可以确保前端各个层次的设计约束条件延伸到物理设计(physical
design)中去。具体做法是将综合电路的约束条件转化为Layout工具可以识别的格式,用来驱动Layout工具完成设计。此外,为了保证电路的时钟到达各时序单元的时间的一致性,需要在各时钟路径上插入时钟树(clocktree),通过一定的约束条件,Layout工具可以通过平衡时钟路径之间的差异(skew),自动完成时钟树的生成。通常的版图设计流程如图3所示。
最后,当布局布线完成之后,还要做DRC和LVS的检查。DRC(Design
Rule Check)是检查版图设计定否符号生产工艺的物理规则要求;LVS(Layout
Versus Schematic)是检查版图设计是否与电路设计一致。只有当这两项检查都通过后,版图设计的工作才算完成。我们通常采用Cadence或Avanti公司的Layout检查工具。
需要强调一点的是,虽然在设计开始时设定了芯片顶层及模块间的时序约束条件和时钟树,也采用了动态仿真和静态时序分析以及时序驱动的版图设计方法;但是,由于SoC
IC设计的复杂和困难,通常以设计工程师和工具合作也要经过多次反复修改才能成功,超过10次的也不少见。所以,在设计开始前应作好设计周期的计划。
再要一提的是,当生产工艺小于0.35μm以下时,尤其在采用同步电路设计方法时,因为布线而造成的时序差异和延迟常常超过模块中电路设计的差异和延迟。因此,在Layout时对布局设计和时钟树生成需要仔细考虑。Layout完成后的时序分板是做好设计的关键。这也是选择基于模块设计方法或是“门海”设计方法时要考虑的因素之一。
对于深亚微米的版图设计,还有两个因素要考虑。一个是当走线过长时产生的天线效应(antennaeffect)会对电路的时序产生影响。解决的办法是在长走线中插入天线二极管(antenna
diode),用于抵消天线效应。另一个情况是当两条平行的走线非常靠近的时候,它们之间的偶合效应会产生交叉干扰(cross-talk),也会对电路的时序造成不利影响。解决的办法是在线路中加入buffer来克服,采用Cadence公司的Signal
Integrity工具可以分析出交叉干扰出现的电路部分并结合Layout工具自动完成buffer的插入。
对于模块电路的版图设计,现在还无法采用上述的自动布局面线方法而需要人工完成,因而设计的时间和工作量比较大,这一点在作计划时也要考虑。
芯片端口(I/O PAD)的设计也是SoC
IC设计的重点,除了要考虑静电保证ESD、驱动能力等因素外,还要考虑到当两个PAD靠得很近的时候,它们之间的耦合效应会形成寄生三极管(parasitic
TRANSISTOR)效应,影响I/O PAD的正常功能。
SoC IC通常都是数模混合电路,版图设计的核心是防止噪声干扰。通常要从两个方面来考虑:一是在布局时尽量使相互容易受干扰的模块分开得远一些;二是数字电路和模拟电路要采用不同的电源和布线。
六、SoC IC的测试设计DFT(Design For
Test)
芯片的测试,一方面是为了保证芯片的质量和可靠性,另一方面也要满足低成本的生产目的。过去,传统的测试方法是把我们用于功能仿真的测试程序转化为生产测试程序输入测试仪器。它的缺点是测试时间长,尤其是高覆盖率(test
coverage)的要求下,对于大规模的SoC IC,其成本将非常高。现在,通常采用插入测链(scan
chain)的方法,使得芯片中的时序单元在测试模式下连接成移位寄存器(shift
register),然后,采用ATPG(Automatic Test Pattern Generator)工具产生的测试向量,能够有效地对芯片完成测试。测试时间大大缩短,也能达到高于90%的覆盖率,保证产品的品质和可靠性。许多EDA工具如Synopsys公司的Design
Compiler和Mentor公司的DFT Aduvisor/Fastscan都可以帮助完成这一工作,自动化程序相当高。当然,这一方法的代价是会增加芯片的面积。需要指出的是,采用插入测试链的方法只适用于同步电路设计,而且在电路的RTL设计阶段就要把这一因素考虑进去。对于异步电路的测试主要还是通过功能测试完成。
由于SoC IC比较复杂,芯处中需要设有专门的测试控制模块(test
CONTROL module),将整个芯片分为若干个测试组,每个部分都有独立的测试链完成测试。结合若干个芯片端口完成整个芯片的测试控制。 |
|
2008-07-31 09:43:42 |
|
 |
|
|
| 回复:集成电路版图(layout)设计方法与实例 |
|
|
|
集成电路由多层组成,每层用光刻工艺由光掩膜加以确定。制造集成电路时用的掩膜上的几何图形就是版图,版图是集成电路对应的物理层。本文将简单介绍对版图的认识,是根据版图提取电路的初始步骤。
1.版图标识的分析
提取电路的前提是要正确识别版图,知道版图所表达的芯片信息。在接触版图的初步要知道该芯片的生产工艺,例如该芯片是一层金属结构采用P 型衬底的Bi-CM O S 双阱工艺。接下来工作的任务就是要识别版图的表示层。知道每一层所代表的工艺结构。一般来讲。有些必需层次是人所共知的:比如说第14 层是PA D ,第13 层是M etal1,第12 层是Contact1。Poly 一般会以第七层或者第八层进行表示。这些熟知的规定和惯例,不同公司是不同的。其次出于版图的视觉可观性和个人习惯的考虑要对已有版图颜色和形式设置进行修改。例如可以将层次作了如下设置:与P 型杂质相关的设置为绿色只是填充图案不同例如阱设为淡色格式,与N 型杂质相关的设为蓝色。多晶硅设置为实心紫色。铝线由于覆盖较广而设置称为无填充的粉色。引线孔设为实心红色。
2.压焊快的分析确立
电路提取是根据压焊点的确立而提出的。知道了电路的输入输出才可以做到有的放矢。所以要首先分析出各个引脚的含义才可以进行由外向里有目的的电路提取。例如,在一款Bi-CO M S 电路中。可以版图中根据M O S 管的引线分析,很容易得到G N D 和V cc 压焊点。进而进行初步的版图提取。在初步提取过程中将G N D 和V cc 电源线用特殊图标表示出来。这样更有利于电路的提取和芯片功能分析。对于电路中常用的测试焊点若分析出来也要一并提出, 这样以利于版图的进一步修改和有利于芯片生产的后期测试工作。
3.Label号的标注
在提电路之前要进行Label的标注: 即判断出是器件还是电阻、电容等。并用第零层进行标注。标注的符号,字母选择以及字母大小写的规定也是因公司而异。这样更利于以后对版图的对照和修改。
4.电路的分块提取
电路提取是分块进行的。在版图上有很多结构相似的单元位置相近。因此根据位置关系和结构的相似性将整个版图分成若干部分。从电路设计方面来看,功能一致的电路部分要相邻以达到最好的功能对称性。在电路中距离较近的两个部分也要将版图设计在一个单元当中以避免过长的金属走线带来的寄生效应。因此要将版图分成几块来进行电路提取。
5.器件的尺寸标注
在版图基础上将提取出来的器件进行尺寸标注。将这些器件进行测量后填入电路图中的参数项,这样才可以仿真。在对尺寸标注要参考的标准:三极管测量发射极的面积并除以100μm 2,其比值添在qn[]的中括号里,M O S 管测量栅极的宽(W )、长(L)以及条数( M ) ,电容测量其有效面积。
1)电阻、电容类型的确定
要确定无源元件电阻,电容的值必须要对方块电阻值和单位电容值进行确定。确定方块电阻值的首要任务是要确定电阻的类型。例如:可以确定该电路的电阻为基区电阻R b 和注入电阻R i。由于在实际的生产工艺中电阻有几乎10% 的阻值浮动, 所以将方块电阻精确到个位是不可取的。例如可将扩散电阻的方块电阻值设定为130Ω/□。注入电阻采用低浓度的杂质注入而形成, 因而可以达到较高的方块电阻值根据仿真结果与技术资料的数值对照,例如将R i近似为1000Ω/□。确定单位面积电容的值首先就是确定电容的类型。例如电容是Poly 和N -W ell的接触电容。然后根据工艺经验值和后面模块的工作要求将单位面积电容进行赋值。上例就可以将单位面积电容值定2p,而在电路中的体现就是Cm =2p( Cm 是自定义的单位面积电容表示法) 。
2)电阻阻值计算
熟练的掌握了电阻的测量方法和阻值计算方法之后才可以对版图中形状各异的电阻进行测量和电阻相关的参数填写。阻值精确才可以对电路性能进行精确仿真,尤其是模拟电路部分。注入电阻阻值的计算方法R =R i(L/W )。这样,完整的电路图就从版图中提取出来了。基于各种齐备参数的基础上我们就可以进行电路仿真了。
与其它的集成电路CAD 工具相比, 版图电路提取还显得很不成熟。虽然许多版图电路提取方法和提取器被提出来, 但与现代的电路设计能力相比, 版图电路提取还是显得力不从心。因此, 随着集成电路的发展, 版图提取的重要性也将越来越明显地体现出来。 |
|
2008-07-31 09:45:36 |
|
 |
|