2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  實(shí)驗(yàn)報(bào)告</b></p><p><b>  多功能數(shù)字鐘設(shè)計(jì)</b></p><p>  姓名 </p><p><b>  學(xué)號(hào) </b></p><p><b>  班級(jí) </b><

2、;/p><p><b>  一、實(shí)驗(yàn)?zāi)繕?biāo):</b></p><p>  1、掌握可編程邏輯器件的應(yīng)用開發(fā)技術(shù)——設(shè)計(jì)輸入、編譯、仿真和器件編程;</p><p>  2、熟悉EDA軟件使用;</p><p>  3、掌握Verilog HDL設(shè)計(jì)方法; </p><p>  4、分模塊、分層次數(shù)字系統(tǒng)

3、設(shè)計(jì)</p><p><b>  二、實(shí)驗(yàn)任務(wù)及要求</b></p><p><b>  1、基本功能</b></p><p>  準(zhǔn)確計(jì)時(shí),以數(shù)字形式(十二進(jìn)制)顯示時(shí)、分、秒的時(shí)間</p><p>  校正時(shí)間:時(shí)、分 快校與慢校(1Hz與手動(dòng))</p><p>  復(fù)位

4、:00:00:00</p><p>  仿廣播電臺(tái)正點(diǎn)報(bào)時(shí) (四高一低)</p><p><b>  2、擴(kuò)展功能: </b></p><p><b> ?。?)任意鬧鐘;</b></p><p> ?。?)小時(shí)為12/24進(jìn)制可切換</p><p> ?。?)報(bào)正點(diǎn)數(shù)(幾點(diǎn)

5、響幾聲)</p><p><b>  三、實(shí)驗(yàn)條件:</b></p><p>  DE0 實(shí)驗(yàn)板結(jié)構(gòu)與使用方法 </p><p>  quartus軟件的使用 </p><p><b>  FPGA的使用</b></p><p><b>  四、電路設(shè)計(jì)過程:&l

6、t;/b></p><p><b>  1、需求分析</b></p><p>  開發(fā)背景:數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì).時(shí),分,秒.數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,車站, 碼頭辦公室等公共場(chǎng)所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便

7、,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)起閉路燈、定時(shí)開關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。</p><p><b>  2、 實(shí)驗(yàn)原理:</b></p><p>  用層次化設(shè)計(jì)的方法以Verilog語言

8、編程實(shí)現(xiàn)以下功能:</p><p> ?。?)、具有“時(shí)”、“分”、“秒”計(jì)時(shí)功能;時(shí)為24進(jìn)制,分和秒都為60進(jìn)制。</p><p> ?。?)、具有校時(shí)和清零功能,能夠用4Hz脈沖對(duì)“小時(shí)”和“分”進(jìn)行調(diào)整,并可進(jìn)行秒清零;實(shí)際電路中使用快校時(shí)。</p><p> ?。?)、具有整點(diǎn)報(bào)時(shí)功能。在59分51秒、53秒、55秒、57秒發(fā)出低音512Hz信號(hào),在59分

9、59秒發(fā)出一次高音1024Hz信號(hào),音響持續(xù)1秒鐘,在1024Hz音響結(jié)束時(shí)刻為整點(diǎn)。在實(shí)際電路中使用LED燈實(shí)現(xiàn)四低使用用LED1,高音另一個(gè)LED燈顯示。</p><p>  (4)、具有一鍵設(shè)定鬧鈴及正常計(jì)時(shí)與鬧鈴時(shí)間的顯示轉(zhuǎn)換。鬧時(shí)時(shí)間為一分鐘。</p><p><b>  3、模塊設(shè)計(jì)分析</b></p><p>  整體電路分為兩塊

10、,主體電路和擴(kuò)展電路分別實(shí)現(xiàn)基本功能和擴(kuò)展的功能。</p><p> ?。?)、主體電路設(shè)計(jì):</p><p> ?。?)時(shí)分秒計(jì)數(shù)器需求分析:</p><p>  分和秒計(jì)數(shù)器都是模M=60的計(jì)數(shù)器 其計(jì)數(shù)規(guī)律為00—01—…—58—59—00… </p><p><b>  時(shí)計(jì)數(shù)器:</b></p>

