99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SaberRD狀態(tài)機建模工具介紹(一)什么是狀態(tài)機建模

冬至子 ? 來源:Saber仿真 ? 作者:Greatalent ? 2023-12-05 09:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、什么是狀態(tài)機建模

狀態(tài)機建模是使用狀態(tài)圖和方程式的手段,創(chuàng)建基于混合信號的有限狀態(tài)機模型的一種建模工具。

狀態(tài)圖具有強大的視覺特征,在設(shè)計的早期階段,使用狀態(tài)圖能夠?qū)?fù)雜的系統(tǒng)行為抽象為更高層次的模型,而狀態(tài)機建模工具具有將基于行為狀態(tài)模型與系統(tǒng)關(guān)聯(lián)起來的獨特功能。

狀態(tài)機建模工具可以生成基于MAST、VHDL-AMSVerilog-A語言的仿真模型。使用狀態(tài)機建模工具不需要系統(tǒng)的訓(xùn)練,不需要懂專業(yè)的建模語言語法,上手非常容易。

狀態(tài)機建模工具主要應(yīng)用于:電源控制管理或電路控制、離散時間控制、事件控制等場合。

2、狀態(tài)機建模工具介紹

圖片

打開SaberRD,在Model標簽欄下單擊狀態(tài)機建模按鈕,進入建模界面。

圖片

如上圖所示,狀態(tài)機建模界面可分為三部分:拓撲編輯區(qū),變量編輯區(qū)和狀態(tài)圖編輯區(qū)。

l 拓撲編輯區(qū):定義模型接口及接口屬性;

l 變量編輯區(qū):定義與模型相關(guān)的變量

l 狀態(tài)圖編輯區(qū):定義模型內(nèi)部各個變量之間的邏輯關(guān)系及使用公式對變量進行行為描述

2.1. 拓撲編輯區(qū)

進行狀態(tài)機建模首先需要定義狀態(tài)機拓撲,包括定義狀態(tài)機的接口,及接口屬性。

接口有三種類型:分支型,輸入型,輸出型。當定義的接口為輸入或輸出端口時,對應(yīng)在右側(cè)變量區(qū)域會有相同名稱的變量生成;當接口定義為分支型接口時,該接口包含through和across型變量。

圖片

2.1.1. 分支型終端

分支型終端可以使得系統(tǒng)內(nèi)部各元素之間進行能量的交換,遵循能量守恒定律。能量的端口類型包括:電,磁,機械,熱。每一種分支型端口包含一對跨接(across)和(導(dǎo)通)through型變量,如電類型端口包含電壓和電流兩種信息。電壓大小代表潛在驅(qū)動能力,而導(dǎo)通型變量電流表示流量的大小。分支型終端可以是差分形式或者是單端形式。

下圖是幾種分支型終端的類型定義。

圖片

2.1.2. 輸入/輸出端口定義

輸入端口和輸出端口功能類似,下文表述以輸入端口為例,對于輸出端口同樣適用。

輸入端口不包含能量守恒信息,用于多算法控制或者邏輯控制,變量類型分別對應(yīng)Continuous和State,如下圖所示。Continuous變量是連續(xù)變量,用于基于時間的算法控制,State是狀態(tài)變量,用于基于事件驅(qū)動的控制。

圖片

輸入輸出端口的單位有多種類型,如下圖所示。對于控制類的,多使用無單位的。

圖片

輸入輸出端口定義好后,對應(yīng)的在右側(cè)變量區(qū)會出現(xiàn)相同名稱的變量,如下圖所示:

圖片

2.2. 變量編輯

定義好接口拓撲后,下一步就是定義模型中需要用到的變量。包括靜態(tài)變量,連續(xù)型continuous和狀態(tài)型state變量。同時還可以定義數(shù)組,和函數(shù)。

圖片

2.2.1. 靜態(tài)變量 Static

靜態(tài)變量是指在整個瞬態(tài)仿真過程中,變量參數(shù)不變。定義靜態(tài)變量時,需要注意區(qū)分是模型參數(shù)還是內(nèi)部參數(shù)。如下圖所示。

圖片

模型參數(shù)就相當于定義模型的外部參數(shù),變量值在模型初始化時可以參量化設(shè)置。

而內(nèi)部參數(shù)多是通過一個表達式由其他模型參數(shù)計算而來。

例如定義了一個模型變量a,再定義一個內(nèi)部參數(shù)靜態(tài)變量b,b=a*100,定義式如下圖所示:

圖片

2.2.2. 連續(xù)型變量

連續(xù)型變量用在基于連續(xù)時間狀態(tài)的仿真應(yīng)用中。一般使用等式進行賦值。狀態(tài)機變量中包括的類型有4種:

n 分支型連續(xù)變量(包含一對跨接(across)和(導(dǎo)通)through型變量)

