一、介紹
在同步系統(tǒng)中,數(shù)據(jù)始終相對(duì)于時(shí)鐘具有固定的關(guān)系 當(dāng)該關(guān)系滿(mǎn)足設(shè)備的建立和保持要求時(shí),輸出將在其指定的傳播延遲時(shí)間內(nèi)進(jìn)入有效狀態(tài)。在同步系統(tǒng)中,輸入信號(hào)始終滿(mǎn)足觸發(fā)器的時(shí)序要求。因此,不會(huì)發(fā)生亞穩(wěn)性。但是,在異步系統(tǒng)中,數(shù)據(jù)和時(shí)鐘之間的關(guān)系不是固定的。因此,會(huì)偶爾發(fā)生違反建立時(shí)間和保持時(shí)序的情況。發(fā)生這種建立和保持時(shí)序的情況時(shí),輸出可能會(huì)到達(dá)其兩個(gè)有效狀態(tài)(0和1)之間的中間水平,不穩(wěn)定的狀態(tài)(0和1之外的狀態(tài)即亞穩(wěn)態(tài))保持的時(shí)間也是不確定的,直到自己進(jìn)入穩(wěn)態(tài)。
二、亞穩(wěn)態(tài)理論
由于違反了觸發(fā)器的建立和保持時(shí)間,因此會(huì)產(chǎn)生亞穩(wěn)定性。在任何設(shè)計(jì)中使用的每個(gè)觸發(fā)器都有指定的建立和保持時(shí)間,或者說(shuō)是在時(shí)鐘上升沿之前和之后不允許輸入數(shù)據(jù)變化的時(shí)間。如果信號(hào)在此時(shí)間窗口內(nèi)確實(shí)發(fā)生變化,則輸出將是未知的或“亞穩(wěn)的”。這種有害狀態(tài)的傳播稱(chēng)為亞穩(wěn)態(tài)。結(jié)果,觸發(fā)器的輸出會(huì)產(chǎn)生毛刺或暫時(shí)保持在亞穩(wěn)狀態(tài),因此需要更長(zhǎng)的時(shí)間才能返回到穩(wěn)定狀態(tài)。
當(dāng)觸發(fā)器處于亞穩(wěn)態(tài)時(shí),輸出會(huì)在高電平和低電平之間徘徊,導(dǎo)致輸出轉(zhuǎn)換被延遲,并超過(guò)指定的時(shí)鐘到輸出延遲(tco)。亞穩(wěn)態(tài)輸出需要花費(fèi)超過(guò)tco的額外時(shí)間才能解析為穩(wěn)定狀態(tài),該時(shí)間稱(chēng)為穩(wěn)定時(shí)間(tMET)。
圖1.1亞穩(wěn)時(shí)序參數(shù)
這已在圖1.1中顯示,但并非每個(gè)違反建立或保持時(shí)間的轉(zhuǎn)換(數(shù)據(jù)轉(zhuǎn)換)都會(huì)導(dǎo)致亞穩(wěn)態(tài)輸出。觸發(fā)器進(jìn)入亞穩(wěn)態(tài)的可能性和返回穩(wěn)定狀態(tài)所需的時(shí)間取決于用于制造器件的工藝技術(shù)以及環(huán)境條件。通常,觸發(fā)器將在一兩個(gè)時(shí)鐘周期內(nèi)返回穩(wěn)定狀態(tài)。
觸發(fā)器的操作類(lèi)似于在無(wú)摩擦的山坡上滾動(dòng)的球,如圖1.2所示。小山的每一側(cè)代表穩(wěn)定狀態(tài)(即高或低),頂部代表亞穩(wěn)態(tài)。假設(shè)球處于穩(wěn)定狀態(tài)(即1或0),并且對(duì)球進(jìn)行了足夠的推動(dòng)(狀態(tài)轉(zhuǎn)換)(沒(méi)有違反建立時(shí)間或保持時(shí)間),足以使球越過(guò)另一個(gè)穩(wěn)定狀態(tài),則球在指定時(shí)間內(nèi)越過(guò)另一個(gè)穩(wěn)定狀態(tài)。
但是,如果推力較?。催`反建立和保持時(shí)間),則球應(yīng)移動(dòng)到山頂(即輸出亞穩(wěn)態(tài)),停留在那里一段時(shí)間,然后返回任一穩(wěn)定狀態(tài)(即輸出最終變得穩(wěn)定)。球也可能會(huì)部分升起然后回來(lái)(即輸出可能會(huì)產(chǎn)生一些毛刺)。任何一種情況都會(huì)增加從時(shí)鐘轉(zhuǎn)換到穩(wěn)定輸出的延遲。
因此,簡(jiǎn)單來(lái)說(shuō),當(dāng)信號(hào)在一個(gè)時(shí)鐘域(src_data_out)中發(fā)生變化并在另一個(gè)時(shí)鐘域(dest_data_in)中被采樣時(shí),這將導(dǎo)致輸出變得亞穩(wěn)。這被稱(chēng)為同步失?。ㄈ鐖D1.3所示)。
圖1.2觸發(fā)器的亞穩(wěn)態(tài)行為
圖1.3觸發(fā)器中的亞穩(wěn)態(tài)
三、亞穩(wěn)態(tài)窗口
亞穩(wěn)態(tài)窗口被定義為特定的時(shí)間長(zhǎng)度,在此期間數(shù)據(jù)和時(shí)鐘均不應(yīng)更改。如果兩個(gè)信號(hào)有發(fā)生改變,則輸出可能變?yōu)閬喎€(wěn)態(tài)。如圖1.4所示,建立時(shí)間和保持時(shí)間的組合決定了亞穩(wěn)窗口的寬度。窗口越大,設(shè)備進(jìn)入亞穩(wěn)態(tài)的機(jī)會(huì)就越大。在大多數(shù)情況下,較新的邏輯系列具有較小的亞穩(wěn)態(tài)窗口,從而減少了設(shè)備變?yōu)閬喎€(wěn)的機(jī)會(huì)。
四、計(jì)算MTBF
系統(tǒng)之間的平均故障間隔時(shí)間(MTBF)是在故障率恒定的特殊情況下故障率的倒數(shù)。這提供了有關(guān)特定觸發(fā)器失敗頻率的信息。對(duì)于具有給定時(shí)鐘頻率和異步數(shù)據(jù)邊沿的單級(jí)同步器,該邊沿在時(shí)鐘周期內(nèi)具有均勻的概率密度,通過(guò)建立和保持時(shí)間窗口與時(shí)鐘邊沿之間的時(shí)間之比,再乘以數(shù)據(jù)邊沿頻率,可以計(jì)算出亞穩(wěn)態(tài)事件的發(fā)生率。
圖1.4亞穩(wěn)窗口
圖1.5故障率與時(shí)間的關(guān)系(對(duì)數(shù)刻度)
其中
tr =允許的解決時(shí)間超過(guò)器件的正常傳播延遲時(shí)間
π =觸發(fā)器的亞穩(wěn)態(tài)(解析)時(shí)間常數(shù)
W =亞穩(wěn)態(tài)窗口
fc =時(shí)鐘頻率
fd =異步數(shù)據(jù)邊沿頻率
常數(shù)W和τ與設(shè)備的電氣特性有關(guān),并且會(huì)根據(jù)工藝技術(shù)節(jié)點(diǎn)而變化。因此,使用相同工藝制造的不同設(shè)備的W和τ值相似。
如果在不同的分辨時(shí)間下測(cè)量設(shè)備的故障率并繪制圖表,則結(jié)果將呈指數(shù)衰減曲線(xiàn)。如圖1.5所示,當(dāng)以半對(duì)數(shù)標(biāo)度繪制時(shí),它成為一條斜率等于τ的直線(xiàn);因此,線(xiàn)上的兩個(gè)數(shù)據(jù)點(diǎn)足以使用等式1.2計(jì)算τ的值。
其中:
tr1 = 解析時(shí)間1
tr2 = 解析時(shí)間2
N1 = tr1處的故障數(shù)
N2 = tr2處的故障數(shù)
根據(jù)公式1.1和1.2,可以通過(guò)下面的公式1.3計(jì)算兩級(jí)同步器的MTBF
其中:
tr1=同步器第一級(jí)所允許的解析時(shí)間
tr2 =接入正常傳播延遲時(shí)的解析時(shí)間
公式1.3中的第一項(xiàng)計(jì)算了同步器第一階段的MTBF,這實(shí)際上成為了下一階段亞穩(wěn)態(tài)事件的發(fā)生率。然后,第二項(xiàng)根據(jù)tr2的值(同步器外部允許的解決時(shí)間)計(jì)算亞穩(wěn)態(tài)事件將被解決的概率。這兩個(gè)項(xiàng)的乘積給出了兩級(jí)同步器的總體MTBF。以定量的方式,使用上面的公式1.3,如果特定觸發(fā)器在給定時(shí)鐘速率和輸入轉(zhuǎn)換速率的范圍內(nèi)的平均故障間隔時(shí)間(MTBF)為40 s,則使用兩個(gè)這樣的觸發(fā)器的MTBF 同步輸入將是40×40 = 26.6分鐘。
五、避免亞穩(wěn)態(tài)
如第二節(jié)所示,只要違反建立或保持時(shí)間,就會(huì)發(fā)生亞穩(wěn)。因此,在以下情況下,信號(hào)可能會(huì)違反時(shí)序要求:
1、當(dāng)輸入信號(hào)是異步信號(hào)時(shí)。
2、當(dāng)時(shí)鐘偏斜/偏擺(上升/下降時(shí)間)高于容許極限時(shí)。
3、當(dāng)信號(hào)越過(guò)工作在兩個(gè)不同頻率或頻率相同但相位和偏斜不同的域時(shí)。
4、當(dāng)組合延遲使得觸發(fā)器數(shù)據(jù)輸入在亞穩(wěn)態(tài)窗口中發(fā)生變化時(shí)
亞穩(wěn)定性可能會(huì)導(dǎo)致過(guò)度的傳播延遲和后續(xù)的系統(tǒng)故障。所有觸發(fā)器和鎖存器均具有亞穩(wěn)性。這個(gè)問(wèn)題無(wú)法消除。但是有可能降低亞穩(wěn)態(tài)的發(fā)生率
圖1.6 N級(jí)同步器
圖1.7具有時(shí)鐘提升電路的多級(jí)同步器
Multi-stage synchronizer with clock boost circuitry
在最簡(jiǎn)單的情況下,設(shè)計(jì)人員可以通過(guò)讓時(shí)鐘周期足夠長(zhǎng)以解決準(zhǔn)穩(wěn)態(tài)以及減少路徑中可能傳播到下一個(gè)觸發(fā)器中的任何延遲邏輯來(lái)避免亞穩(wěn)態(tài)??紤]到大多數(shù)現(xiàn)代設(shè)計(jì)的性能要求,這種方法雖然簡(jiǎn)單,卻并不實(shí)用。另一種方法是使用同步器。
5.1使用多級(jí)同步器
避免亞穩(wěn)態(tài)的最常見(jiàn)方法是在一個(gè)時(shí)鐘域到另一個(gè)時(shí)鐘域的信號(hào)上添加一個(gè)或多個(gè)同步觸發(fā)器。如圖1.6所示,這種方法為第一個(gè)同步觸發(fā)器中的亞穩(wěn)態(tài)事件提供了一個(gè)完整的時(shí)鐘周期(第二個(gè)觸發(fā)器的建立時(shí)間除外)以解決自身問(wèn)題。但是,這確實(shí)增加了同步邏輯觀察輸入的等待時(shí)間。
5.2使用時(shí)鐘升壓電路的多級(jí)同步器
多級(jí)同步器的一個(gè)限制是系統(tǒng)響應(yīng)異步輸入所花費(fèi)的時(shí)間更長(zhǎng)。解決此問(wèn)題的方法是使用時(shí)鐘倍頻器的輸出為兩個(gè)同步觸發(fā)器提供時(shí)鐘。Altera的FPGA將這種技術(shù)稱(chēng)為Clock Boost或Clock Doubler(圖1.7)。
這種方法允許系統(tǒng)在一個(gè)系統(tǒng)時(shí)鐘周期內(nèi)響應(yīng)異步輸入,同時(shí)仍能改善MTBF。盡管Clock Boost時(shí)鐘可能會(huì)降低MTBF,但這種影響遠(yuǎn)不止于兩個(gè)同步觸發(fā)器的抵消。這兩種方法都不能保證亞穩(wěn)性不能通過(guò)同步器。它們只是降低了亞穩(wěn)發(fā)生的可能性。
六、亞穩(wěn)測(cè)試電路
每當(dāng)觸發(fā)器對(duì)異步輸入進(jìn)行采樣時(shí),小概率的不可預(yù)測(cè)延遲總會(huì)在觸發(fā)器輸出端呈現(xiàn)出來(lái)。這不僅發(fā)生在輸入轉(zhuǎn)換違反建立和保持時(shí)間規(guī)范時(shí),而且還發(fā)生在觸發(fā)器接收新數(shù)據(jù)時(shí)的小的時(shí)序窗口,在這些情況下,觸發(fā)器會(huì)進(jìn)入亞穩(wěn)態(tài)。
圖1.8中描述的測(cè)試電路用于確定觸發(fā)器的亞穩(wěn)特性。圖1.8顯示了在時(shí)鐘“ clk”的上升沿觸發(fā)的觸發(fā)器“ FFA”的異步輸入“ async_In”。如圖所示,觸發(fā)器“ FFB”和“ FFC”均在時(shí)鐘的下降沿觸發(fā),以便捕獲“ FFA”上的亞穩(wěn)事件。
當(dāng)互補(bǔ)信號(hào)在觸發(fā)器“ FFB”和“ FFC”的輸入上傳遞時(shí),無(wú)論何時(shí)“ FFA”上發(fā)生亞穩(wěn)態(tài)事件,XNOR門(mén)的輸出都將變?yōu)楦唠娖健4藯l件在觸發(fā)器“ FFD”的輸出上捕獲,指示已檢測(cè)到亞穩(wěn)態(tài)事件。
該測(cè)試電路中所有節(jié)點(diǎn)的時(shí)序如圖1.9所示。由于解析觸發(fā)器(“ FFB”和“ FFC”)由時(shí)鐘下降沿提供時(shí)鐘,因此可以通過(guò)更改時(shí)鐘高電平時(shí)間(△t)來(lái)控制所需的建立時(shí)間。穩(wěn)定時(shí)間tMET可通過(guò)以下公式確定
其中tACN是最小時(shí)鐘周期,它等于解析觸發(fā)器(FFB或FFC)的tCQ(FFA的時(shí)鐘到輸出延遲)的建立時(shí)間tsu。
圖1.8亞穩(wěn)性測(cè)試電路
圖1.9亞穩(wěn)測(cè)試電路的時(shí)序
減少解析時(shí)間或建立時(shí)間的方法之一是在建立/保持期間以數(shù)據(jù)為中心增加抖動(dòng)。
七、同步器類(lèi)型
根據(jù)等式 1.1,具有異步輸入的電路的平均故障間隔時(shí)間(MTBF)與可從亞穩(wěn)態(tài)條件恢復(fù)的時(shí)間呈指數(shù)關(guān)系。使用同步器創(chuàng)建時(shí)間緩沖區(qū),以從亞穩(wěn)態(tài)事件中恢復(fù)。
請(qǐng)注意,異步信號(hào)絕不能由多個(gè)同步器同步。(這樣做會(huì)冒著使多個(gè)同步器的輸出產(chǎn)生不同信號(hào)的風(fēng)險(xiǎn))。本節(jié)顯示了兩個(gè)同步器方案A和B。
方案A是常規(guī)方案,當(dāng)異步輸入信號(hào)的寬度大于時(shí)鐘周期時(shí),其工作效果最佳(圖1.10)。
請(qǐng)注意,即使異步輸入在設(shè)置間隔之外達(dá)到穩(wěn)定條件,它仍將以?xún)蓚€(gè)時(shí)鐘周期的延遲進(jìn)行計(jì)時(shí),否則FF1可能會(huì)進(jìn)入亞穩(wěn)態(tài)。
如果亞穩(wěn)在少于一個(gè)時(shí)鐘周期內(nèi)得到解決,則FF2將具有穩(wěn)定的輸入,否則需要更深的級(jí)聯(lián),如圖1.6所示。
圖1.10兩級(jí)同步器的同步器方案A
圖1.11兩級(jí)同步器的同步器方案B
但是,在異步輸入的寬度小于時(shí)鐘周期的情況下,方案A不起作用。在這種情況下,方案B的工作效果最佳,如圖1.11所示。
請(qǐng)注意,在同步器方案B的情況下,第一個(gè)FF(觸發(fā)器)的D輸入連接到VCC,而異步輸入為FF提供時(shí)鐘。該階段中的其他兩個(gè)FF由系統(tǒng)時(shí)鐘或clk直接提供時(shí)鐘。短脈沖將驅(qū)動(dòng)q1高電平,該信號(hào)將在兩個(gè)“clk”邊沿之后傳播到sync_out。因此,這定義了我們的經(jīng)驗(yàn)法則,總結(jié)如下:
當(dāng)信號(hào)必須跨越時(shí)鐘域之間的邊界時(shí),請(qǐng)使用同步器。
如果Clk1《Clk2在時(shí)鐘域2的輸入處使用同步器方案A(如圖1.11所示),否則使用同步器方案B。
八、處理亞穩(wěn)態(tài)的建議
(a)使用同步器。
(b)使用更快的觸發(fā)器(更窄的亞穩(wěn)態(tài)窗口TW)。
(c)使用亞穩(wěn)態(tài)硬化觸發(fā)器(專(zhuān)為非常高的帶寬和減少的采樣時(shí)間而設(shè)計(jì),并針對(duì)時(shí)鐘域輸入電路進(jìn)行了優(yōu)化)。
(d)級(jí)聯(lián)觸發(fā)器作為同步器(兩個(gè)或更多),如圖1.6所示。一串N個(gè)觸發(fā)器的概率為PN(P的N次方),其中P是一個(gè)觸發(fā)器發(fā)生亞穩(wěn)態(tài)故障的機(jī)會(huì)。
(e)降低采樣率。
(f)避免輸入dV/dt低的信號(hào)
原文標(biāo)題:亞穩(wěn)態(tài)詳解
文章出處:【微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
頻率
+關(guān)注
關(guān)注
4文章
1507瀏覽量
59260 -
鎖存器
+關(guān)注
關(guān)注
8文章
906瀏覽量
41542 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
2000瀏覽量
61205 -
亞穩(wěn)態(tài)
+關(guān)注
關(guān)注
0文章
46瀏覽量
13302
原文標(biāo)題:亞穩(wěn)態(tài)詳解
文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論