第6章狀態(tài)機(jī)的設(shè)計_第1頁
第6章狀態(tài)機(jī)的設(shè)計_第2頁
第6章狀態(tài)機(jī)的設(shè)計_第3頁
第6章狀態(tài)機(jī)的設(shè)計_第4頁
第6章狀態(tài)機(jī)的設(shè)計_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計一、狀態(tài)機(jī)概述一、狀態(tài)機(jī)概述1、狀態(tài)機(jī)的基本結(jié)構(gòu)和功能、狀態(tài)機(jī)的基本結(jié)構(gòu)和功能(1)基本結(jié)構(gòu))基本結(jié)構(gòu)狀態(tài)狀態(tài)譯碼器譯碼器狀態(tài)狀態(tài)寄存器寄存器輸出輸出譯碼器譯碼器輸入輸入輸出輸出狀態(tài)狀態(tài)第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計(2)基本操作)基本操作 狀態(tài)機(jī)的內(nèi)部狀態(tài)轉(zhuǎn)換:狀態(tài)機(jī)需要經(jīng)歷一系列的狀態(tài)機(jī)的內(nèi)部狀態(tài)轉(zhuǎn)換:狀態(tài)機(jī)需要經(jīng)歷一系列的狀態(tài)轉(zhuǎn)換,下一狀態(tài)由狀態(tài)譯碼器根據(jù)當(dāng)前狀態(tài)和輸入狀態(tài)轉(zhuǎn)換,下一狀態(tài)由狀態(tài)譯碼器根據(jù)當(dāng)前狀態(tài)和輸入信號決定。信號決定。 產(chǎn)生輸出信號序列:狀態(tài)機(jī)的輸出信號

2、由輸出譯碼產(chǎn)生輸出信號序列:狀態(tài)機(jī)的輸出信號由輸出譯碼器根據(jù)當(dāng)前狀態(tài)和輸入信號來決定。器根據(jù)當(dāng)前狀態(tài)和輸入信號來決定。第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計(3)狀態(tài)機(jī)的分類)狀態(tài)機(jī)的分類 狀態(tài)機(jī)在產(chǎn)生輸出的過程中,根據(jù)是否使用輸入信號狀態(tài)機(jī)在產(chǎn)生輸出的過程中,根據(jù)是否使用輸入信號可以將狀態(tài)機(jī)分為可以將狀態(tài)機(jī)分為Moore型狀態(tài)機(jī)和型狀態(tài)機(jī)和Mealy型狀態(tài)機(jī)。型狀態(tài)機(jī)。u Moore型狀態(tài)機(jī)的輸出信號僅與當(dāng)前狀態(tài)有關(guān),而型狀態(tài)機(jī)的輸出信號僅與當(dāng)前狀態(tài)有關(guān),而與狀態(tài)機(jī)的輸入信號無關(guān);與狀態(tài)機(jī)的輸入信號無關(guān);u 而而Mealy型狀態(tài)機(jī)的輸出信號不僅與狀態(tài)機(jī)的當(dāng)

3、前型狀態(tài)機(jī)的輸出信號不僅與狀態(tài)機(jī)的當(dāng)前狀態(tài)有關(guān),而且還與狀態(tài)機(jī)的輸入信號有關(guān)。狀態(tài)有關(guān),而且還與狀態(tài)機(jī)的輸入信號有關(guān)。第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計(4)狀態(tài)機(jī)的功能)狀態(tài)機(jī)的功能p CPU在實現(xiàn)控制功能的過程中,一般需要很多的操作在實現(xiàn)控制功能的過程中,一般需要很多的操作指令步和硬件操作單元;指令步和硬件操作單元;p 而在狀態(tài)機(jī)中,控制狀態(tài)存儲在多個觸發(fā)器中,表示而在狀態(tài)機(jī)中,控制狀態(tài)存儲在多個觸發(fā)器中,表示狀態(tài)轉(zhuǎn)移和控制功能的代碼存儲在門級網(wǎng)絡(luò)中。狀態(tài)轉(zhuǎn)移和控制功能的代碼存儲在門級網(wǎng)絡(luò)中。p 狀態(tài)機(jī)邏輯十分適用于可編程邏輯器件。通過恰當(dāng)?shù)臓顟B(tài)機(jī)邏

