基于FPGA的可編程單脈沖發(fā)生器設(shè)計(jì)規(guī)范技術(shù)文件_第1頁(yè)
基于FPGA的可編程單脈沖發(fā)生器設(shè)計(jì)規(guī)范技術(shù)文件_第2頁(yè)
基于FPGA的可編程單脈沖發(fā)生器設(shè)計(jì)規(guī)范技術(shù)文件_第3頁(yè)
基于FPGA的可編程單脈沖發(fā)生器設(shè)計(jì)規(guī)范技術(shù)文件_第4頁(yè)
基于FPGA的可編程單脈沖發(fā)生器設(shè)計(jì)規(guī)范技術(shù)文件_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、可編程單脈沖發(fā)生器設(shè)計(jì)院系名稱(chēng):電子工程學(xué)院專(zhuān)業(yè)班級(jí):學(xué) 號(hào):學(xué)生姓名:可編程單脈沖發(fā)生器設(shè)計(jì)一功能描述:本設(shè)計(jì)實(shí)現(xiàn)一個(gè)可編程單脈沖發(fā)生器,具體功能如下:1.異步信號(hào)復(fù)位,復(fù)位后信號(hào)輸出重新開(kāi)始2.復(fù)位后5個(gè)時(shí)鐘周期時(shí),產(chǎn)生一個(gè)脈沖,對(duì)輸入的脈沖寬度參數(shù)讀取3.當(dāng)有按鍵使能時(shí),輸出脈沖信號(hào),重復(fù)再按使能鍵,無(wú)效4.使能按鍵后產(chǎn)生的單脈沖的上升沿與時(shí)鐘取得同步二輸入輸出信號(hào)描述:脈沖信號(hào)發(fā)生器rstclkoutenLED6:0data7:0信號(hào)名輸入/輸出目標(biāo)/源功能描述clkInputPin時(shí)鐘頻率50M占空比1:1rstInputPin低電平有效,程序重新執(zhí)行,計(jì)數(shù)器清零data7:0Inp

2、utPin8位控制脈沖信號(hào)的寬度outOutputPin輸出信號(hào)LED6:0OutputPin接入數(shù)碼管顯示data輸入值三頂層劃分:synccounterclk50MHzrstinLEDled16:0data7:0enoutT_triggerQ_outQ_inpreset_parameterflag_data7:0data_in7:0led26:0led6:0系統(tǒng)結(jié)構(gòu)框圖頂層模塊說(shuō)明:counter:計(jì)數(shù)比較,確保輸出信號(hào)寬度為輸入data值;sync:將按鍵產(chǎn)生的單脈沖的上升沿與時(shí)鐘取得同步;T_trigger:T觸發(fā)器模塊,鎖按鍵信號(hào),使按鍵只能第一次有效;preset_paramete

3、r:預(yù)置脈沖參數(shù);LED:將輸入data用數(shù)碼管輸出顯示設(shè)計(jì)說(shuō)明:設(shè)計(jì)分為計(jì)數(shù)比較按鍵同步預(yù)置脈沖參數(shù)T觸發(fā)器模塊LED顯示五個(gè)模塊計(jì)數(shù)比較模塊:計(jì)數(shù)延時(shí),由輸入的寬度參數(shù)data的不同而得到不同寬度的脈沖按鍵同步模塊:使按鍵產(chǎn)生的單脈沖的上升沿與時(shí)鐘取得同步預(yù)置脈沖參數(shù):在系統(tǒng)進(jìn)行復(fù)位操作的5個(gè)時(shí)間單位后,將輸入的脈沖參數(shù)data預(yù)置到flag_data中T觸發(fā)器模塊:T觸發(fā)器模塊,鎖按鍵信號(hào),使按鍵只能第一次有效LED顯示模塊:將脈沖寬度的預(yù)置值和計(jì)數(shù)模塊的計(jì)數(shù)值轉(zhuǎn)換為數(shù)碼管輸出顯示四子模塊描述:counter:計(jì)數(shù)判斷輸出模塊1功能描述計(jì)數(shù)延時(shí),由輸入的寬度參數(shù)data的不同而得到不同寬

