數(shù)據(jù)通路和有限狀態(tài)機(jī)設(shè)計_第1頁
數(shù)據(jù)通路和有限狀態(tài)機(jī)設(shè)計_第2頁
數(shù)據(jù)通路和有限狀態(tài)機(jī)設(shè)計_第3頁
數(shù)據(jù)通路和有限狀態(tài)機(jī)設(shè)計_第4頁
數(shù)據(jù)通路和有限狀態(tài)機(jī)設(shè)計_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——數(shù)據(jù)通路和有限狀態(tài)機(jī)設(shè)計試驗(yàn)4和5數(shù)據(jù)通路及有限狀態(tài)機(jī)設(shè)計

一、試驗(yàn)?zāi)康?/p>

綜合應(yīng)用把握的簡單組合電路和時序電路的設(shè)計方法。完成一個簡單的數(shù)據(jù)通路的設(shè)計,把握數(shù)據(jù)通路的基本設(shè)計方法;為該數(shù)據(jù)通路配上一個控制器(有限狀態(tài)機(jī)),把握有限狀態(tài)機(jī)的基本設(shè)計方法;將所有的試驗(yàn)綜合起來,實(shí)現(xiàn)一個自動運(yùn)算電路。

二、試驗(yàn)內(nèi)容及步驟

1.數(shù)據(jù)通路設(shè)計

根據(jù)圖1給出的數(shù)據(jù)通路(圖中SUM和NEXT是寄放器,Memory是存儲器,+是加法器,==0是比較器,其它則是多路選擇器),完成相應(yīng)的Verilog程序設(shè)計。具體要求如下:

?圖中數(shù)據(jù)線的寬度和各個器件的數(shù)據(jù)線寬度初始設(shè)計時均為8位,要求

構(gòu)成數(shù)據(jù)通路時可以擴(kuò)展至16位或者是32位;

?設(shè)計的數(shù)據(jù)通路能夠正確綜合,Vivado所示的電路原理圖與圖1給出的

一致。

圖1數(shù)據(jù)通路圖

1

(1)分別設(shè)計n位加法器模塊,n位2選1多路選擇器模塊,n位比較器模塊。(用parameter傳參來擴(kuò)展)

(2)設(shè)計一個含同步復(fù)位rst和加載load端的n位寄放器模塊

當(dāng)load=1時,對輸入的n位數(shù)據(jù)進(jìn)行同步寄放,即讓輸入D的值賦給輸出Q;(3)設(shè)計一個n位存儲器模塊,存儲器中存放有一條至少包含3個節(jié)點(diǎn)的數(shù)據(jù)鏈表(如圖3所示),鏈表第1個節(jié)點(diǎn)在0號地址。存放的鏈表可以參考后面所示的文本文件用系統(tǒng)函數(shù)$readmemh進(jìn)行初始化,也可以自行設(shè)計數(shù)據(jù)。

(4)根據(jù)圖1實(shí)例化以上模塊完成數(shù)據(jù)通路模塊的設(shè)計

輸入端口有:時鐘clk,復(fù)位rst,加載信號LD_SUM,LD_NEXT,輸出端口有:鏈尾標(biāo)志NEXT_ZERO

2.有限狀態(tài)機(jī)設(shè)計

假使要在圖1所示的數(shù)據(jù)通路中完成圖3所示的數(shù)據(jù)鏈表的求和運(yùn)算,需要一個控制器,用課上講的有限狀態(tài)機(jī)(FSM)來實(shí)現(xiàn)該控制器。由一個啟動信號start開始進(jìn)行求和運(yùn)算,當(dāng)計算終止時輸出求和終止信號done。假設(shè)有限狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)移圖如圖2所示,根據(jù)狀態(tài)轉(zhuǎn)移圖,依照有限狀態(tài)機(jī)(FSM)標(biāo)準(zhǔn)的實(shí)現(xiàn)模式來編寫Verilog程序代碼。具體要求如下:

?設(shè)計的有限狀態(tài)機(jī)(FSM)能夠正確綜合;

?編寫有限狀態(tài)機(jī)的仿真程序,完成有限狀態(tài)機(jī)(FSM)的功能仿真,有