4、輯十分適用于可編程邏輯器件。通過恰當(dāng)?shù)腣HDL描述和描述和EDA工具的綜合,一般可以生成性能優(yōu)良的工具的綜合,一般可以生成性能優(yōu)良的狀態(tài)機(jī)使其在運行時間、運行速度和占用資源等方面優(yōu)于狀態(tài)機(jī)使其在運行時間、運行速度和占用資源等方面優(yōu)于CPU實現(xiàn)的設(shè)計方案。實現(xiàn)的設(shè)計方案。第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計(5)狀態(tài)機(jī)與數(shù)字系統(tǒng)中控制單元的關(guān)系)狀態(tài)機(jī)與數(shù)字系統(tǒng)中控制單元的關(guān)系 狀態(tài)機(jī)的每一個狀態(tài)對應(yīng)于控制單元的一個控制步;狀態(tài)機(jī)的每一個狀態(tài)對應(yīng)于控制單元的一個控制步;狀態(tài)機(jī)中的次態(tài)和輸出對應(yīng)于控制單元中與每一個控制狀態(tài)機(jī)中的次態(tài)和輸出對應(yīng)于控制單元中與每一

5、個控制步有關(guān)的控制條件。步有關(guān)的控制條件。第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計2、狀態(tài)機(jī)的表示方法、狀態(tài)機(jī)的表示方法 狀態(tài)圖、狀態(tài)表和流程圖。狀態(tài)圖、狀態(tài)表和流程圖。(1)狀態(tài)圖表示方法)狀態(tài)圖表示方法state Estate Bstate Astate Cstate Din/outin/outin/outin/outin/outin/out第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計(2)Moore型狀態(tài)機(jī)和型狀態(tài)機(jī)和 Mealy型狀態(tài)機(jī)的表示方法型狀態(tài)機(jī)的表示方法state A00state B01state Astate

6、 BI1/01第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計(3)狀態(tài)圖的原則)狀態(tài)圖的原則 狀態(tài)圖中應(yīng)該包括全部的狀態(tài),包括狀態(tài)圖中應(yīng)該包括全部的狀態(tài),包括“空閑空閑”狀態(tài);狀態(tài); 脫離一個狀態(tài)的所有轉(zhuǎn)換的邏輯或值應(yīng)該為真,這是脫離一個狀態(tài)的所有轉(zhuǎn)換的邏輯或值應(yīng)該為真,這是檢驗進(jìn)入一個狀態(tài)后能否跳出該狀態(tài)的一個簡單方法;檢驗進(jìn)入一個狀態(tài)后能否跳出該狀態(tài)的一個簡單方法; 驗證脫離狀態(tài)的轉(zhuǎn)換的異或是否為真,這是保證在任驗證脫離狀態(tài)的轉(zhuǎn)換的異或是否為真,這是保證在任何時候不會同時激活兩個脫離狀態(tài)的轉(zhuǎn)換;何時候不會同時激活兩個脫離狀態(tài)的轉(zhuǎn)換; 如果一個狀態(tài)不是在每個過程發(fā)

7、生變化,則可以插入如果一個狀態(tài)不是在每個過程發(fā)生變化,則可以插入自身循環(huán),換句話說,當(dāng)控制器進(jìn)入一個狀態(tài)且等待直到自身循環(huán),換句話說,當(dāng)控制器進(jìn)入一個狀態(tài)且等待直到某一個條件發(fā)生時,可以插入一個適當(dāng)?shù)淖陨硌h(huán)轉(zhuǎn)換。某一個條件發(fā)生時,可以插入一個適當(dāng)?shù)淖陨硌h(huán)轉(zhuǎn)換。第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計3、狀態(tài)機(jī)的設(shè)計步驟、狀態(tài)機(jī)的設(shè)計步驟 (1)依據(jù)具體的設(shè)計原則,確定是采用)依據(jù)具體的設(shè)計原則,確定是采用Moore型狀態(tài)型狀態(tài)機(jī)還是機(jī)還是Mealy型狀態(tài)機(jī);型狀態(tài)機(jī); (2)分析設(shè)計要求,列出狀態(tài)機(jī)的所有狀態(tài),并對每)分析設(shè)計要求,列出狀態(tài)機(jī)的所有狀態(tài),并