n 輸入型連續(xù)變量(控制型輸入變量)

n 內(nèi)部連續(xù)變量

n 輸出連續(xù)變量(控制型輸出變量)

2.2.3. 狀態(tài)型變量

狀態(tài)型變量用于基于事件驅(qū)動的離散時間仿真應(yīng)用中。狀態(tài)型變量一般在state exit,state entry,initial actions時進行賦值。

2.3. 狀態(tài)機狀態(tài)圖編輯

狀態(tài)機狀態(tài)圖編輯包含:States、Transitions、Blocks、Clocks

圖片

2.3.1. States

states本質(zhì)上說是一個布爾型變量,它的狀態(tài)可以是激活和非激活狀態(tài)。

? AnalogEquation:連續(xù)型變量的賦值或state變量賦值

可以賦值基于連續(xù)變量的公式continuous variable equation如:a=b+c等價于b+c;a=b*cos(a);b+c

可以賦值state equation

? Initial/Enty/Exit :state型變量賦值,只能給內(nèi)部或輸出state variables賦值。Initial在做DC分析時使用,Entry:狀態(tài)激活時賦值;Exit:狀態(tài)退出時賦值內(nèi)容。

圖片

賦值形式variable = expression。

允許使用if-else語句。例子:

圖片

Processes 進程

進程概念允許并發(fā)激活狀態(tài)。單個進程是一組不能同時激活的獨占狀態(tài),但是處于不同進程的狀態(tài)可以同時激活。如下圖所示是一個2個進程狀態(tài)機。共有狀態(tài)3*4=12個狀態(tài)。

圖片

2.3.2. Transitions

定義狀態(tài)之間切換的條件及過程。條件是一個布爾型結(jié)果或變量

l Transition condition:>, <, <=, >=, &, |, ==, =, !=, timeout, active, event_on (note that == and = are equivalent)

n timeout function定義一個關(guān)于時間的公式,超過這個時間,就會觸發(fā)狀態(tài)變化。timeout(1)&&(a>b) becomes true whenever "a" becomes greater than "b" after one second has elapsed since state entry

n active function:使用states的名稱作為參數(shù),用于進程之間的跳變

n event_on function:state變量作為參數(shù),event_on(clk)&&(clk==’1’)

l Transition action:(after any state or block exit actions and before any state or block entry actions),規(guī)則同entry actions。

圖片

2.3.3. Blocks

允許多個states共享transition和actions

Block有Entry Action和Exit Action屬性。設(shè)計規(guī)則與state 中的Action是一樣的。如下,Block狀態(tài)切換發(fā)生在從S1的Exit Action之后,S2的Enter Action之前。

圖片

2.3.4. Clocks

