《数字器件MAST模型》PPT课件

上传人:xt****7 文档编号:176772702 上传时间:2022-12-23 格式:PPT 页数:34 大小:80KB
收藏 版权申诉 举报 下载
《数字器件MAST模型》PPT课件_第1页
第1页 / 共34页
《数字器件MAST模型》PPT课件_第2页
第2页 / 共34页
《数字器件MAST模型》PPT课件_第3页
第3页 / 共34页
资源描述:

《《数字器件MAST模型》PPT课件》由会员分享,可在线阅读,更多相关《《数字器件MAST模型》PPT课件(34页珍藏版)》请在装配图网上搜索。

1、数字器件的MAST模型模拟器件模型的仿真特点 在SABER中很多时域器件模型都是模拟器件,即在作时域分析时的时间变化是连续的,但是在仿真时也是将连续函数离散化,其离散点就是仿真的步长。在通常情况下,仿真器的步长是根据仿真精度来确定的。也可以使用仿真器变量来控制仿真的步长。数字器件模型的仿真特点 在SABER中,用MAST语言建立数字器件模型就是在模型中控制仿真器的下一个仿真点。数字器件状态的变化时刻及变化结果是比较关注的,而状态的变化过程是不太关注的。在数字器件模型中最关键点就是在模板体中建立when段。数字器件模型数值的特点 数字器件模型在时间上是不连续的,在数值上也是离散的。在SABER中

2、有两类类型提供数字器件的离散数字量。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变量),而在数字器件中定义的连接点就

3、定义了量纲和状态(state),其连接点类型为state,它表示一组数字,与各个离散时刻连接起来。返回返回数字器件模型事件的特点 事件是数字器件端点在指定时刻从一个状态过渡到另一个状态,而这种过渡过程也是指定的。建立的数字器件模型时,必须要在模板器件的端点指定事件,否则仿真器将无法进行仿真返回返回数字器件仿真过程的特点 SABER仿真器对数字器件的仿真是基于事件队列而不是基于事件步长,SABER仿真器根据设计需要对所有需要计算的数字模板的事件进行自动排序。而when段的执行完全依赖事件队列的事件,如果在事件队列中没有事件存在,则模板体中的when段将不能执行。WhenWhen段段常用函数常用函

4、数初始化初始化when段的特征 when段是在数字模型中常用的段,而在模拟器件模型中不用这个段。对于模拟器件模型的端点特征通常都是在方程段中进行描述,在方程段中的方程总是与var变量或pin-type型变量联系在一起的。在数字器件中的when段的作用与模拟器件方程段的作用相似,它也是来描述数字器件端点特征的。when段作用的特征 when段是一个操作段,该段的操作总是和时间联系在一起的,即在什么时候操作。它可以离散模拟信号,操作数字信号,测试模拟波形穿越门槛,确定触发事件,确定仿真器的时间等。when段的定义 when(condition)statements 定义when段的关键词为when

5、,条件将被监测,一旦条件满足就将执行函数体中的statements。但是,在when段中使用的条件总是和时间联系在一起的,在when段中的条件总有时间的概念。返回返回数字器件模型中常用函数 在数字模板中常用的概念是事件,其很多过程都是由事件触发的;而与事件相关的触发函数为schedule_event;handle;event_on;deschedule。其中前两个函数为事件设置函数,event_on为事件监视函数,deschedule函数为事件解除函数。只有当对象设置为事件后,event_on和deschedule函数才可以用。事件设置函数事件设置函数事件监视函数事件监视函数事件解除函数事件解

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

7、ule_event赋值与普通的赋值函数有本质的区别。用schedule_event函数赋值是将对象设置进了event队列中。返回返回事件监视函数 event_on(state_var,old_var)函数可以有两个变量,其中第二个变量为可选项。该函数中的state_var变量为被监视变量,当监视的对象事件发生时,该函数的返回值为1,同时将事件发生前state_var变量的值赋给old_var变量,否则该函数的返回值为0。该函数通常作为when段的条件使用,该函数的第二个变量也不常用。when(event_on(out1)返回返回事件解除函数 deschedule 函数用于将对象从事件队列中退出

8、,但是在使用该函数时必须获得事件对象的句柄,因此在将对象设置进事件队列时,必须获得该对象的句柄。handle=schedule_event(3u,out1,l4_0)deschedule(handle)返回返回数字器件的初始化 由模拟器件组成的系统,在初始化时都是将所有的节点初始电压设置为0,将电容器设置为开路,将电感器设置为短路,然后通过直流分析求得系统的节点电压。数字系统在初始化时首先将logic_4的节点值设置为logic_x,然后再检查是否有节点设置了不为logic_x的初始值,最后再作直流分析。数值特征数值特征数字器件内部变量的初始化 数字模板也经常使用局部变量,局部变量的类型也是s

9、tate型变量,其量纲不一定是logic_4,初始化这些局部变量通常有两种方法,一种是在when段中初始化,它就是指定一个值,另一种方法就是在函数定义的时候初始化这个变量。用第一种方法就是将对象放置在一个事件队列中,而用第二种方法就没有将对象放置在事件队列中。因此根据需要选择。模型小结模型小结数字器件模型小结 1 数字器件连接点类型为state类型。2 数字器件模型中通常没有方程段,而描述端点特征的段通常是when段,当然在一个模板体中可能有多个when段。3 数字器件模型的仿真通常和仿真步长无关,其采用的是事件触发方式。4 数字器件的初始化必须是显式的,而模拟器件的初始化通常是隐式的。实例实

10、例与门器件符号及其逻辑真值表与门器件的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)

11、=out_state)#update AND gate output13 schedule_event(time+td,out,out_state)14 15 16 模板头模板头whenwhen段段driven函数函数初始化初始化时钟模板时钟模板与门器件模型的头说明 数字器件模板的关键词是template,在数字器件的关键词不能使用element template 数字器件的连接点必须定义为state类型。需要注意的是只有数字器件才将器件的连接点定义为state。模板头中的argument定义的是延时时间。返回返回函数模板体中的when段 when statement 是数字模板中最基本函数段

12、,在本段中主要是通过对列入事件队列中的对象事件的监视和赋值。在一个模板体中可以有多个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)该判断语句的

13、功能与如下语句的功能相同 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

14、_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)返回返回前一页前一页模板的初始化 在本模板中,对模板中的变量没有使用初始化,这表明系统将对所有的连接点使用初始值为lo

15、gic_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

16、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

17、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,说明该模板是数字型器件。且该模

18、板只有一个输出端点。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 段段

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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