文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.01.008
中文引用格式: 賴曉敏,泮朋軍,羅喚霖,等. 基于FPGA的TMR電路跨時鐘域同步技術[J].電子技術應用,2017,43(1):32-34,38.
英文引用格式: Lai Xiaomin,Pan Pengjun,Luo Huanlin,et al. Synchronization technology for TMR circuits across clock domains based on FPGA[J].Application of Electronic Technique,2017,43(1):32-34,38.
0 引言
基于SRAM型的現場可編程門陣列(FPGA)目前在衛星電子系統中被大量應用。但由于SRAM型FPGA工藝特點,其功能的實現都是受內部靜態RAM單元控制的,因此容易受到空間單粒子翻轉效應(SEU)的影響。三模冗余(TMR)技術能有效降低FPGA電路的單粒子翻轉效應。
如果對三重傳輸信號經過異步時鐘邊界之后的采樣信號不作處理,則還有可能產生問題。本文針對在應用電路出現以下現象:亞穩態、異步采樣不確定性和SEU,進行了量化和分析,同時對三重時鐘域異步采樣的不確定性的影響進行建模,最后對同步器進行了優化設計。
1 信號復制和采樣的不確定性
在TMR電路中,除表決電路外,每個模塊和信號都是三重復制,這有可能會帶來異步采樣不確定的問題。3個相同的信號在異步采樣模式下,可能會在接收時鐘域上不同的時鐘周期到達。圖1為三重信號經過不同時鐘域的傳輸。在理想的情況下,接收到的信號Sigrcv_A、Sigrcv_B和Sigrcv_C在接收端時鐘域將是一致的。然而,在非理想的情況下,假設信號在時鐘上升沿采樣,如圖2所示,由于存在布線延遲差異,采樣后的信號可能無法保持一致[1]。
為了估算三重信號傳輸的可靠性,本文將圖1簡化為圖3所示的電路。
源信號Sig_s經三重復制,從Clks時鐘域被傳送到時鐘域Clkr,在傳輸網絡中的延遲時間分別為TdelayA、TdelayB、TdelayC(假設觸發器的建立和保持時間為0 ns)。圖4為采樣不確定時的時序波形。
由于三組信號Sig_A、Sig_B、Sig_C的傳輸延時不一致,因此到達時間也不一致。Sig_A、Sig_B在Clkr時鐘上升沿前到達,而Sig_C由于延遲較大,落后于Clkr時鐘上升沿,因此在這個Clkr時鐘周期內無法被采樣,由此產生了采樣的不確定性風險。
若Clkr時鐘上升沿落在最大延遲和最小延遲的窗口(即判決窗口Tskew=TdelayC-TdelayA)之外,那么采樣不確定性將不會發生。若接收端的時鐘比發送端的時鐘要慢,Clkr上升沿落在Clks周期外的概率是:p1=Fr/Fs;反之,Clkr上升沿落在Clks周期內的概率為在判決窗口Tskew除以發送端的時鐘周期p2=Tskew/Ts。因此,未經同步的三組脈沖信號發送到接收端的概率為兩組概率的乘積:P1=p1×p2=(Fr/Fs)×(Tskew/Ts)=Fr×Tskew。由于在Clks周期內輸入信號變化的概率可表示為Fd/Fs。因此,3個觸發器的輸出不在同一時鐘周期內的概率可表示為:P=P1×(Fd/Fs)=Tskew×(Fr×Fd/Fs)。
因此,降低概率P便降低了TMR判決出錯的概率??梢钥闯?,減小判決窗口Tskew、降低發送端信號變化與時鐘頻率比值Fd/Fs以及降低接收端時鐘頻率Fr均可以達到類似效果。
2 采樣不確定性及信號偏差的效應
采樣電路中接收的三重信號脈沖寬度足夠長時,時序圖如圖5所示。
雖然因互連延遲,3個相同的信號在接收端的時鐘域里并不完全一樣。如Sig_A和Sig_B在第一個時鐘周期里被采樣成‘1’,Sig_C被采樣成‘0’。由于信號寬度足夠長,在后兩個時鐘周期內三組信號可以被正確的采樣,不影響后續處理。因此,如果源信號具有足夠長的脈沖寬度,且判決器被正確放置在源信號的有效周期內,源信號的分組偏差不會導致后端信號的處理錯誤。
信號脈沖寬度不滿足要求時,信號偏差將影響采樣結果。三組源信號的脈沖寬度是與接收端的時鐘寬度Trcv一致,在沒有信號偏差的情況不會產生錯誤,如圖6所示。
一旦某一組信號存在偏差,在接收端的采樣將會出現偏差,如圖7所示,而這種偏差具有一定的脆弱性,用判決器進行糾正時有可能出現誤判。如圖8所示,其上半部分為有信號偏差但沒有SEU的情況,盡管情形2和情形3會導致接收端接收的信號不一致,但判決器可以矯正這種偏差;在下半部分圖中,Sig_A受到SEU的影響變為長‘0’,在情形1和情形3中沒有發生錯誤,因為Sig_B、Sig_C 沒有采樣不一致的情況發生,而情形2由于SEU和Sig_B、Sig_C存在偏差,兩種因素同時作用,從而導致判決錯誤。
為了解決圖8中情形2的問題,源信號脈沖寬度須滿足Tpw≥Tskew+Trcv,如圖9所示。這種情況下,即使3個發送信號之間存在延遲,均可以在中間一個時鐘周期被正確地采樣,保證判決器不會發生錯誤。
3 解決方案
為了解決圖8中情形2中出現的錯誤,通用的解決思路如下:首先盡量減小3組源信號的不同步輸出延時,使Tskew盡量小,可通過FPGA的布線約束進行自動布線或手動布線來達到理想效果;其次,在接收端的時鐘域中,對3組源信號進行同步處理,保證發送信號在接收端時鐘Clkr的一個時鐘周期內被同時采樣;而后通過判決器,在出現SEU時對同步器輸出信號進行表決,如圖10所示。
3.1 長脈寬的源信號
由圖8可以看出,當源信號脈沖寬度Tpw≥Tskew+Trcv時,即使發生信號偏差也可以被接收端正確采樣。在此情況下,同步器可以采用最經典的兩級觸發電路。整個系統的設計圖如圖11所示。其中判決器的輸出信號寬度可能是一個時鐘周期,也可能維持多個時鐘周期。
3.2 短脈寬的源信號
當源信號脈沖寬度Tpw<Tskew+Trcv時,須對源信號脈沖寬度進行擴展,以便判決器能正確采樣。因此,同步器電路須進行適應性修改,示例電路如圖12所示,其時序波形如圖13所示。
4 結束語
本文討論了TMR電路在多時鐘域系統可能受到的影響(亞穩態、異步采樣錯誤和單粒子翻轉),對這3種影響的綜合效應進行了量化分析。通過降低復制輸入信號的不同步延時,以及降低接收端時鐘頻率,可以有效減小判決出錯的概率。針對存在SEU及信號偏差的系統,對于不同脈沖長度的源信號,提出了兩種同步器設計方案,較好地解決三模冗余情況下跨時鐘域信號的問題。此設計在航天、航空數據處理系統以及重要的數字冗余處理系統中具有較為廣泛的應用背景與現實意義,可用于數據處理器、編碼器等數字基帶單元的FPGA芯片應用中。
參考文獻
[1] KAPSCHITZ T,NEWTON I R.Verifying synchronization in multi-clock domain SoC[Z].HDL,Inc.2004.
作者信息:
賴曉敏,泮朋軍,羅喚霖,孫 聰,朱新忠
(上海航天電子技術研究所,上海201109)