8、對每一個狀態(tài)進(jìn)行狀態(tài)編碼;一個狀態(tài)進(jìn)行狀態(tài)編碼; (3)根據(jù)狀態(tài)轉(zhuǎn)移關(guān)系和輸出函數(shù)畫出所要設(shè)計狀態(tài))根據(jù)狀態(tài)轉(zhuǎn)移關(guān)系和輸出函數(shù)畫出所要設(shè)計狀態(tài)機(jī)的狀態(tài)圖;機(jī)的狀態(tài)圖; (4)根據(jù)所畫的狀態(tài)圖,采用硬件描述語言對狀態(tài)機(jī))根據(jù)所畫的狀態(tài)圖,采用硬件描述語言對狀態(tài)機(jī)進(jìn)行描述。進(jìn)行描述。 第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計二、二、Moore型狀態(tài)機(jī)的設(shè)計型狀態(tài)機(jī)的設(shè)計1、狀態(tài)機(jī)的建立過程、狀態(tài)機(jī)的建立過程 例:例: 設(shè)計一存儲控制器狀態(tài)機(jī)。設(shè)計一存儲控制器狀態(tài)機(jī)。(1)設(shè)計要求)設(shè)計要求(2)工作過程)工作過程(3)確定存儲控制器狀態(tài)機(jī)的狀態(tài))確定存儲控制器狀態(tài)

9、機(jī)的狀態(tài)(4)畫出狀態(tài)圖)畫出狀態(tài)圖(5)狀態(tài)機(jī)的輸出邏輯)狀態(tài)機(jī)的輸出邏輯第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計二、二、Moore型狀態(tài)機(jī)的設(shè)計型狀態(tài)機(jī)的設(shè)計1、狀態(tài)機(jī)的建立過程、狀態(tài)機(jī)的建立過程(1)設(shè)計要求)設(shè)計要求 設(shè)計的存儲器控制器能夠根據(jù)微處理器的讀寫周期,設(shè)計的存儲器控制器能夠根據(jù)微處理器的讀寫周期,分別對存儲器輸出寫使能信號分別對存儲器輸出寫使能信號we和讀使能信號和讀使能信號oe。 微處理器的準(zhǔn)備就緒準(zhǔn)備信號微處理器的準(zhǔn)備就緒準(zhǔn)備信號ready、微處理器的讀、微處理器的讀寫信號寫信號read_write和時鐘信號和時鐘信號clk。第第6章狀

10、態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計二、二、Moore型狀態(tài)機(jī)的設(shè)計型狀態(tài)機(jī)的設(shè)計1、狀態(tài)機(jī)的建立過程、狀態(tài)機(jī)的建立過程(2)工作過程)工作過程u 當(dāng)微處理器的當(dāng)微處理器的ready有效或上電復(fù)位時,存儲器開始有效或上電復(fù)位時,存儲器開始工作,判斷工作,判斷read_write信號有效否確定當(dāng)前讀寫。信號有效否確定當(dāng)前讀寫。u 確定控制器的輸出確定控制器的輸出we和和oe哪者有效。哪者有效。u 當(dāng)讀寫操作完成,微處理器的準(zhǔn)備信號當(dāng)讀寫操作完成,微處理器的準(zhǔn)備信號ready標(biāo)志本標(biāo)志本次處理完成,使控制器回到空閑狀態(tài)。次處理完成,使控制器回到空閑狀態(tài)。第第6章狀態(tài)機(jī)的

