FPGA 学习笔记一: 检测边沿触发

  本文主要涉及Xilinx版的FPGA的边沿触发检测,通过锁存一个时钟节拍, 比较前后两个检测状态, 判定是否产生上升沿或者下降沿,可用于按键检测等,具体如下:

  检测上升沿:

  reg KEY_SCAN;          

       reg KEY_SCAN_REG;

       always@(posedge CLK)       // 锁存一个时钟节拍,KEY_SCAN_REG是KEY_SCAN的上一个状态

          KEY_SCAN_REG <= KEY_SCAN;

   wire FLAG =(~KEY_SCAN_REG) & KEY_SCAN; 

//  真值表:

~KEY_SCAN_REG

KEY_SCAN

FLAG

0

0

0

0

1

0

1

0

0

1

1

1

 

  检测下降沿:

  reg KEY_SCAN;          

       reg KEY_SCAN_REG;

       always@(posedge CLK)       // 锁存一个时钟节拍,KEY_SCAN_REG是KEY_SCAN的上一个状态

          KEY_SCAN_REG <= KEY_SCAN;

  wire FLAG = KEY_SCAN_REG & (~KEY_SCAN); 

//  真值表:

KEY_SCAN_REG

~KEY_SCAN

FLAG

0

0

0

0

1

0

1

0

0

1

1

1

 

  其中,检测到边沿触发, FLAG=1为有效,作为后期操作的标志位。

 

上一篇:前端 - JS常用对象与方法


下一篇:从零开始学习使用FPGA控制ADF4351芯片