|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
异步信号同步化在FPGA设计中具有很重要的意义,尤其是高速、大型设计中,不可避免地涉及异步信号的处理。很多文献讨论过这个问题,在此我并不做任何的理论分析。
$ C+ p" L, Z/ |3 d3 z6 l
2 v1 _& o2 h2 P& { x0 V
8 `: `# u4 G9 y 一个基本的共识是单bit异步信号采用多级同步寄存器进行同步,该方法并不能完全消除亚稳态,当然对于一般的设计而言,该方法的MTBF(平均无故障运行时间)已是足够;对于多bit异步信号,则建议采用异步FIFO消除亚稳态。我曾经思考很长时间,多bit异步信号能不能采用多级同步寄存器才避免亚稳态;在这里我稍微扩展一下结论,对于连续的多bit异步信号,多级同步寄存器是不适用的,但是如果每个多bit异步信号在需要同步的时钟域能持续多个时钟周期,且在数据量比较小的情况下,多级同步寄存器我觉得还是可以用的,只是在数据处理的时候需要注意(验证过,当然有不同意见的可以探讨)。
& F, j0 r% V( [9 K% f
6 B7 d- F0 n& L: ]4 [+ t
, x8 j- t, |) q) m: _# V/ {9 p! K+ @0 n1 d5 q- E6 T9 f" I( T
* M0 Z! u7 e9 M5 d* s! o6 Y
B+ s; @3 D @! k
% J, {- X7 J9 ?, X& n0 r% l8 n% u2 P" x
9 X) X+ V+ j% p0 ~" [( Q) b- R3 h
) B& `6 G- o+ p3 |0 W; S3 B8 D; }' ~ } S8 j Z1 p
3 d* T% E, L. y0 K
! T( V+ j; S. X6 T$ }( {) M" d( o( M+ `$ W
' M/ V1 }. W! x s: ]
8 Y8 a) p8 M+ y8 W6 y7 w) M' G1 ?
) W. ]6 b" S w6 ?* e' ^1 s' }
9 x% y8 L) Y$ M4 Z; m6 p7 A: v) U
! W$ k8 s9 B& L$ B2 Y
% c5 J& h7 Q- Z7 `; d/ Y7 E+ w0 u( U) l5 f# q. \- I) ~
" @- H. U: C2 w
o4 z$ k/ r9 D) B3 J0 S. m, |# Y- V& z2 u9 m, O' i1 z! F
- g+ z" F; f% c; J+ s! p! k4 E. R
$ A8 M& F: c9 e- C0 F/ R7 m7 }7 T; O* m! X
+ M4 n: J4 Q" N
! M2 r! q" U6 c6 K; b: z( G4 a9 j
+ c! _; g) l5 P, S5 i o# Z, _$ }7 j; O
% N, G2 g# D9 a/ M |
|