异步时钟域同步

在异步设计中,为了防止亚稳态,信号的同步是必须要进行的

单bit信号的同步通常是用时钟锁存的方法

从异步的时钟频率来看,还可以细分为两小类

 第一类

被同步的信号时钟域的频率比本时钟域的频率低

这时候可以直接通过双锁存的方法来进行同步

对于 被同步的信号时钟域的频率比本时钟域的频率高的情况 可以采用如下方法:

 代码

    reg flag1,flag2,flag3;
    
    
wire clr;
    
assign clr=flag3 && (!flag);
    
    
always @(posedge flag or poesdge clr)  //注意和 always @(posedge flag or clr) 区别
    if(clr)
      flag1 
<= 0;
    
else flag1 <=1;
      
      
always @(posedge clk)
      
begin
      flag2
<=flag1;
      flag3
<=flag2;
    
end
原文地址:https://www.cnblogs.com/fpga/p/1629358.html