異步時(shí)鐘域的亞穩(wěn)態(tài)問題和同步器_第1頁
異步時(shí)鐘域的亞穩(wěn)態(tài)問題和同步器_第2頁
異步時(shí)鐘域的亞穩(wěn)態(tài)問題和同步器_第3頁
異步時(shí)鐘域的亞穩(wěn)態(tài)問題和同步器_第4頁
異步時(shí)鐘域的亞穩(wěn)態(tài)問題和同步器_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

異步時(shí)鐘域的亞穩(wěn)態(tài)問題和同步器徐翼鄭建宏摘要:相較純粹的單一時(shí)鐘的同步電路設(shè)計(jì),設(shè)計(jì)人員更多遇到的是多時(shí)鐘域的異步電路設(shè)計(jì)。因此,異步電路設(shè)計(jì)在數(shù)字電路設(shè)計(jì)中的重要性不言而喻。本文主要就異步設(shè)計(jì)中涉及到的亞穩(wěn)態(tài)問題,作簡(jiǎn)要介紹,并提出常用的解決辦法——即同步器的使用。關(guān)鍵詞:異步電路設(shè)計(jì)、亞穩(wěn)態(tài)、同步器。中圖分類號(hào):TN402 文獻(xiàn)標(biāo)識(shí)碼:AMetastabilityintheasynchronousclocksandSynchronizerAbstract:Comparedwiththepureone-clocksynchronousdesigns,thedesignersmoreoftendealwiththemulti-clockasychronousdesigns.Therefore,asynchronouscircuitdesignisveryimportantinthefieldofdigitalcircuitdesign.Thispaperbrieflydescribestheproblematicmetastabilityintheasynchronousdesignsandpresentsaregularsolution——synchronizer.Keywords:Asynchronouscircuitdesign,Metastability,Synchronizer.毫無疑問,單一時(shí)鐘域的電路設(shè)計(jì)是數(shù)字電路中最基本的技能,其時(shí)序分析(TimingAnalysis)也是最簡(jiǎn)單的。與之相對(duì),在多時(shí)鐘域中跨時(shí)鐘域傳輸信號(hào)易出現(xiàn)亞穩(wěn)態(tài),加上自動(dòng)時(shí)序分析工具對(duì)異步信號(hào)處理的力不從心,這些都使得多時(shí)鐘域的異步設(shè)計(jì)和分析較為困難。不幸的是,現(xiàn)實(shí)世界是異步的。如我們常??匆姷逆I盤輸入、磁盤文件傳輸、UART(通用異步收發(fā)器)等等,都是異步時(shí)序的事例。1亞穩(wěn)態(tài)(metastability)時(shí)序電路采用觸發(fā)器和鎖存器作為存儲(chǔ)單元,這兩種器件都易進(jìn)入亞穩(wěn)態(tài)[1]。所謂亞穩(wěn)態(tài)是指觸發(fā)器無法在某個(gè)規(guī)定的時(shí)間段內(nèi)達(dá)到一個(gè)可確認(rèn)的狀態(tài)。如圖1所示,對(duì)任何一種觸發(fā)器,在時(shí)鐘觸發(fā)沿前后存在一個(gè)小的時(shí)間窗口(稱為判決窗口,decisionwindow),輸入信號(hào)在判決窗口內(nèi)必須保持穩(wěn)定,否則,觸發(fā)器就會(huì)進(jìn)入亞穩(wěn)態(tài),既無法預(yù)測(cè)該單元的的輸出電平,也無法預(yù)測(cè)何時(shí)輸出才能穩(wěn)定在某個(gè)電平上。DecisionwindowClock圖1基本的同步器這個(gè)判決窗口由建立時(shí)間(setuptime)和保持時(shí)間(holdtime)兩部分組成。并且時(shí)間窗口也是多種因素的函數(shù),包括觸發(fā)器設(shè)計(jì)、實(shí)現(xiàn)技術(shù)、運(yùn)行環(huán)境以及無緩沖輸出的負(fù)載

