Chapter4标准单元技术StandardCellTechniquesSeptember30,20191StandardCellTechniques§4.1引言Introduction§4.2标准单元库StandardCellLibrary§4.3标准单元StandardCell§4.4基于标准单元技术的设计规则DesignRulesforCell-Basedapproach§4.5标准输入和输出单元StandardInputandOutputCellsSeptember30,20192StandardCellTechniques§4.1引言3半定制ASIC设计流程基于标准单元的ASIC设计技术什么是标准单元库什么是标准单元September30,20193StandardCellTechniques•Separateteamstodesignandverify•Physicaldesignis(semi-)automated•Loopstogetdeviceoperatingfrequencycorrectcanbetroubling半定制ASIC设计流程4September30,20194StandardCellTechniques逻辑综合LogicSynthesis•Changescloudofcombinationalfunctionalityintostandardcells(gates)fromfab-specificlibrary;•Choosesstandardcellflip-flop/latchesfortimingstatements•Attemptstominimizedelayandareaofresultinglogic5September30,20195StandardCellTechniques半定制ASIC设计流程的主要特征September30,20196“综合Synthesis”and“自动布局布线Place-and-Route”StandardCellTechniques这两个产业中非常常用的术语体现了半定制ASIC设计流程的实质,使得当前的IC设计在方法上发生了根本性变化。单元库是半定制设计流程的先决条件。单元库LibraryofCells单元库中包含了综合和P&R工具要用的逻辑门和时序构件;在任何一个ASIC设计流程的全部过程中,整个设计只需要用单元库实现。标准单元设计技术September30,20197标准单元设计法是一种基于预先安装的库单元的芯片设计方法。库中的单元都已经预先完成了基于一个特定工艺的设计、版图和验证。这些单元已完全特征化,建立了相应的逻辑、时序、物理和电路模型并保存在库中。StandardCellTechniques基于标准单元设计IC的版图时,设计者只需把综合得到的网表送到自动布局布线工具(P&R)中,该工具会自动完成网表到标准单元的映射以及单元间的布局和布线,从而得到最终版图。September30,20198在逻辑级或功能级上实现标准化;StandardCellTechniques标准单元设计技术的特点每一个门有多种特定的设计并存储在数据库或单元库中;版图用CAD自动布局布线工具生成。每一个单元有Behaviorallevel、Structurallevel和Physicallevel的多种描述。标准单元设计技术的优点September30,20199采用标准单元设计法设计的版图在性能和面积上不如全定制设计的版图,但它通过单元复用减少了设计工作量,缩短了设计周期。更重要的是,也是基于标准单元的版图设计的最大优点在于有强大的自动布局布线工具支持,设计自动化程度很高。StandardCellTechniques因此,标准单元设计方法是当前商用电路,尤其是大的数字电路的主要设计方法,而且很多SoC电路的设计也采用此方法。September30,201910用高层描述语言(如HDL)建立对电路系统的描述;StandardCellTechniques基于标准单元设计的基本步骤用综合工具将该描述综合成逻辑网表;综合工具需要用到单元的逻辑描述。用自动布局布线(P&R)工具将该逻辑网表综合成物理版图;P&R工具需要用到版图库,还可能要用到简单描述形式的版图。§3.2标准单元库11什么是标准单元库标准单元库的特点标准单元库的主要内容标准单元库的质量评价September30,201911StandardCellTechniques什么是标准单元库12标准单元库(StandardCellLibraries)是ASIC设计流程中用到的预先定义好的、特征化的构建模块的集合。由于这种库通常具有通用接口实现和规则结构,所以通常称为“标准单元库”。单元库提供了用于综合的功能构建模块和为布局布线提供的单元的版图描述。硬件描述语言综合的过程也将所选择逻辑单元限制在库所提供的单元中,从而确保了在使用自动布局布线进行设计时单元的物理或版图描述一定存在。标准单元库是ASIC设计方法得以实现的基础之一。September30,201912StandardCellTechniques为什么要开发标准单元库September30,201913设计的规模和复杂性日益增加;StandardCellTechniques存在加快电路和版图设计过程的需要,因此全定制设计不再可行;典型加工工艺的进步,包括布线金属层的增加,进一步增加了全定制版图设计过程的复杂性;自动化工具,尤其是综合和布局布线(P&R)工具的出现和应用需要标准单元库(包括版图模型、逻辑模型、时序和功耗模型)的支持。标准单元库的特点(1/5)September30,201914一个ASIC标准单元库通常是只针对一个特定的工艺。StandardCellTechniques某些情况下,也可能对同一个工艺同时有几个单元库,每个库针对不同的目标(如高速度、低功耗或高密度等)有特定的应用。另外,还可能对同一个工艺针对不同的工作环境条件有不同的单元库,每个库针对不同的环境条件(如温度)有特定的应用。标准单元库的特点(2/5)September30,201915StandardCellTechniques要求具有“功能”的完整性。一个典型的现代ASIC标准单元库里可能有超过几百个不同的标准单元,在单元库里对这些单元按其功能进行分类。通常必须包括反相器、与和或(或者与非和或非)、三态缓冲器、锁存器和触发器(包括异步带置位与复位)在内的基本功能块。标准单元库的特点(3/5)September30,201916StandardCellTechniques在每个功能组为逻辑单元定义了不同尺寸的实现以实现对不同的扇出提供相应的驱动。如反相器包括1X驱动的INV1,2X的INV2,4X的INV4等。同一种功能中不同驱动能力的单元为综合工具提供了灵活性,从而可以得到最佳的综合结果。另外,标准化的尺寸确保设计过程中不会出现奇怪的尺寸和单元的最大共享。标准单元库的特点(4/5)September30,201917StandardCellTechniques模型参数要包括延迟、功耗、输入电容和输出电容等基本内容。为了提高版图质量并继续利用标准单元设计自动化高的优点,必须增大单元的规模并对单元版图进行精细优化,为此在标准单元的基础上又发展了宏单元和IP硬核等较复杂的单元。这些单元版图也都采用全定制方法设计,同样也要经过专门优化和严格验证,但电路版图在性能和面积方面要比单纯基于标准单元设计的版图好很多。标准单元库的特点(5/5)September30,201918StandardCellTechniques一个完整的ASIC单元库应该包含每个单元用于各设计阶段自动化设计工具的所有信息(用”view”来表征):逻辑属性(logicview),时序属性(timingview),物理属性(physicalview),功率属性(powerview),和电学属性(electricalview)。所有这些属性一起给单元库中的每一个单元提供了一个完整的描述。在IC设计的实现过程中不同的自动化CAD工具用它们来完成不同的设计任务。。版图库September30,201919P&R工具生成层次化的版图;StandardCellTechniques单元库里的版图是构成层次化版图的叶单元;单元库里的版图形状必须规则化,以便于P&R工具拼接并易于进行布局布线;单元库里的版图必须满足工具使用的要求,也就是与工具有关;工具对版图的要求September30,201920功能的完整性:通常必须包括inverter、buffer、tristatebuffer(三态缓冲)、NAND和NOR(或AND和OR)、Latch(带复位和置位)、及Flip-Flop等;StandardCellTechniques模型库必须包含延迟、功耗、输入电容、输出电容等特征值;还须包括VHDL/Verilog模型及引脚列表,并给出引脚的方向(input、output、inout);标准单元库的主要内容September30,201921SSIlogic:e.g.nand,nor,xor,inverters,buffers,latchs,registers;StandardCellTechniquesMemories:e.g.RAM,ROM;Systemlevelblocks:e.g.multipliers,microcontrollers;Datapath:e.g.ALUs,adders,register,shifters;MSIlogic:e.g.decoders,encoders,adders,comparators;开发单元库的基本步骤September30,201922StandardCellTechniquesSeptember30,201923有效性(Efficiency):如果综合和布局布线的结果速度快、芯片面积小,且功耗低,则说明单元库有效而且高质量。StandardCellTechniques单元库的质量评价(1/3)ASIC单元库的质量对用该库实现的设计的质量影响极大。ASIC单元库的质量可用以下标准评价:可靠性(Robustness):一个单元库在面积、功耗和性能方面做到了平衡,但是如果不可靠,那这个库没有任何作用。因此库单元的设计必须要对ESD静电保护、闩锁效应的抑制、电子迁移、天线效应和噪声灵敏度方面有所考虑。September30,201924StandardCellTechniques标准单元库的质量评价(2/3)可移植性(Portability):在对库的评价上,库对多种代工的可移植能力的重要性在逐渐增加。用一套适用于多个厂商的通用设计规则建立的单元库则有好的移植性。可用性(Usability):如果没有配套的设计属性,库再大也没有作用。在下面列出的设计属性类型中,取决于不同的设计方法,一个可用的库需要配套的设计属性也不同。包括:电路设计、综合、模拟、布局布线、静态时序验证和ATPG。September30,201925StandardCellTechniques标准单元库的质量评价(3/3)时间性(Timeliness):一个库必须要能在工艺有效的早期时间投入使用。否则工艺不能发挥最大的潜力来产生效益。成本(Cost):库的成本是很难说的。开发一个库在开发工具和时间上的成本可能都是很高的。但是,买一个现成的库总是意味着在想要的和可用的之间进行了折衷。因此,在购买库和开发库之间,你选择其中的一个一定是因为其明显的经济优势,反之亦然。§3.3标准单元26什么是标准单元硬件模块的抽象描述标准单元的基本属性标准单元的基本特性标准单元的基本结构September30,201926StandardCellTechniques什么是标准单元September30,201927StandardCellTechn