微电子学Chap06_第1页
微电子学Chap06_第2页
微电子学Chap06_第3页
微电子学Chap06_第4页
微电子学Chap06_第5页
已阅读5页,还剩101页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、集成电路设计的集成电路设计的CAD系统系统北京大学北京大学ICCAD系统概述系统概述ICCAD系统的发展系统的发展第一代:第一代:60年代末:版图编辑和检查年代末:版图编辑和检查第二代:第二代:80年代初:原理图输入、逻辑模拟向下年代初:原理图输入、逻辑模拟向下第三代:从第三代:从RTL级输入向下,包括行为仿真、行级输入向下,包括行为仿真、行为综合、逻辑综合等为综合、逻辑综合等流行的流行的CAD系统:系统:Cadence, Mentor Graphics, Viewlogic, Compass,Panda等等 ICCAD系统的理想作用:实现完全的自动化设计,系统的理想作用:实现完全的自动化设计

2、,设计出各种各样的电路设计出各种各样的电路 ICCAD系统的实际作用系统的实际作用设计信息输入:设计信息输入:语言输入编辑工具语言输入编辑工具高层次描述的图形输入工具:高层次描述的图形输入工具:VHDL、Verilog功能图输入、逻辑图功能图输入、逻辑图/电路图输入编辑、版图输入编辑电路图输入编辑、版图输入编辑 设计实现:综合器设计实现:综合器设计验证:验证系统设计验证:验证系统/电路符合功能电路符合功能/性能要求及设计规则要性能要求及设计规则要求求 模拟器进行模拟(仿真)分析模拟器进行模拟(仿真)分析 设计规则的检查设计规则的检查 什么是模拟?什么是模拟? 对于设计输入抽象出模型,施加外部激

3、励,观察输入,进行对于设计输入抽象出模型,施加外部激励,观察输入,进行判断判断整个设计过程就是把高层次的抽象描述逐级向下整个设计过程就是把高层次的抽象描述逐级向下进行综合、验证、实现,直到物理级的低层次描进行综合、验证、实现,直到物理级的低层次描述,即掩膜版图。述,即掩膜版图。 各设计阶段相互联系各设计阶段相互联系,例如,寄存器传输级描述,例如,寄存器传输级描述是逻辑综合的输入,逻辑综合的输出又可以是逻是逻辑综合的输入,逻辑综合的输出又可以是逻辑模拟和自动版图设计的输入,版图设计的结果辑模拟和自动版图设计的输入,版图设计的结果则是版图验证的输入。则是版图验证的输入。 ICCAD系统介入了包括系

4、统功能设计、逻辑和电系统介入了包括系统功能设计、逻辑和电路设计以及版图设计等在内的集成电路设计的各路设计以及版图设计等在内的集成电路设计的各个环节个环节主要内容主要内容系统描述及模拟系统描述及模拟 综合综合 逻辑模拟逻辑模拟 电路模拟电路模拟 时序分析时序分析 版图设计的版图设计的CAD工具工具 计算机辅助测试技术计算机辅助测试技术 器件模拟和工艺模拟器件模拟和工艺模拟系统描述与模拟:系统描述与模拟:VHDL语言及模拟语言及模拟 VHDL语言出现背景语言出现背景 一种硬件描述语言一种硬件描述语言(hardware description language) 广义地说,描述电子实体的语言:逻辑图

5、,电路图广义地说,描述电子实体的语言:逻辑图,电路图 大规模电路大规模电路的出现的出现: 逻辑图、布尔方程不太适用逻辑图、布尔方程不太适用 需要在更高层次上描述系统需要在更高层次上描述系统 出现多种出现多种HDL语言,为便于信息交换和维护,出现工业标准语言,为便于信息交换和维护,出现工业标准 通常指高层设计阶段描述硬件通常指高层设计阶段描述硬件HDL语言的特点语言的特点 抽象地进行行为描述抽象地进行行为描述 结构化语言:可以描述电子实体的结构结构化语言:可以描述电子实体的结构 多层次混合描述多层次混合描述 既可被模拟,又可被综合既可被模拟,又可被综合能提供能提供VHDL模拟器的公司:模拟器的公

6、司:Cadence、Mentor Graphics、Viewlogic、Synopsys等大型等大型EDA公司和公司和CLSI、Model-Technology、Vantage等专门公司等专门公司 VerilogVHDL语言语言 基本概念:描述硬件电路,可以抽象地表示电路基本概念:描述硬件电路,可以抽象地表示电路的行为和结构(完成什么功能,怎样组成)的行为和结构(完成什么功能,怎样组成)作用:作用:对对IC设计,支持从系统级到门和器件级的电路描设计,支持从系统级到门和器件级的电路描述,并具有在不同设计层次上的模拟验证机制述,并具有在不同设计层次上的模拟验证机制可作为综合软件的输入语言,支持电路

7、描述由高可作为综合软件的输入语言,支持电路描述由高层向低层的转换层向低层的转换 建模机制、模拟算法、模拟环境建模机制、模拟算法、模拟环境建模机制建模机制 基本结构基本结构 行为描述行为描述 结构描述结构描述 VHDL语言的建模机制语言的建模机制 基本结构基本结构 基本结构:基本结构:一个硬件单元在一个硬件单元在VHDL中看作一个设计实体中看作一个设计实体 实体外观实体外观实体说明实体说明:实体命名,实体与外部环境的接口描实体命名,实体与外部环境的接口描述,述,未涉及其内部行为及结构未涉及其内部行为及结构 实体功能实体功能 在在结构体结构体中实现中实现 结构体:实体的输入结构体:实体的输入- -

