|
數位同步可考慮用FIFO來做到
7 w$ F v( ?# R" wFIFO: First In First Out Memory
- \5 C' G+ o, S( q3 k/ z也可以說是要做到clock domain crossing
. a! v; G' [* B* L5 }
- c5 l# ?2 g- a3 z1 F# A這個FIFO的設計要很小心,有很多時候會做出似是而非的電路,
% }! l9 s- Y5 @6 s在testing的部份,也要注意,因為有很多corner case測不到,
e: ~" P: H2 I4 o! F7 RFIFO和串起來的DFF是不同的,因為它要能夠告知傳送端FIFO內部的資料是滿的或是空的,6 o" W7 s: p# N
這看似容易,卻因為不同的clock domain而使得這個訊號會被誤傳,或是產生所謂的metastable status,
3 f' |, B5 {! c9 t4 o1 ]( ]0 o這個代表空的或是滿的的訊號的產生要用到非同步的比較器,* k# X4 S; I- n! j; w" r3 z# o
有一個建議是用gray code來做內部的counter,也有別的做法,# s, a. q: q2 L& n9 ?* {& D
有不清楚可以再寫訊息問我 |
評分
-
查看全部評分
|