基于Verilog HDL密碼鎖設(shè)計(jì)_第1頁
基于Verilog HDL密碼鎖設(shè)計(jì)_第2頁
基于Verilog HDL密碼鎖設(shè)計(jì)_第3頁
基于Verilog HDL密碼鎖設(shè)計(jì)_第4頁
基于Verilog HDL密碼鎖設(shè)計(jì)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、基于Verilog HDL密碼鎖設(shè)計(jì)摘 要 隨著科技的發(fā)展數(shù)字電路的各種產(chǎn)品廣泛應(yīng)用,傳統(tǒng)的機(jī)械鎖由于其構(gòu)造的簡單,安全性不高,電子密碼鎖其保密性高,使用靈活性好,安全系數(shù)高,使用方便,將會是未來使用的趨勢。本設(shè)計(jì)使用EDA設(shè)計(jì)使設(shè)計(jì)過程廷到高度自動化,其具有強(qiáng)大的設(shè)計(jì)功能、測試、仿真分析、管理等功能。使用EDA環(huán)境完成電路的系統(tǒng)綜合設(shè)計(jì)和仿真。用VHDL可以更加快速、靈活地設(shè)計(jì)出符合各種要求的密碼鎖。 本設(shè)計(jì)基于Verilog HDL語言來設(shè)計(jì)密碼鎖,先介紹設(shè)計(jì)要求和整體設(shè)計(jì)思想,隨后對所使用各模塊分別為蜂鳴器模塊、顯示模塊、控制模塊、頂層模塊進(jìn)行了介紹,給出各個模塊的主要代碼,在對各個模塊

2、的功能進(jìn)行仿真。關(guān)鍵字密碼鎖 Verilog HDL Quartus II總體設(shè)計(jì)密碼鎖分為四個模塊:頂層模塊、顯示模塊、蜂鳴器模塊、控制模塊。其中由頂層模塊調(diào)其他分模塊來實(shí)現(xiàn)密碼鎖功能。密碼鎖功能:1.由12個撥碼開關(guān)設(shè)置三位密碼(0-9)2.再輸入密碼開鎖,密碼正確,指示燈亮開鎖成功。3.密碼輸入錯誤,蜂鳴器響五秒,表示開鎖失敗。設(shè)計(jì)思路:本設(shè)計(jì)以007為萬能密碼在忘記密碼時開鎖使用。開始時密碼鎖處于關(guān)閉的狀態(tài),輸入萬能密碼將鎖打開。在鎖處于打開的狀態(tài)時設(shè)計(jì)密碼,此時指示燈處于亮的狀態(tài),說明鎖處于開的狀態(tài)。設(shè)置好密碼后按關(guān)閉撥碼使鎖關(guān)閉,指示燈處于滅的狀態(tài)。再輸入三位數(shù)字進(jìn)行開瑣,如果輸入

3、的密碼正確則指示燈亮,表示開瑣成功,否則蜂鳴器發(fā)出響聲,并持續(xù)五秒鐘,表示開鎖失敗??傮w框圖調(diào)用部分頂層模塊顯示部分七段數(shù)碼管報(bào)警部分蜂鳴器密碼設(shè)置12個撥碼開關(guān) 圖1.0 總體框圖模塊功能其及主要代碼1. 頂層模塊實(shí)現(xiàn)幾個模塊的配合工作,它能實(shí)現(xiàn)對密碼的設(shè)置和顯示,同時在密碼正確時時燈亮,在密碼錯誤時蜂鳴器發(fā)出五秒鐘的響聲。程序如下:module dingceng(n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,set,close,clk1,clk2,clk3,lock,alarm,Q,ss1,ss0);input n0,n1,n2,n3,n4,n5,n6,n7,n8,n9;in

