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