數位電路大型實驗

2022-11-27 04:24:09 字數 2807 閱讀 6491

數位電路與數字邏輯大型實驗報告

姓名:***

學號:******xx

指導老師:***x

專業班級:計科1201

學院:電腦科學與技術學院

提交日期:2023年5月26日

一、實驗內容

數字頻率計的設計。

二、4位數字頻率計設計

1、設計題目

設計一4位數字頻率計,測量範圍為0~9999hz,假設被測訊號為標準的方波訊號。

2、方案設計及原理

頻率就是週期性訊號在單位時間(1s)內的變化次數。若在1s的時間間隔內測得這個週期性訊號的重複變化次數為n,則其頻率f可表示為:

f =n

由此可見,只要將被測訊號作為計數器的時鐘輸入,讓計數器從零開始計數,計數器計數1s鐘後得到的計數值就是被測訊號的頻率值。利用上述思路可以得到圖一所示的數字頻率設計原理圖:

圖1 數字頻率計原理框圖

控制電路首先給出清零訊號,是計數器清零。然後閘門訊號給出高電平,閘門開通,被測訊號通過閘門送到計數器,計數器開始計數,1s鐘後,將閘門訊號置為低電平,計數器停止計數,此時計數器的計數值就是被測訊號的頻率。在計數器和顯示電路之間加了鎖存器,控制器在閘門關閉後給出一封鎖訊號,將計數值存入鎖存器,顯示電路根據鎖存器的輸出顯示頻率值。

圖2 數字頻率計工作時序

數字頻率計主體部分採用fpga實現,採用「自頂向下」的設計方法。先頂層設計,後底層模組設計。與計算機軟體程式類似,頂層設計相當於主程式,底層模組相當於子程式。

頂層設計可以採用原理圖,也可以採用vhdl語言描述。採用原理圖設計比較直觀,但是移植性較差。底層模組分為控制器和資料處理單元兩部分,均採用vhdl語言描述。

3、頂層原理圖設計

原理圖包括計數器cnt10、鎖存器latch4、顯示解碼器led7s、控制器control四種底層模組。4個十進位制計數器cnt10級聯構成10000進製計數器,使頻率計的測量範圍達到0000hz~9999hz。cnt10的輸出送鎖存器latch4,latch4的輸出送顯示解碼器led7s。

led7s的輸出驅動7段led數碼管。control用於產生圖3所示的清零訊號clr、閘門訊號cs、鎖存訊號le三種控制訊號。

圖3 4位數字頻率計原理圖

4、底層模組**

(1)十進位制計數器模組cnt10的模組**

cnt模組為十進位制加法計數器模組,具有計數、非同步清理、計數使能、進製輸出功能。非同步清零功能是為了閘門訊號有效之前將計數器清零。計數使能由閘門訊號控制,閘門訊號高電平時允許計數,低電平時計數停止。

進製輸出是用於計數器之間的級聯,即前級計數器的進製輸出作為后級計數器的時鐘輸入。需要指出的是,由於cnt10模組採用時鐘的上公升沿計數,計數器的進製輸出應採用負脈衝,避免后級計數器提前加1計數。

圖4 十進位制計數器模組cnt10的模組**結果

(2)latch4模組**

latch4模組為4位鎖存器模組,在鎖存訊號的高電平期間,鎖存器輸出跟隨輸入變化,在鎖存訊號的下降沿,將輸入值鎖存,輸出值保持不變。

圖5 latch4模組**結果

(3)control模組**

控制模組control用於產生滿足時序要求的控制訊號。狀態機的狀態編碼採用格雷碼,以消除狀態解碼時由於競爭冒險產生的干擾窄脈衝。通過狀態解碼產生3個控制訊號:

第0狀態時,清零訊號(clr)置為高電平;第1~8狀態時,閘門訊號(cs)置為高電平,閘門訊號的高電平持續時間等於8個狀態為維持時間,因此,其脈衝寬度剛好為1s;第9狀態時,鎖存訊號(le)置為高電平。

