数字器件MAST模型.ppt

上传人:豆**** 文档编号:65291244 上传时间:2022-12-04 格式:PPT 页数:34 大小:99.50KB
返回 下载 相关 举报
数字器件MAST模型.ppt_第1页
第1页 / 共34页
数字器件MAST模型.ppt_第2页
第2页 / 共34页
点击查看更多>>
资源描述

《数字器件MAST模型.ppt》由会员分享,可在线阅读,更多相关《数字器件MAST模型.ppt(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数字器件MAST模型 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望模拟器件模型的仿真特点在SABER中很多时域器件模型都是模拟器件,即在作时域分析时的时间变化是连续的,但是在仿真时也是将连续函数离散化,其离散点就是仿真的步长。在通常情况下,仿真器的步长是根据仿真精度来确定的。也可以使用仿真器变量来控制仿真的步长。数字器件模型的仿真特点在SABER中,用MAST语言建立数字器件模型就是在模型中控制仿真器的下一个仿真点。数字器件状态的变化时刻及变化结果是比较关注的,

2、而状态的变化过程是不太关注的。在数字器件模型中最关键点就是在模板体中建立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,

3、onoff closedopen,10在模拟器件中定义了一个连接点就等价地定义了一个量纲和一对变量(across变量和through变量),而在数字器件中定义的连接点就定义了量纲和状态(state),其连接点类型为state,它表示一组数字,与各个离散时刻连接起来。返回返回数字器件模型事件的特点事件是数字器件端点在指定时刻从一个状态过渡到另一个状态,而这种过渡过程也是指定的。建立的数字器件模型时,必须要在模板器件的端点指定事件,否则仿真器将无法进行仿真返回返回数字器件仿真过程的特点SABER仿真器对数字器件的仿真是基于事件队列而不是基于事件步长,SABER仿真器根据设计需要对所有需要计算的数字

4、模板的事件进行自动排序。而when段的执行完全依赖事件队列的事件,如果在事件队列中没有事件存在,则模板体中的when段将不能执行。WhenWhen段段常用函数常用函数初始化初始化when段的特征when段是在数字模型中常用的段,而在模拟器件模型中不用这个段。对于模拟器件模型的端点特征通常都是在方程段中进行描述,在方程段中的方程总是与var变量或pin-type型变量联系在一起的。在数字器件中的when段的作用与模拟器件方程段的作用相似,它也是来描述数字器件端点特征的。when段作用的特征when段是一个操作段,该段的操作总是和时间联系在一起的,即在什么时候操作。它可以离散模拟信号,操作数字信号

5、,测试模拟波形穿越门槛,确定触发事件,确定仿真器的时间等。when段的定义when(condition)statements 定义when段的关键词为when,条件将被监测,一旦条件满足就将执行函数体中的statements。但是,在when段中使用的条件总是和时间联系在一起的,在when段中的条件总有时间的概念。返回返回数字器件模型中常用函数在数字模板中常用的概念是事件,其很多过程都是由事件触发的;而与事件相关的触发函数为schedule_event;handle;event_on;deschedule。其中前两个函数为事件设置函数,event_on为事件监视函数,deschedule函数为

6、事件解除函数。只有当对象设置为事件后,event_on和deschedule函数才可以用。事件设置函数事件设置函数事件监视函数事件监视函数事件解除函数事件解除函数返回到过程特点返回到过程特点事件驱动函数在事件驱动函数中shedule_event和handle函数的用法如下:schedule_event(3u,out1,l4_0)handle=schedule_event(3u,out1,l4_0)上述函数就是在指定时刻对指定的变量进行赋值,函数中的第一个变量为指定时刻,第二个变量为指定变量,第三个变量为指定变量。上述第二函数返回了一个函数的句柄。事件驱动函数与普通赋值的区别从上述叙述中可以看出

7、,从表面上看事件驱动函数schedule_event就是一个赋值函数,只不过schedule_event与指定的时刻有关,其实,用事件驱动函数schedule_event赋值与普通的赋值函数有本质的区别。用schedule_event函数赋值是将对象设置进了event队列中。返回返回事件监视函数 event_on(state_var,old_var)函数可以有两个变量,其中第二个变量为可选项。该函数中的state_var变量为被监视变量,当监视的对象事件发生时,该函数的返回值为1,同时将事件发生前state_var变量的值赋给old_var变量,否则该函数的返回值为0。该函数通常作为when段

8、的条件使用,该函数的第二个变量也不常用。when(event_on(out1)返回返回事件解除函数deschedule 函数用于将对象从事件队列中退出,但是在使用该函数时必须获得事件对象的句柄,因此在将对象设置进事件队列时,必须获得该对象的句柄。handle=schedule_event(3u,out1,l4_0)deschedule(handle)返回返回数字器件的初始化由模拟器件组成的系统,在初始化时都是将所有的节点初始电压设置为0,将电容器设置为开路,将电感器设置为短路,然后通过直流分析求得系统的节点电压。数字系统在初始化时首先将logic_4的节点值设置为logic_x,然后再检查是否

9、有节点设置了不为logic_x的初始值,最后再作直流分析。数值特征数值特征数字器件内部变量的初始化数字模板也经常使用局部变量,局部变量的类型也是state型变量,其量纲不一定是logic_4,初始化这些局部变量通常有两种方法,一种是在when段中初始化,它就是指定一个值,另一种方法就是在函数定义的时候初始化这个变量。用第一种方法就是将对象放置在一个事件队列中,而用第二种方法就没有将对象放置在事件队列中。因此根据需要选择。模型小结模型小结数字器件模型小结1 数字器件连接点类型为state类型。2 数字器件模型中通常没有方程段,而描述端点特征的段通常是when段,当然在一个模板体中可能有多个whe

10、n段。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

11、_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 模板头模板头whenwhen段段driven函数函数初始化初始化时钟模板时钟模板与门器件模型的头说明数字器件模板的关键词是template,在数字器件的关键词不能使用element template数字器件的连接点必须定义为state类型。需要注意的是只有数字器件才将器件的连接点定义为st

12、ate。模板头中的argument定义的是延时时间。返回返回函数模板体中的when段when statement 是数字模板中最基本函数段,在本段中主要是通过对列入事件队列中的对象事件的监视和赋值。在一个模板体中可以有多个when statement,when statement 一般情况下在模板体中使用,但它也可以在网表中使用。When(condition)statements when 段的执行过程when 段的执行过程是当条件满足时这些下面的statement,在when段中可以使用所有的仿真器变量、条件判据和MAST语言函数。返回返回driven 函数的作用在本模板中使用了以下判断if

13、(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.

14、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语言中数字器件的冲突解决机制

15、(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 o

16、ff-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(even

17、t_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 sta

18、te 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 段段

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