登錄 注冊
購物車0
TOP
Imgs 行業(yè)資訊

0

CDC同步器設計方案:為什么使用異步路徑?

2021-04-09 18:29:54

隨著現(xiàn)代ASIC中時鐘域的增加,時鐘域交叉(CDC)變得無處不在,必不可少且必不可少。當然,時間安排總是一個問題。高時鐘速度和信號路徑中的延遲會導致信號到達不希望的時刻,從而導致亞穩(wěn)性。本文的第一部分重點介紹設計中異步域的必要性以及隨之而來的挑戰(zhàn)。由于工程師無法避免異步信號,因此本文介紹了如何減輕CDC引起的問題。它還涵蓋了MTBF在設計中選擇同步器的用法。
第二部分介紹了同步器的時序方面,以及由于同步器不同元素之間的路徑約束不當而可能如何影響此功能。當今的SoC使用各種同步技術,但是您必須了解其在適當情況下的用法。我們將討論這些技術,并說明在給定情況下不使用apt同步器的后果。第三,我們將涵蓋設計中CDC同步器的驗證方面以及設計中同步器所有方面的方法論。為什么使用異步路徑?
現(xiàn)代芯片中越來越多的邏輯使得異步路徑必不可少。在同步設計中,在所有觸發(fā)器上都保持相同的時鐘偏斜使時序變得困難。使用全局同步時鐘會在較短的路徑上引入時序開銷,而使用更快的時鐘則不會發(fā)生這種情況。結(jié)果:降低了整體性能。此外,由時鐘路徑延遲引起的過程電壓-溫度(PVT)變化最終會導致不均勻的偏斜,從而使路徑有效地異步并引起亞穩(wěn)定性問題。盡管工程師在同步設計中使用時鐘門控單元來降低功耗,但異步域的功耗甚至更低。
異步路徑有一個有用的目的,但是會帶來風險??梢詫σ圆煌l率工作的兩個觸發(fā)器之間的傳播時間進行定時,但是時鐘的異步特性不會在數(shù)據(jù)切換和時鐘沿之間提供確定的關系。為了正確的觸發(fā)器操作,源(觸發(fā)器D)上的數(shù)據(jù)應在其設置和保持窗口之外很好地切換。這就是為什么。亞穩(wěn)態(tài)的傷害考慮一下圖1a中的圖表,這是一個正邊沿觸發(fā)翻牌的內(nèi)部圖片。為了理解亞穩(wěn)態(tài),假設觸發(fā)器處于復位狀態(tài)。1. CLK = 0,D = 1:路徑DABC和PQR處于活動狀態(tài)。D處的值鎖存在C處(狀態(tài)如圖1b所示)
)2. CLK = 1,D = 1,路徑CAB和PQ處于活動狀態(tài)。C處的鎖存值反映在Q處(狀態(tài)如圖1c所示)。建立時間:當D處的值從0變?yōu)?時,信號從D到達節(jié)點C需要一定的時間。同時,如果CLK切換,它將鎖存一個中間值節(jié)點C。因此,C被卡住,并且該亞穩(wěn)值出現(xiàn)在Q處。通過此路徑傳播所需的時間是建立時間。為了避免亞穩(wěn)態(tài),D處的數(shù)據(jù)必須在設置窗口(T s)之外進行很好的更改。保持時間
:假設D在CLK從0切換到1的過程中切換。由于在CLK切換之后,節(jié)點A從節(jié)點D斷開,因此A可以捕獲在Q處可見的中間值。因此,CLK從0切換到1的時間。是保持時間。

圖1(a)邊沿觸發(fā)觸發(fā)器的內(nèi)部框圖顯示了反相器和傳輸門。(b)當CLK = 0時,活動路徑為綠色。(c)當CLK = 1時,活動路徑為綠色。
消除亞穩(wěn)定性
在兩種情況下,當CLK從0切換到1時,亞穩(wěn)態(tài)值都會卡在節(jié)點A(設置)或節(jié)點C(保持)上。這會導致亞穩(wěn)態(tài)值在第一個鎖存器(ABC)周圍循環(huán),然后嘗試將其自身解析為穩(wěn)定值。在圖1b和圖1c的情況下,固定值在帶有兩個交叉耦合逆變器的閉環(huán)(雙穩(wěn)態(tài)元件)中移動。通過小信號模型分析,兩個節(jié)點之間的電壓差顯示出指數(shù)行為。它確定的值取決于節(jié)點A或C的中間值,但是在稱為亞穩(wěn)態(tài)解析時間的確定時間后,電壓差接近晶體管閾值電壓(V TH)
由同步時間常數(shù)(τ)確定。如果亞穩(wěn)不能在半個周期內(nèi)解決,則當CLK從1切換到0時,亞穩(wěn)值甚至可能在第二個鎖存器(PQR)中循環(huán),此亞穩(wěn)值不得進一步傳播。幸運的是,兩個背對背觸發(fā)器(2 Dff)可以防止出現(xiàn)此問題。如果在第一個觸發(fā)器(即元觸發(fā)器)的時鐘周期內(nèi)穩(wěn)定到穩(wěn)定值,則第二個觸發(fā)器將不會捕獲不穩(wěn)定值(同步觸發(fā)器)。但是,我們?nèi)绾未_保亞穩(wěn)態(tài)值將在一個時鐘周期內(nèi)穩(wěn)定下來?考慮確定亞穩(wěn)態(tài)解決時間的因素。

