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)境編譯器將在存在變量隱藏的情況下生成警告消息。(警告只是警告,但不是錯誤)
為了簡化不同變量的范圍,下表綜合了不同變量的范圍:
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
轉(zhuǎn)換器
-
信號處理器
-
有限狀態(tài)機(jī)
-
AMESIM
相關(guān)推薦
FPGA有限狀態(tài)機(jī)
發(fā)表于 09-08 08:45
在實(shí)際的應(yīng)用中,根據(jù)有限狀態(tài)機(jī)是否使用輸入信號,設(shè)計人員經(jīng)常將其分為Moore型有限狀態(tài)機(jī)和Mealy型有限狀態(tài)機(jī)兩種類型。
發(fā)表于 04-06 09:00
在嵌入式,機(jī)器人領(lǐng)域,由于多的復(fù)雜邏輯狀態(tài),我們編寫程序的時候不得不考慮很多種情況,容易造成功能間的沖突。有限狀態(tài)機(jī)(finite-state machine),簡稱狀態(tài)機(jī),是一種表示有限
發(fā)表于 12-20 06:51
為了能夠更簡潔嚴(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次下載
本文主要介紹了IP模塊的有限狀態(tài)機(jī)的實(shí)現(xiàn)。
發(fā)表于 03-22 15:42
?0次下載
本文提出一種優(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次下載
EDA的有限狀態(tài)機(jī),廣義而言是指只要涉及觸發(fā)器的電路,無論電路大小都可以歸結(jié)為狀態(tài)機(jī)。有限狀態(tài)機(jī)設(shè)計在學(xué)習(xí)EDA時是很重要的一章。
發(fā)表于 06-08 16:46
?3次下載
有限狀態(tài)機(jī)(FSM)是一種常見的電路,由時序電路和組合電路組成。設(shè)計有限狀態(tài)機(jī)的第一步是確定采用Moore狀態(tài)機(jī)還是采用Mealy狀態(tài)機(jī)。
發(fā)表于 02-11 13:51
?4348次閱讀
有限狀態(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次閱讀
輸出部分外, 有限狀態(tài)機(jī)還含有一組具有“記憶”功能的寄存器, 這些寄存器的功能是記憶有限狀態(tài)機(jī)的內(nèi)部狀態(tài), 它們常被稱為狀態(tài)寄存器。在
發(fā)表于 11-04 17:17
?12次下載
有限狀態(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次下載
? 一、介紹 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次閱讀
有限狀態(tài)機(jī)又稱有限狀態(tài)自動機(jī),簡稱狀態(tài)機(jī),是表示有限個狀態(tài)以及在這些
發(fā)表于 02-07 11:23
?4次下載
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è)計,其實(shí)質(zhì)就是一個狀態(tài)機(jī)分割成多個狀態(tài)機(jī)
發(fā)表于 10-09 10:47
?670次閱讀
評論