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

下載本文檔

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

文檔簡介

1、北京郵電大學實驗報告實驗名稱:數(shù)字電路與邏輯設計實驗報告學院:信息與通信工程學院班級:姓名:學號:序號:日期:實驗三:用VHDL語言設計與實現(xiàn)邏輯電路一、實驗內容1. 用 VHDL語言設計實現(xiàn)一個帶異步復位的 8421碼十進制計數(shù)器,仿真驗證信號;2.用 VHDL語言設計實現(xiàn)一個分頻系數(shù)為 12,分頻輸出信號占空比為 50%的分頻器,仿真驗證其功能;3.將(12)和數(shù)碼管譯碼器3個電路進行連接,并下載到實驗板顯示計數(shù)結果。二、模塊端口說明及連接圖1.分頻器2. 計數(shù)器clk: 時鐘輸入信號clk: 時鐘信號輸入clear: 復位信號輸入q: 計數(shù)器的輸出clear: 復位信號輸入clk_out

2、: 時鐘分頻后的信號輸出3.數(shù)碼管顯示b: 數(shù)碼管的輸入信號seg: 譯碼顯示輸出onoff: 數(shù)碼管的輸出控制4.連接圖三、實驗分析1.設計思路本實驗將之前的分頻器和計數(shù)器以及數(shù)碼管顯示模塊組合起來,實現(xiàn)了單個數(shù)碼管現(xiàn)顯示 09,每隔 0.5s切換一次顯示內容。COMPONENTdiv_12 50MHz的單片機晶振時鐘進行分頻,輸出頻率 2HZ占空比 50%的方波時鐘,以此時鐘作為內部時鐘驅動計數(shù)器。COMPONENT jishuqi是一個十進制計數(shù)器,NUM從“0000”到“1001”循環(huán)變化,模為 10。計數(shù)器的輸出傳遞給數(shù)碼管譯碼顯示電路。COMPONENT seg7_1是數(shù)碼管譯碼顯

3、示電路,將收到的信號 NUM譯碼并控制數(shù)碼管的段鎖存來控制數(shù)碼管的顯示。整體來看,div-12提供了分頻后 2Hz的時鐘,驅動計數(shù)器計數(shù),計數(shù)的結合起來就實現(xiàn)了設計的功能。模塊建立符號,連接電路圖來實現(xiàn)。2. 具體代碼如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fenpinjishu ISPORT(clear2 :IN STD_LOGIC;clk1:IN STD_LOGIC;b1:OUT STD_LOGIC_VECTOR(6 downto 0);CAT:OUT STD_LO

4、GIC_VECTOR(7 downto 0);end fenpinjishu;ARCHITECTURE a OF fenpinjishu ISCOMPONENT div_12PORT(clk :IN STD_LOGIC;clk_out:OUT STD_LOGIC);END COMPONENT;COMPONENT jishuqiPORT(clk,reset:IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END COMPONENT;COMPONENT seg7_1PORT(a:IN STD_LOGIC_VECTOR(3 downto 0);b:OU

5、T STD_LOGIC_VECTOR(6 downto 0);END COMPONENT;SIGNAL na:STD_LOGIC;SIGNAL nb:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINu1:div_12 PORT MAP(clk_out=na,clk=clk1);u2:jishuqi PORT MAP(reset=clear2,clk=na,q=nb);u3:seg7_1 PORT MAP(a=nb,b=b1);CAT b b b b b b b b b b b =0000000;END CASE;END PROCESS;cat=111101;END;2842

6、1十進制計數(shù)器:VHDL代碼:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jishuqi ISPORT(clk,reset:IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END jishuqi;ARCHITECTURE a OF jishuqi ISSIGNAL q_temp:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(clk,reset)BEGINIF reset=0 THENq_temp

7、=0000;ELSIF clkEVENT AND clk=1 THENIF q_temp=1001 THENq_temp=0000;ELSE q_temp=q_temp+1;END IF;END IF;END PROCESS;q= q_temp;END a;仿真波形圖:為 0時,輸出變?yōu)?0000當復位信號為 1時,每當遇到時鐘上升沿,輸出加 1,實現(xiàn)計數(shù)的功能,計算循環(huán)為 0000到 10103、分頻器:VHDL 代碼:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY div_12

8、ISPORT(clk :IN STD_LOGIC;clk_out:OUT STD_LOGIC);END div_12;ARCHITECTURE a OF div_12 ISSIGNAL tmp:INTEGER RANGE 0 TO 5;SIGNAL clktmp:STD_LOGIC;BEGINPROCESS(clear,clk)BEGINIF clkevent AND clk=1 THENIF tmp = 5 THENtmp=0;clktmp=NOT clktmp;ELSEtmp =tmp+1;END IF;END IF;END PROCESS;clk_out=clktmp;END a;仿真波

9、形: clear=0 6 出為 1 的位置中間有 12 個代表半個周期的方格。五、故障及問題分析1.程序運行時經常出現(xiàn)的是編譯出錯,可能有以下幾種情況:(1 VHDL 語言和 Quartus VHDL行也可能出錯。盡量用英文來命名,不知道的英文拼寫用拼音,不能出現(xiàn)中文。(2)在文件編譯前一定記得要保存,仿真前也要保存。(3)每次重啟之前完成的工程,進行其他操作前一定要先編譯,不然可能后續(xù)操作會出現(xiàn)莫名其妙的 bug。2.仿真出錯,可能的原因有:(1)時間尺度設置不合適:在設置時間時,我們一般采用的微秒級的周期,若輸入周期太短,經過電路的延遲后,輸出波形可能與預計波形不同;(2)仿真文件名:保存

10、的仿真文件名一定要與工程名一致,仿真才能成功;仿真時需注意:在實驗三中進行信號的輸入時,使用數(shù)組來實現(xiàn)比較簡單;一般我們進行結果 的驗證時 習慣用二 進制結果來 檢查, 這時我們需 要在properties 中將類型改為二進制;在輸出信號的顯示中出現(xiàn)毛刺是正?,F(xiàn)象,這應屬于電路的冒險。3.下載編譯出錯,可能的原因有:(1)管腳輸入有誤,應檢驗相應的管腳連接是否正確;(2)管腳設置完成后一定要進行編譯,否則管腳設置不起作用。六、實驗總結本學期接觸了數(shù)字電路與邏輯設計這門課后,發(fā)現(xiàn)它是一門很有意思的課那么復雜,同時電路實現(xiàn)的功能也很強大,更貼近我們的生活,在 VDHL語言的學習中,我有以下幾點感觸:VHDL語言的邏輯語法類似于 C+語言,也和 QSL語言有某些相似之處,它跟之前做FPGA實驗時我們掌握的

溫馨提示

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

評論

0/150

提交評論