圖6 control模組**結果

(4)led7s模組**

圖7 led7s模組**結果

5、引腳鎖定和**測試

數字頻率計通過**驗證以後,就可以編譯產生頻率計配置檔案**到fpga晶元進行實際驗證。在**之前,需要將頻率計的輸入輸出埠與fpga的引腳建立對應關係,這個過程稱為「引腳鎖定」。

選擇assignments→pin命令,開啟引腳鎖定視窗。滑鼠雙擊「location」欄的空白處,在出現的下拉框中選擇對應埠訊號名的器件引腳號。用相同的方法依次把所有的輸出鎖定到相應的引腳。

選擇「assignments→device」,進入介面以後單擊「device&pin option」命令,然後單擊「unused pins」,在對話方塊中選擇「as input tri_stated」,按確定按鈕,然後對工程進行重新編譯,將引腳對應關係存入設計。

用usb**電纜將pc機與de2實驗板blaster介面連線,合上電源開關,選擇tool→programmer選單或直接單擊工具欄上的快捷鍵,進入**程式設計視窗。單擊「hardware setup」按鈕,選擇「usb—blaster」。在程式設計模式「mode」中選擇「jtac」,然後選中programmer/configure下方的小框框。

單擊「start」按鈕,開始**,當progress顯示100%時,**結束。

三、實驗總結

通過本次實驗,學習到的內容有很多,掌握了乙個實驗完成的各個步驟:首先分析實驗原理,進行頂層設計,細化到底層設計,然後對底層模組進行編譯、符號生成、**,頂層原理圖輸入、編譯,最後引腳鎖定、程式設計**,就可以進行測試了。在實驗過程中也慢慢地熟悉了vhdl語言的程式設計思想和魅力,也通過自己編寫led7s底層模組加深了對這個語言的了解。

可以說剛在這門實驗課剛開始的時候,對於實驗操作完全摸不著頭腦,不知道從何下手,完全是按照書本按部就班,也不清楚自己做的這一步到底是什麼意思,有什麼作用。在後來的幾次實驗中,經過老師的指導也就開始上手了,完全改變了當初的做法,對於下一步要做什麼心裡也有底了,也能夠摸清實驗的基本原理,自己設計模組,設計功能。感覺挺欣慰的。

對於實驗課上我覺得同學們不懂的有太多,老師乙個人也忙不過來,我覺得老師可以帶著研究生來上課,多乙個人指導,低智商的問題就可以不用問老師了,老師可以輕鬆很多的。

數位電路實驗 數字顯示電路

數字顯示電路 組合電路綜合設計 一 實驗目的 數字顯示電路實驗將傳統的4個分離的基本實驗,即基本門實驗,編碼器 顯示解碼器 7段顯示器實驗,加法器實驗和比較器實驗綜合為 個完整的設計型的組合電路綜合實驗。通過本實驗,要求學生熟悉各種常用msi組合邏輯電路的功能與使用方法,學會組裝和除錯各種msi組合...

數位電路實驗指導

數字電子技術 實驗指導書 於潤偉主編 黑龍江農業工程職業學院 數字電子技術 實驗指導書 於潤偉主編 專業班級 姓名設計乙個樓梯照明電路,裝在 一 二 三樓上的開關都能對樓梯上的同乙個電燈進行開關控制。合理選擇器件完成設計。1 實驗目的 1 學會組合邏輯電路的設計方法。2 熟悉74系列通用邏輯晶元的功...

數位電路實驗報告實驗

實驗四計數器 一 實驗目的 1 熟悉計數器的工作原理,掌握中規模 msi 計數器的邏輯功能。2.掌握用msi計數器實現任意模計數器的方法。二 實驗裝置和器件 1 數字邏輯電路實驗板1塊 2 74hc ls 00 四二輸入與非門 1片 3 74hc ls 160 4位十進位制計數器 2片 三 實驗原理...