數(shù)字系統(tǒng)設(shè)計_第1頁
數(shù)字系統(tǒng)設(shè)計_第2頁
數(shù)字系統(tǒng)設(shè)計_第3頁
數(shù)字系統(tǒng)設(shè)計_第4頁
數(shù)字系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第11章數(shù)字系統(tǒng)設(shè)計§11-1數(shù)字系統(tǒng)設(shè)計概述§11-2ASM圖、MDS圖以及ASM圖至MDS圖的轉(zhuǎn)換§11-3數(shù)字密碼引爆器系統(tǒng)設(shè)計§11-4數(shù)字系統(tǒng)設(shè)計實例小結(jié)一、數(shù)字系統(tǒng)基本組成第一節(jié)數(shù)字系統(tǒng)設(shè)計概述控制器電路電腦受控電路計數(shù)運算邏輯運算應(yīng)答信號控制信號系統(tǒng)核心(最小)輸入輸出接口數(shù)據(jù)輸出存儲器數(shù)據(jù)輸入注:規(guī)模龐大并不意味是一個系統(tǒng),如存儲器,只是一個功能部件。也許由幾片MSI構(gòu)成的電路,包括控制器和受控器就是數(shù)字系統(tǒng)。二、傳統(tǒng)數(shù)字系統(tǒng)設(shè)計方法試湊法:由真值表、卡諾圖、布爾方程、

狀態(tài)表和狀態(tài)圖描述電路的功能小規(guī)模規(guī)模較大試湊法:憑借設(shè)計者的經(jīng)驗試湊法:不合適尋找更合適的設(shè)計方法可以三、現(xiàn)代數(shù)字系統(tǒng)設(shè)計方法從上至下(fromtoptodown):設(shè)計者從整個系統(tǒng)邏輯出發(fā),進行最上層的系統(tǒng)設(shè)計,而后按一定的原則將全局系統(tǒng)分成若干子系統(tǒng),逐級向下,再將每個子系統(tǒng)分為若干個功能模塊、子模塊、基本模塊。優(yōu)點:適合大規(guī)模數(shù)字系統(tǒng)系統(tǒng)設(shè)計,使得設(shè)計步驟之間相互聯(lián)系越來越緊密、協(xié)調(diào),以求數(shù)字系統(tǒng)獲得良好的性能和正確的結(jié)果。四、現(xiàn)代數(shù)字系統(tǒng)設(shè)計流程計算機輔助分析與設(shè)計(CAD)早期電子設(shè)計自動化(EDA)近期EDA工具從上層系統(tǒng)級開始,對電路功能描述,從上至下地跨越各個層次完成整個設(shè)計。近幾年來,劃分、綜合、驗證等都由EDA完成。EDA軟件還在優(yōu)化、發(fā)展,使從上至下的設(shè)計方法得到廣泛的應(yīng)用。第二節(jié)ASM圖、MDS圖以及ASM圖至MDS圖的轉(zhuǎn)換一、ASM圖ASM(AlgorithmicStateMachine)算法流程圖建立ASM圖是數(shù)字系統(tǒng)的關(guān)鍵步驟1.ASM圖符號ASM圖表面上和軟件流程圖相似,但ASM圖有時間序列,即每隔規(guī)定的數(shù)量脈沖轉(zhuǎn)到下一狀態(tài)。(1)狀態(tài)框名稱101IN←XAC←0Sr=1000(P)001(Q)010(R)每隔規(guī)定的數(shù)量脈沖轉(zhuǎn)到下一狀態(tài)(2)條件分枝框(判斷框)當控制算法存在分枝時,次態(tài)不僅決定于現(xiàn)態(tài),還與現(xiàn)態(tài)的外輸入有關(guān)。表示條件分枝的符號用菱型表示。X10(A)(B)(C)X10(3)條件輸出框(P)(Q)(R)X10Z1Z2上述三種符號構(gòu)成了ASM圖所需要的基本符號2.ASM圖的硬件實現(xiàn)例1:已知ASM圖如圖所示,用PLA陣列和一定數(shù)量的

D觸發(fā)器實現(xiàn)(P)(Q)(R)X10Z1Z2001011(1)ASM圖有三個狀態(tài),故有兩個狀態(tài)變量Q2Q1(2)一個外輸入X、兩個輸出

Z1和Z2,兩個D觸發(fā)器。(3)下面分析狀態(tài)轉(zhuǎn)換表現(xiàn)態(tài)次態(tài)輸出Q2Q1XQ2n+1Q1n+1

Z1

