跨時鐘域場景下的匯聚Convergence問題
掃描二維碼
隨時隨地手機看文章
在CDC處理的結(jié)構(gòu)上,你可能已經(jīng)確保了亞穩(wěn)態(tài)傳播的可能性被減少到微乎其微的程度,但在CDC在多個點發(fā)生的大型設(shè)計中,很容易忘記數(shù)據(jù)是如何流動和交互的。
當(dāng)通過CDC的兩個獨立信號在設(shè)計的某個點開始相互作用時,CDC檢查工具報告Convergence。
這里的問題是,這兩個信號通過同步器可能需要不同的時間,因此當(dāng)它們到達(dá)它們相互作用的邏輯時,可能不會真正“同步”。

同樣,在源時鐘域中,特定信號分裂成兩個或多個路徑,然后這些路徑中的信號單獨通過CDC時,會報告Divergence。這同樣不是真正的同步。

同一問題的另一個略有不同的變體是,當(dāng)來自兩個不同源時鐘域的數(shù)據(jù)收斂到同一目標(biāo)域時,反之亦然。

跨時鐘域的convergence和deconvergence可能有問題,也可能沒有問題,這取決于設(shè)計如何使用它們
相同的使能信號算是一個convergence問題嗎?
一些convergence可能不是問題的例子:
在功能上,單個路徑是否通過同步器有不同的延遲并不重要。
convergence/deconvergence信號之間的相互排他性。
即通過設(shè)計確保一次只有一個信號發(fā)生變化。
常見于MUX邏輯中。
多個錯誤場景對處理器產(chǎn)生聯(lián)合中斷。
我們不在乎哪個信號先發(fā)出。
所有有可能有問題的信號都是相對“靜態(tài)的”,例如:
在整個操作過程中,配置信號通常會偶爾修改一次。






