![答疑與有限狀態(tài)機(jī)設(shè)計(jì)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/17/850a92a7-b18d-44d0-8044-ee3895e89ab1/850a92a7-b18d-44d0-8044-ee3895e89ab11.gif)
![答疑與有限狀態(tài)機(jī)設(shè)計(jì)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/17/850a92a7-b18d-44d0-8044-ee3895e89ab1/850a92a7-b18d-44d0-8044-ee3895e89ab12.gif)
![答疑與有限狀態(tài)機(jī)設(shè)計(jì)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/17/850a92a7-b18d-44d0-8044-ee3895e89ab1/850a92a7-b18d-44d0-8044-ee3895e89ab13.gif)
![答疑與有限狀態(tài)機(jī)設(shè)計(jì)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/17/850a92a7-b18d-44d0-8044-ee3895e89ab1/850a92a7-b18d-44d0-8044-ee3895e89ab14.gif)
![答疑與有限狀態(tài)機(jī)設(shè)計(jì)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/17/850a92a7-b18d-44d0-8044-ee3895e89ab1/850a92a7-b18d-44d0-8044-ee3895e89ab15.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1問題探討全成斌存在的問題nSignal vs variablen對LE認(rèn)識n資源是有限的240個(gè)LEn狀態(tài)機(jī)23硬件描述與軟件不同之處n信號n硬件連線的抽象n連接電路中元件n并行語句n多個(gè)語句同時(shí)執(zhí)行n對應(yīng)于電路中的不同部分ab4FPGA的基本單元Out D Q Clock Select 觸發(fā)器In1 In2 In3 LUT 組合邏輯塊組合邏輯塊5有限狀態(tài)機(jī)設(shè)計(jì) 61 一般有限狀態(tài)機(jī)1.1 類型定義語句TYPEnTYPE語句用法nTYPE 數(shù)據(jù)類型名 IS 數(shù)據(jù)類型定義 OF 基本數(shù)據(jù)類型 ;nTYPE 數(shù)據(jù)類型名 IS 數(shù)據(jù)類型定義 ;n舉例1. TYPE st1 IS ARRAY ( 0
2、 TO 15 ) OF STD_LOGIC ;2. TYPE week IS (sun,mon,tue,wed,thu,fri,sat) ; n子類型Subtype是原數(shù)據(jù)類型的一個(gè)子集 Subtype 子類型名 Is 基本數(shù)據(jù)類型 Range 約束范圍; Subtype Digits Is Integer Range 0 To 9 ; 7枚舉數(shù)據(jù)類型n屬于自定義數(shù)據(jù)類型n枚舉數(shù)據(jù)類型常用于狀態(tài)機(jī)描述type stats is (S0, S1, S2, S3); - 定義狀態(tài)機(jī)的四個(gè)狀態(tài)Signal current_state,next_state:stats81.2 為什么要使用狀態(tài)機(jī) 1、
3、狀態(tài)機(jī)克服了純硬件數(shù)字系統(tǒng)順序方式控制不靈活的缺點(diǎn)。、狀態(tài)機(jī)克服了純硬件數(shù)字系統(tǒng)順序方式控制不靈活的缺點(diǎn)。2、狀態(tài)機(jī)的結(jié)構(gòu)相對簡單,設(shè)計(jì)方案相對固定。、狀態(tài)機(jī)的結(jié)構(gòu)相對簡單,設(shè)計(jì)方案相對固定。3、狀態(tài)機(jī)容易構(gòu)成性能良好的同步時(shí)序邏輯模塊。、狀態(tài)機(jī)容易構(gòu)成性能良好的同步時(shí)序邏輯模塊。4、狀態(tài)機(jī)的、狀態(tài)機(jī)的VHDL表述豐富多樣、有其獨(dú)到的好處。表述豐富多樣、有其獨(dú)到的好處。5、在高速運(yùn)算和控制方面,狀態(tài)機(jī)更有其巨大的優(yōu)勢。、在高速運(yùn)算和控制方面,狀態(tài)機(jī)更有其巨大的優(yōu)勢。6、高可靠性。、高可靠性。9狀態(tài)機(jī)實(shí)例狀態(tài)機(jī)實(shí)例 ADC0809采樣狀態(tài)機(jī)采樣狀態(tài)機(jī)10簡單計(jì)算器狀態(tài)機(jī)111.3 一般狀態(tài)機(jī)的結(jié)
4、構(gòu) 1. 說明部分說明部分 說明部分一般放在結(jié)構(gòu)體的說明部分一般放在結(jié)構(gòu)體的ARCHITECTURE 和和BEGIN之之間,例如:間,例如:ARCHITECTURE .IS TYPE FSM_ST IS (s0,s1,s2,s3); SIGNAL current_state, next_state: FSM_ST; . 一般用枚舉數(shù)據(jù)類型描述狀態(tài)機(jī)的狀態(tài);一般用枚舉數(shù)據(jù)類型描述狀態(tài)機(jī)的狀態(tài); 用一個(gè)信號存儲當(dāng)前狀態(tài)。用一個(gè)信號存儲當(dāng)前狀態(tài)。121.3 一般狀態(tài)機(jī)的結(jié)構(gòu)2. 主控時(shí)序進(jìn)程主控時(shí)序進(jìn)程 描述在時(shí)鐘的驅(qū)動(dòng)下,狀態(tài)轉(zhuǎn)換的進(jìn)程描述在時(shí)鐘的驅(qū)動(dòng)下,狀態(tài)轉(zhuǎn)換的進(jìn)程comb_outputsst
5、ate_inputsresetclkFSM:s_machineCOMnext_statecurrent_statePROCESSREGPROCESS圖圖1 一般狀態(tài)機(jī)結(jié)構(gòu)框圖一般狀態(tài)機(jī)結(jié)構(gòu)框圖 131.3 一般狀態(tài)機(jī)的結(jié)構(gòu)3. 主控組合進(jìn)程主控組合進(jìn)程n給出狀態(tài)機(jī)輸出給出狀態(tài)機(jī)輸出n確定下一狀態(tài)的走向確定下一狀態(tài)的走向4. 輔助進(jìn)程輔助進(jìn)程 輔助狀態(tài)機(jī)工作的進(jìn)程,比如數(shù)據(jù)鎖存輔助狀態(tài)機(jī)工作的進(jìn)程,比如數(shù)據(jù)鎖存14【例例1】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY s_machine IS PORT ( clk,reset : IN STD_
6、LOGIC; state_inputs : IN STD_LOGIC_VECTOR (0 TO 1); comb_outputs : OUT INTEGER RANGE 0 TO 15 );END s_machine;ARCHITECTURE behv OF s_machine IS TYPE FSM_ST IS (s0, s1, s2, s3); -數(shù)據(jù)類型定義,狀態(tài)符號化數(shù)據(jù)類型定義,狀態(tài)符號化 SIGNAL current_state, next_state: FSM_ST;-將現(xiàn)態(tài)和次態(tài)定義為新的數(shù)據(jù)類型將現(xiàn)態(tài)和次態(tài)定義為新的數(shù)據(jù)類型接下頁接下頁BEGIN REG: PROCESS (
7、reset,clk) -主控時(shí)序進(jìn)程主控時(shí)序進(jìn)程 BEGIN IF reset = 1 THEN current_state = s0;-檢測異步復(fù)位信號檢測異步復(fù)位信號 ELSIF clk=1 AND clkEVENT THEN current_state comb_outputs= 5; IF state_inputs = 00 THEN next_state=s0; ELSE next_state comb_outputs= 8; IF state_inputs = 00 THEN next_state=s1; ELSE next_state comb_outputs= 12; IF s
8、tate_inputs = 11 THEN next_state = s0; ELSE next_state comb_outputs = 14; IF state_inputs = 11 THEN next_state = s3; ELSE next_state = s0; END IF; END case; END PROCESS; END behv; 16兩種狀態(tài)機(jī)nMoore型狀態(tài)機(jī)n輸出信號僅與當(dāng)前狀態(tài)有關(guān)nMealy型狀態(tài)機(jī)n輸出信號由當(dāng)前狀態(tài)與輸入共同決定。172 Moore2 Moore狀態(tài)機(jī)設(shè)計(jì)狀態(tài)機(jī)設(shè)計(jì) 2.1 MooreMoore狀態(tài)機(jī)設(shè)計(jì)狀態(tài)機(jī)設(shè)計(jì) 圖圖2 ADC080
9、9工作時(shí)序工作時(shí)序 182 Moore2 Moore狀態(tài)機(jī)設(shè)計(jì)狀態(tài)機(jī)設(shè)計(jì) 2.1 MooreMoore狀態(tài)機(jī)設(shè)計(jì)狀態(tài)機(jī)設(shè)計(jì) 圖圖3 控制控制ADC0809采樣狀態(tài)圖采樣狀態(tài)圖 【例例2】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ADCINT IS PORT(D : IN STD_LOGIC_VECTOR(7 DOWNTO 0); -來自來自0809轉(zhuǎn)換好的轉(zhuǎn)換好的8位數(shù)據(jù)位數(shù)據(jù)CLK : IN STD_LOGIC; -狀態(tài)機(jī)工作時(shí)鐘狀態(tài)機(jī)工作時(shí)鐘EOC : IN STD_LOGIC; -轉(zhuǎn)換狀態(tài)指示,低電平表示正在轉(zhuǎn)換轉(zhuǎn)換狀態(tài)指示,低電平表
10、示正在轉(zhuǎn)換ALE : OUT STD_LOGIC; -8個(gè)模擬信號通道地址鎖存信號個(gè)模擬信號通道地址鎖存信號START : OUT STD_LOGIC; -轉(zhuǎn)換開始信號轉(zhuǎn)換開始信號OE : OUT STD_LOGIC; -數(shù)據(jù)輸出數(shù)據(jù)輸出3態(tài)控制信號態(tài)控制信號ADDA : OUT STD_LOGIC; -信號通道最低位控制信號信號通道最低位控制信號LOCK0 : OUT STD_LOGIC; -觀察數(shù)據(jù)鎖存時(shí)鐘觀察數(shù)據(jù)鎖存時(shí)鐘Q : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); -8位數(shù)據(jù)輸出位數(shù)據(jù)輸出END ADCINT;ARCHITECTURE behav OF AD
11、CINT ISTYPE states IS (st0, st1, st2, st3,st4) ; -定義各狀態(tài)子類型定義各狀態(tài)子類型 SIGNAL current_state, next_state: states :=st0 ; SIGNAL REGL : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL LOCK : STD_LOGIC; - 轉(zhuǎn)換后數(shù)據(jù)輸出鎖存時(shí)鐘信號轉(zhuǎn)換后數(shù)據(jù)輸出鎖存時(shí)鐘信號 接下頁接下頁20BEGINADDA = 1;-當(dāng)當(dāng)ADDA=0,模擬信號進(jìn)入通道,模擬信號進(jìn)入通道IN0;當(dāng);當(dāng)ADDA=1,則進(jìn)入通道,則進(jìn)入通道IN1Q = REGL;
12、 LOCK0 ALE=0;START=0;LOCK=0;OE=0; next_state ALE=1;START=1;LOCK=0;OE=0; next_state ALE=0;START=0;LOCK=0;OE=0; IF (EOC=1) THEN next_state = st3; -EOC=1表明轉(zhuǎn)換結(jié)束表明轉(zhuǎn)換結(jié)束 ELSE next_state ALE=0;START=0;LOCK=0;OE=1; next_state ALE=0;START=0;LOCK=1;OE=1; next_state next_state = st0; END CASE ; END PROCESS COM
13、; REG: PROCESS (CLK) BEGIN IF (CLKEVENT AND CLK=1) THEN current_state=next_state; END IF; END PROCESS REG ; - 由信號由信號current_state將當(dāng)前狀態(tài)值帶出此進(jìn)程將當(dāng)前狀態(tài)值帶出此進(jìn)程:REG LATCH1: PROCESS (LOCK) - 此進(jìn)程中,在此進(jìn)程中,在LOCK的上升沿,將轉(zhuǎn)換好的數(shù)據(jù)鎖入的上升沿,將轉(zhuǎn)換好的數(shù)據(jù)鎖入 BEGIN IF LOCK=1 AND LOCKEVENT THEN REGL = D ; END IF; END PROCESS LATCH1 ;
14、 END behav; 212 Moore2 Moore狀態(tài)機(jī)設(shè)計(jì)狀態(tài)機(jī)設(shè)計(jì) 2.1 MooreMoore狀態(tài)機(jī)設(shè)計(jì)狀態(tài)機(jī)設(shè)計(jì) 圖圖4 ADC0809采樣狀態(tài)機(jī)工作時(shí)序采樣狀態(tài)機(jī)工作時(shí)序 【例例4】 Mealy狀態(tài)機(jī)設(shè)計(jì)狀態(tài)機(jī)設(shè)計(jì) LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY MEALY1 ISPORT ( CLK ,DATAIN,RESET : IN STD_LOGIC; Q : OUT STD_LOGIC_VECTOR(4 DOWNTO 0);END MEALY1;ARCHITECTURE behav OF MEALY1 IS TYPE
15、states IS (st0, st1, st2, st3,st4); SIGNAL STX : states ; BEGIN COMREG : PROCESS(CLK,RESET) BEGIN -決定轉(zhuǎn)換狀態(tài)的進(jìn)程決定轉(zhuǎn)換狀態(tài)的進(jìn)程 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 IF DATAIN = 1 THEN STX STX IF DATAIN = 1 THEN Q = 10000 ; ELSE Q IF D
16、ATAIN = 0 THEN Q = 10111 ; ELSE Q IF DATAIN = 1 THEN Q = 10101 ; ELSE Q IF DATAIN = 0 THEN Q = 11011 ; ELSE Q IF DATAIN = 1 THEN Q = 11101 ; ELSE Q Q=00000 ; END CASE ; END PROCESS COM1 ;END behav; 3 Mealy狀態(tài)機(jī)設(shè)計(jì)狀態(tài)機(jī)設(shè)計(jì) 233 Mealy3 Mealy狀態(tài)機(jī)設(shè)計(jì)狀態(tài)機(jī)設(shè)計(jì) 圖圖5 例例4狀態(tài)機(jī)工作時(shí)序圖狀態(tài)機(jī)工作時(shí)序圖 24【例例5】將將Q鎖存后再輸出,改善毛刺現(xiàn)象。鎖存后再輸出,改善
17、毛刺現(xiàn)象。LIBRARY IEEE; -MEALY FSMUSE 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;ARCHITECTURE behav OF MEALY2 IS TYPE states IS (st0, st1, st2, st3,st4); SIGNAL STX : states ; SIGNAL Q1 : STD_LOGIC_VECTOR(4 DOWNTO 0);
18、BEGIN COMREG : PROCESS(CLK,RESET) -決定轉(zhuǎn)換狀態(tài)的進(jìn)程決定轉(zhuǎn)換狀態(tài)的進(jìn)程 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 IF DATAIN = 1 THEN STX STX IF 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 DATAI
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年帶鋼傳輸自動(dòng)糾偏裝置合作協(xié)議書
- 2025年濕法稀磷酸合作協(xié)議書
- 2025年單、雙長鏈烷基甲基叔胺合作協(xié)議書
- 2025年人投資入股協(xié)議(三篇)
- 2025年二手房貸款擔(dān)保合同(三篇)
- 2025年企業(yè)住所租賃合同范文(2篇)
- 2025年中央空調(diào)供貨合同(2篇)
- 2025年個(gè)人美容院轉(zhuǎn)讓合同范文(2篇)
- 2025年二年級語文教研活動(dòng)總結(jié)(二篇)
- 2025年個(gè)人小型房屋租賃合同(三篇)
- 2025民政局離婚協(xié)議書范本(民政局官方)4篇
- 2024年03月四川農(nóng)村商業(yè)聯(lián)合銀行信息科技部2024年校園招考300名工作人員筆試歷年參考題庫附帶答案詳解
- 小學(xué)一年級數(shù)學(xué)上冊口算練習(xí)題總匯
- 睡眠專業(yè)知識培訓(xùn)課件
- 潤滑油知識-液壓油
- 2024年江蘇省中醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 臨床思維能力培養(yǎng)
- 人教版高中物理必修第三冊第十章靜電場中的能量10-1電勢能和電勢練習(xí)含答案
- 《工程勘察設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)》(2002年修訂本)
- 中國宗教文化 中國古代宗教文化的特點(diǎn)及現(xiàn)代意義
- 2024年四川省巴中市級事業(yè)單位選聘15人歷年高頻難、易錯(cuò)點(diǎn)練習(xí)500題附帶答案詳解
評論
0/150
提交評論