8、输出关系,实体的结构和行为描述输出关系,实体的结构和行为描述对应一个实体说明可以有多个结构体,不同的实现方案对应一个实体说明可以有多个结构体,不同的实现方案ENTITY count IS -设计实体count GENERIC (tpd : Time:=10ns); PORT(clock : IN Bit; q1,q0: OUT Bit); END ENTITY count; ARCHITECTURE arch of count IS - count实体的结构体 BEGIN count_up : PROCESS(clock) -进程体count_up VARIABLE count_value:

9、Natural : =0; BEGIN IF clock=1 THEN Count_value :=(count_value+1) MOD4; q1 =bitVal(count_value/2) AFTER tpd; q0 =bitVal(count_value MOD 2) AFTER tpd; END IF; END PROCESS count_up ; END ARCHITECTURE arch; 功能描述:功能描述: 行为描述行为描述数据流描述数据流描述结构描述结构描述混合描述混合描述Architecture behavioral of half _adder is 行为描述:描述外部

10、行为行为描述:描述外部行为begin process SUM =A+B; CO = A and B; wait on A,B; end process;end behavioral;Architecture behavioral of half _adder is 数据流描述,未涉及具体结构数据流描述,未涉及具体结构begin SUM =A+B; CO = A and B;end behavioral;Architecture behavioral of half _adder is component XOR 元件的外观说明(表示符号,与实体不同)元件的外观说明(表示符号,与实体不同) po

11、rt(I1: in std_logic I2: in std_logic O1: out std_logic ); end component; component AND2 port(I1: in std_logic I2: in std_logic O1: out_ std_logic ); end component; beginU1: XOR port map(A,B,SUM); 元件引用,生成例元元件引用,生成例元 (标号:元件名标号:元件名 端口映射端口映射)U2: AND2 port map(A,B,CO);end behavioral;VHDL语言的建模机制语言的建模机制行为描

12、述行为描述电子实体中的电子实体中的 行为:行为:反映信号的变化、组合和传播反映信号的变化、组合和传播 行为的特点是信号的延迟和并行性行为的特点是信号的延迟和并行性 VHDL中描述行为的基本单位是中描述行为的基本单位是进程,由进程语进程,由进程语句描述。句描述。 ARCHITECTURE arch of count IS - count实体的结构体 BEGIN count_up : PROCESS(clock) -进程体count_up VARIABLE count_value: Natural : =0; BEGIN IF clock=1 THEN Count_value :=(count_v

13、alue+1) MOD4; q1 =bitVal(count_value/2) AFTER tpd; q0 =bitVal(count_value MOD 2) AFTER tpd; END IF; END PROCESS count_up ; END ARCHITECTURE arch; 进程之间是进程之间是并行并行的,进程内部是顺序的,进程内部是顺序 执行的。进程执行的。进程语句本身由一系列的顺序语句组成,顺序语句发生在语句本身由一系列的顺序语句组成,顺序语句发生在该进程被激活的同一时刻该进程被激活的同一时刻信号:各进程之间的通信,数据通路。信号的状信号:各进程之间的通信,数据通路。信号的

14、状态可能影响与信号相关的进程的状态态可能影响与信号相关的进程的状态信号赋值:信号赋值:模拟周期:在时刻模拟周期:在时刻t,从从 一些信号更新、若干进程一些信号更新、若干进程被激活到进程被挂起被激活到进程被挂起信号在一个模拟周期完成求值,延迟信号在一个模拟周期完成求值,延迟td后更新值,后更新值, td是信号延迟,也称是信号延迟,也称DELTA延迟,在同一模拟时延迟,在同一模拟时 刻,发生刻,发生t, t+td ,t+2td,.多个模拟周期多个模拟周期 进程并行:进程并行:每个进程仅在满足一定条件的某个每个进程仅在满足一定条件的某个时刻被激活,同一时刻可以有多个进程被激活时刻被激活,同一时刻可以

15、有多个进程被激活 对于串行机,模拟时钟在每个时刻停下,直到对于串行机,模拟时钟在每个时刻停下,直到每个时刻被激活进程全被处理完每个时刻被激活进程全被处理完延迟描述:反映时序,建立精确的电路硬件模型延迟描述:反映时序,建立精确的电路硬件模型 什么是延迟?什么是延迟? 传输延迟传输延迟 惯性延迟:惯性延迟:输入信号在指定延迟时间内保持不变,输入信号在指定延迟时间内保持不变,元件的输出端才有响应。元件的输出端才有响应。进程为行为的基本单元进程为行为的基本单元信号作为系统进程之间的数据通路信号作为系统进程之间的数据通路各进程并行执行各进程并行执行VHDL语言的建模机制语言的建模机制结构描述结构描述结构

16、描述:若干部件用信号线互连形成一个实体结构描述:若干部件用信号线互连形成一个实体 部件:对某元件的调用(例元)部件:对某元件的调用(例元) 一个结构体由若干例元互连而成一个结构体由若干例元互连而成元件:某个实体的某种结构,只有外观说明(元元件:某个实体的某种结构,只有外观说明(元件说明语句)件说明语句) 一个元件说明,代表一种类型的元件,是一个符号一个元件说明,代表一种类型的元件,是一个符号 元件调用:元件例化语句元件调用:元件例化语句: 结构描述中的信号:连接例元,值传递结构描述中的信号:连接例元,值传递 例元的输出值变化会影响以此信号为输入的其他例元例元的输出值变化会影响以此信号为输入的其

17、他例元 元件例化语句可以并行元件例化语句可以并行Architecture behavioral of half _adder is component XOR 元件的外观说明(表示符号,与实体不同)元件的外观说明(表示符号,与实体不同) port(I1: in std_logic I2: in std_logic O1: out std_logic ); end component; component AND2 port(I1: in std_logic I2: in std_logic O1: out_ std_logic ); end component; beginU1: XOR po

