|
數位同步可考慮用FIFO來做到
8 p5 p: f6 u% @( X$ ZFIFO: First In First Out Memory
9 ^( ^7 i, j9 F: a; r+ M% o+ \$ c也可以說是要做到clock domain crossing
8 X$ X. l! ~3 Q& |
" A( j2 ` A; ]9 p* r! {這個FIFO的設計要很小心,有很多時候會做出似是而非的電路, N2 M; h3 g7 P, Q' K( P& g
在testing的部份,也要注意,因為有很多corner case測不到,
P8 |% L% h7 L# _# ZFIFO和串起來的DFF是不同的,因為它要能夠告知傳送端FIFO內部的資料是滿的或是空的,
# t6 W3 B: p: _0 J7 j3 l這看似容易,卻因為不同的clock domain而使得這個訊號會被誤傳,或是產生所謂的metastable status,
) @& b; n" U' W這個代表空的或是滿的的訊號的產生要用到非同步的比較器,6 i) X& Q+ {8 O) X' ^6 j, g. ?, ^
有一個建議是用gray code來做內部的counter,也有別的做法,9 Q6 t, o: D, ~2 o0 e) Z
有不清楚可以再寫訊息問我 |
評分
-
查看全部評分
|