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

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

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

AMEsim信號處理之有限狀態(tài)機(jī)內(nèi)部變量的聲明

冬至子 ? 來源:數(shù)值模擬交流之林 ? 作者:數(shù)值模擬交流之林 ? 2023-08-03 16:15 ? 次閱讀

1

內(nèi)部變量的聲明

狀態(tài)圖環(huán)境內(nèi)部的變量使用init關(guān)鍵字聲明:

圖片

在這個例子中,我們引入了一個名為 var 的變量,類型為 int,初始值為 0。每次狀態(tài)圖執(zhí)行遍歷轉(zhuǎn)換時,變量將遞增 2。同一作用域中每個變量只能有一個init。

變量初始化的語法為:
varname:=expr0 init expr1
此表達(dá)式引入了一個名為 varname 的變量,其初始值在第二個表達(dá)式中給出(在 init關(guān)鍵字之后)。

從上述表達(dá)可以看出關(guān)鍵字 init 是用在過渡狀態(tài)線上。

2

內(nèi)部變量聲明的簡化寫法

如果賦值中使用的表達(dá)式與用于初始化的表達(dá)式相同,則可以使用簡化的語法:

圖片

我們在這里介紹兩個變量 x 和 y,它們在傳遞初始轉(zhuǎn)換時將被分配為零(整數(shù)或?qū)崝?shù))。
變量的類型取決于用于初始化它的值。例如,在這里,使用文字整數(shù) 0 和浮點(diǎn)文字 0.0 分別導(dǎo)致實(shí)際類型 int 和 real:類型確定自動執(zhí)行并最終在整個狀態(tài)圖中傳播(任何后續(xù)使用 x 和 y 都會傳播所涉及的表達(dá)式中的 int 和實(shí)數(shù)類型約束)。

注意:禁止將 int 變量與實(shí)變量混合和匹配。必須使用 to_real 和 to_int 函數(shù)進(jìn)行轉(zhuǎn)換。Int 常量可以在任何地方用作實(shí)常數(shù),但在從初始狀態(tài)過渡時。(看到?jīng)] to_real 和 to_int 又是兩個關(guān)鍵字)

3

變量的作用范圍

內(nèi)部變量的作用范圍也即是內(nèi)部變量的作用域。它們僅在狀態(tài)圖的某些部分可見。

變量在其復(fù)合狀態(tài)下可見,在下面的所有子復(fù)合(或并行)狀態(tài)下可見。

圖片

此示例中有三個不同的聲明變量,一個“y”變量僅在第一個復(fù)合狀態(tài)下可見,因為用于聲明它的 init 關(guān)鍵字位于此狀態(tài)內(nèi)的轉(zhuǎn)換中。還聲明了兩個同名變量:“x”。一個在頂層和 Composite1 可見;另一個在 Composite2 中聲明,并隱藏先前聲明的變量。由于這種隱藏,Composite2 無法訪問在頂級聲明的變量 x。Composite 1 不會重新定義名為 x 的變量,因此可以訪問在頂級聲明的變量。

注意:狀態(tài)圖環(huán)境編譯器將在存在變量隱藏的情況下生成警告消息。(警告只是警告,但不是錯誤)

為了簡化不同變量的范圍,下表綜合了不同變量的范圍:

1.jpg

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

    關(guān)注

    27

    文章

    8741

    瀏覽量

    147711
  • 信號處理器
    +關(guān)注

    關(guān)注

    1

    文章

    254

    瀏覽量

    25319
  • 有限狀態(tài)機(jī)

    關(guān)注

    0

    文章

    52

    瀏覽量

    10358
  • AMESIM
    +關(guān)注

    關(guān)注

    1

    文章

    15

    瀏覽量

    11742
