《数字集成电路物理设计》学习笔记(持续更新中)

参考书籍:

《数字集成电路物理设计》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 数字集成电路设计挑战

集成电路的设计技术不断改进,对工程师提出了艰巨的技术挑战:

  1. 芯片上的晶体管数量按照摩尔定律(Moore law)的发展已达到10亿个;
  2. 晶圆尺寸从3"(英寸,1英寸=2.54厘米)到目前的12";
  3. 晶体管的特征尺寸或者技术节点(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)得到广泛地应用。可制造性设计成为设计流程的重要步骤。


 第2章 物理设计建库与验证


第3章 布图规划和布局


第4章 时钟树综合


第5章 布线


第6章 静态时序分析


第7章 功耗分析


第8章 信号完整性分析


第9章 低功耗设计技术与物理实施


第10章 芯片设计的最终验证与签核

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/478023.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

STM32关于使用定时器触发ADC转换的理解

以STM32 ADC的常规通道为例&#xff08;注入通道类似&#xff09;&#xff1a; 如上图&#xff0c;STM32 ADC的常规通道可以由以上6个信号触发任何一个&#xff0c;我们以使用TIM2_CH2触发ADC1&#xff0c;独立模式&#xff0c;每次仅测一条通道&#xff0c;则ADC的配置如下&am…

个人信息-求职[web前端]

我有近近10年开发及6年的管理经验Web前端,所负责的技术团队经历了 Web 前端几代技术变革&#xff0c;参与了几乎&#xff0c;在性能优化、开发效率、所有前端相关项目工程化架构选型上都有丰厚的产出。在上家致力于数据安全前端的相关工作&#xff0c;专注于Vue.js技术栈来推进…

慎投!新增5本期刊被剔除!数据库期刊目录更新

毕业推荐 SSCI&#xff08;ABS一星&#xff09; • 社科类&#xff0c;3.0-4.0&#xff0c;JCR2区&#xff0c;中科院3区 • 13天录用&#xff0c;28天见刊&#xff0c;13天检索 SCIE&#xff1a; • 计算机类&#xff0c;6.5-7.0&#xff0c;JCR1区&#xff0c;中科院2区…

Docker jupyter 容器中添加matplotlib 中文支持

本教程基于 jupyter/datascience-notebook&#xff0c;适用其他容器。 # 查看所有 Docker 容器 docker ps -a # 进入已经运行的 Jupyter 容器 docker exec -it CONTAINER_ID bash 本例中CONTAINER_ID为2e # 切换到 matplotlib 的字体目录&#xff08;find / -name "…

基于springboot+vue的民族婚纱预定系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

Linux部署MySQL

Linux部署MySQL5.7.17 mkdir /opt/mysql cd /opt/mysql#mysql下载官网&#xff1a; #https://downloads.mysql.com/archives/community/ #下载server、client、lib和common wget https://downloads.mysql.com/archives/get/p/23/file/mysql-community-server-5.7.17-1.el7.…

JavaScript高级(十七)---异步函数await-async

异步函数 async function 异步函数的内部代码执行过程和普通的函数是一致的&#xff0c;默认情况下也是会被同步执行。 async function foo() {console.log("foo function start~")console.log("内部的代码执行1")console.log("内部的代码执行2&quo…

ISIS骨干网连续性简述

默认情况下&#xff0c; 一、L1路由器是ISIS 普通区域内部路由器&#xff0c;只能与L1和L1-2路由器建立邻接关系&#xff0c;不能与L2路由器建立邻接关系。 二、L2路由器是骨干区域的路由器&#xff0c;L2路由器只能与其他 L2路由器同处一个区域&#xff0c;可与本区域的L2路由…

数值分析(三) Lagrange(拉格朗日)插值法及Matlab代码实现

目录 前言一、Lagrange&#xff08;拉格朗日&#xff09;插值1. 线性插值2. 抛物插值3. 拉格朗日插值多项式 二、Lagrange插值算法及matlab代码1. Lagrange 插值算法matlab实现2 实例3. 线性插值示意图代码4. 抛物插值示意图代码 三、总结四、插值法专栏 前言 本篇为插值法专栏…

生产计划数据模型,实现能源企业数字化高效管理

