基于FPGA的跨時鐘域信號處理_第1頁
基于FPGA的跨時鐘域信號處理_第2頁
基于FPGA的跨時鐘域信號處理_第3頁
基于FPGA的跨時鐘域信號處理_第4頁
基于FPGA的跨時鐘域信號處理_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——基于FPGA的跨時鐘域信號處理

基于FPGA的跨時鐘域信號處理——亞穩(wěn)態(tài)

在特權(quán)的上篇博文《基于FPGA的跨時鐘域信號處理——專用握手信號》中

提出了使用專門的握手信號達(dá)到異步時鐘域數(shù)據(jù)的可靠傳輸。列舉了一個簡單的由請求信號req、數(shù)據(jù)信號data、應(yīng)答信號ack組成的簡單握手機(jī)制。riple兄更是提出了req和ack這兩個直接的跨時鐘域信號在被另一個時鐘域的寄放器同步時的亞穩(wěn)態(tài)問題。這個問題估計是整個異步通信中最值得探討和關(guān)注的。

很幸運(yùn),特權(quán)同學(xué)找到了很官方的說法——《Application

Note42:MetastabilityinAlteraDevices》,一口氣讀完全文,有一個單詞送給這篇文章很適合——“nice〞。特權(quán)同學(xué)過去的所有不解都在文章中找到了答案,盡管altera在文章的最終只是竭盡全力的在吹捧自己的好。

假使你E文還不錯(該不會比我這個4次都沒過掉4級考試的家伙差吧,~_~),

那么去享受原文吧?;蛘吣憧梢钥紤]看看特權(quán)同學(xué)的翻譯水平,哈哈??

什么是亞穩(wěn)態(tài)?

所有數(shù)字器件(例如FPGA)的信號傳輸都會有一定的時序要求,從而保證每

個寄放器將捕獲的輸入信號正確輸出。為了確??煽康牟僮?,輸入寄放器的信號必需在時鐘沿的某段時間(寄放器的建立時間Tsu)之前保持穩(wěn)定,并且持續(xù)到時鐘沿之后的某段時間(寄放器的保持時間Th)之后才能改變。而該寄放器的輸入反映到輸出則需要經(jīng)過一定的延時(時鐘到輸出的時間Tco)。假使數(shù)據(jù)信號的變化違反了Tsu后者Th的要求,那么寄放器的輸出就會處于亞穩(wěn)態(tài)。此時,寄放器的輸出會在高電平1和低電平0之間旋繞一段時間,這也意味著寄放器的輸出達(dá)到一個穩(wěn)定的高或者低電平的狀態(tài)所需要的時間會大于Tco。

在同步系統(tǒng)中,輸入信號總是能夠達(dá)到寄放器的時序要求,所以亞穩(wěn)態(tài)不會發(fā)生。亞穩(wěn)態(tài)問題尋常發(fā)生在一些跨時鐘域信號的傳輸上。由于數(shù)據(jù)信號可能在任何時間到達(dá)異步時鐘域的目的寄放器,所以設(shè)計者無法保證滿足Tsu和Th的要求。然而,并非所有違反寄放器的Tsu或Th要求的信號會導(dǎo)致輸出亞穩(wěn)態(tài)。某個寄放器進(jìn)入了亞穩(wěn)態(tài)后重新回到穩(wěn)定狀態(tài)的時間取決于器件的制造工藝及工作環(huán)境。在大多數(shù)狀況下,寄放器將會快速的返回穩(wěn)定狀態(tài)。

寄放器在時鐘沿采樣數(shù)據(jù)信號好比一個球從小山的一側(cè)拋到另一側(cè)。如圖1所示,小山的兩側(cè)代表數(shù)據(jù)的穩(wěn)定狀態(tài)——舊的數(shù)據(jù)值或者新的數(shù)據(jù)值;山頂代表亞穩(wěn)態(tài)。假使球被拋到山頂上,它可能會停在山頂上,但實(shí)際上它只要稍微有些動靜就會滾落到山底。在一定時間內(nèi),球滾的越遠(yuǎn),它達(dá)到穩(wěn)定狀態(tài)的時間也就越短。