收藏 人收藏

    評論

    相關(guān)推薦

    FPGA有限狀態(tài)機(jī)

    FPGA有限狀態(tài)機(jī)
    發(fā)表于 09-08 08:45

    有限狀態(tài)機(jī)有什么類型?

    在實(shí)際的應(yīng)用中,根據(jù)有限狀態(tài)機(jī)是否使用輸入信號,設(shè)計人員經(jīng)常將其分為Moore型有限狀態(tài)機(jī)和Mealy型有限狀態(tài)機(jī)兩種類型。
    發(fā)表于 04-06 09:00

    什么是有限狀態(tài)機(jī)

    在嵌入式,機(jī)器人領(lǐng)域,由于多的復(fù)雜邏輯狀態(tài),我們編寫程序的時候不得不考慮很多種情況,容易造成功能間的沖突。有限狀態(tài)機(jī)(finite-state machine),簡稱狀態(tài)機(jī),是一種表示有限
    發(fā)表于 12-20 06:51

    基于VHDL的MTM總線主模塊有限狀態(tài)機(jī)設(shè)計

    為了能夠更簡潔嚴(yán)謹(jǐn)?shù)孛枋鯩TM總線的主模塊有限狀態(tài)機(jī)狀態(tài)轉(zhuǎn)換,同時減少FPGA芯片功耗,提高系統(tǒng)穩(wěn)定性,文中在分析MTM總線結(jié)構(gòu)和主模塊有限狀態(tài)機(jī)模型的基礎(chǔ)上,基于VHDL語言采
    發(fā)表于 05-29 15:39 ?20次下載
    基于VHDL的MTM總線主模塊<b class='flag-5'>有限狀態(tài)機(jī)</b>設(shè)計

    有限狀態(tài)機(jī)_FSM_的實(shí)現(xiàn)

    本文主要介紹了IP模塊的有限狀態(tài)機(jī)的實(shí)現(xiàn)。
    發(fā)表于 03-22 15:42 ?0次下載

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

    本文提出一種優(yōu)秀 、高效的 Verilog HDL 描述方式來進(jìn)行有限狀態(tài)機(jī)設(shè)計 介紹了 有限狀態(tài)機(jī)的建模原則 并通過一個可綜合的實(shí)例 驗證了 該方法設(shè)計的有限狀態(tài)機(jī)在面積和功耗上的優(yōu)勢。
    發(fā)表于 03-22 15:19 ?1次下載

    VHDL有限狀態(tài)機(jī)設(shè)計-ST

    EDA的有限狀態(tài)機(jī),廣義而言是指只要涉及觸發(fā)器的電路,無論電路大小都可以歸結(jié)為狀態(tài)機(jī)有限狀態(tài)機(jī)設(shè)計在學(xué)習(xí)EDA時是很重要的一章。
    發(fā)表于 06-08 16:46 ?3次下載

    初學(xué)者對有限狀態(tài)機(jī)(FSM)的設(shè)計的認(rèn)識

    有限狀態(tài)機(jī)(FSM)是一種常見的電路,由時序電路和組合電路組成。設(shè)計有限狀態(tài)機(jī)的第一步是確定采用Moore狀態(tài)機(jī)還是采用Mealy狀態(tài)機(jī)
    發(fā)表于 02-11 13:51 ?4348次閱讀
    初學(xué)者對<b class='flag-5'>有限狀態(tài)機(jī)</b>(FSM)的設(shè)計的認(rèn)識

    Linux編程之有限狀態(tài)機(jī)FSM的理解與實(shí)現(xiàn)

    有限狀態(tài)機(jī)(finite state machine)簡稱FSM,表示有限狀態(tài)及在這些狀態(tài)之間的轉(zhuǎn)移和動作等行為的數(shù)學(xué)模型,在計算機(jī)領(lǐng)域有著廣泛的應(yīng)用。FSM是一種邏輯單元
    發(fā)表于 05-15 16:53 ?2045次閱讀
    Linux編程<b class='flag-5'>之有限狀態(tài)機(jī)</b>FSM的理解與實(shí)現(xiàn)

    如何使用FPGA實(shí)現(xiàn)序列檢測有限狀態(tài)機(jī)

    輸出部分外, 有限狀態(tài)機(jī)還含有一組具有“記憶”功能的寄存器, 這些寄存器的功能是記憶有限狀態(tài)機(jī)內(nèi)部狀態(tài), 它們常被稱為狀態(tài)寄存器。在
    發(fā)表于 11-04 17:17 ?12次下載
    如何使用FPGA實(shí)現(xiàn)序列檢測<b class='flag-5'>有限狀態(tài)機(jī)</b>

    有限狀態(tài)機(jī)設(shè)計是HDL Designer Series的關(guān)鍵應(yīng)用

    有限狀態(tài)機(jī)的設(shè)計是HDL Designer Series?工具的關(guān)鍵應(yīng)用。 盡可能地對于設(shè)計人員編寫導(dǎo)致狀態(tài)機(jī)性能不佳的VHDL,可以使用HDL Designer用于生成VHDL的Series?工具
    發(fā)表于 04-08 10:05 ?6次下載

    基于事件驅(qū)動的有限狀態(tài)機(jī)介紹

    ? 一、介紹 EFSM(event finite state machine,事件驅(qū)動型有限狀態(tài)機(jī)),是一個基于事件驅(qū)動的有限狀態(tài)機(jī),主要應(yīng)用于嵌入式設(shè)備的軟件系統(tǒng)中。 EFSM的設(shè)計原則是:簡單
    的頭像 發(fā)表于 11-16 15:29 ?2376次閱讀

    如何以面向?qū)ο蟮乃枷朐O(shè)計有限狀態(tài)機(jī)

    有限狀態(tài)機(jī)又稱有限狀態(tài)自動機(jī),簡稱狀態(tài)機(jī),是表示有限狀態(tài)以及在這些
    發(fā)表于 02-07 11:23 ?4次下載
    如何以面向?qū)ο蟮乃枷朐O(shè)計<b class='flag-5'>有限狀態(tài)機(jī)</b>

    基于事件驅(qū)動的有限狀態(tài)機(jī)介紹

    EFSM(event finite state machine,事件驅(qū)動型有限狀態(tài)機(jī)),是一個基于事件驅(qū)動的有限狀態(tài)機(jī),主要應(yīng)用于嵌入式設(shè)備的軟件系統(tǒng)中。
    的頭像 發(fā)表于 02-11 10:17 ?1075次閱讀

    有限狀態(tài)機(jī)分割設(shè)計

    有限狀態(tài)機(jī)分割設(shè)計,其實(shí)質(zhì)就是一個狀態(tài)機(jī)分割成多個狀態(tài)機(jī)
    的頭像 發(fā)表于 10-09 10:47 ?670次閱讀