简单密码锁

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
 
   
   
 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值