• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

4位密碼鎖控制basys2開發(fā)板verilog密碼修改四位密碼鎖

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

1-231106230JG19.doc

共1個(gè)文件

名稱:4位密碼鎖控制basys2開發(fā)板verilog密碼修改四位密碼鎖(代碼在文末下載)

軟件:ISE

語言:Verilog

代碼功能:

4位密碼鎖控制器

1)數(shù)碼輸入:每輸入一組4位二進(jìn)制數(shù),就輸入一個(gè)數(shù)值,并在顯示器上的顯示出該數(shù)值,同時(shí)將先前輸入的數(shù)據(jù)依序左移一個(gè)數(shù)字位置。

2)數(shù)碼清除:按下此鍵可清除前面輸入值。

3)密碼更改:按下此鍵時(shí)會(huì)將目前的數(shù)字設(shè)定成新的密碼。

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

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

basys2.png

演示視頻:

設(shè)計(jì)文檔:

1. 工程文件

2. 程序文件

3. 管腳約束

4. 程序編譯

5. RTL圖

整體框圖

模塊連接圖

單模塊

6. Testbench

7. 仿真圖

密碼輸入方式:先將key_0、key_1、key_2、key_3撥到對(duì)應(yīng)電平代表的二進(jìn)制數(shù),再按下key_en鍵輸入到數(shù)碼管顯示。

testbench仿真激勵(lì)文件功能:密碼鎖上電默認(rèn)密碼1234,首先模擬輸入數(shù)字3,然后通過清除按鍵清除3,再依次輸入1234,按確認(rèn)鍵(confirm)開鎖,此時(shí)可以看到led_open拉高,表示開鎖,然后按下修改按鍵(modify),再依次輸入3723將密碼修改為3723。再按關(guān)鎖鍵(lock_up)關(guān)鎖。最后再依次輸入3723將密碼鎖打開。

7.1 整體仿真圖

7.2 mima_input模塊

7.3 mimasuo_ctrl模塊

7.4 reset_password模塊

7.5 display模塊

部分代碼展示:

//1)數(shù)碼輸入:每輸入一組4位二進(jìn)制數(shù),就輸入一個(gè)數(shù)值,并在顯示器上的顯示出該數(shù)值,同時(shí)將先前輸入的數(shù)據(jù)依序左移一個(gè)數(shù)字位置。
//2)數(shù)碼清除:按下此鍵可清除前面輸入值。
//3)密碼更改:按下此鍵時(shí)會(huì)將目前的數(shù)字設(shè)定成新的密碼。
module?mimasuo(
input?clk,//50M時(shí)鐘
//每輸入一組4位二進(jìn)制數(shù)
input?key_0,
input?key_1,
input?key_2,
input?key_3,
input?key_en,//將4位二進(jìn)制數(shù)輸入
input?reset_key,//密碼清除
input?confirm,//確認(rèn)
input?modify,//修改密碼
input?lock_up,//關(guān)鎖
output?led_open,//開鎖指示燈
output?[3:0]?smg_wei,//位選,高電平亮
output?[7:0]?smg_duan//段選,高電平亮
);
wire?[2:0]?current_state;
wire?[15:0]?password;
wire?[15:0]?correct_password;
//密碼輸入模塊
mima_input?i_mima_input(
.?clk(clk),
//每輸入一組4位二進(jìn)制數(shù)
.?key_0(key_0),
.?key_1(key_1),
.?key_2(key_2),
.?key_3(key_3),
.?key_en(key_en),//將4位二進(jìn)制數(shù)輸入
.?reset_key(reset_key),//密碼清除
.?current_state(current_state),//狀態(tài)機(jī)狀態(tài)
.?password(password)//輸入的密碼
);
//密碼鎖控制模塊
mimasuo_ctrl?i_mimasuo_ctrl(
.?clk(clk),
.?password(password),//輸入的密碼
.?correct_password(correct_password),//正確的密碼
.?confirm(confirm),//確認(rèn)
.?modify(modify),//修改密碼
.?lock_up(lock_up),//關(guān)鎖
.?led_open(led_open),//開鎖指示燈
.?current_state(current_state)//狀態(tài)機(jī)狀態(tài)
);
//顯示模塊
display?i_display
(
.?clk(clk),
.?password(password),//輸入的密碼
.?smg_wei(smg_wei),//位選,高電平亮
.?smg_duan(smg_duan)//段選,高電平亮
);
//密碼修改模塊
reset_password?i_reset_password(
.?clk(clk),
.?password(password),//輸入的密碼
.?correct_password(correct_password),//正確的密碼
.?confirm(confirm),//確認(rèn)
.?current_state(current_state)//狀態(tài)機(jī)狀態(tài)
);
endmodule

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

  • 1-231106230JG19.doc
    下載

相關(guān)推薦