等。輸入信號(hào)陡峭的邊沿可以將此窗口減至最小,隨著時(shí)鐘頻率的升高,會(huì)出現(xiàn)更多有問題的時(shí)間窗口,而隨著數(shù)據(jù)頻率的提升,這種窗口的命中概率會(huì)增加,即進(jìn)入亞穩(wěn)態(tài)的概率會(huì)增加。亞穩(wěn)態(tài)不能從根本上消除,但可以通過采取一定的措施使其對(duì)電路造成的影響降低。[2]通常我們用故障間隔平均時(shí)間(MTBF,meantimebetweenfailures)來衡量亞穩(wěn)態(tài)的影響。MTBF越大則說明亞穩(wěn)態(tài)對(duì)電路產(chǎn)生地影響越小,反之亦然。如當(dāng)MTBF等于幾十年或者上百年時(shí),我們就認(rèn)為它對(duì)電路的影響基本上可以忽略。實(shí)驗(yàn)結(jié)果表明:對(duì)于輸入為異步信號(hào)的電路,其MTBF與從亞穩(wěn)態(tài)狀態(tài)下恢復(fù)的時(shí)間長(zhǎng)度(如圖1所示的T)有著指數(shù)的關(guān)r系[3]。下面我們簡(jiǎn)單分析一下。當(dāng)電路處于亞穩(wěn)態(tài)時(shí),輸入的‘1'或‘0'可能被判為‘0'或‘1'這種狀態(tài)被稱為翻轉(zhuǎn)(upset)。通過實(shí)驗(yàn),得到翻轉(zhuǎn)概率p的數(shù)學(xué)公式為:丁 -Tp=Texp——,

° Tc這里的T是觸發(fā)器對(duì)輸入的判決時(shí)間,也是由輸入的亞穩(wěn)態(tài)到輸出的確定狀態(tài)的過渡時(shí)間,r即從亞穩(wěn)態(tài)下恢復(fù)的時(shí)間;T和T是觸發(fā)器在采用某種工藝下的常數(shù)?!鉩故障間隔平均時(shí)間(MTBF),亦稱為翻轉(zhuǎn)間隔平均時(shí)間(meantimebetweenupsets,MTBU),公式為:MTBF=1

pMTBF=1

pf fclockdataTexprTcTff°clockdata這里的f是時(shí)鐘頻率,f是數(shù)據(jù)頻率。clock data當(dāng)f、f分別為確定值。而T和T又與觸發(fā)器特定的工藝有關(guān)。這時(shí)唯一能改變clockdata °c的值是T,我們應(yīng)盡可能增加觸發(fā)器的判決時(shí)間,從而使MTBF盡可能大。對(duì)于主從結(jié)構(gòu)r的觸發(fā)器(兩個(gè)鎖存器串聯(lián)),當(dāng)時(shí)鐘的占空比為5°%時(shí),采用一級(jí)觸發(fā)器作為同步器,則T的值是半個(gè)同步時(shí)鐘周期。r2同步器(synchronizer)在實(shí)際中,我們常用的是采用兩級(jí)觸發(fā)器串聯(lián)的同步器(如圖1)[4]。這種用兩級(jí)觸發(fā)器串聯(lián)的同步器亦稱為電平同步器(thelevelsynchronizer),它是其他同步器的基礎(chǔ)。對(duì)于電平同步器,它能將輸入第一級(jí)觸發(fā)器的異步電平信號(hào)(保險(xiǎn)起見,電平信號(hào)應(yīng)保持大于兩個(gè)同步時(shí)鐘周期),轉(zhuǎn)換成第二級(jí)觸發(fā)器輸出的同步電平信號(hào)。第一級(jí)觸發(fā)器對(duì)輸入的判決時(shí)間T有整個(gè)同步時(shí)鐘周期的長(zhǎng)度。因此,它的MTBF比單觸發(fā)器的同步器更大,即亞穩(wěn)r態(tài)所產(chǎn)生的影響更小,通常是在我們的可以容忍的范圍之內(nèi)。因此,對(duì)于高速率數(shù)字電路的同步器,通常采取的策略是用觸發(fā)器級(jí)聯(lián)來實(shí)現(xiàn)時(shí)間緩沖,為電路從亞穩(wěn)態(tài)下恢復(fù)過來提供時(shí)間,即以時(shí)間延遲為代價(jià),降低亞穩(wěn)態(tài)的發(fā)生對(duì)電路的影響。下面再分別介紹另外兩種常用的同步器。2.1邊沿檢測(cè)同步器(theedgesynchronizer)如圖2所示,邊沿檢測(cè)同步器在電平同步器的輸出端增加了一個(gè)觸發(fā)器。新增觸發(fā)器的

