FPGA—异步复位同步释放

FPGA设计中,复位方式分为异步复位和同步复位。其中,异步复位较为常见,但是异步复位常会遇到亚稳态的问题,如下图所示:
这里写图片描述

当异步复位信号在释放时,Hold time不满足时,D触发器的内部寄存器数值会出现亚稳态的状态。
同步复位方式,如果该复位信号需要进行跨时钟域的话,很有可能会出现如下所示的情况:
这里写图片描述

时钟域clka的reset信号,打两拍进行跨时钟域处理,但clkb的时钟较慢,导致clkb没能采集到rst信号,从而丢失reset复位信号。

综上所述,异步复位容易导致亚稳态,但不会丢失reset;同步信号不会出现亚稳态,但可能会丢失复位信号。将两种方法进行结合,”异步复位,同步释放“能够避免亚稳态的出现,而且能够保证复位信号的保持。

常用的FPGA实现方法如下,其中rst_n为clka时钟域下的复位信号,rst_b_n为clkb时钟域下的复位信号。

always @(posedge clkb or posedge rst_n)
    if (!rst_n)
        i_rst_n <= 1'b0;
        rst_b_n <= 1'b0;
     else
        i_rst_n <= 1'b1;
        rst_b_n <= i_rst_n;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值