




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于HDL的十進(jìn)制計數(shù)器設(shè)計一、 實驗?zāi)康?、掌握基于語言的ISE設(shè)計全流程;2、熟悉、應(yīng)用VerilogHDL描述數(shù)字電路;3、掌握基于Verilog的組合和時序邏輯電路的設(shè)計方法。4、掌握chipscope片內(nèi)邏輯分析儀的使用與調(diào)試方法。5、設(shè)計具有異步復(fù)位、同步使能的十進(jìn)制計數(shù)器,其計數(shù)結(jié)果可以通過七段數(shù)碼管、發(fā)光二極管等進(jìn)行顯示。二、 實驗原理1、十進(jìn)制計數(shù)器的設(shè)計即是設(shè)置一變量,當(dāng)計數(shù)脈沖上升沿到來時,先判斷是否為9,若是則置零,否則就進(jìn)行加一操作。將變量再進(jìn)行一個譯碼操作輸出到數(shù)碼管顯示即可。使能控制端異步清零端十進(jìn)制計數(shù)器七段數(shù)碼管顯示譯碼器時鐘端FPGA進(jìn)位圖1 實驗原理圖2、
2、數(shù)碼管分為7 段和8 段,七段數(shù)碼管由 7段二極管組成。8段數(shù)碼管比起7段數(shù)碼管多了一個顯示小數(shù)點(diǎn)的LED。數(shù)碼管按發(fā)光二極管單元銜接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。本實驗使用共陽數(shù)碼管。它是指將一切發(fā)光二極管的陽極接到一同構(gòu)成公共陽極(COM)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到電源VCC 上,當(dāng)某一字段發(fā)光二極管的陰極為低電平相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平相應(yīng)字段就不亮。共陽端可以作為位選端,實現(xiàn)動態(tài)掃描。動態(tài)掃描即是利用了人眼睛的視覺暫留現(xiàn)象,以合適的頻率顯示每一位數(shù)碼管,便會產(chǎn)生所有數(shù)碼管是一起點(diǎn)亮的錯覺,數(shù)碼管原理圖如圖:圖2 共陽數(shù)碼管示意圖3、數(shù)碼管顯示
3、數(shù)字與對應(yīng)的輸入數(shù)據(jù)的關(guān)系如表所示:08'hc018'hf928'ha438'hb048'h9958'h9268'h8278'hf888'h8098'h90表1 數(shù)碼管顯示表4、本次設(shè)計一共有11個端口:輸入信號:clk -待計數(shù)的時鐘。clr -異步清零信號,當(dāng)clr=1,輸出復(fù)位為0,當(dāng)clr=0,正常計數(shù)。ena-使能控制信號,當(dāng)ena=1,電路正常累加計數(shù),否則電路不工作。輸出信號:q6:0-驅(qū)動數(shù)碼管,顯示計數(shù)值的個位。cout -1bit數(shù)據(jù),顯示計數(shù)值向十位的進(jìn)位圖。三、 實驗步驟1、整個系統(tǒng)主要設(shè)計
4、的模塊是:十進(jìn)制計數(shù)模塊和數(shù)碼管驅(qū)動模塊,由于實驗板的按鍵為實現(xiàn)硬件防抖,則需要將按鍵輸入的時鐘clk,先通過消抖模塊消抖后,再輸出至后續(xù)使用。圖3 系統(tǒng)結(jié)構(gòu)圖2、 分別進(jìn)行各個模塊的設(shè)計并進(jìn)行仿真測試。1)十進(jìn)制計數(shù)器模塊設(shè)計輸入:CLK -待計數(shù)的時鐘。CLR -異步清零信號,當(dāng)CLR =1,輸出復(fù)位為0,當(dāng)CLR =0,正常計數(shù)。ENA-使能控制信號,當(dāng)ENA=1,電路正常累加計數(shù),否則電路不工作。輸出:SUM3:0- 計數(shù)值的個位,即在CLK上升沿檢測到SUM=9時,SUM將被置0,開始新一輪的計數(shù)。COUT -計數(shù)值的十位進(jìn)位,即只有在時鐘CLK上升沿檢測到SUM=9時,COUT將被
5、置1,其余情況下COUT=0。2)數(shù)碼管顯示驅(qū)動模塊輸入:sum3:0 -待顯示的數(shù)值。輸出:out6:0 -驅(qū)動數(shù)碼管的七位數(shù)值(注意下表中out的對應(yīng)位3)消抖模塊(1)按鍵抖動的產(chǎn)生原因:通常的按鍵所用開關(guān)為機(jī)械彈性開關(guān),當(dāng)機(jī)械觸點(diǎn)斷開、閉合時,由于機(jī)械觸點(diǎn)的彈性作用,一個按鍵開關(guān)在閉合時不會馬上穩(wěn)定地接通,在斷開時也不會一下子斷開。因而在閉合及斷開的瞬間均伴隨有一連串的抖動,為了不產(chǎn)生這種現(xiàn)象而作的措施就是按鍵消抖。圖4 按鍵抖動波形圖(2)本次實驗提供的消抖模塊簡介 圖5 消抖模塊框圖(3)電平檢查模塊:檢測輸入的按鍵是否被按下或者釋放,并分別將H2L_Sig,L2H_Sig拉高,并
6、隨后拉低,給出按鍵的操作信息。(4)延時模塊:對輸入的信號變化進(jìn)行計時并觀察信號的變換情況,對輸出端口進(jìn)行恰當(dāng)?shù)刭x值。注:實驗資料中將給出消抖模塊設(shè)計源代碼。對模塊的具體設(shè)計細(xì)節(jié)不需理解,消抖模塊不要求仿真。3、 根據(jù)板子鎖定引腳,并生成下載文件。數(shù)碼管驅(qū)動的七位信號可輸出到電路板上相關(guān)引腳。為簡化設(shè)計,可將消抖模塊的復(fù)位信號、使能信號與cnt10模塊共用。根據(jù)下載板資料,完成引腳鎖定,生成相關(guān)的用戶約束文件(ucf)。注意:由于clk沒鎖在ISE默認(rèn)的時鐘輸入引腳上,需要添加代碼:“CLOCK_DEDICATED_ROUTE = FALSE;”鎖引腳代碼:NET "CLK"
7、; LOC = P57| CLK_DEDICATED_ROUTE = FALSE ;NET "CLK_50" LOC = P80;NET "COUT" LOC = P23;NET "ENA" LOC = P32;NET "CLR" LOC = P26;NET "DATA_OUT6" LOC = P102;NET "DATA_OUT5" LOC = P99;NET "DATA_OUT4" LOC = P107;NET "DATA_OUT3"
8、; LOC = P109;NET "DATA_OUT2" LOC = P112;NET "DATA_OUT1" LOC = P100;NET "DATA_OUT0" LOC = P106;4、 Chipscope在線調(diào)試(1)Chipscope調(diào)試開始 ,新建.cdc文件。在HDL工程中添加chipscope file,選擇ChipScope Definition and Connection File,file name 取名seg。(2)Chipscope-配置 .cdc文件在原有的HDL工程下出現(xiàn)新建seg.cdc文件,可以在c
9、hipscope植入 ILA 和 ICON IP核,雙擊seg.cdc文件,進(jìn)入配置界面。(3)Chipscope-設(shè)置觸發(fā)端口、類型等。進(jìn)入配置界面,每個觸發(fā)端口ILA核可支持多路比特數(shù)據(jù),最多可有16個端口,觸發(fā)匹配類型共有6種。這里配置根據(jù)需要調(diào)試的數(shù)據(jù)個數(shù)、類型決定。(4)Chipscope-設(shè)置采樣深度設(shè)置采樣深度,即為一次采樣數(shù)據(jù)所顯示的深度、個數(shù)。深度范圍512-16384,采樣深度越深,耗費(fèi)資源越多。然后點(diǎn)擊Net Connections標(biāo)簽,設(shè)置設(shè)置觸發(fā)時鐘與觸發(fā)信號界面。(5)Chipscope-設(shè)置采樣信號選擇Modify Connections 選項,進(jìn)入采樣時鐘和觸發(fā)
10、信號設(shè)置,采樣時鐘用于捕捉觸發(fā)信號(6)Chipscope-設(shè)置采樣時鐘設(shè)置觸發(fā)時鐘,一般選擇系統(tǒng)頻率最高的主時鐘。注:Net selections中每個channel必須有添加有信號,否則綜合要報錯。(7)Chipscope-設(shè)置觸發(fā)數(shù)據(jù)同樣設(shè)置觸發(fā)信號,將TPO與TP1端口中的每個channel都添加,此處TP0監(jiān)測clk、clr、ena、cout。TP1監(jiān)測的數(shù)碼管七段信號q7:0、以及COM。(8)Chipscope-JTAG掃描設(shè)置好以后保存退出,綜合與實現(xiàn),雙擊圖中Analyze Design Using Chipscope。進(jìn)入chipscope軟件,單擊 按鈕開始JTAG掃描,
11、查找FPGA器件。(9)Chipscope-裝載.bit文件JTAG掃描以后會發(fā)現(xiàn)三個設(shè)備,選擇XC3S500E,在DEV:0 MyDevice(XC3S500E)右擊configure按以下圖進(jìn)行操作,選擇下載的bit流文件(10)Chipscope-裝載.cdc文件(11)開始采樣(12)Chipscope-分析數(shù)據(jù)分析數(shù)據(jù),在開發(fā)板上數(shù)碼管顯示為0,統(tǒng)通過計算得出七段輸出q6:0 = 7b1000000,加上COM端為8b11000000。觀察chipscope軟件中,如下圖所示,采樣數(shù)據(jù)為0xc0,換成二進(jìn)制剛好是8b11000000。得出結(jié)論:硬件測試系統(tǒng)設(shè)計正確。圖6 Chipsc
12、ope在線調(diào)試仿真圖四、 實驗結(jié)果1、 十進(jìn)制計數(shù)器模塊仿真測試圖7 計數(shù)器波形圖由圖可以看出測試波形與理論分析結(jié)果相符,當(dāng)使能ena=1時,clr=0,且時鐘上升沿來臨時,十進(jìn)制計數(shù)模塊開始計數(shù),當(dāng)計數(shù)到9時,產(chǎn)生進(jìn)位,當(dāng)clr=1時,計數(shù)清零;當(dāng)ena=0時暫停計數(shù)。2、 下載到實驗板上面后的結(jié)果數(shù)碼管開始顯示為0,之后每撥動一次撥動開關(guān),數(shù)碼管的顯示值就加1,當(dāng)加到9的時候產(chǎn)生一個進(jìn)位即是LED0發(fā)光,并且又從0開始計數(shù)。撥動復(fù)位鍵數(shù)碼管清零。將使能開關(guān)置低,可以看到數(shù)碼管顯示值不在變化,即是計數(shù)器不在計數(shù)。實驗結(jié)果符合設(shè)計要求。3、 跑表下載實驗效果八位數(shù)碼管全部顯示為0,之后開始計數(shù)
13、,最右邊兩個數(shù)碼管一直在加和清零。右邊第三個數(shù)碼管按照一秒加一的速度在進(jìn)行變化。按下復(fù)位端,及撥碼開關(guān)1撥動到低電位,數(shù)碼管顯示值清零。撥碼開關(guān)2波動到低電位時,數(shù)碼管顯示值暫停。實驗結(jié)果符合設(shè)計要求。4、 四位十進(jìn)制頻率計下載效果開始時數(shù)碼管全顯示為0。大概過了一秒左右,顯示為500,即是事先設(shè)定好的計數(shù)脈沖的頻率。撥動撥碼開關(guān)1到低電位的位置,數(shù)碼管顯示值清零,過一秒左右又顯示頻率值。五、 思考題1、如何用兩個或一個always 實現(xiàn)十進(jìn)制計數(shù)模塊?module cnt10(clk_k,clk,clr,ena,sum,cout);input clk,clk_k,clr,ena;output
14、3:0 sum;output cout;reg3:0 sum;reg cout;reg a,b;always (posedge clk )begin a <= clk_k;b = a;endwire key_posedge = (b&a)?1'b1:1'b0;always (posedge clk)beginif(clr)begincout <= 0;sum <= 0;endelse if(key_posedge&ena)beginif(sum < 4'd9)beginsum <= sum+1'b1;cout <
15、;= 0;endelsebegincout <= 1;sum <= 0;endendelsebegincout <= cout;sum <= sum;endendendmodule2、如何用always,或assign實現(xiàn)數(shù)碼管的驅(qū)動設(shè)計?module tube(clk,sum,seg);input clk;input3:0 sum;output7:0 seg;reg7:0 seg;always (posedge clk)begin case(sum)4'd0:seg <= 8'hc0;4'd1:seg <= 8'hf9;4&
16、#39;d2:seg <= 8'ha4;4'd3:seg <= 8'hb0;4'd4:seg <= 8'h99;4'd5:seg <= 8'h92;4'd6:seg <= 8'h82;4'd7:seg <= 8'hf8;4'd8:seg <= 8'h80;4'd9:seg <= 8'h90;default:seg <= 8'h00;endcaseend3、比較實驗一與實驗二的實驗過程,說明原理圖輸入法與HDL輸入法
17、的不同的應(yīng)用環(huán)境。原理圖適用于將模塊綜合的設(shè)計。HDL輸入可以適用基礎(chǔ)模塊的設(shè)計,基礎(chǔ)模塊寫好以后調(diào)用起來更方便。六、 代碼1、Cnt10的Verilog HDL代碼:module cnt10(clk_k,clk,clr,ena,sum,cout);input clk,clk_k,clr,ena;output3:0 sum;output cout;reg3:0 sum;reg cout;reg a,b;always (posedge clk )begin a <= clk_k;b = a;endwire key_posedge = (b&a)?1'b1:1'b0;
18、always (posedge clk)beginif(clr)begincout <= 0;sum <= 0;endelse if(key_posedge&ena)beginif(sum < 4'd9)beginsum <= sum+1'b1;cout <= 0;endelsebegincout <= 1;sum <= 0;endendelsebegincout <= cout;sum <= sum;endendendmodule2、數(shù)碼管的VerilogHDL代碼: module tube(clk,sum,seg
19、);input clk;input3:0 sum;output7:0 seg;reg7:0 seg;always (posedge clk)begin case(sum)4'd0:seg <= 8'hc0;4'd1:seg <= 8'hf9;4'd2:seg <= 8'ha4;4'd3:seg <= 8'hb0;4'd4:seg <= 8'h99;4'd5:seg <= 8'h92;4'd6:seg <= 8'h82;4'd7:seg
20、 <= 8'hf8;4'd8:seg <= 8'h80;4'd9:seg <= 8'h90;default:seg <= 8'h00;endcaseendendmodule3、激勵文件:module test_cnt10;/ Inputsreg clk_k;reg clk;reg clr;reg ena;/ Outputswire 3:0 sum;wire cout;/ Instantiate the Unit Under Test (UUT)cnt10 uut (.clk_k(clk_k), .clk(clk), .clr(clr), .ena(ena), .sum(sum), .cout(cout);initial begin/ Initialize Inputsclk_k = 0;clk = 0;clr = 0;ena = 0;/ Wait 100 ns f
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年公交優(yōu)先戰(zhàn)略與城市交通擁堵治理協(xié)同發(fā)展研究報告
- 安全管理考證試題及答案
- ppp項目培訓(xùn)課件下載
- 電動貨車培訓(xùn)課件圖片
- 周末收心班會課件
- 中國動漫繪畫課件下載
- 超聲引導(dǎo)下穿刺技術(shù)應(yīng)用規(guī)范
- 中國刺繡課件英語
- 創(chuàng)意美術(shù)水果房子
- 中國農(nóng)大葡萄酒課件
- QData數(shù)據(jù)庫一體機(jī)方案介紹
- 化工倉儲管理系統(tǒng)方案
- 2021-2022學(xué)年貴州省黔東南州高一下學(xué)期期末文化水平測試數(shù)學(xué)試題【含答案】
- 北師大版小學(xué)數(shù)學(xué)四年級下冊《優(yōu)化》同步練習(xí)附答案
- (精心整理)初三數(shù)學(xué)幾何的動點(diǎn)問題專題練習(xí)及答案
- 高血壓腦出血外科治療臨床路徑
- 核電工程施工隱患排查專項培訓(xùn)課件
- Q_SLB0402-2005 產(chǎn)品鋼印及標(biāo)記移植
- 勞動者個人職業(yè)健康監(jiān)護(hù)檔案(樣板)
- 小學(xué)數(shù)學(xué)教師業(yè)務(wù)能力測試試題
- 空客A320-IPC手冊使用介紹
評論
0/150
提交評論