假使數(shù)據(jù)信號的變化發(fā)生在時鐘沿的某段時間之后(Th),就好像球跌落到了小山的“olddatavalue〞一側(cè),輸出信號依舊保持時鐘變化前的值不變。假使數(shù)據(jù)信號的變化發(fā)生在時鐘沿的某段時間(Tsu)之前,并且持續(xù)到時鐘沿之后的某段時間(Th)都不再變化,那就好像球跌落到了小山的“newdatavalue〞一側(cè),輸出數(shù)據(jù)達(dá)到穩(wěn)定狀態(tài)的時間為Tco。然而,當(dāng)一個寄放器的輸入數(shù)據(jù)違反了Tsu或者Th,就像球被拋到了山頂。假使球在山頂停留的越久,那么它到達(dá)山底的時間也就越長,這就相應(yīng)的延長了從時鐘變化到輸出數(shù)據(jù)達(dá)到穩(wěn)定狀態(tài)的時間(Tco)。

圖1

圖2很好的闡釋了亞穩(wěn)態(tài)信號。在時鐘變化的同時,寄放器的輸入數(shù)據(jù)信號

也處于從低電平到高電平的變化狀態(tài),這就違反了寄放器的Tsu要求。圖中的輸出信號從低電平變化到亞穩(wěn)態(tài),即旋繞于高低電平之間的一個狀態(tài)。信號輸出A最終達(dá)到輸入信號的新狀態(tài)值1,信號輸出B卻返回了輸入信號的舊狀態(tài)值0。在這兩種狀況下,信號輸出變化穩(wěn)定在固定的1或者0狀態(tài)的時間遠(yuǎn)超過了寄放器的固有Tco。

圖2

假使輸出信號在下一個寄放器捕獲數(shù)據(jù)前(下一個時鐘鎖存沿的Tsu時間前)

處于一個穩(wěn)定的有效狀態(tài),那么亞穩(wěn)態(tài)信號不會對該系統(tǒng)照成影響。但是假使亞穩(wěn)態(tài)信號在下一個寄放器捕獲數(shù)據(jù)時依舊旋繞于高或者低電平之間,那將會對系統(tǒng)的后續(xù)電路產(chǎn)生影響。繼續(xù)探討球和小山的比喻,當(dāng)球到達(dá)山底的時間(處于穩(wěn)定的規(guī)律值0或1)超過了扣除寄放器Tco以外的余量時間,那么問題就隨著而來。

同步寄放器

當(dāng)信號變化處于一個不相關(guān)的電路或者以不時鐘域,它在被使用前就需要先

被同步到新的時鐘域中。新的時鐘域中的第一個寄放器將扮演同步寄放器的角色。

為了盡可能減少異步信號傳輸中由于亞穩(wěn)態(tài)引發(fā)的問題,設(shè)計者尋常在目的

時鐘域中使用一串連續(xù)的寄放器(同步寄放器鏈或者同步裝置)將信號同步到新的時鐘域中。這些寄放器有額外的時間用于信號在被使用前從亞穩(wěn)態(tài)達(dá)到穩(wěn)定值。同步寄放器到寄放器路徑的時序余量,也就是亞穩(wěn)態(tài)信號達(dá)到穩(wěn)定的最大時間,也被認(rèn)為是亞穩(wěn)態(tài)持續(xù)時間。

同步寄放器鏈,或者同步裝置,被定義為一串達(dá)到以下要求的連續(xù)寄放器:■鏈中的寄放器都由一致的時鐘或者相位相關(guān)的時鐘觸發(fā);■鏈中的第一個寄放器由不相關(guān)時鐘域或者是異步的時鐘來觸發(fā);■每個寄放器的扇出值都為1,鏈中的最終一個寄放器可以例外。

