EDA技术Verilog密码锁

EDA技术Verilog密码锁

ID:45657070

大小:791.50 KB

页数:15页

时间:2019-11-15

EDA技术Verilog密码锁_第1页
EDA技术Verilog密码锁_第2页
EDA技术Verilog密码锁_第3页
EDA技术Verilog密码锁_第4页
EDA技术Verilog密码锁_第5页
资源描述:

《EDA技术Verilog密码锁》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、EDA技术Verilog密码锁————————————————————————————————作者:————————————————————————————————日期:15电子科技大学实验报告学生姓名:吴成峰学号:2014070906016指导教师:黄志奇一、实验室名称:主楼C2-514二、实验项目名称:密码锁三、实验原理:利用FPGA开发班上的3个按钮开关btn[2:0]来输入4位数字的密码。例如,输入“2-0-1-2”打开门锁。将用拨位开关sw[7:0]来设置密码,通过按钮开关btn[2:0]来输入密码。其中,btn[0]、btn[1]和btn[2]分别

2、对应的有效输入为“00”(十进制0)、“01”(十进制1)和“10”(十进制2),sw[7:6]、sw[5:4]、sw[3:2]和sw[1:0]分别对应密码的1、2、3、4位。用sw[7:0]设置密码的同时,通过7段数码管复用电路,将其显示到7段数码管上。注意:需将8位输入扩展成16位,即,x[15:0]={2’b00,sw[7:6],2’b00,sw[5:4],2’b00,sw[3:2],2’b00,sw[1:0]}输入4位数字后,才能知道所输入的密码是否正确。如果密码是正确的,led[1]亮起;如果密码错误,led[0]将亮起。15图1给出了设计的顶层模块

3、。当按下btn[0]、btn[1]、btn[2]中任何一个按钮时,将会产生一个时钟脉冲。当分别按下按钮btn[0]、btn[1]、btn[2]时,锁模块对应的2位输入bn[1:0]为“00”、“01”和“10”。输入的密码与拨位开关上设置的密码相比较,产生图2所示的状态转移图。注意:即使密码输入错误,也必须完成完整的4位密码输入,才能进入“fail”状态E4。图1.门锁电路的顶层模块15图2.门锁电路的状态转移图四、实验目的:熟悉利用HDL代码输入方式进行组合逻辑电路的设计和仿真的流程,掌握Verilog语言的基本语法。并通过一个密码锁的设计把握利用EDA软件

4、(XilinxISE10.1)进行HDL代码输入方式的电子线路设计与仿真的详细流程,熟悉摩尔状态机。五、实验内容:1)利用HDL代码输入方式在XilinxISE10.1平台上实现一个密码锁设计,可以设定密码并显示,输入密码以解锁;2)设计密码锁的顶层模块,使用模块实例语句连接前面所设计的密码锁模块;3)生成比特流文件下载到开发板上进行验证。六、实验器材(设备、元器件):151)计算机(安装XilinxISE10.1软件平台);2)BASYS2FPGA开发板一套(带USB-MIniUSB下载线)。七、实验步骤:1、在XilinxISE10.1平台中,新建一个工程

5、lock。我们选用的BASYS2FPGA开发板采用的是Spartan3EXA3S100E芯片和CPG132封装,设置好器件属性,如图3所示。图3.设置器件属性2、在工程管理区任意位置单击鼠标右键,在弹出的快捷菜单中选择“NewSource”命令,弹出新建源代码对话框,这里我们选择“VerilogModule”类型,输入Verilog文件名“lock”。ISE会自动创建一个Verilog的模板,并在源代码编辑区打开,接下来的工作就是将代码编写完整。完整代码如下:15modulelock(inputclk,inputclr,input[7:0]sw,input[1

6、:0]bn,outputregpass,outputregfail);reg[3:0]pre_s,nex_s;parameterS0=4'b0000,S1=4'b0001,S2=4'b0010,S3=4'b0011,S4=4'b0100,E1=4'b0101,E2=4'b0110,E3=4'b0111,E4=4'b1000;//stateregistersalways@(posedgeclkorposedgeclr)beginif(clr==1)pre_s<=S0;elsepre_s<=nex_s;end//C1always@(*)begincase(pre_

7、s)S0:if(bn==sw[7:6])nex_s<=S1;elsenex_s<=E1;S1:if(bn==sw[5:4])nex_s<=S2;elsenex_s<=E2;S2:if(bn==sw[3:2])nex_s<=S3;elsenex_s<=E3;S3:if(bn==sw[1:0])nex_s<=S4;elsenex_s<=E4;S4:if(bn==sw[7:6])nex_s<=S1;elsenex_s<=E1;E1:nex_s<=E2;E2:nex_s<=E3;E3:nex_s<=E4;E4:if(bn==sw[7:6])nex_s<=S1;else

8、nex_s<=E1;default:n

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。