集成电路设计的,集成电路设计的

符号 3
CAD系统 北京大学 SoC—提高ASIC设计能力的途径 IC设计能力 与工艺能力 的剪刀差 工艺能力1.58 设计能力1.21 ICCAD系统概述 ICCAD系统的发展 第一代:60年代末:版图编辑和检查第二代:80年代初:原理图输入、逻辑模拟向下第三代:从RTL级输入向下,包括行为仿真、行 为综合、逻辑综合等 流行的CAD系统:Synopsys,Cadence,Magma,MentorGraphics,Viewlogic,Compass,Panda等 ICCAD系统的理想作用:实现完全的自动化设计,设计出各种各样的电路 设计能力的阶跃-EDA技术 ①L-E②P&R③Synth④SoC ICCAD系统的实际作用 设计信息输入: 语言输入编辑工具高层次描述的图形输入工具:VHDL功能图输入、 逻辑图/电路图输入编辑、版图输入编辑 设计实现:综合器设计验证:验证系统/电路符合功能/性能要求及设 计规则要求 模拟器进行模拟(仿真)分析设计规则的检查 什么是模拟?对于设计输入抽象出模型,施加外部激励,观察输入,进行判断 整个设计过程就是把高层次的抽象描述逐级向下进行综合、验证、实现,直到物理级的低层次描述,即掩膜版图。
各设计阶段相互联系,例如,寄存器传输级描述是逻辑综合的输入,逻辑综合的输出又可以是逻辑模拟和自动版图设计的输入,版图设计的结果则是版图验证的输入。
ICCAD系统介入了包括系统功能设计、逻辑和电路设计以及版图设计等在内的集成电路设计的各个环节 主要内容 系统描述及模拟综合逻辑模拟电路模拟时序分析版图设计的CAD工具计算机辅助测试技术器件模拟和工艺模拟 系统描述与模拟:VHDL语言及模拟 VHDL语言出现背景 一种硬件描述语言(hardwaredescriptionlanguage)广义地说,描述电子实体的语言:逻辑图,电路图 大规模电路的出现:逻辑图、布尔方程不太适用需要在更高层次上描述系统 出现多种HDL语言,为便于信息交换和维护,出现工业标准 通常指高层设计阶段描述硬件 HDL语言的特点 抽象地进行行为描述结构化语言:可以描述电子实体的结构多层次混合描述既可被模拟,又可被综合能提供VHDL模拟器的公司:Cadence、MentorGraphics、Viewlogic、Synopsys等大型EDA公司和CLSI、Model-Technology、Vantage等专门公司Verilog VHDL语言 基本概念:描述硬件电路,可以抽象地表示电路的行为和结构(完成什么功能,怎样组成) 作用: 对IC设计,支持从系统级到门和器件级的电路描述,并具有在不同设计层次上的模拟验证机制 可作为综合软件的输入语言,支持电路描述由高层向低层的转换 建模机制、模拟算法、模拟环境 建模机制基本结构行为描述结构描述 VHDL语言的建模机制——基本结构 一个硬件单元在VHDL中看作一个设计实体实体外观 实体说明:实体命名,实体与外部环境的接口描述,未涉及其内部行为及结构 实体功能 在结构体中实现 结构体:实体的输入-输出关系,实体的结构和行为描述 对应一个实体说明可以有多个结构体,不同的实现方案 ENTITYcountIS --设计实体count GENERIC(tpd:Time:=10ns); PORT(clock:INBit;q1,q0:OUTBit); ENDENTITYcount; ARCHITECTUREarchofcountIS --count实体的结构体 BEGIN count_up:PROCESS(clock) --进程体count_up VARIABLEcount_value:Natural:=0; BEGIN IFclock='1'THEN Count_value:=(count_value+1)MOD4; q1<=bit'Val(count_value/2)AFTERtpd; q0<=bit'Val(count_valueMOD2)AFTERtpd; ENDIF; ENDPROCESScount_up; ENDARCHITECTUREarch; 功能描述: 行为描述数据流描述结构描述混合描述 Architecturebehavioralofhalf_adderisbegin processSUM<=A+B;CO<=AandB;waitonA,B;endprocess;endbehavioral; 行为描述:描述外部行为 Architecturebehavioralofhalf_adderisbegin SUM<=A+B;CO<=AandB;endbehavioral; 数据流描述,未涉及具体结构 Architecturebehavioralofhalf_adderis componentXOR 元件的外观说明(表示符号,与实体不同) port( I1:instd_logic I2:instd_logic O1:outstd_logic); ponent; componentAND2 port( I1:instd_logic I2:instd_logic O1:out_std_logic); ponent; begin U1:XORportmap(
A,B,SUM);元件引用,生成例元(标号:元件名 端口映射) U2:AND2portmap(
A,B,CO); endbehavioral; VHDL语言的建模机制——行为描述 电子实体中的行为:反映信号的变化、组合和传播行为的特点是信号的延迟和并行性 VHDL中描述行为的基本单位是进程,由进程语句描述。
ARCHITECTUREarchofcountIS--count实体的结构体 BEGIN count_up:PROCESS(clock) --进程体count_up VARIABLEcount_value:Natural:=0; BEGIN IFclock='1'THEN Count_value:=(count_value+1)MOD4; q1<=bit'Val(count_value/2)AFTERtpd; q0<=bit'Val(count_valueMOD2)AFTERtpd; ENDIF; ENDPROCESScount_up; ENDARCHITECTUREarch; 进程之间是并行的,进程内部是顺序执行的。
进程语句本身由一系列的顺序语句组成,顺序语句发生在该进程被激活的同一时刻 信号:各进程之间的通信,数据通路。
信号的状态可能影响与信号相关的进程的状态 信号赋值: 模拟周期:在时刻t,从一些信号更新、若干进程被激活到进程被挂起 信号在一个模拟周期完成求值,延迟td后更新值,td是信号延迟,也称DELTA延迟,在同一模拟时刻,发生t,t+td,t+2td,….多个模拟周期 进程并行:每个进程仅在满足一定条件的某 个时刻被激活,同一时刻可以有多个进程被激活 对于串行机,模拟时钟在每个时刻停下,直到每个时刻被激活进程全被处理完 延迟描述:反映时序,建立精确的电路硬件模型 什么是延迟?传输延迟惯性延迟:输入信号在指定延迟时间内保持不变, 元件的输出端才有响应。
进程为行为的基本单元信号作为系统进程之间的数据通路 各进程并行执行 VHDL语言的建模机制——结构描述 结构描述:若干部件用信号线互连形成一个实体部件:对某元件的调用(例元) 一个结构体由若干例元互连而成 元件:某个实体的某种结构,只有外观说明(元件说明语句)一个元件说明,代表一种类型的元件,是一个符号 元件调用:元件例化语句 <例元标号>:<元件名><外观映射表> 结构描述中的信号:连接例元,值传递 例元的输出值变化会影响以此信号为输入的其他例元元件例化语句可以并行 Architecturebehavioralofhalf_adderis componentXOR 元件的外观说明(表示符号,与实体不同) port( I1:instd_logic I2:instd_logic O1:outstd_logic); ponent; componentAND2 port( I1:instd_logic I2:instd_logic O1:out_std_logic); ponent; begin U1:XORportmap(
A,B,SUM);元件引用,生成例元(标号:元件名 端口映射) U2:AND2portmap(
A,B,CO); endbehavioral; 元件配置元件例化语句生成例元引用的是元件,不是实体,实体结构中的例元应该同实在的实体设计相对应,进行元件配置,指出使用的实体和结构体 FOR<元件标号>:<元件名>USEENTITY<库名>.<实体名>(结构名) 标号例元所引用的元件对应于某指定库的某实体和某结构体 Architecturestructural_viewOFfull_adderIS Componenthalf_adder PORT(in1,in2:INStd_logic;sum,carry:OUTStd_logic); EndComponent; Componentor_gate PORT(in1,in2:INStd_logic;sum,carry:OUTStd_logic); EndComponent;Signala,b,c:Std_logic; 说明连接元件所用的内部信号 Begin u1:half_adderPORTMAP(x,y,b,a); u2:half_adderPORTMAP(c_in,b,sum,c); u3:or_gatePORTMAP(c,a,c_out); Endstructural_view; Configurationpartsoffull_adderISForstructural_viewForu1,u2:half_adder USEENTITYWORK.half_adder(behav);EndFor;Foru3:or_gate USEENTITYWORK.or_gate(arch1);EndFor;EndFor;Endparts; 实体FULL_ADDER的配置,命名为PARTS,采用结构体structural_view作为实体full-adder的结构体,该结构体中例化的两个元件u1,u2采用实体half-adder,结构体behav来源于WORK库,u3采用实体or-gate,结构体arch1来源于WORK库 VHDL语言的模拟算法 面向事件的模拟算法:同一时刻活跃信号占全部信号的15%,为提高效率,仅对发生事件的信号进行计算,对于不发生事件的信号则不进行计算 几个概念 什么是事件?信号的逻辑值发生变化动态的全局事件表:记录信号事件和时间事件,可更新。
信号事件:信号驱动产生的事件;时间事件:进程由于等待时间条件而挂起的事件激活进程:与电路中某变化的信号相关的进程,相应 的信号称为敏感信号。
进程可以被敏感信号、等待时间、激活条件激活。
开始激活所有进程 读入激励信号记入全局事件表 施加 是 新的输入信号 全局事件表空? 否 无 存在被激活的 进程? 是 执行被激活的进程 产生新的信号事件记入事件表;时间等待事件记入事件表;进程挂起 当前时刻所有 否 激活进程模拟完 ? 是 根据全局事件表更新相应的信号 用户:语言输入,模拟器模拟 增加事件最小时间间隔 综合 概念:从设计的高层次向低层次转换的过程,是一种自动设计的过程一种专家系统 分类: 系统级综合高级综合RTL级综合:行为综合(软件:Synopsys,Ambit)逻辑综合物理综合(逻辑图或电路图到版图,严格说应该 是同级驱动) 高级综合 设计的算法级描述转换为RTL级描述核心:分配(ALLOCATION)和调度 (SCHEDULING) 分配:给定性能、面积/功耗条件下,确定硬件资源:执行单元、存储器、控制器、总线等,产生数据通道 调度:确定这些结构的操作次序 根据控制流图和调度中产生的状态信息,利用传统的RTL/逻辑综合技术综合出控制器部分 目标:找到代价最小的硬件结构,使性能最佳 综合过程: 输入的行为描述编译 综合系统组成:编译器、模拟器、数据流综合子系统、控制 流综合子系统、工艺映射系统 中间数据结构 逻辑图自动生成系统 数据流综合子系统、控制流综合子系统 数据通道和控制部分(RTL级网表)模拟验证 RTL两级工艺映射 工艺相关的结构 逻辑图自动生成 逻辑图模拟验证 工艺映射:已知工艺无关的结构描述、目标工艺及一组设计约束,在满足设计约束条件下,在物理域上实现同一层次的结构描述。
(不丢结构信息,增加工艺数据) 算法级不适用,RTL级(宏单元),逻辑级(标准单元或门阵单元、FPGA、PLD等) 综合中的优化问题(黑箱):资源共享、连接优化、时钟分配等优化目标:面积、速度、功耗、可测试性 逻辑综合 概念:由给定的逻辑功能和性能要求,在一个包含 许多结构、功能、性能已知的逻辑元件的逻辑单元库支持下,确定出由一定逻辑单元组成的逻辑结构 输入:逻辑设计描述;输出:逻辑网表或逻辑图 综合过程:
1.设计描述
2.设计编译
3.逻辑化简和优化:完成逻辑结构的生成与优化,满足 系统逻辑功能的要求。

