标签:边沿 FPGA SCAN 检测 笔记 reg FLAG KEY REG
本文主要涉及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为有效,作为后期操作的标志位。
标签:边沿,FPGA,SCAN,检测,笔记,reg,FLAG,KEY,REG
来源: https://www.cnblogs.com/fireber/p/15852167.html
本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。