VLSI设计基础
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 VLSI设计方法与管理

1.2.1 设计层次与设计方法

面对VLSI系统的复杂性将如何进行设计呢?

在讨论设计方法之前,首先简要介绍在微电子技术范畴内,VLSI系统设计的主要技术层次。第一个层次是硬件系统的设计,即从系统行为要求到具体的逻辑和电路,上面所讨论的系统级设计属于这个层次。第二个层次是版图设计,该部分工作的目的是将具体的逻辑或电路变成为二维平面上的图形。版图设计是逻辑、电路到集成电路或集成系统的中间环节,是一个非常重要也非常困难的设计环节。第三个层次是工艺设计,所谓工艺设计是对微电子制造技术的选择与控制。正是通过工艺技术,在硅材料或其他半导体材料上将二维的平面版图“转变”为三维的立体器件结构,完成了逻辑、电路系统到半导体集成系统的转变。

彩图1表示了这三者的对应关系。图中,自上而下的给出了CMOS倒相器的电路结构,n阱CMOS版图,以及采用n阱CMOS工艺所制作的CMOS倒相器的剖面结构。版图作为上承电路下达工艺的一个重要中间环节,起着至关重要的作用。首先,版图以MOS晶体管的基本结构版图为基础,再考虑器件间连接关系、尺寸限制、工艺限制等一系列的问题,在二维的平面上以版图的形式描述电路。它要能够严格地与电路一致,同时也要严格地遵循制造技术规范。按照制造技术规范设计的版图就形成了对工艺制作边界的限定,工艺实现以四类主要的工艺技术:图形转移、掺杂、热处理以及材料沉积为手段,对四类工艺进行组合与串联,在版图所定义的平面区间与图形范围内完成三维立体结构的构造,在半导体衬底上再现所要制作的电路,这里是再现了一个CMOS倒相器。

显然,三个技术层次各自具有独立性,而相互联系与制约又是十分的明确。

在当今的VLSI系统研制与开发中,工艺与设计已经分离,形成了设计中心和代工厂两大分支。代工厂提供标准工艺,设计者只需按照标准工艺流程与参数设计系统,代工厂就能够确保设计的实现。为能够明了准确地进行设计与制造的对接,一系列的设计规范文件成为了重要的接口。

VLSI系统的设计通常采用自顶向下(Top Down)和由底向上(Bottom Up)的设计方法。

自顶向下设计是一种逐级分解、变换,将系统要求转变为电路和版图的过程。是指从系统的行为、功能、性能以及允许的芯片面积和成本要求开始,进行结构设计,同时,根据结构特点,将其逐级分解为接口清晰,相互关系明确,尽可能简单的子结构。接着,将结构转换为逻辑,亦即逻辑设计。下一步是电路设计,逻辑图被细化为电路图。最后进行版图设计,至此,自顶向下的过程结束。从1.1节的叙述已可以了解这种逐级分解的过程。

由底向上设计,是在系统划分和分解的基础上,先进行单元设计,在精心设计的单元基础上,逐级向上组合成功能块、子系统,直至到最终的系统完成。

为了能够方便说明和易于理解这样的自顶向下和由底向上的设计过程,这里举一个简单的例子,一个准静态D触发器设计。它虽然不是一个系统,但设计过程有相似之处,所谓窥一斑而见全豹。为重点说明分解与组合过程,这里不对每一个设计细节进行描述,具体的设计问题在后续章节里有详细的介绍。设计分两个子过程,自顶向下的分解过程和由底向上组装过程。

1.功能描述

表1.1给出了一个简单D触发器的功能要求,这是设计的起点。

表1.1 简单D触发器功能要求

分析上表可知,这是一个时钟上升沿触发的触发器。在时钟电平维持期间,输出处于保持状态,在时钟上跳时将上跳前的输入信号输出。因此,可采用主从两级寄存器级联结构的触发器,主寄存器存储输入的信号,从寄存器存储输出信号,由时钟控制主从结构信号的输入与输出。

2.逻辑结构设计

根据上面的分析,两级寄存器结构构造的D触发器如图1.8所示,主从寄存器的时钟控制呈反相,构造了输入存储与输出存储的不同节拍,从寄存器的Q端信号变化将发生在时钟的上跳时刻。当然,这里只是列举一个例子,实际上有多种结构可供选择。

图1.8 逻辑结构图

其中,逻辑门2、5、6是普通的倒相器。逻辑门1、3、4是三态倒相器,在三态控制为1时,输出为高阻,在三态控制端为0时是正常的倒相器。逻辑门7是CMOS传输门。主寄存器与从寄存器结构实际上是相同的,在从寄存器中采用了倒相器6加传输门7构成三态倒相器的功能。

