|
數位同步可考慮用FIFO來做到
( Z W8 m, a, O1 s( dFIFO: First In First Out Memory
e& ?: l% j* Z0 `/ O8 W( v! t也可以說是要做到clock domain crossing
$ Y* z! M" W- l1 |# P8 G( h7 |
5 n; P# c) P' z7 s, n, k這個FIFO的設計要很小心,有很多時候會做出似是而非的電路,
( {! n9 ~, F4 u" K8 `% P; [在testing的部份,也要注意,因為有很多corner case測不到,
5 N/ a( U) n. r9 X) KFIFO和串起來的DFF是不同的,因為它要能夠告知傳送端FIFO內部的資料是滿的或是空的,
# _& T, a6 p9 B) `5 O% m1 K這看似容易,卻因為不同的clock domain而使得這個訊號會被誤傳,或是產生所謂的metastable status,
/ T4 M; @! G, B! _這個代表空的或是滿的的訊號的產生要用到非同步的比較器,
, Z4 \1 l( S. @$ h2 T8 f8 X2 V有一個建議是用gray code來做內部的counter,也有別的做法,
6 _7 e9 |* N6 }2 [有不清楚可以再寫訊息問我 |
評分
-
查看全部評分
|