復(fù)雜功能模塊設(shè)計(jì)(狀態(tài)機(jī))_第1頁
復(fù)雜功能模塊設(shè)計(jì)(狀態(tài)機(jī))_第2頁
復(fù)雜功能模塊設(shè)計(jì)(狀態(tài)機(jī))_第3頁
復(fù)雜功能模塊設(shè)計(jì)(狀態(tài)機(jī))_第4頁
復(fù)雜功能模塊設(shè)計(jì)(狀態(tài)機(jī))_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、復(fù)雜功能模塊設(shè)計(jì)在正向設(shè)計(jì)中,一個(gè)數(shù)字系統(tǒng)首先要分解為若干個(gè)功能模塊,例如一個(gè)單片機(jī)除CPU、存儲(chǔ)器外,可能包括中斷控制器、定時(shí)/計(jì)數(shù)器、異步串行接口、SPI接口、Pc接口等,這些電路就是功能模塊。一個(gè)重要設(shè)計(jì)思想是,任何復(fù)雜功能模塊是由狀態(tài)機(jī)和數(shù)據(jù)通道兩部分構(gòu)成的。這里數(shù)據(jù)通道(Dsapath)指的是典型邏輯電路,如計(jì)數(shù)器、寄存器、算術(shù)運(yùn)算電路等。狀態(tài)機(jī)就是控制器,數(shù)據(jù)通道在狀態(tài)機(jī)控制下工作。一個(gè)復(fù)雜功能模塊的設(shè)計(jì)幾乎總是從狀態(tài)機(jī)設(shè)計(jì)開始的。狀態(tài)機(jī)輸入狀態(tài)寄存器數(shù)據(jù)通道V典型邏輯部件邏輯門圖1復(fù)雜功能模塊的一般結(jié)構(gòu)例1:設(shè)計(jì)一個(gè)簡(jiǎn)單報(bào)警器。輸入信號(hào)來自8位A/D轉(zhuǎn)換器,要求當(dāng)輸入大于等于10

2、0時(shí),產(chǎn)生報(bào)警信號(hào),當(dāng)輸入回落到97以下時(shí)解除報(bào)警信號(hào)。rstelkalarmad7:0圖2分析:關(guān)鍵是輸入為98、99時(shí)怎么處理?ad7:0邏輯門DFFAalarm圖3簡(jiǎn)單報(bào)警器的內(nèi)部結(jié)構(gòu)代碼:例2:簡(jiǎn)易交通燈問題。主干道至少通行10分鐘才能使小路方向通行1分鐘。在主干道通行時(shí),如果有過街請(qǐng)求則在10分鐘到時(shí)變?yōu)樾÷吠?,如無請(qǐng)求,則主干道繼續(xù)通行5分鐘后再變?yōu)樾÷吠?。主干道小?qǐng)求路圖5諸求時(shí)鐘3276SHZ狀態(tài)機(jī)代碼邏輯門邏軻門二-t=邏輯門例3:售貨機(jī)問題假設(shè)商品價(jià)格7角,并假設(shè)每次只能銷售一個(gè)商品,且售貨機(jī)發(fā)現(xiàn)金額超過7角即關(guān)閉投幣口。找零時(shí),每次只能找回一枚硬幣,如需找回5角以上,優(yōu)先

3、考慮5角。時(shí)鐘復(fù)位收到1角收到5角收到1元售貨機(jī)控制器付貨找回1角找回5角投幣口Z多積DVlf田詢出Y廉丄燭i唆舉DVJ.r聊E*北0廉軸ejnpnjisovir4anBijoaismi丄moiia丄Is0】s!旳beieQPhysica-p_ni|eoueog-Ajepunoguietioueog-AjepunogWkHVlMrbDVlf沖呦1IEEEJTAG1SVF1Amontec11Spec1Spec1Code1+-+-+1-DR1DREXIT21”0000”1hexO11Exitl-DR1DREXIT11,0001n1hexl11Shift-DR1DRSHIFT1,f0010K1hGx

4、211Pause-DR1DRPAUSE1,f0011111hex311Select-IR1IRSELECT1,f0100n1hex411Update-DR1DRUPDATE11hGx511Capture-DR1DRCAPTURE11hex11Select-DR1DRSELECT11hex?11Exit2-IR1IREXIT21,fL000,f1hGxS11Exitl-IR1IREXIT111hex911Shift-:ER1IRSHIFT1,f1010111hexA11PausG-IR1IRPAUSE1,fL011,f1hexB11Run-Test/Idle|IDLE11hexC11Update

