數位同步可考慮用FIFO來做到 0 {" j" C. c$ i! p8 k7 } ?) ]FIFO: First In First Out Memory ! s* e7 [& Y+ m" z z6 e; f0 d# {也可以說是要做到clock domain crossing1 w1 L6 \6 _& R U2 m3 R
7 i9 `1 c: J+ P* x這個FIFO的設計要很小心,有很多時候會做出似是而非的電路,1 [1 A8 _" O1 t. l
在testing的部份,也要注意,因為有很多corner case測不到, C$ ^8 t6 J5 T8 U' |( b
FIFO和串起來的DFF是不同的,因為它要能夠告知傳送端FIFO內部的資料是滿的或是空的,, ~& d, k# b7 V6 a! C9 Y
這看似容易,卻因為不同的clock domain而使得這個訊號會被誤傳,或是產生所謂的metastable status, / {/ N. _% _( T3 C ^這個代表空的或是滿的的訊號的產生要用到非同步的比較器, x% v6 u+ ^! U6 }0 b
有一個建議是用gray code來做內部的counter,也有別的做法, S% ?: P5 B: d) R有不清楚可以再寫訊息問我