模可變計(jì)數(shù)器設(shè)計(jì)(Verilog語言)解答_第1頁
模可變計(jì)數(shù)器設(shè)計(jì)(Verilog語言)解答_第2頁
模可變計(jì)數(shù)器設(shè)計(jì)(Verilog語言)解答_第3頁
模可變計(jì)數(shù)器設(shè)計(jì)(Verilog語言)解答_第4頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、模可變計(jì)數(shù)器設(shè)計(jì)(一 ) 實(shí)驗(yàn)?zāi)康?、 進(jìn)一步熟悉實(shí)驗(yàn)裝置和 Quartus軟件的使用;2、 進(jìn)一步熟悉和掌握 EDA 設(shè)計(jì)流程;3、 學(xué)習(xí)簡單組合、時(shí)序電路的EDA 設(shè)計(jì);4、 學(xué)習(xí)計(jì)數(shù)器中二進(jìn)制碼到BCD 碼的轉(zhuǎn)換技巧;5、 學(xué)習(xí)實(shí)驗(yàn)裝置上數(shù)碼管的輸出方法。(二 ) 設(shè)計(jì)要求完成設(shè)計(jì)、仿真、調(diào)試、下載、硬件測試等環(huán)節(jié),在器功能,具體要求如下:EDA實(shí)驗(yàn)裝置上實(shí)現(xiàn)模可變計(jì)數(shù)1、 設(shè)置一個(gè)按鍵控制改變模值,按鍵按下時(shí)模為10-99 之間(具體數(shù)值自行確定)的數(shù),沒按下時(shí)模為100-199 之間(具體數(shù)值自行確定)的數(shù);2、 計(jì)數(shù)結(jié)果用三位數(shù)碼管十進(jìn)制顯示。(三 ) 主要儀器設(shè)備3、 微機(jī)1 臺(tái)

2、4、 QuartusII 集成開發(fā)軟件1 套5、 EDA 實(shí)驗(yàn)裝置1 套(四 ) 實(shí)驗(yàn)步驟主要有三個(gè)模塊1:一個(gè)模20 和模 119 的計(jì)數(shù)器2:數(shù)碼管的顯示3: BCD 的調(diào)整源程序:module count (clk,m,en,rst,a,sel,SG,d);input clk,m,en,rst;output 7:0 SG;output 2:0 sel;output a;(* synthesis, keep *) regclk1;(* synthesis, keep *) wire3:0 gw,sw,bw;/*(* synthesis, keep *) */reg3:0a;reg 11:0

3、 q;reg 11:0 model;reg 7:0 cnt,SG;reg2:0 sel;reg 0:0d;output 0:0d;always (posedge clk)begin cnt=cnt+1;if (cnt=200) begin clk1=1b1;cnt=0;endelseclk1=1b0;/200 分頻, CLK 為數(shù)碼管掃描頻率,if (sel2) sel=sel+1;elsesel=0; end/sel 為數(shù)碼管選擇always (sel)begincase (sel)CLK1為計(jì)數(shù)頻率0: a=bw; /0 數(shù)碼管為百位1: a=sw; /1 數(shù)碼管為十位2: a=gw; /

4、2 數(shù)碼管為個(gè)位default: a=0;endcasecase (a)0:SG=8b00111111; 1:SG=8b00000110;2:SG=8b01011011; 3:SG=8b01001111;4:SG=8b01100110; 5:SG=8b01101101;6:SG=8b01111101; 7:SG=8b00000111;8:SG=8b01111111; 9:SG=8b01101111; /8 段譯碼值default: SG=8b11111111;endcaseendalways (m)if (m)model=12b000000100000;/ 模值 20else model=12

5、b000100011001;/ 模值 119assign gw=q3:0;assign sw=q7:4;assign bw=q11:8;always (posedge clk1,negedge rst)beginif (!rst) q=0;else if (en)beginif (qmodel)beginif (gw=9) begin q=q+7; if (sw=9) q=q+96; end/BCD調(diào)整else q=q+1;endelseq=0;endendalways (q)if(qmodel)d=0;elsed=1;endmodule波形仿真:Clk1 是計(jì)數(shù)頻率,每來一個(gè)clk1 信號(hào)

6、q 計(jì)數(shù)一次如圖所示:rst=1有效時(shí)開始計(jì)數(shù)clk為掃描頻率sel=0 時(shí)數(shù)碼管顯示百位a=0sel=1 時(shí)數(shù)碼管顯示十位a=1sel=2 時(shí)數(shù)碼管顯示個(gè)位a=3m=1模 20 計(jì)數(shù)器m=0 模 119 計(jì)數(shù)器管腳分配:SG0SG1SG2SG3SG4SG5SG6SG7clkenPIN_F13PIN_F14PIN_F15PIN_E15PIN_F16PIN_F17PIN_E18PIN_F18PIN_C13PIN_H8m PIN_J9rstPIN_C5sel0PIN_G18sel1PIN_G17sel2d0PIN_G16PIN_G13(五 ) 實(shí)驗(yàn)心得本實(shí)驗(yàn)主要是三大模塊的編寫,第一次的實(shí)驗(yàn)在老師