11、<p>  若采用24小時(shí)制:計(jì)數(shù)器為24進(jìn)制,其計(jì)數(shù)規(guī)律為 00—01……—02—23—00….</p><p>  若采用12小時(shí)制:計(jì)數(shù)器為12進(jìn)制,其計(jì)數(shù)規(guī)律為 01—02……—12—01….</p><p>  24小時(shí)制:當(dāng)數(shù)字鐘運(yùn)行到23時(shí)59分59秒時(shí),秒的個(gè)位計(jì)數(shù)器再輸入一個(gè)秒脈沖時(shí),數(shù)字鐘應(yīng)自動(dòng)顯示為00時(shí)0

12、0分00秒。</p><p>  12小時(shí)制:當(dāng)數(shù)字鐘運(yùn)行到12時(shí)59分59秒時(shí),秒的個(gè)位計(jì)數(shù)器再輸入一個(gè)秒脈沖時(shí),數(shù)字鐘應(yīng)自動(dòng)顯示為01時(shí)00分00秒。</p><p><b>  4、邏輯分析:</b></p><p>  主體電路由兩個(gè)60進(jìn)制計(jì)數(shù)器、一個(gè)24進(jìn)制計(jì)數(shù)器、兩個(gè)二選一數(shù)據(jù)選擇器、分頻器,7端譯碼顯示器共7個(gè)模塊組成。分頻器將

13、系統(tǒng)內(nèi)置的50MHz的信號(hào)分成4Hz的信號(hào)輸出CP,是數(shù)字能穩(wěn)定的在數(shù)碼管上顯示。3個(gè)計(jì)數(shù)器共用一個(gè)時(shí)鐘信號(hào)CP,為同步8421BCD碼輸出的計(jì)數(shù)器。具體實(shí)現(xiàn)如下圖:</p><p>  1 1</p><p><b>  EN</b></p><p>  MCoM EN SC

14、o EN</p><p>  校時(shí)控制Adj_Hour 校分控制Adj_Min </p><p> ?。╝djust_Time) (adjust_Time)</p><p>  圖中連個(gè)選擇器分別用于選擇分計(jì)數(shù)器和是計(jì)數(shù)器的使能控制信號(hào)。對(duì)時(shí)間進(jìn)行校正時(shí),先選擇校時(shí)模式,在adjust_Time=1時(shí),在

15、控制端(Adj_Hour、Adj_Min)的作用下,使能信號(hào)接高電平,此時(shí)每來一個(gè)時(shí)鐘信號(hào),計(jì)數(shù)器加1,從而實(shí)現(xiàn)對(duì)小時(shí)和分鐘的校正。正常計(jì)時(shí)時(shí),使能信號(hào)來自每一位的低位計(jì)數(shù)器的輸出,即秒計(jì)數(shù)器到59秒時(shí),產(chǎn)生一個(gè)輸出信號(hào)(Sco=1)使分計(jì)數(shù)器加1,分秒計(jì)數(shù)器同時(shí)計(jì)到最大值時(shí),產(chǎn)生輸出信號(hào)(Mco=1)使小時(shí)計(jì)數(shù)器加1。</p><p>  實(shí)現(xiàn)上述功能的Verilog的程序如下:整個(gè)程序2分為兩個(gè)層次4個(gè)模塊,

16、底層由3個(gè)模塊組成,即六進(jìn)制計(jì)數(shù)模塊、十進(jìn)制計(jì)數(shù)模塊、和24進(jìn)制計(jì)數(shù)模塊、頂層有一個(gè)模塊,他調(diào)用底層的3個(gè)模塊完成數(shù)字鐘的計(jì)時(shí)功能,其中,底層的六進(jìn)制模塊,和十進(jìn)制模塊分別被調(diào)用兩次,構(gòu)成60進(jìn)制的秒計(jì)數(shù)器和分計(jì)數(shù)器。</p><p><b>  5、各模塊接口規(guī)定</b></p><p><b>  6、程序分析:</b></p>

