跨時鐘域電路設計——單bit信號

前面提到了簡單的雙電平鎖存器,下面是一些單bit同步電路。

一、慢時鐘域向快時鐘域

邊沿檢測同步器

將慢時鐘域的脈衝搬移並縮小爲快時鐘域的脈衝。

既可以檢測上升沿,也可以檢測下降沿。

如上圖,慢時鐘下一個有效脈衝的最短週期爲慢時鐘的一個週期,站在快時鐘的角度下,這個慢時鐘域的信號會在快時鐘域下持續很多個週期。實際上,這個脈衝在慢時鐘域只發生了一次,所以如果用快時鐘去檢查有效脈衝的翻轉邊沿是最準確的。邊沿上升與下降也只有一次。

適用條件:data_width>clk_fast+T_hold,最安全的就是兩個同步週期長度。這樣才能保證慢時鐘域的脈衝足夠保持到被快時鐘的同步器採樣到。

其verilog代碼如下:

二、快時鐘域向慢時鐘域

脈衝同步器

從快時鐘域的取出一個單時鐘寬度脈衝,在慢時鐘域建立新的單時鐘寬度脈衝

 

圖中陰影部分爲快時鐘域下的翻轉電路。

由於在慢時鐘域下直接採樣快時鐘域的信號,很大概率會採樣失敗。因此,我們採用翻轉電路對有效脈衝進行標定。

適用條件:輸入脈衝間隔>=2*clk_slow。輸入脈衝相隔過近,則慢時鐘域的新脈衝也緊密相鄰,結果是輸出脈衝比一個時鐘週期寬;如果太近,則無法檢測到每一個脈衝。

其verilog代碼如下:

三、對比

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章