FPGA試驗(yàn)報(bào)告試驗(yàn)2_第1頁
FPGA試驗(yàn)報(bào)告試驗(yàn)2_第2頁
FPGA試驗(yàn)報(bào)告試驗(yàn)2_第3頁
FPGA試驗(yàn)報(bào)告試驗(yàn)2_第4頁
FPGA試驗(yàn)報(bào)告試驗(yàn)2_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、西南科技大學(xué)實(shí)驗(yàn)報(bào)告課程名稱:基于 FPGA的現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì) 實(shí)驗(yàn)名稱:基于 HDL十進(jìn)制計(jì)數(shù)、顯示系統(tǒng)設(shè)計(jì) 姓 名:學(xué)號 :班 級: 通信 1301指導(dǎo)教師: 劉桂華西南科技大學(xué)信息工程學(xué)院制基于 HDL十進(jìn)制計(jì)數(shù)、顯示系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)?zāi)康?、掌握基于語言的 ISE 設(shè)計(jì)全流程;2、熟悉、應(yīng)用 VerilogHDL 描述數(shù)字電路;3、掌握基于 Verilog 的組合和時(shí)序邏輯電路的設(shè)計(jì)方法;4、掌握 chipscope 片內(nèi)邏輯分析儀的使用與調(diào)試方法。實(shí)驗(yàn)原理1、實(shí)驗(yàn)內(nèi)容 :設(shè)計(jì)具有異步復(fù)位、同步使能的十進(jìn)制計(jì)數(shù)器,其計(jì)數(shù)結(jié) 果可以通過七段數(shù) 碼管、發(fā)光二極管等進(jìn)行顯示。2、模塊端口信號說明

2、:輸入信號:Clk_50m -系統(tǒng)采樣時(shí)鐘clk 待計(jì)數(shù)的時(shí)鐘clr 異步清零信號,當(dāng) clr=0,輸出復(fù)位為 0,當(dāng) clr=1,ena正常計(jì)數(shù)使能控制信號,當(dāng) ena=1,電路正常累加計(jì)數(shù),否則電路不工作 輸出信號:q6 :0 驅(qū)動數(shù)碼管,顯示計(jì)數(shù)值的個(gè)位cout 1bit 數(shù)據(jù),顯示計(jì)數(shù)值向十位的進(jìn)位COM 共陽級數(shù)碼管 ,公共端(接地,參考開發(fā)板原理圖3、以自頂向下的設(shè)計(jì)思路進(jìn)行模塊劃分:整個(gè)系統(tǒng)主要設(shè)計(jì)的模塊是: 十進(jìn)制計(jì)數(shù)模塊和數(shù)碼管驅(qū)動模塊, 由 于實(shí)驗(yàn)板的按 鍵為實(shí)現(xiàn)硬件防抖,則需要將按鍵輸入的時(shí)鐘clk ,先通過消抖模塊消抖后,再輸出至后續(xù)使用。1) 十進(jìn)制計(jì)數(shù)器模塊設(shè)計(jì)輸入

3、: CLK 待計(jì)數(shù)的時(shí)鐘CLR 異步清零信號,當(dāng) CLR =0,輸出復(fù)位為 0,當(dāng) CLR =1,正常計(jì)數(shù) 。EN 使能控制信號,當(dāng) EN=1,電路正常累加計(jì)數(shù),否則電路不工作輸出: SUM3:0 計(jì)數(shù)值的個(gè)位。即,在 CLK 上升沿檢測到SUM=9 時(shí), SUM 將被置 0,開始新一輪的計(jì)數(shù)。tc計(jì)數(shù)值的十位進(jìn)位,即:只有在時(shí)鐘 CLK 上升沿檢測到SUM=9 時(shí),TC 將被置 1,其余情況下 TC=0;在設(shè)計(jì)中可以使用 always, if-else-if 語句實(shí)現(xiàn), 設(shè)計(jì)中注意不要在兩個(gè)以 上的 always 模塊中對同一個(gè)變量進(jìn)行賦值,否則會產(chǎn)生多重賦值源 (multi-source)

4、的問題。2)數(shù)碼管顯示驅(qū)動模塊( led.v) 輸入: input43:0 待顯示的數(shù)值 輸出:out76:0 驅(qū)動數(shù)碼管的七位數(shù)值(注意下表中 out 的對應(yīng)位)輸入 sum輸出 out數(shù)ABCD3210碼out0out1out2out3000000000100011001200100010300110000401001001501010100601100100701110001810000000910010000A10100001b10111100C11000110d11011000E11100110F111101113)消抖模塊(1)按鍵抖動的產(chǎn)生原因: 通常的按鍵所用開關(guān)為機(jī)械彈性開關(guān)