为了能够对外具有一定的驱动能力,还应该在Q和QB输出加缓冲电路,这也同时隔离了外部信号端和内部逻辑。考虑到时钟也应具有驱动和缓冲,电路还应该加两个倒相器。最后形成的逻辑电路如图1.9所示。

图1.9 实际逻辑结构

下一步是根据性能指标的要求设计每一个门电路的延迟时间,通过计算机仿真分析完整的电路是否满足时钟与延迟要求,以便最后确定每个门延迟应该是多少。具体的计算过程这里就不做讨论了。

3.电路及器件参数设计

在这个设计中共存在三个基本单元:倒相器、三态倒相器、传输门。

根据选用的具体工艺,首先确定三个基本单元的电路结构,图1.10给出了基于CMOS技术的单元电路。

图1.10 单元电路图

在确定了电路结构后,根据上面所确定的每个门电路的延迟时间以及工艺所提供的参数,便可计算得到每个MOS管的尺寸,这部分内容将在第2章详细介绍。

为了获得更精确的结果,则应根据电路、器件参数与模型进行电路仿真。

4.单元版图设计

版图设计有许多种形式,这里采用一种简单的版图进行介绍。需要说明的是,版图的设计要受到工艺的制约。

基于这些基本版图,根据整个电路的结构,同时采用共用源区、共用漏区以及共用源漏区等压缩版图方式,最后得到了完整的版图。

5.版图合成

图1.12显示的是包含了时钟驱动及输出驱动在内的D触发器版图,如果仔细地审读这个版图,会发现三个基本门的版图与图1.11结构稍有不同,这是因为采用了共用结构以及因布线需要所做的修改。

图1.11 单元版图

图1.12 D触发器版图

参考:www. mosis. org/products/vendors/tsmc/

接下来开展版图检查与分布参数提取,以及带分布参数的计算机仿真等工作。在确认后进入工艺实验、测试分析等环节。

以上的介绍是一个简化了的设计过程,对于大的系统,其设计过程要复杂得多,但基本的自顶向下的分解过程和由底向上组装过程都是相似的。

1.2.2 复杂性管理

由于VLSI系统的复杂性和多样性,VLSI系统设计涉及的知识与技术是多方面的,包括了信号系统的设计、逻辑与电路的设计、晶体管设计、工艺设计、结构设计、版图设计、测试设计,甚至是材料的优选,等等。这样一个复杂的问题必须采用相应的对策去分解、简化、归类,使得VLSI设计能够科学化、规则化、简单化,并通过设计工具使设计过程简化,提高设计效率,降低设计风险。即通过复杂性管理,使复杂问题转变为多个简单问题。另外,随着系统复杂程度提高、规模剧增,需要多学科、多技术协同,就设计而言,必须采用并行设计方法,即多个设计师协同设计。

1.抽象提取

首先,对于这样复杂的问题必须进行抽象提取,将完整的设计问题抽象成不同的设计层次,对每个层次能够准确地描述所需开展的工作。同时,层次之间的关系必须有明确地界定,接口严谨、清晰。

我们可以将设计问题抽象成硬件设计层次、工艺设计层次、版图设计层次。

硬件设计层次主要完成系统、逻辑、电路的设计;工艺设计层次主要完成工艺的筛选,工艺参数的确认,版图设计参数的确认;版图设计层次则主要完成电路、逻辑、系统的版图设计与生成。

硬件设计层次包括了两个主要方面的设计问题:基本硬件系统设计和可测试性设计。基本硬件系统是完成系统功能的主体,可测试性设计则是为了解决系统测试难题。因为随着系统的复杂性越来越大,可测试性已成为一个困难的问题,必须通过附加的硬件电路降低测试难度。

实现设计的任务除了确定采用的技术之外,对于VLSI系统还有一个重要的任务是选择工艺,因为工艺是最终实现设计的手段。严格地讲,工艺对于设计者来说既是支持,也是制约,而且更多的是对设计的制约。所选工艺提供的器件参数与能力约束了设计师,给设计师定下了一个“框”,所有的设计必须在这个框内进行。工艺线所提供的能力通过器件模型的方式提供给系统设计者,这样的接口是严格的,它是设计计算的依据。当然,工艺线必须保证他们的工艺一定能够达到规定的参数。

