您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第九章设计流程和设计工具
第九章设计流程和设计工具9.1设计要求9.2层次化设计方法9.3设计流程9.4版图设计规则9.5设计系统简介9.6常用的设计工具9.1设计要求一个好的、有效的集成电路设计成果是一种创新性劳动的结晶,它应该满足一下几个方面的要求:(1)功能正确,并在第一次投片流水后就能达到设计要求;(2)电学性能经过优化,特别是在速度和功耗方面达到原订指标;(3)芯片而积尽可能小,以降低制造成本;(4)设计的可靠性,在工艺制造允许的容差范围内仍能正确工作;(5)在制造过程中和完成后能全而和快速地进行测试。9.1设计要求由于集成电路具有高度复杂性这一特点,这对设计工作带来一系列问题。第一,设计的时效性。对于一个有上百万个品体管的集成电路来说,我们不能一个一个地去设计每个晶体管,否则会使设计时间难以忍受。设计时问的增长不仅会显著地增加芯片的成本,也会延迟产品的推出而丧失商机.对于ASIC电路就更为突出。为此必须找到一种较好的设计方法和工具来处理设计的复杂性。第二,设计的无误性。设计的正确无误对于集成电路特别突出,因为一个版图上的微小错误会使整个芯片无法工作。即使对于只有5000门的电路,其版图就会包含100000个线条和图形,对规模大的电路,其线条和图形的数量会更大。而错误有可能潜伏在设计的各个阶段中且难以发现,设计者不要轻易地说设计巳100%的正确无误,而要小心反复地验证每一细节。9.1设计要求第三,设计的可测性。集成电路是整体集成的,我们不可能像测面包板(bread-board)上每个元件那样测试集成电路巾的菜一部分,即使可能,也要因增加测试块而设计特殊的芯片,这会增加成本,因而在设计时要考虑如何进行测试。第四,与制造商之间的接口。在设计者和制造商之间要有一明确定义的数据交换格式以交换设计信息。此外,对于半定制(门阵列)和定制(标准单元)电路的设计,制造商必须提供设计者一个完整的门阵列或标准单元库;对十全定制设计,制造商需提供设计规则和晶体管的电学参数。9.2层次化设计方法采用有条理性的、层次化的设计方法有助于解决设计工作中的上述问题。层次化是把整个设计分解为若干层次,在完成前一层次设计任务后再进行下一层次的工作。对于复杂的数字集成电路来讲,我们可以设定以下几个层次:(1)整体规范设计(specificationdesign),包括确定功能和件能的要求、允许的芯片面积和制造成本等;(2)功能级设计(functionalleveldesign),包括算法的确定和功能框图的设计;(3)寄存器级设计(registerleveldesign),把功能块划分(partitioning)为寄存器级模块,对于较小规模的电路,功能级设计可直接从寄存器级模块开始,因而上两步可合并;(4)逻辑设计(logicdesign),利用各种门和单元进行逻辑设计;(5)电路设计(circuitdesign),对每一单元进行电路设计;(6)版图设计(layoutdesign),将电路图转换成硅片上的几何图形。9.2层次化设计方法图9-1表示了层次化设计方法以及以比较器为例的设计过程。9.2层次化设计方法由于集成电路不是终端产品,它只是电子设备中的一个部件。通常总是有若干块集成电路安装在一个印刷电路板上形成一个子系统或系统,因此在进行层次化设计第一步时,设计者必须清楚该芯片在于系统或系统中的应用要求,以及与其他芯片之间的关系,同时也应了解该于系统或系统的最终应用功能。此外,层次化设计的低端涉及到晶体管的设计以及制造工艺,这两者又与半导体的基本物理过程有义。虽然一个人不可能深入地了解从半导体基础理论到电子系统丁作的各个方面,但作为一个奸的、专业的集成电路设计者应该对于支持本设计的制造工艺和晶体管特性有较深入的了解。9.3.1全定制设计流程1.整体规范设计它是对整个设计的一个详细描述,应给出输入与输出之间的关系、各控制端口的功能、时钟的要求(如采用同步还是非同步)以及电源电压的数值(如5V或3.3V)等,在此基础上给出芯片面积和制造成本的估算或允许的上限。9.3.1全定制设计流程2.功能级设计它是将上一层设计加以具体化,通常是用HDL硬件描述诺言(hardwaredescriptionlanguage)写出描述文件,包括流程图(flowchart)或算法(algorithm);同时设计出1个包含各种功能块(functionalblock)如存储器、控制单元、运算单元、数据通道和逻辑单元的功能框图(blockdiagram),各功能块之间的信号流必须精细地加以定义。通常在这一步要采用高层次模拟软件进行功能级模拟以确定义工作是否正确,若不能正确工作可以及早修改功能描述文件。高层次模拟也可以用来对不同的实现方案进行比较。对于复杂的芯片需要将功能框图中的功能块划分成更小的功能单元,同时加入更为详细的操作要求。对于简单的芯片通常可以省去功能级设计这——步而直接采用寄存器级硬件描述文件。9.3.1全定制设计流程3.寄存器级设计这一步是将功能框图转换为寄存器级的硬件图,即转换为我们所熟悉的加法器、译码器、多工器、计数器、寄存器等模块。某些功能块如组合逻轻和控制功能可以用布尔代数或卡诺图进行转换。对于顺序逻辑可以用状态机方法进行转换。9.3.1全定制设计流程4.逻辑设计在逻辑设计中,寄存器级的模块可以用第5章所述的基本逻辑门和双稳态电路来构成,但应尽可能选择那种晶体管数目最少的基本逻辑门和双稳态电路,或者采用规则的、可以重复的单元。对于NMOS和CMOS的逻辑设计,可以采用一些现成的、有效的电路如全加器、与或非门等,而不必全用基本门来构成。逻辑设计要经过逻轻模拟加以验证,以确定该设计是否达到预期的功能和性能。对于全定制电路来讲.一开始并不知道各单元的时间延迟值,因而在逻辑模拟时只能给出估汁值。一旦逻轻功能被验证正确后,就进入下一步的电路设汁,在电路设计后可以得到较为精确的时间延迟值,这时再把精确值代回到逻辑模拟器再次进行逻辑模拟。从图9—2命可以看到逻辑设计方框与电路设汁方框之间存在一反馈通路,这表明了两者之间的相互关系。9.3.1全定制设计流程5.电路设计由于向—种逻辑可以出不同电路形式来实现,因而电路设计的第——步是选择合适的电路形式,如选深双极型还是MOS型,若是MOS型,要进一步确定是NMOS型还是CMOS型等。第二步就是确定电路中各元器件的参数。对于数字电路的设计来讲,最关心的是延迟特性和功率耗散,这与负载有关。如前所述,在MOS电路中,负载是纯电容,电路的开关速度将取决于电容上的亢放电速度。增加MOS晶体管的宽度会降低它的阻抗和加快速度,但同时也增加了它的输入电容,因而减慢了上一级门的速度,因此需要加以合适的选择,使整个电路的速度最佳。增加MOS晶体管宽度可取得较大的电流,但也增加丁功耗值,出此也要作适当的折衷。在电路设计过程中要进行充分的电路级模拟,以决定电路的直流工作点,得到电流和电压的波形图,同时评估信早的延迟,以及上升和下降时间等。9.3.1全定制设计流程6.布图规划(floorplan)—个全定制电路可能包括很多个功能块,如何把各个功能块合理地安置在芯片的相应位置上,这就是布图规划的任务。布图规划的目标是:①充分利用;随片的面积以减少空余空间;②尽量减少功能块之间连线的长度,使信号线能直接连接两相邻的功能块。现以图9-3(a)的设计为例,它包括5大功能块,将其对应到芯片的布图规划时如图9-3(b)所示。9.3.1全定制设计流程在布图规划前,要先分析芯片小数据流的流动。现将数据通道设计成水平,控制信号设计为垂直,所有的连接线直接连接到各功能块的边界,整个芯片的外形设计成矩形。这种布图规划的好处有:①硅片面积被充分利用;②连线的设计简单;③由于连线电阻和电容的下降而加快了芯片的速度。当然布团规划会随着设计工作的深入即各功能块的划分,各模块形状和尺寸的进步调被面逐渐更为精确。9.3.1全定制设计流程7.版图设计版图设计包括单元设计、连线设计、电源线与地线的设计以及输入输出保护电路和压焊块的设计。单元设计时首先要确定单元与外部连接线端口的位置,有时还可能要求有附加的连线穿过单元。再就是确定单元内晶体管的尺寸如沟道长度和宽度。接着按照单元内部各个管于间的连接要求和版图设计规则的要求画出对府的版图。图9-4(a)和(b)就是一个NAND门的外部连接图和设计后的版图。9.3.1全定制设计流程8.版图验证版图设计完成后要经过DRC(designrulecheck)以保证各层版图都符合设计规则的要求。有的设计还要进一步作版图与电路图一致性检查LVS(layoutversusschematic)。它是通过版图参数提取工具LPE(layoutparametersextraction)来得到一个电路图,将它与原要求的电路图相比较,以保证所得版图与原要求的电路图是完全一致的。设计的最后一次正确性检查是在版图设计完成后再进行一次后模拟(Post-simulation),由此需将版图中寄生参数如这线的电容电阻等设法提取出来,再加入到模拟文件中以得到更为精确的延迟特性。如果不符合要求,就要改变单元的位置,修改相应连线的长度,如有必要,甚至要回到早期的逻辑层次来调整设计。最后版图设计要转换成EDIF格式(electronicdesigninterchangeformat),用来直接生成工艺制造时所用的掩模版。9.3.1全定制设计流程9.3.1全定制设计流程9.测试向量生成设汁者在设计过程中应设法产生一有效的测试向量(testvector)。这里的向量不是指有方向的量而是指由一系列1和0组成的序列码。将测试向量通过探针加到芯片的输入乐焊块,然后从输出压焊块处得到其结果,将此结果与预期的结果相比较,以检查芯片的功能是否正确。如果该测试向量可以检查出芯片中所有的内在故障(fault),则称该测试向量的故障覆盖率(faultcoverage)为100%。在一些CAD设计系统中可以自动生成测试向量,当然我们希望能自动生成出故障覆盖率为100%的测试向量。目前对组合逻辑电路,这一要求已有可能满足,但对于时序电路则远不能达到。9.3.2定制和半定制电路的设计流程定制和半定制电路的设计流程示于图9-5。比较田9—5和图9—2可以看出,对于定制和半定制电路设计而言,其设计前端与全定制设计的基本相同,但设计的后端有明显的差异,在定制和半定制电路设计中不再需要电路设计和单元的版图设计这两步。设计所需要的单元库由制造商所提供,设计者是在单元库中选择适当的单元来构成所需的逻辑。这实际上是一种自底向上的过程,因为它是由若干个小的单元(或较小的模块)组成较大模块的过程,这称为综合过程。有些CAD软件公司也提供通用的单元库(作为一选项,配置在公司出售的CAD软件中),设计者也可利用这种单元库来设计芯片,并由被授权的制造厂商加工。9.3.2定制和半定制电路的设计流程单元库提供给设计者的信息包括有:①单元的尺寸和形状;③单元功能和参数的详细描述;③单元的电学参数,包括驱动能力、输入负载、延迟特性和功耗等;④电学参数随温度的变化和随电源电压的变化。定制和半定制电路的版图设计工作包括布局和布线两大步骤,通常由CAD设计系统自动地完成。最后,版图数据也要转换成掩模版生成文件,再去生成各层掩模版。9.4版图设计规则版图设计规则简称设计规则,它是对设计者在进行版图设计时所设定的几何尺寸限制,使工艺加工后的硅片上能保持该设计的拓扑和几何关系。设计规则代表了一种容差要求,它可保记:工艺加工过程发生可能的、也是允许的偏差时电路仍能正常工作。一般讲,设计规则越保守,电路生产时的成品率越高,但这会增加芯片的面积;设计规则的宽严与否也与制造商的工艺水平有关。设计规则主要解决两个问题:①同一层几何图形之间的关系;②不同层之间的相互关系。由于设计规则非常繁复,在此我们只能以P阱CMOS工艺为例简要说明如下。图9-6为多晶硅与多
本文标题:第九章设计流程和设计工具
链接地址:https://www.777doc.com/doc-6276205 .html