5、,當(dāng)機(jī)械觸點(diǎn)斷開、閉合時(shí),由于機(jī)械觸點(diǎn)的彈性 作用,一 個(gè)按鍵開關(guān)在閉合時(shí)不會馬上穩(wěn)定地接通,在斷開時(shí)也不會一下子斷開。 因而在閉 合及斷開的瞬間均伴隨有一連串的抖動,為了不產(chǎn)生這種現(xiàn)象 而作的措施就是按鍵消抖。(2)本次實(shí)驗(yàn)提供的消抖模塊簡介電平檢查模塊:檢測輸入的按鍵是否被按下或者釋放,并分別將 H2L_Sig,L2H_Sig 拉高, 并隨后拉低, 給出按鍵的操作信息。 延時(shí)模塊: 對輸入的信號變化時(shí)刻進(jìn)行計(jì)時(shí)并觀察信號的變換情況,對輸出端口進(jìn)行 恰 當(dāng)?shù)刭x值 實(shí)驗(yàn)資料中將給出消抖模塊設(shè)計(jì)源代碼。對模塊的具體設(shè)計(jì) 細(xì)節(jié)不需理解,消抖模 塊不要求仿真三、 實(shí)驗(yàn)步驟1、創(chuàng)建工程為工程,為工程命

6、名、指定存儲路徑個(gè)文件夾。2、計(jì)數(shù)器及數(shù)碼管驅(qū)動模塊設(shè)計(jì)創(chuàng)建 VHD 模塊文件,對各個(gè)模塊進(jìn)行設(shè)計(jì) (1)計(jì)數(shù)器模塊代碼編寫module cnt10(clk,clr,en,sum,tc);input clk,clr,en;output reg 3:0 sum;output tc;assign tc=(sum=4b1111);always (posedge clk ,negedge clr)beginif(clr) sum=4b0000;else if(en) begin sum=sum+1b1; if(sum=4b1010) sum=4b0000; end else sum=sum;enden

7、dmodule(2)數(shù)碼管驅(qū)動模塊代碼編寫module led(input 3:0 input4,output reg 6:0 out7);always (input4)begincase(input4)4d0:out7=7h01;4d1:out7=7h4f;4d2:out7=7h12;4d3:out7=7h06;4d4:out7=7h46;4d5:out7=7h24;4d6:out7=7h20;4d7:out7=7h0f;4d8:out7=7h00;4d9:out7=7h04;default out7=7h0;endcaseendendmodule3)cnt10 與led模塊的組合modul

8、e 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)綜合仿真首先對計(jì)數(shù)器和數(shù)碼管驅(qū)動兩個(gè)模塊進(jìn)行綜合,無誤后編寫測試激勵(lì)文件,進(jìn)行仿真。激勵(lì)文件及仿真結(jié)果如下:得到正確的仿真圖形后進(jìn)行這兩個(gè)模塊組合的綜合,創(chuàng)建激勵(lì)文件,進(jìn)行仿真。激勵(lì)文件與仿真結(jié)果如下:3、拷 貝 消 抖 模 塊 代 碼 : debounce_module.v, delay_module.v

9、 , detect_module.v,組合完成消抖模塊。4、將消抖模塊, 十進(jìn)制計(jì)數(shù)器 (cnt10.v),數(shù)碼管驅(qū)動模塊 (led.v)組合為一 個(gè)系統(tǒng)。 編寫代碼如下: 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, clr,ena,cout,out)

10、;endmodule 然后進(jìn)行頂層綜合。5、引腳鎖定根據(jù)引腳鎖定表,編寫約束文件,如下:6、綜合報(bào)告閱讀綜合結(jié)果報(bào)告,記錄其中關(guān)于時(shí)鐘頻率、資源消耗等關(guān)鍵數(shù)據(jù)如下:7、頂層模塊完成后,雙擊Implement Design ,進(jìn)行布局布線,雙擊Generate Programming File 生成下載文件,雙擊 Configure Target Device, 按照提示完成下載。8、下載后,改變撥動開關(guān)和按鍵,觀察結(jié)果。9、使用 chipscope 片內(nèi)邏輯分析儀對設(shè)計(jì)進(jìn)行硬件調(diào)試,驗(yàn)證設(shè)計(jì)是否 正確。掌握該調(diào)試方 法和調(diào)試步驟。四、實(shí)驗(yàn)結(jié)果及分析1、對計(jì)數(shù)器時(shí)序圖分析:當(dāng) clr 為低電平時(shí)

