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

    数字器件的MAST模型.ppt

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

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

    数字器件的MAST模型.ppt

    数字器件的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,连接点特点,状态转换、事件特点,仿真过程特点,返回初始化,数字器件模型中常用术语和连接点的特点,truefalse,HIGHLOW,onoff closedopen,10在模拟器件中定义了一个连接点就等价地定义了一个量纲和一对变量(across变量和through变量),而在数字器件中定义的连接点就定义了量纲和状态(state),其连接点类型为state,它表示一组数字,与各个离散时刻连接起来。,返回,数字器件模型事件的特点,事件是数字器件端点在指定时刻从一个状态过渡到另一个状态,而这种过渡过程也是指定的。建立的数字器件模型时,必须要在模板器件的端点指定事件,否则仿真器将无法进行仿真,返回,数字器件仿真过程的特点,SABER仿真器对数字器件的仿真是基于事件队列而不是基于事件步长,SABER仿真器根据设计需要对所有需要计算的数字模板的事件进行自动排序。而when段的执行完全依赖事件队列的事件,如果在事件队列中没有事件存在,则模板体中的when段将不能执行。,When段,常用函数,初始化,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=td2 state logic_4 in1,in2,out#state connection points3 number td=04 5 state logic_4 out_state#internal state declaration6 when(event_on(in1)|event_on(in2)7 if(in1=l4_1)&(in2=l4_1)#AND logic8 out_state=l4_19 10 else out_state=l4_01112 if(driven(out)=out_state)#update AND gate output13 schedule_event(time+td,out,out_state)14 15 16,模板头,when段,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=10nand.2 in21 in22 out=td=10nwhen(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,duty2 state logic_4 ckout3 number freq=0,#clock frequency4 duty=0.5#clock duty cycle(time pulsed/period)5 6 state nu tick#internal wake-up state78 number ton=0,#clock on-time9 toff=0#clock off-time10,模板头,时钟模块的MAST模型(1),11 parameters#calculate off and on time12 if(freq 0)13 ton=duty/freq14 toff=1/freq-ton15 16 17 when(dc_init)18 schedule_event(time,ckout,l4_0)19 20#start clock ticking after delay time21 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 段,

    注意事项

    本文(数字器件的MAST模型.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开