11、設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計二、二、Moore型狀態(tài)機(jī)的設(shè)計型狀態(tài)機(jī)的設(shè)計1、狀態(tài)機(jī)的建立過程、狀態(tài)機(jī)的建立過程(3)確定存儲控制器狀態(tài)機(jī)的狀態(tài))確定存儲控制器狀態(tài)機(jī)的狀態(tài) 開始狀態(tài)(開始狀態(tài)(idle) 判斷狀態(tài)(判斷狀態(tài)(decision) 根據(jù)根據(jù)read_write判斷讀寫判斷讀寫 讀狀態(tài)讀狀態(tài) (read) 寫狀態(tài)寫狀態(tài) (write)(4)畫出狀態(tài)圖)畫出狀態(tài)圖(5)狀態(tài)機(jī)的輸出邏輯)狀態(tài)機(jī)的輸出邏輯第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計2、VHDL描述描述(1)所需要使用的語句)所需要使用的語句(2)用)用VHDL

12、語言描述的步驟語言描述的步驟 把所有的狀態(tài)均表達(dá)為把所有的狀態(tài)均表達(dá)為case-when結(jié)構(gòu)中的一條結(jié)構(gòu)中的一條case 語句,語句,而狀態(tài)的轉(zhuǎn)移則用而狀態(tài)的轉(zhuǎn)移則用if-then-else語句來實現(xiàn)。語句來實現(xiàn)。 利用枚舉的狀態(tài)類型定義信號;利用枚舉的狀態(tài)類型定義信號; type state_type is (idle,decision,read,write); singal present_state,next_state :state_type;第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計 建立狀態(tài)機(jī)進(jìn)程:由于狀態(tài)機(jī)的次態(tài)是現(xiàn)態(tài)和輸入信號的函數(shù),所以這建立狀

13、態(tài)機(jī)進(jìn)程:由于狀態(tài)機(jī)的次態(tài)是現(xiàn)態(tài)和輸入信號的函數(shù),所以這些現(xiàn)態(tài)和輸入信號都要作為進(jìn)程的敏感信號。些現(xiàn)態(tài)和輸入信號都要作為進(jìn)程的敏感信號。 process(present_state,ready,read_write) 通過進(jìn)程定義狀態(tài)的轉(zhuǎn)移:在進(jìn)程中使用通過進(jìn)程定義狀態(tài)的轉(zhuǎn)移:在進(jìn)程中使用case-when語句,因為空閑狀態(tài)語句,因為空閑狀態(tài)idle是狀態(tài)機(jī)狀態(tài)的起點和終點,因此需要把是狀態(tài)機(jī)狀態(tài)的起點和終點,因此需要把idle作為作為when之后的第一項,然之后的第一項,然后再列出狀態(tài)轉(zhuǎn)移到其他狀態(tài)的條件,從而完成狀態(tài)機(jī)的狀態(tài)的轉(zhuǎn)移。后再列出狀態(tài)轉(zhuǎn)移到其他狀態(tài)的條件,從而完成狀態(tài)機(jī)的狀態(tài)的轉(zhuǎn)

14、移。 process(present_state,ready,read_write) begin case present_state is when idle=we=0;oe=0; if (ready=1) then next_state=decision; else next_state if(ready=1) then state=idle; else state= if(ready=1) then state=idle; else state=write; end if; end case; end if;end process;oe=1 when state=read else 1;

15、we if(ready=1) then state=decision; else state if(read_write=1) then state=read; else state we=0;oe=1; if(ready=1) then next_state=idle; else next_state= we=1;oe=0; if(ready=1) then next_state=idle; else next_state we=0;oe=0; if(ready=1) then next_state=decision; else next_state we=0;oe=0; if(read_w

16、rite=1) then next_state=read; else next_state=write; end if; 第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計(1)進(jìn)程)進(jìn)程2用來描述狀態(tài)寄存器用來描述狀態(tài)寄存器-描述狀態(tài)邏輯描述狀態(tài)邏輯process(clk)begin if(clkevent and clk=1) then present_state if(ready=1) then next_state=decision; else next_state if(read_write=1) then next_state=read; else next

17、_state if(ready=1) then next_state=idle; else next_state= if(ready=1) then next_state=idle; else next_state=write; end if; end case; end process;第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計5、三進(jìn)程狀態(tài)機(jī)的設(shè)計方法、三進(jìn)程狀態(tài)機(jī)的設(shè)計方法-描述狀態(tài)寄存器描述狀態(tài)寄存器process(clk)begin if(clkevent and clk=1) then present_statewe=0;oewe=0;oewe=0;

