关于FPGA异步信号处理的一点理解

       异步信号同步化在FPGA设计中具有很重要的意义,尤其是高速、大型设计中,不可避免地涉及异步信号的处理。很多文献讨论过这个问题,在此我并不做任何的理论分析。

       一个基本的共识是单bit异步信号采用多级同步寄存器进行同步,该方法并不能完全消除亚稳态,当然对于一般的设计而言,该方法的MTBF(平均无故障运行时间)已是足够;对于多bit异步信号,则建议采用异步FIFO消除亚稳态。我曾经思考很长时间,多bit异步信号能不能采用多级同步寄存器才避免亚稳态;在这里我稍微扩展一下结论,对于连续的多bit异步信号,多级同步寄存器是不适用的,但是如果每个多bit异步信号在需要同步的时钟域能持续多个时钟周期,且在数据量比较小的情况下,多级同步寄存器我觉得还是可以用的,只是在数据处理的时候需要注意(验证过,当然有不同意见的可以探讨)。

      下面列出XILINX ug906-vivado-design-analysis文档中关于异步信号处理的相关内容,仅供参考:

关于FPGA异步信号处理的一点理解_第1张图片

关于FPGA异步信号处理的一点理解_第2张图片

关于FPGA异步信号处理的一点理解_第3张图片

关于FPGA异步信号处理的一点理解_第4张图片

关于FPGA异步信号处理的一点理解_第5张图片

关于FPGA异步信号处理的一点理解_第6张图片



你可能感兴趣的:(FPGA)