其中V TH 是閾值電壓和δ V我 是在卡住值(電壓差V小號 )到亞穩(wěn)態(tài)電壓(V中號 )中,如圖圖2,其示出傳輸?shù)碾p穩(wěn)態(tài)逆變器回路的特性。

圖2雙穩(wěn)態(tài)逆變器的傳輸特性包括滯留電壓(V S )和亞穩(wěn)態(tài)電壓(V M )。差異(V M )可能導致V OUT 下降到閾值電壓(V TH )之間。
同步時間常數(shù)(τ)決定了亞穩(wěn)分辨率。它取決于逆變器的RC特性增益(A)。τ值越小,從亞穩(wěn)值到閾值電壓的過渡斜率越大。這樣可以縮短解析時間。因此,低閾值電壓單元(LVT)通常代替meta flop,因為LVT的τ值遠小于高閾值電壓單元(HVT)和標準閾值電壓單元(SVT)的τ值,從而減少了解決時間。亞穩(wěn)電壓也成為問題的原因。根據(jù)公式,如果V M 為0,則滯留電壓(V MS)等于亞穩(wěn)電壓(V M
)。發(fā)生這種情況時,理論上將需要無限的時間來解決。這本質(zhì)上永遠不會發(fā)生嗎?即使被卡住的電壓恰好在電源電壓和地之間的中間點(V M ),由于諸如熱噪聲之類的隨機過程,它最終還是會發(fā)生變化。由于數(shù)學公式無法提供解決時間,因此您需要一種概率方法。概率方法發(fā)生亞穩(wěn)態(tài)的概率為(T W / T)× F D,其中T W 是設置保持窗口,T 是時間段,F(xiàn) D
是數(shù)據(jù)引腳切換的頻率。因此,概率(輸入MS)= T W × F C × F D。 由于分辨時間遵循指數(shù)行為,因此在給定時間t分解亞穩(wěn)態(tài)的概率 由e – t /τ給出。因此,故障概率或故障發(fā)生率為T W × F C × F D ×e – t /τ。因此,平均無故障時間(MBTF)= 1 / Rate(failure)

為了提高同步器的可靠性,我們最大化了MTBF。我們根據(jù)預期產(chǎn)品壽命選擇最佳MTBF值。因為我們希望亞穩(wěn)態(tài)到一個周期的持續(xù)時間,內(nèi)解決噸 在電子噸/τ 小于一個時鐘周期或同步時段(? RES )和τ是技術依賴。因此,將MTBF設置為10 3 年的數(shù)量級,我們可以計算出同步器在MTBF時間段內(nèi)無故障運行的頻率。注意:通常將MTBF設置為比單個同步器期望的高幾個數(shù)量級??紤]到a,SOC可能包含多達1000個數(shù)量級的許多同步器,因此總體MTBF降低了相同數(shù)量級。
選擇同步器觸發(fā)器
對于同步器,由于時鐘周期短,可能會導致亞穩(wěn)態(tài)無法解決。解決方法:使用兩個元觸發(fā)器。第二個翻牌提供了更多時間來解決亞穩(wěn)性。因此,可以基于設計的頻率要求來選擇要使用的同步器觸發(fā)器的數(shù)量。隨著頻率的增加,同步觸發(fā)器的數(shù)量也可以根據(jù)等式1進行增加。例如,如果t的值 根據(jù)上式計算得出的值大于工作頻率的時間段,則元觸發(fā)器的數(shù)量也必須增加。請記住,增加觸發(fā)器數(shù)量也會在同步關鍵數(shù)據(jù)路徑時引入延遲,最終導致數(shù)據(jù)速率降低。因此,您必須進行權衡。

