名稱:Quartus電子密碼鎖Verilog代碼遠(yuǎn)程云端平臺
軟件:Quartus
語言:Verilog
代碼功能:
電子密碼鎖:
密碼有四位(為二進(jìn)制),有個(gè)能隨機(jī)產(chǎn)生四位二進(jìn)制數(shù)的程序作為密碼,按一個(gè)按鍵就可以產(chǎn)生這個(gè)隨機(jī)密碼,利用另外四個(gè)按鍵開鎖,有5次機(jī)會,都輸入錯(cuò)誤后蜂鳴器報(bào)警。有五個(gè)顯示管,一個(gè)顯示剩余輸入密碼的次數(shù),另外四個(gè)顯示輸入的密碼。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在遠(yuǎn)程云端平臺驗(yàn)證,遠(yuǎn)程云端平臺如下,其他遠(yuǎn)程云端平臺可以修改管腳適配:
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 管腳分配
6. 仿真文件
7. 仿真圖
整體仿真圖
下圖生成的隨機(jī)密碼為0111,先后輸入4次密碼,第一次輸入0101,按確認(rèn)鍵后錯(cuò)誤,剩余次數(shù)變?yōu)?,隨后輸入0010、1010都錯(cuò)誤,剩余次數(shù)也變?yōu)?,最后輸入0111,密碼正確,可輸入密碼次數(shù)回到5次。
部分代碼展示:
module?mimasuo( input?clk, input?reset,//復(fù)位 input?random_key,//隨機(jī)密碼按鍵 input?key_0,//輸入二進(jìn)制0 input?key_1,//輸入二進(jìn)制1 input?confirm_key,//確認(rèn)鍵,輸入完成后按下確認(rèn)鍵 input?lock_up,//關(guān)鎖按鍵 output?[3:0]?correct_password_led,//隨機(jī)密碼指示燈 output?led_open,//開鎖指示燈 output?alarm_beep,//報(bào)警蜂鳴器 output?[7:0]?segment,//數(shù)碼管段選顯示 output?[3:0]?select,?//數(shù)碼管位選顯示 output?[7:0]?HEX//數(shù)碼管段選顯示 ); wire?[3:0]?correct_password;//隨機(jī)密碼 wire?[3:0]?password_in;//顯示輸入密碼 wire?[2:0]?errorcnt;//顯示剩余次數(shù)計(jì)數(shù) //m序列產(chǎn)生隨機(jī)密碼 m_code?i_m_code( .?clk(clk), .?rst(reset), .?random_key(random_key),//隨機(jī)密碼按鍵 .?dout(correct_password)//輸出隨機(jī)密碼 ????); //控制模塊 mimasuo_ctrl?i_mimasuo_ctrl( .?clk(clk), .?reset(reset),//復(fù)位 .?key_0(key_0),//輸入二進(jìn)制0 .?key_1(key_1),//輸入二進(jìn)制1 .?confirm_key(confirm_key),//確認(rèn)鍵,輸入完成后按下確認(rèn)鍵 .?lock_up(lock_up),//關(guān)鎖按鍵 .?correct_password(correct_password),//隨機(jī)密碼 .?correct_password_led(correct_password_led),//隨機(jī)密碼指示燈 .?led_open(led_open),//開鎖指示燈 .?alarm_beep(alarm_beep),//報(bào)警蜂鳴器 .?password_in(password_in),//顯示輸入密碼 .?errorcnt(errorcnt)//顯示剩余次數(shù)計(jì)數(shù) ); //數(shù)碼管顯示模塊 display?i_display( .?clk(clk),// .?password_in(password_in),//輸入密碼 .?errorcnt(errorcnt),//剩余次數(shù)計(jì)數(shù) .?segment(segment),//數(shù)碼管段選顯示 .?select(select),?//數(shù)碼管位選顯示 .?HEX(HEX)//數(shù)碼管段選顯示 ); endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=354