|
數位同步可考慮用FIFO來做到
3 G/ q) V5 n$ |5 Q# EFIFO: First In First Out Memory! L, Y2 l7 U+ _' [) P
也可以說是要做到clock domain crossing7 w$ N- i. q* a, D( I( ?
: K+ V' o2 d J0 P
這個FIFO的設計要很小心,有很多時候會做出似是而非的電路,0 I5 Q+ r9 e/ {6 _
在testing的部份,也要注意,因為有很多corner case測不到,
) [; S: i; l/ U. Y6 P; V K( U4 GFIFO和串起來的DFF是不同的,因為它要能夠告知傳送端FIFO內部的資料是滿的或是空的,! Y, l6 F1 r5 C1 C
這看似容易,卻因為不同的clock domain而使得這個訊號會被誤傳,或是產生所謂的metastable status,% J% M% x# H g" z0 E7 E
這個代表空的或是滿的的訊號的產生要用到非同步的比較器,0 I% y- m8 i5 X* {# ]
有一個建議是用gray code來做內部的counter,也有別的做法,
6 K5 O, X+ i4 z! S1 A有不清楚可以再寫訊息問我 |
評分
-
查看全部評分
|