版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一、實(shí)驗(yàn)名稱數(shù)字頻率計(jì)的設(shè)計(jì)二、實(shí)驗(yàn)地點(diǎn)211樓303三、實(shí)驗(yàn)?zāi)康暮腿蝿?wù)(1) 了解數(shù)字電路設(shè)計(jì)的基本特點(diǎn) (2) 了解數(shù)字頻率計(jì)電路的基本原理 (3) 基本掌握 ISE 軟件的使用(設(shè)計(jì)輸入、仿真、實(shí)現(xiàn)) (4) 了解可編程邏輯器件( FPGA )的一般情況 (5) 基本掌握 HDL 的使用四、實(shí)驗(yàn)內(nèi)容(1) 設(shè)計(jì)出符合設(shè)計(jì)要求的解決方案 (2) 設(shè)計(jì)出單元電路 (3) 利用 EDA 軟件對(duì)各單元電路及整體電路進(jìn)行仿真 (4)利用 EDA 軟件在 ELB 電子課程設(shè)計(jì)實(shí)驗(yàn)板實(shí)現(xiàn)設(shè)計(jì) (5) 觀察實(shí)驗(yàn)結(jié)果五、項(xiàng)目需用儀器設(shè)備名稱以及所需主要元器件PC 機(jī)、EDA教學(xué)實(shí)驗(yàn)系統(tǒng)一臺(tái),帶有(SPAR
2、TAN -3A XC3S200A芯片 ,LED 管 , 七段數(shù)碼管 等)的實(shí)驗(yàn)板一塊 , 跳線、下載電纜一根,函數(shù)發(fā)生器。六、實(shí)驗(yàn)任務(wù)與要求頻率測(cè)量范圍為10Hz10MHz,用6只數(shù)碼管以kHz為單位顯示測(cè)量結(jié)果;有三個(gè)帶鎖按鍵開關(guān)(任何時(shí)候都只會(huì)有一個(gè)被按下)用來選擇1S、0.1S和0.01S三個(gè)閘門時(shí)間中的一個(gè);有一個(gè)按鈕開關(guān)用來使頻率計(jì)復(fù)位;有兩只LED,一只用來顯示閘門的開與閉,另一只當(dāng)計(jì)數(shù)器溢出時(shí)做溢出指示。數(shù)字頻率計(jì)的相關(guān)技術(shù)指標(biāo)如下:1、位數(shù):測(cè)量頻率通過LED數(shù)碼管為六位十進(jìn)制數(shù)顯示。2、測(cè)試頻率范圍為:10HZ-10MHZ。3、計(jì)數(shù)器溢出時(shí)要有溢出標(biāo)志over。4、需要有閘門
3、標(biāo)志gate。5、顯示工作方式:a、用BCD七段共陽極數(shù)碼管顯示讀數(shù),只有在讀數(shù)不發(fā)生跳變時(shí)才是正確的結(jié)果。b、采用記憶顯示方法,即在一次測(cè)試結(jié)束時(shí),顯示測(cè)試結(jié)果,此顯示值一直保留到下次測(cè)量顯示數(shù)到來,才將上次顯示更新。用第二次測(cè)試結(jié)果,更新顯示值。6、要求被測(cè)輸入信號(hào)應(yīng)是符合數(shù)字電路要求的脈沖波。 七、verilog設(shè)計(jì)環(huán)境介紹VerilogVerilog HDL是目前應(yīng)用最為廣泛的硬件描述語言Verilog HDL可以用來進(jìn)行各種層次的邏輯設(shè)計(jì),也可以進(jìn)數(shù)字系統(tǒng)的邏輯綜合,仿真驗(yàn)證和時(shí)序分析等。 Verilog HDL適合算法級(jí),寄存器級(jí),邏輯級(jí),開關(guān)級(jí)、系統(tǒng)級(jí)和版圖級(jí)等各個(gè)層次的設(shè)計(jì)和描
4、述 verilogHDL進(jìn)行設(shè)計(jì)最大的優(yōu)點(diǎn)是其工藝無關(guān)性這使得工程師在功能設(shè)計(jì),邏輯驗(yàn)證階段可以不必過多考慮門級(jí)及工藝實(shí)現(xiàn)的具體細(xì)節(jié),只需根據(jù)系統(tǒng)設(shè)計(jì)的要求施加不同的約束條件,即可設(shè)計(jì)出實(shí)際電路 verilogHDL是一種硬件描述語言(hardware description language),為了制作數(shù)字電路而用來描述ASICS和FPGA的設(shè)計(jì)之用。verilogHDL 的設(shè)計(jì)者想要以 C 編程語言為基礎(chǔ)設(shè)計(jì)一種語言,可以使工程師比較容易學(xué)習(xí)。 Verilog 是由en:Gateway Design Automation公司于大約1984年開始發(fā)展。Gateway Design Autom
5、ation公司后來被 Cadence Design Systems于1990年所購并?,F(xiàn)在 Cadence 對(duì)于 Gateway 公司的 Verilog 和 Verilog-XL 模擬器擁有全部的財(cái)產(chǎn)權(quán)。 選擇VHDL還是verilog HDL?這是一個(gè)初學(xué)者最常見的問題。其實(shí)兩種語言的差別并不大,他們的描述能力也是類似的。掌握其中一種語言以后,可以通過短期的學(xué)習(xí),較快的學(xué)會(huì)另一種語言。 選擇何種語言主要還是看周圍人群的使用習(xí)慣,這樣可以方便日后的學(xué)習(xí)交流。當(dāng)然,如果您是專用集成電路(ASIC)設(shè)計(jì)人員,則必須首先掌握verilog,因?yàn)樵贗C設(shè)計(jì)領(lǐng)域,90%以上的公司都是采用verilog進(jìn)
6、行IC設(shè)計(jì)。對(duì)于PLD/FPGA設(shè)計(jì)者而言,兩種語言可以自由選擇。八、實(shí)驗(yàn)原理所謂“頻率”,就是周期性信號(hào)在單位時(shí)間(1秒)內(nèi)變化的次數(shù)。若在一定時(shí)間內(nèi)計(jì)得這個(gè)周期信號(hào)變化的次數(shù)為N,則其頻率可表達(dá)為: (1)電子技術(shù)器可以嚴(yán)格按公式(1)所表達(dá)的頻率的定義進(jìn)行測(cè)頻,其原理方框圖如圖1所示:計(jì)數(shù)器閘門放大整形門控電路時(shí)基信號(hào)發(fā)生器 圖1 測(cè)頻原理圖 首先,把被測(cè)信號(hào)(以正弦波為例)通過放大整形電路變成脈沖(實(shí)際上變成方波即可)其重復(fù)頻率等于被測(cè)頻率,然后將它加到閘門的一個(gè)輸入端。閘門通過門控信號(hào)來控制開、閉時(shí)間,只有在閘門開通時(shí)間T內(nèi),被計(jì)數(shù)的脈沖才能通過閘門,被送到十進(jìn)制電子計(jì)數(shù)器進(jìn)行計(jì)數(shù)。
7、門控信號(hào)的時(shí)間T是非常準(zhǔn)確的,以它作為時(shí)間基準(zhǔn),它由時(shí)基發(fā)生器提供。時(shí)基信號(hào)發(fā)生器由一個(gè)高穩(wěn)定的石英振蕩器和一系列數(shù)字分頻器組成,由它輸出的標(biāo)準(zhǔn)時(shí)間脈沖(時(shí)標(biāo))去控制門控電路形成門控信號(hào)。比如,時(shí)標(biāo)信號(hào)的重復(fù)周期為1S,則加到閘門的門控信號(hào)作用時(shí)間T及閘門時(shí)間亦準(zhǔn)確的等于1S,及閘門開通時(shí)間為1S,這時(shí)若計(jì)得10000個(gè)數(shù),則有(1)式知,被測(cè)頻率。從以上討論可知,電子計(jì)數(shù)器的測(cè)頻原理實(shí)質(zhì)上以比較法為基礎(chǔ),它將和時(shí)基信號(hào)頻率相比,兩個(gè)頻率相比的結(jié)果以數(shù)字的形式顯示出來。溢出指示燈9、 1 .原理框圖溢出信號(hào)七段譯碼管顯示數(shù)據(jù)掃描顯示系統(tǒng)門控電路分頻器石英振蕩鎖存器計(jì)數(shù)器閥門控制被測(cè)信號(hào) cle
8、arlatch時(shí)基2、各模塊功能及實(shí)現(xiàn)一.分頻模塊程序module count(rest,clk,clk_1hz,clk_10hz,clk_100hz,clk_1khz); input clk,rest; output reg clk_1hz,clk_10hz,clk_100hz,clk_1khz; reg29:0 count1,count2,count3,count4;initial begin clk_1hz=0; clk_10hz=0; clk_100hz=0; clk_1khz=0; count1=0; count2=0; count3=0; count4=0; endalways(
9、posedge clk) begin if(!rest) begin count1<=0;count2<=0;count3<=0;count4<=0; clk_1hz<=0; clk_10hz<=0;clk_100hz<=0;clk_1khz<=0; end else begin if(count1=24000000) begin count1<=0;clk_1hz<=clk_1hz; end else count1<=count1+1; if(count2=2400000) begin count2<=0;clk_10h
10、z<=clk_10hz;end else count2<=count2+1; if(count3=240000) begin count3<=0;clk_100hz<=clk_100hz;end else count3<=count3+1; if(count4=24000) begin count4<=0;clk_1khz<=clk_1khz;end else count4<=count4+1; end endendmodule 仿真圖 仿真模塊 二,門控電路和清零,鎖存,閥門信號(hào)產(chǎn)生程序 module chose(rest,clk_10hz,c
11、lk_100hzhz,clk_1khz,key1,key10,key100,gate_out1,ff,clk_latch,clk_clear); input rest ,clk_10hz,clk_100hz,clk_1khz,key1,key10,key100; output gate_out1,clk_latch,clk_clear; output reg 2:1 ff; reg gate_out1,clk_latch,clk_clear,gate; reg 4:1count; initial begin gate_out1=0;ff=0;clk_latch=0;clk_clear=0;ga
12、te=0;count=0;endalways( posedge clk_1khz) begin if(!rest) begin gate_out1<=0; ff<=2'b00;end else begin if(key1=1&&key10=0&&key100=0) begin gate<=clk_10hz; ff<=2'b01;end else if(key1=0&&key10=1&&key100=0) begin gate<=clk_100hz;ff<=2'b10;en
13、d else if(key1=0&&key10=0&&key100=1) begin gate<=clk_1khz;ff<=2'b11;end else begin ff<=0;end endend / always (posedge gate)begincount<=count+1;if (count<=9)begin gate_out1<=1;clk_clear<=0;clk_latch<=0;endelse if (count=11)begin gate_out1<=0;clk_clear<
14、;=0;clk_latch<=1;endelse if (count=13)begin gate_out1<=0;clk_clear<=1;clk_latch<=0;count<=0;endelse begin gate_out1<=0;clk_clear<=0;clk_latch<=0;endendendmodule仿真圖仿真模塊 三, 計(jì)數(shù)器程序module counter(rest,start,clk_in,cnt1,cnt2,cnt3,cnt4,cnt5,cnt6,yichu,clk_clear); input rest,start,cl
15、k_in,clk_clear; output yichu; reg yichu; output reg 4:1cnt1,cnt2,cnt3,cnt4,cnt5,cnt6; initial begin yichu=1; cnt1<=4'b0000;cnt2<=4'b0000;cnt3<=4'b0000;cnt4<=4'b0000; cnt5<=4'b0000; cnt6<=4'b0000; end always(posedge clk_in )begin if(!rest) begin cnt1<=4
16、9;b0000;cnt2<=4'b0000;cnt3<=4'b0000; cnt4<=4'b0000;cnt5<=4'b0000;cnt6<=4'b0000; end else begin if(clk_clear=1) begin cnt1<=4'b0000;cnt2<=4'b0000;cnt3<=4'b0000; cnt4<=4'b0000;cnt5<=4'b0000;cnt6<=4'b0000;yichu<=1; end else
17、 if(start=1) begin if(cnt6=4'b1001)&&(cnt5=4'b1001)&&(cnt4=4'b1001)&&(cnt3=4'b1001)&&(cnt2=4'b1001)&&(cnt1=4'b1001) begin cnt1<=4'b0000;cnt2<=4'b0000;cnt3<=4'b0000;cnt4<=4'b0000; cnt5<=4'b0000;cnt6<
18、=4'b0000;yichu<=0;end else if(cnt5=4'b1001)&&(cnt4=4'b1001)&&(cnt3=4'b1001)&&(cnt2=4'b1001)&&(cnt1=4'b1001) begin cnt1<=4'b0000;cnt2<=4'b0000; cnt3<=4'b0000;cnt4<=4'b0000; cnt5<=4'b0001;cnt6<=cnt6+4'
19、b0001; endelse if(cnt4=4'b1001)&&(cnt3=4'b1001)&&(cnt2=4'b1001)&&(cnt1=4'b1001) begin cnt1<=4'b0000;cnt2<=4'b0000;cnt3<=4'b0000; cnt4<=4'b0000;cnt5<=cnt5+4'b0001;cnt6<=cnt6; end else if(cnt3=4'b1001)&&(cnt2=4
20、39;b1001)&&(cnt1=4'b1001) begin cnt1<=4'b0000;cnt2<=4'b0000;cnt3<=4'b0000; cnt4<=cnt4+4'b0001;cnt5<=cnt5;cnt6<=cnt6; end else if(cnt2=4'b1001)&&(cnt1=4'b1001) begin cnt1<=4'b0000;cnt2<=4'b0000; cnt3<=cnt3+4'b0001;cnt4
21、<=cnt4;cnt5<=cnt5;cnt6<=cnt6; endelse if(cnt1=4'b1001)begincnt1<=4'b0000;cnt2<=cnt2+4'b0001;cnt3<=cnt3;cnt4<=cnt4;cnt5<=cnt5;cnt6<=cnt6;endelse begin cnt1<=cnt1+4'b0001;cnt2<=cnt2;cnt3<=cnt3; cnt4<=cnt4;cnt5<=cnt5;cnt6<=cnt6; end end end e
22、ndendmodule仿真圖模塊仿真圖四,鎖存以及譯碼掃描顯示程序module v138(rest,clk_1khz,se,in1,in2,in3,in4,in5,in6,segs,ff,dp,led,en,clk_latch); input 4:1 in1,in2,in3,in4,in5,in6; input clk_1khz,rest; input 2:1ff; input clk_latch; output reg dp, led,en; output reg 4:1 se; reg 3:1 count,dig; output reg 7:1 segs; reg 4:1 sign_out
23、4; reg 4:1 latch1,latch2,latch3,latch4,latch5,latch6; initial begin count<=0; dp<=1 ;segs<=0; se<=0;sign_out4<=0;led<=0;en<=0; latch1<=0;latch2<=0;latch3<=0; latch4<=0;latch5<=0;latch6<=0; end/always( posedge clk_latch ) begin latch1<=in1;latch2<=in2;latc
24、h3<=in3; latch4<=in4;latch5<=in5;latch6<=in6; end /鎖存器。 always(posedge clk_1khz)begin count<=count+1;end/位選自加always(posedge clk_1khz ) begin if(!rest) begin led<=1; end else begin case(count) 0: begin sign_out4<=latch1; se<=count;end 1: begin sign_out4<=latch2; se<=coun
25、t;end 2: begin sign_out4<=latch3; se<=count;end 3: begin sign_out4<=latch4; se<=count;end 4: begin sign_out4<=latch5; se<=count;end 5: begin sign_out4<=latch6; se<=count;end default:sign_out4<=4'b1111; endcase endend / 將數(shù)據(jù)依次譯碼 always(posedge clk_1khz) begin if(ff=2'
26、;b01&&se=3)begin dp<=0;end else if(ff=2'b10&&se=2)begin dp<=0;end else if(ff=2'b11&&se=1)begin dp<=0;end else begin dp<=1;endend/檔位選擇always ( sign_out4)beginif(!rest) begin segs<=0;endelse begin case(sign_out4) 0:segs<=7'b0000001; 1:segs<=7
27、9;b1001111; 2:segs<=7'b0010010; 3:segs<=7'b0000110; 4:segs<=7'b1001100; 5:segs<=7'b0100100; 6:segs<=7'b1100000; 7:segs<=7'b0001111; 8:segs<=7'b0000000; 9:segs<=7'b0000100; default:segs<=7'b1111111; endcase endend/譯碼顯示endmodule仿真圖模塊仿真圖五,頂
28、層電路程序module top(rest,clk,key1,key2,key3,clk_in,se,segs,led,dp,en,yichu); input rest,clk,clk_in,key1,key2,key3; output dp,led,en,yichu; output 3:1 se ; output7:1 segs; wire 4:1out1,out2,out3,out4,out5,out6; wire 2:1ff; wire gate_out1;count count(.clk(clk),.rest(rest),.clk_10hz(clk_10hz),.clk_100hz(cl
29、k_100hz),.clk_1khz(clk_1khz);/分頻器 chose chose(.rest(rest),.clk_1khz(clk_1khz),.clk_10hz(clk_10hz),.clk_100hz(clk_100hz),.ky1(key1),.key10(key2),.key100(key3), .gate_out1(gate_out1),.ff(ff),.clk_latch(clk_latch),.clk_cear(clk_clear);/時(shí)基選擇模塊 counter counter(.start(gate_out1),.rest(rest),.clk_in(clk_in
30、),.cnt1(out1), .yichu(yichu) ,.cnt2(out2),.cnt3(out3),.cnt4(out4),.cnt5(out5),.cnt6(out6),.clk_clear(clk_clear);/計(jì)數(shù)器器 v138 v138(.rest(rest),.clk_1khz(clk_1khz),.se(se), .led(led),.in1(out1),.in2(out2),.in3(out3),.in4(out4), .in5(out5),.in6(out6),.segs(segs),.ff(ff),.en(en),.dp(dp),.clk_latch(clk_lat
31、ch);endmodule/譯碼顯示頂層電路圖生成的各個(gè)模塊按要求連線,形成頂層原理圖,如下3 分配引腳和下載實(shí)現(xiàn)根據(jù)XC3S200A I/O口對(duì)應(yīng)管腳參考分配引腳。引腳分配完畢后雙擊“Generate programming”對(duì)所有程序進(jìn)行綜合,改正綜合過程中提示的錯(cuò)誤和警告,然后運(yùn)行“Configure Device”把程序下載到電路板上。4 結(jié)果測(cè)試在成功下載并運(yùn)行后,評(píng)估該設(shè)計(jì)系統(tǒng)的實(shí)際測(cè)量效果,作對(duì)比試驗(yàn),選用頻率可調(diào)的函數(shù)發(fā)生器生成測(cè)試信號(hào)。當(dāng)閘門時(shí)間為1s時(shí),測(cè)得結(jié)果如下:序號(hào)輸入(Hz)輸出(KHz)11000.001210000.010 31000000.100410000001.000 5100000010.0006100000100.0007200000200.0008300000300.0009400000400.00010500000500.00011600000600.00012700000700.00013800000800.00014900000899.99515920000919.99416960000959.995171000000999.996181000008999.999191000017溢出
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025海南省安全員-B證(項(xiàng)目經(jīng)理)考試題庫
- 2025年-遼寧省安全員知識(shí)題庫
- 2025青海省安全員B證考試題庫及答案
- 2025年湖北省安全員A證考試題庫附答案
- 2025遼寧建筑安全員考試題庫及答案
- 建筑用花崗巖開采及建筑用碎石、機(jī)制砂加工項(xiàng)目可行性研究報(bào)告模板-備案拿地
- 英語英語時(shí)態(tài)課件
- 一年級(jí)語文《-jqx》課件
- 單位管理制度展示匯編【人事管理】
- 單位管理制度展示大全職員管理篇十篇
- 北師大版五年級(jí)數(shù)學(xué)下冊(cè)第3單元第2課時(shí)分?jǐn)?shù)乘法(二)課件
- 教育部中國特色學(xué)徒制課題:中國特色學(xué)徒制制度設(shè)計(jì)與運(yùn)行機(jī)制研究
- 城市規(guī)劃思想史
- 山東師范大學(xué)新聞采訪期末復(fù)習(xí)題
- 讓與擔(dān)保合同協(xié)議范本
- 住宅設(shè)計(jì)效果圖協(xié)議書
- 新版中國食物成分表
- 2024河南鄭州市金水區(qū)事業(yè)單位招聘45人歷年高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 食物損失和浪費(fèi)控制程序
- TCI 373-2024 中老年人免散瞳眼底疾病篩查規(guī)范
- 2024四川太陽能輻射量數(shù)據(jù)
評(píng)論
0/150
提交評(píng)論