18、rt map(A,B,SUM); 元件引用,生成例元元件引用,生成例元 (标号:元件名标号:元件名 端口映射端口映射)U2: AND2 port map(A,B,CO);end behavioral;元件配置元件配置 元件例化语句生成例元引用的是元件,不是实元件例化语句生成例元引用的是元件,不是实体,实体结构中的例元应该同实在的实体设计体,实体结构中的例元应该同实在的实体设计相对应,进行元件配置,指出使用的实体和结相对应,进行元件配置,指出使用的实体和结构体构体 FOR : USE ENTITY . (结构名)(结构名) 标号例元所引用的元件对应于某指定库的某实标号例元所引用的元件对应于某指定

19、库的某实体和某结构体体和某结构体 Architecture structural_view OF full_adder IS Component half_adderPORT (in1,in2 : IN Std_logic; sum, carry : OUT Std_logic); End Component;Component or_gate PORT (in1,in2 : IN Std_logic; sum, carry : OUT Std_logic); End Component; Signal a,b,c : Std_logic;说明连接元件所用的内部信号说明连接元件所用的内部信号B

20、egin u1: half_adder PORT MAP (x,y,b,a); u2: half_adder PORT MAP (c_in,b,sum,c); u3: or_gate PORT MAP (c, a, c_out);End structural_view; Configuration parts of full_adder IS For structural_view For u1,u2 : half_adderUSE ENTITY WORK.half_adder(behav); End For; For u3 : or_gateUSE ENTITY WORK.or_gate(a

21、rch1); End For;End For;End parts; 实体实体FULL_ADDER的配置,命名为的配置,命名为PARTS,采用结构体采用结构体 structural_view作为实体作为实体full-adder的结构体,该结构体中例化的两个的结构体,该结构体中例化的两个元件元件u1,u2采用实体采用实体half-adder,结构体结构体behav来源于来源于WORK库,库,u3采用实体采用实体or-gate,结构体结构体arch1来源于来源于WORK库库 VHDL语言的模拟算法语言的模拟算法 面向事件的模拟算法:同一时刻活跃信号占全部面向事件的模拟算法:同一时刻活跃信号占全部信号

22、的信号的15%,为提高效率,仅对发生事件的信号,为提高效率,仅对发生事件的信号进行计算,对于不发生事件的信号则不进行计算进行计算,对于不发生事件的信号则不进行计算 几个概念几个概念什么是事件?信号的逻辑值发生变化什么是事件?信号的逻辑值发生变化动态的全局事件表:动态的全局事件表:记录信号事件和时间事件,可更新。记录信号事件和时间事件,可更新。 信号事件:信号驱动产生的事件;信号事件:信号驱动产生的事件; 时间事件:进程由于等待时间条件而挂起的事件时间事件:进程由于等待时间条件而挂起的事件激活进程:与电路中某变化的信号相关的进程,相应激活进程:与电路中某变化的信号相关的进程,相应的信号称为敏感信

23、号。的信号称为敏感信号。进程可以被敏感信号、等待时间、激活条件激活。进程可以被敏感信号、等待时间、激活条件激活。开始开始激活所有进程激活所有进程读入激励信号读入激励信号记入全局事件表记入全局事件表产生新的信号事件记入事件表;产生新的信号事件记入事件表;时间等待事件记入事件表;时间等待事件记入事件表;进程挂起进程挂起当前时刻所有当前时刻所有激活进程模拟完激活进程模拟完?增加事件增加事件最小时间间隔最小时间间隔否否施加施加新的输入信号新的输入信号根据全局事件表根据全局事件表更新相应的信号更新相应的信号执行被激活的进程执行被激活的进程否否存在被激活的存在被激活的进程?进程?是是无无全局全局 事件表空

