|
數位同步可考慮用FIFO來做到
1 ~# d2 D0 m* u6 ?" |: _# wFIFO: First In First Out Memory h3 E; G: ]! W- j" A4 _2 o% u
也可以說是要做到clock domain crossing, f0 n* s" S+ p, a6 v3 s
" C5 P5 h; m+ S4 M0 `/ _這個FIFO的設計要很小心,有很多時候會做出似是而非的電路,
1 N, `9 f- K; u; \6 k在testing的部份,也要注意,因為有很多corner case測不到,: _4 V8 ^7 x! H! n# p8 Z
FIFO和串起來的DFF是不同的,因為它要能夠告知傳送端FIFO內部的資料是滿的或是空的,
# ]. ?# L% G2 g. h$ W這看似容易,卻因為不同的clock domain而使得這個訊號會被誤傳,或是產生所謂的metastable status,% R( ]4 g7 A- c
這個代表空的或是滿的的訊號的產生要用到非同步的比較器,
* t% j& Z e& m$ a8 B% R* e5 h有一個建議是用gray code來做內部的counter,也有別的做法,
- h9 @* [$ J* v" A有不清楚可以再寫訊息問我 |
評分
-
查看全部評分
|