随着市场经济的快速发展&#xff0c;能源企业在经济发展中的地位也随之提高。但由于能源企业在生产计划经济管理上存在指标不平衡、市场观念落后和环保意识欠缺等问题&#xff0c;导致企业的经济效益降低。目前&#xff0c;提高企业的生产计划管理是改善能源企业现状最有利的途…

【合合TextIn】深度解析智能文档处理技术与应用

目录 一、智能文档处理介绍 二、文档格式解析 三、图像增强技术解析 四、传统文字识别OCR技术解析 五、深度学习OCR技术解析 六、深度学习版面分析技术解析 七、文档分类 八、信息抽取 九、系统集成&#xff1a;将IDP处理后的数据集成到企业系统 结论 一、智能文档处…

【复杂网络建模】——建模工具Matlab入门

目录 一、认识MATLAB 二、认识工具箱 三、基本操作和函数 3.1 算术操作符 3.2 数学函数 3.3 矩阵操作 3.4 索引和切片 3.5 逻辑操作 3.6 控制流程 3.7 数据输入输出 四、变量和数据类型 4.1 数值类型 4.2 整型 4.3 复数 4.4 字符串 4.5 逻辑类型 4.6 结构体&a…

手机怎么恢复出厂设置?1分钟教会你!

有时候我们可能会遇到一些问题&#xff0c;例如苹果手机系统崩溃、软件故障或者准备出售手机等情况&#xff0c;这时候恢复出厂设置就成了解决问题的一种方法。 然而&#xff0c;许多用户可能认为恢复出厂设置的过程复杂且耗时&#xff0c;因此不愿意尝试。但实际上&#xff0…

JVM类加载过程

过程&#xff1a;加载、验证、准备、解析、初始化 加载阶段 1.通过一个类的全限定名来获取定义此类的二进制字节流。 2.将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。 3.在Java堆中生成一个代表这个类的java.lang.class对象&#xff0c;作为方法区这些数…

Window全网解析网站下载视频

全网解析网站下载视频 介绍m3u8格式cbox格式 解析视频下载的方法方法一解析视频下载视频 方法二老王浏览器下载使用浏览器解析下载视频 总结 介绍 今天分享一下如何解析网页中的视频进行下载。通常情况下我们打开的某某网站的视频是不提供下载接口的&#xff0c;甚至说你下载了…

基于ssm的实验室耗材管理系统设计与实现论文

摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对实验室耗材信息管理混乱&#xff0c;出错率高&#xff0c;信息安全性…

【爬取网易财经文章】

引言 在信息爆炸的时代&#xff0c;获取实时的财经资讯对于投资者和金融从业者来说至关重要。然而&#xff0c;手动浏览网页收集财经文章耗时费力&#xff0c;为了解决这一问题&#xff0c;本文将介绍如何使用Python编写一个爬虫程序来自动爬取网易财经下关于财经的文章 1. 爬…

bilibili哔哩哔哩视频播放界面鼠标消失视频不能快进问题解决

问题环境&#xff1a; 在电脑哔哩哔哩视频播放鼠标在方框外使用&#xff0c;移动到方框内鼠标光标消失&#xff0c;快进等功能不能使用&#xff0c;严重影响使用体验。 问题解决&#xff1a; 因为使用了类似网页文本复制的插件导致出现这样的故障&#xff0c;删除或者临时关闭…

Python教程92:print实现的3个动画特效(打字机+旋转式进度+覆盖式打印显示)

print() 应该是初学者最先接触到的第一个 Python 函数&#xff0c;因为几乎所有的启蒙课程都是从 print(‘Hello world’) 开始的。事实上&#xff0c; print() 也是程序员使用频率最高的函数之一&#xff0c;同时也是很多程序员喜欢的代码调试利器。 1.打字机效果&#xff0c…

备考ICA----Istio实验4---使用 Istio 进行金丝雀部署

备考ICA----Istio实验4—使用 Istio 进行金丝雀部署 上一个实验已经通过DestinationRule实现了部分金丝雀部署的功能,这个实验会更完整的模拟展示一个环境由v1慢慢过渡到v2版本的金丝雀发布. 1. 环境清理 kubectl delete gw/helloworld-gateway vs/helloworld dr/helloworld…