TA的每日心情 | 开心 2019-11-19 15:19 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
异步时钟信号同步 # ]/ s8 u7 Z- [& J" J+ H
在异步设计中,为了防止亚稳态,信号的同步是必须要进行的
: N$ M z T7 a2 L# r# J& I单bit信号的同步通常是用时钟锁存的方法9 z$ x4 o: K7 q0 O/ C- B
从异步的时钟频率来看,还可以细分为两小类
: A5 s1 o2 |6 G( S n, t& q 第一类
9 \& W: o6 C% v被同步的信号时钟域的频率比本时钟域的频率低( ?, ^7 p' a( L/ ^
这时候可以直接通过双锁存的方法来进行同步/ W- q v5 [0 b! N8 Q
对于 被同步的信号时钟域的频率比本时钟域的频率高的情况 可以采用如下方法:
/ {8 Z/ E6 @. C+ ereg flag1,flag2,flag3;, p/ b' ^; ] k1 J; \1 ~' b* V3 n$ V
: G$ z5 S7 k, H" u& z$ h$ E( M
wire clr;1 U* i" _7 k$ |# B) B
assign clr=flag3 && (!flag);
$ {$ |6 O2 S$ s7 y- h 6 l* S/ z2 l, r( [% P9 j1 l
always @(posedge flag or poESDge clr) //注意和 always @(posedge flag or clr) 区别$ n2 T$ c9 F( {/ G3 n( d
if(clr)
2 k; g4 H* u+ j8 ^, w/ ^ flag1 <= 0;3 m/ ]8 S4 v' ~/ @9 M9 @
else flag1 <=1;' }& d- x. w6 p; Z4 i. N- ^8 U- n
& r+ G+ O5 U) {& C% W. j
always @(posedge clk)
9 F0 G* M$ j+ m% s begin8 }+ S1 d1 P6 w$ B* b* Q4 ]7 ^
flag2<=flag1;
! N6 W8 i) \6 I; z$ N) Y9 A( h flag3<=flag2;) {* H3 A% [. C7 Q, N
end5 W5 J# r7 d; L7 T, |$ E2 ]) ~
同用同步方法: 无论高低时钟频率,还是单bit或多bit ,都可以用RAM或FIFO同步
- n* b7 s" H9 r7 m
/ r5 P% k# k, f0 T) x/ d |
|