圖3 2 Dff同步器使用兩個觸發(fā)器來消除亞穩(wěn)態(tài)條件。
了解時序要求
在圖4a中,在第二周期的同步觸發(fā)器處正確捕獲了DIN處的數(shù)據(jù)(沒有亞穩(wěn)態(tài))。源脈沖的長度足以使目標觸發(fā)器捕獲它?,F(xiàn)在,看看一些不幸的計時條件。在圖4b中,DIN處的數(shù)據(jù)脈沖太短,無法捕獲目標域。因此,在同步時沒有捕獲任何值。在圖4c中
,DIN處的數(shù)據(jù)太短,并且會在元觸發(fā)器(TW)的設置保持時間窗口內(nèi)轉(zhuǎn)換。結(jié)果,元觸發(fā)器變?yōu)閬喎€(wěn)態(tài),但由于它在一個周期的持續(xù)時間內(nèi)解析,因此它不會傳播到同步觸發(fā)器。但是,元觸發(fā)器可以解析為值0或1。這種情況可能導致錯誤的數(shù)據(jù)傳播。如果數(shù)據(jù)在另一個時鐘周期內(nèi)保持穩(wěn)定,則不會發(fā)生這些不幸的情況。就是這樣。
在圖4c中,如果源數(shù)據(jù)(DIN)對于目的地時鐘的至少三個邊緣是穩(wěn)定的,則在第二或第三周期中有效地使數(shù)據(jù)同步。因此,要使這種同步技術正常工作,需要一個時鐘周期加上在src(DIN)數(shù)據(jù)上的建立和保持時間的時序要求。如果數(shù)據(jù)從較慢的時鐘域傳遞到較快的域,以使較慢時鐘與較快時鐘的時間段之比為1.5,則沒有嚴格的時序要求。來自較慢時鐘域的數(shù)據(jù)將始終在較快時鐘處進行采樣。

圖4(a)在DIN處正確采樣的數(shù)據(jù)。(b)缺少DIN的數(shù)據(jù)。(c)DIN上的數(shù)據(jù)太短,無法傳播正確的值。(d)在DIN處正確采樣的數(shù)據(jù)。
對于從較快的時鐘傳遞到較慢的時鐘的信號,其中DIN可能是如圖4b所示的脈沖信號,并且在目標時鐘的1.5個周期內(nèi)不穩(wěn)定,我們可以使用基于確認的同步器。這種技術可以拉伸源數(shù)據(jù)并在目標域捕獲它。目的地信號被確認回到源域,以確保在目的地正確捕獲。元觸發(fā)器和同步觸發(fā)器之間的時序我們已經(jīng)看到源觸發(fā)器處的異步信號時序如何影響同步器中的數(shù)據(jù)傳播。現(xiàn)在,元觸發(fā)器和同步觸發(fā)器之間是否有時序要求?如果將元觸發(fā)器和同步觸發(fā)器放置得相距很遠(圖5a
),以至于傳播延遲(TDELAY)超過時鐘周期,亞穩(wěn)值可能會傳播到同步觸發(fā)器,如波形所示(圖5b)。因此,應將它們放置得足夠近,以使SyncD的值在下一個時鐘沿穩(wěn)定下來。拖鞋之間應該有多少距離?我們應確保在元觸發(fā)器和同步觸發(fā)器之間驗證保持檢查,以避免它們之間的饋通。

圖5(a)放置Meta和Sync觸發(fā)器,使T DELAY 相距很遠,從而導致(b)Sync觸發(fā)器處的亞穩(wěn)態(tài)傳播。
要仔細實施這些限制而不必檢查每個同步器,請使用已經(jīng)放置好位置的硬單元替換這些結(jié)構。同樣,較小的τ值可提供更好的亞穩(wěn)分辨率。這些硬塊中的觸發(fā)器被LVT單元所取代,后者具有更好的能力在最短的時間內(nèi)解決亞穩(wěn)態(tài)。您應該在寄存器傳輸級別(RTL)中使用標準的分層塊。源觸發(fā)器與元觸發(fā)器之間的時序到目前為止,我們已經(jīng)討論了源數(shù)據(jù)輸入(DIN)處的時序要求(三個邊緣數(shù)據(jù)要求)以及元觸發(fā)器與同步觸發(fā)器之間的時序約束。但是,在源觸發(fā)器和目標觸發(fā)器之間是否存在約束。如果源觸發(fā)器和目標觸發(fā)器分開放置,會發(fā)生什么情況?
如果單個數(shù)據(jù)位由兩個Dff同步,則源和目標之間的傳播時間會增加,并且在兩個或三個周期后將捕獲目標處的采樣數(shù)據(jù)。取決于設計,這可能會或可能不會對功能產(chǎn)生影響。在總線同步和重新收斂路徑的情況下,很大程度上觀察到了它的影響。如圖6a所示,灰色總線的源觸發(fā)器放置不均勻。這導致每個源觸發(fā)器到其各自的元觸發(fā)器的傳播延遲不同。因此,數(shù)據(jù)到達元觸發(fā)器(MetaD)輸入所花費的時間是不同的(圖6b)。同步的數(shù)據(jù)不正確,可能會導致設計中的功能錯誤。因此,除了約束從元觸發(fā)器到源觸發(fā)器的路徑之外,還必須約束從源觸發(fā)器到元觸發(fā)器的定時路徑。(Din到MetaD)。但是,這種約束的定量價值是多少?通常,從源到元觸發(fā)器的路徑受sdc命令– set_max_delay或set_multicycle_path約束。set_max_delay-從[Din] –到[MetaD] 1 * RX_Clk_period

