




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第五章 有限狀態(tài)機設計,第一節(jié) 一般狀態(tài)機的設計,一、 1、數(shù)據(jù)類型定義語句,子類型SUBTYPE的語句格式如下: SUBTYPE 子類型名 IS 基本數(shù)據(jù)類型 RANGE 約束范圍; SUBTYPE digits IS INTEGER RANGE 0 to 9 ;,2、枚舉類型 枚舉類型是用文字符號來表示一組實際的二進制數(shù)。 TYPE m_state IS (s0,s1,s2,s3); SIGNAL current_state, next_state: m_state ;,二、有限狀態(tài)機的優(yōu)越性, 有限狀態(tài)機克服了純硬件數(shù)字系統(tǒng)順序方式控制不靈活的缺點。 狀態(tài)機的結構模式相對簡單。 狀態(tài)機容
2、易構成性能良好的同步時序邏輯模塊。 狀態(tài)機的VHDL表述豐富多樣。 在高速運算和控制方面,狀態(tài)機更有其巨大的優(yōu)勢。 就可靠性而言,狀態(tài)機的優(yōu)勢也是十分明顯的。,三、一般狀態(tài)機的設計,最常用的狀態(tài)機通常包含說明部分、主控時序進程、主控組合進程、輔助進程幾部分。,(1)說明部分 完成對新數(shù)據(jù)類型(狀態(tài)類型,即狀態(tài)名)和狀態(tài)變量的定義 TYPE STATE IS (IDLE,DECISION,READ,WRITE) -枚舉狀態(tài)類型 SIGNAL PRESENT_STATE,NEXT_STATE:STATE ; -定義信號,(2)主控時序進程 完成當前狀態(tài)向下一個的躍遷,但不負責進入下一狀態(tài)的具體狀態(tài)
3、取值,只是在時鐘沿到來時,當前狀態(tài)進入下一個狀態(tài)。 在這一部分也可完成同步或異步清零或置位方面的控制信號。,(3)主控組合進程 根據(jù)外部輸入的控制信號(包括來自狀態(tài)機的外部信號和來自狀態(tài)機內(nèi)部其它非主控的組合或時序進程的信號)、或(和)當前狀態(tài)的狀態(tài)值確定下一狀態(tài)的取向,以及確定對外輸出或?qū)?nèi)部其它組合或時序進程輸出控制信號的內(nèi)容。,(4)輔助進程:用于配合狀態(tài)機工作的其他組合進程和時序進程。,狀態(tài)機的建立過程,一、利用可枚舉的狀態(tài)類型定義信號 TYPE STATE IS (IDLE,DECISION,READ,WRITE) -枚舉狀態(tài)類型 SIGNAL PRESENT_STATE,NEXT_
4、STATE:STATE TYPE -定義信號,二、建立狀態(tài)機的主控時序進程和主控組合進程,主控時序進程完成進程的躍遷,主控組合進程定義狀態(tài)的轉(zhuǎn)移方向和輸出。由于次態(tài)是現(xiàn)態(tài)及輸入信號的函數(shù),所以狀態(tài)均為進程的敏感信號。 STATE_COMB: PROCESS (PRESENT_STATE,READ,WRITE,IDLE) BEGIN END PROCESS STATE_COMB;,三、在主控組合進程中定義狀態(tài)的轉(zhuǎn)移,在進程中插入CASE WHEN 語句,因為空閑語句是狀態(tài)的起點和終點,因此,作為WHEN 之后的第一項,再列出狀態(tài)轉(zhuǎn)移到其他狀態(tài)的條件,即可寫出狀態(tài)轉(zhuǎn)移的流程。,第二節(jié) Moore型
5、有限狀態(tài)機的設計,從狀態(tài)機的信號輸出方式分:Moore型和Mealy型兩類狀態(tài)機。從輸出時序上看,前者屬于同步輸出狀態(tài)機,后者屬于異步輸出狀態(tài)機。 Mealy型狀態(tài)機的輸出是當前狀態(tài)和所有輸入信號的函數(shù),它的輸出是在輸入變化后立即發(fā)生的,不依賴時鐘的同步。 Moore型狀態(tài)機的輸出僅為當前狀態(tài)的函數(shù),這類狀態(tài)機在輸入發(fā)生變化后還必須等待時鐘的到來,時鐘使狀態(tài)發(fā)生變化時才導致輸出的變化所以比Mealy型狀態(tài)機要多等待一個時鐘周期。,一、三進程有限狀態(tài)機 以A/D采樣控制器的設計為例 1、應用狀態(tài)機設計控制器方法簡述 (1)分析控制器設計指標,建立系統(tǒng)算法模型圖; (2)分析被控對象的時序狀態(tài),確
6、定控制器有限狀態(tài)機的各個狀態(tài),及輸入/輸出條件; (3)應用VHDL語言完成描述。,2、 AD0809采樣控制器的設計,ADC0809為單極性輸入,8位轉(zhuǎn)換逐次逼近A/D轉(zhuǎn)換器,可對05V的INT0INT7的8路模擬信號分時進行轉(zhuǎn)換,完成一次轉(zhuǎn)換的時間約為100微秒。 其中D7D0為A/D變換數(shù)據(jù)輸出;ADD-CBA為8路通道選擇地址;START信號是轉(zhuǎn)換啟動信號,上升沿有效;EOC為狀態(tài)結束標志,低電平轉(zhuǎn)為高電平時轉(zhuǎn)換結束;OE為數(shù)據(jù)輸出允許信號,高電平有效; ALE為地址鎖存允許信號;LOCK為數(shù)據(jù)鎖存信號。 在轉(zhuǎn)換開始前,ADC0809需要在ALE上升沿控制下,將3位8路通道選擇地址鎖入
7、鎖存器,以確定轉(zhuǎn)換信號通道;然后在時鐘的下降沿產(chǎn)生START信號啟動轉(zhuǎn)換,這時ADC0809的EOC信號由高電平轉(zhuǎn)為低電平,開始數(shù)據(jù)轉(zhuǎn)換,直到EOC信號低電平轉(zhuǎn)為高電平時轉(zhuǎn)換結束;之后使能OE信號,使轉(zhuǎn)換數(shù)據(jù)輸出。,系統(tǒng)級的設計是控制器設計的步驟: 第一步,是將控制器指標規(guī)范用自然語言描述,并將其語言描述轉(zhuǎn)換為真值表、狀態(tài)圖或算法模型的過程。 對于VHDL語言來說,系統(tǒng)級的設計就是用一系列相互關聯(lián)的進程組成硬件算法模型,即將描述系統(tǒng)功能的自然語言翻譯為進程,每個進程完成不同的功能,并通過進程模型圖來表示。 在ADC0809控制器的設計中,可以將其劃分為三個進程,即狀態(tài)生成進程、狀態(tài)轉(zhuǎn)換進程、狀
8、態(tài)機輸出進程。三部分關系見圖1所示。,二、狀態(tài)劃分,在進行控制部分狀態(tài)機的設計過程中,主要是分析ADC0809的時序來確定狀態(tài)轉(zhuǎn)換進程中的各個狀態(tài),幾個狀態(tài)下的控制信號輸出。,根據(jù)以上設計思想和VHDL語言的特點,控制器的狀態(tài)生成進程以時鐘信號為敏感量,當時鐘發(fā)生有效跳變時,狀態(tài)機的狀態(tài)發(fā)生變化,即產(chǎn)生下一狀態(tài)。而狀態(tài)轉(zhuǎn)換進程采用組合邏輯進程,使用CASE語句檢查狀態(tài)機的當前狀態(tài),然后使用IF-THEN-ELSE語句決定下一狀態(tài)。這種描述風格產(chǎn)生結構化的VHDL代碼,并且可讀性好。,ADC0809,0809將0-5V輸入 模擬電壓通過 FPGA中的狀態(tài)機 轉(zhuǎn)換輸出為16進 制數(shù):“9D”,旋轉(zhuǎn)
9、此電位器 可改變0809的 輸出,注意轉(zhuǎn)換輸出 已改變?yōu)椋?C,3、單進程Moore型有限狀態(tài)機,由于輸出信號由組合進程發(fā)出,在特定情況下,難免出現(xiàn)毛刺現(xiàn)象,所以利用單進程Moore狀態(tài)機來避免產(chǎn)生毛刺。,第三節(jié) Mealy型有限狀態(tài)機的設計,【例8-6】 MEALY2 LIBRARY IEEE; -MEALY FSM USE IEEE.STD_LOGIC_1164.ALL; ENTITY MEALY2 IS PORT ( CLK ,DATAIN,RESET : IN STD_LOGIC; Q : OUT STD_LOGIC_VECTOR(4 DOWNTO 0); END MEALY2; AR
10、CHITECTURE behav OF MEALY2 IS TYPE states IS (st0, st1, st2, st3,st4); SIGNAL STX : states ; SIGNAL Q1 : STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN COMREG : PROCESS(CLK,RESET) -決定轉(zhuǎn)換狀態(tài)的進程 BEGIN IF RESET =1 THEN STX IF DATAIN = 1 THEN STX IF DATAIN = 0 THEN STX IF DATAIN = 1 THEN STX IF DATAIN = 0 THEN STX I
11、F DATAIN = 1 THEN STX STX = st0; END CASE ;,接下頁,IF CLKEVENT AND CLK = 1 THEN Q1=Q2; END IF; END PROCESS COM1 ; Q = Q1 ; END behav;,接上頁,圖8-11 例8-6狀態(tài)機工作時序圖,END IF; END PROCESS COMREG ; COM1: PROCESS(STX,DATAIN,CLK) -輸出控制信號的進程 VARIABLE Q2 : STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN CASE STX IS WHEN st0 = IF
12、DATAIN = 1 THEN Q2 := 10000 ; ELSE Q2 := 01010 ; END IF ; WHEN st1 = IF DATAIN = 0 THEN Q2 := 10111 ; ELSE Q2:=10100 ; END IF ; WHEN st2 = IF DATAIN = 1 THEN Q2 := 10101 ; ELSE Q2:=10011 ; END IF ; WHEN st3= IF DATAIN = 0 THEN Q2 := 11011 ; ELSE Q2:=01001 ; END IF ; WHEN st4= IF DATAIN = 1 THEN Q2 :
13、= 11101 ; ELSE Q2:=01101 ; END IF ; WHEN OTHERS = Q2:=00000 ; END CASE ;,接下頁,由CPLD/FPGA中 的狀態(tài)機來控制 AD574的采樣操作,RAM在此適配 板下面,高速晶振,單片機,適配板下的AD574A,RC,STATUS,D11.0,AD574啟動時序,20us,Z,/CS,圖7-3 AD574工作時序,圖7-4 AD574工作時序,圖7-5 采樣狀態(tài)機結構框圖,【例】 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY AD574 IS PORT (D :IN ST
14、D_LOGIC_VECTOR(11 DOWNTO 0); CLK ,STATUS : IN STD_LOGIC;-狀態(tài)機時鐘CLK,AD574狀態(tài)信號STATUS LOCK0 : OUT STD_LOGIC; -內(nèi)部鎖存信號LOCK的測試信號 CS,A0,RC,K12X8 : OUT STD_LOGIC; -AD574控制信號 Q : OUT STD_LOGIC_VECTOR(11 DOWNTO 0); -鎖存數(shù)據(jù)輸出 END AD574; ARCHITECTURE behav OF AD574 IS TYPE states IS (st0, st1, st2, st3,st4); SIGNA
15、L current_state, next_state: states :=st0 ; SIGNAL REGL : STD_LOGIC_VECTOR(11 DOWNTO 0); SIGNAL LOCK : STD_LOGIC; BEGIN K12X8 = 1; LOCK0 = LOCK ; COM1: PROCESS(current_state,STATUS) -決定轉(zhuǎn)換狀態(tài)的進程 接下頁,BEGIN CASE current_state IS WHEN st0 = next_state next_state IF (STATUS=1) THEN next_state next_state n
16、ext_state next_state CS CS CS CS CSCS=1; A0=1;RC=1;LOCK=0;-其它情況返回初始態(tài) 接下頁,接上頁,END CASE ; END PROCESS COM2 ; REG: PROCESS (CLK) - 時序進程 BEGIN IF ( CLKEVENT AND CLK=1) THEN current_state = next_state; END IF; END PROCESS REG; LATCH1 : PROCESS (LOCK) - 數(shù)據(jù)鎖存器進程 BEGIN IF LOCK=1 AND LOCKEVENT THEN REGL = D ; END IF; END PROCESS ; Q = REGL; END behav;,接上頁,圖8-6 AD574采樣狀態(tài)機工作時序,第四節(jié) 狀態(tài)編碼,狀態(tài)位直接輸出型編碼,接下頁,接下頁,接上頁,2 順序編碼,3 一位熱碼編碼(One-hot encoding),圖7-13 一位熱碼編碼方式選擇窗,狀態(tài)機編碼方式設
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 八年級數(shù)學下冊第20章數(shù)據(jù)的初步分析20.1數(shù)據(jù)的頻數(shù)分布教案新版滬科版
- 供樓合同范例
- 2025版高考歷史大一輪復習第一單元古代中國的政治制度第4講專制集權的不斷加強教案含解析岳麓版
- 個人拼裝房屋合同范例
- 常用建筑施工方案范本
- 2025年耐高溫可加工陶瓷項目合作計劃書
- 涼亭采購安裝合同范例
- 儲罐氣體銷售合同范例
- 中山日式花園施工方案
- 保險中介加盟合同范例
- 2025年八省聯(lián)考數(shù)學試題(原卷版)
- 基于教學評一體化理念的高中英語閱讀教學行動研究
- 高教社馬工程倫理學(第二版)教學課件02
- 《榜樣9》觀后感心得體會二
- 2024年安全生產(chǎn)法律、法規(guī)、標準及其他要求清單
- 2024年滁州職業(yè)技術學院單招職業(yè)適應性測試題庫帶答案
- 小學生播音主持課課件
- 二年級下冊道法大單元全冊教案
- 人工智能在智慧物流中的應用
- 《高大模板支撐系統(tǒng)實時安全監(jiān)測技術規(guī)范》
- 心臟康復體外反搏
評論
0/150
提交評論