数字器件MAST模型.pptVIP

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字器件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 数字器件模型中常用术语和连接点的特点 true—false, HIGH—LOW, on—off closed—open, 1—0 在模拟器件中定义了一个连接点就等价地定义了一个量纲和一对变量(across变量和through变量),而在数字器件中定义的连接点就定义了量纲和状态(state),其连接点类型为state,它表示一组数字,与各个离散时刻连接起来。 数字器件模型事件的特点 事件是数字器件端点在指定时刻从一个状态过渡到另一个状态,而这种过渡过程也是指定的。 建立的数字器件模型时,必须要在模板器件的端点指定事件,否则仿真器将无法进行仿真 数字器件仿真过程的特点 SABER仿真器对数字器件的仿真是基于事件队列而不是基于事件步长,SABER仿真器根据设计需要对所有需要计算的数字模板的事件进行自动排序。而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(ou

文档评论(0)

dmz158 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档