好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

数字器件的MAST模型ppt课件.ppt

34页
  • 卖家[上传人]:公****
  • 文档编号:593319991
  • 上传时间:2024-09-24
  • 文档格式:PPT
  • 文档大小:106KB
  • / 34 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 数字器件的MAST模型 模拟器件模型的仿真特点•在SABER中很多时域器件模型都是模拟器件,即在作时域分析时的时间变化是延续的,但是在仿真时也是将延续函数离散化,其离散点就是仿真的步长在通常情况下,仿真器的步长是根据仿真精度来确定的也可以运用仿真器变量来控制仿真的步长 数字器件模型的仿真特点•在SABER中,用MAST言语建立数字器件模型就是在模型中控制仿真器的下一个仿真点数字器件形状的变化时辰及变化结果是比较关注的,而形状的变化过程是不太关注的•在数字器件模型中最关键点就是在模板体中建立when段 数字器件模型数值的特点•数字器件模型在时间上是不延续的,在数值上也是离散的在SABER中有两类类型提供数字器件的离散数字量logic_4和logic_3它们的值分别是:logic_0, logic_1, logic_x, logic_z其中logic_x为不确定形状,而logic_z为高阻形状•定义: state logic_4 cp1,cp2衔接点特点衔接点特点形状转换、形状转换、事件特点事件特点仿真过程特点仿真过程特点前往初始化前往初始化 数字器件模型中常用术语和衔接点的特点•true—false, HIGH—LOW, on—off• closed—open, 1—0•在模拟器件中定义了一个衔接点就等价地定义了一个量纲和一对变量〔across变量和through变量),而在数字器件中定义的衔接点就定义了量纲和形状(state),其衔接点类型为state,它表示一组数字,与各个离散时辰衔接起来。

      前往前往 数字器件模型事件的特点•事件是数字器件端点在指定时辰从一个形状过渡到另一个形状,而这种过渡过程也是指定的•建立的数字器件模型时,必需求在模板器件的端点指定事件,否那么仿真器将无法进展仿真前往前往 数字器件仿真过程的特点•SABER仿真器对数字器件的仿真是基于事件队列而不是基于事件步长,SABER仿真器根据设计需求对一切需求计算的数字模板的事件进展自动排序而when段的执行完全依赖事件队列的事件,假设在事件队列中没有事件存在,那么模板体中的when段将不能执行WhenWhen段段常用函数常用函数初始化初始化 when段的特征•when段是在数字模型中常用的段,而在模拟器件模型中不用这个段对于模拟器件模型的端点特征通常都是在方程段中进展描画,在方程段中的方程总是与var变量或pin-type型变量联络在一同的在数字器件中的when段的作用与模拟器件方程段的作用类似,它也是来描画数字器件端点特征的 when段作用的特征•when段是一个操作段,该段的操作总是和时间联络在一同的,即在什么时候操作它可以离散模拟信号,操作数字信号,测试模拟波形穿越门槛,确定触发事件,确定仿真器的时间等 when段的定义•when(condition){•statements• }•定义when段的关键词为when,条件将被监测,一旦条件满足就将执行函数体中的statements。

      但是,在when段中运用的条件总是和时间联络在一同的,在when段中的条件总有时间的概念前往前往 数字器件模型中常用函数•在数字模板中常用的概念是事件,其很多过程都是由事件触发的;而与事件相关的触发函数为schedule_event; handle; event_on; deschedule其中前两个函数为事件设置函数,event_on为事件监视函数,deschedule函数为事件解除函数•只需当对象设置为事件后,event_on和deschedule函数才可以用事件设置函数事件设置函数事件监视函数事件监视函数事件解除函数事件解除函数前往到过程特点前往到过程特点 事件驱动函数•在事件驱动函数中shedule_event和handle函数的用法如下:•schedule_event(3u,out1,l4_0)•handle = schedule_event(3u,out1,l4_0)•上述函数就是在指定时辰对指定的变量进展赋值,函数中的第一个变量为指定时辰,第二个变量为指定变量,第三个变量为指定变量上述第二函数前往了一个函数的句柄 事件驱动函数与普通赋值的区别•从上述表达中可以看出,从外表上看事件驱动函数schedule_event就是一个赋值函数,只不过schedule_event与指定的时辰有关,其实,用事件驱动函数schedule_event赋值与普通的赋值函数有本质的区别。

      用schedule_event函数赋值是将对象设置进了event队列中前往前往 事件监视函数• event_on(state_var [,old_var])函数可以有两个变量,其中第二个变量为可选项该函数中的state_var变量为被监视变量,当监视的对象事件发生时,该函数的前往值为1,同时将事件发生前state_var变量的值赋给old_var变量,否那么该函数的前往值为0该函数通常作为when段的条件运用,该函数的第二个变量也不常用•when (event_on(out1))前往前往 事件解除函数•deschedule 函数用于将对象从事件队列中退出,但是在运用该函数时必需获得事件对象的句柄,因此在将对象设置进事件队列时,必需获得该对象的句柄•handle = schedule_event(3u,out1,l4_0)•deschedule (handle)前往前往 数字器件的初始化•由模拟器件组成的系统,在初始化时都是将一切的节点初始电压设置为0,将电容器设置为开路,将电感器设置为短路,然后经过直流分析求得系统的节点电压•数字系统在初始化时首先将logic_4的节点值设置为logic_x,然后再检查能否有节点设置了不为logic_x的初始值,最后再作直流分析。

      数值特征数值特征 数字器件内部变量的初始化•数字模板也经常运用部分变量,部分变量的类型也是state型变量,其量纲不一定是logic_4,初始化这些部分变量通常有两种方法,一种是在when段中初始化,它就是指定一个值,另一种方法就是在函数定义的时候初始化这个变量•用第一种方法就是将对象放置在一个事件队列中,而用第二种方法就没有将对象放置在事件队列中因此根据需求选择模型小结模型小结 数字器件模型小结•1 数字器件衔接点类型为state类型•2 数字器件模型中通常没有方程段,而描画端点特征的段通常是when段,当然在一个模板体中能够有多个when段•3 数字器件模型的仿真通常和仿真步长无关,其采用的是事件触发方式•4 数字器件的初始化必需是显式的,而模拟器件的初始化通常是隐式的实例实例 与门器件符号及其逻辑真值表 与门器件的MAST模型•1 template and in1 in2 out = td•2 state logic_4 in1, in2, out # state connection points•3 number td=0•4 {•5 state logic_4 out_state # internal state declaration•6 when (event_on(in1) | event_on(in2)) {•7 if ((in1==l4_1) & (in2==l4_1)) { # AND logic•8 out_state = l4_1•9 }•10 else out_state = l4_0•11•12 if (driven(out)~=out_state) { # update AND gate output•13 schedule_event(time+td, out, out_state)•14 }•15 }•16 }模板头模板头whenwhen段段driven函数函数初始化初始化时钟模板时钟模板 与门器件模型的头阐明•数字器件模板的关键词是template,在数字器件的关键词不能运用element template•数字器件的衔接点必需定义为state类型。

      需求留意的是只需数字器件才将器件的衔接点定义为state•模板头中的argument定义的是延时时间前往前往 函数模板体中的when段•when statement 是数字模板中最根本函数段,在本段中主要是经过对列入事件队列中的对象事件的监视和赋值在一个模板体中可以有多个when statement,when statement 普通情况下在模板体中运用,但它也可以在网表中运用•When(condition) {• statements• } when 段的执行过程•when 段的执行过程是当条件满足时这些下面的statement,在when段中可以运用一切的仿真器变量、条件判据和MAST言语函数前往前往 driven 函数的作用•在本模板中运用了以下判别•if (driven(out)~=out_state) {•schedule_event(time+td, out, out_state)•}•该判别语句的功能与如下语句的功能一样•if (out~=out_state) {•schedule_event(time+td, out, out_state)•}•但是当端点出现冲突的时候,driven函数将调用冲突处理机制。

      MAST言语中数字器件的冲突处理机制•当数字器件的端点受多个驱动作用的时候,就能够引起冲突•SABER仿真器调用C言语写的一个模板,该模板叫l4cnfr该模板的处理机制如下 MAST言语中数字器件的冲突处理机制〔1〕•and.1 in11 in12 out = td=10n•and.2 in21 in22 out = td=10n•when (dc_init) {•schedule_event(time, in11, l4_0)•schedule_event(time, in12, l4_0)•schedule_event(time, in21, l4_0)•schedule_event(time, in22, l4_0)•}•when (time_init) {•schedule_event(1u, in11, l4_1)•schedule_event(2u, in12, l4_1)•schedule_event(3u, in21, l4_1)•schedule_event(4u, in22, l4_1)} MAST言语中数字器件的冲突处理机制〔2〕前往前往前一页前一页 模板的初始化•在本模板中,对模板中的变量没有运用初始化,这阐明系统将对一切的衔接点运用初始值为logic_x。

      前往前往 时钟模块的MAST模型•1 template clock ckout = freq, duty•2 state logic_4 ckout•3 number freq=0, # clock frequency•4 duty=0.5 # clock duty cycle (time pulsed/period)•5 {•6 state nu tick # internal "wake-up" state•7•8 number ton=0, #clock on-time•9 toff=0 #clock off-time•10模板头模板头 时钟模块的MAST模型〔1〕•11 parameters { # calculate off and on time•12 if (freq > 0) {•13 ton = duty/freq•14 toff = 1/freq - ton•15 }•16 }•17 when (dc_init) {•18 schedule_event(time,ckout,l4_0)•19 }•20 # start clock ticking after delay time•21 when (time_init) {•22 if (freq > 0) schedule_event(time,tick,1)•23 时钟模块的MAST模型〔2〕•24 when (event_on(tick)) {•25 if (driven (ckout)==l4_0) {•26 # turn clock on (set to 1)•27 if (ton > 0) {•28 schedule_event(time,ckout,l4_1)•29 schedule_event(time+ton,tick,1)•30 }•31 }•32 else { # turn clock off (set to 0)•33 if (toff > 0) {•34 schedule_event(time,ckout,l4_0)•35 schedule_event(time+toff,tick,1)•36 }when段段1的特征的特征when段段2的特征的特征 模板头阐明•1 state logic_4 ckout 该模板的衔接点类型为state,阐明该模板是数字型器件。

      且该模板只需一个输出端点•2 在该模板的头阐明中定义了两个数值型变量,一个是占空比,另一个是时钟频率前往模板前往模板 when 段的数目和第一个when的作用•在这个模块的模板体中有三个when段,但这三个when段的作用不同•第一个when段中运用了仿真器变量dc_init,它外表在开场作直流分析执行这段程序,在其它时候不执行这段程序,这段程序的作用是初始化ckout变量,将ckout变量的值赋为1前往第一前往第一when段段 第二、三个when段的作用•在第二个when段中,运用了仿真器变量time_init,该变量在时域仿真开场时为1,该when段的作用是在时域仿真开场时初始化tick变量time_init变量在重新进展时域仿真分析时该变量的值为0〔运用了alter或continuous命令〕•在第三个when段中就构成了时钟脉冲前往前往when 段段 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.