4、度的脈沖2管腳描述信號(hào)名稱(chēng)輸入 / 輸出源目標(biāo)功能描述clkInputPin時(shí)鐘信號(hào)50MHzrstInputPin復(fù)位信號(hào),低電平有效data_in7:0InputPin脈沖寬度參數(shù)Q_inInputPin按鍵使能標(biāo)志outOutputPin脈沖輸出3實(shí)現(xiàn)說(shuō)明復(fù)位后輸出out為0當(dāng)Q_in按鍵使能標(biāo)志有效時(shí),cnt7:0從零開(kāi)始計(jì)數(shù),當(dāng)cntdata_in時(shí),輸出out=1;其余輸出為04模塊驗(yàn)證1.正常運(yùn)行觀測(cè)其輸出變化;復(fù)位觀測(cè)2.將cnt接數(shù)碼管顯示,觀測(cè)脈沖寬度sync:同步按鍵與時(shí)鐘信號(hào)模塊1功能描述使按鍵產(chǎn)生的單脈沖的上升沿與時(shí)鐘取得同步2管腳描述信號(hào)名稱(chēng)輸入 / 輸出源目標(biāo)功能

5、描述clkInputPin時(shí)鐘信號(hào)50MHzrstInputPin復(fù)位信號(hào),低電平有效en_inInputPin按鍵使能en_outOutputPin同步后的按鍵使能3實(shí)現(xiàn)說(shuō)明當(dāng)按鍵被按下(即en_in=0)時(shí),將Q1=1,在clk為高電平時(shí)將Q2=Q1,en_out=Q2;clr=en_in&en_out,當(dāng)clr有效時(shí)Q1=0復(fù)位信號(hào)rst有效時(shí),Q1=0,Q2=0,en_out=0sync結(jié)構(gòu)圖:4模塊驗(yàn)證T_trigger:T觸發(fā)器模塊1功能描述T觸發(fā)器模塊,鎖按鍵信號(hào),使按鍵只能第一次有效2管腳描述信號(hào)名稱(chēng)輸入 / 輸出源目標(biāo)功能描述rstInputPin復(fù)位信號(hào),低電平有效inIn

6、putPinT觸發(fā)器輸入Q_outOutputPinT觸發(fā)器輸出3實(shí)現(xiàn)說(shuō)明當(dāng)復(fù)位時(shí),Q_out=0;其他時(shí)輸出結(jié)果為Q_out=inQ_out4模塊驗(yàn)證復(fù)位驗(yàn)證preset_parameter:預(yù)置脈沖參數(shù)模塊1功能描述在系統(tǒng)進(jìn)行復(fù)位操作的5個(gè)時(shí)間單位后,將輸入的脈沖參數(shù)data預(yù)置到flag_data中2管腳描述信號(hào)名稱(chēng)輸入 / 輸出源目標(biāo)功能描述clkInputPin時(shí)鐘信號(hào)50MHzrstInputPin復(fù)位信號(hào),低電平有效data7:0InputPin輸入的脈沖寬度參數(shù)flag_data7:0OutputPin預(yù)置脈沖寬度值3實(shí)現(xiàn)說(shuō)明系統(tǒng)復(fù)位后sum從零開(kāi)始計(jì)數(shù),當(dāng)sum=5時(shí),將fl

7、ag_data=data4模塊驗(yàn)證復(fù)位后檢測(cè)sum值和flag_data值LED:數(shù)碼管顯示模塊1功能描述將脈沖寬度的預(yù)置值和計(jì)數(shù)模塊的計(jì)數(shù)值轉(zhuǎn)換為數(shù)碼管輸出顯示2管腳描述信號(hào)名稱(chēng)輸入 / 輸出源目標(biāo)功能描述rstInputPin復(fù)位信號(hào),低電平有效data2:0InputPin輸入數(shù)值cnt_num7:0InputPin計(jì)數(shù)模塊中cnt值led16:0OutputPin接數(shù)碼管顯示輸入的data百位Led26:0OutputPin接數(shù)碼管顯示輸入的data十位Led36:0OutputPin接數(shù)碼管顯示輸入的data個(gè)位Led46:0OutputPin接數(shù)碼管顯示計(jì)數(shù)模塊中cnt的百位Led