Z201x00100010x11x1010001000輸出方程:1010001000驅(qū)動方程:由此可得PLA硬件邏輯圖二、MDS圖

MDS圖與狀態(tài)圖十分相似,且擴展了狀態(tài)圖的功能,又簡練了狀態(tài)圖。MDS圖表現(xiàn)設(shè)計過程時,既方便清晰又具有較大的靈活性。1.MDS圖符號Si表示狀態(tài)圖SiSj只要時鐘CP的有效沿到來,表示狀態(tài)Si無條件轉(zhuǎn)換到狀態(tài)Sj只要時鐘CP的有效沿到來,表示狀態(tài)Si在條件E下轉(zhuǎn)換到狀態(tài)SjE可以是積項,布爾表達式等。SiSjESiZ↑表示進入狀態(tài)Si時,輸出Z變成有效SiZ↓表示進入狀態(tài)Si時,輸出Z變成無效SiZ↑↓表示進入狀態(tài)Si時,輸出Z有效;退出時,輸出Z無效SiZ↑↓=Si?E如果條件E滿足,進入狀態(tài)Si時,輸出Z有效;退出時,輸出Z無效2.狀態(tài)圖到MDS圖這是一個莫爾型電路,三個狀態(tài)A、B、C和輸出Z1Z2依次為01、11、00。這說明:A態(tài)到B態(tài)時,Z1由0變1,Z1有效;B態(tài)到C態(tài)時,Z1由1變0,Z1無效。Z1↑↓同理:C態(tài)到A態(tài)時,Z2由0變1,Z2有效;B態(tài)到C態(tài)時,Z2由1變0,Z2無效Z2↑Z2↓加了三個輸入X1、X2、X3的情況。現(xiàn)在再考慮有條件輸出的情況:有三個狀態(tài)A、B、C,當輸入為1時,輸出為1,A→B;當輸入為0時,輸出為0,A→C(輸入/輸出)到MDS圖三、ASM圖至MDS圖的轉(zhuǎn)換轉(zhuǎn)換原則:1.ASM圖的狀態(tài)框?qū)?yīng)

MDS圖中的Si。(A)A(B)BASM圖MDS圖2.ASM圖的判別框構(gòu)成

MDS圖的分支。START?YESNOSTARTSTART計數(shù)器復位執(zhí)行CR↑↓OPR↑↓3.控制器的輸出是為實現(xiàn)狀態(tài)框的操作而發(fā)出的信息,對應(yīng)MDS圖中狀態(tài)圈外側(cè)的輸出。再舉一例:4.ASM圖的條件輸出與MDS圖條件輸出相對應(yīng)。注:A態(tài)返回到A態(tài)時,有一條件輸出:當X=0,CP=0時,RUN有效。到MDS圖第三節(jié)數(shù)字密碼引爆器系統(tǒng)設(shè)計下面討論一個數(shù)字密碼引爆系統(tǒng),用它將從上至下的設(shè)計概念融會貫通。設(shè)計步驟:1.系統(tǒng)級分析,確定初步方案;2.將設(shè)計細分,進行模塊劃分;3.VHDL綜合.一、數(shù)字密碼引爆器頂層設(shè)計1.頂層方案設(shè)計系統(tǒng)密碼采用三個十進制數(shù)字,當三個輸入正確,就可引爆;當輸入不正確或密碼位數(shù)不對時引爆,產(chǎn)生錯誤,系統(tǒng)報警。輸入電路:(1)開始輸入數(shù)字密碼前,需設(shè)置一個READY鍵,表示電路系統(tǒng)準備就緒,可以輸入密碼。

(2)當引爆事件發(fā)生后,應(yīng)重新恢復到等待狀態(tài),需設(shè)置一個WAIT_T鍵。(3)若沒有正確使用密碼,產(chǎn)生報警信號,這時再按READY和WAIT_T鍵不起作用,必須內(nèi)部保安人員重新設(shè)置到等待狀態(tài),需重新設(shè)置一個SETUP鍵。(4)密碼正確輸入以后,設(shè)置一個引爆按鍵FIRE(5)十個數(shù)字按鍵A0-A9作為密碼輸入,密碼采用三位且設(shè)置在內(nèi)部,OSCC為1MHz輸入。輸出電路:(1)當密碼正確輸入并點火后,輸出一綠燈信號LT。(2)當密碼操作有誤,輸出一紅燈信號,并伴隨報警裝置LB鳴叫。注:在按WAIT_T后進入等待狀態(tài),LT、HT和LB皆不工作。(3)設(shè)置一七段顯示數(shù)碼管顯示輸入的密碼數(shù)據(jù)。引爆過程如下:(1)按READY鍵,啟動引爆程序—系統(tǒng)處于準備狀態(tài)。

