专栏中心

EEPW首页 > 专栏 > 实验9:密码锁

实验9:密码锁

发布人:xiaxue 时间:2023-10-09 来源:工程师 发布文章
实验目的
  • (1)熟悉和掌握FPGA开发流程和Lattice Diamond软件使用方法;
  • (2)通过实验理解和掌握密码锁原理;
  • (3)学习用Verilog HDL行为级描述方法描述密码锁电路。
实验任务

设计4位二进制密码锁,要求如下:
4位密码输入代码分别为Q、U、N、B,开箱时,钥匙插入钥匙孔右旋使D=1,如果输入密码(如:QUNB=0101)与设置的代码相同,则保险箱被打开,即输出端G=1,否则箱体发出报警。

实验原理

根据任务要求可知,只有当D=1,且输入密码=0101时,输出G=1,报警器W=0。其他情况下D=1,输出G=0,报警器W=1。若D=0, 输出G=0,报警器W=0。密码锁真值表如下:

逻辑电路

Verilog HDL建模描述

4位密码锁程序清单codedlock.v
<code verilog> module codedlock

  (
    input wire q,u,n,b,           //四位开关作为密码输入
    input wire d,				  //一位按键作为开锁使能信号
    output wire led1,    	      //保险箱打开信号对应的led输出
    output wire led2			  //报警信号对应的led输出
  );
wire  [3:0]   code;			  //四位变量存储密码
reg			  open;			  //保险箱开箱信号
reg			  alarm;          //报警信号
assign		code = {q,u,n,b};
 always@(d or code)
if(d == 1'b1)             //使能,开始判断密码
	begin
		if(code == 4'b0101)   
			begin
				open = 1'b1;  //开锁
				alarm = 1'b0; //没报警
			end
		else
			begin
				open = 1'b0;  
				alarm = 1'b1;
			end
	end
  else
	begin
		open = 1'b0;
	end
 assign  led1 = ~open;		//led亮表示密码锁没开
 assign	led2 = ~alarm;		//led亮代表发出报警信号
endmodule
</code>
实验步骤
  1. 打开Lattice Diamond,建立工程。
  2. 新建Verilog HDL设计文件,并键入设计代码。
  3. 综合并分配管脚,将输入信号d,q,u,n,b分配至拨码开关,将输出信号led1,led2分配至板卡上的LED。d/L14,q/M7,u/M8,n/M9,b/M10,led1/N13,led2/M12
  4. 构建并输出编程文件,烧写至FPGA的Flash之中。
  5. 观察输出结果。开发板按键开关低电平有效,所以d的常态是1,表示插入钥匙旋转。此时,我们可以通过改变拨码开关,观察两灯的变化。只有当拨码开关拨至0101时,led1亮,led2灭,表示输出有效,不报警。其他拨码状态代表输入密码错误,led1灭,led2亮,输出无效,报警。若按下d所连接的按键开关L14使d=0,表示未插入钥匙,此时无论输入何密码,输出和报警都会无效,两个led 灯均不会亮。以上过程,达到了密码锁的功能。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

关键词: FPGA Lattice Diamond

相关推荐

Altera: 采用全系列40-nm收发器FPGA和ASIC实现创新

视频 2009-07-13

贸泽电子开售:面向工业、AI、医疗、数据中心等领域的Altera Agilex 5 FPGA与SoC

LabVIEW 8.20技术资料大全简介

高速ADC与内置嵌入式串行收发器的FPGA接口

视频 2009-05-19

实时的噪声源定位系统

视频 2009-03-25

ALTERA的PCI_IP Core问答集

资源下载 2007-12-13

FPGA在边缘人工智能中日益扩大的作用

弥合传感器融合鸿沟:FPGA如何助力边缘端实时机器人应用

FPGA如何同DDR3存储器进行接口?

视频 2008-06-18

利用锚定可信平台模块(TPM)的FPGA构建人形机器人安全

人工智能开始简化可编程逻辑的设计

以Altera可编程解决方案,驱动下一代 5G‑A与 6G 宽带射频加速演进

发力物理AI:Altera以FPGA创新,赋能机器人及边缘场景

基于FPGA的可编程数字滤波器系统

车载应用边缘人工智能系统设计

Altera的FPGA下载常见问题经验小结

3-DES算法的FPGA高速实现(Xilinx)

资源下载 2007-12-13

人工智能开始简化可编程逻辑的设计流程

DC到3.2GHz采样率!PXI平台+开放FPGA赋能,我们打造了一款“软件定义”的锁相放大器

测试测量 2026-03-17

LabVIEW FPGA 模块简介

视频 2009-04-01
更多 培训课堂
更多 焦点
更多 视频

技术专区