7、給的參考代碼下進(jìn)行的,不過錯(cuò)誤依然很多,主要有幾個(gè)重點(diǎn)藥掌握,一是首先要編寫出能夠計(jì)數(shù)的模塊,用m 來控制模值的變化 m=1 時(shí)模值為20 m=0 時(shí)模值為119;二是計(jì)數(shù)模塊都是二進(jìn)制計(jì)數(shù)的,而要在數(shù)碼管上顯示計(jì)數(shù)的話就必須進(jìn)行BCD 調(diào)整,并且 q 是一個(gè)是十二位的寄存器,通過把 gw=q3:0;sw=q7:4; bw=q11:8賦值的方法;一個(gè)個(gè)的顯示在數(shù)碼管上,由于clk的頻率比較快,所以可以看到三位數(shù)碼管顯示的值,我覺得管腳分配也是比較關(guān)鍵的!一開始我就把個(gè)位和百位顯示的值搞反了序列信號(hào)發(fā)生和檢測器設(shè)計(jì)(一 ) 實(shí)驗(yàn)?zāi)康? 、 進(jìn)一步熟悉EDA 實(shí)驗(yàn)裝置和Quartus軟件的使用方法

8、;2 、 學(xué)習(xí)有限狀態(tài)機(jī)法進(jìn)行數(shù)字系統(tǒng)設(shè)計(jì);3 、 學(xué)習(xí)使用原理圖輸入法進(jìn)行設(shè)計(jì)。(二 ) 設(shè)計(jì)要求完成設(shè)計(jì)、仿真、調(diào)試、下載、硬件測試等環(huán)節(jié),在EDA 實(shí)驗(yàn)裝置上實(shí)現(xiàn)一個(gè)串行序列信號(hào)發(fā)生器和一個(gè)序列信號(hào)檢測器的功能,具體要求如下:1、 先用設(shè)計(jì)序列信號(hào)發(fā)生器,其最后6BIT 數(shù)據(jù)用 LED 顯示出來;2、 再設(shè)計(jì)一個(gè)序列信號(hào)檢測器,檢測上述序列信號(hào),若檢測到串行序列“11101”則輸出為“ 1”,否則輸出為“0”;(三 ) 主要儀器設(shè)備1、 微機(jī)1 臺(tái)2、 QuartusII 集成開發(fā)軟件1 套3、 EDA 實(shí)驗(yàn)裝置1 套(四 ) 實(shí)驗(yàn)步驟主要兩部分1:序列信號(hào)發(fā)生器設(shè)置 q0=q15;Q=

9、q15;q15:1=q14:0 ;通過循環(huán)移位串行輸出2:序列信號(hào)檢測器狀轉(zhuǎn)移態(tài)圖一共有六個(gè)狀態(tài)分別為S = 5d00000,A = 5d00001,B = 5d00011,C = 5d00110,D = 5d01101,E = 5d11010;源程序: module xulie(clk,rst,z,Q,led);input clk,rst;output Q,z;output 4:0 led;reg 4:0 led;reg 4:0 state;reg Q,z;reg 4:0 a;reg 15:0 q;parameterS = 5d00000,A = 5d00001,B = 5d00011,C

10、= 5d00110,D = 5d01101,E = 5d11010;always (posedge clk)beginif(rst=0) beginendelsebeginq0=q15;Q=q15;q15:1=q14:0 ;endendalways (posedge clk)beginif(state=D & Q=1)begin z=1;led=5b11101;endelse begin z=0;led=5b00000;endendalways (posedge clk or negedge rst)if(!rst)beginstate=S;endelsecasex(state)S: if(Q

11、=1)state=A;elsestate=S;A: if (Q=1) state=B;elsestate= S;B: if (Q=1) state=C;elsestate=S;C: if(Q=0)state=D;elsestate=C;D: if(Q=1)state=E;elsestate=S;E: if(Q=0)state=S;elsestate=A;default:state=S;endcaseendmodule波形仿真當(dāng) rst=1 是序列信號(hào)發(fā)生器循環(huán)發(fā)出當(dāng)檢測到 11101 是 z=1 輸出高電平,并且同時(shí)使11101 序列顯示在五個(gè)led 燈上(五 ) 實(shí)驗(yàn)心得做實(shí)驗(yàn)之前準(zhǔn)備了很多

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論