




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)題目:基于Verilog的數(shù)字密碼鎖設(shè)計(jì) 學(xué) 號(hào):201520070209學(xué)生姓名:尹景興專 業(yè):通信工程班 級(jí):1521301指導(dǎo)教師:鐘凱 2018年 1月 12 日目 錄一、課程設(shè)計(jì)內(nèi)容- 1 -二、實(shí)現(xiàn)思路- 1 -1.解鎖過程- 1 -2.報(bào)警過程- 1 -3.重置密碼過程- 1 -三、實(shí)現(xiàn)程序- 2 -四、仿真驗(yàn)證- 5 -1.解鎖過程- 5 -2.報(bào)警過程- 6 -3.重置密碼過程- 8 -五、設(shè)計(jì)心得- 11 -一、 課程設(shè)計(jì)內(nèi)容設(shè)計(jì)一個(gè)4位串行數(shù)字密碼鎖,要求如下:1. 開鎖密碼為4位二進(jìn)制,當(dāng)輸入密碼與鎖內(nèi)給定的密碼一致時(shí),方可開鎖。否則進(jìn)入“錯(cuò)誤”狀態(tài)
2、,發(fā)出報(bào)警信號(hào)。2. 鎖內(nèi)的密碼可調(diào)。3. 串行數(shù)字密碼鎖的報(bào)警,直到按下復(fù)位開關(guān),才停下。此時(shí),數(shù)字密碼鎖又自動(dòng)等待下一個(gè)開鎖狀態(tài)。二、 實(shí)現(xiàn)思路1. 解鎖過程密碼鎖出廠之前預(yù)設(shè)一個(gè)初始密碼,在本課程設(shè)計(jì)中將其預(yù)設(shè)為0101。在密碼鎖上鎖狀態(tài)下,輸入正確密碼,密碼鎖打開。2. 報(bào)警過程當(dāng)輸入的密碼與鎖內(nèi)密碼不一致時(shí),蜂鳴器響起,直到按下取消按鍵,蜂鳴器才停止鳴叫。3. 重置密碼過程重置密碼時(shí),需先驗(yàn)證原密碼是否正確。當(dāng)輸入原密碼正確,才可以輸入新密碼,設(shè)置新密碼為鎖內(nèi)密碼。三、 實(shí)現(xiàn)程序module coded_lock(clk,in,set,pause,value1,value2,stor
3、e,bee,status,temp_set,ook); input clk,in,set,pause; output reg bee = 0; output reg status = 0; output reg temp_set = 0; output reg ook = 0; output reg3:0 value1; output reg3:0 value2; output reg3:0 store; reg en = 1; reg2:0 i = 0; reg2:0 j = 0; reg2:0 k = 0; reg2:0 count1 = 0; reg2:0 count2 = 0; reg
4、2:0 count3 = 0; reg3:0 keynum = 4'b0101; always (posedge clk) begin if(set = 1) fork temp_set <= 1; value1 <= 4'bxxxx; value2 <= 4'bxxxx; store <= 4'bxxxx; i <= 0; j <= 0; k <= 0; ook <= 0; count1 <= 0; count2 <= 0; count3 <= 0; join end always (posed
5、ge clk) begin if(temp_set = 0) begin case(en,in) 2'b11: begin value1i <= 1'b1; i <= i + 1; count1 <= count1 + 1;end 2'b10: begin value1i <= 1'b0; i <= i + 1; count1 <= count1 + 1;end endcase end end always (posedge clk) begin if(count1 = 4) begin if(value1 = keynum)
6、 status <= 1; else bee <= 1; i <= 0; count1 <= 0; value1 <= 4'bxxxx; end end always (posedge clk) begin if(pause = 1) bee <= 0; end always (posedge clk) begin if(temp_set = 1 && ook = 0) begin case(en,in) 2'b11: begin value2j <= 1'b1; j <= j + 1; count2 &l
7、t;= count2 + 1;end 2'b10: begin value2j <= 1'b0; j <= j + 1; count2 <= count2 + 1;end endcase end end always (posedge clk) begin if(count2 = 4) begin if(value2 = keynum) ook <= 1; j <= 0; count2 <= 0; value2 <= 4'bxxxx; end end always (posedge clk) begin if(ook = 1)
8、begin case(en,in) 2'b11: begin storek <= 1'b1; k <= k + 1; count3 <= count3 + 1;end 2'b10: begin storek <= 1'b0; k <= k + 1; count3 <= count3 + 1;end endcase end end always (posedge clk) begin if(count3 = 4) begin keynum <= store; temp_set <= 0; ook <= 0; k
9、 <= 0; count3 <= 0; end end endmodule 四、 仿真驗(yàn)證1. 解鎖過程測(cè)試平臺(tái)代碼:timescale 1ns/1nsmodule text; reg clk,set,pause; reg in; wire bee,status,ook; wire3:0 value1,value2; wire3:0 store; wire temp_set; coded_lock temp(.clk(clk),.in(in),.set(set),.pause(pause),.bee(bee),.ook(ook),.status(status),.value1(va
10、lue1),.value2(value2),.store(store),.temp_set(temp_set); always #10 clk = clk; initial fork clk = 0; in = 1'bx; set = 0; pause = 0; join initial begin #123 in = 1'b1; #23 in = 1'bx; #45 in = 1'b0; #23 in = 1'bx; #45 in = 1'b1; #23 in = 1'bx; #45 in = 1'b0; #23 in = 1&
11、#39;bx; end endmodule 如圖,當(dāng)輸入預(yù)設(shè)密碼0101時(shí),圖中status由0變?yōu)?,表示密碼鎖打開。2. 報(bào)警過程測(cè)試平臺(tái)代碼:timescale 1ns/1nsmodule text3; reg clk,set,pause; reg in; wire bee,status,ook; wire3:0 value1,value2; wire3:0 store; wire temp_set; coded_lock temp3(.clk(clk),.in(in),.set(set),.pause(pause),.bee(bee),.ook(ook),.status(status)
12、,.value1(value1),.value2(value2),.store(store),.temp_set(temp_set); always #10 clk = clk; initial fork clk = 0; in = 1'bx; set = 0; pause = 0; join initial begin #123 in = 1'b1; #23 in = 1'bx; #45 in = 1'b1; #23 in = 1'bx; #45 in = 1'b0; #23 in = 1'bx; #45 in = 1'b0;
13、#23 in = 1'bx; #123 pause = 1; #23 pause = 0; end endmodule如下圖,當(dāng)輸入密碼0011時(shí),與鎖內(nèi)密碼不一致,bee由0變?yōu)?,表示蜂鳴器響起。當(dāng)按下pause按鈕時(shí),bee由1變?yōu)?,表示蜂鳴器停止鳴叫。3. 重置密碼過程測(cè)試平臺(tái)代碼:timescale 1ns/1nsmodule text2; reg clk,set,pause; reg in; wire bee,status,ook; wire3:0 value1,value2; wire3:0 store; wire temp_set; coded_lock temp2(
14、.clk(clk),.in(in),.set(set),.pause(pause),.bee(bee),.ook(ook),.status(status),.value1(value1),.value2(value2),.store(store),.temp_set(temp_set); always #10 clk = clk; initial fork clk = 0; in = 1'bx; set = 0; pause = 0; join initial begin #123 set = 1; #21 set = 0; #123 in = 1'b1; #21 in = 1
15、'bx; #45 in = 1'b0; #21 in = 1'bx; #45 in = 1'b1; #21 in = 1'bx; #45 in = 1'b0; #21 in = 1'bx; #125 in = 1'b0; #21 in = 1'bx; #45 in = 1'b1; #21 in = 1'bx; #45 in = 1'b0; #21 in = 1'bx; #45 in = 1'b1; #21 in = 1'bx; #125 in = 1'b0; #21
16、in = 1'bx; #45 in = 1'b1; #21 in = 1'bx; #45 in = 1'b0; #21 in = 1'bx; #45 in = 1'b1; #21 in = 1'bx;end endmodule 如下圖,當(dāng)正確輸入預(yù)設(shè)密碼0101時(shí),ook由0變?yōu)?,表示可以更改密碼,更改密碼為1010。接著,輸入新密碼1010,status由0變?yōu)?,表示密碼鎖被新密碼打開,如下圖。五、 設(shè)計(jì)心得通過這次課程設(shè)計(jì),我更深入熟悉了Verilog編程的各個(gè)過程和原理,并且,成功地做出了一個(gè)產(chǎn)品的簡(jiǎn)化模型極大地挺高了我的學(xué)習(xí)興趣。當(dāng)然,設(shè)計(jì)過程中也遇到了各種問題和困難,我極力克服,過后感覺受益匪淺。我會(huì)再接再厲的。Bingo!- 11 -東華理工大學(xué)課程設(shè)計(jì)評(píng)分表學(xué)生姓名:尹景興 班級(jí):1521301 學(xué)號(hào):201520070209課程設(shè)計(jì)題目:基于Verilog的數(shù)字密碼鎖設(shè)計(jì) 項(xiàng)目?jī)?nèi)容滿分實(shí) 評(píng)選題能結(jié)合所學(xué)課程知識(shí)、有一定的能力訓(xùn)練。符合選題要求(5人一題)10工作量適中,難易度合理10能力水平能熟練應(yīng)用所學(xué)知識(shí),有一定查閱文
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 有機(jī)農(nóng)產(chǎn)品認(rèn)證咨詢服務(wù)協(xié)議
- 股份制公司運(yùn)營(yíng)方案
- 體育健身行業(yè)私教課程運(yùn)動(dòng)傷害免責(zé)協(xié)議
- 勞務(wù)安全責(zé)任合同
- 高效率會(huì)議組織及策劃方案
- 心理咨詢師個(gè)人咨詢免責(zé)協(xié)議書
- 股權(quán)出讓居間協(xié)議書
- 第六單元《生日》教學(xué)設(shè)計(jì)-2024-2025學(xué)年四年級(jí)下冊(cè)數(shù)學(xué)北師大版
- 第1課時(shí) 億以內(nèi)數(shù)的認(rèn)識(shí)(教學(xué)設(shè)計(jì))-2024-2025學(xué)年四年級(jí)上冊(cè)數(shù)學(xué)人教版
- 12《玩偶之家(節(jié)選)》教學(xué)設(shè)計(jì)新統(tǒng)編版選修必修中冊(cè) 2024-2025學(xué)年
- 餐飲服務(wù)食品安全監(jiān)督量化分級(jí)動(dòng)態(tài)等級(jí)評(píng)定檢查表
- 我國(guó)應(yīng)急通信保障能力評(píng)估體系探究(金)
- 井控-井口套管頭裝置⑥課件
- 病原生物與免疫學(xué)(中職)緒論P(yáng)PT課件
- 施工質(zhì)量管理體系與保證措施方案
- 變配電室受電方案
- 新起點(diǎn)小學(xué)英語(yǔ)一年級(jí)上冊(cè)單詞卡片(共23頁(yè))
- 譯林版五下英語(yǔ)1-3單元電子稿
- 墻面鋼筋網(wǎng)砂漿抹灰加固方案(共3頁(yè))
- (完整word版)蘇教版三年級(jí)數(shù)學(xué)下冊(cè)各單元教學(xué)目標(biāo)
- 飛機(jī)維修術(shù)語(yǔ)(英漢)解析
評(píng)論
0/150
提交評(píng)論