限狀態(tài)機(jī)功能仿真正確。

該控制器模塊的端口有:

輸入端口:時鐘clk,復(fù)位rst,啟動求和start,鏈尾標(biāo)志next_zero輸出端口:LD_SUM,LD_NEXT,,求和終止done

2

圖2狀態(tài)轉(zhuǎn)移圖

3.自動運(yùn)算電路的設(shè)計

將試驗(yàn)步驟1實(shí)現(xiàn)的數(shù)據(jù)通路與試驗(yàn)步驟2實(shí)現(xiàn)的有限狀態(tài)機(jī)(FSM)結(jié)合起來,可以進(jìn)行以鏈表方式存儲的數(shù)據(jù)的求和運(yùn)算。

在存儲器中存放的數(shù)據(jù)鏈表其結(jié)構(gòu)如圖3所示,鏈表的各個節(jié)點(diǎn)在存儲器中不是連續(xù)存放,各節(jié)點(diǎn)的第一個地址存放下一個節(jié)點(diǎn)的地址,各節(jié)點(diǎn)的其次個地址中存放著要進(jìn)行求和運(yùn)算的數(shù)據(jù),當(dāng)下一個節(jié)點(diǎn)的地址為0時,表示到達(dá)鏈表的結(jié)尾,求和運(yùn)算終止。

3

圖3數(shù)據(jù)鏈表及其在存儲器中的存放格式

利用上面設(shè)計的數(shù)據(jù)通路、有限狀態(tài)機(jī),將它們集成起來,設(shè)計并實(shí)現(xiàn)一個能夠進(jìn)行上述圖3所示鏈表數(shù)據(jù)的自動求和運(yùn)算,該電路的總體框架如圖4所示,數(shù)據(jù)通路中存儲器所存放的鏈表可以參考下面所示的文本文件來進(jìn)行初始化。具體要求如下:

?完成自動運(yùn)算求和電路的設(shè)計,能夠正確綜合;?編寫仿真程序,進(jìn)行功能仿真,仿真結(jié)果正確;?功能仿真正確后修改約束文件、生成比特流文件;?進(jìn)行最終的時序仿真,時序仿真結(jié)果正確再下載運(yùn)行;?板上實(shí)際運(yùn)行,運(yùn)行結(jié)果正確。

撥動一個開關(guān)開始求和運(yùn)算,每步的求和結(jié)果(即SUM寄放器中的值)輸出在LED上正確顯示,求和運(yùn)算終止后一個LED指示燈亮,說明運(yùn)算完成,LED

4

上顯示最終的和,整個求和運(yùn)算步數(shù)不能少于3次。

圖4自動運(yùn)算電路模塊構(gòu)成圖

存儲器初始化文件(存儲器每個存儲單元32位,共有16個存儲單元,最終的求和運(yùn)算結(jié)果=2+4+6+8=20):000000030000000200000000000000070000000400000000000000000000000b0000000600000000000000000000000000000008000000000000000000000000

5

4.帶數(shù)碼管顯示的自動運(yùn)算電路(選做)

將上面設(shè)計實(shí)現(xiàn)的自動運(yùn)算電路配上試驗(yàn)2、3設(shè)計的數(shù)碼管動態(tài)顯示電路,設(shè)計一個能夠通過數(shù)碼管顯示求和結(jié)果的電路,為了能夠看清每步求和的中間結(jié)果,需要調(diào)慢數(shù)據(jù)通路和控制器的時鐘讓運(yùn)算速度變慢(建議分頻器的輸出時鐘為1Hz),該電路的總體框架如圖5所示。具體要求如下:

?完成帶數(shù)碼管顯示的自動運(yùn)算求和電路的設(shè)計,能夠正確綜合;?修改約束文件、生成比特流文件;

?下載到Nexys4DDR開發(fā)板上運(yùn)行,下載后撥動一個開關(guān)開始求和運(yùn)算,

每步的求和結(jié)果在數(shù)碼管上正確顯示,整個求和運(yùn)算終止后一個LED指示

溫馨提示

  • 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

提交評論