参考书籍:
《数字集成电路物理设计》pdf下载百度云链接:
链接: https://pan.baidu.com/s/1jOD54q_f9KLhfX6InabTRA?pwd=8888 提取码: 8888 复制这段内容后打开百度网盘手机App,操作更方便哦
--来自百度网盘超级会员v8的分享
目录
第1章 集成电路物理设计方法
第2章 物理设计建库与验证
第3章 布图规划和布局
第4章 时钟树综合
第5章 布线
第6章 静态时序分析
第7章 功耗分析
第8章 信号完整性分析
第9章 低功耗设计技术与物理实施
第10章 芯片设计的最终验证与签核
前言
集成电路数字系统芯片的设计,从系统设计、功能验证和逻辑综合到物理实施,每阶段的重要性已经越来越被人们认识。然而,关于集成电路设计,目前非常缺少侧重于工程内容的教材和参考书籍,尤其是关于物理实施过程、设计方法和设计流程,以及实施细节、相互间的内在依赖关系等方面。近十年来,从深亚微米到纳米设计中出现了许多新技术方案和设计流程,人们迫切需要有关专著进行讲解。
今天的数字集成电路设计显然要比十年前或者五年前复杂得多,过去人们将数字集成电路的物理设计与实施简称为后端设计,或被解释为逻辑综合、布局与布线三步曲。事实上,在当代的集成电路设计中,这三步工作更加依赖于EDA工具的自动化,工程师要花费更多的时间分析设计数据、设计方案和设计结果,不断地调整布局与布线中的各种参数,以使设计达到时序收敛。
作者试图将已经广泛应用的物理设计方法以及纳米设计中面临的一些问题和新的设计思路和设计方法,结合从事过的设计和多年的EDA培训及教学经验,编著成书。希望能补充这一学科的部分空白,和有志于进人这一实践领域的专业工程师共享,也希望本书能成为具有一定物理设计基础和想从事物理设计的工程师有用的参考书。
第1章 集成电路物理设计方法
集成电路的设计工程绝对不同于软件设计或机械工程,它不希望设计者程序化或机械化地按照流程图去处理复杂的芯片设计,而是首先需要了解当今集成电路设计的复杂性和挑战性(见1.1节),再去参考相关的设计流程(见1.2节),在实施过程中不断理解、分析并解决其中出现的问题,使设计尽快得到收敛(见1.3节)。
本章将依次讲解这些内容,并将近年来集成电路设计中人们关心的与设计复杂性相关的数据库方法(见1.4节)在本章末尾介绍,以协助读者理解复杂的设计本身与设计工具和环境的相互关系。
1.1 数字集成电路设计挑战
集成电路的设计技术不断改进,对工程师提出了艰巨的技术挑战:
- 芯片上的晶体管数量按照摩尔定律(Moore law)的发展已达到10亿个;
- 晶圆尺寸从3"(英寸,1英寸=2.54厘米)到目前的12";
- 晶体管的特征尺寸或者技术节点(technologynode)已经发展到65nm并已建立45nm 设计流程。
1.2 数字集成电路设计流程
集成电路从RTL到GDSI的设计发展过程又被分作三个“I”年代,它们是发明、实施和整合(innovation,implementation,integration)。
发明年代包括布局布线的基本算法、时序分析和逻辑综合(logicsynthesis)的发明;
实施年代开始于FPGA中门阵列的实现,ASIC设计中同等高度标准逻辑单元库的设计,它们使得EDA的方法得到充分的发展和应用;
当集成电路设计变得越来越大,即出现了在RTL和逻辑综合时,先将设计经过分配(partition)变成模块化(module)的设计和优化方案,在布局布线时采用自底向上的堆砌法(bottom-up),这也是一种展平的设计方法(见1.2.1节)。所有模块完成后,最后再将它们整合在一起。
在布局布线时的另外一种模块化设计方案则是和综合相似的方案,实行自上向下(top-down)分配,变成模块化再将它们整合在一起(见1.2.3节)。
在布局布线阶段,无论是自底向上或自上向下进行设计,都需要较长周期才能完成一轮的实验方案。因此,结合两者的特点,人们又提出了第三种快速实施方案,称之为硅虚拟原型设计(见1.2.2节)。为了便于初学者理解,我们将先介绍自下向上,而后介绍硅虚拟原型设计,最后介绍自上向下的实施方法。不管采用哪一种实施方案,为了适合处理复杂的设计,EDA 工具也随之按照整合的方案在发展。因此,各种工具是整合式的,它们是模块化的,它们相互间的匹配应用具有延续性和递增性。
早期的集成电路物理实施方法只能由工程师通过指令窗(CIW,commandinwindow)读写数据,并通过几个引擎分别进行设计的布局布线处理,这几种引擎也叫做“点工具”(point tools)。将点工具串接在一起,添加了图形界面(GUl,graphic user interface),使得用户设计变得极为直观,根据设计类型(数字、模拟、数模混合)从而建立了不同的设计流程(flows)。为了在不同设计流程间的数据交换方便,又将设计流程扩展建立了多个设计平台(platforms)。当代的片上系统芯片(SoC,system-on-chip)的设计需要由设计公司(fabless)、IP供应商、晶圆代工厂(foundry)和EDA供应商在设计生产链(design chain)上共同配合。这些复杂的方法和概念,有时使得初学者无所适从,,因此人们又提供了设计“锦囊”(工具箱,kits)供选择。
图1-2是从点工具到设计工具箱之间的示意图。
对于深亚微米(DSM,deep sub-micron)芯片(例如,0.35um、0.25um、0.18um)的物理实施,在设计中要重点解决的任务和内容有如下三点:
(1)解决时序驱动设计(TDD,timing-driven design)的方法
(2)防止工艺天线效应(PAE,process antenna effect)。
(3)进行信号完整性(Sl,signal integrity)分析。
名词解释:
IPO:In-Place Optimization,原地优化
DRV:Design Rule Violation,设计规则违反
BC:Best-Case,最佳条件
WC:worst-case,最差条件
CWLM:定制(custom)WLM
partition:分割,分块
MSMV:multi-supply,multi-voltage,多供电电压
PLE:physical layout estimator,物理布图参数
CMP:chemical mechanical polishing,化学机械抛光
SRPG:state retention power gating,状态保持电源门控
CRPG:clock reconvergence pessimism removal,时钟再收敛悲观消除法
CPF:common power format,通用功耗格式
DFM:design for manufacuribility,可制造性设计
OPC:optical proximity correction,光学临近修正
MMMC:multi-mode multi-corner,多模式多端角
PSO:power shutoff,电源关断
SiP:silicon in package,多芯片(系统级)封装
DVFS:dynamic voltage frequency scaling,动态电压频率调节(动态电压调频)
PSM:phase shifting masks,移相掩模
SSTA:statistical STA,统计静态时序分析
DFY:design for yield,考虑良率性设计
在纳米(nm,nanometer)的设计中(<130nm),除了以上DSM 中的任务外,还需要考
虑和解决如下三类问题:
(1)功耗分析和低功耗设计,并要统一考虑它的功能验证、逻辑综合和形式验证
(2)实施纳米设计中的光学近似检查(OPC,opticalproximitycorrection)和移相掩模(PSM,phase shifting masks)的实现,考量增加设计产额(DFY)和可制造性设计(DFM)分析。
(3)更加复杂的统计静态时序分析(SSTA,见第6章)和多模式“多端角”(MMMC,见第 10 章)分析。
其中,光学近似检查是指通过光刻分辨率增强技术(RET,resolutionenhancementtechnology)进行光刻失真的光学校正;在65nm设计中还要进行移相掩模的处理。
图1-3(a)所示的250nm设计流程,提出了时序驱动设计(TDD)的物理实施概念,并逐渐使用 TDD以及时序驱动布线(timing-drivenrouting),这种方法于1997年后逐渐成为标准流程。布图(floorplan)设计中的电源网格(power grid)设计较易实现,时钟树综合的焦点是追求理想化的零偏差(zero skew),同时提出了静态功耗分析。用于RC寄生参数的提取模型为2.5维,静态时序分析(STA,static timing analysis)、最终时序检査和“签核”(sign-off)不太复杂,用最差(WC,worst-case)时序库进行建立时间(setup time)的检查,保持时间(hold time)很容易满足。布线后的优化方法为原地优化(IPO,in-place optimization)和设计规则违反检查(DRV,designrule violation)。
对于1999年前后主流为180nm的设计,如图1-3(b)所示,电源布置变得复杂,电压降(IR drop)成为关心的对象,“电源规划”的概念和布图规划相互呼应,要求更加准确地计算功耗,时序库中要包括功耗信息。时序驱动布局时要求考虑信号完整性SI分析(注:近年来SI常被称为噪声分析)。时钟通常快于200MHz,时钟树结构中更多的应用锁存器(latch)来设计。在布线时要预算和防止芯片生产过程中的工艺天线效应(PAE)。在RC提取时,为了求得更准确的最终时序结果,电容空间的三维分布模型得到普遍应用。在做时序分析时,要同时分析噪声,最差和最佳(BC,best-case)时序库要分别用来检查时序。同时发现基于(互连)线负载模型(WLM,wire loadmodel)综合得来的设计网表经常不能收敛,往往要反复更新产生定制线负载模型(CWLM,custom WLM),或多次迭代(iteration)后才能收敛。这时,物理综合(physical systhesis)的概念被提出并得到应用;由于这种方法会对逻辑结构进行结构化再处理(restructuring),优化后的网表或物理综合产生的新网表,必须要通过设计逻辑等价验证(logic equivalence checking)去检查。
图1-3(c)所示的130nm流程, 其技术节点于2001年前后开始形成。这时, 基于多电源电压(MSMV,multiple-supply multiple-voltage)的低功耗设计成了重要的设计方案,功耗分析和噪声分析是必不可少的要求。时钟树的收敛变得困难, 人们提出了有用偏差(useful skew)的解决办法。由于半导体工艺中化学机械打磨(CMP,chemical mechanicalpolishing)的要求, 布线后都要进行CMP的处理和检查。另外, 在布局时还要处理扫描链, 在最终时序检查时要结合噪声对时序的影响。同时, 采用纳米技术的系统芯片SoC逻辑门数量迅速增长到数百万门(MG,milliongates), 用于DSM 设计的展平物理设计方法(见1.2.1节)完成设计时间周期太长, 因此人们提出了硅虚拟原型(SVP,silicon virtual prototyping)的快速设计方案(见1.2.2节)。为了解决时序收敛太慢的问题, 层次化的物理设计方法(hierarchical partition,见1.2.3节)也与SVP方法同时确立。
纳米技术的真正挑战是2003年前后从90nm的设计开始的, 如图1-3(d)所示。低功耗的设计成为主要需求, 要求提供多组MTCMOS逻辑单元库(见9.2.2节), 多电源多电压MSMV的实施, 在布图时要将不同电压区域(powerdomain)隔开。由于在掩模(mask)中需要对纳米的光刻作 OPC, 从单元库到RC提取, 从布线到物理验证, 都要采取额外的措施。这时, 布线后的优化和逻辑综合结合得更加紧密, 全局物理综合(GPS,global physical synthesis)的方案, 结合物理布图参数(PLE,physical layout estimator)用于加快时序收敛。DFT在设计中更加复杂, 逻辑验证周期也加长了。在静态时序分析时,人们开始考虑到片上误差(OCV,on-chip variation)的影响。
2005年前后进入65nm的设计, 如图1-3(e)所示。低功耗设计在原来的多电压多值及门控时钟等技术基础上, 增加了电源关断(PSO,powershut off)技术, 它通过状态保持电源门控(SRPG,state retention power gating)的实现, 增加了物理设计的难度。这时的时序检验更加复杂, 人们提出了多模式“多端角"(MMMC,multi-mode multi-corner)条件的分析方案。由于纳米工艺中OPC和PSM校正的要求, 人们提出了更加系统的可制造性设计及其检验程序。2007年第一个45nm的设计参考流程已经发表并付之于实施,如图1-3(f)所示55从芯片到板级设计以及多芯片封装(SiP,siliconinpackage)技术的应用,将设计数据(例如,应用 OA 数据)和标准时序约束(SDC,standard design constraints)从芯片到封装设计流程上完全连接了起来。低功耗设计则采用了时钟的动态电压频率调节(DVFS,dynam-ic voltage frequency scaling)技术。统计静态时序分析方法(SSTA,statistical STA)得到广泛地应用。可制造性设计成为设计流程的重要步骤。