基于FPGA的SoftSerdes設計與實(shí)現
基于兩種基本的時(shí)序約束的時(shí)序分析決定了抽頭延時(shí)和延時(shí)鏈的長(cháng)度,抽樣延時(shí)線(xiàn)的時(shí)序分析如圖3所示。而時(shí)序約束分最好情況和最壞情況:最好情況的時(shí)序約束是整個(gè)延遲線(xiàn)的最小值必須大于數據總的抖動(dòng)數,這個(gè)約束決定了抽頭的個(gè)數;而最壞情況的時(shí)序約束是其最大的抽頭延時(shí)值必須小于數據的有效窗口,這個(gè)約束決定了延遲線(xiàn)的構成。
最好和最壞情況的數學(xué)表達式分別為:
tJTT<tTPMIN[(n-2k)+1]
和tVAL>ktTAPMAX
其中,n是抽頭數,k是數據有效窗口內數據最小抽樣數,tTAPMIN和tTAPMAx是必需的最小和最大抽頭延時(shí),一般情況下,tJTT是總的jitter,tVAL是數據的有效窗口。
1.3數據恢復狀態(tài)機
當抽頭延時(shí)線(xiàn)對數據進(jìn)行抽樣時(shí),數據狀態(tài)恢復機就對這些抽樣進(jìn)行處理并最終輸出有效位。邊沿檢測機制是通過(guò)分離穿過(guò)所有通道的各自檢測結果獲得的,每個(gè)通道再對上升沿抽頭延遲線(xiàn)和下降沿抽頭延遲線(xiàn)的8個(gè)抽樣進(jìn)行異或運算以得到每個(gè)通道各自的邊沿檢測抽樣。在這個(gè)過(guò)程中,下降沿信號從180度相位的時(shí)鐘域移到0相位的時(shí)鐘域,接著(zhù)邊沿檢測到的上升沿抽樣和下降沿抽樣與先前通道的邊沿檢測抽樣值進(jìn)行或操作,并把相或的結果送給下一個(gè)通道,從而將最后一個(gè)通道得到的最后結果送給狀態(tài)恢復機。因為不管是上升沿抽樣,每次還是下降沿抽樣都只有一個(gè)數據跳變,所以在邊沿檢測抽樣時(shí)至少有1bit被提取出來(lái)。邊沿檢測機制有四種行為:右移、左移、右跳和左跳。
狀態(tài)機總是保持至少一個(gè)抽樣到數據有效窗口的邊沿。在復位期間,狀態(tài)機把抽頭延時(shí)線(xiàn)的位置指示信號(POS)放到抽頭延遲線(xiàn)的中央位置,POS信號用來(lái)選擇有效數據抽樣。其狀態(tài)機的輸出信號如表1所列。在正常運行時(shí),抖動(dòng)可能會(huì )引起數據有效窗口的漂移。狀態(tài)機通過(guò)邊沿檢測機制不斷的把邊沿抽樣值送到數據有效窗口,并決定POS指示信號和數據有效窗口邊沿間的相對位置。如果POS指示信號離邊沿太近,狀態(tài)機則通過(guò)右移或左移POS信號對其進(jìn)行調整,以使POS信號適當的離開(kāi)邊沿。接著(zhù),狀態(tài)機會(huì )對POS指示信號更新并把更新情況反饋給抽頭延時(shí)線(xiàn)。兩個(gè)8∶1選擇器可利用POS信號來(lái)選擇上升沿抽樣和下降沿抽樣并將其作為有效數據輸出。
狀態(tài)機的工作原理如圖4所示,其中0和1為抽樣延時(shí)線(xiàn)對數據邊沿的采樣值。
評論