Clock允許某些動作周期性的發(fā)生,但是與state是否激活無關(guān)。

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • VHDL語言
    +關(guān)注

    關(guān)注

    1

    文章

    113

    瀏覽量

    18687
  • 狀態(tài)機
    +關(guān)注

    關(guān)注

    2

    文章

    493

    瀏覽量

    28237
  • 邏輯控制
    +關(guān)注

    關(guān)注

    0

    文章

    40

    瀏覽量

    12602
  • 靜態(tài)變量
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    6792
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    SaberRD狀態(tài)機建模工具介紹(二)狀態(tài)機建模工具使用示例

    假設(shè)電阻阻值為r_normal,首先打開狀態(tài)機建模工具,添加電阻端口,電阻端口包含貫通變量電流和跨接變量電壓,使用分支型端口。
    的頭像 發(fā)表于 12-05 09:53 ?1658次閱讀
    <b class='flag-5'>SaberRD</b><b class='flag-5'>狀態(tài)機</b><b class='flag-5'>建模</b><b class='flag-5'>工具</b><b class='flag-5'>介紹</b>(二)<b class='flag-5'>狀態(tài)機</b><b class='flag-5'>建模</b><b class='flag-5'>工具</b>使用示例

    玩轉(zhuǎn)Spring狀態(tài)機

    說起Spring狀態(tài)機,大家很容易聯(lián)想到這個狀態(tài)機和設(shè)計模式中狀態(tài)模式的區(qū)別是啥呢?沒錯,Spring狀態(tài)機就是狀態(tài)模式的
    的頭像 發(fā)表于 06-25 14:21 ?1310次閱讀
    玩轉(zhuǎn)Spring<b class='flag-5'>狀態(tài)機</b>

    狀態(tài)機舉例

    狀態(tài)機舉例 你可以指定狀態(tài)寄存器和狀態(tài)機狀態(tài)。以下是個有四種狀態(tài)的普通
    發(fā)表于 03-28 15:18 ?1096次閱讀

    狀態(tài)機代碼生成工具

    狀態(tài)機代碼生成工具狀態(tài)機代碼生成工具狀態(tài)機代碼生成工具狀態(tài)機
    發(fā)表于 11-19 15:12 ?9次下載

    狀態(tài)機原理及用法

    狀態(tài)機原理及用法狀態(tài)機原理及用法狀態(tài)機原理及用法
    發(fā)表于 03-15 15:25 ?0次下載

    有限狀態(tài)機建模與優(yōu)化設(shè)計

    本文提出種優(yōu)秀 、高效的 Verilog HDL 描述方式來進行有限狀態(tài)機設(shè)計 介紹了 有限狀態(tài)機建模原則 并通過
    發(fā)表于 03-22 15:19 ?1次下載

    簡述使用QII狀態(tài)機向?qū)绾蝿?chuàng)建狀態(tài)機

    如何使用QII狀態(tài)機向?qū)?chuàng)建狀態(tài)機
    的頭像 發(fā)表于 06-20 00:11 ?4569次閱讀
    簡述使用QII<b class='flag-5'>狀態(tài)機</b>向?qū)绾蝿?chuàng)建<b class='flag-5'>一</b>個<b class='flag-5'>狀態(tài)機</b>

    狀態(tài)機概述 如何理解狀態(tài)機

    本篇文章包括狀態(tài)機的基本概述以及通過簡單的實例理解狀態(tài)機
    的頭像 發(fā)表于 01-02 18:03 ?1.1w次閱讀
    <b class='flag-5'>狀態(tài)機</b>概述  如何理解<b class='flag-5'>狀態(tài)機</b>

    FPGA:狀態(tài)機簡述

    本文目錄 前言 狀態(tài)機簡介 狀態(tài)機分類 Mealy 型狀態(tài)機 Moore 型狀態(tài)機 狀態(tài)機描述
    的頭像 發(fā)表于 11-05 17:58 ?8050次閱讀
    FPGA:<b class='flag-5'>狀態(tài)機</b>簡述

    什么是狀態(tài)機?狀態(tài)機5要素

    玩單片還可以,各個外設(shè)也都會驅(qū)動,但是如果讓你完整的寫套代碼時,卻無邏輯與框架可言。這說明編程還處于比較低的水平,你需要學(xué)會種好的編程框架或者種編程思想!比如模塊化編程、
    的頭像 發(fā)表于 07-27 11:23 ?2.1w次閱讀
    什么是<b class='flag-5'>狀態(tài)機</b>?<b class='flag-5'>狀態(tài)機</b>5要素

    狀態(tài)模式(狀態(tài)機)

    以前寫狀態(tài)機,比較常用的方式是用 if-else 或 switch-case,高級的點是函數(shù)指針列表。最近,看了文章《c語言設(shè)計模式–狀態(tài)模式(
    發(fā)表于 12-16 16:53 ?9次下載
    <b class='flag-5'>狀態(tài)</b>模式(<b class='flag-5'>狀態(tài)機</b>)

    自動生成程序狀態(tài)機代碼狀態(tài)機建模方法

    首先運行fsme命令來啟動狀態(tài)機編輯器,然后單擊工具欄上的“New”按鈕來創(chuàng)建個新的狀態(tài)機。FSME中用于構(gòu)建狀態(tài)機的基本元素
    的頭像 發(fā)表于 09-13 16:50 ?1664次閱讀
    自動生成程序<b class='flag-5'>狀態(tài)機</b>代碼<b class='flag-5'>狀態(tài)機</b><b class='flag-5'>建模</b>方法

    如何生成狀態(tài)機框架

    生成狀態(tài)機框架 使用FSME不僅能夠進行可視化的狀態(tài)機建模,更重要的是它還可以根據(jù)得到的模型自動生成用C++或者Python實現(xiàn)的狀態(tài)機框架。首先在FSME界面左邊的樹形列表中選擇"R
    的頭像 發(fā)表于 09-13 16:54 ?1239次閱讀
    如何生成<b class='flag-5'>狀態(tài)機</b>框架

    什么是狀態(tài)機狀態(tài)機的種類與實現(xiàn)

    狀態(tài)機,又稱有限狀態(tài)機(Finite State Machine,F(xiàn)SM)或米利狀態(tài)機(Mealy Machine),是種描述系統(tǒng)狀態(tài)變化
    的頭像 發(fā)表于 10-19 10:27 ?1.2w次閱讀

    Simulink中的狀態(tài)機建模方法 Simulink數(shù)據(jù)可視化與分析功能

    1. Simulink中的狀態(tài)機建模方法 1.1 理解狀態(tài)機的基本概念 在開始建模之前,了解狀態(tài)機的基本概念是必要的。
    的頭像 發(fā)表于 12-12 09:27 ?3001次閱讀