5、-IR1IRUPDATE1-llOl111hexD11Capture-DR1IRCAPTURE11hexE11TestLogicReset|RESET1,f1111111hexF1十TDIUPDATI-IRCLOCKIRSHIFTIRTMSTCKTRSTTAP控制器SELECTUPDAIEDRCLOCKDRSHIFTDR旁通寄存希數(shù)據(jù)存器TMS|RunTewasaectbRscanSelect_RScancapcreRsh_f_REx.nRupdMZRRun.Yesv&leFigure5.InstructionRegisterScanTimingJUUUmTOJ-LHTCKTMSTDITOOu

6、pdeDREXH.DRszflDRcapcr?DRsdectDRscanRun,TesMd-eFigure6.DataRegisterScanTiming4.2狀態(tài)機(jī)設(shè)計(jì)方法一般情況下,一個(gè)數(shù)字電路系統(tǒng)總是可以分解為數(shù)據(jù)通道(Datapath)和狀態(tài)機(jī)兩個(gè)部分?!皵?shù)據(jù)通道”一詞與字面意義不同,泛指較常用的數(shù)字部件,具有通用性。狀態(tài)機(jī)則是對(duì)電路特殊性部分的描述。這里所說的“狀態(tài)機(jī)”是一種描述電路功能的方法,與數(shù)字電路中的狀態(tài)轉(zhuǎn)換圖類似,但要更抽象一些。以下以一個(gè)“密碼”定時(shí)器為例,介紹狀態(tài)機(jī)分析方法。(1)電路功能描述輸入輸出信號(hào)見圖4-6,只要求設(shè)計(jì)“密碼定時(shí)器”模塊。上電復(fù)位后,定時(shí)器處于等

7、待狀態(tài),輸出控制信號(hào)“out”為0,計(jì)時(shí)顯示輸出為BCD碼“9”。輸入正確密碼后開始倒計(jì)時(shí),每秒計(jì)數(shù)值減1,計(jì)時(shí)回0后,輸出控制信號(hào)置1。按鍵事件信號(hào)(key_in)的每個(gè)脈沖代表一次數(shù)字輸入事件,輸入數(shù)字以bed碼形式給出。密碼為固定的4位數(shù)字,例如“2012”。密碼輸入間隔時(shí)間或總的輸入時(shí)間不限。輸入數(shù)據(jù)的總位數(shù)也不限,只要4個(gè)連續(xù)的輸入數(shù)據(jù)與密碼相同即可。圖4-6密碼定時(shí)器設(shè)計(jì)思路:可以想象電路中將包含分頻電路、BCD減法計(jì)數(shù)器等常用部件,這些屬于“數(shù)據(jù)通道”部分,功能比較簡(jiǎn)單。問題的關(guān)鍵是如何描述密碼的輸入情況。用寄存器保存輸入密碼的方法可行,但耗用較多硬件資源。以下釆用狀態(tài)機(jī)方法描述

8、密碼輸入情況。10圖4-7邊沿檢測(cè)regl:Okey_in_edge;always(posedgeelk)beginif(rst_n=l*bO)key_in_edge=2*511;elsebegmkey_ui_edg亡1=key_m.edgeO;key_in_edgeO=key_in;endendalways(posedgeelk)beginif(rst_n=l*bO)div=2fb00;elsediv=div+Fbl;end/always(posedgeelk)beginif(rst_n=l*bO)ent0)ent=ent1bl;end!(21)圖4-8狀態(tài)機(jī)paiainetei2:0PAS

9、S_O=3bOO;paiainetei2:0PASS_1=3bOl;parainetei2:0PASS_2=3blO;paiainetei2:0PASS_3=3bll;parainetei2:0PASS_4=3bll;always(posedgeelk)beginif(rst_n=l*bO)state=PASS_O;elsestate=next_state;endalways(stateork亡y_in_edgeorbed)beginif(key_in_edge=3b01)begincase(state)PASS_0:beginif(bcd=3d2)nextstate=PASS1;elsenextstate=PASS0:zendPASS_l:beginif(bcd=3*(10)nextstate=PASS2;elseif(bcd=3*d2)nextstate=PASS1;elsenextstate=PASS0:zendPASS_2:beginif(bcd=3*dl)nextstate=PASS3;elseif(bcd=3*d2)nextstate=P

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論