時序電路實驗報告_第1頁
時序電路實驗報告_第2頁
時序電路實驗報告_第3頁
時序電路實驗報告_第4頁
時序電路實驗報告_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、時序電路實驗說明:在實驗原理圖中的框圖中,第一步的產(chǎn)生環(huán)形脈沖是指產(chǎn)生q4q1:1000-1100-1110-0000-1000,產(chǎn)生的譯碼后的節(jié)拍電位是指t40t41:0001-0010-0100-1000-0001,最后通過啟??刂七壿嫞瑔?,單拍,停機控制t40t41怎么輸出。但是為什么環(huán)形脈沖沒有1111這一個狀態(tài)呢,為什么在0111就歸零了呢?分析電路圖可知,因為節(jié)拍電位只有4個狀態(tài),所以在環(huán)形脈沖的設計中忽略了1111,當然也可以設計成沒有0000這個狀態(tài)。先解釋機器周期、節(jié)拍電位、時標脈沖。機器周期的時間寬度通常對應于一個內存存取周期,即一個機器周期可以訪問一次內存。機器周期分為

2、多種類型,如取指令周期、取操作數(shù)周期、執(zhí)行周期等。一條指令從內存中取出到被執(zhí)行完需要若干個不同類型的機器周期,但任何指令的第一個周期都是取指令周期,每個機器周期包含若干個節(jié)拍電位。節(jié)拍電位是控制操作順序的信號,各節(jié)拍電位在時間上不重疊。節(jié)拍電位由主振分頻得到。其寬度對應于運算器執(zhí)行一次算術/邏輯運算所需要的時間,一個節(jié)拍電位包括若干時標脈沖。時標脈沖用來保證計算機內觸發(fā)器的可靠翻轉,它的寬度為節(jié)拍電位的幾分之一。以上內容書上也有,下面舉例來解釋這3個概念。 一條指令有分為取指周期,譯碼周期,執(zhí)行周期。如比較熟悉的取指周期中就有fetch1: arpcfetch2: drm,pcpc1fetch

3、3: irdr7.6,ardr5.0fetch1,fetch2,fetch3為3條微指令。每條微指令都對應相應的控制信號,如fetch1就是arload有效,其余控制信號均無效。時標脈沖是指在節(jié)拍電位中,產(chǎn)生控制信號邏輯的每個時鐘信號;節(jié)拍電位就是產(chǎn)生一組控制信號邏輯,fetch1、fetch2、fetch3分別對應3個節(jié)拍電位;機器周期就是整個取指周期,包括3個節(jié)拍電位。下面解釋實驗原理圖:第一個7474是產(chǎn)生清零信號和時鐘信號,清零信號是當q2=1時,在時鐘上升沿clrn=0,clk=1,在其他時候clk與h的信號一致。所以有clrn=(q2h),clk=q2+h。74175是為了產(chǎn)生環(huán)形

4、脈沖的,環(huán)形脈沖q4q1為1000-1100-1110-0000-1000,q*表示次態(tài),q表示現(xiàn)態(tài)。所以q4*=clrn,q3*=q4clrn,q2*=q3clrn,q1*=0,在74175中體現(xiàn)出來就是4d=1,3d=q4,2d=q3,1d=q2。產(chǎn)生譯碼后的節(jié)拍電位可以根據(jù)卡洛圖得邏輯表達式,除了q4q1的幾個狀態(tài),其余的都作為無關項理解。q4q1: 1000-1100-1110-0000-1000對應t40t41:0001-0010-0100-1000-0001,有:t40=q4, t30=q2,t20= q3q2, t10= q4q3,第二個7474和組合邏輯是產(chǎn)生啟??刂七壿嫷?。通

5、過產(chǎn)生的控制信號與t40t41進行與運算,最后得到真正的節(jié)拍電位。qd是通過鎖存器產(chǎn)生,由于單拍和啟動信號都與周期有關,也就是可以理解為,周期結束后單拍和啟動信號才發(fā)揮作用,一個是讓輸出全為0,一個是輸出為t40t41,所以通過7474,來控制信號什么時候有效,所以連接的時鐘信號與q4一致,單拍時d=0,啟動時d=1,會發(fā)現(xiàn)中間有反饋信號,這個是因為單拍和停機都必須在啟動狀態(tài)下才有效,所以有這樣一個連接。另外在鎖存器后連接了一個與非門和與門,這個我覺得是用來判斷優(yōu)先級的,因為啟動狀態(tài)時,只有當單拍和停機都無效時d=1,而單拍和停機都有效時d=0,當然中間的停機信號設計有問題。1.電路設計時序電

6、路library ieee;use ieee.std_logic_1164.all;entity sm1 is port (復位信號啟動信號單步信號停機信號 reset : in std_logic := 0;啟動信號單步信號停機信號 clock : in std_logic; qd : in std_logic := 0; dp : in std_logic := 0; tj : in std_logic := 0; t1 : out std_logic;時序脈沖信號啟動信號單步信號停機信號 t2 : out std_logic; t3 : out std_logic; t4 : out s

7、td_logic );end sm1;architecture behavior of sm1 is type type_fstate is (idle,st1,s_st2,st4,st2,s_st3,st3,s_st4); signal fstate : type_fstate; signal reg_fstate : type_fstate;begin process (clock,reset,reg_fstate) begin if (reset=1) then fstate = idle; elsif (clock=1 and clockevent) then fstate = reg

