多bit跨時(shí)鐘域處理(1)-DMUX
1)基本模型結(jié)構(gòu)

2)100M時(shí)鐘到50M時(shí)鐘的多bit跨時(shí)鐘域處理代碼
3)仿真代碼
4)DMUX仿真波形
(1)din數(shù)據(jù)有效時(shí)間10ns,數(shù)據(jù)幀切換時(shí)間20ns(顯然不滿足要求)

????????din端的數(shù)據(jù)到dout失效
(2)din數(shù)據(jù)有效時(shí)間20ns,數(shù)據(jù)幀切換時(shí)間10ns(顯然不滿足要求)

????????din端的數(shù)據(jù)到dout部分丟失
(3)din數(shù)據(jù)有效時(shí)間20ns,數(shù)據(jù)幀切換時(shí)間40ns(顯然不滿足要求)

????????din端的數(shù)據(jù)到dout傳輸過程正確
5)DMUX必須滿足的條件
(1)將DMUX的跨時(shí)鐘域周期分為發(fā)射端時(shí)鐘和接收端時(shí)鐘
(2)DMUX做CDC的時(shí)候必須滿足以下幾個(gè)條件
????? ?1)發(fā)射端的din和vaildin的持續(xù)時(shí)間必須足夠被接收端的時(shí)鐘檢測(cè)到
???????2)發(fā)射端的數(shù)據(jù)幀切換時(shí)間必須大于rxclk的三個(gè)周期,留足時(shí)間給打兩拍處理
?????? 3)發(fā)射端的數(shù)據(jù)在vaildin信號(hào)失效之后保持不變,直到下一個(gè)vaildin有效信號(hào)到來再改變
(3)發(fā)射端時(shí)鐘100M,接收端時(shí)鐘50M,則發(fā)射端的數(shù)據(jù)幀切換間隔必須在60ns以上
(6)由于DMUX電路內(nèi)部沒有存儲(chǔ)電路,所以對(duì)于兩邊速度不相同的跨時(shí)鐘處理
???????? 需要滿足一定的數(shù)據(jù)幀和數(shù)據(jù)持續(xù)時(shí)間的要求,即需要保證發(fā)射和接收端的
???????? 數(shù)據(jù)吞吐量在長時(shí)間軸上觀察是相等的,則需要速度快的一方遷就另一方。
(7)DMUX的跨時(shí)鐘傳輸效率比較低,對(duì)大吞吐量的CDC跨時(shí)鐘處理,DMUX無法勝任。