




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、西南科技大學實驗報告課程名稱:基于FPGA勺現代數字系統設計實驗名稱:基于HDL十進制計數、顯示系統設計姓 名:學號:班 級:通信1301指導教師:劉桂華西南科技大學信息工程學院制基于HDL十進制計數、顯示系統設計實驗目的1 掌握基于語言的ISE 設計全流程;2 熟悉應用VerilogHDL 描述數字電路;3 掌握基于Verilog 的組合和時序邏輯電路的設計方法;4 掌握 chipscope 片內邏輯分析儀的使用與調試方法。實驗原理1 實驗內容 :設計具有異步復位同步使能的十進制計數器,其計數結果可以通過七段數碼管發光二極管等進行顯示。2 模塊端口信號說明:輸入信號:Clk_50m -系統采
2、樣時鐘clk 待計數的時鐘clr 異步清零信號,當clr=0 ,輸出復位為0 ,當clr=1 ,正常計數ena 使能控制信號,當ena=1 ,電路正常累加計數,否則電路不工作輸出信號:q6 : 0 驅動數碼管,顯示計數值的個位cout 1bit 數據,顯示計數值向十位的進位COM 共陽級數碼管, 公共端 (接地, 參考開發板原理圖3 、以自頂向下的設計思路進行模塊劃分:整個系統主要設計的模塊是:十進制計數模塊和數碼管驅動模塊, 由 于實驗板的按 鍵為實現硬件防抖,則需要將按鍵輸入的時鐘 clk ,先通 過消抖模塊消抖后,再輸出至后續使用。1) 十進制計數器模塊設計輸入:CLK 待計數的時鐘CL
3、R 異步清零信號,當CLR =0,輸出復位為0,當CLR =1,正常計數。EN 使能控制信號,當EN=1,電路正常累加計數,否則電路不工作輸出:SUM3:0 計數值的個位。即,在 CLK上升沿檢測到SUM=9寸,SUM將被置0 ,開始新一輪的計數。tc 計數值的十位進位,即:只有在時鐘CLK上升沿檢測至U SUM=9時,TC將被置1 ,其余情況下TC=0;在設計中可以使用always, if-else-if語句實現,設計中注意不要在兩個以上的always模塊中對同一個變量進行賦值,否則會產生多重賦值源(multi-source )的問題。2) 數碼管顯示驅動模塊() 輸入:input43:0
4、待顯示的數值 輸出:out76:0 驅動數碼管的七位數值(注意下表中out的對應位)輸出out輸入sum數碼3210Aout0Bout1Cout2Dout3000000000100011001200100010300110000401001001501010100601100100701110001810000000910010000A10100001b10111100C11000110d11011000E11100110F111101113)消抖模塊(1)按鍵抖動的產生原因:通常的按鍵所用開關為機械彈性開關,當機械觸點斷開、閉合時,由于機械觸點的彈性作用,- 個按鍵開關在閉合時不會馬上穩定地
5、接通,在斷開時也不會一下子斷開因而在閉合及斷開的瞬間均伴隨有一連串的抖動,為了不產生這種現象而作的措施就是按鍵消抖。( 2)本次實驗提供的消抖模塊簡介電平檢查模塊:檢測輸入的按鍵是否被按下或者釋放,并分別將H2L_Sig,L2H_Sig 拉高, 并隨后拉低,給出按鍵的操作信息。延時模塊:對輸入的信號變化時刻進行計時并觀察信號的變換情況,對輸出端口進行恰 當地賦值實驗資料中將給出消抖模塊設計源代碼。對模塊的具體設計細節不需理解,消抖模塊不要求仿真三、 實驗步驟1、 創建工程。為工程,為工程命名、指定存儲路徑個文件夾。2、 計數器及數碼管驅動模塊設計創建VHD莫塊文件,對各個模塊進行設計1) 1)
6、 計 數器模塊代碼編寫module cnt10(clk,clr,en,sum,tc);input clk,clr,en;output reg 3:0 sum;output tc;assign tc=(sum=4'b1111);always (posedge clk ,negedge clr)beginif(clr) sum<=4'b0000;else if(en) begin sum=sum+1'b1;if(sum=4b'1010)sum<=4b'0000; endelse sum<=sum;endendmodule2) 數 碼管驅動模
7、塊代碼編寫module led(input 3:0 input4,output reg 6:0 out7);always (input4)begincase(input4)4'd0:out7=7'h01;4'd1:out7=7'h4f;4'd2:out7=7'h12;4'd3:out7=7'h06;4'd4:out7=7'h46;4'd5:out7=7'h24;4'd6:out7=7'h20;4'd7:out7=7'h0f;4'd8:out7=7'h0
8、0;4'd9:out7=7'h04;default out7=7'h0;endcaseendendmodule3) cnt10 與 led 模塊的組合module top_2(clk,clr,ena,tc,out7);input clk,clr,ena;output tc;output 6:0 out7;wire 3:0 sum;cnt10 cnt(clk,clr,ena,sum,tc);led led1(sum,out7);endmodule4) 綜 合仿真首先對計數器和數碼管驅動兩個模塊進行綜合,無誤后編寫測試激勵文件,進行仿真。激勵文件及仿真結果如下:得到正確的仿
9、真圖形后進行這兩個模塊組合的綜合,創建激勵文件,進行仿真。激勵文件與仿真結果如下:3、 拷貝消抖模塊代碼:, , ,組合完成消抖模塊。4、 將消抖模塊,十進制計數器,數碼管驅動模塊組合為一個系統。編寫代碼如下:module seg_top(clk_50M,clk,clr,ena,out,cout,com);input clk_50M,clk,clr,ena;output com,cout;output 6:0 out;wire clk_out;assign com=0;debounce_module u3(clk_50M,clr,clk,clk_out);top_2 top2(clk_out,
10、 clr,ena,cout,out);endmodule然后進行頂層綜合。5、 引腳鎖定根據引腳鎖定表,編寫約束文件,如下:6、 綜合報告閱讀綜合結果報告,記錄其中關于時鐘頻率、資源消耗等關鍵數據如下:7、 頂層模塊完成后,雙擊Implement Design ,進行布局布線,雙擊Generate Programming FileDevice ,按照提示完成下載生成下載文件,雙擊Configure Target8、 下載后,改變撥動開關和按鍵,觀察結果。9、 使用chipscope 片內邏輯分析儀對設計進行硬件調試,驗證設計是否正確。掌握該調試方法和調試步驟。4、 實驗結果及分析1、 對計數器
11、時序圖分析:當 clr 為低電平時(復位信號采用低電平有效), 計數器輸出0000,當 clk, en (高電平有效)為高電平時,計數器開始正常計數,時鐘信號每來一個上升沿,sum輸出端口從0000增加到1001,進位tc變 為為1,再來一個上升沿后,tc變為0, sum又從0000開始計時。顯 然時序圖符合預期功能,故功能仿真正確。2、 對數碼管驅動時序圖分析:當輸入信號從0000變化到 1001 時,輸出信號對應于數碼管真值表中輸出的變化。顯然功能仿真正確。3、 對數碼管驅動與計數器的組合模塊時序圖分析:當輸入復位信號en 為高電平 ,clr 為高電平時,每來一個時鐘信號,輸出 out7
12、也變化一次,且變化與數碼管驅動真值表中輸入從一到十變化時的輸出變化一致。功能仿真真確。5、 實驗思考題解答(實驗指導書要求的思考題)1、 如何用兩個或一個always 實現十進制計數模塊?寫出相應代碼。module cnt10(clk,clr,en,sum,tc );input clk,clr,en;output reg 3:0 sum;output tc;assign tc=(sum=4'b1111);always (posedge clk ,negedge clr)beginif(clr) sum<=4'b0000;else if(en) begin sum=sum+
13、1'b1;if(sum=4b'1010)sum<=4b'0000; endelse sum<=sum;endendmodule2、 如何用always ,或assign實現數碼管的驅動設計?寫出相應代碼。module led(input 3:0 input4,output reg 6:0 out7);always (input4)begincase(input4)4'd0:out7=7'h01;4'd1:out7=7'h4f;4'd2:out7=7'h12;4'd3:out7=7'h06;4
14、39;d4:out7=7'h46;4'd5:out7=7'h24;4'd6:out7=7'h20;4'd7:out7=7'h0f;4'd8:out7=7'h00;4'd9:out7=7'h04;default out7=7'h0;endcaseendendmodule3、 比較實驗一與實驗二的實驗過程,說明原理圖輸入法與HDL 輸入法的不同的應用環境。實驗一中應用的是原理圖完成十進制計數器的數顯,工作量相對較大,需要繪制8 張原理圖,其中還不包擴消抖模塊。所以原理圖設計適合相對簡單的 電路,門電路較
15、少的電路。而實驗二應用HDL語言描述要完成的功能,對于較復雜的電路設計起來相對簡單,所以HDL語言設計比較復雜的電路。門電路很多的電路。4、 CHIPSCOP朋試和仿真有何區別?modelsim 是寫好代碼后,對設計的功能進行全面的仿真,檢查設計中的問題,不涉及FPGA®件chipscope 是個調試階段的調試工具,只能檢查局部,部分"出問題"的地方的檢驗,必須涉及 FPG艇件體會1、 實驗過程中對verrilog 語言有了進一步的熟悉,對 ISE 設計流程有了更深入的理解與認識。2、 Verilog 硬件描述語言和c 語言或其他編程語言有著一些相似的地方,但是也存在很大差異。在實驗過程中,由
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 校園足球球隊管理制度
- 校園隔離設施管理制度
- 沿線城市道路優化工程施工總承包監測方案可編輯
- 網絡安全審計制度-洞察及研究
- 醫院醫保方面質量管理獎懲規定
- 基因編輯菌種構建-洞察及研究
- 計算機視覺分析-洞察及研究
- 商務英語綜合教程(第3版 第二冊)Unit 10 參考答案
- 小動物的神奇故事童話篇(6篇)
- 建筑施工項目工程協議
- 雙減背景下提升學業水平初中英語作業設計策略研究課題開題報告
- 《合同履行》課件
- 《總圖設計講義》課件
- 消火栓操作培訓課件
- 幼兒園幼小銜接課件:《我上小學啦》
- 不寐的護理查房課件
- 12、口腔科診療指南及技術操作規范
- 電梯維保服務投標方案
- 水利工程勘察設計投標方案
- 客訴處理記錄表
- 成都遠洋太古里案例研究課件
評論
0/150
提交評論