|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
异步信号同步化在FPGA设计中具有很重要的意义,尤其是高速、大型设计中,不可避免地涉及异步信号的处理。很多文献讨论过这个问题,在此我并不做任何的理论分析。
% H. m) w3 a2 Q, b4 A% x6 V! T8 M" c: Q" c5 Y- \( g9 j$ N
1 _6 i& ?/ L: O' `
一个基本的共识是单bit异步信号采用多级同步寄存器进行同步,该方法并不能完全消除亚稳态,当然对于一般的设计而言,该方法的MTBF(平均无故障运行时间)已是足够;对于多bit异步信号,则建议采用异步FIFO消除亚稳态。我曾经思考很长时间,多bit异步信号能不能采用多级同步寄存器才避免亚稳态;在这里我稍微扩展一下结论,对于连续的多bit异步信号,多级同步寄存器是不适用的,但是如果每个多bit异步信号在需要同步的时钟域能持续多个时钟周期,且在数据量比较小的情况下,多级同步寄存器我觉得还是可以用的,只是在数据处理的时候需要注意(验证过,当然有不同意见的可以探讨)。
3 C8 n8 @- r& L" e. `4 |- z6 Q& K+ J; G7 `
9 i2 \ B: D6 m- d- s0 E5 s. B+ x3 P8 f- K* w
; Q0 g$ k* o$ q$ V# X, F
2 X9 S/ A1 N* f# L
4 ]3 H2 r& m; \9 ~ q& m& N6 b( q. @
4 R# J D; S0 v- G4 _+ a3 o' O. h* E6 Y5 M& o' p: s. E2 U3 a6 t
! F8 v7 q3 F: N' c5 u9 }2 {
1 ^& W! I( g1 E# h$ y* ?6 A
# j8 ^) K% b. T! d
7 U2 J# } S2 j! Y
5 |7 O ^0 C8 x' r
2 ]* ?/ v2 _; |9 ]$ {* R8 k! B. n1 E; u& I8 X
( R% l# d% }3 a( Q( k( `. j+ b
" a2 s4 P/ H7 b! a: ^9 r
: Y5 w) o4 R( Z: d' [
& G; T: y* B$ F0 S0 F& i1 z
$ ~" C6 G: n) b' ^; Q8 B3 l1 U: [/ y$ D0 ^/ J
2 p. c( D1 p' }& @0 K% [
. [' Z) f+ u; M$ u; T& |7 [9 P$ n/ C
7 _$ c: N+ \( Y1 U
* b$ }2 ~, p5 H0 r3 q& F9 h1 ~% n
( C$ ?" f# E) ^
I0 c7 _" ]1 i% G6 P# Y& s* ^5 P' I n# z" H! i8 c
* a) U9 e+ C0 W* j! O( w' P
) Q) s- w+ ?+ h, \" G0 ` A
|
|