

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目錄</b></p><p><b> 目錄0</b></p><p><b> 摘要1</b></p><p><b> 正文2</b></p><p> 1設(shè)計目的和要求2</p><p
2、><b> 2設(shè)計原理2</b></p><p><b> 3設(shè)計內(nèi)容3</b></p><p> ?。?)程序源代碼3</p><p> ?。?)調(diào)試分析過程描述9</p><p> ?。?)結(jié)果分析11</p><p><b> 總結(jié)與致謝
3、12</b></p><p><b> 參考文獻(xiàn)13</b></p><p><b> 附錄14</b></p><p><b> 摘要</b></p><p> EDA(Electronic Design Automation)電
4、子設(shè)計自動化,就是以大規(guī)??删幊唐骷樵O(shè)計載體,以硬件描述語言為系統(tǒng)邏輯描述的主要表達(dá)方式,通過相關(guān)的軟件,自動完成用軟件方式設(shè)計的電子系統(tǒng)到硬件系統(tǒng),最終形成集成電子系統(tǒng)或?qū)S眉尚酒1敬握n程設(shè)計利用Quartus II為設(shè)計軟件、Verilog HDL為硬件描述語言,結(jié)合所學(xué)的數(shù)字電路的知識設(shè)計一個24時電子秒表,具有正常時、分、秒計時,動態(tài)顯示,清零等功能。利用硬件描述語言Verilog HDL對設(shè)計系統(tǒng)的各個子模塊進行邏輯描述
5、,采用模塊化的設(shè)計思想完成頂層模塊的設(shè)計,通過軟件編譯、邏輯化簡、邏輯分割、邏輯綜合優(yōu)化、邏輯布線、邏輯仿真,最終將設(shè)計的軟件系統(tǒng)下載設(shè)計實驗系統(tǒng),對設(shè)計的系統(tǒng)進行硬件測試。</p><p> 關(guān)鍵詞:EDA;Quartus II;Verilog HDL;電子秒表正文</p><p><b> 1設(shè)計目的和要求</b></p><p>
6、(1)具有時、分、秒計數(shù)功能,以24h循環(huán)計時的電子鐘。</p><p> ?。?)計時結(jié)果要用6個數(shù)碼管分別顯示時、分、秒的十位和個位。</p><p> (3)具有清零的功能。</p><p> (4)熟練掌握分頻器的使用。</p><p> (5)熟練掌握各種計數(shù)器的使用,能用計數(shù)器構(gòu)成二十四進制、六十進制等所需進制的計數(shù)器。&l
7、t;/p><p><b> 2設(shè)計原理</b></p><p> 電子秒表以其顯示時間的直觀性、走時準(zhǔn)確性作為一種計時工具,電子秒表的基本組成部分離不開計數(shù)器,在控制邏輯電路的控制下完成預(yù)定的各項功能。電子秒表的基本原理方框圖如下圖所示:</p><p> 本數(shù)字系統(tǒng)實現(xiàn)電子秒表的基本的計時功能,輸入50MHz的時鐘,采用24小時制計時,能顯
8、示時、分、秒。本電子秒表實際上是一個對標(biāo)準(zhǔn)頻率(1Hz)進行計數(shù)的計數(shù)電路。由于計數(shù)的起始時間不可能與標(biāo)準(zhǔn)時間一致,故需要在電路上加一個校時電路,同時標(biāo)準(zhǔn)的50MHz時間信號必須做到準(zhǔn)確穩(wěn)定。通常使用石英晶體振蕩器電路構(gòu)成電子秒表。</p><p> 電子秒表的基本組成 本電子秒表的實現(xiàn)可分為以下幾個模塊: </p><p> (1) 秒計數(shù)模塊:秒計數(shù),在頻率為1Hz的時鐘下以6
9、0次為循環(huán)計數(shù),并產(chǎn)生進位信號影響分計數(shù); </p><p> (2) 分計數(shù)模塊:分計數(shù),在秒進位信號為高電平時,計數(shù)一次,同樣以60次為一個循環(huán)計數(shù),同時產(chǎn)生分進位信號影響時計數(shù); </p><p> (3) 時計數(shù)模塊:時計數(shù),在分進位信號為高電平時,計數(shù)一次,以24次為一個循環(huán)計數(shù); </p><p> (4) 頻率產(chǎn)生模塊:主要
10、有2個部分,一個是產(chǎn)生1Hz的計數(shù)頻率,一個是產(chǎn)生5KHz的數(shù)碼管動態(tài)掃描頻率; </p><p> (5) 時間顯示模塊:通過選中不同的數(shù)碼管,同時進行一定頻率的掃描顯示時、分、秒。</p><p> 一個基本的電子秒表電路主要由譯碼顯示器、“時”,“分”,“秒”計數(shù)器和定時器組成。干電路系統(tǒng)由秒信號發(fā)生器、“時”,“分”,“秒”計數(shù)器、譯碼器及顯示器、電路組成。本設(shè)計方案采
11、用CycloneⅡEP2C35F672C8試驗箱實現(xiàn),首先由晶振電路產(chǎn)生震蕩頻率50MHz的CLOCK脈沖,通過計數(shù)器計數(shù)分頻,形成兩個頻率的脈沖,其中CLK1脈沖用來動態(tài)掃描數(shù)碼管地址,CLK2脈沖用來秒計時。“秒計數(shù)器”采用六十進制計數(shù)器,每累計60秒向“分計數(shù)器”進位;“分計數(shù)器”采用六十進制計數(shù)器,每累計60分向“時計數(shù)器”進位;“時計數(shù)器”采用二十四進制計數(shù)器,按照“24翻1”規(guī)律計數(shù)。將時、分、秒的計數(shù)結(jié)果分別用兩個4位二進
12、制數(shù)字表示出來,經(jīng)譯碼器送8段數(shù)碼管上顯示。如遇到復(fù)位,時、分、秒計數(shù)器同時清零,采用同步清零方式。</p><p><b> 3設(shè)計內(nèi)容</b></p><p><b> 程序源代碼</b></p><p> module digital_clock(seg,scan,clk,reset);</p>
13、<p> input clk,reset;</p><p> output [7:0] seg,scan;</p><p> reg [7:0] seg,scan;</p><p> reg [2:0] cnt8;</p><p> reg [3:0] data;</p><p><b>
14、 reg clk1;</b></p><p><b> reg clk2;</b></p><p> reg [13:0] counter1;</p><p> reg [25:0] counter2;</p><p> reg [3:0] hh,hl,mh,ml,sh,sl;</p>
15、<p> reg [5:0] hour,min,sec;</p><p> always @(posedge clk)</p><p><b> begin </b></p><p> if (counter1=='d10000) </p><p> begin clk1<=~clk
16、1;counter1<=0;end</p><p><b> else</b></p><p> begin counter1<=counter1+1;end</p><p><b> end</b></p><p> always @(posedge clk1)</p&g
17、t;<p><b> begin</b></p><p> if (cnt8=='d5) cnt8<='d0;</p><p> else cnt8<=cnt8+1;</p><p><b> end</b></p><p> always @(p
18、osedge clk)</p><p><b> begin </b></p><p> if (counter2=='d50000000) </p><p> begin clk2<=~clk2;counter2<=0;end</p><p><b> else</b>
19、;</p><p> begin counter2<=counter2+1;end</p><p><b> end</b></p><p> always @(posedge clk2)</p><p><b> begin</b></p><p> if
20、(sec==8'd59)</p><p> begin sec<='d0;</p><p> if (min==8'd59)</p><p> begin min<='d0;</p><p> if (hour==8'd23)</p><p> begin
21、hour<=8'd0;end</p><p><b> else</b></p><p> begin hour<=hour+1;end</p><p><b> end</b></p><p><b> else</b></p>&l
22、t;p> begin min<=min+1;end</p><p><b> end</b></p><p><b> else </b></p><p> begin sec<=sec+1;end</p><p> if (!reset)</p><
23、p> begin sec[5:0]<='d0;</p><p> min[5:0]<='d0;</p><p> hour[5:0]<='d0; </p><p><b> end</b></p><p><b> end </b&
24、gt;</p><p> always @(sec)</p><p><b> begin</b></p><p><b> case(sec)</b></p><p> 5'd0:begin sh[3:0]<='b0000;sl[3:0]<='b0000
25、;end</p><p> 5'd1:begin sh[3:0]<='b0000;sl[3:0]<='b0001;end</p><p> 5'd2:begin sh[3:0]<='b0000;sl[3:0]<='b0010;end</p><p> 5'd3:begin sh[3
26、:0]<='b0000;sl[3:0]<='b0011;end</p><p> 5'd4:begin sh[3:0]<='b0000;sl[3:0]<='b0100;end</p><p> 5'd5:begin sh[3:0]<='b0000;sl[3:0]<='b0101;end&
27、lt;/p><p> 5'd6:begin sh[3:0]<='b0000;sl[3:0]<='b0110;end</p><p> 5'd7:begin sh[3:0]<='b0000;sl[3:0]<='b0111;end</p><p> 5'd8:begin sh[3:0]&l
28、t;='b0000;sl[3:0]<='b1000;end</p><p> 5'd9:begin sh[3:0]<='b0000;sl[3:0]<='b1001;end</p><p> 5'd10:begin sh[3:0]<='b0001;sl[3:0]<='b0000;end</
29、p><p> 5'd11:begin sh[3:0]<='b0001;sl[3:0]<='b0001;end</p><p> 5'd12:begin sh[3:0]<='b0001;sl[3:0]<='b0010;end</p><p> 5'd13:begin sh[3:0]<
30、;='b0001;sl[3:0]<='b0011;end</p><p> 5'd14:begin sh[3:0]<='b0001;sl[3:0]<='b0100;end</p><p> 5'd15:begin sh[3:0]<='b0001;sl[3:0]<='b0101;end</
31、p><p> 5'd16:begin sh[3:0]<='b0001;sl[3:0]<='b0110;end</p><p> 5'd17:begin sh[3:0]<='b0001;sl[3:0]<='b0111;end</p><p> 5'd18:begin sh[3:0]<
32、;='b0001;sl[3:0]<='b1000;end</p><p> 5'd19:begin sh[3:0]<='b0001;sl[3:0]<='b1001;end</p><p> 5'd20:begin sh[3:0]<='b0010;sl[3:0]<='b0000;end</
33、p><p> 5'd21:begin sh[3:0]<='b0010;sl[3:0]<='b0001;end</p><p> 5'd22:begin sh[3:0]<='b0010;sl[3:0]<='b0010;end</p><p> 5'd23:begin sh[3:0]<
34、;='b0010;sl[3:0]<='b0011;end</p><p> 5'd24:begin sh[3:0]<='b0010;sl[3:0]<='b0100;end</p><p> 5'd25:begin sh[3:0]<='b0010;sl[3:0]<='b0101;end</
35、p><p> 5'd26:begin sh[3:0]<='b0010;sl[3:0]<='b0110;end</p><p> 5'd27:begin sh[3:0]<='b0010;sl[3:0]<='b0111;end</p><p> 5'd28:begin sh[3:0]<
36、;='b0010;sl[3:0]<='b1000;end</p><p> 5'd29:begin sh[3:0]<='b0010;sl[3:0]<='b1001;end</p><p> 5'd30:begin sh[3:0]<='b0011;sl[3:0]<='b0000;end</
37、p><p> 5'd31:begin sh[3:0]<='b0011;sl[3:0]<='b0001;end</p><p> 5'd32:begin sh[3:0]<='b0011;sl[3:0]<='b0010;end</p><p> 5'd33:begin sh[3:0]<
38、;='b0011;sl[3:0]<='b0011;end</p><p> 5'd34:begin sh[3:0]<='b0011;sl[3:0]<='b0100;end</p><p> 5'd35:begin sh[3:0]<='b0011;sl[3:0]<='b0101;end</
39、p><p> 5'd36:begin sh[3:0]<='b0011;sl[3:0]<='b0110;end</p><p> 5'd37:begin sh[3:0]<='b0011;sl[3:0]<='b0111;end</p><p> 5'd38:begin sh[3:0]<
40、;='b0011;sl[3:0]<='b1000;end</p><p> 5'd39:begin sh[3:0]<='b0011;sl[3:0]<='b1001;end</p><p> 5'd40:begin sh[3:0]<='b0100;sl[3:0]<='b0000;end</
41、p><p> 5'd41:begin sh[3:0]<='b0100;sl[3:0]<='b0001;end</p><p> 5'd42:begin sh[3:0]<='b0100;sl[3:0]<='b0010;end</p><p> 5'd43:begin sh[3:0]<
42、;='b0100;sl[3:0]<='b0011;end</p><p> 5'd44:begin sh[3:0]<='b0100;sl[3:0]<='b0100;end</p><p> 5'd45:begin sh[3:0]<='b0100;sl[3:0]<='b0101;end</
43、p><p> 5'd46:begin sh[3:0]<='b0100;sl[3:0]<='b0110;end</p><p> 5'd47:begin sh[3:0]<='b0100;sl[3:0]<='b0111;end</p><p> 5'd48:begin sh[3:0]<
44、;='b0100;sl[3:0]<='b1000;end</p><p> 5'd49:begin sh[3:0]<='b0100;sl[3:0]<='b1001;end</p><p> 5'd50:begin sh[3:0]<='b0101;sl[3:0]<='b0000;end</
45、p><p> 5'd51:begin sh[3:0]<='b0101;sl[3:0]<='b0001;end</p><p> 5'd52:begin sh[3:0]<='b0101;sl[3:0]<='b0010;end</p><p> 5'd53:begin sh[3:0]<
46、;='b0101;sl[3:0]<='b0011;end</p><p> 5'd54:begin sh[3:0]<='b0101;sl[3:0]<='b0100;end</p><p> 5'd55:begin sh[3:0]<='b0101;sl[3:0]<='b0101;end</
47、p><p> 5'd56:begin sh[3:0]<='b0101;sl[3:0]<='b0110;end</p><p> 5'd57:begin sh[3:0]<='b0101;sl[3:0]<='b0111;end</p><p> 5'd58:begin sh[3:0]<
48、;='b0101;sl[3:0]<='b1000;end</p><p> 5'd59:begin sh[3:0]<='b0101;sl[3:0]<='b1001;end</p><p> default:begin sh[3:0]<='bx;sl[3:0]<='bx;end</p>&
49、lt;p><b> endcase</b></p><p><b> end</b></p><p> always @(min)</p><p><b> begin</b></p><p> case(min) </p><p>
50、5'd0:begin mh[3:0]<='b0000;ml[3:0]<='b0000;end</p><p> 5'd1:begin mh[3:0]<='b0000;ml[3:0]<='b0001;end</p><p> 5'd2:begin mh[3:0]<='b0000;ml[3:0]&
51、lt;='b0010;end</p><p> 5'd3:begin mh[3:0]<='b0000;ml[3:0]<='b0011;end</p><p> 5'd4:begin mh[3:0]<='b0000;ml[3:0]<='b0100;end</p><p> 5'
52、;d5:begin mh[3:0]<='b0000;ml[3:0]<='b0101;end</p><p> 5'd6:begin mh[3:0]<='b0000;ml[3:0]<='b0110;end</p><p> 5'd7:begin mh[3:0]<='b0000;ml[3:0]<=&
53、#39;b0111;end</p><p> 5'd8:begin mh[3:0]<='b0000;ml[3:0]<='b1000;end</p><p> 5'd9:begin mh[3:0]<='b0000;ml[3:0]<='b1001;end</p><p> 5'd10:
54、begin mh[3:0]<='b0001;ml[3:0]<='b0000;end</p><p> 5'd11:begin mh[3:0]<='b0001;ml[3:0]<='b0001;end</p><p> 5'd12:begin mh[3:0]<='b0001;ml[3:0]<=
55、9;b0010;end</p><p> 5'd13:begin mh[3:0]<='b0001;ml[3:0]<='b0011;end</p><p> 5'd14:begin mh[3:0]<='b0001;ml[3:0]<='b0100;end</p><p> 5'd15:
56、begin mh[3:0]<='b0001;ml[3:0]<='b0101;end</p><p> 5'd16:begin mh[3:0]<='b0001;ml[3:0]<='b0110;end</p><p> 5'd17:begin mh[3:0]<='b0001;ml[3:0]<=
57、9;b0111;end</p><p> 5'd18:begin mh[3:0]<='b0001;ml[3:0]<='b1000;end</p><p> 5'd19:begin mh[3:0]<='b0001;ml[3:0]<='b1001;end</p><p> 5'd20:
58、begin mh[3:0]<='b0010;ml[3:0]<='b0000;end</p><p> 5'd21:begin mh[3:0]<='b0010;ml[3:0]<='b0001;end</p><p> 5'd22:begin mh[3:0]<='b0010;ml[3:0]<=
59、9;b0010;end</p><p> 5'd23:begin mh[3:0]<='b0010;ml[3:0]<='b0011;end</p><p> 5'd24:begin mh[3:0]<='b0010;ml[3:0]<='b0100;end</p><p> 5'd25:
60、begin mh[3:0]<='b0010;ml[3:0]<='b0101;end</p><p> 5'd26:begin mh[3:0]<='b0010;ml[3:0]<='b0110;end</p><p> 5'd27:begin mh[3:0]<='b0010;ml[3:0]<=
61、9;b0111;end</p><p> 5'd28:begin mh[3:0]<='b0010;ml[3:0]<='b1000;end</p><p> 5'd29:begin mh[3:0]<='b0010;ml[3:0]<='b1001;end</p><p> 5'd30:
62、begin mh[3:0]<='b0011;ml[3:0]<='b0000;end</p><p> 5'd31:begin mh[3:0]<='b0011;ml[3:0]<='b0001;end</p><p> 5'd32:begin mh[3:0]<='b0011;ml[3:0]<=
63、9;b0010;end</p><p> 5'd33:begin mh[3:0]<='b0011;ml[3:0]<='b0011;end</p><p> 5'd34:begin mh[3:0]<='b0011;ml[3:0]<='b0100;end</p><p> 5'd35:
64、begin mh[3:0]<='b0011;ml[3:0]<='b0101;end</p><p> 5'd36:begin mh[3:0]<='b0011;ml[3:0]<='b0110;end</p><p> 5'd37:begin mh[3:0]<='b0011;ml[3:0]<=
65、9;b0111;end</p><p> 5'd38:begin mh[3:0]<='b0011;ml[3:0]<='b1000;end</p><p> 5'd39:begin mh[3:0]<='b0011;ml[3:0]<='b1001;end</p><p> 5'd40:
66、begin mh[3:0]<='b0100;ml[3:0]<='b0000;end</p><p> 5'd41:begin mh[3:0]<='b0100;ml[3:0]<='b0001;end</p><p> 5'd42:begin mh[3:0]<='b0100;ml[3:0]<=
67、9;b0010;end</p><p> 5'd43:begin mh[3:0]<='b0100;ml[3:0]<='b0011;end</p><p> 5'd44:begin mh[3:0]<='b0100;ml[3:0]<='b0100;end</p><p> 5'd45:
68、begin mh[3:0]<='b0100;ml[3:0]<='b0101;end</p><p> 5'd46:begin mh[3:0]<='b0100;ml[3:0]<='b0110;end</p><p> 5'd47:begin mh[3:0]<='b0100;ml[3:0]<=
69、9;b0111;end</p><p> 5'd48:begin mh[3:0]<='b0100;ml[3:0]<='b1000;end</p><p> 5'd49:begin mh[3:0]<='b0100;ml[3:0]<='b1001;end</p><p> 5'd50:
70、begin mh[3:0]<='b0101;ml[3:0]<='b0000;end</p><p> 5'd51:begin mh[3:0]<='b0101;ml[3:0]<='b0001;end</p><p> 5'd52:begin mh[3:0]<='b0101;ml[3:0]<=
71、9;b0010;end</p><p> 5'd53:begin mh[3:0]<='b0101;ml[3:0]<='b0011;end</p><p> 5'd54:begin mh[3:0]<='b0101;ml[3:0]<='b0100;end</p><p> 5'd55:
72、begin mh[3:0]<='b0101;ml[3:0]<='b0101;end</p><p> 5'd56:begin mh[3:0]<='b0101;ml[3:0]<='b0110;end</p><p> 5'd57:begin mh[3:0]<='b0101;ml[3:0]<=
73、9;b0111;end</p><p> 5'd58:begin mh[3:0]<='b0101;ml[3:0]<='b1000;end</p><p> 5'd59:begin mh[3:0]<='b0101;ml[3:0]<='b1001;end</p><p> default:be
74、gin mh[3:0]<='bx;ml[3:0]<='bx;end</p><p><b> endcase</b></p><p><b> end</b></p><p> always @(hour)</p><p><b> begin</
75、b></p><p> case(hour)</p><p> 5'd0:begin hh[3:0]<='b0000;hl[3:0]<='b0000;end</p><p> 5'd1:begin hh[3:0]<='b0000;hl[3:0]<='b0001;end</p&g
76、t;<p> 5'd2:begin hh[3:0]<='b0000;hl[3:0]<='b0010;end</p><p> 5'd3:begin hh[3:0]<='b0000;hl[3:0]<='b0011;end</p><p> 5'd4:begin hh[3:0]<='
77、;b0000;hl[3:0]<='b0100;end</p><p> 5'd5:begin hh[3:0]<='b0000;hl[3:0]<='b0101;end</p><p> 5'd6:begin hh[3:0]<='b0000;hl[3:0]<='b0110;end</p>&
78、lt;p> 5'd7:begin hh[3:0]<='b0000;hl[3:0]<='b0111;end</p><p> 5'd8:begin hh[3:0]<='b0000;hl[3:0]<='b1000;end</p><p> 5'd9:begin hh[3:0]<='b000
79、0;hl[3:0]<='b1001;end</p><p> 5'd10:begin hh[3:0]<='b0001;hl[3:0]<='b0000;end</p><p> 5'd11:begin hh[3:0]<='b0001;hl[3:0]<='b0001;end</p><
80、p> 5'd12:begin hh[3:0]<='b0001;hl[3:0]<='b0010;end</p><p> 5'd13:begin hh[3:0]<='b0001;hl[3:0]<='b0011;end</p><p> 5'd14:begin hh[3:0]<='b000
81、1;hl[3:0]<='b0100;end</p><p> 5'd15:begin hh[3:0]<='b0001;hl[3:0]<='b0101;end</p><p> 5'd16:begin hh[3:0]<='b0001;hl[3:0]<='b0110;end</p><
82、p> 5'd17:begin hh[3:0]<='b0001;hl[3:0]<='b0111;end</p><p> 5'd18:begin hh[3:0]<='b0001;hl[3:0]<='b1000;end</p><p> 5'd19:begin hh[3:0]<='b000
83、1;hl[3:0]<='b1001;end</p><p> 5'd20:begin hh[3:0]<='b0010;hl[3:0]<='b0000;end</p><p> 5'd21:begin hh[3:0]<='b0010;hl[3:0]<='b0001;end</p><
84、p> 5'd22:begin hh[3:0]<='b0010;hl[3:0]<='b0010;end</p><p> 5'd23:begin hh[3:0]<='b0010;hl[3:0]<='b0011;end</p><p> default:begin hh[3:0]<='bx;hl[
85、3:0]<='bx;end</p><p><b> endcase</b></p><p><b> end</b></p><p><b> always</b></p><p><b> begin</b></p>
86、<p> case(cnt8)</p><p> 'b000:begin scan<='b01111111;data [3:0]<=sl[3:0];end</p><p> 'b001:begin scan<='b10111111;data [3:0]<=sh[3:0];end</p><p>
87、; 'b010:begin scan<='b11011111;data [3:0]<=ml[3:0];end</p><p> 'b011:begin scan<='b11101111;data [3:0]<=mh[3:0];end</p><p> 'b100:begin scan<='b11110111
88、;data [3:0]<=hl[3:0];end</p><p> 'b101:begin scan<='b11111011;data [3:0]<=hh[3:0];end</p><p> default:begin scan<='bx;data [3:0]<='bx;end</p><p><
89、;b> endcase</b></p><p> case(data [3:0])</p><p> 0:seg=8'b11000000;</p><p> 1:seg=8'b11111001;</p><p> 2:seg=8'b10100100;</p><p>
90、 3:seg=8'b10110000;</p><p> 4:seg=8'b10011001;</p><p> 5:seg=8'b10010010;</p><p> 6:seg=8'b10000010;</p><p> 7:seg=8'b11111000;</p><
91、p> 8:seg=8'b10000000;</p><p> 9:seg=8'b10010000;</p><p> default:seg=8'b11111111;</p><p><b> endcase</b></p><p><b> end</b>&
92、lt;/p><p><b> endmodule</b></p><p> ?。?)調(diào)試分析過程描述</p><p> ?、僬S嫈?shù)的功能仿真結(jié)果</p><p> ?、谡S嫈?shù)的時序仿真結(jié)果</p><p> ?、塾嫈?shù)復(fù)位功能仿真結(jié)果</p><p><b>
93、(3)結(jié)果分析</b></p><p> 當(dāng)正常計數(shù)是,觀察波形可知,當(dāng)秒計數(shù)sec計到59后,分計數(shù)min加1。小時計數(shù)hour與分計數(shù)類似,均滿足正常計數(shù)邏輯功能。</p><p> 當(dāng)復(fù)位信號reset置0后,且計時脈沖CLK2下降沿到來時,觀察波形可知,hour、min、sec均同步置0。</p><p><b> 總結(jié)與致謝&l
94、t;/b></p><p> 這次EDA課程設(shè)計歷時一個星期,在整整一個星期的日子里,不僅鞏固了以前所學(xué)過的知識,而且學(xué)到了很多書本上學(xué)不到的知識,同時鍛煉了自己的能力,使自己對以后的路有了更加清楚的認(rèn)識,對未來有了更多的信心。這次課程設(shè)計,進一步加深了我對EDA的了解,使我對QuartusII的基本操作有所了解,使我對應(yīng)用軟件的方法設(shè)計硬件系統(tǒng)有了更加濃厚的興趣。 </p>&l
95、t;p> 通過這次課程設(shè)計,我懂得了理論與實際相結(jié)合的重要性,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合,從實踐中得出結(jié)論,才能真正提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中,我遇到許多問題,畢竟是第一次應(yīng)用VHDL進行硬件電路系統(tǒng)的設(shè)計,許多EDA的知識還沒有充分的掌握,遇到困難也是在所難免的,同時發(fā)現(xiàn)了自己的不足之處:學(xué)習(xí)知識表面化,沒有深入了解它們的原理。</p><p>
96、; 經(jīng)過快一個星期的緊張工作,我終于完成了我的設(shè)計任務(wù)——電子秒表設(shè)計。在這次課程設(shè)計中特別感謝楊紅娟老師對我的指導(dǎo),正是由于她的督促和耐心指導(dǎo),我才可以順利完成這次的設(shè)計,鍛煉了動手能力。參考文獻(xiàn)</p><p> [1] 黃仁欣.EDA技術(shù)實用教程.北京:清華大學(xué)出版社,2006</p><p> [2] 潘松,黃繼業(yè).EDA技術(shù)與VHDL.北京:清華大學(xué)出版社,2009<
97、/p><p> [3] 江國強編著.EDA技術(shù)與應(yīng)用(第三版)..北京:電子工業(yè)出版社,2010</p><p> [4] 夏宇聞編著.Verilog HDL數(shù)字系統(tǒng)設(shè)計教程..北京:北京航空航天大學(xué)出版社,2008</p><p> [5] 周祖成,程曉軍,馬卓釗編著.?dāng)?shù)字電路與系統(tǒng)教學(xué)實驗教程.北京:科學(xué)出版社,2010</p><p>
98、; [6] 周潤景,蘇良碧.基于Quartus II 的數(shù)字系統(tǒng)Verilog HDL設(shè)計實例詳解.北京:電子工業(yè)出版社,2010</p><p> [7] (美國)Sanir Palnitkar 譯者:夏宇聞 胡燕祥 刁嵐松.Verilog HDL數(shù)字設(shè)計與綜合(第2版).北京:電子工業(yè)出版社,2009</p><p> [8] 云創(chuàng)工作室.Verilog HDL程序設(shè)計與實踐.北
99、京:人民郵電出版社,2009</p><p> [9] 劉福奇,劉波.Verilog HDL應(yīng)用程序設(shè)計實例精講.北京:電子工業(yè)出版社,2009</p><p> [10] 張延偉,楊金巖,葛愛學(xué).verilog hdl程序設(shè)計實例詳解.北京:人民郵電出版社,2008</p><p><b> 附錄 程序源代碼</b></p>
100、<p> module digital_clock(seg,scan,clk,reset);</p><p> input clk,reset;</p><p> output [7:0] seg,scan;</p><p> reg [7:0] seg,scan;</p><p> reg [2:0] cnt8;&l
101、t;/p><p> reg [3:0] data;</p><p><b> reg clk1;</b></p><p><b> reg clk2;</b></p><p> reg [13:0] counter1;</p><p> reg [25:0] count
102、er2;</p><p> reg [3:0] hh,hl,mh,ml,sh,sl;</p><p> reg [5:0] hour,min,sec;</p><p> always @(posedge clk)</p><p><b> begin </b></p><p> if
103、(counter1=='d10000) </p><p> begin clk1<=~clk1;counter1<=0;end</p><p><b> else</b></p><p> begin counter1<=counter1+1;end</p><p><b>
104、end</b></p><p> always @(posedge clk1)</p><p><b> begin</b></p><p> if (cnt8=='d5) cnt8<='d0;</p><p> else cnt8<=cnt8+1;</p>
105、<p><b> end</b></p><p> always @(posedge clk)</p><p><b> begin </b></p><p> if (counter2=='d50000000) </p><p> begin clk2<=~cl
106、k2;counter2<=0;end</p><p><b> else</b></p><p> begin counter2<=counter2+1;end</p><p><b> end</b></p><p> always @(posedge clk2)</p&
107、gt;<p><b> begin</b></p><p> if (sec==8'd59)</p><p> begin sec<='d0;</p><p> if (min==8'd59)</p><p> begin min<='d0;</p
108、><p> if (hour==8'd23)</p><p> begin hour<=8'd0;end</p><p><b> else</b></p><p> begin hour<=hour+1;end</p><p><b> end<
109、/b></p><p><b> else</b></p><p> begin min<=min+1;end</p><p><b> end</b></p><p><b> else </b></p><p> begin s
110、ec<=sec+1;end</p><p> if (!reset)</p><p> begin sec[5:0]<='d0;</p><p> min[5:0]<='d0;</p><p> hour[5:0]<='d0; </p><p>&
111、lt;b> end</b></p><p><b> end </b></p><p> always @(sec)</p><p><b> begin</b></p><p><b> case(sec)</b></p><p
112、> 5'd0:begin sh[3:0]<='b0000;sl[3:0]<='b0000;end</p><p> 5'd1:begin sh[3:0]<='b0000;sl[3:0]<='b0001;end</p><p> 5'd2:begin sh[3:0]<='b0000;sl
113、[3:0]<='b0010;end</p><p> 5'd3:begin sh[3:0]<='b0000;sl[3:0]<='b0011;end</p><p> 5'd4:begin sh[3:0]<='b0000;sl[3:0]<='b0100;end</p><p>
114、 5'd5:begin sh[3:0]<='b0000;sl[3:0]<='b0101;end</p><p> 5'd6:begin sh[3:0]<='b0000;sl[3:0]<='b0110;end</p><p> 5'd7:begin sh[3:0]<='b0000;sl[3:0]
115、<='b0111;end</p><p> 5'd8:begin sh[3:0]<='b0000;sl[3:0]<='b1000;end</p><p> 5'd9:begin sh[3:0]<='b0000;sl[3:0]<='b1001;end</p><p> 5
116、9;d10:begin sh[3:0]<='b0001;sl[3:0]<='b0000;end</p><p> 5'd11:begin sh[3:0]<='b0001;sl[3:0]<='b0001;end</p><p> 5'd12:begin sh[3:0]<='b0001;sl[3:0]&l
117、t;='b0010;end</p><p> 5'd13:begin sh[3:0]<='b0001;sl[3:0]<='b0011;end</p><p> 5'd14:begin sh[3:0]<='b0001;sl[3:0]<='b0100;end</p><p> 5
118、9;d15:begin sh[3:0]<='b0001;sl[3:0]<='b0101;end</p><p> 5'd16:begin sh[3:0]<='b0001;sl[3:0]<='b0110;end</p><p> 5'd17:begin sh[3:0]<='b0001;sl[3:0]&l
119、t;='b0111;end</p><p> 5'd18:begin sh[3:0]<='b0001;sl[3:0]<='b1000;end</p><p> 5'd19:begin sh[3:0]<='b0001;sl[3:0]<='b1001;end</p><p> 5
120、9;d20:begin sh[3:0]<='b0010;sl[3:0]<='b0000;end</p><p> 5'd21:begin sh[3:0]<='b0010;sl[3:0]<='b0001;end</p><p> 5'd22:begin sh[3:0]<='b0010;sl[3:0]&l
121、t;='b0010;end</p><p> 5'd23:begin sh[3:0]<='b0010;sl[3:0]<='b0011;end</p><p> 5'd24:begin sh[3:0]<='b0010;sl[3:0]<='b0100;end</p><p> 5
122、9;d25:begin sh[3:0]<='b0010;sl[3:0]<='b0101;end</p><p> 5'd26:begin sh[3:0]<='b0010;sl[3:0]<='b0110;end</p><p> 5'd27:begin sh[3:0]<='b0010;sl[3:0]&l
123、t;='b0111;end</p><p> 5'd28:begin sh[3:0]<='b0010;sl[3:0]<='b1000;end</p><p> 5'd29:begin sh[3:0]<='b0010;sl[3:0]<='b1001;end</p><p> 5
124、9;d30:begin sh[3:0]<='b0011;sl[3:0]<='b0000;end</p><p> 5'd31:begin sh[3:0]<='b0011;sl[3:0]<='b0001;end</p><p> 5'd32:begin sh[3:0]<='b0011;sl[3:0]&l
125、t;='b0010;end</p><p> 5'd33:begin sh[3:0]<='b0011;sl[3:0]<='b0011;end</p><p> 5'd34:begin sh[3:0]<='b0011;sl[3:0]<='b0100;end</p><p> 5
126、9;d35:begin sh[3:0]<='b0011;sl[3:0]<='b0101;end</p><p> 5'd36:begin sh[3:0]<='b0011;sl[3:0]<='b0110;end</p><p> 5'd37:begin sh[3:0]<='b0011;sl[3:0]&l
127、t;='b0111;end</p><p> 5'd38:begin sh[3:0]<='b0011;sl[3:0]<='b1000;end</p><p> 5'd39:begin sh[3:0]<='b0011;sl[3:0]<='b1001;end</p><p> 5
128、9;d40:begin sh[3:0]<='b0100;sl[3:0]<='b0000;end</p><p> 5'd41:begin sh[3:0]<='b0100;sl[3:0]<='b0001;end</p><p> 5'd42:begin sh[3:0]<='b0100;sl[3:0]&l
129、t;='b0010;end</p><p> 5'd43:begin sh[3:0]<='b0100;sl[3:0]<='b0011;end</p><p> 5'd44:begin sh[3:0]<='b0100;sl[3:0]<='b0100;end</p><p> 5
130、9;d45:begin sh[3:0]<='b0100;sl[3:0]<='b0101;end</p><p> 5'd46:begin sh[3:0]<='b0100;sl[3:0]<='b0110;end</p><p> 5'd47:begin sh[3:0]<='b0100;sl[3:0]&l
131、t;='b0111;end</p><p> 5'd48:begin sh[3:0]<='b0100;sl[3:0]<='b1000;end</p><p> 5'd49:begin sh[3:0]<='b0100;sl[3:0]<='b1001;end</p><p> 5
132、9;d50:begin sh[3:0]<='b0101;sl[3:0]<='b0000;end</p><p> 5'd51:begin sh[3:0]<='b0101;sl[3:0]<='b0001;end</p><p> 5'd52:begin sh[3:0]<='b0101;sl[3:0]&l
133、t;='b0010;end</p><p> 5'd53:begin sh[3:0]<='b0101;sl[3:0]<='b0011;end</p><p> 5'd54:begin sh[3:0]<='b0101;sl[3:0]<='b0100;end</p><p> 5
134、9;d55:begin sh[3:0]<='b0101;sl[3:0]<='b0101;end</p><p> 5'd56:begin sh[3:0]<='b0101;sl[3:0]<='b0110;end</p><p> 5'd57:begin sh[3:0]<='b0101;sl[3:0]&l
135、t;='b0111;end</p><p> 5'd58:begin sh[3:0]<='b0101;sl[3:0]<='b1000;end</p><p> 5'd59:begin sh[3:0]<='b0101;sl[3:0]<='b1001;end</p><p> defa
136、ult:begin sh[3:0]<='bx;sl[3:0]<='bx;end</p><p><b> endcase</b></p><p><b> end</b></p><p> always @(min)</p><p><b> begin
137、</b></p><p> case(min) </p><p> 5'd0:begin mh[3:0]<='b0000;ml[3:0]<='b0000;end</p><p> 5'd1:begin mh[3:0]<='b0000;ml[3:0]<='b0001;end<
138、;/p><p> 5'd2:begin mh[3:0]<='b0000;ml[3:0]<='b0010;end</p><p> 5'd3:begin mh[3:0]<='b0000;ml[3:0]<='b0011;end</p><p> 5'd4:begin mh[3:0]<
139、='b0000;ml[3:0]<='b0100;end</p><p> 5'd5:begin mh[3:0]<='b0000;ml[3:0]<='b0101;end</p><p> 5'd6:begin mh[3:0]<='b0000;ml[3:0]<='b0110;end</p&g
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設(shè)計說明書——電子秒表
- 數(shù)字秒表課程設(shè)計說明書
- 單片機課程設(shè)計電子秒表設(shè)計說明書
- 單片機課程設(shè)計--電子秒表設(shè)計說明書
- 《數(shù)學(xué)電子技術(shù)基礎(chǔ)》課程設(shè)計說明書--數(shù)字秒表
- 電子鐘課程設(shè)計說明書
- 基于單片機電子秒表系統(tǒng)設(shè)計課程設(shè)計說明
- 電子秒表 課程設(shè)計
- 電子秒表課程設(shè)計
- 電子秒表課程設(shè)計
- 電子秒表課程設(shè)計
- 電子秒表課程設(shè)計
- 電子秒表課程設(shè)計
- 數(shù)字式秒表-《單片機技術(shù)》課程設(shè)計說明書
- 數(shù)字電子課程設(shè)計---電子秒表
- 電力電子課程設(shè)計---電子秒表
- 課程設(shè)計說明書
- 電子秒表課程設(shè)計報告
- 電子秒表課程設(shè)計報告
- 課程設(shè)計說明書
評論
0/150
提交評論