17、<p>  (1)、六進(jìn)制計(jì)數(shù)模塊</p><p>  nCR為復(fù)位端口,當(dāng)nCR 為0是,輸出為0,EN為使能端,只有當(dāng)EN為1時(shí),計(jì)數(shù)器才在CP的作用下加1。</p><p>  module counter6(Q,nCR,EN,CP);</p><p>  input CP,nCR,EN;</p><p>  output[

18、3:0] Q;</p><p>  reg [3:0] Q;</p><p>  always@(posedge CP or negedge nCR)</p><p><b>  begin </b></p><p>  if(~nCR) Q<=4'b0000;</p><p>  

19、else if(~EN) Q<=Q;</p><p>  else if(Q==4'b0101) Q<=4'b0000;</p><p>  else Q<=Q+1'b1;</p><p><b>  end</b></p><p><b>  endmodule<

20、;/b></p><p><b>  仿真波形如下:</b></p><p> ?。?)、十進(jìn)制模塊和六進(jìn)制的思想一樣</p><p>  module counter10(Q,nCR,EN,CP);</p><p>  input CP,nCR,EN;</p><p>  output[3

21、:0] Q;</p><p>  reg [3:0] Q;</p><p>  always@(posedge CP or negedge nCR)</p><p><b>  begin </b></p><p>  if(~nCR) Q<=4'b0000;</p><p>  e

22、lse if(~EN) Q<=Q;</p><p>  else if(Q==4'b1001) Q<=4'b0000;</p><p>  else Q<=Q+1'b1;</p><p><b>  end</b></p><p><b>  endmodule<

23、/b></p><p><b>  仿真波形如下:</b></p><p>  (3)、24進(jìn)制模塊 </p><p>  由于擴(kuò)展功能里有12和24模式的切換,所以設(shè)置一模式控制端口Sel,當(dāng)Sel=1時(shí)為12進(jìn)制模式,當(dāng)Sel=0時(shí)為24進(jìn)制模式。12和24進(jìn)制的思想是一樣的。以24進(jìn)制為例,在nCR和EN有效時(shí),當(dāng)時(shí)鐘高位大于2或分

24、鐘高位大于9或者時(shí)鐘大于等于23時(shí),時(shí)鐘高位HourH置0,低位HourL置1;如果(HourH==2)和(HourL<3)成立則高位不變,低位加1;其余的如果HourL==9;高位加1,低位置0;剩下的情況高位不變,低位加1。</p><p>  module counter24(HourH,HourL,nCR,EN,CP,Sel);</p><p>  input CP,nCR,

25、EN,Sel;</p><p>  output[3:0] HourH,HourL;</p><p>  reg [3:0] HourH,HourL;</p><p>  always@(posedge CP or negedge nCR)</p><p><b>  begin</b></p><p

26、>  if(~nCR) {HourH,HourL}<=8'h00 ; 復(fù)位</p><p>  else if(~EN) {HourH,HourL}<={HourH,HourL}; 使能</p><p>  else if(Sel==1) 模式選擇</p><p>  begin

27、 12進(jìn)制</p><p>  if((HourH>1)||(HourL>9)||((HourH==1)&&(HourL>=2))) </p><p>  begin HourH<=4'b0000;HourL<=4'b0001;end</p><p>  else if((Ho

28、urH==1)&&(HourL<2))</p><p>  begin HourH<=HourH; HourL<=HourL+1'b1; end</p><p>  else if(HourL==9)</p><p>  begin HourH<=HourH+1'b1; HourL<=4'b000

29、0; end</p><p><b>  else</b></p><p>  begin HourH<=HourH; HourL<=HourL+1'b1; end</p><p><b>  end</b></p><p><b>  else </b>&

30、lt;/p><p>  begin 24 進(jìn)制</p><p>  if((HourH>2)||(HourL>9)||((HourH==2)&&(HourL>=3))) {HourH,HourL}<=4'b0000;</p><p>  else if((HourH==2)&&a

31、mp;(HourL<3))</p><p>  begin HourH<=HourH; HourL<=HourL+1'b1; end</p><p>  else if(HourL==9)</p><p>  begin HourH<=HourH+1'b1; HourL<=4'b0000; end</p&g

32、t;<p><b>  else</b></p><p>  begin HourH<=HourH; HourL<=HourL+1'b1; end</p><p><b>  end</b></p><p><b>  end</b></p><p