圖6(a)在這種設計中,總線中的源觸發(fā)器與元觸發(fā)器的距離不同。由于源觸發(fā)器與元觸發(fā)器之間的傳播延遲不同,這導致(b)在目標處采樣的值不正確。
從Din到MetaD的所有路徑都將具有相同的偏斜,從而導致正確的數(shù)據(jù)傳播。我們將路徑限制為一個RX_clk_period的延遲。理想情況下,最好選擇兩個時鐘周期中較小者的最大延遲,但是對于非關鍵數(shù)據(jù),我們可以放寬路徑。同步功能相關的信號假設我們要同步一組具有功能相關性的信號,并且該相關性需要保持在同步時鐘域,那么使用兩觸發(fā)器同步器被證明是錯誤的(圖8)。

圖8 Din0和Din1之間的關系在目標域中不同。
對于具有功能依賴性的此類多位信號,例如-狀態(tài)機,計數(shù)器,相移總線信號,不建議使用2 Dff。為了同步多位總線,我們可以使用下面將要討論的基于使能的同步器。但是,如果這些信號在同步端具有松弛以失去其依賴性,即它們是不相關的,則可以使用2個Dff結(jié)構進行同步。然而,為了正確采樣,這些信號必須滿足目標時鐘周期的1.5倍的約束。同步多位數(shù)據(jù)工程師經(jīng)常使用基于使能的同步器(圖9)來同步多位總線,其中它們之間存在功能依賴性。同步使能信號(RX_enable)使總線同步。

圖9基于啟用的同步器:一種用于多位總線信號的同步技術。
使用這些結(jié)構會增加嚴格的時序要求。當RX_enable到達目標域時,TX_data必須穩(wěn)定,以確保成功進行數(shù)據(jù)傳播。違反時序可能會導致RX_data觸發(fā)器出現(xiàn)亞穩(wěn)態(tài)。在這種情況下,我們需要限制從TX_data到RX_data的異步路徑,以防止這些觸發(fā)器在芯片中分開放置。如果不受限制,盡管RTL設計人員必須在假設理想延遲的情況下確保了功能時序要求,但綜合工具可能會出現(xiàn)錯誤行為,并將其視為“無關緊要”或“錯誤”的路徑。我們可以使用以下sdc命令:
set_max_delay-從[TX_data] –到[RX_data](2 + 1)RX_clk_period
在此,使用的延遲為(2 + 1)×Rx_clk_period。RX_enable信號為兩個周期,src(TX_enable)與使能同步器的MetaD之間的延遲為一個周期。是什么殺死了同步器?組合邏輯容易出現(xiàn)故障。因此,如果組合錐中的信號可以同時切換,則在同步器的路徑中使用組合邏輯會受到限制,因為毛刺會傳播到目標域,從而導致功能錯誤。通常,啟用信號(圖10a中所示的信號A
)在同步器之前通過與門與異步源信號(TX_data)進行門控。但是,考慮到使能信號的行為,應謹慎使用此類結(jié)構。當源數(shù)據(jù)切換時,它應該是穩(wěn)定的,以防止任何毛刺傳輸。但是建議避免在同步器之前使用組合邏輯,因為我們永遠不知道在數(shù)據(jù)路徑上會引入多少延遲合成,從而導致違反我們的使能信號時序假設。讓我們看一個示例,組合邏輯如何導致錯誤的值傳輸。

