欢迎来到天天文库
浏览记录
ID:47036079
大小:363.26 KB
页数:21页
时间:2019-07-03
《基于某Verilog地数字密码锁设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准课程设计报告课程设计题目:基于Verilog的数字密码锁设计学号:201520070209学生姓名:尹景兴专业:通信工程文档大全实用标准班级:1521301指导教师:钟凯2018年1月12日目录一、课程设计内容-1-二、实现思路-1-1.解锁过程-1-2.报警过程-1-文档大全实用标准3.重置密码过程-1-三、实现程序-2-四、仿真验证-5-1.解锁过程-5-2.报警过程-6-3.重置密码过程-8-五、设计心得-11-一、文档大全实用标准一、课程设计内容设计一个4位串行数字密码锁,要求如下:1.开锁密码为4位二进制,当输入密码与锁内给定的密码一致时,方可开锁。否则进入“错误”状
2、态,发出报警信号。2.锁内的密码可调。3.串行数字密码锁的报警,直到按下复位开关,才停下。此时,数字密码锁又自动等待下一个开锁状态。二、实现思路1.解锁过程密码锁出厂之前预设一个初始密码,在本课程设计中将其预设为0101。在密码锁上锁状态下,输入正确密码,密码锁打开。2.报警过程当输入的密码与锁内密码不一致时,蜂鸣器响起,直到按下取消按键,蜂鸣器才停止鸣叫。文档大全实用标准1.重置密码过程重置密码时,需先验证原密码是否正确。当输入原密码正确,才可以输入新密码,设置新密码为锁内密码。一、实现程序modulecoded_lock(clk,in,set,pause,value1,value2
3、,store,bee,status,temp_set,ook);inputclk,in,set,pause;outputregbee=0;outputregstatus=0;outputregtemp_set=0;outputregook=0;outputreg[3:0]value1;outputreg[3:0]value2;outputreg[3:0]store;regen=1;reg[2:0]i=0;reg[2:0]j=0;reg[2:0]k=0;reg[2:0]count1=0;reg[2:0]count2=0;reg[2:0]count3=0;文档大全实用标准reg[3:0]k
4、eynum=4'b0101;always@(posedgeclk)beginif(set==1)forktemp_set<=1;value1<=4'bxxxx;value2<=4'bxxxx;store<=4'bxxxx;i<=0;j<=0;k<=0;ook<=0;count1<=0;count2<=0;count3<=0;joinendalways@(posedgeclk)beginif(temp_set==0)begincase({en,in})2'b11:beginvalue1[i]<=1'b1;i<=i+1;count1<=count1+1;end2'b10:beginvalu
5、e1[i]<=1'b0;i<=i+1;count1<=count1+1;end文档大全实用标准endcaseendendalways@(posedgeclk)beginif(count1==4)beginif(value1==keynum)status<=1;elsebee<=1;i<=0;count1<=0;value1<=4'bxxxx;endendalways@(posedgeclk)beginif(pause==1)bee<=0;endalways@(posedgeclk)beginif(temp_set==1&&ook==0)begin文档大全实用标准case({en,in}
6、)2'b11:beginvalue2[j]<=1'b1;j<=j+1;count2<=count2+1;end2'b10:beginvalue2[j]<=1'b0;j<=j+1;count2<=count2+1;endendcaseendendalways@(posedgeclk)beginif(count2==4)beginif(value2==keynum)ook<=1;j<=0;count2<=0;value2<=4'bxxxx;endendalways@(posedgeclk)beginif(ook==1)begincase({en,in})2'b11:beginstore[k
7、]<=1'b1;k<=k+1;count3<=count3+1;end2'b10:beginstore[k]<=1'b0;k<=k+1;count3<=count3文档大全实用标准+1;endendcaseendendalways@(posedgeclk)beginif(count3==4)beginkeynum<=store;temp_set<=0;ook<=0;k<=0;count3<=0;endendendmodule一、仿真验证1.解锁
此文档下载收益归作者所有