11、(復(fù)位信號采用低電平有效) ,計(jì)數(shù)器輸出 0000, 當(dāng) clk, en (高電平有效)為高電平時(shí),計(jì)數(shù)器開始正常計(jì)數(shù),時(shí)鐘信 號每來一個(gè)上升沿, sum輸出端口從 0000增加到 1001,進(jìn)位 tc 變?yōu)?為 1,再來一個(gè)上升沿后, tc 變?yōu)?0,sum又從 0000 開始計(jì)時(shí)。顯然 時(shí)序圖符合預(yù)期功能,故功能仿真正確。2、對數(shù)碼管驅(qū)動時(shí)序圖分析:當(dāng)輸入信號從 0000變化到 1001 時(shí),輸出信號對應(yīng)于數(shù)碼管真值 表中輸出的變化。顯然功能仿真正確。3、對數(shù)碼管驅(qū)動與計(jì)數(shù)器的組合模塊時(shí)序圖分析:當(dāng)輸入復(fù)位信號 en 為高電平 ,clr 為高電平時(shí),每來一個(gè)時(shí)鐘信號,輸出 out7 也變化

12、一次,且變化與數(shù)碼管驅(qū)動真值表中輸入從一到十變化 時(shí)的輸出變化一致。功能仿真真確。五、實(shí)驗(yàn)思考題解答 (實(shí)驗(yàn)指導(dǎo)書要求的思考題 )1、如何用兩個(gè)或一個(gè) always 實(shí)現(xiàn)十進(jìn)制計(jì)數(shù)模塊?寫出相應(yīng)代碼。 module cnt10(clk,clr,en,sum,tc );input clk,clr,en;output reg 3:0 sum;output tc;assign tc=(sum=4b1111);always (posedge clk ,negedge clr)beginif(clr) sum=4b0000;else if(en) begin sum=sum+1b1;if(sum=4b1

13、010) sum=4b0000; endelse sum=sum;endendmodule2、如何用 always,或 assign實(shí)現(xiàn)數(shù)碼管的驅(qū)動設(shè)計(jì)?寫出相應(yīng)代碼。 module led(input 3:0 input4,output reg 6:0 out7);always (input4)begincase(input4)4d0:out7=7h01;4d1:out7=7h4f;4d2:out7=7h12;4d3:out7=7h06;4d4:out7=7h46;4d5:out7=7h24;4d6:out7=7h20;4d7:out7=7h0f;4d8:out7=7h00;4d9:out7

14、=7h04;default out7=7h0;endcaseendendmodule3、比較實(shí)驗(yàn)一與實(shí)驗(yàn)二的實(shí)驗(yàn)過程,說明原理圖輸入法與 HDL 輸入法 的不同的應(yīng)用環(huán)境。實(shí)驗(yàn)一中應(yīng)用的是原理圖完成十進(jìn)制計(jì)數(shù)器的數(shù)顯,工作量相對 較大,需要繪制 8 張?jiān)韴D,其中還不包擴(kuò)消抖模塊。所以原理圖設(shè) 計(jì)適合相對簡單的 電路,門電路較少的電路。而實(shí)驗(yàn)二應(yīng)用 HDL 語 言描述要完成的功能,對于較復(fù)雜的電路設(shè)計(jì)起來相對簡單,所以 HDL 語言設(shè)計(jì)比較復(fù)雜的電路。門電路很多的電路。4、 CHIPSCOPE 調(diào)試和仿真有何區(qū)別?modelsim 是寫好代碼后,對設(shè)計(jì)的功能進(jìn)行全面的仿真,檢查設(shè)計(jì)中 的問題,不涉及 FPGA 硬件 chipscope是個(gè)調(diào)試階段的調(diào)試工具,只能檢查局部,部分 出問題 “的 地方的檢驗(yàn),必須涉及 FPGA 硬件六、體會1、實(shí)驗(yàn)過程中對 verrilog 語言有了進(jìn)一步的熟悉,對 ISE 設(shè)計(jì)流程有了 更深入的理解與認(rèn)識。2、Verilog 硬件描述語言和 c 語言或其他編程語言有著一些相似的地方, 但是也存在很大差異。 在實(shí)驗(yàn)過程中, 由于把其他編程語言的語句或習(xí)慣

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論