rst復位系統,系統初始化密碼爲0001;
按set鍵輸入狀態,由data輸入密碼;
按open鍵開鎖,當輸入4位密碼與原密碼相同時,輸出1111,當密碼不正確時輸出0000;
按chang鍵修改密碼,要求先輸入原來密碼;
module lock4(clk,rst,open,set,change,data,dataout,codeout,keyout);
input[3:0] data;
input clk,rst,open,set,change;
output[3:0] dataout,keyout,codeout;
reg[3:0] key,code,dout;
assign codeout=code;
assign keyout=key;
assign dataout=dout;
always@(posedge clk)
if(!rst)
key<=4'b1;
else if(set)
code<=data;
else if(open)
begin
if(code==key) dout<=4'b1111;
else dout<=4'b0;
end
else if(change)
begin
if(code==key) key<=data;
end
else dout<=4'b0;
endmodule