|
數位同步可考慮用FIFO來做到
/ z$ s/ f, w% W+ \# n; _# _FIFO: First In First Out Memory
`6 r% k* J4 a/ d8 ^) n也可以說是要做到clock domain crossing: g" R1 X0 Y2 t8 X5 S! A! A! K$ i
4 e: S# v1 \! n+ N, F
這個FIFO的設計要很小心,有很多時候會做出似是而非的電路,0 k5 ]" P7 O9 v9 i
在testing的部份,也要注意,因為有很多corner case測不到,4 b; b5 I* M0 e! N
FIFO和串起來的DFF是不同的,因為它要能夠告知傳送端FIFO內部的資料是滿的或是空的,
: P! S3 X6 X" ^/ t% U3 ]: i4 h這看似容易,卻因為不同的clock domain而使得這個訊號會被誤傳,或是產生所謂的metastable status,8 z6 _# H9 y5 z6 w J0 |3 S
這個代表空的或是滿的的訊號的產生要用到非同步的比較器,, o& M% \ I# M' I
有一個建議是用gray code來做內部的counter,也有別的做法,
4 H, q/ X* O8 L4 B5 F有不清楚可以再寫訊息問我 |
評分
-
查看全部評分
|