??勺冇嫈?shù)器設(shè)計(Verilog語言)_第1頁
??勺冇嫈?shù)器設(shè)計(Verilog語言)_第2頁
??勺冇嫈?shù)器設(shè)計(Verilog語言)_第3頁
??勺冇嫈?shù)器設(shè)計(Verilog語言)_第4頁
??勺冇嫈?shù)器設(shè)計(Verilog語言)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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

2、II集成開發(fā)軟件1套5、 EDA實(shí)驗(yàn)裝置 1套(四) 實(shí)驗(yàn)步驟主要有三個模塊1:一個模20和模119的計數(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 *) reg clk1; (* synthesis, keep *) wire 3:0 gw,sw,bw; /*(* synthesis, keep *) */reg 3:0a; reg 11:0 q; reg

3、11:0 model; reg 7:0 cnt,SG; reg 2:0 sel;reg 0:0d;output 0:0d; always (posedge clk) begin cnt=cnt+1; if (cnt=200) begin clk1=1'b1; cnt=0; end else clk1=1'b0; /200分頻,CLK為數(shù)碼管掃描頻率,CLK1為計數(shù)頻率 if (sel<2) sel=sel+1; else sel=0; end /sel為數(shù)碼管選擇 always (sel) begin case (sel) 0: a=bw; /0數(shù)碼管為百位 1: a=s

4、w; /1數(shù)碼管為十位 2: a=gw; /2數(shù)碼管為個位 default: a=0; endcase case (a) 0:SG<=8'b00111111; 1:SG<=8'b00000110; 2:SG<=8'b01011011; 3:SG<=8'b01001111; 4:SG<=8'b01100110; 5:SG<=8'b01101101; 6:SG<=8'b01111101; 7:SG<=8'b00000111; 8:SG<=8'b01111111; 9:SG&

5、lt;=8'b01101111; /8段譯碼值 default: SG=8'b11111111; endcase end always (m) if (m) model=12'b000000100000; /模值20 else model=12'b000100011001; /模值119 assign gw=q3:0; assign sw=q7:4; assign bw=q11:8; always (posedge clk1,negedge rst) begin if (!rst) q=0; else if (en) begin if (q<model)

6、begin if (gw=9) begin q=q+7; if (sw=9) q=q+96; end /BCD調(diào)整 else q=q+1; end else q=0; end endalways (q) if(q<model) d<=0; else d<=1; endmodule波形仿真:Clk1是計數(shù)頻率,每來一個clk1信號q計數(shù)一次如圖所示:rst=1有效時開始計數(shù) clk為掃描頻率sel=0時數(shù)碼管顯示百位a=0sel=1時數(shù)碼管顯示十位a=1sel=2時數(shù)碼管顯示個位a=3m=1 模20計數(shù)器m=0 模119計數(shù)器管腳分配:SG0PIN_F13SG1PIN_F14S

7、G2PIN_F15SG3PIN_E15SG4PIN_F16SG5PIN_F17SG6PIN_E18SG7PIN_F18clkPIN_C13enPIN_H8mPIN_J9rstPIN_C5sel0PIN_G18sel1PIN_G17sel2PIN_G16d0PIN_G13(五) 實(shí)驗(yàn)心得本實(shí)驗(yàn)主要是三大模塊的編寫,第一次的實(shí)驗(yàn)在老師給的參考代碼下進(jìn)行的,不過錯誤依然很多,主要有幾個重點(diǎn)藥掌握,一是首先要編寫出能夠計數(shù)的模塊,用m來控制模值的變化m=1時模值為20 m=0時模值為119;二是計數(shù)模塊都是二進(jìn)制計數(shù)的,而要在數(shù)碼管上顯示計數(shù)的話就必須進(jìn)行BCD調(diào)整,并且q是一個是十二位的寄存器,通過

8、把gw=q3:0; sw=q7:4; bw=q11:8賦值的方法;一個個的顯示在數(shù)碼管上,由于clk的頻率比較快,所以可以看到三位數(shù)碼管顯示的值,我覺得管腳分配也是比較關(guān)鍵的!一開始我就把個位和百位顯示的值搞反了序列信號發(fā)生和檢測器設(shè)計(一) 實(shí)驗(yàn)?zāi)康?、 進(jìn)一步熟悉EDA實(shí)驗(yàn)裝置和Quartus軟件的使用方法;2、 學(xué)習(xí)有限狀態(tài)機(jī)法進(jìn)行數(shù)字系統(tǒng)設(shè)計;3、 學(xué)習(xí)使用原理圖輸入法進(jìn)行設(shè)計。(二) 設(shè)計要求完成設(shè)計、仿真、調(diào)試、下載、硬件測試等環(huán)節(jié),在EDA實(shí)驗(yàn)裝置上實(shí)現(xiàn)一個串行序列信號發(fā)生器和一個序列信號檢測器的功能,具體要求如下:1、 先用設(shè)計0111010011011010序列信號發(fā)生器,其

9、最后6BIT數(shù)據(jù)用LED顯示出來;2、 再設(shè)計一個序列信號檢測器,檢測上述序列信號,若檢測到串行序列“11101”則輸出為“1”,否則輸出為“0”;(三) 主要儀器設(shè)備1、 微機(jī)1臺2、 QuartusII集成開發(fā)軟件1套3、 EDA實(shí)驗(yàn)裝置 1套(四) 實(shí)驗(yàn)步驟主要兩部分 1:序列信號發(fā)生器 設(shè)置q<=16'b0111010011011010; q0<=q15; Q<=q15; q15:1<=q14:0 ;通過循環(huán)移位串行輸出2:序列信號檢測器狀轉(zhuǎn)移態(tài)圖 一共有六個狀態(tài)分別為S = 5'd00000, A = 5'd00001, B = 5&#

10、39;d00011, C = 5'd00110, D = 5'd01101, E = 5'd11010;源程序: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;parameter S = 5'd00000, A = 5'd00001, B = 5'd00011, C = 5'd00110, D = 5'd01101, E = 5&#

11、39;d11010;always (posedge clk) begin if(rst=0) begin q<=16'b0111010011011010; end else begin q0<=q15; Q<=q15; q15:1<=q14:0 ; end endalways (posedge clk)begin if(state=D && Q=1) begin z<=1; led<=5'b11101;endelse begin z<=0;led<=5'b00000;endendalways (posedg

12、e clk or negedge rst) if(!rst) begin state<=S;end else casex(state) S: if(Q=1) state<=A; else state<=S; A: if (Q=1) state<=B; else state<= S; B: if (Q=1) state<=C; else state<=S; C: if(Q=0) state<=D; else state<=C; D: if(Q=1) state<=E; else state<=S; E: if(Q=0) state<=S; else state<=A; default: state<=S; endcaseendmodule波形仿真當(dāng)rst=1是序列信號發(fā)生器循環(huán)發(fā)出0111010011011010 當(dāng)檢測到11101是z=1輸出高電平,并且同時使11101序列顯示在五個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)容里面會有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論