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

下載本文檔

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

文檔簡(jiǎn)介

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

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

3、的密碼正確則指示燈亮,表示開(kāi)瑣成功,否則蜂鳴器發(fā)出響聲,并持續(xù)五秒鐘,表示開(kāi)鎖失敗。總體框圖調(diào)用部分頂層模塊顯示部分七段數(shù)碼管報(bào)警部分蜂鳴器密碼設(shè)置12個(gè)撥碼開(kāi)關(guān) 圖1.0 總體框圖模塊功能其及主要代碼1. 頂層模塊實(shí)現(xiàn)幾個(gè)模塊的配合工作,它能實(shí)現(xiàn)對(duì)密碼的設(shè)置和顯示,同時(shí)在密碼正確時(shí)時(shí)燈亮,在密碼錯(cuò)誤時(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)用各類(lèi)電子產(chǎn)品中作發(fā)聲器件。如圖為其原理圖:COUTENACLK2K 圖 1.1 蜂鳴器原理圖結(jié)構(gòu)蜂鳴器功能實(shí)現(xiàn):程序共有兩個(gè)輸入信號(hào)分別為ENA和CLK2,一個(gè)輸出信號(hào)COUT。當(dāng)從信號(hào)輸入模塊檢測(cè)到有開(kāi)關(guān)輸入時(shí),信號(hào)ENA已置1,CLK2上升沿

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

7、Q1=6|Q1=0)COUT='b0;elseCOUT='b1;endEndmodule3.顯示模塊數(shù)碼管常用于電子產(chǎn)品的顯示部分,原理簡(jiǎn)單易于實(shí)現(xiàn),將BCD碼經(jīng)譯碼后顯示成十進(jìn)制的數(shù)字顯示模塊功能實(shí)現(xiàn):模塊共有四個(gè)輸入信號(hào)A、B、C、CLK,三個(gè)輸出信號(hào)分別為Q、SS1、SS2。SS1、SS2可對(duì)三個(gè)數(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):模塊可以通過(guò)程序的執(zhí)行實(shí)現(xiàn)對(duì)密碼進(jìn)行設(shè)置和進(jìn)行開(kāi)瑣,開(kāi)始時(shí)鎖處于關(guān)閉的狀態(tài),即為1,輸入事先設(shè)置的萬(wàn)能密碼開(kāi)瑣,在鎖開(kāi)的狀態(tài)時(shí)設(shè)置密碼,然后將鎖關(guān)閉,再輸入三位數(shù)字進(jìn)行開(kāi)鎖,正確時(shí)為1既燈亮,否則為0為1,即蜂鳴器響。 控制模塊程序如下:/*clk:時(shí)鐘信號(hào)n0,n1,n2,n3,n4,n5,n6,n7,n8,n9:密碼輸入信號(hào)lock:狀態(tài)顯示信號(hào)close:關(guān)信號(hào)set:密碼確認(rèn)信號(hào)*/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各個(gè)模塊功能仿真波形1.頂層模塊時(shí)序仿真:圖1.2 萬(wàn)能密碼開(kāi)鎖的波形圖1.3 設(shè)置密碼的波形圖1.4 開(kāi)鎖失敗的波形2. 蜂鳴器時(shí)序仿真圖1.5:當(dāng)ENA為1時(shí)且CLK2上升沿到來(lái)時(shí),COUT被置1,即蜂鳴器開(kāi)始發(fā)出響聲圖1.5 蜂鳴器功能波形3. 顯示模塊時(shí)序仿真:圖1.6

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論