8、_fstate; end if; end process; process (fstate,qd,dp,tj) begin t1 = 0; t2 = 0; t3 = 0; t4 if (not(qd = 1) then reg_fstate = st1; else reg_fstate = idle; end if; t1 = 0; t2 = 0; t3 = 0; t4 if (tj = 1) and not(dp = 1) then reg_fstate = st1; elsif (dp = 1) and not(tj = 1) then reg_fstate = s_st2; else r

9、eg_fstate = st2; end if; t1 = 1; t2 = 0; t3 = 0; t4 if (tj = 1) then reg_fstate = s_st2; else reg_fstate = s_st3; end if; t1 = 0; t2 = 1; t3 = 0; t4 if (tj = 1) and not(dp = 1) then reg_fstate = st4; elsif (dp = 1) and not(tj = 1) then reg_fstate = idle; else reg_fstate = st1; end if; t1 = 0; t2 = 0

10、; t3 = 0; t4 if (tj = 1) and not(dp = 1) then reg_fstate = st2; elsif (dp = 1) and not(tj = 1) then reg_fstate = s_st3; else reg_fstate = st3; end if; t1 = 0; t2 = 1; t3 = 0; t4 if (tj = 1) then reg_fstate = s_st3; else reg_fstate = s_st4; end if; t1 = 0; t2 = 0; t3 = 1; t4 if (tj = 1) and not(dp =

11、1) then reg_fstate = st3; elsif (dp = 1) and not(tj = 1) then reg_fstate = s_st4; else reg_fstate = st4; end if; t1 = 0; t2 = 0; t3 = 1; t4 if (tj = 1) then reg_fstate = s_st4; else reg_fstate = idle; end if; t1 = 0; t2 = 0; t3 = 0; t4 t1 = x; t2 = x; t3 = x; t4 0-1111101-0-10tj停機信號0000-1-000100dp單步

12、信號000010010t4.0時序信號00000001-0010-0100-1000-000100100010-0100-100000010001能說明啟動時序發(fā)生器,但并未產(chǎn)生時序脈沖啟動時序發(fā)生器,t4t1,周而復始的發(fā)送出去停機狀態(tài)是,機器不產(chǎn)生時序脈沖單步狀態(tài)機器發(fā)出一個cpu周期就停止停機狀態(tài)優(yōu)先,即使此時處于啟動單步狀態(tài)優(yōu)先,即使此時處于啟動復位狀態(tài)優(yōu)先,之后若未啟動,單步狀態(tài)無效實驗結論驗證成功實驗箱驗證驗證儀器flex10k系列的epf10k20tc144-3芯片dda-i型實驗箱管腳名管腳功能管腳分配情況123456clk時鐘信號122時鐘上升沿

13、reset置位信號830(無效)1(有效)qd啟動信號8210110xtj停機信號800(無效)x101xdp單步信號810(無效)x011xt4.1時序信號118,11,7,116,11400000001-0010-0100-1000-000101000100-100010000000功能說明啟動時序發(fā)生器,但并未產(chǎn)生時序脈沖啟動時序發(fā)生器,t4t1周而復始發(fā)送出去停機狀態(tài)是,機器不產(chǎn)生時序脈沖單步狀態(tài),機器只發(fā)出一個cpu周期就停止停機狀態(tài)優(yōu)先,即使此時處于啟動復位狀態(tài)優(yōu)先,之后若未啟動,單步狀態(tài)無效實驗結論實驗操作正確,驗證正確實驗日志思考題(1) 時序電路實行了哪幾種啟??刂七壿??答:

14、實現(xiàn)了啟動、單拍、停機等控制信號來控制(2) 舉例說明機器周期,節(jié)拍,脈沖。答: 機器周期:從內存中讀取一個指令字的最短時間。 本實驗中,相當于輸出一組t1、t2、t3、t4節(jié)拍脈沖所用的時間 節(jié)拍與脈沖:一個節(jié)拍電位表示一個cpu周期的時間。一個節(jié)拍電位中包含若干個節(jié)拍脈沖,節(jié)拍脈沖表示較小的時間單位。(3) 如何進入單步運行狀態(tài)?答: 先置dp=0,tj=0,qd由0變化到1,然后令dp=1,即可使機器進入到單步運行狀態(tài)中。 其用途為:每次只讀取一條指令,可觀察當前執(zhí)行結果。(4) 時序電路參考電路圖4-5-3中的停機控制電路未能實現(xiàn)停機功能,如何修改?答:實現(xiàn)全停全停全停全停功能,電路修改如下: 7474 clrn的輸入為tj的反,通過反相器實現(xiàn),原來為直接接高電平。即在使得tj=1的時候,clrn有效,則清零,即全停。 實現(xiàn)暫停暫停暫停暫停功能,電路修改如下: 添加一個新的輸入控制信號,將其與h的反做或運算,運算的結果作為圖中7474的時鐘的輸入。 日志1. 時序電路響應qd低電平時啟動,試述vhdl中如何如果實現(xiàn)響應qd下降沿?(1)qd : in std_logic := 0;/改為qd : in std_logic := 1;(2)case fstate

溫馨提示

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

評論

0/150

提交評論