4.利用给定的逻辑单元库进行工艺映射,对生成的逻辑网络进行元件配置,进而估算速度、面积、功耗,进行逻辑结构的性能优化
5.得到逻辑网表 综合中的优化问题(黑箱):优化目标:面积、速度、功耗、可测试性 可综合的输入描述:VHDL、Verilog、HardwareC 逻辑模拟 逻辑模拟的基本概念:将逻辑设计输入到计算机,用软件方法形成硬件的模型,给定输入波形,利用模型算出各节点和输出端的波形,判断正确否 主要作用:验证逻辑功能和时序的正确性分类:根据所模拟逻辑单元规模的大小 寄存器传输级模拟:总体操作正确性功能块级模拟:加法器、计数器、存储器等门级模拟:基本逻辑单元:门、触发器等开关级模拟:晶体管:后仿真 主要介绍功能块级和门级逻辑模拟 几个概念 什么是逻辑功能?输入和输出之间的逻辑关系,不考虑与时间的关系。
举例: 什么是时序?考虑与时间的关系,输入和输出之间与时间有关系 组合逻辑和时序逻辑组合逻辑:输出只决定于同一时刻各输入状态的组合,与以前状态无关特点:输入与输出间无反馈途径;电路中无记忆单元 时序逻辑电路:输出与输入状态有关,还与系统原先状态有关特点:输入与输出间有反馈途径;电路中有记忆单元 逻辑模拟(续) 设计输入方法:逻辑综合的结果;原理图输入;逻辑描述语言 主要作用: 验证逻辑功能的正确性,真值表(first-step)延迟模拟:时序的正确性,预先检查是否有尖峰、竞争冒 险现象(secondstep) 竞争冒险:从门的输入到输出存在延迟,不同门的延迟不同,不同 通路上的延迟不同,引起电路出现错误的输出 举例: 两个路径在不同时刻到达:竞争;输出的干扰脉冲:冒险 主要环节:逻辑模拟模型、设计输入、模拟算法 逻辑模拟模型 元件的延迟模型和信号模型元件的延迟模型:检查时序关系、反映竞争和冒险 等现象;调用的门单元中已含有不同延迟模型信息 零延迟:检查逻辑关系正确性,组合逻辑和同步时序单位延迟:逻辑关系正确性指定延迟:不同元件或不同的元件类型指定不同的延 迟;指定上升、下降时间;尖峰分析最大-最小延迟:分析竞争惯性延迟:可抑制尖峰 连线延迟:加到门延迟中;门之间加入延迟元件等 ab 1最小延迟=1最大延迟=2 a b12 不同要求的逻辑模拟调用不同的延迟信息 快速模拟:验证逻辑功能 单位延迟指定延迟最大或最小延迟 详细模拟:检查竞争冒险等情况 双延迟模型 逻辑模拟模型(续) 信号模型:逻辑模拟中信号的逻辑值和信号强度 信号值:实际电路,逻辑状态是0和
1 在逻辑模拟中为了反映信号状态的过渡过程,模拟出竞争冒险, 引入新的状态值 三值模拟 0,
1,(不定态:记忆元件等未指定的初始态、不可预测的 振荡态、无关态等) 真值表 检测静态冒险(静态0冒险和1冒险) 与01 不能检测动态冒险
0 000
1 01  0 逻辑模拟模型(续) 四值模拟 0,
1,,Z(高阻态:信号与其源断开后的状态,如单向开关) 真值表 与01
Z 0000
0 10
1
1 0 Z01或
Z 五值模拟、八值模拟等,但逻辑状态过多,模拟速度变慢 逻辑模拟模型(续) 信号强度:处理线连逻辑关系:多个元件输出信号线直接相连,汇集点与信号的关系 信号强度:信号驱动能力,高强度信号占优势。
如果强度相等信号值不同,线连点强度不变,信号值未知。
逻辑描述 逻辑图输入:复杂电路(专门的输入编辑工具)对综合得到的逻辑网表可以直接模拟逻辑描述语言:不同的逻辑模拟器不同 不同的设计层次不同门级逻辑描述:逻辑的详细细节,门、触发器等 逻辑元件及其相互连接 逻辑元件的描述:类型、功能、延迟、负载等连接关系:线路图可以嵌套,反映层次关系 以GFLS系统的描述语言为例, AB1A B1 BA1A1 AB1 AXB XBA1
B NOT:A1=(A) B1=(B) NAND:AB1=(
A,B1) BA1=(
B,A1) X=AXB(AB1,BA1) 逻辑模拟算法 编译方式和表格驱动方式
编译方式 将逻辑电路编译转换成一组指令代码。
元件按功能编成子程序,按相互间连接关系以一定顺序将子程序连成总的可执行程序。
元件的计算顺序编排 输入端为0级,元件的级数等于所有前级元件最大级数加1;不考虑延迟,只能模拟组合逻辑电路和可忽略竞争冒险的同步时序电路 逻辑模拟算法(续) 表格驱动方式 将逻辑电路转换成表格:电路描述表、元件类型表;元件的扇入扇出表、信号线表考虑延迟,可模拟异步时序采用面向事件模拟:与VHDL模拟算法类似,信号 驱动的是元件 对于较大规模的电路: 高速逻辑模拟器:软件硬件化,并行处理,模拟速度提高1000倍 电路模拟 电路设计:根据电路性能确定电路结构和元件参数 没有自动设计软件设计人员根据电路性能要求,初步确定电路结构和元件参数,利用电路模拟软件进行模拟分析,判断修改 电路模拟:根据电路的拓扑结构和元件参数将电路问题 转换成适当的数学方程并求解,根据计算结果检验电路设计的正确性模拟对象:元件 优点:不需实际元件、可作各种模拟甚至破坏性模拟 电路模拟(续) 在集成电路设计中起的作用: 版图设计前的电路设计,保证电路正确(包括电路结构和元件参数) 有单元库支持:单元事先经过电路模拟无单元库支持的全定制设计:由底向上,首先对 单元门电路进行电路设计、电路模拟,依此进行版图设计,直至整个电路后仿真:考虑了寄生参数,由电路模拟预测电路性能 典型软件:SPICE、HSPICE 以SPICE为例 电路模拟的基本功能软件基本结构电路描述 电路模拟的基本功能 可处理的元器件:电阻、电容、电感、互感、独立电 流源、电压源、传输线、四种受控源、四种器件(二极管、双极管、结型场效应管、MOS)等 可完成的分析功能: 直流分析:典型的是求解直流转移特性(.DC),输入加扫描电压或电流,求输出和其他节点(元件连接处)电压或支路电流;还有.TF、.OP、.SENSE 交流分析(.AC):以频率为变量,在不同的频率上求出稳态下输出和其他节点电压或支路电流的幅值和相位。
噪声分析和失真分析 瞬态分析(.TRAN):以时间为变量,输入加随时间变化的信号,计算输出和其节点电压或支路电流的瞬态值。
温度特性分析(.TEMP):不同温度下进行上述分析,求出电路的温度特性 电路模拟软件的基本结构五部分组成:输入处理、元器件模型处理、建立电路方程、方程求解和输出处理 电路模拟软件的基本结构 输入处理:主要完成对输入文件进行编译,词法语法检查、存储输入数据、其他(元件预处理等) 模型处理:元器件的数学模型:用数学公式描述器件的电流电压特性、与物理参数和工艺参数的关系 主要是非线性元件的模型:如MOS、BJT、二极管等 这些模型编入模型库,可调用;也可自行定义后加入模型库电路模拟的精度:模型精度、参数选取 电路模拟软件的基本结构(续) 建立电路方程 根据电路结构、元件参数、分析要求,建立方程依据的基本原理是欧姆定律和基尔霍夫定律(解释)建立的方法很多,以节点法为例 方程求解 数值解法:线性代数方程组解法、非线性方程组解法、常微分方程组解法 线性电路的直流分析:选主元的高斯消去法或LU分解法非线性电路的直流分析:对非线性元件进行线性化处理迭代方法交流分析:线性电路、非线性电路,处理同上瞬态分析:常微分方程组,通过数值积分转换 输出处理:选择输出内容和输出方式(表格和曲线) 电路描述 较大规模电路,一般用电路图输入,相应的编译程序转换为电路描述语言再进行模拟。
电路描述语言:描述电路结构、元件参数、器件模型、电路运行环境、分析类型和输出要求等 电路描述前首先要画好电路图,节点编号(接地节点零号,其他正整数) SPICE的描述语言: 电路拓扑(网表)采用模型(元件属性)仿真内容控制 电路描述举例 CMOSINVERTERDCTRANS.CHARACTERISTICS VCC205VIN10 1VIN 2VCC M13 M13122MOD1L=2UW=18U M2 M23100MOD2L=2UW=10U .MODELMOD1PMOSLEVEL=3VTO=
1 NSUB=2E15UO=166 .MODELMOD2NMOSLEVEL=3VTO=1NSUB=2E15 UO=550 .DCVIN050.1元件语句:.PLOTDCV
(3) .END 元件名与之相连的节点号(
D,G,
S,G)元件参数(模型名,模型语句与元件语句分开) 相比与SPICE,HSPICE特点 快速收敛;具有多种精确的器件模型;采用层次化方法命名节点;可以为多种分析类型输出波形图;可以依据电路性能要求和测量数据进行参数优化,自动产 生模型参数和元器件值; 具有良好的建立单元库的功能;可以进行统计容差分析,分析元件及模型参数变化对电路 性能的影响; 允许Monto-Carlo分析,支持最坏情况(worse-case)设计 PSPICE特点 允许用户改变内建器件模型模拟A/DD/A灵活MC模拟 时序分析 逻辑模拟的基本单元是门或功能块,一定程度上反映竞争、冒险等现象,模拟速度比SPICE快三个量级,但精度不够,各节点电流、电压不知 电路模拟的基本单元是晶体管、电阻、电容等元器件,可以较精确地获得电路中各节点的电压或电流,但对于较大的电路,很多的迭代求解需要很大的存储空间和很长的计算时间 时序分析介于两者之间,可提供详细的波形和时序关系,比SPICE快二个量级,精度低10%,但比带延迟的逻辑模拟要高得多 器件级时序分析: 基本原理:简化了器件模型,采用查表技术,关键电学量与工作条件的关系以表格形式反映 算法上:单步迭代,不求解联立方程,超松弛牛顿迭代法加速收敛 混合模拟:结合三者特点,对影响电路性能的关键部分进行电路模拟,其他部分用逻辑模拟和时序分析 版图设计的CAD工具 版图设计:根据电路功能和性能要求及工艺限制(线宽、 间距等),设计掩膜版图 输入:可以是原理图、网表;可以直接编辑版图输出:版图 版图设计的重要性: 电路功能和性能的物理实现尺寸减小后,连线延迟直接决定芯片速度。
布线 方案、从而布局方案很重要——芯片面积、速度 版图设计的目标:连线全部实现,芯片 面积最小,性能优化(连线总延迟最小) CAD工具分类(按工作方式分):自动设计、半自动设计、人工设计;版图验证与检查 用的大多是启发式算法 版图的自动设计 概念:通过CAD软件,将逻辑描述自动转换成版图描述 成熟的自动版图设计包括基于门阵列、标准单元、PLA的布图系统,BBL布图系统也在发展中 典型的ICCAD软件,如Cadence、Mentor、Compass、Panda等设计系统中都有自动版图设计功能 自动版图设计过程 输入逻辑划分 布图规划 单元库布局 布线 输出设计检验 人机交互 自动版图设计过程(续) 逻辑划分概念:功能划分原则:功能块面积和端子数满足要求,使功能块 数目或总的外连接数最小基本思想:连接度大的元件放在同一功能块中划分算法:简单连接度法、分配法、Lin法等 布局规划 布局规划:根据电路网表、估计的芯片的大体面积和形状、各功能块的大体形状面积、功能块的数目、输入/输出数目等,对设计的电路进行物理划分和预布局。
先进行初始规划(initializefloorplan),产生输入/输出行,单元区行以及布线网格等,然后进行行调整、芯片面积调整、布线网格调整,并进行预布局,初步确定各功能块的形状面积及相对位置、I/O位置以及芯片形状尺寸,而且可以从总体上考虑电源、地线、数据通道分布(datapathplan) 自动布局 布局概念:按电路功能、性能、几何要求,放置各部件目标:芯片面积最小、性能优化过程:初始布局、布局迭代改善 初始布局:单元选择:与已安置单元连接度最大的单元;向前看U步 单元安置:选择与已安置单元距离最短的位置作为选出单元的安置位置 (连线长度计算方法:最小生成树;最小斯坦纳树;最小链;最小矩形半周长) 布局迭代:选择一个单元或单元集,将位置与候选位置交换,对新布局计算判断 判断标准:连线总长度、布线均匀性 自动布线 概念:满足工艺规则、布线层数限制、线宽、线间距限制和各线网可靠绝缘等,根据电路的连接关系进行连线,100%连通,使芯片面积最小 布线质量评价: 布通率100%布线面积最小布线总长度最小通孔数少(解释)布线均匀 布线算法 面向线网的算法: 先定线网的布线顺序,每次布一个线网,达到当前最优或准优 问题:存储量大,难以布线网多、布线密度大的情况线网定序法:短线法、干扰度法典型布线算法:李氏法、线探索法等(解释) 面向布线区的算法: 并行算法,整体规划,在布线区达到总体最优或准优;但对通道形状有一定要求,适应性较差 过程: –总体布线:通道划分和线网分配–线网分配:依据通道容量、布线密度;–详细布线(通道布线):对分配到通道 区底线网确定在通道区的具体位置 自动设计很大程度上受限于近似算法与版图结构可作人工调整:未布的单元、线、布线过密处 可作压缩处理 布局布线算法的发展 时延驱动算法0.8微米工艺:连线延迟与门延迟已经相当对深亚微米电路,布图优化目标由芯片面积最小,调整到连线总延迟最小,性能优化,布图中引入时延模型、时延分析: 多层布线算法 版图的半自动设计:符号式版图设计 用符号进行版图输入,通过自动转换程序转换(压缩功能);可不考虑设计规则 版图的人工设计 用于底层单元设计、单元库单元设计、模拟电路设计等方面进行版图输入编辑,考虑设计规则 版图检查与验证 原因:人工介入、版图引入物理因素包括:DRC、ERC、LVS、后仿真 版图 设计规则检查后仿真 网表与参数提取版图网表 电学规则检查 原理图网表网表一致性检查 版图检查与验证(续) DRC:设计规则检查(最小线宽、最小图形间距、最 小接触孔尺寸、栅和源漏区的最小交叠等) 实现:通过图形计算(线和线间的距离计算)DRC软件 用户:编写DRC文件,给出设计规则 ERC:检查电学规则,检测出没有电路意义的连接错 误,(短路、开路、孤立布线、非法器件等),介于设计规则与行为级分析之间,不涉及电路行为 实现:提取版图网表,ERC软件 网表提取工具:逻辑连接复原 版图检查与验证(续) LVS:网表一致性检查 概念:从版图提取出的电路网表与从原理图得到的网表进行比较,检查两者是否一致。
作用与特点:主要用于保证进行电路功能和性能验证之前避免物理设计错误。
可以检查出ERC无法检查出的设计错误,也可以实现错误定位 实现:网表提取,LVS软件 版图检查与验证(续) 后仿真:考虑版图引入的寄生量的影响,进行后仿 真,保证版图能满足电路功能和性能的要求后仿真对象 参数提取程序提取出实际版图参数和寄生电阻、寄生电容等寄生参数,进一步生成带寄生参数的器件级网表 提取得到寄生参数文件和单元延迟文件结合,通过延迟计算器生成一个延迟文件,把该延迟文件反标(back-annotation)到网表中 通过参数提取直接得到一个与路径延迟相关的延迟文件,进行反标 后仿真(续) 软件支持: 数字电路 对提取出的带寄生参数的器件级网表进行开关级模拟或SPICE模拟实现; 大规模的电路,用时序分析找到关键路径,对关键路径进行SPICE模拟; 由提取得到的延迟文件反标到门级网表,进行相应的仿真(如Verilog门级仿真等)。
模拟电路 SPICE模拟提取出的带寄生量的器件级网表 制版 专用制版设备:光学图形发生器、电子束制版机基本原理: 光学图形发生器:光阑位置和尺寸可变,一般是矩形的,作用在涂胶的铬版上;版图图形分割成矩形,并进行排序,这些数据控制光阑的尺寸和位置的变化 电子束制版机:控制电子束的扫描进行暴光制版分辨率高,适合小尺寸电路制版 CAD软件生成的版图数据需通过一定接口程序转换成制版设备的输入格式,才能用于制版 版图数据交换格式 通用格式:GDSII、CIF、EDIFGDSII:二进制流,占空间少,但可读性差CIF:可读性强,用文本命令表示掩膜分层和图 形,有图样调用功能,可进行层次性描述。
举例: LCPB长宽中心点方向B6025304011; 器件模拟 集成电路的基础是器件,但目前不能从电学性能和工艺水平自动设计器件,只能进行模拟分析 器件模拟概念:给定器件结构和掺杂分布,采用数值 方法直接求解器件的基本方程,得到DC、AC、瞬态特性和某些电学参数 器件模拟作用: 结构、工艺参数对器件性能的影响——性能预测物理机制研究:分析无法或难以测量的器件性能可为SPICE模拟提供模型参数与工艺模拟集成可直接分析工艺条件对器件性能 的影响 器件模拟 软件支持:一维、二维、三维 TMAMEDICI、SILVACO、ISE、CADDETH、PISCES、DAVANCI 以MEDICI为例基本原理 基本方程:泊松方程、电子和空穴连续性方程、热扩散方程、电子和空穴的漂移/扩散方程(能量输运方程);求解基本量:,
N,P,Tn,Tp,
T 偏微分方程,进行离散化,网格划分(影响精度和速度);离散后得到非线性方程组,用Newton法、Gummel法等方法求解 所用模型 器件模拟 基本功能 可处理的器件类型:二极管、BJT、MOS、多层结构、光电器件、可编程器件等 可模拟的材料:多种,不限于硅、二氧化硅可完成的电学分析:DC、AC、瞬态、热载流子、 光电等等可获得的电学特性和电参数 端特性:I-V;电容-V等内部特性:浓度分布、电势电场分布等电参数:阈值电压、亚阈斜率、薄层电阻等 器件模拟 输入文件用户与软件的接口 器件结构(包括电极)材料掺杂选用模型与算法计算内容输出 举例 TITLE NMOFET OUTPUTCHARACTERISTICS COMMENT Specify a rectangularmesh MESH SMOOTH=
1 X.MESHWIDTH=3.0 H1=0.125
Y.MESHN=1L=0.025
Y.MESHN=3L=
0 Y.MESHDEPTH=1.0 H1=0.125
Y.MESHDEPTH=1.0 H1=0.250 COMMENTELIMIN Eliminatesomeunnecessarysubstratenodes COLUMNS
Y.MIN=1.1 COMMENTSPREADSPREADCOMMENTSPREAD Increasesource/drainoxidethicknessusingSPEADLEFTWIDTH=0.625UP=1LO=3THICK=0.1ENC=2RIGHTWIDTH=0.625UP=1LO=3THICK=0.1ENC=2UseSPREADagaintopreventsubstrategriddistortionLEFTWIDTH=100UP=3LO=4Y.LO=0.125 COMMENT Specifyoxideandsiliconregions REGIONSILICON REGIONOXIDEIY.MAX=
3 COMMENTELECTRELECTRELECTRELECTR Electrodedefinition NAME=GateX.MIN=0.625X.MAX=2.375TOP NAME=SubstrateBOTTOM NAME=SourceX.MAX=0.5IY.MAX=
3 NAME=DrainX.MIN=2.5 IY.MAX=
3 COMMENTPROFILEPROFILEPROFILE+PROFILE+INTERFAC SpecifyimpurityprofilesandfixedchargeP-TYPEN.PEAK=3E15UNIFORMP-TYPEN.PEAK=2E16Y.CHAR=.25N-TYPEN.PEAK=2E20Y.JUNC=.34X.MIN=0.0WIDTH=.5XY.RAT=.75N-TYPEN.PEAK=2E20Y.JUNC=.34X.MIN=2.5WIDTH=.5XY.RAT=.75QF=1E10 COMMENTCONTACT SpecifycontactparametersNAME=GateN.POLY COMMENTMODELSCOMMENTSYMBMETHODOLVECOMMENTSYMBMETHODSOLVECOMMENTSYMB COMMENTLOG COMMENTSOLVECOMMENTPLOT.1D+LABEL SpecifyphysicalmodeltouseCONMOBFLDMOBSRFMOB2SymbolicfactorizationandinitialsolutionCARRIERS=0ICCGDAMPED DoaPoissonsolveonlytobiasthegateCARRIERS=0ICCGDAMPEDV(Gate)=3.0UseNewton’smethodandsolveforelectronsNEWTONCARRIERS=1ELECTRON SetuplogfileforIVdataOUT.FILE=DRAIN.O1 RampthedrainvoltageV(Drain)=0.0ELEC=DrainVSTEP=.2NSTEP=15PlotIdsvs.VdsY.AXIS=I(Drain)
X.AXIS=V(Drain)POINTSCOLOR=2TITLE=”Example1D-DrainCharacteristics”LABEL=”Vgs=3.0V”X=2.4Y=0.1E-
4 工艺模拟 实验流片来确定工艺参数,周期长,成本高,工艺模拟可改善这一问题 工艺模拟概念:对工艺过程建立数学模型,在某些已知工艺 参数的情况下,对工艺过程进行数值求解,计算经过该工序后的杂质浓度分布、结构特性变化(厚度和宽度变化)或应力变化(氧化、薄膜淀积、热过程等引起)。
作用 优化工艺流程、工艺条件;预测工艺参数变化对工艺结果的影响缩短加工周期,提高成品率 软件支持:SUPREM;SUPREM-IV:二维 工艺模拟 基本内容 可处理的工艺过程:离子注入、预淀积、氧化、扩散、外延、低温淀积、光刻、腐蚀等 高温过程:杂质分布;氧化、外延还需考虑厚度变化、界面移动 非高温过程:结构变化,(除离子注入) 可处理多层结构,可处理的材料:单晶硅、多晶硅、二氧化硅、氮化硅、氮化氧硅、钛及钛硅化物、钨及钨硅化物、光刻胶、铝等 可掺杂的杂质:硼、磷、砷、锑、镓、铟、铝工艺模型输出:厚度、杂质分布、电参数(薄层电阻、电导率等) 工艺模拟 输入文件 结构说明语句参数语句工序语句算法语句输出语句注释语句 举例 $TMATSUPREM4NMOStransistorsimulation:throughfieldoxidation $Definethegrid MESH GRID.FAC=1.9 METHOD ERR.FAC=2.0 $Readthemaskdefinitionfile MASK IN.FILE=sss.tl1PRINT $Initializethestructure INITIALIZE<100>BORON=5E15 $Initialoxidation DIFFUSIONTIME=30TEMP=1000DRYHCL=
5 $Nitridedepositionandfieldregionmask DEPOSIT NITRIDETHICKNESS=0.07SPACES=
4 DEPOSIT PHOTORESISTPOSITIVETHICKNESS=
1 EXPOSE MASK=Field DEVELOP ETCH NITRIDETRAP ETCH OXIDETRAPUNDERCUT=0.1 ETCH SILICONTRAPTHICKNESS=0.25UNDERCUT=0.1 $Boronfieldimplant IMPLANT BORONDOSE=5E12ENERGY=50TILT=7ROTATION=30 ETCH PHOTORESISTALL $Fieldoxidation METHOD PD.TRANSCOMPRESS DIFFUSIONTIME=20TEMP=800T.FINAL=1000 DIFFUSIONTIME=180TEMP=1000T.FINAL=800 ETCH NITRIDEALL $Unmaskedenhancementimplant IMPLANT BORONDOSE=1E12ENERGY=40TILT=70ROTATION=30 $PLOTtheinitialNMOSstructure SELECT Z=LOG10(BORON)TITLE=“NMOSIsolationRegion” PLOT.2D SCALEGRIDC.GRID=2Y.MAX=2.0 PLOT.2D SCALEY.MAX=2.0 $Colorfilltheregions COLOR SILICONCOLOR=
7 COLOR OXIDECOLOR=
5 $Plotcontoursofboron FOREACH x(15TO20STEP0.5) CONTOURVALUE=XLINE=5COLOR=
2 END $Replotboundaries PLOT.2D AX CL ICCAT技术 测试目的:加工过程中电路筛选,用户验收产生错误的原因: 芯片加工过程中的物理故障(信号线开路、短路)使用条件或环境引起的故障(器件老化、环境温 度、湿度变化或光、射线等的干扰) 故障处理 冗余技术故障检测和定位:通过加测试向量,观察输出结 果,判断 测试问题:测试向量生成、故障诊断(检测和定位)、可测性设计 在建立故障模型的基础上,生成测试向量利用故障模拟器,计算测试向量的故障覆盖率,根据获得的故障辞典进行故障定位 对于一些难测故障进行可测性设计,使测试生成和故障诊断比较容易实现, 故障模型 固定型:元件的某个输入、输出端被固定在逻辑0(s-a-0)或逻辑1(s-a-1),不改变拓扑 桥接故障:短路,可能改变逻辑关系开路故障 如果固定型故障的覆盖率达到90%以上,测试向量集可用于检测其他类型的故障。
典型的测试向量自动生成系统几乎都是采用固定型故障模型。
测试向量生成 概念:考虑在保证向量产生时间的情况下,产生最少或较少的一组输入信号用于测试,同时尽量达到最大的故障覆盖率。
故障覆盖率:测试向量所检测出的故障与按照故障模型设立的电路故障总数之比。
有效性衡量:测试向量集的大小和它能覆盖故障的百分比几种方法: 软件自动生成人工生成从激励码转换生成根据输入端数目从输入序列中随机选取 测试向量生成方法 针对组合逻辑电路,较典型的测试向量自动生成算法:路径敏化算法 路径敏化算法概念:从故障点到电路输出选择一条 或多条适当路径,并使该路径敏化。
敏化:将故障效应传播到输出端 多路径敏化算法:D-算法基本思想:先定义节点(或电路)的输出,然后再确定产 生这种输出所需要的输入 故障模拟 概念:针对测试输入向量集,对被测电路在不同故障状 态下进行逻辑模拟,得到所能检测出的故障集,从而获得
故障覆盖率 分类 并行故障模拟:故障注入(把某信号线设为故障状态), 针对测试输入进行逻辑模拟,得到输出响应,与正常输出响应比较,如果不同则认为该故障可被该测试向量测出 演绎故障模拟:某一测试向量下,只对正常电路进行模 拟,利用各元件的故障表将故障向电路的原始输出端传播,演绎出该测试向量对应的可测故障。
元件的故障表:对应于元件的测试输入向量在元件的输出端所能检测出的故障集 并发式故障模拟 故障定位 通过故障模拟获得故障辞典(测试输入向量集所能测出的故障集以及各测试输入相应各故障的输出响应向量) 用aij表示第i个测试向量对第j个故障测试在某一输出端的响应值,aij=1表示第j个故障可被第i个测试向量测出,aij=0则表示不能被测出。
对于多输出端电路(假设m个输出),aij变为m位向量 加载测试向量,得到输出响应向量,该向量与正常电路的输出响应向量进行异或,得到的值与故障辞典中的值(aij)相比较,可完成故障定位 CAD深入到设计各阶段,而且相互联系 行为描述是综合的输入,综合的输出可作为逻辑模拟的输入、版图生成的输入,版图是版图验证的输入 发展方向 提高CAD软件的自动化程度:高级综合、综合与布图结合等 深亚微米电路设计发展:时延驱动、多层布线、布图压缩等 个人通信、便携式计算机等:功耗分析、低功耗设计技术、时延功耗双重驱动布图算法等 芯片系统、数/模混合电路:模拟电路的CAD软件 集成电路CAD 描述综合模拟 逻辑、电路、器件、工艺 验证测试

标签: #破解版 #曲面 #网页设计 #备份 #皮肤 #carbon #苹果 #好用