同步寄放器鏈的長度就是達(dá)到以上要求的同步時鐘域的寄放器數(shù)量,圖3是一個兩級的同步寄放器鏈,

圖3

傳輸在不相關(guān)時鐘域的信號,都有可能在相對于捕獲寄放器時鐘沿的任何

時間點(diǎn)變化。因此,設(shè)計者無法預(yù)計信號變化的順序或者說信號兩次變化間經(jīng)過了幾個鎖存時鐘周期。例如,一條異步總線的各個數(shù)據(jù)信號可能在不同的時鐘沿變化,結(jié)果接收到的數(shù)據(jù)值可能是錯誤的。

設(shè)計者必需考慮到電路的這些狀況,而使用雙時鐘FIFO(DCFIFO)傳輸信號或者使用握手信號進(jìn)行控制。FIFO使用同步裝置處理來自不同時鐘域的控制信號,數(shù)據(jù)的讀寫使用兩套獨(dú)立的總線。此外,假使異步信號作為兩個時鐘域的握手規(guī)律,這些控制信號就需要用于指示何時數(shù)據(jù)信號可以被接收時鐘域鎖存。如此一來,就可以利用同步寄放器確保亞穩(wěn)態(tài)不會影響控制信號的傳輸,從而保證數(shù)據(jù)在使用前有充足的時間等待亞穩(wěn)態(tài)達(dá)到穩(wěn)定。

文章其實(shí)還沒有終止,只不過altera在后面很官方的提出了所謂的MTBF

(meantimebetweenfailures)的概念,即所謂的平均無故障時間的概念。列了個公式,分析了各個參數(shù),當(dāng)然也不忘提他們的器件參數(shù)對于這個MTBF做了多大的貢獻(xiàn)。然后也提出了它們是如何進(jìn)行該公式參數(shù)的推導(dǎo)。

我們還是回到主題,在明確了這些基本的概念和基本的方法后,就要學(xué)以致

用。在上篇博文沒有解決的一個關(guān)鍵問題在于如何最有效的進(jìn)行握手信號req、ack的采樣。這個問題我們可以先以altera提出的MTBF推導(dǎo)公式的各個參數(shù)入手分析。

在這個公式中,Tmet就是指寄放器從時鐘上升沿觸發(fā)后的時序余量時間,F(xiàn)clk是接收時鐘域的時鐘頻率,F(xiàn)data是數(shù)據(jù)的變化頻率,而C1、C2則是與器件有關(guān)的參數(shù),對于用戶是一個固定值。由此看來,設(shè)計者只能通過改變Tmet、Fclk、Fdata來提高M(jìn)TBF值。MTBF值越大,說明出現(xiàn)亞穩(wěn)態(tài)的幾率越小。要增大MTBF值,可以延長Tmet、也可以降低Fclk和Fdata這兩個頻率。

首先我們看看如何延長Tmet時間。

Tmet時間=采樣時鐘周期時間–輸出信號正常的Tco時間-數(shù)據(jù)到達(dá)下一級寄放器的輸入端口的其它延時時間Tdata-下一級寄放器Tsu時間。

圖4

從嚴(yán)格意義上來說,Tmet時間還應(yīng)當(dāng)加上時鐘網(wǎng)絡(luò)延時時間(Tclk2-Tclk1)。

總之,這個Tmet時間是指正常沒有亞穩(wěn)態(tài)狀況下,寄放器輸出信號從源寄放器到目的寄放器的建立時間余量。由于決定Tmet取值的參數(shù)中Tco和Tsu都是由FPGA器件本身的工藝以及工作環(huán)境決定的,設(shè)置時鐘網(wǎng)絡(luò)延時參數(shù)也很大程度上由器件決定,所以,假使在時鐘頻率Fclk和數(shù)據(jù)變化率Fdata固定的狀況下,要增大Tmet值,那么設(shè)計者要做的只能是減小Tdata值。

溫馨提示

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

評論

0/150

提交評論