在异步设计中,为了防止亚稳态,信号的同步是必须要进行的
单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
同用同步方法: 无论高低时钟频率,还是单bit或多bit ,都可以用RAM或FIFO同步
|