|
數位同步可考慮用FIFO來做到
+ r$ t* v# `0 k# K7 V* p/ c7 ZFIFO: First In First Out Memory
/ |1 |, b; O- D& z也可以說是要做到clock domain crossing2 g# U4 p k3 w: L
! P; e: e; @6 {2 ?' W這個FIFO的設計要很小心,有很多時候會做出似是而非的電路,& V; ~% }% o6 t# X, ]% L
在testing的部份,也要注意,因為有很多corner case測不到,
/ i) J% D5 G' T4 ~3 MFIFO和串起來的DFF是不同的,因為它要能夠告知傳送端FIFO內部的資料是滿的或是空的,6 Y( X1 N5 ?/ j/ i- ^, Y7 ?! L
這看似容易,卻因為不同的clock domain而使得這個訊號會被誤傳,或是產生所謂的metastable status,
$ Z. \% n! N. r0 D- W這個代表空的或是滿的的訊號的產生要用到非同步的比較器,4 U. a3 _7 I( h
有一個建議是用gray code來做內部的counter,也有別的做法,
- X0 P; _5 p3 q. F( D有不清楚可以再寫訊息問我 |
評分
-
查看全部評分
|