• 方案介紹
  • 附件下載
  • 相關推薦
申請入駐 產業(yè)圖譜

五位二進制簡易密碼鎖verilog代碼ego1開發(fā)板vivado軟件

05/29 10:38
427
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

1-231124214004X9.doc

共1個文件

名稱:五位二進制簡易密碼鎖verilog代碼ego1開發(fā)板vivado軟件(代碼在文末下載)

軟件:VIVADO

語言:Verilog

代碼功能:

1、設計五位二進制簡易密碼鎖,密碼用五位二進制數組成;

2、用按鍵預設置密碼和改動密碼;

3、輸入密碼如果與設置密碼一致,則用一個LED燈表示輸入正確,否則用一個LED燈顯示輸入錯誤。

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

本代碼已在ego1開發(fā)板驗證,開發(fā)板如下,其他開發(fā)板可以修改管腳適配:

ego1開發(fā)板.png

演示視頻:

設計文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. RTL圖

5. 管腳分配

6. Testbench

7. 仿真圖

整體仿真圖

圖中仿真了原始密碼為11111時嗎,輸入10111,密碼錯誤,然后再次輸入11111,按下確認鍵后,密碼鎖打開(LED1亮),次數按下修改密碼按鍵,輸入10111,將密碼修改為10111,然后關鎖,再次輸入10111,密碼鎖打開。

按鍵消抖模塊(上升沿檢測)

密碼輸入模塊

圖中仿真了輸入10111,密碼錯誤,然后再次輸入11111,輸入10111,將密碼修改為10111,然后關鎖,再次輸入10111

密碼鎖控制模塊

圖中仿真了原始密碼為11111時,輸入10111,密碼錯誤,然后再次輸入11111,按下確認鍵后,密碼鎖打開(LED1亮),次數按下修改密碼按鍵,輸入10111,將密碼修改為10111,然后關鎖,再次輸入10111,密碼鎖打開。

數碼管顯示模塊

密碼重置模塊

圖中仿真了原始密碼為11111時,將密碼修改為10111的過程。

部分代碼展示:

//密碼鎖控制模塊
module?mimasuo_ctrl(
input?clk,
input?[19:0]?password,//輸入的密碼
input?[19:0]?correct_password,//正確的密碼
input?confirm,//確認
input?reset,//清楚報警
input?modify,//修改密碼
input?lock_up,//上鎖
output?led_open,//開鎖指示燈
output?[2:0]?current_state//當前狀態(tài)
);
//定義6個狀態(tài)
parameter?s_lock=3'd0;
parameter?s_compare=3'd1;
parameter?s_pass=3'd2;
parameter?s_error=3'd3;
parameter?s_modify=3'd4;
parameter?s_alarm=3'd5;
reg?[2:0]?state=3'd0;
assign?current_state=state;
reg?[2:0]?error_cnt=3'd0;
//狀態(tài)機控制
always@(posedge?clk)
case(state)
s_lock://鎖定狀態(tài)
if(confirm==1)
state<=s_compare;
else
state<=s_lock;
s_compare://比對密碼狀態(tài)
if(correct_password==password)
state<=s_pass;
else
state<=s_error;
s_pass://密碼正確
if(modify==1)
state<=s_modify;//修改密碼
else?if(lock_up==1)
???state<=s_lock;//上鎖
else
state<=s_pass;
s_error://密碼錯誤
state<=s_lock;//繼續(xù)鎖定
s_modify://修改密碼
if(confirm==1)
state<=s_pass;//返回開鎖狀態(tài)
else
state<=s_modify;
default:state<=s_lock;
endcase
reg?led_open_buf=0;
always@(posedge?clk)
if(state==s_modify?||?state==s_pass)//pass?和?modify狀態(tài)下都是開鎖狀態(tài)
led_open_buf<=1;//開鎖
else
led_open_buf<=0;//關鎖
assign?led_open=led_open_buf;
endmodule

點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=308

  • 1-231124214004X9.doc
    下載

相關推薦