集成电路设计的CAD系统的讲解课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《集成电路设计的CAD系统的讲解课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 集成电路设计 CAD 系统 讲解 课件
- 资源描述:
-
1、ICCAD系统概述vICCAD系统的发展第一代:60年代末:版图编辑和检查第二代:80年代初:原理图输入、逻辑模拟向下第三代:从RTL级输入向下,包括行为仿真、行为综合、逻辑综合等v流行的CAD系统:Cadence,Mentor Graphics,Viewlogic,Compass,Panda等v ICCAD系统的理想作用:实现完全的自动化设计,设计出各种各样的电路vICCAD系统的实际作用设计信息输入:v语言输入编辑工具v高层次描述的图形输入工具:VHDL功能图输入、逻辑图/电路图输入编辑、版图输入编辑 设计实现:综合器设计验证:验证系统/电路符合功能/性能要求及设计规则要求v 模拟器进行模
2、拟(仿真)分析v 设计规则的检查 什么是模拟?对于设计输入抽象出模型,施加外部激励,观察输入,进行判断v整个设计过程就是把高层次的抽象描述逐级向下进行综合、验证、实现,直到物理级的低层次描述,即掩膜版图。v 各设计阶段相互联系,例如,寄存器传输级描述是逻辑综合的输入,逻辑综合的输出又可以是逻辑模拟和自动版图设计的输入,版图设计的结果则是版图验证的输入。v ICCAD系统介入了包括系统功能设计、逻辑和电路设计以及版图设计等在内的集成电路设计的各个环节主要内容v系统描述及模拟v 综合v 逻辑模拟v 电路模拟v 时序分析v 版图设计的CAD工具v 计算机辅助测试技术v 器件模拟和工艺模拟系统描述与模
3、拟:VHDL语言及模拟v VHDL语言出现背景 一种硬件描述语言(hardware description language)广义地说,描述电子实体的语言:逻辑图,电路图 大规模电路的出现:逻辑图、布尔方程不太适用 需要在更高层次上描述系统 出现多种HDL语言,为便于信息交换和维护,出现工业标准 v通常指高层设计阶段描述硬件vHDL语言的特点 抽象地进行行为描述 结构化语言:可以描述电子实体的结构 多层次混合描述 既可被模拟,又可被综合v能提供VHDL模拟器的公司:Cadence、Mentor Graphics、Viewlogic、Synopsys等大型EDA公司和CLSI、Model-Tec
4、hnology、Vantage等专门公司v VerilogVHDL语言v 基本概念:描述硬件电路,可以抽象地表示电路的行为和结构(完成什么功能,怎样组成)v作用:对IC设计,支持从系统级到门和器件级的电路描述,并具有在不同设计层次上的模拟验证机制可作为综合软件的输入语言,支持电路描述由高层向低层的转换v 建模机制、模拟算法、模拟环境建模机制 v基本结构v 行为描述v 结构描述 VHDL语言的建模机制 基本结构 一个硬件单元在VHDL中看作一个设计实体v 实体外观实体说明:实体命名,实体与外部环境的接口描述,未涉及其内部行为及结构v 实体功能 在结构体中实现 结构体:实体的输入-输出关系,实体的
5、结构和行为描述对应一个实体说明可以有多个结构体,不同的实现方案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_upVARIABLE count_value:Natural:=0;BEGIN IF clock=1 THENCount_value:=(count_value+1)MOD4;
6、q1=bitVal(count_value/2)AFTER tpd;q0=bitVal(count_value MOD 2)AFTER tpd;END IF;END PROCESS count_up;END ARCHITECTURE arch;v功能描述:行为描述数据流描述结构描述混合描述Architecture behavioral of half _adder is行为描述:描述外部行为begin process SUM=A+B;CO=A and B;wait on A,B;end process;end behavioral;Architecture behavioral of half
7、 _adder is 数据流描述,未涉及具体结构begin SUM=A+B;CO=A and B;end behavioral;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
8、:XOR port map(A,B,SUM);元件引用,生成例元 (标号:元件名 端口映射)U2:AND2 port map(A,B,CO);end behavioral;VHDL语言的建模机制行为描述v电子实体中的 行为:反映信号的变化、组合和传播 行为的特点是信号的延迟和并行性v VHDL中描述行为的基本单位是进程,由进程语句描述。ARCHITECTURE arch of count IS-count实体的结构体BEGIN count_up:PROCESS(clock)-进程体count_upVARIABLE count_value:Natural:=0;BEGIN IF clock=1
9、THENCount_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;进程之间是进程之间是并行并行的,进程内部是顺序的,进程内部是顺序 执行的。进程语句本身由一系列执行的。进程语句本身由一系列的顺序语句组成,顺序语句发生在该进程被激活的同一时刻的顺序语句组成,顺序语句发生在该进程被激活的同一时刻v信号:各进程之间的通信,数据通路。信号的状态可能影响与
10、信号相关的进程的状态v信号赋值:模拟周期:在时刻t,从 一些信号更新、若干进程被激活到进程被挂起信号在一个模拟周期完成求值,延迟td后更新值,td是信号延迟,也称DELTA延迟,在同一模拟时 刻,发生t,t+td ,t+2td,.多个模拟周期v 进程并行:每个进程仅在满足一定条件的某个时刻被激活,同一时刻可以有多个进程被激活 对于串行机,模拟时钟在每个时刻停下,直到每个时刻被激活进程全被处理完v延迟描述:反映时序,建立精确的电路硬件模型 什么是延迟?传输延迟 惯性延迟:输入信号在指定延迟时间内保持不变,元件的输出端才有响应。进程为行为的基本单元进程为行为的基本单元信号作为系统进程之间的数据通路
11、信号作为系统进程之间的数据通路各进程并行执行各进程并行执行VHDL语言的建模机制结构描述v结构描述:若干部件用信号线互连形成一个实体 v部件:对某元件的调用(例元)一个结构体由若干例元互连而成元件:某个实体的某种结构,只有外观说明(元件说明语句)一个元件说明,代表一种类型的元件,是一个符号 元件调用:元件例化语句:v结构描述中的信号:连接例元,值传递 例元的输出值变化会影响以此信号为输入的其他例元 元件例化语句可以并行Architecture behavioral of half _adder is component XOR 元件的外观说明(表示符号,与实体不同)port(I1:in std
12、_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;v元件配置 元件例化语句生成例元引用的是元件,不是实体,实体结构中的例元应该同实在的实体设计相对应,进行元件配置,指出使用的实体和结构
13、体 FOR :USE ENTITY.(结构名)标号例元所引用的元件对应于某指定库的某实体和某结构体 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;说明连接元件所用的内部信号
14、Begin 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(arch1);End For;En
15、d For;End parts;实体FULL_ADDER的配置,命名为PARTS,采用结构体 structural_view作为实体full-adder的结构体,该结构体中例化的两个元件u1,u2采用实体half-adder,结构体behav来源于WORK库,u3采用实体or-gate,结构体arch1来源于WORK库 VHDL语言的模拟算法v 面向事件的模拟算法:同一时刻活跃信号占全部信号的15%,为提高效率,仅对发生事件的信号进行计算,对于不发生事件的信号则不进行计算v 几个概念什么是事件?信号的逻辑值发生变化动态的全局事件表:记录信号事件和时间事件,可更新。信号事件:信号驱动产生的事件;
16、时间事件:进程由于等待时间条件而挂起的事件激活进程:与电路中某变化的信号相关的进程,相应的信号称为敏感信号。进程可以被敏感信号、等待时间、激活条件激活。开始激活所有进程读入激励信号记入全局事件表产生新的信号事件记入事件表;时间等待事件记入事件表;进程挂起当前时刻所有激活进程模拟完?增加事件最小时间间隔否施加新的输入信号根据全局事件表更新相应的信号执行被激活的进程否存在被激活的进程?是无全局 事件表空?是是用户:语言输入,模拟器模拟综合v 概念:从设计的高层次向低层次转换的过程,是一种自动设计的过程 一种专家系统v 分类:系统级综合高级综合RTL级综合:行为综合(软件:Synopsys,Ambi
17、t)逻辑综合物理综合(逻辑图或电路图到版图,严格说应该是同级驱动)高级综合v 设计的算法级描述转换为RTL级描述v 核心:分配(ALLOCATION)和调度(SCHEDULING)分配:给定性能、面积/功耗条件下,确定硬件资源:执行单元、存储器、控制器、总线等,产生数据通道调度:确定这些结构的操作次序v根据控制流图和调度中产生的状态信息,利用传统的RTL/逻辑综合技术综合出控制器部分v目标:找到代价最小的硬件结构,使性能最佳v综合过程:输入的行为描述编译 中间数据结构 数据流综合子系统、控制流综合子系统 数据通道和控制部分(RTL级网表)模拟验证 RTL两级工艺映射 工艺相关的结构 逻辑图自动
18、生成 逻辑图 模拟验证综合系统组成:编译器、模拟器、数据流综合子系统、控制流综合子系统、工艺映射系统逻辑图自动生成系统v 工艺映射:已知工艺无关的结构描述、目标工艺及一组设计约束,在满足设计约束条件下,在物理域上实现同一层次的结构描述。(不丢结构信息,增加工艺数据)算法级不适用,RTL级(宏单元),逻辑级(标准单元或门阵单元、FPGA、PLD等)v综合中的优化问题(黑箱):资源共享、连接优化、时钟分配等 优化目标:面积、速度、功耗、可测试性逻辑综合v 概念:由给定的逻辑功能和性能要求,在一个包含许多结构、功能、性能已知的逻辑元件的逻辑单元库支持下,确定出由一定逻辑单元组成的逻辑结构 v 输入:
19、逻辑设计描述;输出:逻辑网表或逻辑图v综合过程:1.设计描述 2.设计编译 3.逻辑化简和优化:完成逻辑结构的生成与优化,满足系统逻辑功能的要求。4.利用给定的逻辑单元库进行工艺映射,对生成的逻辑网络进行元件配置,进而估算速度、面积、功耗,进行逻辑结构的性能优化 5.得到逻辑网表v综合中的优化问题(黑箱):优化目标:面积、速度、功耗、可测试性v 可综合的输入描述:VHDL、Verilog、HardwareC逻辑模拟v 逻辑模拟的基本概念:将逻辑设计输入到计算机,用软件方法形成硬件的模型,给定输入波形,利用模型算出各节点和输出端的波形,判断正确否v 主要作用:验证逻辑功能和时序的正确性v分类:根
20、据所模拟逻辑单元规模的大小 寄存器传输级模拟:总体操作正确性功能块级模拟:加法器、计数器、存储器等 门级模拟:基本逻辑单元:门、触发器等开关级模拟:晶体管:后仿真 主要介绍功能块级和门级逻辑模拟v几个概念什么是逻辑功能?输入和输出之间的逻辑关系,不考虑与时间的关系。举例:什么是时序?考虑与时间的关系,输入和输出之 间与时间有关系组合逻辑和时序逻辑 组合逻辑:输出只决定于同一时刻各输入状态的组合,与以前状态无关 特点:输入与输出间无反馈途径;电路中无记忆单元 时序逻辑电路:输出与输入状态有关,还与系统原先状态有关 特点:输入与输出间有反馈途径;电路中有记忆单元逻辑模拟(续)v 设计输入方法:逻辑
21、综合的结果;原理图输入;逻辑描述语言v主要作用:验证逻辑功能的正确性,真值表(first-step)延迟模拟:时序的正确性,预先检查是否有尖峰、竞争冒险现象(second step)竞争冒险:从门的输入到输出存在延迟,不同门的延迟不同,不同通路上的延迟不同,引起电路出现错误的输出 举例:两个路径在不同时刻到达:竞争;输出的干扰脉冲:冒险v 主要环节:逻辑模拟模型、设计输入、模拟算法逻辑模拟模型v 元件的延迟模型和信号模型v 元件的延迟模型:检查时序关系、反映竞争和冒险等现象;调用的门单元中已含有不同延迟模型信息 零延迟:检查逻辑关系正确性,组合逻辑和同步时序 单位延迟:逻辑关系正确性 指定延迟
22、:不同元件或不同的元件类型指定不同的延迟;指定上升、下降时间;尖峰分析 最大-最小延迟:分析竞争 惯性延迟:可抑制尖峰 连线延迟:加到门延迟中;门之间加入延迟元件等ab1ab12最小延迟=1 最大延迟=2v 不同要求的逻辑模拟调用不同的延迟信息 快速模拟:验证逻辑功能v 单位延迟v 指定延迟v 最大或最小延迟 详细模拟:检查竞争冒险等情况v 双延迟模型逻辑模拟模型(续)v信号模型:逻辑模拟中信号的逻辑值和信号强度v 信号值:实际电路,逻辑状态是0和1 在逻辑模拟中为了反映信号状态的过渡过程,模拟出竞争冒险,引入新的状态值三值模拟v0,1,(不定态:记忆元件等未指定的初始态、不可预测的振荡态、无
23、关态等)v真值表v 检测静态冒险(静态0冒险和1冒险)不能检测动态冒险 与0100001010逻辑模拟模型(续)四值模拟v0,1,Z(高阻态:信号与其源断开后的状态,如单向开关)v真值表五值模拟、八值模拟等,但逻辑状态过多,模拟速度变慢与01Z0000010110Z01或Z逻辑模拟模型(续)v 信号强度:处理线连逻辑关系:多个元件输出信号线直接相连,汇集点与信号的关系 信号强度:信号驱动能力,高强度信号占优势。如果强度相等信号值不同,线连点强度不变,信号值未知。逻辑描述v逻辑图输入:复杂电路(专门的输入编辑工具)v对综合得到的逻辑网表可以直接模拟v逻辑描述语言:不同的逻辑模拟器不同 不同的设计
24、层次不同v门级逻辑描述:逻辑的详细细节,门、触发器等逻辑元件及其相互连接逻辑元件的描述:类型、功能、延迟、负载等连接关系:线路图 可以嵌套,反映层次关系v以GFLS系统的描述语言为例,AXBAB1XBA1AB1BA1A1B1BANOT:A1(A)B1=(B)NAND:AB1=(A,B1)BA1=(B,A1)X=AXB(AB1,BA1)逻辑模拟算法v编译方式和表格驱动方式v编译方式将逻辑电路编译转换成一组指令代码。元件按功能编成子程序,按相互间连接关系以一定顺序将子程序连成总的可执行程序。元件的计算顺序编排 输入端为0级,元件的级数等于所有前级元件最大级数加1;不考虑延迟,只能模拟组合逻辑电路和
25、可忽略竞争冒险的同步时序电路逻辑模拟算法(续)v表格驱动方式将逻辑电路转换成表格:电路描述表、元件类型表;元件的扇入扇出表、信号线表考虑延迟,可模拟异步时序采用面向事件模拟:与VHDL模拟算法类似,信号驱动的是元件v 对于较大规模的电路:高速逻辑模拟器:软件硬件化,并行处理,模拟速度提高 1000倍电路模拟v电路设计:根据电路性能确定电路结构和元件参数,没有自动设计软件 设计人员根据电路性能要求,初步确定电路结构和元件参数,利用电路模拟软件进行模拟分析,判断修改v电路模拟:根据电路的拓扑结构和元件参数将电路问题转换成适当的数学方程并求解,根据计算结果检验电路设计的正确性 模拟对象:元件 优点:
展开阅读全文