|
數位同步可考慮用FIFO來做到: |3 O' n/ m- m4 Q1 @7 K3 L6 h
FIFO: First In First Out Memory0 t0 B! h% t6 I2 Q J
也可以說是要做到clock domain crossing
, f" `1 E( t: C+ J0 j) G5 O4 s6 i" t" Y
這個FIFO的設計要很小心,有很多時候會做出似是而非的電路,+ u% ~9 K) K2 [
在testing的部份,也要注意,因為有很多corner case測不到,
, X8 s+ w( q i/ m0 Z, DFIFO和串起來的DFF是不同的,因為它要能夠告知傳送端FIFO內部的資料是滿的或是空的,! e2 X- D$ X+ Y- `* S
這看似容易,卻因為不同的clock domain而使得這個訊號會被誤傳,或是產生所謂的metastable status,- ?2 f. M( }. {0 x0 J& b; `
這個代表空的或是滿的的訊號的產生要用到非同步的比較器,
# n# \4 w7 R' n# f& q+ z) ?, ~有一個建議是用gray code來做內部的counter,也有別的做法,5 I" J+ S4 D* \8 |6 L5 l
有不清楚可以再寫訊息問我 |
評分
-
查看全部評分
|