數字系統設計技術實驗報告模板.doc_第1頁
數字系統設計技術實驗報告模板.doc_第2頁
數字系統設計技術實驗報告模板.doc_第3頁
數字系統設計技術實驗報告模板.doc_第4頁
數字系統設計技術實驗報告模板.doc_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數字系統設計技術實驗報告 專 業(yè): 班 級: 姓 名: 學 號: 實驗一:一位全加器設計一、 實驗目的熟悉QuartusII軟件的使用,學會用原理圖輸入法設計邏輯電路,進一步鞏固全加器原理及其EDA實現。二、 一位全加器原理電路示意圖如下所示:A、B、Sum均為四位矢量信號。ABCoFulladderCiSumSumi=AiBiCiiCoi=AiBi+(Ai+Bi)Cii三、 設計過程與步驟此處從建立工程直到原理圖設計完成,以及編譯綜合和仿真的詳細步驟要寫上。從QuartusII軟件實際操作界面中截圖。四、 仿真結果五、 實驗總結此處主要寫實驗中遇到的問題,解決的方法。實驗二:數值比較器設計一、 實驗目的鞏固QuartusII軟件的使用,熟悉Verilog HDL程序結構,學會用文本輸入法設計邏輯電路。二、 數值比較器原理根據兩位二進制數的大小得到對應的比較結果,其電路示意圖及電路特性表為:比較器電路示意圖 比較器特性表 A B A B 0 00 1 00 11 0 01 00 0 11 10 1 0三、 程序四、 仿真結果五、 實驗總結實驗三:四選一數據選擇器設計一、實驗目的掌握Verilog語言中的case語句、if-else語句。二、四選一數據選擇器原理 電路功能表及其電路圖如下:電路功能表 D0D1YMux4-1A1D2D3A0A1 A0Y0 0D00 1D11 0D21 1D3三、程序四、 仿真結果五、 實驗總結實驗四:8/3優(yōu)先編碼器設計一、 實驗目的掌握VerilogHDL語言中的if條件語句和always模塊的使用。二、8/3優(yōu)先編碼器原理電路功能表及其電路圖如下:電路功能表 三、 程序四、 仿真結果五、 實驗總結實驗五:十六進制加/減可逆計數器設計一、 實驗目的練習時序邏輯電路的Verilog實現。二、 實驗要求實現一個具有加減可逆計數功能的十六進制計數器,用一位控制信號,控制加/減兩種計數模式。三、 程序四、 仿真結果五、 實驗總結實驗六:智能交通燈控制器設計一、 實驗目的練習用QuartusII軟件設計具有一定復雜度和實際意義的功能電路。二、功能描述設計一個十字路口智能交通燈控制器,其示意圖如圖8-27:AB方向和CD方向各有紅燈、黃燈、綠燈和左拐燈四種類型燈,四種燈按照合理的順序依次亮滅,并能夠將對應燈亮的時間以倒計時形式顯示出來。CA BD圖8-27 十字路口交通示意圖三、控制器狀態(tài)轉換表智能交通燈狀態(tài)轉移轉換表如表8-1所示。表中“1”表示燈亮,“0”表示燈滅。AB方向和CD方向有四種燈。AB方向CD方向綠燈黃燈左轉燈紅燈綠燈黃燈左轉燈紅燈1000000001000000001000000100000000001000000001000000001000000100交通燈狀態(tài)轉移表從狀態(tài)表可以看出,每個方向四種亮滅是有順序的,循環(huán)的順序是:綠燈黃燈左轉黃燈紅燈 每個方向紅燈亮的時間正好等于另一方向綠燈、2次黃燈、左轉燈亮的時間相等。四、設計思路與實現根據交通燈狀態(tài)轉移表,我們可以采用8個狀態(tài)機來設計,因為紅燈亮的時候正好是別的顏色燈在亮,所以我們利用三個計數器,分別對應綠燈、黃燈、左轉燈,在本設計中,為了方便,我們分別讓綠燈亮的時間是:64秒、黃燈亮的時間是4秒、左轉燈亮的時間是15秒。利用三個信號監(jiān)測三種燈計數完畢。當檢測信號變化狀態(tài)就轉換到下一個狀態(tài),即完成燈亮變化。在顯示方面,AB方向和CD方向各需要4個數碼管顯示,計數輸出采用BCD碼。參考程序:/采用狀態(tài)機和計數設計module traffic_ctr(clk,rest,lamp_ab,lamp_cd);input clk;/標準時鐘信號input rest;/系統復位信號output3:0 lamp_ab,lamp_cd;/燈的順序是綠色燈、黃色燈、左轉燈、紅色燈reg5:0 count_green; /綠色燈寄存器變量,燈亮時間64秒reg1:0 count_yellow;/黃色燈寄存器變量,燈亮時間4秒reg3:0 count_turn; /轉向燈寄存器變量,燈亮時間16秒reg2:0 pres_state,next_state;/狀態(tài)機變量reg3:0 lamp_ab,lamp_cd;/對應燈的寄存器變量wire flag1,flag2,flag3;/作為進行下一個狀態(tài)標志assign flag1=(count_green=0)? 1:0;assign flag2=(count_yellow=0)? 1:0;assign flag3=(count_turn=0)? 1:0;always (flag1 or flag2 or flag3 or rest)begin if (!rest)pres_state = 0; elsepres_state = next_state;endalways (posedge clk)begin case(pres_state) 0:/ab方向綠色燈亮 begin if(!flag1) begin lamp_ab=4b1000; lamp_cd=4b0001; count_green=count_green+1; end else begin next_state=1; count_green=count_green+1; end end 1:/ab方向黃色燈亮 begin if(!flag2) begin lamp_ab=4b0100; lamp_cd=4b0001; count_yellow=count_yellow+1; end else begin next_state=2; count_yellow=count_yellow+1; end end 2:/ab方向轉向燈亮 begin if(!flag3) begin lamp_ab=4b0010; lamp_cd=4b0001; count_turn=count_turn+1; end else begin next_state=3; count_turn=count_turn+1; end end 3:/ab方向黃色燈亮 begin if(!flag2) begin lamp_ab=4b0100; lamp_cd=4b0001; count_yellow=count_yellow+1; end else begin next_state=4; count_yellow=count_yellow+1; end end 4:/cd方向綠色燈亮 begin if(!flag1) begin lamp_ab=4b0001; lamp_cd=4b1000; count_green=count_green+1; end else begin next_state=5; count_green=count_green+1; end end 5:/cd方向黃色燈亮 begin if(!flag2) begin lamp_ab=4b0001; lamp_cd=4b0100; count_yellow=count_yellow+1; end else begin next_state=6; count_yellow=count_yellow+1; end end 6:/cd方向轉向燈亮 begin if(!flag3) begin lamp_ab=4b0001; lamp_cd=4b0010; count_turn=count_turn+1; end else begin next_state=7; count_turn=count_turn+1; end end 7:/cd方向黃色燈亮 begin if(!fla

溫馨提示

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

評論

0/150

提交評論