欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    集成电路设计的系统级建模与仿真课件.ppt

    • 资源ID:1517556       资源大小:3.12MB        全文页数:106页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    集成电路设计的系统级建模与仿真课件.ppt

    2022/12/2,共 107 页,1,目录,一、集成电路设计的一般流程 二、系统级建模工具-Matlab 三、系统级建模工具-Verilog-A 四、建模仿真实例,一、集成电路设计的一般流程,2022/12/2,共 107 页,2,集成电路设计中不同的抽象级别:结构或系统级晶体管级(电路)器件物理级,2022/12/2,共 107 页,3,VLSI数字集成电路设计,模拟集成电路设计,为什么需要系统级设计?,随着集成电路工艺和数字信号处理技术的不断发展, 1、电路的规模越来越大,系统构成越来越复杂。 2、晶体管级电路仿真消耗很长时间,效率低下。 3、采用行为级描述电路将降低仿真时间。 行为级模型足以表述各个电路模块的功能,通过行为级仿真可以在功能上预先验证所设计的系统是否能够满足要求。,2022/12/2,共 107 页,4,IC设计过程中系统工程师的地位,产品功能的定义和模块的划分设计并验证系统的可行性分配各个模块的性能指标整个解决方案中芯片设计环节的组织者,2022/12/2,共 107 页,5,系统工程师在IC设计中具有非常重要的地位,他们一般是工作经验丰富的IC设计工程师,他们能够根据自己的经验积累恰当的选择系统架构,恰当的选择建模原型及高阶非理想因素来获得最接近真实情况的指标定义。,二、系统级建模工具-Matlab,Matlab语言简介Matlab基本知识Matlab的编程Matlab动态仿真工具Simulink,2022/12/2,共 107 页,6,2022/12/2,共 107 页,7,Matlab语言简介,MATLAB 的名称源自 Matrix Laboratory ,它是一种科学计算软件,专门以矩阵的形式处理数据。其基本元素是无需定义维数的矩阵包括Toolbox的各类应用问题的求解工具。 MATLAB 被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,Matlab最重要的特点是易于扩展,它允许用户自行建立完成指定功能的M文件,从而构成适合于其他领域的工具箱。,2022/12/2,共 107 页,8,2022/12/2,共 107 页,9,Matlab 基本知识,2022/12/2,共 107 页,10,1、命令窗口 在matlab 提示符“”下,键入matlab命令。例如输入一个3X3的矩阵: a=1,2,3;4,5,6;7,8,9 数据放在方括号内,行与行间分号间隔,数值间空格或逗号间隔。 Matlab语言是与大小写有关的语言,即变量A和a是两个完全不同的变量。 应该注意的是:一般情况下,所有的函数名均由小写字母组成。,2、图形窗口,2022/12/2,共 107 页,11,当调用一个产生图形的函数时,Matlab会自动建立一个图形窗口。这个窗口可分裂成多个窗口,并可以在它们之间选择,这样在一个屏幕上可以显示多个图形。,2022/12/2,共 107 页,12,Matlab的toolboxes,数值分析 数值和符号计算工程与科学绘图控制系统的设计与仿真数字图像处理数字信号处理通讯系统设计与仿真财务与金融工程滤波器设计Link For ModelSim,2022/12/2,共 107 页,13,Matlab的编程,MATLAB Compiler 是能够将M 语言编译生成为函数库、可执行文件 COM 组件等等。通过M文件可以扩展 MATLAB 功能,使 MATLAB 能够同其他高级编程语言例如 C/C+ 语言进行混合应用。 利用 M 语言还开发了相应的 MATLAB 专业工具箱函数供用户直接使用。 More resource: http:/,2022/12/2,共 107 页,14,M文件语法简介,Matlab提供近20类基本命令函数 包括:通用函数、基本数学函数、矩阵操作函数,绘图函数等等充分使用help,2022/12/2,共 107 页,15,2022/12/2,共 107 页,16,一个简单的例子,2022/12/2,共 107 页,17,Simulink仿真基础,工程中的控制系统需要专用的系统建模软件,准确地建模,对其进行进一步的分析与仿真。1990年,Matlab加入新的控制系统模型图输入与仿真工具 ,1992年正式将该软件更Simulink。Simulink的两个含义:Simu(仿真)和Link(连接),可以在模型窗口上绘制出所需要的控制系统模型,然后利用SIMULINK提供的功能来对系统进行仿真和分析。,2022/12/2,共 107 页,18,2022/12/2,共 107 页,19,Simulink的公共模块库,信源模块(Source)信宿模块(Sinks)连续模块库(Continuous)信号路由(Signal Routing)离散模块库(Discrete)数学运算模块库(Math operations)端口及子系统库(Ports and Subsystems)查表模块库(Look-Up Table)用户定义函数模块(User-Defined Functions)非线性模块库(Discontinuities),2022/12/2,共 107 页,20,simulink专业模块库,CDMA参考模块通讯电路模块控制系统工具DSP模块TI DSP应用箱Motorola DSP模块模糊逻辑模块S参数模型More resource: http:/,2022/12/2,共 107 页,21,基于simulink的仿真系统,2022/12/2,共 107 页,22,仿真参数设置,算法器 仿真时间 仿真模式 仿真精度 误差容忍度 输出设置,2022/12/2,共 107 页,23,Simulink的简单例子(1)使能模块,2022/12/2,共 107 页,24,Simulink的简单例子(2)使能触发模块,2022/12/2,共 107 页,25,Simulink仿真数字系统(1),2022/12/2,共 107 页,26,Simulink仿真数字系统(2),2022/12/2,共 107 页,27,简单的数字电路的设计10进制计数器,2022/12/2,共 107 页,28,Link For ModelSim,Link for ModelSim是把MATLAB/Simulink和针对FPGA 和ASIC的硬件设计流程无缝连结起来的联合仿真的接口扩展模块。它可以高效的在MATLAB/Simulink中验证ModelSim中的RTL模型。 备注:Matlab版本7.1以上,ModelSim SE PLUS 5.6,2022/12/2,共 107 页,29,一个综合的设计实例 抽取滤波器的设计,Toolboxes的FDA设定滤波器参数M文件实现传输函数的分析Simulink完成系统级的仿真函数对ModelSim的输出数据进行FFT分析,2022/12/2,共 107 页,30,抽取滤波器框图,2022/12/2,共 107 页,31,CIC 传递函数及频率响应,2022/12/2,共 107 页,32,补偿滤波器设计,hcic0=mfilt.cicdecim(32,1,4);hcic = cascade(dfilt.scalar(1/gain(hcic0),hcic0);hc= design(fdesign.ciccomp(1, . 4,20000,68200,.000075,110,352800);fvtool(hcic,hc,. cascade(hcic,hc),Fs,11289600 352800 11289600);,2022/12/2,共 107 页,33,CIC and CIC compensator,2022/12/2,共 107 页,34,半带滤波器,h2=fdesign.decimator(2,halfband,.48200,110,176400);h=equiripple(h2);fvtool(h);,2022/12/2,共 107 页,35,半带滤波器,h3=fdesign.decimator(2,halfband,.4100,110,88200);h=equiripple(h3);fvtool(h);,2022/12/2,共 107 页,36,整体滤波器设计,hcic0=mfilt.cicdecim(32,1,4);hcic = cascade(dfilt.scalar(1/gain(hcic0),hcic0);hc= design(fdesign.ciccomp(1, . 4,20000,68200,.000075,110,352800);h2=fdesign.decimator(2,halfband,. 48200,110,176400);h22=equiripple(h2);h3=fdesign.decimator(2,halfband,. 4100,110,88200);h33=equiripple(h3);h=cascade(hcic,hc,h22,h33);fvtool(h,Fs,11289600);fvtool(hcic,hc,h22,h33,. cascade(hcic,hc,h22,h33),Fs,11289600 352800 176400 88200 11289600);,2022/12/2,共 107 页,37,Filter Design&Analysis设计滤波器系数,2022/12/2,共 107 页,38,滤波器系数,2022/12/2,共 107 页,39,Generate HDL,2022/12/2,共 107 页,40,Generate HDL参数设置,2022/12/2,共 107 页,41,filter.v,2022/12/2,共 107 页,42,filter_tb.v,2022/12/2,共 107 页,43,滤波器传输函数的分析,2022/12/2,共 107 页,44,Simulink 搭建的CIC,2022/12/2,共 107 页,45,Simulink搭建的halfband,2022/12/2,共 107 页,46,Simulink搭建的halfband,2022/12/2,共 107 页,47,Simulink的系统仿真,2022/12/2,共 107 页,48,输出数据FFT分析,2022/12/2,共 107 页,49,MATLAB GUIDE(Graphical User Interface Development Environment),MATLAB图形用户界面开发环境,2022/12/2,共 107 页,50,MATLAB GUI,2022/12/2,共 107 页,51,界面设计编辑器外观,2022/12/2,共 107 页,52,工具栏,2022/12/2,共 107 页,53,用户控件的放置,2022/12/2,共 107 页,54,用户控件的属性编辑,2022/12/2,共 107 页,55,用户控件属性对话框,2022/12/2,共 107 页,56,用户控件回调函数的查看,2022/12/2,共 107 页,57,用户控件的回调函数,2022/12/2,共 107 页,58,OpeningFcn,2022/12/2,共 107 页,59,Edit text控件,2022/12/2,共 107 页,60,用户控件的回调函数2,2022/12/2,共 107 页,61,运行GUI,2022/12/2,共 107 页,62,激活的GUI,2022/12/2,共 107 页,63,误差放大器放大倍数的计算,2022/12/2,共 107 页,64,计算Aemin的回调函数,2022/12/2,共 107 页,65,计算Aemin的回调函数,2022/12/2,共 107 页,66,电源调整率,2022/12/2,共 107 页,67,Search object,2022/12/2,共 107 页,68,2022/12/2,共 107 页,69,Back,2022/12/2,共 107 页,70,信宿模块,以数值形式显示输入信号悬浮信号显示器为子系统或模型提供输出端口信号显示器当输入非零时停止仿真中断输出信号将仿真数据写入.mat文件将仿真数据输出到matlab工作空间使用matlab图形显示器Back,2022/12/2,共 107 页,71,2022/12/2,共 107 页,72,Back,2022/12/2,共 107 页,73,Back,2022/12/2,共 107 页,74,2022/12/2,共 107 页,75,Back,2022/12/2,共 107 页,76,用户定义函数模块,求取输入信号的数学函数值M函数(对输入进行运算输出结果)S-函数模块S-函数生成器 Back,2022/12/2,共 107 页,77,固定步长模式解法器,ode5:缺省值,是ode45的固定步长版本,适用于大多数连续或离散系统,不适用于刚性系统。ode4:四阶龙格库塔法,具有一定的计算精度。ode3:固定步长的二/三阶龙格库塔法。ode2:改进的欧拉法。ode1:欧拉法。discrete:是一个实现积分的固定步长解法器,它适合于离散无连续状态的系统。 Back,2022/12/2,共 107 页,78,误差容忍度,Relative tolerance(相对误差):它是指误差相对于状态的值,是一个百分比,缺省值为1e-3,表示状态的计算值要精确到0.1%。Absolute tolerance(绝对误差):表示误差值的门限,或者是说在状态值为零的情况下,可以接受的误差。如果它被设成了auto,那么simulink为每一个状态设置初始绝对误差为1e-6。 Back,2022/12/2,共 107 页,79,输出选项,Refine output:这个选项是精细输出,其在仿真输出太稀松时,simulink会产生额外的精细输出。可以设置仿真时间步间插入的输出点数,产生更光滑的输出曲线。精细输出只能在变步长模式中才能使用,并且在ode45效果最好。Produce additional output:它允许用户直接指定产生输出的时间点。用户可以指定额外的仿真输出点,它既可以是一个时间向量,也可以是表达式。与精细因子相比,这个选项会改变仿真的步长。Produce specified output only:它的意思是让simulink只在指定的时间点上产生输出。为此解法器要调整仿真步长以使之和指定的时间点重合。这个选项在比较不同的仿真时可以确保它们在相同的时间输出。 Back,三、系统级建模工具-Verilog-A,2022/12/2,共 107 页,80,Verilog-A简介,Verilog是描述数字行为的常用工具,而SPICE则是描述模拟行为事实上的标准。Verilog-A是一种高层次的模块化硬件描述语言,它用模块的形式来描述模拟系统及其子系统的结构和行为,2022/12/2,共 107 页,81,Verilog-A语言对模拟电路的描述,一是行为描述:指用一些数学表达式或者传输函数来描述目标电路的行为,其描述范围可以从基本的电阻电容到十分复杂的滤波器或其他模拟系统。二是结构描述:对各个子模块在系统中的用途以及子模块与子模块之间的连接关系进行描述,这可以理解为是对系统结构框图的描述。,2022/12/2,共 107 页,82,提供多层次的行为及结构模型和多种行为模块描述方法,有限指数产生器limexp()积分产生器idt()微分产生器ddt()延迟产生器delay(),2022/12/2,共 107 页,83,良好的行为描述模型具有:,良好的拟合度宽的适用性快速的执行效率,2022/12/2,共 107 页,84,Verilog-A的编程,2022/12/2,共 107 页,85,1、首先定义系统的结构和系统中模块的行为;2、用网表来定义整个系统结构;3、用子模块的互联来定义模块的内部连接关系;,基本语法,标识符:标识符用来对一个模块进行命名。标识符可以是任何的字符串、数字、$或者下划线。但是第一个字母不能是数字或者$但可以是下划线。 Shiftreg_a Busa_index _bu$3,2022/12/2,共 107 页,86,关键词:Verilog-A除了可以辨认Verilog HDL所定义的关键词外,还有特定的关键词。下面列出了Verilog-A中常用的关键词。注意:关键词只能用小写字母来表示。abstol discipline from abs asin atanh ac_stim delay initial_step,2022/12/2,共 107 页,87,系统任务和函数:$用来引进一个系统任务或系统函数。比如:$display (“display a message”);$finish;,2022/12/2,共 107 页,88,汇编指令:用来引进系统汇编指令。汇编程序接收到系统的汇编命令时就开始进行汇编工作。除非有新的汇编指令插入,否则一个汇编命令将在整个程序运行的过程起作用。例如: define wordsize 8,2022/12/2,共 107 页,89,数据类型:Verilog-A HDL支持整数、实数和参数等数据类型。integer a1:64; / 定义了一个具有64个整数的阵列real float; / 定义了一个用来存储数据类型为实数的变量 real gain_factor1:30; / 定义了一个具有30个乘数的阵列展。,2022/12/2,共 107 页,90,基本表达式,2022/12/2,共 107 页,91,模拟运算符,模拟运算符用于数学表达式中,返回一个值。若表达式是向量,则返回向量值,若表达式是标量,则返回标量值。模拟运算符的约束: 大部分情况下,模拟运算符不能用在条件声明(if和case)中。但如果条件声明的变量在仿真过程中不变则可以使用。,2022/12/2,共 107 页,92,Verilog-A仿真,在Verilog-A中,仿真需要用到analysis()这个函数。几种常用的仿真分析类型,2022/12/2,共 107 页,93,Verilog-A建模实例,要创建一个Verilog-A模拟模块或系统有两种方法,一种是直接打开编辑器输入Verilog-A代码,一种是使用Cadence中的向导来产生模块。下面先介绍用第一种方法来产生一个反相器的步骤。,2022/12/2,共 107 页,94,反相器,1、在工作目录下新建一个库(Library),File-New-Cell View-,在Tool选项中选择VerilogA-Editor,则可见View Name中会自动填入veriloga。填上Cell Name:inv。点击OK,至此对工作文件的创建完成。,2022/12/2,共 107 页,95,2022/12/2,共 107 页,96,2、弹出图11.7.2所示编辑器(VI),2022/12/2,共 107 页,97,以“/”开头引导的语句是注释语句。在Verilog-A中,为了保持程序的可读性,经常插入由“/”引导的注释语句。include语句用来插入一个在汇编过程中定义的源元件,它可以用来引用全局或者经常使用的定义或任务,而不用在程序中添加这些定义或任务的描述,使得整个程序看起来更为高效和整洁。整个程序实体是由module和endmodule之间所包含的语句构成。紧跟在module后面的inv是此程序的文件名。,2022/12/2,共 107 页,98,3、创建symbol,在关闭前,SpectreHDL会自动对程序的合法性进行检查,如有语法错误会给出提示,修改后保存,会让读者选择是否创建symbol,此时单击yes,定义好管脚后,点击OK会弹出如果所示的symbol。,2022/12/2,共 107 页,99,4、仿真:新建个仿真文件夹。,2022/12/2,共 107 页,100,建立如图11.7.5所示电路仿真激励。其中输入信号是周期为100n,占空比为50%的脉冲。输出负载1pF。观察输出波形如果11.7.6所示。,2022/12/2,共 107 页,101,利用Cadence中的向导产生模拟模块,首先,建立ModelWriter模块,2022/12/2,共 107 页,102,填入Cell Name和View Name。单击OK。会弹出如图11.7.8所示的类型选项。选择VerilogA。,其次,在弹出的模型(图11.7.9)里面选择我们所需要的模块。,2022/12/2,共 107 页,103,2022/12/2,共 107 页,104,2022/12/2,共 107 页,105,本章主要介绍了系统仿真中常用的建模工具Matlab,包括Matlab中工具箱、m语言编程以及图形仿真界面Simulink,和模拟集成电路设计中可以用到的系统建模语言Verilog-A。应用这些工具,设计者可以快速准确地建立所需要的系统模型。希望通过本章的介绍可以让读者掌握系统建模方法并可以进行系统仿真。,2022/12/2,共 107 页,106,

    注意事项

    本文(集成电路设计的系统级建模与仿真课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开