33、><b>  endmodule</b></p><p><b>  仿真波形如下:</b></p><p>  (4)、分頻成1Hz模塊</p><p>  由于系統(tǒng)供給時(shí)鐘為50MHz時(shí)鐘,為保證系統(tǒng)計(jì)數(shù)結(jié)果清晰可辨,可設(shè)計(jì)分頻模</p><p>  塊clk1hz(clk,CP),先將系

34、統(tǒng)50MHz時(shí)鐘clk(50MHz)分頻為1Hz時(shí)鐘。由于50M可以使用32位二進(jìn)制來表示,定義clk為輸入的50MHz時(shí)鐘</p><p>  module fenpin(clk,CP);</p><p>  input clk;</p><p>  output CP;</p><p><b>  reg CP;</b&g

35、t;</p><p><b>  initial</b></p><p><b>  begin</b></p><p>  CP<=1'b0;clk1<=32'd0;</p><p><b>  end</b></p><p&g

36、t;  reg[31:0] clk1; //可以通過調(diào)節(jié)25000000的數(shù)值來調(diào)節(jié)輸出的頻率大小</p><p>  always @(posedge clk)</p><p>  if(clk1==32'd25000000) begin clk1<=32'd0; CP<=~CP; end</p><p>  else clk

37、1<=clk1+1'b1;</p><p>  endmodule </p><p>  由于這個(gè)仿真的時(shí)鐘頻率大,沒有在波形里顯示:</p><p>  (5)、整點(diǎn)報(bào)時(shí)和仿電臺(tái)報(bào)時(shí)模塊</p><p>  將時(shí)分秒輸入,因?yàn)闆]有使用蜂鳴器,所用的報(bào)時(shí)均用LED燈來顯示,四聲低音時(shí)在51秒、53秒、57秒、59秒、D

38、亮;0時(shí)G亮;根據(jù)輸入的Hour的數(shù)值使整點(diǎn)報(bào)時(shí)的燈Voice亮Hour下,9點(diǎn)閃爍9下。整點(diǎn)報(bào)時(shí)時(shí)控制燈閃爍的頻率和秒的頻率一樣,為了實(shí)現(xiàn)閃爍必需有兩倍的Hour數(shù)值的脈沖,設(shè)置變量N來實(shí)現(xiàn)計(jì)數(shù),每次在00分00秒時(shí),將兩倍的Hour數(shù)值賦給n,每來一個(gè)脈沖就減1,直至n=0時(shí),正好有2*Hour個(gè)脈沖,燈Voice可閃爍相應(yīng)的次數(shù)。</p><p>  module baoshi(Second,Minute

39、,Hour,D,G,Voice,CP);</p><p>  input [7:0] Second,Minute,Hour;</p><p><b>  input CP;</b></p><p>  output D,G;</p><p>  output Voice;</p><p><

40、b>  reg D,G;</b></p><p>  reg [7:0] n;</p><p>  reg Voice;</p><p><b>  initial</b></p><p>  begin n=8'h0;Voice=0; end</p><p><

