理解FPGA 中的壓穩(wěn)態(tài)
理解FPGA 中的壓穩(wěn)態(tài)
本文引用地址:http://m.butianyuan.cn/article/191796.htm 本白皮書介紹FPGA 中的壓穩(wěn)態(tài),為什么會(huì)出現(xiàn)這一現(xiàn)象,它是怎樣導(dǎo)致設(shè)計(jì)失敗的。介紹怎樣計(jì)算壓穩(wěn)態(tài)MTBF,重點(diǎn)是對(duì)結(jié)果造成影響的各種器件和設(shè)計(jì)參數(shù)。
引言
當(dāng)信號(hào)在不相關(guān)或者異步時(shí)鐘域之間傳送時(shí),會(huì)出現(xiàn)壓穩(wěn)態(tài),它是導(dǎo)致包括FPGA 在內(nèi)的數(shù)字器件系統(tǒng)失敗的一種現(xiàn)象。本白皮書介紹FPGA 中的壓穩(wěn)態(tài),解釋為什么會(huì)出現(xiàn)這一現(xiàn)象,討論它是怎樣導(dǎo)致設(shè)計(jì)失敗的。
通過(guò)計(jì)算壓穩(wěn)態(tài)導(dǎo)致的平均故障間隔時(shí)間(MTBF),設(shè)計(jì)人員知道是否應(yīng)采取措施來(lái)降低這類失敗的概率。
本白皮書解釋怎樣利用各種設(shè)計(jì)和器件參數(shù)來(lái)計(jì)算MTBF, FPGA 供應(yīng)商和設(shè)計(jì)人員怎樣提高M(jìn)TBF??梢酝ㄟ^(guò)設(shè)計(jì)方法和優(yōu)化措施來(lái)降低出現(xiàn)壓穩(wěn)態(tài)失敗的概率,從而提高系統(tǒng)可靠性。
什么是壓穩(wěn)態(tài)?
FPGA 等數(shù)字器件中的所有寄存器都有確定的信號(hào)時(shí)序要求,使每一個(gè)寄存器能夠正確的采集輸入數(shù)據(jù),產(chǎn)生輸出信號(hào)。為保證能夠可靠的工作,寄存器輸入必須在時(shí)鐘沿之前穩(wěn)定一段時(shí)間( 寄存器建立時(shí)間,即tSU),在時(shí)鐘沿之后也要保持穩(wěn)定一段時(shí)間( 寄存器保持時(shí)間,即tH)。一定的時(shí)鐘至輸出延時(shí) (tCO) 之后,寄存器輸出有效。如果信號(hào)轉(zhuǎn)換不能滿足寄存器的tSU 或者tH 要求,寄存器輸出就有可能進(jìn)入壓穩(wěn)態(tài)。在壓穩(wěn)態(tài)中,寄存器輸出在高電平和低電平狀態(tài)之間徘徊一段時(shí)間,這意味著,輸出延時(shí)超出設(shè)定的tCO 之后才能轉(zhuǎn)換到確定的高電平或者低電平狀態(tài)。
在同步系統(tǒng)中,輸入信號(hào)必須滿足寄存器時(shí)序要求,因此,不會(huì)出現(xiàn)壓穩(wěn)態(tài)。信號(hào)在不相關(guān)或者異步時(shí)鐘域電路之間傳輸時(shí),一般會(huì)出現(xiàn)壓穩(wěn)態(tài)問(wèn)題。在這種情況下,由于信號(hào)可能在相對(duì)于目的時(shí)鐘的任意時(shí)間到達(dá),因此,設(shè)計(jì)人員不能保證信號(hào)能夠滿足tSU 和tH 要求。然而,并不是所有不能滿足寄存器tSU 或者tH的信號(hào)轉(zhuǎn)換都導(dǎo)致壓穩(wěn)態(tài)輸出。寄存器是否會(huì)進(jìn)入壓穩(wěn)態(tài)以及返回穩(wěn)定狀態(tài)所需要的時(shí)間與器件制造工藝以及實(shí)際工作條件有關(guān)。在大部分情況下,寄存器會(huì)很快返回穩(wěn)定狀態(tài)。
可以把寄存器在時(shí)鐘邊沿采樣數(shù)據(jù)信號(hào)形象的看成是球從山上滾落下來(lái),如圖1 所示。山的兩邊代表穩(wěn)定狀態(tài)――信號(hào)轉(zhuǎn)換之后,信號(hào)的老數(shù)據(jù)和新數(shù)據(jù),山頂代表壓穩(wěn)態(tài)。如果球從山頂滾落,它會(huì)處于不確定狀態(tài),實(shí)際中,它稍偏向一側(cè),然后,落到山下。從山頂開始,越到山腳,球到達(dá)底部穩(wěn)定狀態(tài)的速度越快。
如果數(shù)據(jù)信號(hào)在時(shí)鐘沿之后以最小的 tH 轉(zhuǎn)換,這就類似球從山的“老數(shù)據(jù)值”一側(cè)落下,輸出信號(hào)保持在該時(shí)鐘轉(zhuǎn)換的最初值不變。當(dāng)寄存器數(shù)據(jù)輸入在時(shí)鐘沿之前以最小 tSU 轉(zhuǎn)換,保持時(shí)間大于最小 tH,這就類似球從山的“新數(shù)據(jù)值”一側(cè)落下,輸出信號(hào)很快達(dá)到穩(wěn)定的新狀態(tài),滿足確定的tCO 時(shí)間要求。但是,當(dāng)寄存器數(shù)據(jù)輸入不能滿足tSU 或者 tH, 時(shí),這就類似于球從山頂落下。如果球落在山頂附近,那么,它會(huì)花很長(zhǎng)時(shí)間才能落到山腳,增加了時(shí)鐘轉(zhuǎn)換到穩(wěn)定輸出的延時(shí),超出了要求的tCO。
理解FPGA 中的壓穩(wěn)態(tài)Altera 公司
2
圖 1. 利用球從山上落下描述壓穩(wěn)態(tài)
圖2 描述了壓穩(wěn)態(tài)信號(hào)。時(shí)鐘信號(hào)轉(zhuǎn)換時(shí),輸入信號(hào)從低電平狀態(tài)轉(zhuǎn)換到高電平狀態(tài),不能滿足寄存器的tSU 要求。數(shù)據(jù)輸出信號(hào)從低電平狀態(tài)開始,進(jìn)入壓穩(wěn)態(tài),在高電平和低電平狀態(tài)之間徘徊。信號(hào)輸出A 轉(zhuǎn)換到輸入數(shù)據(jù)的新邏輯1 狀態(tài),輸出B 返回到數(shù)據(jù)輸入最初的邏輯0 狀態(tài)。在這兩種情況下,輸出轉(zhuǎn)換到確定的1 或者0 狀態(tài)的時(shí)間被延遲了,超出了寄存器要求的tCO。
圖 2. 壓穩(wěn)態(tài)輸出信號(hào)實(shí)例
壓穩(wěn)態(tài)什么時(shí)候會(huì)導(dǎo)致設(shè)計(jì)失敗?
如果數(shù)據(jù)輸出信號(hào)在寄存器下次采集數(shù)據(jù)之前,轉(zhuǎn)換到有效狀態(tài),那么,壓穩(wěn)態(tài)信號(hào)不會(huì)對(duì)系統(tǒng)工作有不利影響。但是,如果壓穩(wěn)態(tài)信號(hào)不能在它到達(dá)下一設(shè)計(jì)寄存器之前轉(zhuǎn)換到低電平或者高電平狀態(tài),那就會(huì)導(dǎo)致系統(tǒng)失敗。繼續(xù)山和球的形象解釋,當(dāng)球到達(dá)山腳( 穩(wěn)定邏輯狀態(tài)0 或者1) 的時(shí)間超出分配的時(shí)間后,即,寄存器tCO 加上寄存器通路所有時(shí)序余量的時(shí)間,就會(huì)出現(xiàn)失敗。當(dāng)壓穩(wěn)態(tài)信號(hào)沒(méi)有在分配的時(shí)間內(nèi)穩(wěn)定下來(lái)時(shí),如果目的邏輯觀察到不一致的邏輯狀態(tài),即,不同的目的寄存器采集到不同的壓穩(wěn)態(tài)信號(hào)值,出現(xiàn)邏輯失敗。
同步寄存器
當(dāng)信號(hào)在不相關(guān)或者異步時(shí)鐘域電路之間傳送時(shí),在使用該信號(hào)之前,需要將信號(hào)同步到新的時(shí)鐘域。新鐘域中第一個(gè)寄存器起到了同步寄存器的作用。
評(píng)論