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