版图设计是一个非常复杂的过程,它实现了将硬件系统转化为二维平面上的图形。版图所描述的系统与硬件系统必须完全一致。同样的,版图的设计也受到工艺的限制,其表征是图形尺寸受到制约。工艺线通过几何设计规则为版图设计者提供设计依据,这是版图设计者和工艺实施者必须共同遵守的约定。版图设计者不能够违反这个约定,版图上的所有最小尺寸必须在约定之内;工艺实施者应该保证这些尺寸都能够实现加工。

从以上的分析可知,硬件系统设计和版图设计都受到工艺的约束,因此,工艺线必须提供设计者一个明确的、准确的设计依据。但问题是,工艺本身是一系列半导体加工步骤的集合,如掺杂、光刻、材料生长、材料刻蚀等,各有其独特的技术与描述,而这些描述并不为系统和版图设计者所熟识。尤其在当今,VLSI系统的设计与加工已分为两个彼此独立的技术领域,必须在设计与工艺之间构架交互的通道。设计规则正是设计与工艺之间的接口,它是工艺技术的一种抽象,并且其描述的方式为系统设计者和版图设计者所熟悉。

综上所述,硬件设计层次完成系统硬件设计并实现系统的可测试性设计;版图设计层次完成硬件系统到二维平面图形的转换;加工工艺利用二维平面图形界定工艺加工的区域,实现三维的硬件系统重现。这三个步骤彼此独立又相互对应,三者之间由工艺设计层次进行连接,一旦选定了工艺,设计规则就将硬件系统、版图、工艺连接在一起,成为一个彼此依赖的整体。

2.分级管理

在完成抽象提取之后,需要对每个设计层次进行分级管理。将本层次的设计问题再逐级分解、化块、分层,进一步降低复杂程度。由于分级后的复杂程度降低,因此,管理的复杂性也相应减低了。自顶向下和由底向上过程充分体现了这样的分级管理,在逐级分解的过程中,每级都对应了特定的设计问题和设计管理,每级之间又有严格的接口。例如,单元版图的设计层级只完成单元级版图的设计,各单元版图的设计似乎是彼此独立的,只是针对每个单元电路进行版图设计,实际上,单元版图的设计除了受到单元电路和几何设计规则的约束,还将受到整体版图风格的限制,否则,最后是无法组装到一起的。

3.设计规则化、模块化

设计规则化是进一步降低设计复杂性的措施,是指在设计中尽量采用规则化的结构、单元,最好采用重复单元构造系统。例如,在微处理器中控制器的设计时,以往的设计采用随机逻辑,由于随机逻辑单元的多样化使得延迟配合较为困难。现采用多个PLA或微码结构(类似ROM)实现,使得逻辑单元规则、重复,设计难度被降低。又例如,版图设计中采用标准单元版图,这时,每个单元的高度都是相同的,对应不同单元仅长度不同,版图结构在总体和局部上均呈现规则的形式。这样的设计方法使设计过程大大简化,甚至可以通过对器件选择编程的方式进行设计,这同时也使最后的版图呈现规则的格局,有利于自动设计的应用。

模块化设计也是当今的重要设计方法,所谓模块化是指按照功能将系统分为若干功能模块,每个模块具有相对独立的功能,模块版图外边界呈现较规则的形状,信号线按照一定的规则分布,在统一的规则下各模块可以独立设计。例如,将某微处理器核作为一个核心模块,与通用模块(如定时器、RS-232串行口等)、IP模块结合,构造完整的VLSI系统。

4.全局优化和局部优化

采用规则化设计后,全局的优化过程由辅助设计或自动设计软件的算法,以及其他系统算法来实现。针对目标函数开展迭代计算,使得硬件资源和版图的面积资源得到最大程度的利用,使得系统内的寄生效应最小化。通过重构技术、休眠技术等使得硬件资源被高效率的应用,使得功率耗散降到最小。局部优化则是以基本模块为对象开展优化,包括了性能最优化、面积最小化、模块复用、资源利用率等设计优化。局部优化更多地介入了专家因素,需要更多的设计与优化经验。

优化是对原设计的提升,一个VLSI系统从初始设计到实现优化,可能需要若干的重复,花费更多的时间和人力。但为了获得最好的性能/价格比,这样的投入仍然是值得的。

5.设计工具

如何充分地利用设计工具是当今提高设计成功率、提高设计效率、得到最高性/价比的重要问题。可以毫不夸张地讲,没有设计工具,VLSI设计是完全不可能的。

VLSI设计工具是建立在计算机系统平台之上的一系列设计和分析软件。随着集成电路技术与软件水平的进步,设计软件也不断地得到完善和发展,已由简单的辅助设计软件,逐步地成为完善的设计系统。