8、56:0OutputPin接數(shù)碼管顯示計(jì)數(shù)模塊中cnt的十位Led66:0OutputPin接數(shù)碼管顯示計(jì)數(shù)模塊中cnt的個(gè)位3實(shí)現(xiàn)說(shuō)明將data和cnt的輸入值轉(zhuǎn)換為數(shù)碼管顯示輸出對(duì)百位取余作為百位的值,對(duì)百位取余再對(duì)十位取整作為十位的值,對(duì)個(gè)位取余作為個(gè)位的值五驗(yàn)證方案:1結(jié)果驗(yàn)證將程序下載至實(shí)驗(yàn)板,接示波器后,先設(shè)置脈沖寬度再?gòu)?fù)位,最后按鍵,觀測(cè)示波器顯示的波形信號(hào)2復(fù)位驗(yàn)證下載到實(shí)驗(yàn)板,讓其運(yùn)行一段時(shí)間,進(jìn)行復(fù)位,觀測(cè)變化3仿真驗(yàn)證六實(shí)驗(yàn)截圖:前仿真波形:Quartus II綜合:后仿真波形:分配管腳:程序運(yùn)行最高速度:七源程序代碼:頂層模塊:module pulser(data,en

9、,rst,clk,out,led1,led2,led3,led4,led5,led6);input7:0data;input en,rst,clk;output out;output6:0led1,led2,led3,led4,led5,led6;wire x,m;wire7:0d,y;sync S(.clk(c),.rst(rst),.en_in(en),.en_out(m);counter C(.Q_in(x),.clk(clk),.rst(rst),.data_in(d),.out(out), t(y);preset_parameter P(.clk(clk),.rst(rst),.da

10、ta(data),.flag_data(d);T_trigger T(.rst(rst),.in(m),.Q_out(x);LED L(.led_data(d), t_num(y),.rst(rst),.led1(led1),.led2(led2),.led3(led3),.led4(led4),.led5(led5),.led6(led6);endmodule計(jì)數(shù)判斷輸出模塊:countermodule counter(Q_in,clk,rst,data_in,out,cnt);input7:0data_in;input Q_in,clk,rst;output7:0cnt;output ou

11、t;reg out;reg7:0cnt;always(posedge clk or negedge rst)begin if(!rst) begin cnt=0; out=0; end else if(Q_in&cntdata_in) begin out=1; cnt=cnt+1; end else begin out=0; endendendmodule同步按鍵與時(shí)鐘信號(hào)模塊:syncmodule sync(clk,rst,en_in,en_out);input en_in,clk,rst;output en_out;reg Q1,Q2,en_out;wire clr;assign clr=

12、en_in&en_out;always(en_in or rst or clk)begin if(!rst) begin Q1=0; Q2=0; en_out=0; end else if(!en_in)Q1=1; else if(clr)Q1=0; else if(clk) begin Q2=Q1; en_out=Q2; endendendmoduleT觸發(fā)器模塊:T_triggermodule T_trigger(rst,in,Q_out);input rst,in;output Q_out;reg Q_out;always(in or rst)begin if(!rst)Q_out=0;

13、 else Q_out=inQ_out;endendmodule預(yù)置脈沖參數(shù)模塊:preset_parametermodule preset_parameter(clk,rst,data,flag_data);input clk,rst;input7:0data;output7:0flag_data;reg7:0flag_data;reg2:0sum;reg flag_sum;always(posedge clk or negedge rst)begin if(!rst) begin sum=0; flag_sum=0; flag_data=0; end else if(flag_sum=0&

14、sum=5) begin flag_data=data; flag_sum=flag_sum+1; end else if(flag_sum=0&sum5)sum=sum+1;endendmodule數(shù)碼管顯示模塊:LEDmodule LED(led_data,cnt_num,rst,led1,led2,led3,led4,led5,led6);input7:0led_data,cnt_num;input rst;output6:0led1,led2,led3,led4,led5,led6;reg6:0led1,led2,led3,led4,led5,led6;reg6:0LED9:0;alw

15、ays(rst or cnt_num or led_data)beginLED0=7b1000000;LED1=7b1111001;LED2=7b0100100;LED3=7b0110000;LED4=7b0011001;LED5=7b0010010;LED6=7b0000010;LED7=7b1111000;LED8=7b0000000;LED9=7b0010000; if(!rst) begin led1=0; led2=0; led3=0; led4=0; led5=0; led6=0; end else begin led1=LEDled_data/100; led2=LEDled_data%100/10; led3=LEDled_data%10; led4=LEDcnt_num/100; led5=LEDcnt_num%100/10; led6=LEDcnt_num%10; endendendmodule測(cè)試激勵(lì)模塊:timescale 10ns/1nsmodule test;reg clk,rst,en;reg7:0data;wire out;wire6:0led1,led2,led3,led4,led5,led6;pulser P(data,en,rst,clk,out,le

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論