eda课程设计(基于vhdl语言的8位数字密码锁设计内容摘要:

nal。 back: delete signal。 cheak: verify code signal。 set: code ok。 close: turn off lock。 lock: state display。 warn: warning signal。 count: counter signal a1,a2,a3,a4,a5,a6,a7,a8: coding output display。 */ module lockcode(n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,back,cheak,set,close,lock, warn,a1,a2,a3,a4,a5,a6,a7,a8,m1,m2,m3,m4,m5,m6,m7,m8, a,b,c,d,e,f,g,clk)。 parameter N=10。 input n0,n1,n2,n3,n4,n5,n6,n7,n8,n9。 input back,cheak,set,close,clk。 output lock,warn,a,b,c,d,e,f,g,m1,m2,m3,m4,m5,m6,m7,m8。 reg lock,warn,a,b,c,d,e,f,g,m1,m2,m3,m4,m5,m6,m7,m8。 output[3:0] a1,a2,a3,a4,a5,a6,a7,a8。 reg[3:0] a1,a2,a3,a4,a5,a6,a7,a8,temp,count。 reg[2:0] flag,t。 reg[31:0] code。 always @(posedge clk) begin //密码输入显示控制 if({n0,n1,n2,n3,n4,n5,n6,n7,n8,n9}!=1039。 b0000000000) begin case({n9,n8,n7,n6,n5,n4,n3,n2,n1,n0}) 1039。 b0000000001: temp=439。 d0。 1039。 b0000000010: temp=439。 d1。 1039。 b0000000100: temp=439。 d2。 1039。 b0000001000: temp=439。 d3。 1039。 b0000010000: temp=439。 d4。 1039。 b0000100000: temp=439。 d5。 1039。 b0001000000: temp=439。 d6。 1039。 b0010000000: temp=439。 d7。 1039。 b0100000000: temp=439。 d8。 1039。 b1000000000: temp=439。 d9。 endcase a8=a7。 a7=a6。 a6=a5。 a5=a4。 //输入密码时逐位左移 a4=a3。 a3=a2。 a2=a1。 a1=temp。 end else if(back) //密码删除控制 begin a1=a2。 a2=a3。 a3=a4。 a4=a5。 //右移 a5=a6。 a6=a7。 a7=a8。 a8=439。 b0。 end end。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。