登錄 注冊(cè)
購(gòu)物車(chē)0
TOP
Imgs 行業(yè)資訊

0

CDC同步器設(shè)計(jì)方案:為什么使用異步路徑?

2021-04-09 18:29:54

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

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

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

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

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

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

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

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

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

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

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

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

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

雙面板免費(fèi)加費(fèi),四層板加急打樣,厚銅電路板打樣

Xcm