18、oewe=1;oe=0; end case; end process;end state_machine;第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計四、四、Moore型狀態(tài)機(jī)的信號輸出方式型狀態(tài)機(jī)的信號輸出方式1、同步的信號輸出方式、同步的信號輸出方式 就是將狀態(tài)機(jī)的輸出信號加載到一個寄存器中,該寄存就是將狀態(tài)機(jī)的輸出信號加載到一個寄存器中,該寄存器一般是由器一般是由D觸發(fā)器構(gòu)成的,它的時鐘信號就是狀態(tài)機(jī)的時觸發(fā)器構(gòu)成的,它的時鐘信號就是狀態(tài)機(jī)的時鐘信號。鐘信號。 VHDL描述時,只需要將狀態(tài)機(jī)輸出信號的賦值語句寫描述時,只需要將狀態(tài)機(jī)輸出信號的賦值語句寫到時鐘

19、進(jìn)程里即可。到時鐘進(jìn)程里即可。三、三、Moore型狀態(tài)機(jī)的復(fù)位型狀態(tài)機(jī)的復(fù)位1、同步復(fù)位、同步復(fù)位2、異步復(fù)位、異步復(fù)位第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計四、四、Moore型狀態(tài)機(jī)的信號輸出方式型狀態(tài)機(jī)的信號輸出方式1、同步的信號輸出方式、同步的信號輸出方式 就是將狀態(tài)機(jī)的輸出信號加載到一個寄存器中,該寄存就是將狀態(tài)機(jī)的輸出信號加載到一個寄存器中,該寄存器一般是由器一般是由D觸發(fā)器構(gòu)成的,它的時鐘信號就是狀態(tài)機(jī)的時觸發(fā)器構(gòu)成的,它的時鐘信號就是狀態(tài)機(jī)的時鐘信號。鐘信號。次態(tài)次態(tài)邏輯邏輯狀態(tài)狀態(tài)寄存器寄存器輸出輸出邏輯邏輯輸入輸入輸出輸出現(xiàn)態(tài)現(xiàn)態(tài)寄寄存存器

20、器復(fù)位信號復(fù)位信號時鐘信號時鐘信號次態(tài)次態(tài)同步的信號輸出方式的結(jié)構(gòu)框圖同步的信號輸出方式的結(jié)構(gòu)框圖第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計2、狀態(tài)直接輸出方式、狀態(tài)直接輸出方式 為了縮短輸出信號的時延和消除為了縮短輸出信號的時延和消除“毛刺毛刺”現(xiàn)象,將狀態(tài)現(xiàn)象,將狀態(tài)位本身作為信號直接輸出,相當(dāng)于去掉了一般狀態(tài)機(jī)中的輸位本身作為信號直接輸出,相當(dāng)于去掉了一般狀態(tài)機(jī)中的輸出邏輯電路。出邏輯電路。 VHDL描述時,重要的工作就是對狀態(tài)機(jī)進(jìn)行編碼。描述時,重要的工作就是對狀態(tài)機(jī)進(jìn)行編碼。次態(tài)次態(tài)邏輯邏輯狀態(tài)狀態(tài)寄存器寄存器輸入輸入輸出輸出現(xiàn)態(tài)現(xiàn)態(tài)復(fù)位信號復(fù)位信號時

21、鐘信號時鐘信號次態(tài)次態(tài)狀態(tài)直接輸出方式的結(jié)構(gòu)框圖狀態(tài)直接輸出方式的結(jié)構(gòu)框圖第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計3、并行譯碼輸出方式、并行譯碼輸出方式 為了減少輸出信號的傳輸延時,從而提高狀態(tài)機(jī)的速度。為了減少輸出信號的傳輸延時,從而提高狀態(tài)機(jī)的速度。在狀態(tài)位鎖存之前,先進(jìn)行邏輯譯碼,即把狀態(tài)機(jī)的狀態(tài)一邊在狀態(tài)位鎖存之前,先進(jìn)行邏輯譯碼,即把狀態(tài)機(jī)的狀態(tài)一邊送到狀態(tài)寄存器進(jìn)行鎖存,一邊送到譯碼器進(jìn)行譯碼輸出。送到狀態(tài)寄存器進(jìn)行鎖存,一邊送到譯碼器進(jìn)行譯碼輸出。次態(tài)次態(tài)邏輯邏輯狀態(tài)狀態(tài)寄存器寄存器輸出輸出邏輯邏輯輸入輸入輸出輸出現(xiàn)態(tài)現(xiàn)態(tài)輸出輸出寄存器寄存器復(fù)位