輸出經(jīng)反相后和電平同步器的輸出進(jìn)行與操作。這一電路會(huì)檢測(cè)同步器輸入信號(hào)的上升沿,產(chǎn)生一個(gè)與同步時(shí)鐘周期等寬、高電平有效的脈沖。如果將與門的兩個(gè)輸入端交換使用,就可以構(gòu)成一個(gè)檢測(cè)輸入信號(hào)下降沿的同步器。將與門改為與非門,可以構(gòu)建一個(gè)產(chǎn)生低電平有效脈沖的電路。圖2邊沿檢測(cè)同步器當(dāng)一個(gè)脈沖進(jìn)入更快的時(shí)鐘域中時(shí),邊沿檢測(cè)同步器可以工作得很好。這一電路會(huì)產(chǎn)生一個(gè)脈沖,用來指示輸入信號(hào)上升或下降沿。這種同步器有一個(gè)限制,即輸入脈沖的寬度必須大于同步時(shí)鐘周期與第一個(gè)同步觸發(fā)器所需保持時(shí)間之和。最保險(xiǎn)的脈沖寬度是同步器時(shí)鐘周期的兩倍。如果輸入是一個(gè)單時(shí)鐘寬度脈沖進(jìn)入一個(gè)較慢的時(shí)鐘域,則這種同步器沒有作用,在這種情況下,就要采用脈沖同步器[5]。2.2脈沖同步器(thepulsesynchronizer)如圖3所示,脈沖同步器的輸入信號(hào)是一個(gè)單時(shí)鐘寬度脈沖,它觸發(fā)原時(shí)鐘域中的一個(gè)翻轉(zhuǎn)電路。每當(dāng)翻轉(zhuǎn)電路接收到一個(gè)脈沖時(shí),它就會(huì)在高、低電平間進(jìn)行轉(zhuǎn)換,然后通過電平同步器到達(dá)異或門的一個(gè)輸入端,而另一個(gè)信號(hào)經(jīng)一個(gè)時(shí)鐘周期的延遲進(jìn)入異或門的另一端,翻轉(zhuǎn)電路每轉(zhuǎn)換一次狀態(tài),這個(gè)同步器的輸出端就產(chǎn)生一個(gè)單時(shí)鐘寬度的脈沖。圖3脈沖同步器脈沖同步器的基本功能是從某個(gè)時(shí)鐘域取出一個(gè)單時(shí)鐘寬度脈沖,然后在新的時(shí)鐘域中建立另一個(gè)單時(shí)鐘寬度的脈沖。脈沖同步器也有一個(gè)限制,即輸入脈沖之間的最小間隔必須等于兩個(gè)同步器時(shí)鐘周期。如果輸入脈沖相互過近,則新時(shí)鐘域中的輸出脈沖也緊密相鄰結(jié)果是輸出脈沖寬度比一個(gè)時(shí)鐘周期寬。當(dāng)輸入脈沖時(shí)鐘周期大于兩個(gè)同步器時(shí)鐘周期時(shí)這個(gè)問題更加嚴(yán)重。這種情況下,如果輸入脈沖相鄰太近,則同步器就不能檢測(cè)到每個(gè)脈沖。3仿真結(jié)果如圖4、5所示,在Modelsim下分別跑了兩組邊沿檢測(cè)同步器和脈沖同步器的仿真。下面作簡(jiǎn)單的介紹。clkl為原電路時(shí)鐘;clk2為同步時(shí)鐘;pulse_din為脈沖同步器的輸入,pulse_dout為其輸出;edge_din為邊沿檢測(cè)同步器的輸入,edge_dout為其輸出。在圖4中,顯示了正常條件下的邊沿檢測(cè)同步器和脈沖同步器的輸入和輸出。在圖5中,由于脈沖同步器的輸入(pulse_din)的脈沖間隔太小,同步器無法分辨出兩個(gè)輸入脈沖,只能輸出(pulse_dout)—個(gè)有兩個(gè)同步時(shí)鐘周期寬度的脈沖。圖4硬件仿真波形圖圖5硬件仿真波形圖4總結(jié)同步器還有許多種設(shè)計(jì)方法,因?yàn)橐环N同步器不能滿足所有應(yīng)用的需求。其類型也有多種,常用的基本的類型就是上述介紹的三種類型:電平、邊沿檢測(cè)和脈沖同步器。這三種類型的同步器可以解決設(shè)計(jì)者遇到的多數(shù)應(yīng)用問題。在使用同步器時(shí)還有一條重要的規(guī)則,那就是不應(yīng)當(dāng)在設(shè)計(jì)中的多個(gè)地方對(duì)同一信號(hào)進(jìn)行同步,即單個(gè)信號(hào)不能扇出至多個(gè)同步器。否則,就會(huì)出現(xiàn)競(jìng)爭(zhēng)狀況[6]。這種競(jìng)爭(zhēng)狀況在需要跨越時(shí)鐘域傳輸?shù)亩嘟M信號(hào)間也會(huì)發(fā)生,例如數(shù)據(jù)總線、地址總線和控制總線等。因此,不能對(duì)組中的每個(gè)信號(hào)單獨(dú)使用同步器,因?yàn)樵谛碌臅r(shí)鐘域中,要求每個(gè)信號(hào)同時(shí)有效。本文作者創(chuàng)新點(diǎn):論證了基本的處理異步時(shí)鐘域的同步器,并在此基礎(chǔ)上歸納提出三種常用的同步器類型。參考文獻(xiàn):MichaelD.Ciletti.AdvancedDigitalDesignwiththeVerilogHDL.電子工業(yè)出版社;梁曉瑩,岳洪偉.ASIC中的異步FIFO的實(shí)現(xiàn)?微計(jì)算機(jī)信息.2005,8-1:21-23;MichaelJohnSebastianSmith.Application-SpecificIntegratedCircuits.電子工業(yè)出版社;CliffordE.Cummings.SynthesisandScriptingTechniquesforDesigningMulti-AsynchronousClockDesigns.SunburstDesign,Inc.;MarkLitterick,Verilab,Munich,Germany. PragmaticSimulation-BasedVerificationofClockDomainCrossingSignalsandJitterusingSystemVerilogAssertions[6]CliffBrake.DigitalDesignBasics.2002-11-21作者簡(jiǎn)介:徐翼(1980-),男,重慶人,重慶郵電大學(xué)碩士研究生,研究方向?yàn)榈谌苿?dòng)通信技術(shù),E-mail:xuyi803@鄭建宏(1961-),男,教授,四川廣安人,主要研究方向?yàn)門D-SCDMA移動(dòng)通信系統(tǒng)及終端設(shè)備的開發(fā),TD-SCDMA項(xiàng)目負(fù)責(zé)人。YiXu(1980-),male,peopleofChongqing,mastergraduatestudentofChongqingUniversityofPostsandTelecommunicatio

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論