(2)依次鍵入三個十進制數(shù)字。(3)若按上述操作正確后,啟動FIRE,LT綠燈亮。

按錯密碼按上述操作時,報警喇叭LB響,RT紅燈亮。(4)引爆正確后,需按WAIT_T鍵,使系統(tǒng)進入等待狀態(tài)。報警狀態(tài)下,按READY和WAIT_T均不起作用,按另外的內(nèi)部鍵SETUP,使系統(tǒng)進入等待狀態(tài)。(5)按錯密碼可在按FIRE前,按READY鍵重新啟動引爆程序。二、頂層實體的VHDL程序第一步:為系統(tǒng)建立系統(tǒng)名。第二步:描述頂層的接口,包括輸入信號、輸出信號、信號方向、數(shù)據(jù)類型等。LIBRARYieee;USEieee.std_logic_1164.all;ENTITYfire_dISENDfire_d;系統(tǒng)建立系統(tǒng)名fire_dPORT(A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,WAIT_T:INstd_logic;FIRE,READY,SETUP,OSCC:INstd_logic;LT,RT,LB,A,B,C,D,E,F,G:OUTstd_logic);三、頂層結(jié)構(gòu)體的設(shè)計及VHDL實現(xiàn)從上至下的精神是將系統(tǒng)劃分為幾個部分,如控制部分和受控部分,受控部分又靠各種模塊來實現(xiàn)。(1)A0-A9十個數(shù)字進入系統(tǒng)編碼器變成BCD碼,并顯示(2)密碼是內(nèi)部設(shè)置為Z1、Z2、Z3,它是串行輸出,所以用一4乘3選1電路構(gòu)成。(3)密碼需和鍵入的BCD碼比較,需設(shè)一個4比特比較電路。比較結(jié)果送入控制器。至于READY、FIRE等輸入信號,可直接送入控制器,由于按鍵產(chǎn)生引起電平抖動,最好加入同步消抖電路。由于同步消抖輸入是低電平,又由于按鍵產(chǎn)生是高電平,所以要加入一個反相器。4乘3選1的地址由計數(shù)器控制,計數(shù)器由控制器控制。當WAIT_T有效時,提供WAIT_L信號封鎖RS觸發(fā)器,使LT、RT和LB無效。系統(tǒng)使用1MHz信號,經(jīng)過分頻得OSC2為1000Hz,再分頻為4Hz(OSC1)提供給系統(tǒng)。至此頂層模塊劃分完成,如上圖所示。VHDL結(jié)構(gòu)描述程序如下:ARCHITECTUREfire_d_arcOFfire_dISCOMPONENTse7ISPORT(A,B,C,D:INstd_logic;E,F,G,H,I,J,K:OUTstd_logic);ENDCOMPONENT;COMPONENTkcomISPORT(A,B,C,D:INstd_logic;

E,F,G,H:INstd_logic;T:OUTstd_logic);ENDCOMPONENT;COMPONENTkbianISPORT(A,B,C,D,E,F,G,H,I,J:INstd_logic;T,X,Y,Z,W:OUTstd_logic);ENDCOMPONENT;COMPONENTk4muxISPORT(A,B:INstd_logic;C,D,E,F:OUTstd_logic);ENDCOMPONENT;SIGNALA11,A21,A31,A41,A51,A61,A71,A81,A91,B1,B2,B3,B4:std_logic;SIGNALDep,E1,E2,E3,E4:std_logic;BEGINU29:kbianPORTMAP(A01,A11,A21,A31,A41,A51,A61,A71,A81,A91,DATA_IN1,B1,B2,B3,B4);U30:kcomPORTMAP(B1,B2,B3,B4,E1,E2,E3,E4,Dep);U32:k4muxPORTMAP(CT0,CT1,E1,E2,E3,E4);U41:se7PORTMAP(B1,B2,B3,B4,A,B,C,D,E,F,G);ENDfire_d_arc;二、次級電路分析與VHDL實現(xiàn)1.受控部分電路設(shè)計主要包括編碼電路、消抖同步電路、比較電路、預置碼電路、計數(shù)器選擇電路和輸出電路等。(1)編碼電路編碼電路是10線至4線的BCD編碼器,又因前級消抖電路輸出為高電平,所以A01—A91進入編碼器為高電平。輸出B4為MSB,B1為LSB。DATA_IN1為當按下按鍵時,為高電平。PORT(A,B,C,D,E,F,G,H,I,J:INstd_logic;T,X,Y,Z,W:OUTstd_logic);ENTITYkbianISENDkbian;(2)消抖同步電路SETUP、WAIT_T、READY、FIRE和A0-A9都需要一同步消抖電路,如右圖所示:VHDL程序如下:ENTITYksyISENDksy;PORT(A,B:INstd_logic;C:OUTstd_logic);ABCARCHITECTUREksy_arcOFksyISCOMPONENTknand2ISPORT(A,B:INstd_logic;C:OUTstd_logic);ENDCOMPONENT;SIGNALT1,T2,T3,T4,T5,T6:std_logic;BEGINT1T2T3T4T5T6U0:knand2PORTMAP(A,T1,T2);(3)比較器電路(A)比較器的輸入來自編碼器的輸出B1至B4的四位數(shù)據(jù)。(B)比較器的另外輸入來自預置密碼電路的輸出E1至E4的四位數(shù)據(jù)。(C)結(jié)果相等時,輸出Dep為1;不等時,輸出Dep為0。PORT(A,B,C,D,E,F,G,H:INstd_logic;T:OUTstd_logic);ENTIYkcomISENDkcom;ARCHITECTUREkcom_arcOFkcomISBEGINPROCESS(A,B,C,D,E,F,G,H)BEGINIFA=EANDB=FANDC=GANDD=HTHENT<=1;ELSET<=0;ENDIF;2.控制器電路設(shè)計控制器在系統(tǒng)中只占硬件的很小一部分,因此對控制器的設(shè)計不是從如何最簡化入手,而是著重考慮邏輯清楚,便于修改。(1)建立等待狀態(tài):系統(tǒng)處于引爆后、上電狀態(tài)時,系統(tǒng)還未進入正常的等待狀態(tài)。此時系統(tǒng)不接受除WAIT_T外的任何信號,當鍵入WAIT_T后,系統(tǒng)進入等待狀態(tài),輸出WAIT_L信號,將引爆指示燈LT和報警指示燈RT以及報警器切斷,該狀態(tài)可用右圖(ASM)表示。(2)準備操作狀態(tài):當WAIT_T按下以后,進入準備操作狀態(tài)。此時READY信號來到后,為計數(shù)器清零RESET_CNT,轉(zhuǎn)入第三狀態(tài)。輸入密碼狀態(tài)3.輸入密碼狀態(tài)進入此狀態(tài)后,EN有效,允許密碼和FIRE輸入。收前三個信號時先判斷是否為數(shù)據(jù)信號,若是數(shù)據(jù)信號,使計數(shù)器加1,選出對應(yīng)的預置碼進行比較,若三個數(shù)全正確,轉(zhuǎn)到下一狀態(tài)。若三個數(shù)有一個不正確,轉(zhuǎn)入報警狀態(tài)。4.引爆操作狀態(tài)若有信號鍵入,判斷是數(shù)據(jù)信號還是FIRE:(1)若是FIRE信號,則發(fā)出SLT信號,LT亮,密碼引爆器被引爆。(2)若是數(shù)據(jù)信號,則進入報警狀態(tài),此時如果啟動READY鍵,系統(tǒng)發(fā)出RESET_P信號返回到輸入密碼狀態(tài)。輸入密碼(3)報警狀態(tài)有兩種情況:(A)沒按FIRE鍵時,可按READY鍵返回到輸入密碼操作狀態(tài);(B)按FIRE鍵后,必須按SETUP鍵返回到等待操作狀態(tài)狀態(tài)。輸入密碼等待狀態(tài)將ASM圖改成MDS圖得到6個激勵方程和有關(guān)輸出方程如下:控制器的部分VHDL程序如下:

WHENQA=>H<=‘0’;--時鐘信號CNP置0

IFA=‘0’THEN--WAIT_T沒按下

current_state<=QA;ELSE

--WAIT_T按下

current_state<=QB;M<=‘0’;L<=‘1’;K<=‘1’;ENDIF;PACKAGEstate_packISTYPEstateIS(QA,QB,QC,QD,QE,QF);ENDstate_pack;LIBRARYieee;USEieee.std_logic_1164.all;USEwork.state_pack.all;ENTITYcontrollISPORT(A,B,C,D,E,,F,G,OSC2:INstd_logic;H,I,J,K,L,M:OUTstd_logic);ENDcontroll;ABCDEFGHIJKLMARCHITECTUREcontroll_arcOFcontrollIS

SIGNALcurrent_state:state_pack:=QA;BEGIN

PROCESSBEGINWAITUNTILLOSC2=‘1’ANDOSC2’EVENT;

溫馨提示

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

最新文檔

評論

0/150

提交評論