圖10(a)異步路徑處的組合邏輯。(b)組合邏輯分解為不同的路徑,從而在異步路徑上造成故障。
在圖10b中,組合邏輯可以將數(shù)據(jù)路徑拆分為單獨的路徑。綜合不能保證兩條路徑之間具有相等的數(shù)據(jù)平衡。兩個信號的不同到達時間可能導致毛刺傳播,甚至導致同步觸發(fā)器變?yōu)閬喎€(wěn)態(tài)。防止這種結(jié)構發(fā)生毛刺傳播的唯一方法是在合成過程中保留“與”門。對于整個SOC而言,這通常是一項艱巨的任務。這就是為什么我們不使用組合門來防止這種情況的原因。CDC中的形式驗證方面
隨著設計復雜性CDC的增加,遇到CDC問題的可能性也隨之增加。驗證已成為CDC分析的重要方面,最廣泛使用的驗證技術是基于斷言的驗證。一些工程師在仿真環(huán)境中使用這些斷言,而另一些工程師在形式驗證中使用它們。形式驗證方法更全面地描述了我們的CDC結(jié)構成功率,因為它涵蓋了模擬可能會在其測試模式中遺漏的所有其他情況。我們使用這些斷言來驗證CDC結(jié)構是否適合其各自的場景。例如:
2 Dff結(jié)構要求在目標時鐘周期的1.5倍周期內(nèi)保持穩(wěn)定的源數(shù)據(jù),從而在接收時鐘域進行正確的采樣。
在基于啟用的同步器中,當rx_enable置為有效時,源數(shù)據(jù)不應更改。
在重新收斂Tx信號的情況下,可能存在三種情況:
信號可以用灰色編碼。在這種情況下,assertion屬性應僅檢查前一個值(Gray屬性)中的一位。
信號可能很熱。在這種情況下,屬性應確保在給定的時間,總線中只有一位為高,即,一次總線中只有一個網(wǎng)在傳輸數(shù)據(jù)。在此處執(zhí)行1.5倍周期的2 Dff穩(wěn)定性檢查。我們需要確保在目標域?qū)π盘栠M行了正確的采樣。
信號是無關的,即,即使源信號同時切換,也不會在目標域產(chǎn)生任何功能上的影響。在這種情況下,不需要斷言來檢查總線相關性。但是,必須對總線的各個信號進行2 Dff的穩(wěn)定性檢查。
我們將上述方法基于形式斷言。一個正式的驗證引擎將被喚起,它將測試所有可能的情況以找出可能的失敗情況。因此,對于復雜的設計,可能有必要通過提供假設來解釋對工具的信號的功能行為,從而限制主要輸入。但是過度約束設計可能會導致出現(xiàn)虛假情況。例如,如果將2 Dff的源輸入約束為穩(wěn)定,則斷言之前的情況可能永遠不會發(fā)生。因此,應非常小心地應用設計約束。CDC同步器中的強制策略
與CDC驗證策略有關的另一個驗證方面是在IP驗證套件中對CDC結(jié)構進行建模。在仿真中,該工具不考慮設置或保持違規(guī),除非在門級仿真(GLS)的情況下。一切都是功能驗證的理想選擇。工程師提出了一種新穎的方法來仿真仿真中的同步器行為,該方法可在源觸發(fā)器發(fā)生任何變化時,在元觸發(fā)器中隨機插入0或1個周期的延遲,以模仿亞穩(wěn)性情況。
該延遲模擬了觸發(fā)器已進入亞穩(wěn)態(tài)的狀態(tài)(延遲1個周期)或未達到亞穩(wěn)態(tài)(延遲0個周期),這是觸發(fā)器的物理設計的特征。此邏輯已合并到標準CDC設計結(jié)構本身中,RTL設計人員可以使用這些標準結(jié)構在其設計中放置同步器。這種方法的使用使IP設計人員確信,即使引入了亞穩(wěn)定性,也不會妨礙設計的功能。
作為門級仿真(GLS)的常規(guī)做法,我們將觸發(fā)器的建立和保持時間設置為零。在建立/保持時間違反的情況下,我們將關閉計時檢查以防止x從元觸發(fā)器上傳播。因此,在異步邊界處,GLS仿真可以復制功能驗證。但是為了詳盡地驗證時序,我們可以通過定義相對于時鐘周期的合適的建立和保持窗口,來修改上述模型,以檢查在元觸發(fā)器上是否發(fā)生建立和保持違規(guī)。如果數(shù)據(jù)在設置窗口或保持窗口內(nèi)切換,我們可以在元觸發(fā)器上引入0或1個周期的隨機延遲。
Cherry Maskara是NXP Semiconductors的IP設計工程師

高都電子,為客戶創(chuàng)造價值!

雙面板免費加費,四層板加急打樣,厚銅電路板打樣

Xcm