版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 基于FPGA的多功能數(shù)字鐘</p><p><b> 一、設(shè)計(jì)題目</b></p><p> 基于FPGA的多功能數(shù)字鐘</p><p><b> 二、設(shè)計(jì)目的</b></p><p> 1.掌握可編程邏輯器件的應(yīng)用開(kāi)發(fā)技術(shù)</p><p>
2、——設(shè)計(jì)輸入、編譯、仿真和器件編程;</p><p> 2.熟悉一種EDA軟件使用;</p><p> 3.掌握Verilog設(shè)計(jì)方法;</p><p> 4.掌握分模塊分層次的設(shè)計(jì)方法;</p><p> 5.用Verilog完成一個(gè)多功能數(shù)字鐘設(shè)計(jì);</p><p> 6.學(xué)會(huì)FPGA的仿真。</p
3、><p><b> 三、設(shè)計(jì)內(nèi)容</b></p><p> 設(shè)計(jì)一個(gè)多功能數(shù)字時(shí)鐘,具有時(shí)分、秒計(jì)數(shù)顯示、鬧鐘功能。能夠利用按鍵實(shí)現(xiàn)對(duì)鬧鐘時(shí)間的設(shè)定并在當(dāng)前顯示時(shí)間到時(shí)后能夠進(jìn)行鬧鐘提示。能夠利用按鍵實(shí)現(xiàn)“較時(shí)”、“較分”功能,隨時(shí)對(duì)數(shù)碼管的顯示進(jìn)行校正和校對(duì)。數(shù)字中系統(tǒng)主要由系統(tǒng)時(shí)鐘,三個(gè)功能按鍵(mode,turn,change),F(xiàn)PGA,數(shù)碼管和蜂鳴器部分組成
4、。</p><p> 四、FPGA及硬件描述語(yǔ)言簡(jiǎn)介</p><p><b> ?。保疲校牵梁?jiǎn)介</b></p><p> FPGA(Field-Programmable Gate Array),即現(xiàn)場(chǎng)可編程門(mén)陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專(zhuān)用集成電路(ASIC)領(lǐng)域中的一種半定制電路而
5、出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門(mén)電路數(shù)有限的缺點(diǎn)。</p><p> 目前以硬件描述語(yǔ)言(Verilog 或 VHDL)所完成的電路設(shè)計(jì),可以經(jīng)過(guò)簡(jiǎn) </p><p> 單的綜合與布局,快速的燒錄至 FPGA 上進(jìn)行測(cè)試,是現(xiàn)代 IC 設(shè)計(jì)驗(yàn)證的技術(shù)主流。這些可編輯元件可以被用來(lái)實(shí)現(xiàn)一些基本的邏輯門(mén)電路(比如AND、OR、XOR、NOT)或者更復(fù)雜一些的組合功
6、能比如解碼器或數(shù)學(xué)方程式。在大多數(shù)的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(Flip-flop)或者其他更加完整的記憶塊。 </p><p> 系統(tǒng)設(shè)計(jì)師可以根據(jù)需要通過(guò)可編輯的連接把FPGA內(nèi)部的邏輯塊連接起來(lái),就好像一個(gè)電路試驗(yàn)板被放在了一個(gè)芯片里。一個(gè)出廠(chǎng)后的成品FPGA的邏輯塊和連接可以按照設(shè)計(jì)者而改變,所以FPGA可以完成所需要的邏輯功能?! ?
7、 FPGA一般來(lái)說(shuō)比ASIC(專(zhuān)用集成芯片)的速度要慢,無(wú)法完成復(fù)雜的設(shè)計(jì),而且消耗更多的電能。但是他們也有很多的優(yōu)點(diǎn)比如可以快速成品,可以被修改來(lái)改正程序中的錯(cuò)誤和更便宜的造價(jià)。廠(chǎng)商也可能會(huì)提供便宜的但是編輯能力差的FPGA。因?yàn)檫@些芯片有比較差的可編輯能力,所以這些設(shè)計(jì)的開(kāi)發(fā)是在普通的FPGA上完成的,然后將設(shè)計(jì)轉(zhuǎn)移到一個(gè)類(lèi)似于ASIC的芯片上。</p><p> ?。玻布枋稣Z(yǔ)言簡(jiǎn)介</p>
8、<p> 硬件描述語(yǔ)言HDL(Hardware Description Language)是一種用形式化方法來(lái)描述數(shù)字電路和系統(tǒng)的語(yǔ)言。目前,電子系統(tǒng)向集成化、大規(guī)模和高速度等方向發(fā)展,以硬件描述語(yǔ)言和邏輯綜合為基礎(chǔ)的自頂向下的電路設(shè)計(jì)方法在業(yè)界得到迅猛發(fā)展,HDL 在這種形勢(shì)下顯示出了巨大的優(yōu)勢(shì),展望將來(lái)HDL 在硬件設(shè)計(jì)領(lǐng)域的地位將與C 和C++在軟件設(shè)計(jì)領(lǐng)域的地位一樣,在大規(guī)模數(shù)字系統(tǒng)的設(shè)計(jì)中,它將逐步取代傳統(tǒng)的邏
9、輯狀態(tài)表和邏輯電路圖等硬件描述方法,而成為主要的硬件描述工具。</p><p> Verilog HDL是一種硬件描述語(yǔ)言(hardware description language),為了制作數(shù)字電路而用來(lái)描述ASICs和FPGA的設(shè)計(jì)之用。Verilog HDL是目前應(yīng)用最為廣泛的硬件描述語(yǔ)言,可以用來(lái)進(jìn)行各種層次的邏輯設(shè)計(jì),也可以進(jìn)行數(shù)字系統(tǒng)的邏輯綜合,仿真驗(yàn)證和時(shí)序分析等,適合算法級(jí),寄存器級(jí),邏輯級(jí),
10、開(kāi)關(guān)級(jí)、系統(tǒng)級(jí)和版圖級(jí)等各個(gè)層次的設(shè)計(jì)和描述。 </p><p> Verilog HDL進(jìn)行設(shè)計(jì)最大的優(yōu)點(diǎn)是其工藝無(wú)關(guān)性,這使得工程師在功能設(shè)計(jì),邏輯驗(yàn)證階段可以不必過(guò)多考慮門(mén)級(jí)及工藝實(shí)現(xiàn)的具體細(xì)節(jié),只需根據(jù)系統(tǒng)設(shè)計(jì)的要求施加不同的約束條件,即可設(shè)計(jì)出實(shí)際電路。 </p><p> Verilog HDL 是工業(yè)和學(xué)術(shù)界的硬件設(shè)計(jì)者所使用的兩種主要的HDL 之一,另一種是VH
11、DL?,F(xiàn)在它們都已成為IEEE 標(biāo)準(zhǔn)。兩者各有特點(diǎn),但Verilog HDL 擁有更悠久的歷史、更廣泛的設(shè)計(jì)群體,資源也遠(yuǎn)比VHDL 豐富,且非常容易學(xué)習(xí)掌握。本設(shè)計(jì)提出了以 Verilog HDL 語(yǔ)言為手段,設(shè)計(jì)了多功能數(shù)字鐘。其代碼具有良好的可讀性和易理解性,源程序經(jīng)Altera 公司的QuartusⅡ 和ModelSim軟件完成綜合、仿真。此程序通過(guò)下載到FPGA 芯片后,可應(yīng)用于</p><p> 實(shí)
12、際的數(shù)字鐘顯示中。</p><p><b> 五、總體設(shè)計(jì)原理</b></p><p> 1、關(guān)于模式信號(hào)mode選擇各個(gè)功能顯示的構(gòu)思:</p><p> 考慮到使用mode按鍵產(chǎn)生0、1信號(hào)在正常時(shí)間顯示、調(diào)節(jié)時(shí)間功能、調(diào)節(jié)鬧鐘功能和跑表功能這四個(gè)功能之間的轉(zhuǎn)換。所以mode信號(hào)的作用主要體現(xiàn)在控制模塊(1)和顯示模塊中,雖然計(jì)時(shí)模塊
13、中也用到mode信號(hào),但是它只是turn信號(hào)將秒信號(hào)清零的輔助作用,保證只有在m=0(即普通時(shí)鐘顯示)下turn信號(hào)清零功能才起作用,在校時(shí)功能下只能是分、小時(shí)的切換和跑表下的暫停功能。</p><p> a、在控制模塊下的作用:</p><p> 在控制模塊下,其實(shí)mode和turn信號(hào)的作用更像2-4譯碼器的功能,將change數(shù)字上加信號(hào)按不同的mode和turn分成四個(gè)信號(hào),
14、分別是count1(時(shí)間顯示下的分信號(hào))、counta(時(shí)間顯示下的小時(shí)信號(hào))、count2(鬧鈴顯示下的分信號(hào))、countb(鬧鈴顯示下的小時(shí)信號(hào))。</p><p> b、在顯示模塊下的作用:</p><p> 同在控制模塊下的作用。只是將turn信號(hào)選出的小時(shí)和分鐘在同一個(gè)mode下一起送至數(shù)碼管顯示。</p><p> 2、關(guān)于時(shí)間調(diào)整和鬧鈴時(shí)間調(diào)
15、整中數(shù)字上加的原理:</p><p> 對(duì)于這個(gè)問(wèn)題,我們要考慮兩種情況,首先是時(shí)間調(diào)整的情況:因?yàn)樵跁r(shí)間調(diào)整下,數(shù)字的上加不僅受到change信號(hào)的作用(即人工調(diào)時(shí)),還受本身在1Hz信號(hào)下計(jì)時(shí)而隨時(shí)發(fā)生的累加。而鬧鈴時(shí)間調(diào)整不存在這種情況,因?yàn)轸[鈴下的時(shí)間數(shù)字發(fā)生上加只可能人工調(diào)節(jié)(change信號(hào)作用下)的結(jié)果。</p><p> a、時(shí)間調(diào)整下的上加:</p>
16、<p> 由于在控制模塊(2)下又設(shè)置了快加的功能,所以有三部分信號(hào)對(duì)上加起作用,一是快加下的numXclk,表示以原始時(shí)鐘的速率上加,二是慢加下的change具體到各模塊、各位的count1或counta,三是秒信號(hào)記到9向分信號(hào)的進(jìn)位。</p><p> b、鬧鈴時(shí)間調(diào)整下的上加:</p><p> 該部分原理同上,只是少了低位記到9向高位的進(jìn)位。所以只有兩部分組成,
17、一是快加下的numXclk,表示以原始時(shí)鐘的速率上加,二是慢加下的change具體到各模塊、各位的count2或countb。</p><p> 圖1 多功能數(shù)字鐘總體設(shè)計(jì)模塊</p><p><b> 六、各模塊說(shuō)明</b></p><p><b> 1.分頻模塊</b></p><p>
18、; 由于FPGA內(nèi)部提供的時(shí)鐘信號(hào)頻率大約為50MHz,在這需要將它轉(zhuǎn)化成1Hz的標(biāo)準(zhǔn)時(shí)鐘信號(hào)供數(shù)字鐘的計(jì)時(shí)顯示;在此采用了級(jí)聯(lián)分頻法。</p><p><b> 代碼如下:</b></p><p> module fenpin(clk,clk_1Hz,clk_100Hz,clk_1k);</p><p> output clk_1Hz
19、,clk_100Hz,clk_1k;</p><p> input clk;</p><p> reg clk_1Hz=0,clk_3=0,clk_1=0,clk_2=0,clk_1k=0;</p><p> reg [6:0] cnt1=0,cnt2=0,cnt3=0,cnt4=0,cnt5=0;</p><p> wire clk
20、_100Hz;</p><p> always @(posedge clk) </p><p><b> begin</b></p><p> if ( cnt1 < 156/2-1) /////////////////////////156分頻,生成1MHz信號(hào)</p><p> begin
21、 </p><p> cnt1 <= cnt1 + 1; </p><p> end </p><p> else </p><p> begin </p><p> cnt1 <
22、;= 0; </p><p> clk_1 <= ~clk_1; </p><p><b> end</b></p><p><b> end</b></p><p> always @(posedge clk_1)</p><p> if (
23、 cnt2 < 156/2-1) ////////////////////100分頻,生成10000Hz信號(hào)</p><p> begin </p><p> cnt2 <= cnt2 + 1; </p><p> end </p><p&
24、gt; else </p><p> begin </p><p> cnt2 <= 0; </p><p> clk_2 <= ~clk_2; </p><p><b> end</b></p><p> alw
25、ays @(posedge clk_2)</p><p> if ( cnt5 < 10/2-1) //////////////////////10分頻,生成1kHz標(biāo)準(zhǔn)信號(hào)</p><p> begin </p><p> cnt5<= cnt5 + 1; </p
26、><p> end </p><p> else </p><p> begin </p><p> cnt5<= 0; </p><p> clk_1k<= ~clk_1k; </p><p><b
27、> end </b></p><p> always @(posedge clk_2)</p><p> if ( cnt3 < 100/2-1) //////////////////////100分頻,生成100Hz信號(hào)</p><p> begin </p><p>
28、; cnt3 <= cnt3 + 1; </p><p> end </p><p> else </p><p> begin </p><p> cnt3 <= 0; </p><p> cl
29、k_3 <= ~clk_3; </p><p><b> end</b></p><p> assign clk_100Hz=clk_3;</p><p> always @(posedge clk_3)</p><p> if ( cnt4 < 100/2-1) ////////////
30、////////100分頻,生成1Hz標(biāo)準(zhǔn)信號(hào)</p><p> begin </p><p> cnt4<= cnt4 + 1; </p><p> end </p><p> else </p><p&
31、gt; begin </p><p> cnt4<= 0; </p><p> clk_1Hz<= ~clk_1Hz; </p><p><b> end</b></p><p><b> endmodule</b></p>
32、<p> 最終輸出的是1Hz,100Hz,1kHz的標(biāo)準(zhǔn)時(shí)鐘信號(hào)clk_1Hz ,clk_100Hz,clk_1k。</p><p><b> 2、計(jì)時(shí)模塊</b></p><p> 原理:m是模式按鍵,當(dāng)m=0時(shí),進(jìn)入計(jì)時(shí)模式,在計(jì)時(shí)模式下可以進(jìn)行時(shí)間調(diào)整。num3,num4產(chǎn)生加速調(diào)整時(shí)間,當(dāng)其值為1時(shí),可以快速調(diào)整時(shí)間,該調(diào)整時(shí)間的頻率由c
33、lk提供。counta,count1是手動(dòng)調(diào)節(jié)時(shí)間。Turn接按鍵,可以改變當(dāng)前調(diào)節(jié)的是小時(shí)還是分鐘,長(zhǎng)按turn鍵還可以使秒鐘信號(hào)清零。sec1,min1,hour1輸出的是計(jì)時(shí)的秒,分,時(shí)。</p><p><b> 代碼如下:</b></p><p> module jishi(clk,clk_1Hz,</p><p> turn,
34、//// turn: 接按鍵,在手動(dòng)校時(shí)功能時(shí),選擇是調(diào)整小時(shí),還是分鐘;若長(zhǎng)時(shí)間按住該鍵,還可使秒信號(hào)清零,用于精確調(diào)時(shí)</p><p> mode,count1,counta,sec1,min1,hour1,num3,num4);</p><p> input clk,clk_1Hz,turn,num3,num4;</p><p> input mode;
35、</p><p> input count1,counta;</p><p> output [7:0] sec1,min1;</p><p> output [7:0] hour1;</p><p> wire clk_1Hz,ct1,cta,turn,num3,num4;</p><p> reg [7:
36、0] sec1=0,min1=0;</p><p> reg [7:0] hour1=0;</p><p> reg [1:0] m;</p><p> wire count1,counta;</p><p> reg minclk,hclk;</p><p> always @(posedge mode)
37、//mode 信號(hào)控制系統(tǒng)在三種功能間轉(zhuǎn)換</p><p><b> begin</b></p><p> if(m==4) m<=0;</p><p> else m<=m+1;</p><p><b> end</b></p><p> //
38、///秒鐘計(jì)時(shí)模塊//////</p><p> always @(posedge clk_1Hz)</p><p> if((sec1==8'h59)|turn&(!m))///////若長(zhǎng)時(shí)間按住該鍵,還可使秒信號(hào)清零,用于精確調(diào)時(shí)。</p><p><b> begin</b></p><p>
39、; sec1<=0; //按住“turn”按鍵一段時(shí)間,秒信號(hào)可清零,該功能用于手動(dòng)精確調(diào)時(shí)</p><p> if(!(turn&(!m))) minclk<=1;///產(chǎn)生進(jìn)位</p><p><b> end</b></p><p> else begin</p><p> if(
40、sec1[3:0]==4'b1001) </p><p> begin sec1[3:0]<=4'b0000; sec1[7:4]<=sec1[7:4]+1; end</p><p> else sec1[3:0]<=sec1[3:0]+1;</p><p> minclk<=0;</p><
41、p><b> end</b></p><p> ////////分鐘計(jì)時(shí)模?///</p><p> assign m_clk=minclk||count1;/////m_clk產(chǎn)生進(jìn)位或校正改變</p><p> assign ct1=(num3&clk)|(!num3&m_clk); //ct1 用于計(jì)時(shí)、校
42、時(shí)中的分鐘計(jì)數(shù)</p><p> always @(posedge ct1)</p><p><b> begin</b></p><p> if(min1==8'h59) begin min1<=0; hclk<=1; end</p><p> else begin</p&g
43、t;<p> if(min1[3:0]==9)</p><p> begin min1[3:0]<=0; min1[7:4]<=min1[7:4]+1; end</p><p> else min1[3:0]<=min1[3:0]+1;</p><p><b> hclk<=0;</b>&l
44、t;/p><p><b> end</b></p><p><b> end</b></p><p> ////////小時(shí)計(jì)時(shí)模塊///</p><p> assign h_clk=hclk||counta;//////h_clk產(chǎn)生進(jìn)位或校正改變</p><p>
45、 assign cta=(num4&clk)|(!num4&h_clk); //cta 用于計(jì)時(shí)、校時(shí)中的小時(shí)計(jì)數(shù)</p><p> always @(posedge cta)</p><p> if(hour1==8'h23) hour1<=0;</p><p> elseif(hour1[3:0]==9) </p>
46、;<p> begin hour1[7:4]<=hour1[7:4]+1; hour1[3:0]<=0; end</p><p> else hour1[3:0]<=hour1[3:0]+1;</p><p><b> endmodule</b></p><p><b> 3、鬧鐘模塊
47、</b></p><p> 原理:num1,num2產(chǎn)生加速調(diào)整時(shí)間,當(dāng)其值為1時(shí),可以快速調(diào)整時(shí)間,該調(diào)整時(shí)間的頻率由clk提供。countb,count2是手動(dòng)調(diào)節(jié)鬧鐘時(shí)間。amin,ahour是輸出的鬧鐘的分鐘和小時(shí),LD_alert指示當(dāng)前是否開(kāi)啟鬧鐘。</p><p><b> 代碼如下:</b></p><p>
48、module Alarm(clk,amin,ahour,num1,num2,count2,countb,LD_alert);</p><p> input clk,num1,num2,count2,countb;</p><p> output [7:0] amin;</p><p> output [7:0] ahour;</p><p&
49、gt; output LD_alert;</p><p> wire LD_alert;</p><p> reg [7:0] amin=0;</p><p> reg [7:0] ahour=0;</p><p> assign ct2=(num1&clk)|(!num1&count2); //ct2 用于定時(shí)狀態(tài)
50、下調(diào)整分鐘信號(hào)</p><p> assign LD_alert=(ahour|amin)?1:0;//指示是否進(jìn)行了鬧鈴定時(shí)</p><p> always @(posedge ct2)</p><p> if(amin==8'h59) amin<=0;</p><p> elseif(amin[3:0]==9
51、)</p><p> begin amin[3:0]<=0; amin[7:4]<=amin[7:4]+1; end</p><p> else amin[3:0]<=amin[3:0]+1;</p><p> assign ctb=(num2&clk)|(!num2&countb); ////ctb 用于定時(shí)狀態(tài)調(diào)節(jié)
52、小時(shí)信號(hào)</p><p> always @(posedge ctb)</p><p> if(ahour==8'h23) ahour<=0;</p><p> elseif(ahour[3:0]==9)</p><p> begin ahour[3:0]<=0; ahour[7:4]<=ahour[
53、7:4]+1; end</p><p> else ahour[3:0]<=ahour[3:0]+1;</p><p><b> endmodule</b></p><p> 4、控制模塊(1)</p><p> 原理:m是模式按鍵,當(dāng)m=0時(shí),指當(dāng)前輸出的是計(jì)時(shí)功能;當(dāng)m=1時(shí),指當(dāng)前調(diào)整的是鬧鐘時(shí)
54、間;當(dāng)m=2時(shí),指當(dāng)前調(diào)整的是計(jì)時(shí)時(shí)間;當(dāng)m=3時(shí),此時(shí)turn按鍵可用于跑表的暫停與開(kāi)始。change 接按鍵,手動(dòng)調(diào)整時(shí),每按一次,計(jì)數(shù)器加1;如果長(zhǎng)按,則連續(xù)快速加 1,用于快速調(diào)時(shí)和定時(shí);turn接按鍵,在手動(dòng)校時(shí)功能時(shí),選擇是調(diào)整小時(shí),還是分鐘;若長(zhǎng)時(shí)間按住該鍵,還可使秒信號(hào)清零,用于精確調(diào)時(shí)。count1,count2,counta,countb分別是用來(lái)調(diào)節(jié)計(jì)時(shí)時(shí)間和鬧鐘時(shí)間。LD_min,LD_hour,指示當(dāng)前調(diào)節(jié)的是
55、分鐘還是小時(shí)。</p><p><b> 代碼如下:</b></p><p> Module ctrol(change,turn,count1,count2,counta,countb,pause,LD_min,LD_hour,mode);</p><p> input change,mode,turn; </p><
56、p> output count1,count2,counta,countb,pause,LD_min,LD_hour;</p><p> reg [1:0] m;</p><p> reg fm=0,count1=0,count2=0,counta=0,countb=0,pause=0,LD_min=0,LD_hour=0;</p><p> wire
57、 mode,turn,change;</p><p> always @(posedge mode) //mode 信號(hào)控制系統(tǒng)在三種功能間轉(zhuǎn)換</p><p><b> begin</b></p><p> if(m==4) m<=0;</p><p> else m<=m+1;</p&g
58、t;<p><b> end</b></p><p> always @(posedge turn)//////////接按鍵,在手動(dòng)校時(shí)功能時(shí),選擇是調(diào)整小時(shí),還是分鐘;</p><p><b> begin</b></p><p><b> fm<=~fm;</b>&l
59、t;/p><p><b> end</b></p><p> always @ (m or fm or change)</p><p><b> begin</b></p><p><b> case(m)</b></p><p> 3: beg
60、in ////////3:跑表功能;</p><p><b> if(fm) </b></p><p><b> pause=1;</b></p><p><b> else </b></p><p><b> pause=0;</b></p
61、><p><b> end</b></p><p> 2:begin ////////2:調(diào)節(jié)時(shí)間功能;</p><p><b> if(fm) </b></p><p> begincount1<=change; {LD_min,LD_hour}<=2; </p>
62、<p> end//////指示當(dāng)前調(diào)整的是分鐘</p><p><b> else </b></p><p> begin counta<=change; {LD_min,LD_hour}<=1; </p><p> end/////指示當(dāng)前調(diào)整的是小時(shí)</p><p> {co
63、unt2,countb}<=0;</p><p><b> end</b></p><p> 1:begin //////1:調(diào)節(jié)鬧鐘功能</p><p><b> if(fm) </b></p><p> begincount2<=change; {LD_min,LD_
64、hour}<=2; </p><p> end/////指示當(dāng)前調(diào)整的是分</p><p><b> else</b></p><p> begin countb<=change; {LD_min,LD_hour}<=1; </p><p> end/////指示當(dāng)前調(diào)整的是小時(shí)<
65、/p><p> {count1,counta}<=0; </p><p><b> end</b></p><p> 0: begin {count1,count2,counta,countb,LD_min,LD_hour}<=0;</p><p> end ////0:計(jì)時(shí)功能</p>&
66、lt;p><b> endcase</b></p><p><b> end</b></p><p><b> endmodule</b></p><p> 5、控制模塊(2)</p><p> 原理:此模塊是加速調(diào)節(jié)時(shí)間模塊,count1,count2,co
67、unta,countb是手動(dòng)調(diào)節(jié)時(shí)間,當(dāng)長(zhǎng)時(shí)間按這些鍵時(shí),num1,num2,num3,num4的值會(huì)發(fā)生變化,當(dāng)他們值有為1時(shí),對(duì)應(yīng)的調(diào)節(jié)會(huì)快速加1。</p><p><b> 代碼如下:</b></p><p> module faster(clk,num1,num2,num3,num4,count1,count2,counta,countb);</p&
68、gt;<p> input clk;</p><p> input count1,count2,counta,countb;</p><p> output num1,num2,num3,num4;</p><p> wire count1,count2,counta,countb;</p><p> reg[2:0]
69、 loop1=0,loop2=0,loop3=0,loop4=0;</p><p> reg num1,num2,num3,num4;</p><p> always @(negedge clk)//如果長(zhǎng)時(shí)間按下“change”鍵,則生成“num*”信號(hào)用于連續(xù)快速加1</p><p> if(count2) begin</p><p&
70、gt; if(loop1==3) begin loop1<=0; num1<=1; end</p><p><b> else</b></p><p> begin loop1<=loop1+1; num1<=0; end</p><p><b> end</b></p>&l
71、t;p> else begin loop1<=0; num1<=0; end</p><p> always @(negedge clk)</p><p> if(countb) begin</p><p> if(loop2==3) begin loop2<=0; num2<=1; end</p>&l
72、t;p><b> else</b></p><p> begin loop2<=loop2+1; num2<=0; end</p><p><b> end</b></p><p> else begin loop2<=0; num2<=0; end</p>
73、<p> always @(negedge clk)</p><p> if(count1) begin</p><p> if(loop3==3) begin loop3<=0; num3<=1; end</p><p><b> else</b></p><p> begin
74、loop3<=loop3+1; num3<=0; end</p><p><b> end</b></p><p> else begin loop3<=0; num3<=0; end</p><p> always @(negedge clk)</p><p> if(cou
75、nta) begin</p><p> if(loop4==3) begin loop4<=0; num4<=1; end</p><p><b> else</b></p><p> begin loop4<=loop4+1; num4<=0; end</p><p><b&
76、gt; end</b></p><p> else begin loop4<=0; num4<=0; end</p><p><b> endmodule</b></p><p><b> 6、顯示模塊</b></p><p> 原理:同時(shí)輸入計(jì)時(shí)模塊的時(shí)
77、間和鬧鐘模塊的時(shí)間,選擇m值,當(dāng)m=0時(shí),指當(dāng)前輸出的是計(jì)時(shí)模塊的時(shí)間;當(dāng)m=1時(shí),指當(dāng)前輸出的是鬧鐘模塊的時(shí)間;當(dāng)m=2時(shí),指當(dāng)前輸出的是調(diào)節(jié)計(jì)時(shí)模塊的時(shí)間;當(dāng)m=3時(shí),指當(dāng)前輸出的是跑表計(jì)時(shí)的時(shí)間。</p><p><b> 代碼如下:</b></p><p> Module show(min1,sec1,amin,hour1,ahour,MSH,MSL,SH
78、,SL,MH,ML,min,sec,hour,mode);</p><p> input [7:0] min1,sec1,amin;</p><p> input [7:0] hour1,ahour;</p><p> input[3:0] MSH,MSL,SH,SL,MH,ML;</p><p> input mode;</p
79、><p> output [7:0] min,sec;</p><p> output [7:0] hour;</p><p> reg [7:0] min,sec;</p><p> reg [7:0] hour;</p><p> reg [1:0] m;</p><p> alwa
80、ys @(posedge mode) //mode 信號(hào)控制系統(tǒng)在三種功能間轉(zhuǎn)換</p><p><b> begin</b></p><p> if(m==4) m<=0;</p><p> else m<=m+1;</p><p><b> end</b></p&g
81、t;<p> always @(min1 or sec1 or amin or hour1 or ahour or m) </p><p><b> begin</b></p><p><b> case(m)</b></p><p> 0:begin hour<=hour1; min&l
82、t;=min1; sec<=sec1; end</p><p> 1:begin hour<=ahour; min<=amin; sec<=8'hzz; end</p><p> 2:begin hour<=hour1; min<=min1; sec<=8'hzz; end</p><
83、p> 3: begin hour<={SH,SL}; min<={MSH,MSL}; sec<={MH,ML}; end</p><p><b> endcase</b></p><p><b> end</b></p><p><b> endmodule<
84、;/b></p><p><b> 7、響鈴模塊</b></p><p> 原理:同時(shí)輸入計(jì)時(shí)模塊的時(shí)間和鬧鐘模塊的時(shí)間。當(dāng)計(jì)時(shí)模塊的時(shí)間快到達(dá)整點(diǎn)時(shí),會(huì)產(chǎn)生響聲;當(dāng)計(jì)時(shí)模塊的時(shí)分同時(shí)等于鬧鐘模塊的時(shí)分時(shí),也產(chǎn)生響鈴。這時(shí)alert為1,如果在這時(shí)按住change鍵,可以屏蔽鬧鐘響鈴。</p><p><b> 代碼如下
85、:</b></p><p> module ring(clk,clk_1k,min1,sec1,amin,hour1,ahour,change,alert);</p><p> input [7:0] min1,sec1,amin;</p><p> input [7:0] hour1,ahour;</p><p> in
86、put change,clk,clk_1k;</p><p> output alert;</p><p> wire [7:0] min1,sec1,amin;</p><p> wire [7:0] hour1,ahour;</p><p> wire change;</p><p> reg alert
87、1=0,alert2=0;</p><p> reg [1:0] sound;</p><p><b> reg ear;</b></p><p> wire alert;</p><p> wire clk_1k,clk;</p><p> always @ (posedge clk)
88、</p><p> if((min1==amin)&&(hour1==ahour)&&(amin|ahour)&&(!change))</p><p> if(sec1<30) alert1<=1;</p><p> else alert1<=0;</p><p>
89、 else alert1<=0;</p><p> always @ (posedge clk)</p><p><b> begin </b></p><p> if(sound==3) begin sound<=0; ear<=1; end</p><p> //ear 信號(hào)用于產(chǎn)生
90、或屏蔽聲音</p><p> else begin sound<=sound+1; ear<=0; end</p><p> if((min1==8'h59)&&(sec1>8'h54)||(!(min1|sec1)))</p><p> if(sec1>8'h54) alert2<
91、;=ear&clk_1k; //產(chǎn)生短音</p><p> else alert2<=!ear&clk_1k; //產(chǎn)生長(zhǎng)音</p><p> else alert2 <= 0; //停止發(fā)聲</p><p><b> end</b></p><p> ///assign ale
92、rt=((alert1)?clk_100Hz&clk:0)|alert2;//產(chǎn)生鬧鈴音或整點(diǎn)報(bào)時(shí)音</p><p> assign alert=((alert1)?clk_1k&clk:0)|alert2; //產(chǎn)生鬧鈴音或整點(diǎn)報(bào)時(shí)音</p><p><b> endmodule</b></p><p><b>
93、; 8、跑表模塊</b></p><p> 原理:輸入該模塊的是100Hz時(shí)鐘信號(hào)。百分秒是模為100的BCD碼計(jì)數(shù)器,為方便數(shù)碼管顯示,將百分秒的兩位分別用4位的MSH(百分秒高位),MSL(百分秒低位)表示。這樣MSH,MSL就分別對(duì)應(yīng)每一個(gè)數(shù)碼管顯示的BCD碼。同理,秒信號(hào)為模為60的BCD碼計(jì)數(shù)器,兩位也用四位的SH(秒高位),SL(秒低位)。此時(shí)turn鍵可用作跑表的pause鍵,按下
94、turn鍵后跑表暫停,再按下后秒表啟動(dòng)。此外clr按鍵可實(shí)現(xiàn)跑表的異步清零。</p><p> /*信號(hào)定義:clk_100Hz: clk_100Hz 為時(shí)鐘信號(hào);clr: 為異步復(fù)位信號(hào);pause: 為暫停信號(hào);MSH,MSL: 百分秒的高位和低位;SH,SL: 秒信號(hào)的高位和低位;MH,ML: 分鐘信號(hào)的高位和低位。 */</p><p> module paobiao(clk_
95、100Hz,clr,pause,MSH,MSL,SH,SL,MH,ML);</p><p> input clk_100Hz,clr;</p><p> input pause;</p><p> output[3:0] MSH,MSL,SH,SL,MH,ML;</p><p> reg[3:0] MSH,MSL,SH,SL,MH,M
96、L;</p><p> reg cn1,cn2; //cn1 為百分秒向秒的進(jìn)位,cn2 為秒向分的進(jìn)位</p><p> //百分秒計(jì)數(shù)進(jìn)程,每計(jì)滿(mǎn)100,cn1 產(chǎn)生一個(gè)進(jìn)位</p><p> always @(posedge clk_100Hz or posedge clr)</p><p><b> begin<
97、;/b></p><p> if(clr) begin //異步復(fù)位</p><p> {MSH,MSL}<=8'h00;</p><p><b> cn1<=0;</b></p><p><b> end</b></p><p> e
98、lse if(!pause) //PAUSE 為0 時(shí)正常計(jì)數(shù),為1 時(shí)暫停計(jì)數(shù)</p><p><b> begin</b></p><p> if(MSL==9) begin</p><p><b> MSL<=0;</b></p><p> if(MSH==9) </
99、p><p> begin MSH<=0; cn1<=1; end</p><p> else MSH<=MSH+1;</p><p><b> end</b></p><p> elsebegin</p><p> MSL<=MSL+1; cn1<=
100、0;</p><p><b> end</b></p><p><b> end</b></p><p> end //秒計(jì)數(shù)進(jìn)程,每計(jì)滿(mǎn)60,cn2 產(chǎn)生一個(gè)進(jìn)位</p><p> always @(posedge cn1 or posedge clr)</p><
101、p><b> begin</b></p><p> if(clr) begin //異步復(fù)位</p><p> {SH,SL}<=8'h00;</p><p><b> cn2<=0;</b></p><p><b> end</b>
102、</p><p> elseif(SL==9) //低位是否為9</p><p><b> begin</b></p><p><b> SL<=0;</b></p><p><b> if(SH==5)</b></p><p> b
103、egin SH<=0; cn2<=1; end</p><p> else SH<=SH+1;</p><p><b> end</b></p><p><b> else </b></p><p> begin SL<=SL+1; cn2<=0
104、; end</p><p> end //分鐘計(jì)數(shù)進(jìn)程,每計(jì)滿(mǎn)60,系統(tǒng)自動(dòng)清零</p><p> always @(posedge cn2 or posedge clr)</p><p><b> begin</b></p><p><b> if(clr)</b><
105、;/p><p> begin {MH,ML}<=8'h00; end //異步復(fù)位</p><p> else if(ML==9)begin</p><p><b> ML<=0;</b></p><p> if(MH==5) MH<=0;</p><p&g
106、t; else MH<=MH+1;</p><p><b> end</b></p><p> else ML<=ML+1;</p><p><b> end</b></p><p><b> endmodule</b></p>&
107、lt;p> 七、各工作模式仿真波形</p><p> 1.時(shí)鐘正常計(jì)時(shí)波形 00:00:59時(shí)刻波形</p><p> 00:59:59時(shí)刻波形</p><p> 23:59:59時(shí)刻波形</p><p><b> 2.定時(shí)鬧鐘波形</b></p><p> 如圖所示為01
108、:02:00-01:02:59的一分鐘鬧鐘波形。</p><p><b> 3.仿電臺(tái)報(bào)時(shí)波形</b></p><p> 如圖所示,在任意小時(shí)59分的51、53、55、57秒內(nèi)蜂鳴器為低頻(512Hz)信號(hào)輸出,在59秒內(nèi)蜂鳴器為高頻(1024Hz)信號(hào)輸出,實(shí)現(xiàn)模仿電臺(tái)報(bào)時(shí)功能。</p><p><b> 4.整點(diǎn)報(bào)時(shí)波形&l
109、t;/b></p><p> 如圖所示,在06:00:00后的6秒內(nèi),蜂鳴器前半秒無(wú)輸入,后半秒有高頻(1024Hz)輸入,達(dá)到整點(diǎn)報(bào)時(shí)功能。在N小時(shí)整時(shí)刻,蜂鳴器會(huì)鳴響N次。如此仿真中為六點(diǎn),響六下。</p><p> 分計(jì)數(shù)器仿真波形圖:</p><p> 小時(shí)計(jì)數(shù)器仿真波形圖:</p><p> 八、在FPGA板上調(diào)試過(guò)程
110、如下:</p><p> 1.當(dāng)前m=0,輸出的是計(jì)時(shí)模塊的時(shí)間;LD_alert=0,表示沒(méi)有設(shè)置鬧鐘。</p><p> 2.當(dāng)m=1時(shí),輸出的是鬧鐘時(shí)間。改變change的值,可以調(diào)節(jié)鬧鐘的時(shí)間??梢钥闯鲈O(shè)置得鬧鐘為8:25。LD-alert=1提示設(shè)置了鬧鐘。</p><p> 3.當(dāng)m=2or3時(shí),輸出的是調(diào)整計(jì)時(shí)模塊的時(shí)間。改變change的值,可
111、以調(diào)節(jié)時(shí)間??梢钥闯?,時(shí)間調(diào)整為8:21。</p><p> 4.從下可以看出,LD_alert=1,表明設(shè)置有鬧鐘。alert=0,表示鬧鐘時(shí)間還沒(méi)有到。</p><p> 時(shí)間為8:25:00,鬧鐘報(bào)警,alert=1,報(bào)警時(shí)間長(zhǎng)為30秒,如果按住change鍵,則可以屏蔽鬧鈴。</p><p> 時(shí)間為8:25:31,鬧鈴?fù)V埂?lt;/p>&
112、lt;p><b> 測(cè)試成功!</b></p><p><b> 九、總結(jié)</b></p><p> 通過(guò)這次項(xiàng)目設(shè)計(jì),我初步掌握了EDA設(shè)計(jì)的基本流程(即設(shè)計(jì)輸入—編譯—調(diào)試—仿真—下載),領(lǐng)會(huì)了自頂而下結(jié)構(gòu)化設(shè)計(jì)的優(yōu)點(diǎn),并具備了初步的EDA程序設(shè)計(jì)能力。根據(jù)設(shè)計(jì)內(nèi)容,對(duì)FPGA也進(jìn)行了學(xué)習(xí),對(duì)軟件總體操作步驟初步了解了,但還是要提
113、高對(duì)FPGA的掌握能力,將FPGA運(yùn)用到其他方面的應(yīng)用上。另外,設(shè)計(jì)中最重要的就verilog語(yǔ)言的應(yīng)用,對(duì)Verilog語(yǔ)言的學(xué)習(xí)不僅是能讀懂別人的程序,更重要的是能寫(xiě)出條理清晰的程序。通過(guò)做多功能數(shù)字鐘,我發(fā)現(xiàn)自己對(duì)Verilog語(yǔ)言還不是很熟悉,編寫(xiě)程序也不夠熟練,在接下來(lái)的時(shí)間里我還要要加強(qiáng)verilog語(yǔ)言的學(xué)習(xí),多看一些語(yǔ)言方面的書(shū)籍。</p><p> 在做設(shè)計(jì)的過(guò)程中,我感覺(jué),這個(gè)項(xiàng)目最難的地方
114、在于將各個(gè)子模塊按照原理有機(jī)地結(jié)合起來(lái),這需要扎實(shí)的理論功底,。相比而言,子模塊的設(shè)計(jì)難度不是太大,因?yàn)閂erilog語(yǔ)言和C語(yǔ)言有很多相似之處,只要明白了實(shí)驗(yàn)原理,就不難完成,水平的高下只體現(xiàn)在程序的簡(jiǎn)潔與否。但是Verilog源程序的編寫(xiě)很容易出現(xiàn)錯(cuò)誤,有時(shí)候在沒(méi)注意的情況下就會(huì)出現(xiàn),這就需要耐心的調(diào)試。因?yàn)楹芏嗲闆r下,一長(zhǎng)串的錯(cuò)誤往往是由一個(gè)不經(jīng)意的小錯(cuò)誤引起的。當(dāng)程序?qū)艺{(diào)屢錯(cuò)的時(shí)候,可以去尋求同學(xué)的幫助,因?yàn)樽约壕帉?xiě)的程序往往自
115、己看不出問(wèn)題所在,說(shuō)不定他們不經(jīng)意的一句話(huà),就可能給我啟發(fā),使問(wèn)題迎刃而解。 </p><p> 這次項(xiàng)目設(shè)計(jì),給我感觸最深的還是行為態(tài)度問(wèn)題。人的能力有大有小,但只要端正態(tài)度,不拋棄,不放棄,任何人都能取得令自己滿(mǎn)意的成績(jī)。</p><p> 附件1: 大學(xué)本科畢業(yè)論文(設(shè)計(jì))工作程序</p><p> 注:1.提前或推延進(jìn)行畢業(yè)論文(設(shè)計(jì))的,各階
116、段要求相同,日程自定;</p><p> 2.畢業(yè)論文(設(shè)計(jì))工作三個(gè)階段時(shí)間安排,可根據(jù)各專(zhuān)業(yè)特點(diǎn)適當(dāng)調(diào)整。 </p><p> 附件2: 大學(xué)本科畢業(yè)論文(設(shè)計(jì))撰寫(xiě)規(guī)范</p><p> 一、畢業(yè)論文(設(shè)計(jì))文本結(jié)構(gòu)</p><p> 畢業(yè)論文
117、(設(shè)計(jì))主要由8個(gè)部分組成:①封面;②目錄;③題目;④中外文摘要;⑤正文;⑥參考文獻(xiàn);⑦謝辭;⑧附錄。</p><p> 二、畢業(yè)論文(設(shè)計(jì))各部分規(guī)范</p><p><b> 1. 封面</b></p><p> 封面按學(xué)校規(guī)定的格式填寫(xiě),包括論文(設(shè)計(jì))題目、作者姓名、指導(dǎo)教師姓名、學(xué)科專(zhuān)業(yè)等內(nèi)容。</p><p
118、><b> 2. 目錄</b></p><p> 目錄由畢業(yè)論文(設(shè)計(jì))各部分內(nèi)容的順序號(hào)、名稱(chēng)和頁(yè)碼組成,目次中的內(nèi)容一般列出二級(jí)標(biāo)題即可。目錄應(yīng)該用“…………”連接名稱(chēng)與頁(yè)碼。</p><p><b> 3. 題目</b></p><p> 論文(設(shè)計(jì))題目要恰當(dāng)、簡(jiǎn)明、凝練,能夠反映論文的主題及其內(nèi)容,
119、做到文、題貼切。題目中不使用非規(guī)范的縮略詞、符號(hào)、代號(hào)和公式,通常不采用問(wèn)話(huà)的方式。題目所使用的詞語(yǔ)應(yīng)當(dāng)考慮到有助于選擇關(guān)鍵詞和編制題錄、索引等。</p><p> 題目的中文字?jǐn)?shù)一般不超過(guò)20個(gè)字,外文題目不超過(guò)10個(gè)實(shí)詞,中外文標(biāo)題應(yīng)一致,居中編排格式。</p><p> 4. 中外文摘要及關(guān)鍵詞 摘要是對(duì)畢業(yè)論文(設(shè)計(jì))內(nèi)容不加注釋和評(píng)論的簡(jiǎn)短陳述。摘要主要是說(shuō)明研究工作的目
120、的、方法、結(jié)果和結(jié)論。摘要應(yīng)具有獨(dú)立性和自含性,即不閱讀全文,就能獲得畢業(yè)論文(設(shè)計(jì))必要的信息,使讀者確定有無(wú)必要閱讀全文。摘要中應(yīng)用第三人稱(chēng)的方法記述論文的性質(zhì)和主題,不使用“本文”、“作者”等作為主語(yǔ),應(yīng)采用“對(duì)…進(jìn)行了研究”、“報(bào)告了…現(xiàn)狀”、“進(jìn)行了…調(diào)查”等表達(dá)方式。排除在本學(xué)科領(lǐng)域已成為常識(shí)的內(nèi)容,不得重復(fù)題目中已有的信息。語(yǔ)句要合乎邏輯關(guān)系,盡量同正文的文體保持一致。結(jié)構(gòu)要嚴(yán)謹(jǐn),表達(dá)要簡(jiǎn)明,語(yǔ)義要確切,一般不再分段落。對(duì)
121、某些縮略語(yǔ)、簡(jiǎn)稱(chēng)、代號(hào)等,除了相鄰專(zhuān)業(yè)的讀者也能清楚理解的以外,在首次出現(xiàn)處必須加以說(shuō)明。摘要中通常不用圖表、化學(xué)結(jié)構(gòu)式以及非公知公用的符號(hào)和術(shù)語(yǔ)。</p><p> 畢業(yè)論文(設(shè)計(jì))的摘要包含中文摘要和外文摘要。中文摘要字?jǐn)?shù)約為200~300字,外文摘要約為200~300個(gè)實(shí)詞。</p><p> 關(guān)鍵詞(Keywords)是為了文獻(xiàn)標(biāo)引,從《漢語(yǔ)主題詞表》或論文中選取出來(lái),用以表示
122、全文主題內(nèi)容信息的詞語(yǔ)或術(shù)語(yǔ)。關(guān)鍵詞不宜用非通用的代號(hào)和分子式。</p><p> 關(guān)鍵詞一般為3~6個(gè)。關(guān)鍵詞的排序,通常應(yīng)按研究的對(duì)象、性質(zhì)(問(wèn)題)和采取的手段排序。中文關(guān)鍵詞兩詞之間應(yīng)留出一個(gè)漢字的空間,不加任何標(biāo)點(diǎn)符號(hào);外文關(guān)鍵詞之間用分號(hào)隔開(kāi)。</p><p><b> 5. 正文</b></p><p> 畢業(yè)論文(設(shè)計(jì))的正
123、文包括前言(引言)、正文、結(jié)論三個(gè)部分。外語(yǔ)類(lèi)專(zhuān)業(yè)畢業(yè)生必須用所學(xué)專(zhuān)業(yè)外語(yǔ)撰寫(xiě)。</p><p> 畢業(yè)論文(設(shè)計(jì))的篇幅一般6000字左右。</p><p><b> (1)前言(引言)</b></p><p> 前言(引言)主要說(shuō)明研究工作的目的、范圍,對(duì)前人的研究狀況進(jìn)行評(píng)述分析,闡明研究設(shè)想、研究方法、實(shí)驗(yàn)設(shè)計(jì)、預(yù)期結(jié)果、成果的意
124、義等。</p><p><b> (2)正文</b></p><p> 正文是對(duì)研究工作與研究?jī)?nèi)容的詳細(xì)表述,一般由標(biāo)題、文字、表格或公式等部分組成。該部分要運(yùn)用選定的研究方法分析問(wèn)題、論證觀點(diǎn),盡量反映出研究能力和學(xué)術(shù)水平。正文是畢業(yè)論文(設(shè)計(jì))的核心部分,占據(jù)主要篇幅。</p><p> 正文是論文的主體,要求觀點(diǎn)清晰、論點(diǎn)正確、論據(jù)
125、可靠、論證嚴(yán)密、層次清楚。</p><p> 正文中的圖表和計(jì)量單位要規(guī)范。圖須有序號(hào)、圖題、圖例、量和單位,圖序號(hào)須用阿拉伯?dāng)?shù)字,與圖題空 1 格,寫(xiě)在圖下方;表格采用 3線(xiàn)表,表頭線(xiàn)和表尾線(xiàn)為粗黑線(xiàn),表兩邊不要串寫(xiě)文字,表序號(hào)須用阿拉伯?dāng)?shù)字,與標(biāo)題空 1格,寫(xiě)在表上方;一律使用法定計(jì)量單位。</p><p><b> (3)結(jié)論</b></p>
126、<p> 結(jié)論是對(duì)整個(gè)研究工作進(jìn)行歸納和總結(jié)。結(jié)論應(yīng)當(dāng)準(zhǔn)確、完整、明確、精練。如不可能導(dǎo)出應(yīng)有的結(jié)論,也可以沒(méi)有結(jié)論而進(jìn)行必要的討論,闡述本課題研究中存在的問(wèn)題及進(jìn)一步開(kāi)展研究的建議。</p><p><b> 6. 謝辭(致謝)</b></p><p> 謝辭(致謝)是對(duì)給予各類(lèi)資助、指導(dǎo)和協(xié)助完成科研工作,以及提供各種條件的單位和個(gè)人表示的感謝。謝
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于fpga多功能數(shù)字鐘設(shè)計(jì)
- 基于fpga的多功能數(shù)字鐘課程設(shè)計(jì)
- 基于quartus的多功能數(shù)字鐘設(shè)計(jì)
- 多功能數(shù)字鐘論文設(shè)計(jì)
- 基于quartus的多功能數(shù)字鐘設(shè)計(jì)88
- 數(shù)字鐘課程設(shè)計(jì)---多功能數(shù)字鐘的設(shè)計(jì)與制作
- 基于fpga的數(shù)字鐘設(shè)計(jì)
- 數(shù)字鐘課程設(shè)計(jì)--多功能數(shù)字鐘的電路設(shè)計(jì)
- 基于fpga的數(shù)字鐘設(shè)計(jì)
- 多功能數(shù)字鐘課程設(shè)計(jì)
- 課程設(shè)計(jì)-- 多功能 數(shù)字鐘
- 多功能數(shù)字鐘畢業(yè)論文
- 多功能數(shù)字鐘設(shè)計(jì)[文獻(xiàn)綜述]
- 多功能數(shù)字鐘畢業(yè)設(shè)計(jì)
- 基于vhdl語(yǔ)言編寫(xiě)的多功能數(shù)字鐘論文
- 畢業(yè)論文——多功能數(shù)字鐘
- 畢業(yè)論文多功能數(shù)字鐘
- 多功能數(shù)字鐘的設(shè)計(jì)及制作
- 多功能數(shù)字鐘的設(shè)計(jì)及制作
- 數(shù)字邏輯課程設(shè)計(jì)---多功能數(shù)字鐘
評(píng)論
0/150
提交評(píng)論