|
數位同步可考慮用FIFO來做到
# t- @5 U* { F iFIFO: First In First Out Memory3 r) V+ P3 M# [' o' B
也可以說是要做到clock domain crossing
$ M9 P5 J$ t# U/ I( b, L
' i+ w, k) u2 ^& \) ~6 Z3 w' `這個FIFO的設計要很小心,有很多時候會做出似是而非的電路,
( ?, g8 N' d. t6 T8 ~2 }& `在testing的部份,也要注意,因為有很多corner case測不到,
/ n9 K' I3 ^. |& k" PFIFO和串起來的DFF是不同的,因為它要能夠告知傳送端FIFO內部的資料是滿的或是空的,
4 i& d4 B1 f: y# U/ g這看似容易,卻因為不同的clock domain而使得這個訊號會被誤傳,或是產生所謂的metastable status,
# q: o' B' ~( b9 a這個代表空的或是滿的的訊號的產生要用到非同步的比較器,4 x# ?# i8 H. z
有一個建議是用gray code來做內部的counter,也有別的做法,
* G9 b3 }# C# n5 `有不清楚可以再寫訊息問我 |
評分
-
查看全部評分
|