




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
沈陽(yáng)航空航天大學(xué)課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)名稱:計(jì)算機(jī)組成原理課程設(shè)計(jì)課程設(shè)計(jì)題目:12小時(shí)數(shù)字鐘電路設(shè)計(jì)與實(shí)現(xiàn)院(系):計(jì)算機(jī)學(xué)院專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)班級(jí):34010104學(xué)號(hào):4姓名:指導(dǎo)教師:胡光元完畢日期:2023年1月13日目錄657第1章總體設(shè)計(jì)方案 2318701.1設(shè)計(jì)原理 2130351.2設(shè)計(jì)思緒 2300781.3設(shè)計(jì)環(huán)境 217636第2章具體設(shè)計(jì)方案 2305272.1算法與程序的設(shè)計(jì)與實(shí)現(xiàn) 332532.2流程圖的設(shè)計(jì)與實(shí)現(xiàn) 423599第3章程序調(diào)試與結(jié)果測(cè)試 7158373.1程序調(diào)試 726994列舉出調(diào)試過(guò)程中存在的問(wèn)題 7291943.2程序測(cè)試及結(jié)果分析 732426參考文獻(xiàn) 919518附錄(源代碼) 10第1章總體設(shè)計(jì)方案設(shè)計(jì)原理通過(guò)Verilog語(yǔ)言,編寫(xiě)12小時(shí)數(shù)字鐘電路設(shè)計(jì)與實(shí)現(xiàn)的Verilog程序,一般的做法是底層文獻(xiàn)用verilog寫(xiě)代碼表達(dá),頂層用寫(xiě)的代碼生成的原理圖文獻(xiàn)鏈接組成,最后在加上輸入輸出端口。采用自上而下的方法,頂層設(shè)計(jì)采用原理圖設(shè)計(jì)輸入的方式。設(shè)計(jì)思緒1.實(shí)時(shí)數(shù)字鐘顯示功能,即時(shí)、分、秒的正常顯示模式,并且在此基礎(chǔ)上增長(zhǎng)上,下午顯示。2.手動(dòng)校準(zhǔn)。按動(dòng)方式鍵,將電路置于校時(shí)狀態(tài),則計(jì)時(shí)電路可用手動(dòng)方式校準(zhǔn),每按一下校時(shí)鍵,時(shí)計(jì)數(shù)器加1;按動(dòng)方式鍵,將電路置于校分狀態(tài),以同樣方式手動(dòng)校分。設(shè)計(jì)環(huán)境(1)硬件環(huán)境?偉福COP2023型計(jì)算機(jī)組成原理實(shí)驗(yàn)儀COP2023計(jì)算機(jī)組成原理實(shí)驗(yàn)系統(tǒng)由………?COP2023集成調(diào)試軟件COP2023集成開(kāi)發(fā)環(huán)境是為………….(2)EDA環(huán)境?Xilinxfoundationf3.1設(shè)計(jì)軟件Xilinxfoundationf3.1是Xilinx公司的可編程期間………….第2章具體設(shè)計(jì)方案2.1算法與程序的設(shè)計(jì)與實(shí)現(xiàn)(1)秒鐘計(jì)時(shí)器由于秒計(jì)數(shù)器為60進(jìn)制計(jì)數(shù)器,所以以秒計(jì)數(shù)器作為示例說(shuō)明其編程思想。其中秒計(jì)數(shù)器模塊在程序中為always@(posedgeclk)的程序段,由上面分析得秒計(jì)數(shù)器由一個(gè)十進(jìn)制計(jì)數(shù)器與一個(gè)六進(jìn)制計(jì)數(shù)器組成,程序中有second0表達(dá)秒計(jì)數(shù)器低位即10進(jìn)制計(jì)數(shù)器,second1表達(dá)秒計(jì)數(shù)器的高位為一個(gè)六進(jìn)制計(jì)數(shù)器。clk為時(shí)鐘信號(hào),時(shí)鐘周期1/60(S),當(dāng)?shù)臀籹econd0滿10時(shí),自動(dòng)進(jìn)一位,即second1自動(dòng)進(jìn)位。Second0,second1位寬均為4位reg型變量。分鐘鐘計(jì)時(shí)器分鐘計(jì)時(shí)器由于秒計(jì)數(shù)器為12進(jìn)制計(jì)數(shù)器,示例說(shuō)明其編程思想。其中秒計(jì)數(shù)器模塊在程序中為always@(posedgemod)的程序段,由分析得小時(shí)計(jì)數(shù)器由一個(gè)二進(jìn)制計(jì)數(shù)器與一個(gè)三進(jìn)制計(jì)數(shù)器組成,程序中有hour0表達(dá)秒計(jì)數(shù)器低位即二進(jìn)制計(jì)數(shù)器,hour1表達(dá)秒計(jì)數(shù)器的高位為一個(gè)三進(jìn)制計(jì)數(shù)器。Mod為時(shí)鐘信號(hào),來(lái)自分鐘計(jì)時(shí)模塊的mod,時(shí)鐘周期360(S),當(dāng)?shù)臀籬our0滿3時(shí),自動(dòng)進(jìn)一位,即hour1自動(dòng)進(jìn)位。hour1,hour1位寬均為4位reg型變量。小時(shí)計(jì)時(shí)器小時(shí)計(jì)時(shí)器同秒鐘計(jì)時(shí)器其中小時(shí)計(jì)數(shù)器模塊在程序中為always@(posedgetun)的程序段,分鐘計(jì)時(shí)器的低位、高位分別由minute0、minute1表達(dá),但分鐘計(jì)時(shí)器模塊的敏感信號(hào)為“posedgetun”時(shí)鐘信號(hào),“tun”的產(chǎn)生自秒鐘計(jì)時(shí)器,可知其產(chǎn)生的時(shí)鐘信號(hào)為1(S),每觸發(fā)一次則分鐘計(jì)數(shù)器計(jì)數(shù)加1一次,同時(shí)產(chǎn)生mod的時(shí)鐘信號(hào),同時(shí)由于做的是12小時(shí)數(shù)字鐘電路,所有zox表達(dá)的是顯示上下午,當(dāng)小時(shí)計(jì)數(shù)器滿12時(shí)zox變化一次,其中zox=0表達(dá)的是上午,zox=1表達(dá)的是下午。時(shí)間設(shè)立時(shí)間設(shè)立模塊實(shí)現(xiàn)的功能為通過(guò)按鍵調(diào)節(jié)可以對(duì)當(dāng)前時(shí)間進(jìn)行手動(dòng)控制。其重要是在時(shí)間設(shè)立使能端有效地情況下通過(guò)SW1和i_SW2兩個(gè)按鍵對(duì)數(shù)字鐘的小時(shí)和分鐘數(shù)進(jìn)行調(diào)節(jié)。Disp_drive為設(shè)立中的顯示控制,即通過(guò)SW1對(duì)位的調(diào)整,Disp_drive隨之變化。i_SW2為對(duì)每一位上的數(shù)字在其范圍內(nèi)進(jìn)行加1調(diào)節(jié)。Disp_drive取值000、001、010和011分別相應(yīng)hour1、hour0、minute1和minute0的設(shè)立,其中的加1設(shè)立在各個(gè)計(jì)時(shí)器模塊,這樣做的因素是防止兩個(gè)“always”進(jìn)程對(duì)同一個(gè)變量賦值發(fā)生錯(cuò)誤。(5)控制顯示模塊控制顯示模塊在整個(gè)數(shù)字鐘的設(shè)計(jì)中起著非常重要的作用。它的作用是將時(shí)間等數(shù)據(jù)用數(shù)碼管顯示的控制和數(shù)據(jù)傳輸模塊,涉及數(shù)據(jù)的傳輸以及BCD碼譯碼等。通過(guò)幾個(gè)控制使能端將其不同功能時(shí)的時(shí)間在數(shù)碼管上顯示出來(lái)。本模塊中端口定義比較多,下面是其所相應(yīng)的功能。clk:時(shí)間自動(dòng)模式工作使能信號(hào);Timeset_EN:時(shí)間設(shè)立使能信號(hào);Time_disp_select:時(shí)間顯示位選信號(hào);Disp_select:顯示位選信號(hào)輸出;程序設(shè)計(jì)中,各使能端信號(hào)為1表達(dá)執(zhí)行該功能,以時(shí)間自動(dòng)工作模式使能信號(hào)有效為例說(shuō)明,當(dāng)Time_EN為1時(shí),一方面將時(shí)間顯示位選信號(hào)isp_select的值賦給顯示位選信號(hào)disp_select輸出,定義time_disp_select的狀態(tài)一共有6個(gè),分別為100000、010000、001000、000100、000010和000001,其在各狀態(tài)下分別依次表達(dá)將、hour0、hour1、minute0、minute1、second0和second1的值賦給data,用case語(yǔ)句來(lái)實(shí)現(xiàn),其實(shí)現(xiàn)語(yǔ)句如下:always@(clk,TimeSet_EN,time_disp_select,disp_select,hour1,hour0,minute1,minute0,second1,second0)begin//時(shí)鐘,秒表顯示if((clk||TimeSet_EN)==1'b1)begindisp_select<=time_disp_select;case(time_disp_select)6'b100000:Data<=hour1;6'b010000:Data<=hour0;6'b001000:Data<=minute1;6'b000100:Data<=minute0;6'b000010:Data<=second1;6'b000001:Data<=second0;default:Data<=4'b0;endcaseend顯示譯碼數(shù)據(jù)段重要程序如下:case(Data)4'b0000:disp_data<=7'b1111110;4'b0001:disp_data<=7'b0110000;4'b0010:disp_data<=7'b1101101;4'b0011:disp_data<=7'b1111001;4'b0100:disp_data<=7'b0110011;4'b0101:disp_data<=7'b1011011;4'b0110:disp_data<=7'b1011111;4'b0111:disp_data<=7'b1110000;4'b1000:disp_data<=7'b1111111;4'b1001:disp_data<=7'b1111011;default:disp_data<=7'b0;endcase顯示譯碼程序說(shuō)明了0到9十個(gè)數(shù)在7段數(shù)碼管中所相應(yīng)的值,在case語(yǔ)句里面最重要的是一定不能忘了default,否則仿真會(huì)發(fā)生所不希望看到的結(jié)果。下圖13為鬧鐘設(shè)立使能有效時(shí)仿真結(jié)果。2.2流程圖的設(shè)計(jì)與實(shí)現(xiàn)1.數(shù)字鐘數(shù)數(shù)字鐘主體小時(shí)計(jì)數(shù)器分計(jì)數(shù)器秒計(jì)數(shù)器24進(jìn)制計(jì)數(shù)器60進(jìn)制計(jì)數(shù)器6進(jìn)制計(jì)數(shù)器10進(jìn)制計(jì)數(shù)器Zox=0(上午)Zox=1(下午)12小時(shí)數(shù)字時(shí)鐘整體12小時(shí)數(shù)字鐘12小時(shí)數(shù)字鐘顯示時(shí)鐘時(shí)間數(shù)值時(shí)間的校驗(yàn)第3章程序調(diào)試與結(jié)果測(cè)試3.1程序調(diào)試Error(10170):VerilogHDLsyntaxerrorata.v(65)neartext"always";expecting"end"忘掉在begin之后加end結(jié)束語(yǔ)Error(10161):VerilogHDLerrorata.v(165):object"Dat"isnotdeclared在程序開(kāi)始Dat忘掉標(biāo)記和定義Error(10170):VerilogHDLsyntaxerroratTime.v(49)neartext"else";expecting"endmodule"程序后面沒(méi)加"endmodule"Error(10170):VerilogHDLsyntaxerroratTime.v(56)neartext"<=";expecting".",oranidentifier把“<=”改為“=”3.2程序測(cè)試及結(jié)果分析1.從圖中可以看出當(dāng)second0滿1010即10時(shí)被置為0000,而second1加1,滿足秒的低位滿十進(jìn)一位的設(shè)立。2.從圖中可以看出,在第一個(gè)時(shí)鐘周期內(nèi),時(shí)間顯示位選信號(hào)time_disp_select的值為000000,此時(shí)應(yīng)執(zhí)行case語(yǔ)句的default,Data的值為0;在第二個(gè)時(shí)鐘周期內(nèi),time_disp_select的值為000001,此時(shí)相應(yīng)其最后一種狀態(tài),將second0的值賦給Data,即Data的值為0110,從圖中看,仿真結(jié)果對(duì)的,disp_data表達(dá)的是將當(dāng)前數(shù)據(jù)譯碼顯示之后七段數(shù)碼管的顯示,所以在第一個(gè)周期內(nèi)值為1111110,表達(dá)值為0,與Data所表達(dá)的數(shù)相應(yīng)。依次類推,可將Data的值所有表達(dá)出來(lái)。3.從圖中可以看出,當(dāng)只有Timeset_EN:時(shí)間設(shè)立使能信號(hào)有效時(shí),其七段數(shù)碼管顯示結(jié)果,與數(shù)字鐘自動(dòng)工作使能端的區(qū)別為鬧鐘設(shè)立使能端有效時(shí)只需對(duì)hour0、hour1、minute0和minute1進(jìn)行設(shè)立,由于其同樣需要將值賦給disp_select,為了統(tǒng)一期間,其值也設(shè)為6位,其4個(gè)狀態(tài)分別為100000、010000、001000和000100。其他與自動(dòng)工作模式相同。參考文獻(xiàn)[1]張明.Verilog
HDL實(shí)用教程.成都:電子科技大學(xué)出版社,1999
[2]齊洪喜,陸穎.VHDL電路設(shè)計(jì)[M].北京:清華大學(xué)出版社,2023
[3]江國(guó)強(qiáng),李哲英.EDA技術(shù)與應(yīng)用[M].北京:電子工業(yè)出版社,2023
[4]雷伏容.VHDL電路設(shè)計(jì)[M].北京:清華大學(xué)出版社,2023
[5]曾繁泰,陳美金.VHDL程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2023
[6]潘松,王國(guó)棟.VHDL實(shí)用教程.成都:電子科技大學(xué)出版社,2023
[7]趙雅興.FPGA原理、設(shè)計(jì)與應(yīng)用.天津:天津大學(xué)出版社,1998
[8]陳俊碩,劉景林,張金萍.基于FPGA的直流電機(jī)PWM控制器設(shè)計(jì)[J].微電機(jī)2023(10)
[9]盧杰,賴毅.VHDL與數(shù)字電路設(shè)計(jì).北京:科學(xué)出版社,2023
[10]張昌凡,龍永紅,彭濤.可編程邏輯器件及VHDL設(shè)計(jì)技術(shù).廣州:華南工學(xué)院出版社,2023
附錄(源代碼)源代碼:///////////////////////////`timescale1ns/1nsModuleaa(clk,TimeSet_EN,SW1,i_SW2,zox,disp_select,hour1,hour0,minute1,minute0,second1,second0);inputclk;inputTimeSet_EN;//時(shí)間設(shè)立使能信號(hào)inputSW1;inputi_SW2;outputzox;//上下午指示模output[5:0]disp_select;output[3:0]hour1,hour0,minute1,minute0,second1,second0;reg[7:0]second,minute,hour;regtun,mod,zox;wirer_SW2;reg[2:0]disp_drive;reg[6:0]time_disp_select;reg[6:0]disp_select;reg[3:0]Data,hour1,hour0,minute1,minute0,second1,second0;reg[6:0]disp_data;regmt,nt;initialbegintun=0;mod=0;zox=0;hour=0;minute=0;second=0;disp_drive=3'b000;endassignr_SW2=i_SW2;////////////////////////////////////////////////////////////////秒鐘計(jì)時(shí)器always@(posedgeclk)//上升沿觸發(fā)beginif(r_SW2==1'b1)beginif(disp_drive==3'b110) second<=0; tun<=0;endelseif(second==8'h59)begin second<=0;tun<=1; endelsebeginif(second[3:0]==9)begin second[3:0]<=0; second[7:4]<=second[7:4]+1; endelsebeginsecond[3:0]<=second[3:0]+1; end tun<=0; end second1<=second[7:4];second0<=second[3:0];end////////////////////////////////////////////////////////////////分鐘計(jì)時(shí)器always@(posedgetun)//上升沿觸發(fā)beginif(r_SW2==1'b1)begincase(disp_drive)3'b010:begin//分的高位 if(minute[7:4]<5) minute[7:4]<=minute[7:4]+1; else minute[7:4]<=0; end 3'b011:begin if(minute[3:0]<9) minute[3:0]<=minute[3:0]+1; else minute[3:0]<=0; end default:beginendendcasemod<=0;endelseif(minute==8'h59)begin minute<=0;mod<=1; endelsebeginif(minute[3:0]==9)begin minute[3:0]<=0; minute[7:4]<=minute[7:4]+1; endelsebegin minute[3:0]<=minute[3:0]+1;endmod<=0; end minute1<=minute[7:4];minute0<=minute[3:0];end//////////////////////////////////////////////////////////////////////////////////////////時(shí)鐘計(jì)時(shí)器always@(posedgemod)//上升沿觸發(fā)beginif(r_SW2==1'b1)begincase(disp_drive)3'b000:begin if(hour[7:4]==0) hour[7:4]<=hour[7:4]+1; elsebegin hour[7:4]<=0; if(zox==0) zox<=1; else zox<=0; end end 3'b001:begin//小時(shí)的低位 if(hour[3:0]<1) hour[3:0]<=hour[3:0]+1; else hour[3:0]<=0; end default:beginendendcaseendelsebeginif(hour==8'h11)begin hour<=0;if(zox==0) zox<=1; elsezox<=0; endelse hour[3:0]<=hour[3:0]+1; end hour1<=hour[7:4]; hour0<=hour[3:0];end//////////////////////////////////////////////////////////////////////////////////////////時(shí)間設(shè)立always@(posedgeSW1)//手動(dòng)設(shè)立使能 beginif(TimeSet_EN==1'b1)begin if(disp_drive<3'b101) disp_drive<=disp_drive+3'b1; else disp_drive<=3'b000; endend////////////////////時(shí)鐘顯示always@(clk,TimeSet_EN,time_disp_select, disp_select,hour1,hour0,minute1,minute0,second1,second0)begin//時(shí)鐘,秒表顯示if((clk||TimeSet_EN)==1'b1)begin//時(shí)鐘,秒表顯示if(clk||TimeSet_EN==1'b1)begindisp_select<=time_disp_select;case(time_disp_select)6'b100000:Data<=hour1;6'b010000:Data<=hour0;6'b001000:Data<=minute1;6'b000100:Data<=minute0;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 物聯(lián)網(wǎng)安全保障措施與技術(shù)方案手冊(cè)
- 零售業(yè)銷售數(shù)據(jù)分析方法手冊(cè)
- 電影宣發(fā)策略及市場(chǎng)拓展計(jì)劃
- 浙江國(guó)企招聘2024浙江省文化產(chǎn)業(yè)投資集團(tuán)有限公司招聘14人筆試參考題庫(kù)附帶答案詳解
- 社會(huì)體育專業(yè)本科培養(yǎng)方案
- 蚌埠2025年安徽蚌埠五河縣事業(yè)單位招聘75人筆試歷年參考題庫(kù)附帶答案詳解
- 煙臺(tái)2025年山東煙臺(tái)萊陽(yáng)市結(jié)合事業(yè)單位招聘征集本科及以上學(xué)歷畢業(yè)生入伍筆試歷年參考題庫(kù)附帶答案詳解
- 2022年執(zhí)業(yè)藥師考試《藥學(xué)專業(yè)知識(shí)(一)》真題及解析
- 乙肝病毒表面抗原陽(yáng)性孕婦母嬰阻斷效果評(píng)價(jià)及影響因素分析
- (2024)湖南省公務(wù)員考試《行測(cè)》真題卷及答案解析
- 記賬實(shí)操-新能源科技有限公司的賬務(wù)處理示例
- 《籃球規(guī)則》課件
- 【MOOC】高頻電子技術(shù)-四川信息職業(yè)技術(shù)學(xué)院 中國(guó)大學(xué)慕課MOOC答案
- 2023年全國(guó)中學(xué)生生物學(xué)聯(lián)賽試題及詳細(xì)解析
- 交通法規(guī)新規(guī)定全文培訓(xùn)
- 興業(yè)銀行個(gè)人助學(xué)貸款協(xié)議
- 醫(yī)院依法執(zhí)業(yè)培訓(xùn)課件
- 注冊(cè)監(jiān)理工程師練習(xí)題庫(kù)(附答案)
- 2024年甘肅省公務(wù)員錄用考試《行測(cè)》真題及答案解析
- 2024年廣東省公務(wù)員錄用考試《行測(cè)》真題及解析
評(píng)論
0/150
提交評(píng)論