中文在线中文资源,色鲁97精品国产亚洲AV高,亚洲欧美日韩在线一区,国产精品福利午夜在线观看

你的位置:首頁 > 互連技術 > 正文

用于多時鐘域 SoC 和 FPGA 的同步器技術

發布時間:2023-05-23 責任編輯:lina

【導讀】通常,傳統的雙觸發器同步器用于同步單比特電平信號。如圖1和圖2所示,觸發器A和B1工作在異步時鐘域。CLK_B 時鐘域中的觸發器 B1 對輸入 B1-d 進行采樣時,輸出 B1-q 有可能進入亞穩態。但在 CLK_B 時鐘的一個時鐘周期期間,輸出 B1-q 可能穩定到某個穩定值。


常規二觸發器同步器

通常,傳統的雙觸發器同步器用于同步單比特電平信號。如圖1和圖2所示,觸發器A和B1工作在異步時鐘域。CLK_B 時鐘域中的觸發器 B1 對輸入 B1-d 進行采樣時,輸出 B1-q 有可能進入亞穩態。但在 CLK_B 時鐘的一個時鐘周期期間,輸出 B1-q 可能穩定到某個穩定值。如果 B1 在一個時鐘周期內沒有穩定到穩定值,則觸發器 B2 的輸出可以進入亞穩態,但是 B2 在一個完整的目標時鐘周期內處于亞穩態的概率非常接近于零。

如果頻率太高,可以使用更多數量的觸發器級,因為這將有助于降低同步器輸出保持在亞穩態的可能性。


用于多時鐘域 SoC 和 FPGA 的同步器技術
圖 2傳統 2FF 同步器的時序


切換同步器用于將源時鐘域中生成的脈沖同步到目標時鐘域。不能使用 2 FF 同步器直接同步脈沖。使用 2 FF 同步器從快速時鐘域同步到慢速時鐘域時,可能會跳過脈沖,這會導致脈沖檢測丟失,因此依賴于它的后續電路可能無法正常運行。圖 3和圖 4中的圖表顯示了切換同步器的實現和時序圖。


用于多時鐘域 SoC 和 FPGA 的同步器技術
圖 3切換同步器


用于多時鐘域 SoC 和 FPGA 的同步器技術
圖 4切換同步器的時序


在基于握手的脈沖同步器中,如圖 5和圖 6所示,通過提供確認來保證生成到源時鐘域的脈沖同步到目標時鐘域。脈沖同步器有一個限制,即無法處理背對背(一個時鐘間隙)脈沖。為了確保源時鐘域中下一個生成的脈沖在目標時鐘域中得到明確傳輸和同步,基于握手的脈沖同步器通過對 A1 和 A3 觸發器輸出進行“或”運算來生成“忙”信號。因此,產生脈沖的邏輯將不會產生另一個脈沖,直到 busy 信號被斷言。

基于握手的脈沖同步器的定時。

當多位信號與 2 觸發器同步器同步時,每個位都使用單獨的 2-FF 同步器進行同步。亞穩態會導致觸發器穩定為真值或假值。所以每個同步器的輸出可能不會在同一時鐘穩定到正確的值。這會導致數據不一致。為了使用 2 觸發器同步器方法同步多位信號,必須保證在特定時鐘周期內僅發生單個位變化。這可以通過格雷編碼來實現。因此,例如,在異步FIFO設計中,當我們使用2-FF同步器在寫時鐘域中同步轉換為灰度值后的讀指針值時,存在亞穩態的可能性。由于格雷編碼只有一位變化,所以即使時鐘交叉時存在亞穩態,灰色計數器值將是以前的值。例如,讀指針(灰度計數器)值從 0110 變為 0111 并與寫時鐘同步,然后由于亞穩態(如果發生)可能性是讀指針仍然保持 0110。現在,假設較早的 FIFO 滿標志在讀灰度時為高計數器值為 0110,然后 FIFO Full 將在 1 個時鐘周期內保持高電平,但這不會導致問題,因為在下一個時鐘周期中,讀指針值將變為 0111,并且 FIFO 滿標志將被置為無效。如果通過兩個觸發器同步器將二進制計數器從一個時鐘域取到另一個時鐘域而不是灰色計數器,則多位更改可能會導致亞穩態后不同位的意外恢復(例如,值從“1001”變為“1010”)。圖 7和圖 8顯示了二進制到灰色的轉換如何幫助解決這個問題。


用于多時鐘域 SoC 和 FPGA 的同步器技術
圖 7多比特信號的格雷編碼


用于多時鐘域 SoC 和 FPGA 的同步器技術
圖8多比特信號格雷編碼時序


再循環多路復用同步

對于隔離數據和多個位可以同時傳輸的情況,使用圖 9和圖 10中所示的再循環多路復用同步技術。為了同步數據,當數據在源觸發器處可用時,在源時鐘域中生成控制脈沖。然后根據源域和目標域之間的時鐘比率,使用 2 個觸發器同步器或脈沖同步器(切換或握手)同步控制脈沖。同步控制脈沖用于在目標域中對總線上的數據進行采樣。在目標時鐘域中對其進行采樣之前,數據應該是穩定的。

再循環多路復用器同步器的定時。

在這種同步方案中,請求和確認機制用于保證將正確的數據采樣到目標時鐘域中,而不管源時鐘和目標時鐘之間的時鐘比如何。該技術主要用于同步不連續或不頻繁變化的矢量信號。如圖 12所示,數據應在總線上保持穩定,直到從目標端接收到同步確認信號 (A2-q) 并且 (A2-q) 變低。圖 11中的圖表顯示了此實現,圖 12顯示了握手同步器的時序。


用于多時鐘域 SoC 和 FPGA 的同步器技術
圖 11握手同步器

用于多時鐘域 SoC 和 FPGA 的同步器技術
圖 12握手同步器的時序


異步 FIFO 同步

FIFO 是在兩個異步時鐘域之間同步不斷變化的矢量數據的方式。異步 FIFO 同步器提供跨時鐘域傳輸矢量信號的解決方案,而不會有亞穩態和相干性問題的風險。

在異步 FIFO 設計中,FIFO 提供獨立于時鐘頻率的完全同步。如圖13所示,經過二進制轉灰度后,讀寫指針分別同步到寫時鐘域和讀時鐘域。


免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯系小編進行處理。


推薦閱讀:

微控制器中的看門狗定時器

BLDC電機控制一文幫你總結好

如何利用1200 V EliteSiC MOSFET 模塊,打造充電更快的車載充電器?

采用增強互連封裝技術的1200 V SiC MOSFET單管設計高能效焊機

小電源,大講究


特別推薦
技術文章更多>>
技術白皮書下載更多>>
熱門搜索
?

關閉

?

關閉

  • <center id="09kry"></center>

  • 主站蜘蛛池模板: 平山县| 满城县| 丹巴县| 渝北区| 东平县| 垦利县| 湘潭县| 清远市| 安泽县| 肥西县| 顺昌县| 鄂托克前旗| 将乐县| 天峻县| 忻州市| 和平区| 葵青区| 武冈市| 班玛县| 海城市| 巍山| 茌平县| 梁河县| 交口县| 改则县| 宜宾市| 桐梓县| 黑水县| 阿坝县| 昭苏县| 元谋县| 靖西县| 兴业县| 长沙市| 泉州市| 西吉县| 同江市| 海丰县| 邮箱| 舞钢市| 临夏市|