24、?事件表空?是是是是用户:语言输入,用户:语言输入,模拟器模拟模拟器模拟VHDL模拟环境的特点模拟环境的特点属性属性 帮助获取某些特定的信息帮助获取某些特定的信息断言、报告语句断言、报告语句决断信号和决断函数决断信号和决断函数对象和数据类型对象和数据类型设计库设计库“测试台测试台”技术技术 帮助获取某些特定的信息帮助获取某些特定的信息综合综合 概念:从设计的高层次向低层次转换的过程,是概念:从设计的高层次向低层次转换的过程,是一种自动设计的过程一种自动设计的过程 一种专家系统一种专家系统 分类:分类:系统级综合系统级综合高级综合高级综合RTL级综合:行为综合(软件:级综合:行为综合(软件:Sy

25、nopsys,Ambit)逻辑综合逻辑综合物理综合(逻辑图或电路图到版图,严格说应该物理综合(逻辑图或电路图到版图,严格说应该是同级驱动)是同级驱动)高级综合高级综合 设计的算法级描述转换为设计的算法级描述转换为RTL级描述级描述 核心:分配(核心:分配(ALLOCATION)和调度和调度(SCHEDULING) 分配:给定性能、面积分配:给定性能、面积/功耗条件下,确定硬件资功耗条件下,确定硬件资源:执行单元、存储器、控制器、总线等,产生源:执行单元、存储器、控制器、总线等,产生数据通道数据通道调度:确定这些结构的操作次序调度:确定这些结构的操作次序根据控制流图和调度中产生的状态信息,利用传

26、根据控制流图和调度中产生的状态信息,利用传统的统的RTL/逻辑综合技术综合出控制器部分逻辑综合技术综合出控制器部分目标:找到代价最小的硬件结构,使性能最佳目标:找到代价最小的硬件结构,使性能最佳 综合过程:综合过程: 输入的行为描述编译输入的行为描述编译 中间数据结构中间数据结构 数据流综合子系统、控制流综合子系统数据流综合子系统、控制流综合子系统 数据通道和控制部分(数据通道和控制部分(RTL级网表)级网表) 模拟验证模拟验证 RTL两级工艺映射两级工艺映射 工艺相关的结构工艺相关的结构 逻辑图自动生成逻辑图自动生成 逻辑图逻辑图 模拟验证模拟验证综合系统组成:编译器、模拟综合系统组成:编译

27、器、模拟器、数据流综合子系统、控制器、数据流综合子系统、控制流综合子系统、工艺映射系统流综合子系统、工艺映射系统逻辑图自动生成系统逻辑图自动生成系统 工艺映射:已知工艺无关的结构描述、目标工艺工艺映射:已知工艺无关的结构描述、目标工艺及一组设计约束,在满足设计约束条件下,在物及一组设计约束,在满足设计约束条件下,在物理域上实现同一层次的结构描述。(不丢结构信理域上实现同一层次的结构描述。(不丢结构信息,增加工艺数据)息,增加工艺数据) 算法级不适用,算法级不适用,RTL级(宏单元),逻辑级(标级(宏单元),逻辑级(标准单元或门阵单元、准单元或门阵单元、FPGA、PLD等)适用等)适用综合中的优

28、化问题(黑箱):资源共享、连接优综合中的优化问题(黑箱):资源共享、连接优化、时钟分配等化、时钟分配等 优化目标:面积、速度、功耗、可测试性优化目标:面积、速度、功耗、可测试性逻辑综合逻辑综合 概念:概念:由给定的逻辑功能和性能要求,在一个包含由给定的逻辑功能和性能要求,在一个包含许多结构、功能、性能已知的逻辑元件的逻辑单元库许多结构、功能、性能已知的逻辑元件的逻辑单元库支持下,确定出由一定逻辑单元组成的逻辑结构支持下,确定出由一定逻辑单元组成的逻辑结构 输入:逻辑设计描述;输出:逻辑网表或逻辑图输入:逻辑设计描述;输出:逻辑网表或逻辑图 综合过程:综合过程: 1. 设计描述设计描述 2. 设

29、计编译设计编译 3. 逻辑化简和优化:完成逻辑化简和优化:完成逻辑结构的生成与优化逻辑结构的生成与优化,满足,满足系统逻辑功能的要求。系统逻辑功能的要求。 4. 利用给定的逻辑单元库进行工艺映射,对生成的逻辑利用给定的逻辑单元库进行工艺映射,对生成的逻辑网络进行元件配置,进而估算速度、面积、功耗,进行网络进行元件配置,进而估算速度、面积、功耗,进行逻辑结构的逻辑结构的性能优化性能优化 5. 得到逻辑网表得到逻辑网表综合中的优化问题(黑箱):综合中的优化问题(黑箱): 优化目标:面积、速度、功耗、可测试性优化目标:面积、速度、功耗、可测试性 可综合的输入描述:可综合的输入描述:VHDL、Veri

30、log、HardwareC逻辑模拟逻辑模拟 逻辑模拟的基本概念:将逻辑设计输入到计算机,逻辑模拟的基本概念:将逻辑设计输入到计算机,用软件方法形成硬件的模型,给定输入波形,利用用软件方法形成硬件的模型,给定输入波形,利用模型算出各节点和输出端的波形,判断正确否模型算出各节点和输出端的波形,判断正确否 主要作用:验证逻辑功能和时序的正确性主要作用:验证逻辑功能和时序的正确性分类:根据所模拟逻辑单元规模的大小分类:根据所模拟逻辑单元规模的大小 寄存器传输级模拟:总体操作正确性寄存器传输级模拟:总体操作正确性 功能块级模拟:加法器、计数器、存储器等功能块级模拟:加法器、计数器、存储器等 门级模拟:基

31、本逻辑单元:门、触发器等门级模拟:基本逻辑单元:门、触发器等 开关级模拟:晶体管:后仿真开关级模拟:晶体管:后仿真 主要介绍功能块级和门级逻辑模拟主要介绍功能块级和门级逻辑模拟 几个概念几个概念什么是逻辑功能?输入和输出之间的逻辑关系,不考虑与时间什么是逻辑功能?输入和输出之间的逻辑关系,不考虑与时间的关系。的关系。什么是时序?考虑与时间的关系,输入和输出之什么是时序?考虑与时间的关系,输入和输出之 间与时间有关间与时间有关系系组合逻辑和时序逻辑组合逻辑和时序逻辑 组合逻辑:输出只决定于同一时刻各输入状态的组合,与以前组合逻辑:输出只决定于同一时刻各输入状态的组合,与以前状态无关状态无关 特点

32、:输入与输出间无反馈途径;电路中无记忆单元特点:输入与输出间无反馈途径;电路中无记忆单元 时序逻辑电路:输出与输入状态有关,还与系统原先状态有关时序逻辑电路:输出与输入状态有关,还与系统原先状态有关 特点:输入与输出间有反馈途径;电路中有记忆单元特点:输入与输出间有反馈途径;电路中有记忆单元逻辑模拟(续)逻辑模拟(续) 设计输入方法:逻辑综合的结果;原理图输入;逻辑描设计输入方法:逻辑综合的结果;原理图输入;逻辑描述语言述语言 主要作用:主要作用:验证逻辑功能的正确性,真值表(验证逻辑功能的正确性,真值表(first-step)延迟模拟:时序的正确性,预先检查是否有尖峰、竞争冒险延迟模拟:时序

33、的正确性,预先检查是否有尖峰、竞争冒险现象现象(second step) 竞争冒险:竞争冒险:从门的输入到输出存在延迟,不同门的延迟不同,不同从门的输入到输出存在延迟,不同门的延迟不同,不同通路上的延迟不同,引起电路出现错误的输出通路上的延迟不同,引起电路出现错误的输出 举例:举例: 两个路径在不同时刻到达:竞争;输出的干扰脉冲:冒险两个路径在不同时刻到达:竞争;输出的干扰脉冲:冒险 主要环节:逻辑模拟模型、设计输入、模拟算法主要环节:逻辑模拟模型、设计输入、模拟算法逻辑模拟模型逻辑模拟模型 元件的延迟模型和信号模型元件的延迟模型和信号模型 元件的延迟模型:检查时序关系、反映竞争和冒险元件的延

34、迟模型:检查时序关系、反映竞争和冒险等现象;调用的门单元中已含有不同延迟模型信息等现象;调用的门单元中已含有不同延迟模型信息 零延迟:检查逻辑关系正确性,组合逻辑和同步时序零延迟:检查逻辑关系正确性,组合逻辑和同步时序 单位延迟:逻辑关系正确性单位延迟:逻辑关系正确性 指定延迟:不同元件或不同的元件类型指定不同的延指定延迟:不同元件或不同的元件类型指定不同的延迟;指定上升、下降时间;尖峰分析迟;指定上升、下降时间;尖峰分析 最大最大-最小延迟:分析竞争最小延迟:分析竞争 惯性延迟:可抑制尖峰惯性延迟:可抑制尖峰 连线延迟:加到门延迟中;门之间加入延迟元件等连线延迟:加到门延迟中;门之间加入延迟

35、元件等ab1ab12最小延迟=1 最大延迟=2 不同要求的逻辑模拟调用不同的延迟信息不同要求的逻辑模拟调用不同的延迟信息 快速模拟:验证逻辑功能快速模拟:验证逻辑功能 单位延迟单位延迟 指定延迟指定延迟 最大或最小延迟最大或最小延迟 详细模拟:检查竞争冒险等情况详细模拟:检查竞争冒险等情况 双延迟模型双延迟模型逻辑模拟模型(续)逻辑模拟模型(续) 信号模型:逻辑模拟中信号的逻辑值和信号强度信号模型:逻辑模拟中信号的逻辑值和信号强度 信号值信号值:实际电路,逻辑状态是实际电路,逻辑状态是0和和1 在逻辑模拟中为了反映信号状态的过渡过程,模拟出竞争冒险,在逻辑模拟中为了反映信号状态的过渡过程,模拟

36、出竞争冒险,引入新的状态值引入新的状态值三值模拟三值模拟0,1, (不定态:记忆元件等未指定的初始态、不可预测的不定态:记忆元件等未指定的初始态、不可预测的振荡态、无关态等)振荡态、无关态等)真值表真值表 检测静态冒险检测静态冒险(静态(静态0冒险和冒险和1冒险)冒险) 不能检测动态冒险不能检测动态冒险 与 0 1 0 0 0 0 1 0 1 0 逻辑模拟模型(续)逻辑模拟模型(续)四值模拟四值模拟0,1, ,Z(高阻态:信号与其源断开后的状态,如单向开高阻态:信号与其源断开后的状态,如单向开关)关)真值表真值表五值模拟、八值模拟等,但逻辑状态过多,模拟速度变慢五值模拟、八值模拟等,但逻辑状态

37、过多,模拟速度变慢与 0 1 Z 0 0 0 0 0 1 0 1 1 0 Z 0 1 或Z 逻辑模拟模型(续)逻辑模拟模型(续) 信号强度:处理线连逻辑关系:多个元件输出信信号强度:处理线连逻辑关系:多个元件输出信号线直接相连,汇集点与信号的关系号线直接相连,汇集点与信号的关系 信号强度:信号驱动能力,高强度信号占优势。信号强度:信号驱动能力,高强度信号占优势。 如果强度相等信号值不同,线连点强度不变,信如果强度相等信号值不同,线连点强度不变,信号值未知。号值未知。逻辑描述逻辑描述逻辑图输入:复杂电路(专门的输入编辑工具)逻辑图输入:复杂电路(专门的输入编辑工具)对综合得到的逻辑网表可以直接模

38、拟对综合得到的逻辑网表可以直接模拟逻辑描述语言:不同的逻辑模拟器不同逻辑描述语言:不同的逻辑模拟器不同 不同的设计层次不同不同的设计层次不同门级逻辑描述:逻辑的详细细节,门、触发器等门级逻辑描述:逻辑的详细细节,门、触发器等逻辑元件及其相互连接逻辑元件及其相互连接逻辑元件的描述:类型、功能、延迟、负载等逻辑元件的描述:类型、功能、延迟、负载等连接关系:线路图连接关系:线路图 可以嵌套,反映层次关系可以嵌套,反映层次关系逻辑模拟算法逻辑模拟算法编译方式和表格驱动方式编译方式和表格驱动方式编译方式编译方式将逻辑电路编译转换成一组指令代码。元件按功能将逻辑电路编译转换成一组指令代码。元件按功能编成子

39、程序,按相互间连接关系以一定顺序将子程编成子程序,按相互间连接关系以一定顺序将子程序连成总的可执行程序。序连成总的可执行程序。元件的计算顺序编排元件的计算顺序编排 输入端为输入端为0级,元件的级数等于所有前级元件最大级,元件的级数等于所有前级元件最大级数加级数加1;不考虑延迟,只能模拟组合逻辑电路和可忽略竞不考虑延迟,只能模拟组合逻辑电路和可忽略竞争冒险的同步时序电路争冒险的同步时序电路只能组合逻辑电路和可以忽略竞争冒险的同步时只能组合逻辑电路和可以忽略竞争冒险的同步时序电路序电路逻辑模拟算法(续)逻辑模拟算法(续)表格驱动方式表格驱动方式将逻辑电路转换成表格:电路描述表、元件类型表;将逻辑电

40、路转换成表格:电路描述表、元件类型表;元件的扇入扇出表、信号线表等,也需要按照功元件的扇入扇出表、信号线表等,也需要按照功能编写一个子程序能编写一个子程序可考虑延迟,可模拟异步时序可考虑延迟,可模拟异步时序采用面向事件模拟:与采用面向事件模拟:与VHDL模拟算法类似,信模拟算法类似,信号驱动的是元件号驱动的是元件 对于较大规模的电路:对于较大规模的电路: 高速逻辑模拟器:软件硬件化,并行处理,模拟速度提高高速逻辑模拟器:软件硬件化,并行处理,模拟速度提高 1000倍倍电路模拟电路模拟电路设计:根据电路性能确定电路结构和元件参数,电路设计:根据电路性能确定电路结构和元件参数, 没有自动设计软件没

41、有自动设计软件 设计人员根据电路性能要求,初步确定电路结构和元件参数,设计人员根据电路性能要求,初步确定电路结构和元件参数,利用电路模拟软件进行模拟分析,判断修改利用电路模拟软件进行模拟分析,判断修改电路模拟:电路模拟:根据电路的拓扑结构和元件参数将电路问题转根据电路的拓扑结构和元件参数将电路问题转换成适当的数学方程并求解,根据计算结果检验电路设计换成适当的数学方程并求解,根据计算结果检验电路设计的正确性的正确性 模拟对象:元件模拟对象:元件 优点:优点:不需实际元件、可作各种模拟甚至破坏性模拟不需实际元件、可作各种模拟甚至破坏性模拟电路模拟(续)电路模拟(续)在集成电路设计中起的作用:在集成

42、电路设计中起的作用:版图设计前的电路设计,保证电路正确版图设计前的电路设计,保证电路正确(包括电路包括电路结构和元件参数结构和元件参数)有单元库支持:单元事先经过电路模拟有单元库支持:单元事先经过电路模拟无单元库支持的全定制设计:由底向上,首先对无单元库支持的全定制设计:由底向上,首先对单元门电路进行电路设计、电路模拟,依此进行单元门电路进行电路设计、电路模拟,依此进行版图设计,直至整个电路版图设计,直至整个电路后仿真:考虑了寄生参数,由电路模拟预测电路后仿真:考虑了寄生参数,由电路模拟预测电路性能性能典型软件:典型软件:SPICE、HSPICE以以SPICE为例为例 电路模拟的基本功能电路模

43、拟的基本功能 软件基本结构软件基本结构 电路描述电路描述电路模拟的基本功能电路模拟的基本功能 可处理的元器件:可处理的元器件:电阻、电容、电感、互感、独立电流源、电压电阻、电容、电感、互感、独立电流源、电压源、传输线、四种受控源、四种器件(二极管、双极管、结型场效应源、传输线、四种受控源、四种器件(二极管、双极管、结型场效应管、管、MOS)等等 可完成的分析功能:可完成的分析功能:直流分析:典型的是求解直流转移特性直流分析:典型的是求解直流转移特性(.DC),输入加扫描输入加扫描电压或电流,求输出和其他节点(元件连接处)电压或支路电压或电流,求输出和其他节点(元件连接处)电压或支路电流;还有电

44、流;还有 .TF、.OP、.SENSE交流分析交流分析(.AC):以频率为变量,在不同的频率上求出稳态:以频率为变量,在不同的频率上求出稳态下输出和其他节点电压或支路电流的幅值和相位。噪声分析下输出和其他节点电压或支路电流的幅值和相位。噪声分析和失真分析和失真分析瞬态分析瞬态分析(.TRAN):以时间为变量,输入加随时间:以时间为变量,输入加随时间变化的信号,计算输出和其节点电压或支路电流变化的信号,计算输出和其节点电压或支路电流的瞬态值。的瞬态值。温度特性分析温度特性分析(.TEMP):不同温度下进行上述分析,:不同温度下进行上述分析,求出电路的温度特性求出电路的温度特性电路模拟软件的基本结

45、构电路模拟软件的基本结构 五部分组成:输入处理、元器件模型处理、建立五部分组成:输入处理、元器件模型处理、建立电路方程、方程求解和输出处理电路方程、方程求解和输出处理电路模拟软件的基本结构电路模拟软件的基本结构输入处理:主要完成对输入文件进行编译,词法输入处理:主要完成对输入文件进行编译,词法语法检查、存储输入数据、其他(元件预处理等)语法检查、存储输入数据、其他(元件预处理等) 模型处理:元器件的数学模型:用数学公式描述模型处理:元器件的数学模型:用数学公式描述器件的电流电压特性、与物理参数和工艺参数的器件的电流电压特性、与物理参数和工艺参数的关系关系主要是非线性元件的模型:如主要是非线性元

46、件的模型:如MOS、BJT、二极管二极管等等这些模型编入模型库,可调用;也可自行定义后加这些模型编入模型库,可调用;也可自行定义后加入模型库入模型库电路模拟的精度:模型精度、参数选取电路模拟的精度:模型精度、参数选取电路模拟软件的基本结构(续)电路模拟软件的基本结构(续) 建立电路方程建立电路方程根据电路结构、元件参数、分析要求,建立方程根据电路结构、元件参数、分析要求,建立方程依据的基本原理是欧姆定律和基尔霍夫定律(解释)依据的基本原理是欧姆定律和基尔霍夫定律(解释)建立的方法很多,以节点法为例建立的方法很多,以节点法为例 方程求解方程求解数值解法:线性代数方程组解法、非线性方程组解法、数值

47、解法:线性代数方程组解法、非线性方程组解法、 常微分方程组解法常微分方程组解法线性电路的直流分析:选主元的高斯消去法或线性电路的直流分析:选主元的高斯消去法或LU分解法分解法非线性电路的直流分析:对非线性元件进行线性化处理,非线性电路的直流分析:对非线性元件进行线性化处理, 迭代方法迭代方法交流分析:线性电路、非线性电路,处理同上交流分析:线性电路、非线性电路,处理同上瞬态分析:常微分方程组,通过数值积分转换瞬态分析:常微分方程组,通过数值积分转换 输出处理:输出处理:选择输出内容和输出方式(表格和曲线)选择输出内容和输出方式(表格和曲线)电路描述电路描述 较大规模电路,一般用较大规模电路,一

48、般用电路图输入电路图输入,相应的编译,相应的编译程序转换为电路描述语言再进行模拟。程序转换为电路描述语言再进行模拟。 电路描述语言电路描述语言:描述电路结构、元件参数、器件:描述电路结构、元件参数、器件模型、电路运行环境、分析类型和输出要求等模型、电路运行环境、分析类型和输出要求等电路描述前首先要画好电路图,节点编号(接地电路描述前首先要画好电路图,节点编号(接地节点零号,其他正整数)节点零号,其他正整数)SPICE的描述语言:的描述语言:电路拓扑(网表)电路拓扑(网表)采用模型(元件属性)采用模型(元件属性) 仿真内容控制仿真内容控制电路描述举例电路描述举例 VCCM1M2VIN123CMO

49、S INVERTER DC TRANS. CHARACTERISTICSVCC 2 0 5VIN 1 0M1 3 1 2 2 MOD1 L=2U W=18UM2 3 1 0 0 MOD2 L=2U W=10U.MODEL MOD1 PMOS LEVEL=3 VTO= 1 NSUB=2E15 UO=166.MODEL MOD2 NMOS LEVEL=3 VTO=1 NSUB=2E15 UO=550.DC VIN 0 5 0.1.PLOT DC V(3).END元件语句:元件名 与之相连的节点号(D,G,S,B) 元件参数(模型名,模型语句与元件语句分开) 相比与相比与SPICE,HSPICE特点

50、特点 快速收敛;快速收敛; 具有多种精确的器件模型;具有多种精确的器件模型; 采用层次化方法命名节点;采用层次化方法命名节点; 可以为多种分析类型输出波形图;可以为多种分析类型输出波形图; 可以依据电路性能要求和测量数据进行可以依据电路性能要求和测量数据进行参数优化参数优化,自动产,自动产生模型参数和元器件值;生模型参数和元器件值; 具有良好的建立单元库的功能;具有良好的建立单元库的功能; 可以进行统计容差分析,分析元件及模型参数变化对电路可以进行统计容差分析,分析元件及模型参数变化对电路性能的影响;性能的影响;允许允许Monto-Carlo分析,支持最坏情况分析,支持最坏情况(worse-c

51、ase)设计设计 PSPICE特点特点 允许用户改变内建器件模型允许用户改变内建器件模型 模拟模拟A/D D/A灵活灵活 MC 模拟模拟开关级模拟开关级模拟介于门级逻辑模拟和电路模拟之间,可用于版图介于门级逻辑模拟和电路模拟之间,可用于版图的后仿真的后仿真关键是简历基于开关级别的模型:关键是简历基于开关级别的模型: mos管作为开关,互连线作为连接器、负载管作管作为开关,互连线作为连接器、负载管作为衰减器为衰减器算法包括强度比较算法和基于等效电路的阻容网算法包括强度比较算法和基于等效电路的阻容网络算法络算法作业:作业:1. 试述面向事件的模拟算法的基本思路。试述面向事件的模拟算法的基本思路。2

52、. 列出逻辑模拟中的主要延迟模型,并给出简单说列出逻辑模拟中的主要延迟模型,并给出简单说明。明。3. 用用SPICE模拟软件模拟一个模拟软件模拟一个E/D NMOS反相器的反相器的直流输出特性,请写出相应的输入文件。直流输出特性,请写出相应的输入文件。时序分析时序分析逻辑模拟的基本单元是门或功能块,一定程度上逻辑模拟的基本单元是门或功能块,一定程度上反映竞争、冒险等现象,模拟速度比反映竞争、冒险等现象,模拟速度比SPICE快三快三个量级,但精度不够,各节点电流、电压不知个量级,但精度不够,各节点电流、电压不知电路模拟的基本单元是晶体管、电阻、电容等元电路模拟的基本单元是晶体管、电阻、电容等元器

53、件,可以较精确地获得电路中各节点的电压或器件,可以较精确地获得电路中各节点的电压或电流,但对于较大的电路,很多的迭代求解需要电流,但对于较大的电路,很多的迭代求解需要很大的存储空间和很长的计算时间很大的存储空间和很长的计算时间 时序分析介于两者之间,可提供详细的波形和时时序分析介于两者之间,可提供详细的波形和时序关系,比序关系,比SPICE快二个量级,精度低快二个量级,精度低10%,但,但比带延迟的逻辑模拟要高得多比带延迟的逻辑模拟要高得多器件级时序分析:器件级时序分析:基本原理:简化了器件模型,采用查表技术,关基本原理:简化了器件模型,采用查表技术,关键电学量与工作条件的关系以表格形式反映键

54、电学量与工作条件的关系以表格形式反映算法上:单步迭代,不求解联立方程,超松弛牛算法上:单步迭代,不求解联立方程,超松弛牛顿迭代法加速收敛顿迭代法加速收敛器件上:简化模型,建立关键电学量随漏源电源器件上:简化模型,建立关键电学量随漏源电源的工作条件关系表格的工作条件关系表格 查找表算法查找表算法宏模型宏模型门级时序分析门级时序分析 特别是数字电路在功能仿真之后进行时序仿真特别是数字电路在功能仿真之后进行时序仿真静态时序分析和时序模拟器(动态时序分析)静态时序分析和时序模拟器(动态时序分析)静态时序分析:关键路径相邻两个触发器之间最长路径延迟静态时序分析:关键路径相邻两个触发器之间最长路径延迟,包

55、括输入延迟、输出延迟、级间延迟,包括输入延迟、输出延迟、级间延迟建立时间和保持时间称为是电路的时序约束建立时间和保持时间称为是电路的时序约束基于时序约束和最小最大算法,可进行电路的最坏情况分析基于时序约束和最小最大算法,可进行电路的最坏情况分析 最小最大算法:最小最大算法:对于数据路径取最大延迟时钟路径取最小对于数据路径取最大延迟时钟路径取最小延迟不能违反建立时间约束,对于数据路径取最小延迟时延迟不能违反建立时间约束,对于数据路径取最小延迟时钟路径取最大延迟不能违反保持时间约束。钟路径取最大延迟不能违反保持时间约束。 通过采用路径寻迹和约束分析的方法穷尽所有路径进行分析通过采用路径寻迹和约束分

56、析的方法穷尽所有路径进行分析验证验证Cadengce的的pearl 和和 synopsys的的prime time工具工具 混合模拟:结合三者特点,对影响电路性能的关键部分进混合模拟:结合三者特点,对影响电路性能的关键部分进行电路模拟,其他部分用逻辑模拟和时序分析行电路模拟,其他部分用逻辑模拟和时序分析版图设计的版图设计的CAD工具工具版图设计:版图设计:根据电路功能和性能要求及工艺限制(线宽、根据电路功能和性能要求及工艺限制(线宽、间距等),设计掩膜版图间距等),设计掩膜版图输入:可以是原理图、网表;可以直接编辑版图输入:可以是原理图、网表;可以直接编辑版图输出:版图输出:版图版图设计的重要

57、性:版图设计的重要性:电路功能和性能的物理实现电路功能和性能的物理实现尺寸减小后,连线延迟直接决定芯片速度。布线尺寸减小后,连线延迟直接决定芯片速度。布线方案、从而布局方案很重要方案、从而布局方案很重要 芯片面积、速度芯片面积、速度 版图设计的目标:版图设计的目标:连线全部实现,芯片面积最小,性连线全部实现,芯片面积最小,性能优化(连线总延迟最小)能优化(连线总延迟最小)CAD工具分类(按工作方式分):自动设计、半工具分类(按工作方式分):自动设计、半自动设计、人工设计;版图验证与检查自动设计、人工设计;版图验证与检查 用的大多是启发式算法用的大多是启发式算法版图的自动设计版图的自动设计概念:

58、通过概念:通过CAD软件,将逻辑描述自动转换成版软件,将逻辑描述自动转换成版图描述图描述成熟的自动版图设计包括基于门阵列、标准单元、成熟的自动版图设计包括基于门阵列、标准单元、PLA的布图系统,的布图系统,BBL布图系统也在发展中布图系统也在发展中典型的典型的IC CAD软件,如软件,如Cadence、Mentor、Compass、Panda等设计系统中都有自动版图设等设计系统中都有自动版图设计功能计功能自动版图设计过程自动版图设计过程逻辑划分布局布线设计检验输出输入人机交互单元库布图规划自动版图设计过程(续)自动版图设计过程(续)逻辑划分逻辑划分概念:功能划分概念:功能划分原则:功能块面积和

59、端子数满足要求,使功能块原则:功能块面积和端子数满足要求,使功能块数目或总的外连接数最小数目或总的外连接数最小基本思想:连接度大的元件放在同一功能块中基本思想:连接度大的元件放在同一功能块中划分算法:简单连接度法、分配法、划分算法:简单连接度法、分配法、Lin法等法等布图规划布图规划 布局规划:布图规划逻辑描述到物理描述的映射,模块是布局规划:布图规划逻辑描述到物理描述的映射,模块是软模块,形状和大小不定,根据电路网表、估计的芯片的软模块,形状和大小不定,根据电路网表、估计的芯片的大体面积和形状、各功能块的大体形状面积、功能块的数大体面积和形状、各功能块的大体形状面积、功能块的数目、输入目、输

60、入/输出数目等,对设计的电路进行输出数目等,对设计的电路进行物理划分和预物理划分和预布局布局。先进行初始规划(。先进行初始规划(initialize floorplan),),产生输入产生输入/输出行,单元区行以及布线网格等,然后进行行调整、芯输出行,单元区行以及布线网格等,然后进行行调整、芯片面积调整、布线网格调整,并进行预布局,初步确定各片面积调整、布线网格调整,并进行预布局,初步确定各功能块的形状面积及相对位置、功能块的形状面积及相对位置、I/O位置以及芯片形状尺位置以及芯片形状尺寸,而且可以从总体上考虑电源、地线、数据通道分布寸,而且可以从总体上考虑电源、地线、数据通道分布(datap

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论