SFI-4接口的數(shù)據(jù)處理分為I/O接口處理和用戶FIFO兩大功能,其中關(guān)鍵的部分是I/O接口處理,它把高速的數(shù)據(jù)在FPGA內(nèi)部利用了Virtex-5器件內(nèi)部的ISERDES、OSERDES和IODELAY資源進行了串并轉(zhuǎn)換和DPA(動態(tài)相位對齊)。下面來介紹各個功能部分的設(shè)計原理。
(1)收端的RXI/F模塊
來自I/O引腳的接收端數(shù)據(jù)一方面在FPGA I/0內(nèi)部通過ISERDES進行串并轉(zhuǎn)換,然后把數(shù)據(jù)速率降低1/4供內(nèi)部處理;另一方面用移相狀態(tài)機在IODELAY模塊上進行移相,多達64級,每級大約15 ps,直到采樣時鐘的上升沿對準數(shù)據(jù)有效窗口的中心位置。RXIF模塊處理后的效果如圖1所示。只做位對齊的前提是要求在分配I/O引腳時給SFI-4接口同方向的信號盡可能靠近,數(shù)據(jù)總線間Skew盡可能小,并且PCB布線要等長。
圖1 RXI/F模塊處理后的效果
(2) 收端的RX FIFO模塊
使用此FIFO的目的是一方面把ISERDES輸出的共64位數(shù)據(jù)寫入FIFO;另一方面用用戶時鐘讀出FIFO數(shù)據(jù)給后端的用戶邏輯使用,最終達到隔離區(qū)域時鐘和用戶時鐘的目的。FIFO的位置如圖2所示。
圖2 FIFO的位置
(3)發(fā)送端的TXI/F模塊
發(fā)送端的處理是內(nèi)部己經(jīng)處理好的數(shù)據(jù)經(jīng)過FPGA I/O內(nèi)部的OSERDES進行并串轉(zhuǎn)換輸出,如圖3所示的OSERDES部分。
圖3 OSERDES部分
(4) 發(fā)送端的TX FIFO模塊
使用此FIFO的目與RX FIFO功能類似,區(qū)別在于讀出∏FO的數(shù)據(jù)通過OSERDES進行并轉(zhuǎn)串輸出。