欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数字密码锁FPGA课程设计报告.doc

    • 资源ID:36136450       资源大小:892.50KB        全文页数:12页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数字密码锁FPGA课程设计报告.doc

    西安邮电学院FPGA课程设计报告题 目: 数字密码锁 院 系: 专业班级: 学生姓名: 导师姓名: 起止时间: 至 2012年 9 月 21 日FPGA课程设计报告提纲1 任务设计一个简单的数字密码锁,假设预设密码为4位数:0000,当输入正确时输出为1、输入错误时输出为0。同时输出输入的次数,当3次以上输入错误时,输出一个超告警信号,即使第四、五次输入正确也输出告警信号。2 目的通过学习FPGA技术,应用于实践当中,掌握FPGA数字电路系统的开发流程,并且在自己的实践设计中熟练这门技术,同时排除和解决开发中遇到的问题,用Verilog语言编写设计所需要的实现的功能。3 使用环境 (软件/硬件环境,设备等)功能仿真和后仿真采用第三方验证工具(Modelsim),综合与布局布线工具为:Quartus II。4 FPGA课程设计详细内容4.1 技术规范一、 功能定义具体功能如下: (1)、用户初次使用,可按下am_en键进行密码设置。(2)、开锁时一次完整的输入密码,当输入的密码与设置的密码相同时密码锁打开,即lockopen为高电平,连接的绿灯亮;否则密码锁关闭,即warn_en为高电平,连接的红灯亮。 (3)、当输入错误的次数>3时,密码锁强制自动关闭。二、引脚定义Inputrst复位信号高电平有效Inputam_en密码设置键高电平有效Inputcipher_in 3:0密码输入InputEnter确定键高电平有效OutputReturn清除键高电平有效Outputwarn_en密码错误或输入次>3高电平有效4.2 设计方案一、 总体设计(1) 密码设置或修改模块用户初次使用密码锁时可通过按am_en键进行密码设置,先输入初始密码0000,则进入密码设置,高电平有效。密码是十进制的四位数字密码。以后修改密码时,按am_en键,然后输入旧密码,正确时方可进入密码设置选项,否则重新开始。输入旧密码密码正确YN存储密码输入新密码按am_en键(2) 密码输入模块开锁时,一次完整输入密码后,按下enter键进行密码验证,高电平有效,看输入的数字是否等于原密码的值,密码正确时开锁,否则关闭。当输入有误时,按下return键,清除输入的数字,重新输入(3) 密码输入次数计数模块开始时count=0,当输入密码按下enter键时且密码错误时count+1,当conut>3时,密码锁强制自动关闭。当输入的密码正确时,count不计数。(4) 显示模块当密码输入正确时,lockopen为高电平,绿色发光二极管灯亮,当密码输入错误时或者当count>3时,warn_en为高电平,红色发光二极管灯亮。输入密码密码正确N+1N>3红灯亮 开锁YYNN绿灯亮二、 总体设计图4.3 功能验证方案一、密码输入验证如图所示,输入密码时,当第一次输入错误,第二次输入密码正确时,计数器count计数为2,验证正确二、密码修改验证如图黄线后边仿真的验证,当更改密码时,需先使am_en为高电平时,方可更改密码,输入旧密码,然后输入新密码,再次验证新密码,验证正确4.4 电路设计源代码,功能仿真激励源代码及功能仿真结果报告设计源代码module latch(cipher_in,count,warn_en,rst,am_en);input rst,am_en;/am_en?input 3:0cipher_in;output warn_en;output1:0count;reg warn_en;reg1:0state,state_out;reg1:0count;/?reg3:0amend_cipher;parameter s0=2'b00, s1=2'b01, s2=2'b10, s3=2'b11;integer i;/?always(cipher_in or posedge rst)/?if(rst) begin state<=0; warn_en<=0; count<=0; amend_cipher<=0; i<=0;endelse if(!am_en) begin /?case(state_out) s0: if(cipher_in=amend_cipher) begin count<=1; warn_en<=0; end else state<=s1; s1:if(cipher_in=amend_cipher) begin count<=i; warn_en<=0; end else state<=s2; s2:if(cipher_in=amend_cipher) begin count<=i; warn_en<=0; end else state<=s3; s3:begin warn_en<=1; state<=s3; end /s4:; default:state<=s0; endcase end else begin state<=state; state_out<=0; end always(state or posedge rst)/? if(rst) begin i<=1; state_out<=0;end else begin i<=i+1; state_out<=state; end integer j; always(cipher_in or am_en or rst)/?if(rst)j<=0;elseif(am_en) case(j) 2'b00:begin if(cipher_in=amend_cipher) j<=j+1; else j<=j; end 2'b01:begin amend_cipher<=cipher_in; end default: j<=0; endcase else j<=0; endmodule 激励源代码module t_latch;/cipher_in,count,warn_en,rstreg rst,am_en;reg3:0cipher_in; wire warn_en;wire 1:0count;latch unit(.rst(rst), .count(count), .warn_en(warn_en), .cipher_in(cipher_in), .am_en(am_en);initial begin#10 rst=1;#10 rst=0;#10 am_en=0;#10 cipher_in=4'b1000;#10 cipher_in=4'b0000;#10 rst=1;#10 rst=0;#10 am_en=1;#10 cipher_in=4'b0000;#10 cipher_in=4'b1000;#10 am_en=0;#10 cipher_in=4'b0000;#10 cipher_in=4'b0001;#10 cipher_in=4'b1000;endendmodule上面的仿真结果显示1.输入密码时,当第一次输入错误,第二次输入密码正确时,计数器count计数为2,验证正确2.当更改密码时,需先使am_en为高电平时,方可更改密码,输入旧密码,然后输入新密码,再次验证新密码,验证正确4.5 综合及布局布线报告和引脚分布报告4.6 后仿真结果报告由于该设计有许多警告之处,后仿真的结果没能实现4.7 对结果和结论的问题讨论课程设计的结果讨论数字密码锁的密码验证、密码输错次数记录和密码修改实现了,但缺陷是密码是二进制的,没有设计为十进制的,还有密码输入错误时的清除功能没有实现。设计主要功能实现了,算是一个简单的数字密码锁,有好多的功能还可以添加,例如密码输错的报警功能,密码的显示功能,本设计还可以在以后的设计中更见完善。5 课程设计的心得体会为期两周的课程设计也终于结束,全身心的轻松瞬间涌上来,不仅是为自己的课程设计高兴,更是为获得的知识与经验而兴奋,也不算白费两周时间全身心的精力。自己设计的是数字密码锁,从一开始还是比较迷茫,但是通过各方面的参考和深入了解的学习,又回到课本里面的相关知识,慢慢拨开一层一层迷雾,渐渐熟悉数字系统的设计流程,从设计方案到拟定详细模块再到编写Verilog代码,其中也遇到的很多问题,有些拟定要实现的功能并没有在实际设计中实现出来,这是一个缺陷,但是大部分的功能还是被设计出来了,并进行了验证,完全符合设定的要求,其中也遇到了非常多的问题,并且在后面的后仿真与综合中也是出现了许多无法想象的问题,又是进行一系列的错误排除和解决,最终也勉强设计出来了主要的功能。本次的课程设计也让我对FPGA课程有一个熟悉的了解与实践,对数字系统的设计流程掌握了许多方面的知识,从理论到实践的结合,算是对专业知识的一次完整学习吧,也肯定会让自己受益终身,感谢这次的课程设计,更见感谢得到的这么许多的知识与技术。6 参考资料等基于Verilog的FPGA设计课本Verilog设计课本

    注意事项

    本文(数字密码锁FPGA课程设计报告.doc)为本站会员(叶***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开