当前位置:   article > 正文

【从零开始のIC学习笔记】-跨时钟域处理_异步fifo跨时钟域处理

异步fifo跨时钟域处理

前言:

两个不同时钟域需要进行跨时钟同步处理, 不同情况下的处理方式不同,可分为

慢时钟域到快时钟域

        单比特

        多比特

快时钟域到慢时钟域

        单比特

        多比特

多bit的跨时钟域处理,无论是快时钟域到慢时钟域,还是慢时钟域到快时钟域,都可采用异步FIFO的方式:异步FIFO

 本文主要介绍单bit的跨时钟域方法

无论两个时钟域情况如何,再确保能够采样到数据的情况下,从A时钟域到B时钟域的信号都需要首先消除亚稳态,最后将A时钟域一个周期的信号恢复至B时钟域一个周期


消除亚稳态

        消除亚稳态通常的做法是”打两拍“-两级同步,根据工程经验,打两拍后,能够消除99%以上的亚稳态

实现代码如下,需要注意,由DATA_IN到输出,中间不能有任何组合逻辑

  1. always@(posedge clk_a or negedge rst_n)
  2. if(!rst_n)
  3. Q1 <= 1'b0;
  4. else
  5. Q1 <= data_in;
  6. always@(posedge clk_b or negedge rst_n) //b时钟域同步两拍
  7. if(!rst_n) begin
  8. Q2 <= 1'b0;
  9. out <= 1'b0;
  10. end
  11. else begin
  12. Q2 <= Q1;
  13. out <= Q2;
  14. end

慢时钟域到快时钟域-单bit:        

        慢时钟域到快时钟域,可能会存在重复采样的问题,因此需要使用边沿检测将慢时钟域一个周期的数据同步至快时钟域的一个周期

        边沿检测的原理:输出的信号打一拍,当打拍前信号为高电平,打拍后信号为低电平,表示信号由高电平变化为低电平,此时为下降沿;上升沿同理

​​​​​​​

  1. always@(posedge clk_a or negedge rst_n)
  2. if(!rst_n)
  3. q1 <= 1'b0;
  4. else
  5. q1 <= data_in;
  6. always@(posedge clk_b or negedge rst_n)
  7. if(!rst_n) begin
  8. q2 <= 1'b0;
  9. q3 <= 1'b0;
  10. out <= 1'b0;
  11. end
  12. else begin
  13. q2 <= q1;
  14. q3 <= q2;
  15. out <= q3;
  16. end
  17. assign out_data_pos = ~q3 && out ; //上升沿,前为低,后为高
  18. assign out_data_ndg = q3 && ~out ; //下降沿,前为高,后为低

快时钟域到慢时钟域-单bit:

        快时钟域到慢时钟域,可能出现漏采,导致数据丢失的问题,使用脉冲同步器将快时钟域的一个脉冲信号转换为电平信号。

       

  1. always@(posedge clk_fast or negedge rst_n)
  2. if(!rst_n)
  3. q1 <= 1'b0;
  4. else
  5. q1 <= data_in? ~q1:q1; //将脉冲信号转换为电平信号,每来一个脉冲,电平进行翻转
  6. always@(posedge clk_slow or negedge rst_n)
  7. if(!rst_n)begin
  8. q2 <= 1'b0;
  9. q3 <= 1'b0;
  10. out <= 1'b0;
  11. end
  12. else begin
  13. q2 <= q1;
  14. q3 <= q2;
  15. out <= q3;
  16. end
  17. assign dataout = out ^ q3; //得到慢时钟域的一个周期脉冲信号

总结

         跨时钟与处理:

        多比特异步FIFO

        单比特

        快到慢——脉冲同步器

        慢到快——边沿检测器


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/206602?site
推荐阅读
相关标签
  

闽ICP备14008679号