综上所述,复杂性管理就是要将复杂的VLSI设计问题通过一系列的分层分级,进行有效设计管理,通过简单设计问题的有效堆砌与管理构建复杂的系统。

1.2.3 版图设计理念

设计方法和复杂性管理为实现设计建立了重要的指导思想,对具体环节的设计问题还需要确定具体的设计理念。这里特别将版图设计理念作为单独的内容进行讨论,这是因为版图设计是在限定的工艺、限定的尺寸和形式下,对特定的电路进行设计,限制因素较多;同时,版图设计的多样性和经验性使得版图很难有一个严格的规定,因此,设计理念就成为重要的设计指南。版图设计大致可以分为三个主要层次:基本单元版图设计;版图生成单元基本结构设计;系统版图布局布线设计。

这里从最高层次开始讨论。系统版图布局布线解决两个主要问题:将单元、模块在二维平面上进行放置;对放置好的单元、模块进行系统连接,确定连接关系以及布线的相对位置。最后将连接结果转换成实际版图。系统版图布局布线解决的关键问题是如何放置单元、模块以及如何使布线结果最好。怎样布局布线是由一系列的目标函数和软件算法来确定,而转换成实际版图只是将布局布线的结果根据设计规则确定版图几何尺寸与坐标。单元、模块本身的版图则有两种设计形式:一是对单元、模块建立库,这些库单元描述了基本连接关系,最后由算法将连接关系转换为实际版图;二是直接将单元、模块以实际版图的形式放在库中,供系统调用。显然,前者是上述第二个层次的内容,后者是第一个层次的内容。从第一个设计层次到第三个设计层次,自动化程度越来越高,系统优化程度越来越高。倒过来,第一个设计层次的局部优化程度是最高的,但人工设计的成分也最大。

那么,如何充分发挥各设计层次的优点,实现系统设计呢?这就是当今集成电路或系统的设计理念:将集成电路或系统的分析计算部分和信息接口分开进行设计。分析计算部分即所谓的内部电路,采用高度规则的结构以降低版图实现的难度,提高设计效率;与外界进行信息交换的接口部分即I/O单元,则采用高度优化的单元形式,为VLSI系统内部提供稳定可靠的信号,屏蔽外部无关信号的干扰,以提高电路或系统的性能和可靠性。也就是内部电路依靠自动设计实现系统的算法,外部接口依靠人工设计的优化单元满足性能要求。

规则结构主要有门阵列和晶体管规则阵列,非规则结构主要是宏单元和积木块。介于规则和非规则之间的是标准单元结构,其外部结构是规则的,表现为等高的矩形,而内部则可能是不规则的版图形式。

晶体管规则阵列是以晶体管作为基本单元构成阵列,常见形式有各种ROM结构和其他的可编程晶体管结构,如“与ROM”、“或ROM”、“PLA”,等等。

门阵列是以标准门作为基本单元构造阵列,阵列行是这种标准门的排列。

标准单元是一种等高不等宽的单元形式,等高的外部结构使它们可排列成行,不等宽的外部尺寸使他们可以具有不同的单元规模。标准单元的内容可以是各种基本逻辑单元,如门电路、小规模的逻辑功能块等。这些单元的版图通常是人工设计的形式,并因此具有优良的性能。

宏单元和积木块单元突破了外部尺寸与形状的限制,是优化的单元形式。通常具有明确的接口形式,数据流与控制流清晰。考虑到单元的通用性与适用性,各单元通常采用冗余设计,亦即单元相对完备,在调用时根据需要选择其中的全部或部分功能。

VLSI版图的内部结构可以是以上单元形式的一种或几种的组合。与外部的信息接口I/O单元也通常采用标准单元的形式,因为这些单元经过了专家的优化设计,同时也满足设计系统的软件算法要求。

图1.13显示了两种基本的版图结构,(a)图是行式结构的示意图,芯片中央为单元阵列和布线通道,输入、输出单元排列在芯片的四周。芯片中央的单元行是规则的矩形,各单元行平行排列,中间是布线通道。由于结构的高度规则性,具有较高的设计效率,输入、输出单元采用标准单元形式。门阵列和标准单元阵列是行式结构的典型应用。

图1.13 两种基本的版图结构

积木块结构是一种大单元的布图结构,这些单元可以是一种或几种规则阵列结构,如一块优化门阵列,也可以是人工精心设计的电路单元,还可以是存储器阵列、运算模块,等等。其内部结构的规则性低于行式结构,但单元的性能优于行式结构。积木块结构如(b)图所示。