22、復(fù)位時鐘時鐘次態(tài)次態(tài)并行譯碼輸出方式的結(jié)構(gòu)框圖并行譯碼輸出方式的結(jié)構(gòu)框圖第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計5.7 5.7 空調(diào)控制系統(tǒng)狀態(tài)機(jī)的設(shè)計空調(diào)控制系統(tǒng)狀態(tài)機(jī)的設(shè)計端口說明:端口說明:Reset: 輸入,復(fù)位信號,高電平有效,復(fù)位期間系統(tǒng)進(jìn)輸入,復(fù)位信號,高電平有效,復(fù)位期間系統(tǒng)進(jìn)入初始狀態(tài)入初始狀態(tài)S0。Clk: 輸入,系統(tǒng)時鐘。輸入,系統(tǒng)時鐘。Test_H:輸入,檢測到溫度過高的輸入信號,高電平有效。:輸入,檢測到溫度過高的輸入信號,高電平有效。Test_L: 輸入,檢測到溫度過低的輸入信號,高電平有效。輸入,檢測到溫度過低的輸入信號,高電平有

23、效。To_hot: 輸出,升溫信號,高電平有效。輸出,升溫信號,高電平有效。To_cool:輸出,制冷信號,高電平有效。:輸出,制冷信號,高電平有效。第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計 library ieee; use ieee.std_logic_1164.all; entity tc is port(reset,clk,test_H,test_L:in std_logic; to_hot,to_cool: out std_logic); end tc; architecture rtl of tc is type state is(s0,s1,s2); signal pre_s,next

24、_s:state; begin 5.7 5.7 空調(diào)控制系統(tǒng)狀態(tài)機(jī)的設(shè)計空調(diào)控制系統(tǒng)狀態(tài)機(jī)的設(shè)計process(reset,clk)begin if (reset=1) then pre_s=s0; elsif (clkevent and clk=1) then pre_s to_hot=0; to_cool=0; if(test_H=1 and test_L=0) then next_s=s2; elsif(test_H=0 and test_L=1) then next_s=s1; else next_s to_hot=1; to_cool=0; if(test_H=1 and test_

25、L=0) then next_s=s2; elsif(test_H=0 and test_L=1) then next_s=s1; else next_sto_hot=0; to_cool=1; if(test_H=1 and test_L=0) then next_s=s2; elsif(test_H=0 and test_L=1) then next_s=s1; else next_s=s0; end if; end case; end process; end rtl;第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計5.8 5.8 微波爐定時器芯片的設(shè)計微波爐定

26、時器芯片的設(shè)計一、功能描述一、功能描述 1.設(shè)定復(fù)位開關(guān)設(shè)定復(fù)位開關(guān) 2.設(shè)定啟動開關(guān)設(shè)定啟動開關(guān) 3.烹調(diào)時間設(shè)置控制信號烹調(diào)時間設(shè)置控制信號 4.顯示烹調(diào)時間的進(jìn)行情況顯示烹調(diào)時間的進(jìn)行情況 5.測試七段數(shù)碼管工作是否正常測試七段數(shù)碼管工作是否正常第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計min_msb微波爐定時器微波爐定時器clkresettestset_timeData15:0start_cookcookmin_lsbsec_msbsec_lsb第第6章狀態(tài)機(jī)的設(shè)計章狀態(tài)機(jī)的設(shè)計第第6 6章章 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計二、工作過程二、工作過程 1.上電后系統(tǒng)處于復(fù)位狀態(tài)上電后系統(tǒng)處于復(fù)位狀態(tài) 2.按按 set_time鍵設(shè)定烹調(diào)時間鍵設(shè)定烹調(diào)時間 3.系統(tǒng)自動回到復(fù)位狀態(tài)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論