41、;b>  always</b></p><p><b>  begin</b></p><p>  if(((Minute==8'h59)&&(Second[7:4]==4'h5))&&</p><p>  ((Second[3:0]==4'h0)||(Second[3:

42、0]==4'h2)||(Second[3:0]==4'h4)||(Second[3:0]==4'h6)))</p><p><b>  D<=1'b1;</b></p><p>  else if((Minute==8'h59)&&(Second[7:4]==4'h5)&&Secon

43、d[3:0]==4'h8)</p><p><b>  G<=1'b1;</b></p><p>  else begin G<=1'b0;D<=1'b0;end </p><p><b>  end</b></p><p>  always@(p

44、osedge CP)</p><p><b>  begin</b></p><p>  if((Minute==8'h00)&&(Second==8'h00)) n<=Hour+Hour;</p><p>  if((Minute==8'h00)&&(n>8'd0)

45、) begin Voice<=~Voice;n<=n-1'b1; end</p><p>  else Voice<=0; </p><p><b>  end</b></p><p><b>  endmodule</b></p><p><b>  仿真

46、波形如下:</b></p><p><b>  仿電臺(tái)報(bào)時(shí):</b></p><p><b>  整點(diǎn)報(bào)時(shí):</b></p><p>  (6)、鬧鐘設(shè)置模塊</p><p>  設(shè)置一個(gè)控制端來控制鬧鐘的顯示和鬧鐘的設(shè)置Display_A,當(dāng)Display_A=1時(shí),進(jìn)入鬧鐘模式,此時(shí)

47、數(shù)碼管上顯示的為鬧鐘的時(shí)間,為方便鬧鐘的設(shè)置依然使用Adj_Min,Adj_Hour控制端。因?yàn)轸[鐘同樣要滿足分鐘的60進(jìn)制和時(shí)鐘24 進(jìn)制,所以在alarm_Set模塊中調(diào)用底層的counter10,counter6,counter24,模塊來實(shí)現(xiàn)鬧鐘的設(shè)置。并將所設(shè)置的鬧鐘時(shí)間保存在A_Hour,A_Minute中表示鬧鐘的時(shí)間。并將其作為輸出,以便后續(xù)的使用。</p><p>  module alarm_

48、Set(Adj_Min,Adj_Hour,CP,nCR,Display_A,A_Hour,A_Minute);</p><p>  input CP,nCR,Adj_Min,Adj_Hour,Display_A;</p><p>  output [7:0] A_Hour,A_Minute;</p><p>  // 在鬧鐘的控制端Display_A&&am

49、p;Adj_Min同時(shí)為1時(shí)鬧鐘計(jì)時(shí)</p><p>  counter10 A1(A_Minute[3:0],nCR,(Display_A&&Adj_Min),CP);</p><p>  counter6 A2(A_Minute[7:4],nCR,(Display_A&&Adj_Min&&A_Minute[3:0]==4'h

50、9),CP);</p><p>  counter24 A3(A_Hour[7:4],A_Hour[3:0],nCR,(Adj_Hour&&Display_A),CP,Sel);</p><p><b>  endmodule</b></p><p><b>  (7)、鬧鈴模塊</b></p>

51、;<p>  同時(shí)將時(shí)分鐘和鬧鐘的時(shí)分輸入進(jìn)行比較,如果二者對(duì)應(yīng)相等且鬧鈴設(shè)置alarm_On為0(默認(rèn)下鬧鈴為開狀態(tài)),則鬧鐘提示燈A持續(xù)亮一分鐘。一分鐘的時(shí)間有秒鐘頻率來控制。</p><p>  module alarm (Hour,Minute,A_Hour,A_Minute,Second,A,CP,alarm_On);</p><p>  input [7:0] H

52、our,Minute,A_Hour,A_Minute,Second;</p><p>  input CP,alarm_On;</p><p><b>  output A;</b></p><p><b>  reg A;</b></p><p>  always @(posedge CP)<

53、;/p><p>  if ((Hour==A_Hour) && (A_Minute==Minute)&&(alarm_On==0))</p><p>  begin if(Second<=8'h59) A<=1'b1;</p><p>  else A<=1'b0;</p><

54、;p><b>  end</b></p><p>  else A<=1'b0;</p><p><b>  endmodule</b></p><p><b>  (8)、顯示模塊</b></p><p>  由于要切換時(shí)鐘和鬧鐘模式,所以由鬧鐘的控制端口

55、來決定顯示的模式,當(dāng)Disply_A為1時(shí),即為鬧鐘模式,顯示鬧鐘時(shí)間;Disply_A為0時(shí),即為時(shí)鐘模式,顯示時(shí)鐘時(shí)間。程序中Q1為時(shí)鐘信息,Q2為鬧鐘的信息。</p><p>  module display(Q1,Q2,Display_A,OUT);</p><p>  input[3:0] Q1,Q2;</p><p>  input Display_A;

56、</p><p>  output[6:0] OUT;</p><p>  reg[6:0] OUT;</p><p>  wire [3:0] Q;</p><p>  assign Q=(Display_A==1) ? Q2[3:0] : Q1[3:0] ; //鬧鐘和時(shí)鐘的選擇</p><p>  always

57、 @(Q)</p><p>  case(Q[3:0])</p><p>  4'd0: OUT<=7'b0000_001;</p><p>  4'd1: OUT<=7'b1001_111;</p><p>  4'd2: OUT<=7'b0010_010;</p>

58、;<p>  4'd3: OUT<=7'b0000_110;</p><p>  4'd4: OUT<=7'b1001_100;</p><p>  4'd5: OUT<=7'b0100_100;</p><p>  4'd6: OUT<=7'b1100_000;&

59、lt;/p><p>  4'd7: OUT<=7'b0001_111;</p><p>  4'd8: OUT<=7'b0000_000;</p><p>  4'd9: OUT<=7'b0001_100;</p><p>  default: OUT<=7'b00

60、00_001;</p><p><b>  endcase</b></p><p>  endmodule </p><p><b>  (9)、頂層模塊</b></p><p><b>  調(diào)用所有的底層模塊</b></p><p>  modu

61、le clock_top(out_MinL,out_MinH,out_HourL,out_HourH,clk,nCR,EN,Adj_Min,Adj_Hour,adjust_Time,SEC,D,G,A,Sel,Voice,alarm_On,Display_A);</p><p>  input clk,nCR,EN,Adj_Min,Adj_Hour,Sel,Display_A,adjust_Time,alarm_

62、On;</p><p>  output [6:0] out_MinL,out_MinH,out_HourL,out_HourH;</p><p>  output SEC;</p><p>  output D,G,Voice,A;</p><p>  wire [7:0] Hour,Second,Minute,A_Hour,A_Minu

63、te;</p><p>  wire MinL_EN,MinH_EN,Hour_EN;</p><p>  wire [6:0] out_MinL,out_MinH,out_HourL,out_HourH;</p><p>  wire D,G,Sel,A;</p><p>  fenpin U0(CP,clk);</p>

64、;<p>  counter10 U1(Second[3:0],nCR,EN,CP); //秒鐘的60進(jìn)制</p><p>  counter6 U2(Second[7:4],nCR,(Second[3:0]==4'h9),CP);</p><p>  assign SEC=Second[0]; 秒鐘以LED來顯示</p><p>  /

65、/分鐘低位的使能端,滿足條件才計(jì)數(shù)</p><p>  assign MinL_EN=((Adj_Min==1)&&(adjust_Time==1)) || (Second==8'h59);</p><p>  //分鐘高位的使能端,滿足條件才計(jì)數(shù)</p><p>  assign MinH_EN=(Adj_Min&&(adj

66、ust_Time==1)&&(Minute[3:0]==4'h9))||((Minute[3:0]==4'h9)&&(Second==8'h59)&&(Adj_Min==0));</p><p>  counter10 U3(Minute[3:0],nCR,MinL_EN,CP); //分鐘的60進(jìn)制</p><p>

67、  counter6 U4(Minute[7:4],nCR,MinH_EN,CP);</p><p><b>  assign</b></p><p>  Hour_EN=((Adj_Hour==1)&&(adjust_Time==1))||((Minute==8'h59)&&(Second==8'h59)); <

68、;/p><p>  counter24 U5(Hour[7:4],Hour[3:0],nCR,Hour_EN,CP,Sel); //時(shí)鐘的24進(jìn)制</p><p>  baoshi U11(Second[7:0],Minute[7:0],Hour[7:0],D,G,Voice,CP);</p><p>  alarm_Set U12(Adj_Min,Adj_Hour

69、,CP,nCR,Display_A,A_Hour,A_Minute);</p><p>  alarm U13(Hour,Minute,A_Hour,A_Minute,Second,A,CP,alarm_On);</p><p><b>  //顯示模塊的調(diào)用</b></p><p>  display U6(Minute[3:0],A_M

70、inute[3:0],Display_A,out_MinL);</p><p>  display U7(Minute[7:4],A_Minute[7:4],Display_A,out_MinH);</p><p>  display U8(Hour[3:0],A_Hour[3:0],Display_A,out_HourL);</p><p>  display U

71、9(Hour[7:4],A_Hour[7:4],Display_A,out_HourH);</p><p><b>  endmodule</b></p><p>  為各個(gè)輸入輸出接口分配引腳,如下,使其在實(shí)驗(yàn)板上的數(shù)碼管上顯示結(jié)果。</p><p><b>  整個(gè)實(shí)驗(yàn)通過驗(yàn)收。</b></p><

72、p><b>  五、調(diào)試過程</b></p><p><b>  1、調(diào)試步驟</b></p><p> ?、湃绻绦蚓幾g出錯(cuò),可以根據(jù)錯(cuò)誤提示找出錯(cuò)誤,這類錯(cuò)誤比較容易解決。比如某一行少一個(gè)“;”之類的。</p><p> ?、迫绻幾g通過,再進(jìn)行仿真,通過仿真波形來判斷程序是否出現(xiàn)了邏輯性的錯(cuò)誤,這些需要仔細(xì)的研

73、究仿真波形,才能看出錯(cuò)誤的所在。</p><p> ?、欠抡婧?,確定仿真波形和程序沒有問題,再進(jìn)行引腳的分配,引腳分配后,編譯,再燒寫到DE0板上,如果出現(xiàn)錯(cuò)誤,返回引腳分配,找出錯(cuò)誤所在。</p><p> ?、仍贒E0實(shí)驗(yàn)板上運(yùn)行程序時(shí),碰到一些功能與設(shè)計(jì)不符,或者產(chǎn)生了競(jìng)爭(zhēng)冒險(xiǎn)等問題的時(shí)候,應(yīng)該對(duì)程序進(jìn)行查錯(cuò)和對(duì)時(shí)序的優(yōu)化,通過不斷的改進(jìn)和優(yōu)化程序,最終得到的程序才符合要求。<

74、/p><p>  2、調(diào)試中碰到的問題及解決方法</p><p> ?。?)、用Quartus自帶的波形仿真器時(shí),必須在仿真前,將自己編寫的波形文件設(shè)置為頂層文件,不然的話,仿真結(jié)果將是高阻態(tài)。</p><p> ?。?)、在編寫代碼時(shí),對(duì)于一些比較不常用的verilog語法不是很熟練。犯了一些語法錯(cuò)誤,比如在寫Disply模塊時(shí),未把Q設(shè)置成4位的二進(jìn)制數(shù),只是簡(jiǎn)單的

75、說明了一下wire Q結(jié)果在顯示時(shí),一直出現(xiàn)0,1跳變,無法正常顯示計(jì)數(shù)。</p><p>  但在編譯時(shí),并沒有報(bào)錯(cuò)。在反復(fù)檢查程序時(shí)才發(fā)現(xiàn),應(yīng)該把Q定義為4位的。更改之后出現(xiàn)了正確的顯示。</p><p><b>  六、實(shí)驗(yàn)小結(jié):</b></p><p>  通過這次設(shè)計(jì),既復(fù)習(xí)了以前所學(xué)的知識(shí),也進(jìn)一步加深了對(duì)EDA的了解,掌握了EDA

76、設(shè)計(jì)的基本流程(即設(shè)計(jì)輸入—編譯—調(diào)試—仿真—下載),領(lǐng)會(huì)了自頂而下結(jié)構(gòu)化設(shè)計(jì)的優(yōu)點(diǎn),并具備了初步的EDA程序設(shè)計(jì)能力。讓我對(duì)它有了更加濃厚的興趣。特別是當(dāng)每一個(gè)子模塊編寫調(diào)試成功時(shí),心里特別的開心。這個(gè)程序最難的地方在于頂層模塊的設(shè)計(jì),因?yàn)轫攲幽K需要將各個(gè)子模塊按照電路原理有機(jī)地結(jié)合起來,這需要扎實(shí)的理論功底,而這正是我所欠缺的。相比而言,子模塊的設(shè)計(jì)就容易多了,因?yàn)閂erilog語言和C語言有很多相似之處,只要明白了實(shí)驗(yàn)原理,就不

77、難完成,水平的高下只體現(xiàn)在程序的簡(jiǎn)潔與否。Verilog源程序的編寫很容易出現(xiàn)錯(cuò)誤,這就需要耐心的調(diào)試。因?yàn)楹芏嗲闆r下,一長(zhǎng)串的錯(cuò)誤往往是由一個(gè)不經(jīng)意的小錯(cuò)誤引起的。當(dāng)程序?qū)艺{(diào)屢錯(cuò)的時(shí)候,最好和其他同學(xué)溝通交流一下,他們不經(jīng)意的一句話,就可能給我啟發(fā),使問題迎刃而解。</p><p>  在波形仿真時(shí),也遇到了一點(diǎn)困難,想要的結(jié)果不能在波形上得到正確的顯示。還有的仿真圖根本就不出波形,怎么調(diào)節(jié)都不管用,后來直接就

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論