資源描述:
《EDA技術(shù)及其應(yīng)用 教學(xué)課件 作者 潘松第6章 實(shí)用狀態(tài)機(jī)設(shè)計(jì)技術(shù).ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、EDA技術(shù)及其應(yīng)用第6章實(shí)用狀態(tài)機(jī)設(shè)計(jì)技術(shù)6.1有限狀態(tài)機(jī)設(shè)計(jì)初步6.1.1為什么要使用狀態(tài)機(jī)1、狀態(tài)機(jī)克服了純硬件數(shù)字系統(tǒng)順序方式控制不靈活的缺點(diǎn)。2、由于狀態(tài)機(jī)的結(jié)構(gòu)相對(duì)簡(jiǎn)單,設(shè)計(jì)方案相對(duì)固定,特別是可以定義符號(hào)化枚舉類型的狀態(tài),這一切都為VHDL綜合器盡可能發(fā)揮其強(qiáng)大的優(yōu)化功能提供了有利條件。3、狀態(tài)機(jī)容易構(gòu)成性能良好的同步時(shí)序邏輯模塊,這對(duì)于對(duì)付大規(guī)模邏輯電路設(shè)計(jì)中令人深感棘手的競(jìng)爭(zhēng)冒險(xiǎn)現(xiàn)象無(wú)疑是一個(gè)上佳的選擇。此外為了消除電路中的毛刺現(xiàn)象,在狀態(tài)機(jī)設(shè)計(jì)中有更多的設(shè)計(jì)方案可供選擇。4、與VHDL的其他描述方式相比,狀態(tài)機(jī)的
2、VHDL表述豐富多樣、程序?qū)哟畏置?,結(jié)構(gòu)清晰,易讀易懂;在排錯(cuò)、修改和模塊移植方面也有其獨(dú)到的好處。5、在高速運(yùn)算和控制方面,狀態(tài)機(jī)更有其巨大的優(yōu)勢(shì)。6、高可靠性。6.1有限狀態(tài)機(jī)設(shè)計(jì)初步6.1.2數(shù)據(jù)類型定義語(yǔ)句TYPE數(shù)據(jù)類型名IS數(shù)據(jù)類型定義OF基本數(shù)據(jù)類型;或TYPE數(shù)據(jù)類型名IS數(shù)據(jù)類型定義;TYPEweekIS(sun,mon,tue,wed,thu,fri,sat);TYPEm_stateIS(st0,st1,st2,st3,st4,st5);SIGNALpresent_state,next_state:m_stat
3、e;TYPEBOOLEANIS(FALSE,TRUE);TYPEmy_logicIS('1','Z','U','0');SIGNALs1:my_logic;s1<='Z';6.1有限狀態(tài)機(jī)設(shè)計(jì)初步6.1.3一般有限狀態(tài)機(jī)的結(jié)構(gòu)1.說(shuō)明部分ARCHITECTURE...ISTYPEFSM_STIS(s0,s1,s2,s3);SIGNALcurrent_state,next_state:FSM_ST;...6.1有限狀態(tài)機(jī)設(shè)計(jì)初步6.1.3一般有限狀態(tài)機(jī)的結(jié)構(gòu)2.主控時(shí)序進(jìn)程圖6-1一般狀態(tài)機(jī)結(jié)構(gòu)圖6.1有限狀態(tài)機(jī)設(shè)計(jì)初步6.1.3一
4、般有限狀態(tài)機(jī)的結(jié)構(gòu)3.主控組合進(jìn)程4.輔助進(jìn)程6.1有限狀態(tài)機(jī)設(shè)計(jì)初步6.1.3一般有限狀態(tài)機(jī)的結(jié)構(gòu)【例6-1】LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYs_machineISPORT(clk,reset:INSTD_LOGIC;state_inputs:INSTD_LOGIC_VECTOR(0TO1);comb_outputs:OUTINTEGERRANGE0TO15);ENDs_machine;ARCHITECTUREbehvOFs_machineISTYPEFSM_STIS(s
5、0,s1,s2,s3);--數(shù)據(jù)類型定義,狀態(tài)符號(hào)化SIGNALcurrent_state,next_state:FSM_ST;--將現(xiàn)態(tài)和次態(tài)定義為新的數(shù)據(jù)類型BEGINREG:PROCESS(reset,clk)--主控時(shí)序進(jìn)程BEGINIFreset='1'THENcurrent_state<=s0;--檢測(cè)異步復(fù)位信號(hào)ELSIFclk='1'ANDclk‘EVENTTHENcurrent_state<=next_state;ENDIF;ENDPROCESS;COM:PROCESS(current_state,state_I
6、nputs)--主控組合進(jìn)程BEGINCASEcurrent_stateISWHENs0=>comb_outputs<=5;IFstate_inputs="00"THENnext_state<=s0;ELSEnext_state<=s1;ENDIF;WHENs1=>comb_outputs<=8;IFstate_inputs="00"THENnext_state<=s1;ELSEnext_state<=s2;ENDIF;WHENs2=>comb_outputs<=12;IFstate_inputs="11"THENnext_sta
7、te<=s0;ELSEnext_state<=s3;ENDIF;WHENs3=>comb_outputs<=14;IFstate_inputs="11"THENnext_state<=s3;ELSEnext_state<=s0;ENDIF;ENDcase;ENDPROCESS;ENDbehv;6.1有限狀態(tài)機(jī)設(shè)計(jì)初步6.1.3一般有限狀態(tài)機(jī)的結(jié)構(gòu)圖6-2例6-1的工作時(shí)序4.輔助進(jìn)程6.1有限狀態(tài)機(jī)設(shè)計(jì)初步6.1.3一般有限狀態(tài)機(jī)的結(jié)構(gòu)圖6-3通過(guò)StateMachineViewer觀察到的例6-1的狀態(tài)圖4.輔助進(jìn)程6.2Moo
8、re型有限狀態(tài)機(jī)設(shè)計(jì)6.2.1多進(jìn)程有限狀態(tài)機(jī)圖6-4ADC0809工作時(shí)序6.2Moore型有限狀態(tài)機(jī)設(shè)計(jì)6.2.1多進(jìn)程有限狀態(tài)機(jī)圖6-5控制ADC0809采樣狀態(tài)圖6.2Moore型有限狀態(tài)機(jī)設(shè)計(jì)6.2.1多進(jìn)程有限狀態(tài)機(jī)圖6-6采樣狀態(tài)機(jī)結(jié)