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