FPGA(九)---异步信号亚稳态处理

一、基本原理

在这里插入图片描述

1、时钟信号只在上升沿起作用,异步信号输入时会有个亚稳态(抖动)的过程。
2、时钟信号采样会出现两种情况:异步信号1和异步信号2。对于异步信号1,时钟能够采样到稳定信号,没有任何影响;但是,我们不能确定每次都是刚好采样到稳定时候,例如异步信号2。
3、因此要对异步信号进行处理,通常的做法是:将异步信号连接2级寄存器q和q1,进行两个周期的时延,以获得稳定信号。
4、2级寄存器的输出是个稳定的值(可能是0或1)。

二、对FPGA(八)中key_in进行优化。

与(八)中的边沿检测,代码相同,意义不同。
//通过2级寄存器,消除异步信号的亚稳态
always@(posedge Clk or negedge Rst_n)
if(!Rst_n)begin
key_in_a0 <= 1’b0;
key_in_a1 <= 1’b0;
end
else begin
key_in_a0 <= key_in;
key_in_a1 <= key_in_a0;
end
注意:
1、由于用key_in_a0 和key_in_a1 进行表示,因此在RTL viewer中不能明显看出2级寄存器。改成key_in_s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值