4、put set,close;input clk1,clk2,clk3;output lock,alarm,ss1,ss0;output6:0 Q;reg lock,alarm;reg ss0,ss1;reg6:0 Q;wire3:0 X1,X2,X3;wire X4,X5;code u1(.lock(lock),.warning(X4),.num1(X1),.num2(X2),.num3(X3),.clk(clk1),.n0(n0),.n1(n1),.n2(n2),.n3(n3),.n4(n4),.n5(n5),.n6(n6),.n7(n7),.n8(n8),.n9(n9),.set(set)

5、,.close(close);show u2(.A(X1),.B(X2),.C(X3),.clk(clk2),.Q(Q6:0),.ss1(ss1),.ss0(ss0);speaker u3(.ENA(X4),.CLK2(clk3),.COUT(alarm);endmodule 2.蜂鳴器模塊蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用各類電子產(chǎn)品中作發(fā)聲器件。如圖為其原理圖:COUTENACLK2K 圖 1.1 蜂鳴器原理圖結(jié)構(gòu)蜂鳴器功能實(shí)現(xiàn):程序共有兩個輸入信號分別為ENA和CLK2,一個輸出信號COUT。當(dāng)從信號輸入模塊檢測到有開關(guān)輸入時,信號ENA已置1,CLK2上升沿

6、到來時,有程序使COUT為1,蜂鳴器發(fā)出報(bào)警信號,并且進(jìn)入一個5秒鐘的循環(huán),時間到達(dá)時,跳出循環(huán),蜂鳴器停止報(bào)警。程序如下:module speaker(ENA,CLK2,COUT); /ENA為使能信號,CLK為時鐘信號規(guī)定工作頻率input ENA,CLK2;output COUT;reg COUT;reg3:0 Q1;always(posedge CLK2) /CLK2為敏感信號begin if(ENA&&Q1<6) /當(dāng)ENA為1并且Q1小于6時執(zhí)行下面的語句Q1=Q1+1;if(ENA) /ENA為0時,執(zhí)行下面的語句Q1=0;endalwaysbeginif(

7、Q1=6|Q1=0)COUT='b0;elseCOUT='b1;endEndmodule3.顯示模塊數(shù)碼管常用于電子產(chǎn)品的顯示部分,原理簡單易于實(shí)現(xiàn),將BCD碼經(jīng)譯碼后顯示成十進(jìn)制的數(shù)字顯示模塊功能實(shí)現(xiàn):模塊共有四個輸入信號A、B、C、CLK,三個輸出信號分別為Q、SS1、SS2。SS1、SS2可對三個數(shù)碼管進(jìn)行片選,使它們分別亮。A、B、C接段選,以控制數(shù)碼管顯示什么數(shù)字。程序如下:module show(A,B,C,clk,Q,ss1,ss0);input3:0 A,B,C;input clk;output6:0 Q;output ss1,ss0;reg1:0 M;reg

8、ss0,ss1;reg6:0 Q;always(posedge clk)beginM=M+1;if(M='b11)M<='b00;endalways(posedge clk)beginif(M='b00)beginss1<=0;ss0<=0;case(A)0:Q<='b0111111;1:Q<='b0000110;2:Q<='b1011011;3:Q<='b1001111;4:Q<='b1100110;5:Q<='b1101101;6:Q<='b11111

9、01;7:Q<='b0000111;8:Q<='b1111111;9:Q<='b1101111;endcaseendif(M='b01)beginss1<=0;ss0<=1;case(B)0:Q<='b0111111;1:Q<='b0000110;2:Q<='b1011011;3:Q<='b1001111;4:Q<='b1100110;5:Q<='b1101101;6:Q<='b1111101;7:Q<='b0000111

10、;8:Q<='b1111111;9:Q<='b1101111;endcaseendif(M='b10)beginss1<=1;ss0<=0;case(C)0:Q<='b0111111;1:Q<='b0000110;2:Q<='b1011011;3:Q<='b1001111;4:Q<='b1100110;5:Q<='b1101101;6:Q<='b1111101;7:Q<='b0000111;8:Q<='b1111111;9

11、:Q<='b1101111;endcaseendendEndmodule4.控制模塊控制模塊用于密碼的設(shè)置控制模塊功能實(shí)現(xiàn):模塊可以通過程序的執(zhí)行實(shí)現(xiàn)對密碼進(jìn)行設(shè)置和進(jìn)行開瑣,開始時鎖處于關(guān)閉的狀態(tài),即為1,輸入事先設(shè)置的萬能密碼開瑣,在鎖開的狀態(tài)時設(shè)置密碼,然后將鎖關(guān)閉,再輸入三位數(shù)字進(jìn)行開鎖,正確時為1既燈亮,否則為0為1,即蜂鳴器響。 控制模塊程序如下:/*clk:時鐘信號n0,n1,n2,n3,n4,n5,n6,n7,n8,n9:密碼輸入信號lock:狀態(tài)顯示信號close:關(guān)信號set:密碼確認(rèn)信號*/module code(lock,warning,num1,num2

12、,num3,clk,n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,set,close);input n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,set,close,clk;output3:0num1,num2,num3;output lock,warning;reg lock,warning;reg3:0num1,num2,num3,temp;reg11:0code;always(posedge clk)beginif(n0,n1,n2,n3,n4,n5,n6,n7,n8,n9!=10'b0000000000)begin case(n9,n8,n7,n6,

13、n5,n4,n3,n2,n1,n0)10'b0000000001:temp=1'd0;10'b0000000010:temp=1'd1;10'b0000000100:temp=1'd2;10'b0000001000:temp=1'd3;10'b0000010000:temp=1'd4;10'b0000100000:temp=1'd5;10'b0001000000:temp=1'd6;10'b0010000000:temp=1'd7;10'b0100000000

14、:temp=1'd8;10'b1000000000:temp=1'd9;endcasenum3<=num2;num2<=num1;num1<=temp;endif(close)beginnum1<=0;num2<=0;num3<=0;endendalways(posedge clk)beginif(lock=0&&set)beginif(code=num3,num2,num1)lock<=1;else if(num3,num2,num1=16'b000000000111)lock<=1;else w

15、arning<=1;endif(lock=1&&close)lock<=0;if(close)warning<=0;endalways(posedge clk)beginif(lock=1&&set)code<=num3,num2,num1;endEndmodule各個模塊功能仿真波形1.頂層模塊時序仿真:圖1.2 萬能密碼開鎖的波形圖1.3 設(shè)置密碼的波形圖1.4 開鎖失敗的波形2. 蜂鳴器時序仿真圖1.5:當(dāng)ENA為1時且CLK2上升沿到來時,COUT被置1,即蜂鳴器開始發(fā)出響聲圖1.5 蜂鳴器功能波形3. 顯示模塊時序仿真:圖1.6

16、:SS0、SS1不斷的進(jìn)行片選使三個數(shù)碼管分別顯示所輸入的密碼,以實(shí)現(xiàn)對密碼的動態(tài)顯示圖1.6 顯示模塊功能波形4. 控制模塊時序仿真圖1.7:輸入萬能密碼007,并使set置1,運(yùn)行程序后lock被置。說明開鎖成功。圖1.7 輸入萬能密碼后的波形圖1.8:鎖開的狀態(tài)下設(shè)置密碼123,并使close置1,使鎖關(guān)閉,再set使置1,此時lock置0,表示鎖關(guān)閉。實(shí)現(xiàn)設(shè)置密碼的功能。圖1.8 設(shè)置密碼波形圖1.9:輸入密碼123即正確的密碼進(jìn)行解鎖。因?yàn)檩斎氲拿艽a正確所以使lock置1,表示開鎖成功。圖1.9 成功開鎖波形圖2.0:輸入錯誤密碼234時,warning被置1,表示開鎖失敗。圖2.0 開鎖失敗的波形總結(jié)通過本設(shè)計(jì)可以學(xué)的到很多的東西,同時不僅可以鞏固所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次設(shè)計(jì),進(jìn)一步加深了對EDA的了解,。每一個子模塊

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論