Saber MAST 要点归纳.docx
《Saber MAST 要点归纳.docx》由会员分享,可在线阅读,更多相关《Saber MAST 要点归纳.docx(10页珍藏版)》请在三一办公上搜索。
1、Saber MAST 要点归纳1. Saber MAST模型分类 MAST可以描述以下三类系统,每一类系统的模型写法各不相同。 连续模拟系统(continuous analog systems) 在仿真连续模拟系统时仿真器按照仿真时刻反复求解一系列代表仿真模型的微分方程。此类系统的每一个节点都包括两个系统变量(system variable),一个across量和一个through量,通常每个量都与一个单位关联,在cosmos scope中显示波形时可以显示相应单位。以电气模型为例,每一个节点都包括一个across量(电压)和一个though量(电流),单位分别是V和A。 连续模拟系统还包括液
2、压系统和磁路系统。 事件驱动系统(event driven systems) 此类系统的典型代表是数字逻辑系统,仿真器只有在事件发生时才计算并更新各个输出。此类系统的节点只包含一个无单位量。 数据流系统(data flow systems) 此类模型的典型代表是控制系统,和连续模拟系统类似,可以按照时域或频域仿真,但是严格区分输入量和输出量,节点只包含一个无单位量。 2. MAST 基本概念 21 MAST template基本形式 MAST template 是用MAST语言描述一个仿真模型的基本单位。MAST template是按照特定的语法编写的纯文本文件,后缀是.sin。 MAST t
3、emplate的基本格式包括以下几个部分: (1) template header 声明template的名称,管脚和参数 基本形式如下: template TEMPLATE_NAME PIN1 PIN2 PIN3 = ARG1, ARG2, ARG3 PIN_DECLARATION ARG_DECLARATION 容易看出template header由关键字template开始,后面紧跟template的名称,再接下来是管脚的名称,然后是一个等号,接下来是参数名、 值得注意的是等号左边的各个名称不需要用逗号分隔,而等号右边必须用逗号分隔各个参数。 (2) template header d
4、eclaration 对pin和argument类型的进行声明 MAST的所有变量在使用前都必须声明其类型。第一行的模板参数声明以后是管脚的类型声明和参数类型声明。形式如下: PIN_TYPE PIN_NAME ARG_TYPE ARG_NAME 管脚的类型根据template的类型可以定义为electrical、input/output和state等。参数类型通常为无单位简单量number。 例2-1 理想电流源 template isource p m = is electrical p,m number is equations i(p-m) += is 对于参数较多较复杂的模型可以将参
5、数分类,再将同一类的参数定义为一个结构 (3) template body 对模型的行为进行描述 结构化(structured)的模型包含本地变量声明(local variable declaration)和若干个段(section),各个段分别完成不同的任务。 最重要的段是equations section,template在此段中对系统变量(system variable)赋值。对于电气模型,需要赋值变量是节点电流;对于控制系统,是输出量。 电气模型见例2-1。 在连续模拟系统中equations section的任务在于给出用于求解通过模型管脚节点的through量的表达式,对于电气模型
6、而言,即给出节点电流的表达式。仿真器利用给出的节点电流的表达式代入每个节点的KCL方程,从而最终求出节点电压,节点电压即系统变量。对于电压源和电感则情况有所区别,此类模型的系统变量是电流而不是电压。 例2-1中i(p-m)表示从节点p到节点m的电流。由于电路网络中可能有多个模型并联在相同节点,每个模型对节点电流的作用应该是使其增加相应值,所以对其赋值应该用+=。 例2-2 控制系统的加法器 template adder in1 in2 out = k input in1 in2 output out number k equations out = (in1+in2)*k 对于事件驱动型的数字
7、系统,template body中描述输入输出关系的段不是equations section,而是when语句(when statement)。 例2-3 逻辑与门 template and in1 in2 out = td state logic_4 in1 in2 out number td=0 state logic_4 out_state when (event_on(in1) | event_on(in2) if (in1=l4_1) & (in2=l4_1) out_state = l4_1 else out_state = l4_0 if(driven(out)=out_stat
8、e) schedule_event(time+td, out, out_state) 其中template的管脚类型为state,数据类型是logic_4。when statement的语法为 when(CONDITION) . 其中CONDITION通常用带有特定参数的event_on函数特定信号发生变化的事件,即当作为event_on的参数的信号发生变化时CONDITION为真,执行when后面的语句。 对数字管脚信号的幅值必须使用schedule_event语句,这样才能将事件加入仿真器的事件队列,从而是输出信号改变以后触发下一级的模块。schedule_event的参数如下: sche
9、dule_event(TIME, STATE_NAME, VALUE) 表示在指定时刻令指定名称的state变量变为给定的值。time是仿真器提供的系统变量,表示当前仿真时刻。 在例2-3中参数td反映输出信号发生变化所需的延迟时间。中间变量out_state用于与当前输出管脚状态比较,从而在输入发生变化后仅当输出也发生改变才触发事件。 对本地局部变量的复制赋值直接用等号(=).。 2.2 MAST template变量声明 在一个template中除了作为模型节点的pin变量和设置参数argument变量以外,通常还必须在template body中声明若干本地变量。通常可以分为无单位局部变
10、量、var/ref变量以及val变量。 无单位局部变量 不与单位关联,不具有实际物理意义,仅在模型内部有效 无单位量通常用作输入参数的中间变量,只可在parameter section中赋值。通常声明为简单标量类型number。 除了number、enum等标量类型,局部变量还可以声明为复合类型,如结构(struct)、数组(array)等。 例2-4 可变电阻 template var_r p m = r_max, ratio electrical p, m number r_max, ratio number r parameters if(ratio 1.0 | ratio m) = (
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Saber MAST 要点归纳 要点 归纳

链接地址:https://www.31ppt.com/p-3165416.html