|
數位同步可考慮用FIFO來做到# E& w6 q$ s9 ~ H, c
FIFO: First In First Out Memory
4 S9 o( \1 Q+ I也可以說是要做到clock domain crossing, `( X: x" \/ S6 V0 T. _7 k
/ g# o0 n/ A3 }, W# l8 R9 W這個FIFO的設計要很小心,有很多時候會做出似是而非的電路,3 ]- c8 w8 L D. W* x4 J
在testing的部份,也要注意,因為有很多corner case測不到,2 G4 c3 W1 Q! C$ M& Z: c$ z
FIFO和串起來的DFF是不同的,因為它要能夠告知傳送端FIFO內部的資料是滿的或是空的,
) Y. s5 J* y: M# @, { i這看似容易,卻因為不同的clock domain而使得這個訊號會被誤傳,或是產生所謂的metastable status,9 Q' Y9 h8 Z7 Y2 F6 W( T- v
這個代表空的或是滿的的訊號的產生要用到非同步的比較器,- R. e& }3 i/ z8 i$ @8 d( x
有一個建議是用gray code來做內部的counter,也有別的做法,/ l, p' v f& v$ R, K
有不清楚可以再寫訊息問我 |
評分
-
查看全部評分
|