基于FPGA的SoftSerdes設計與實現
1.4輸出彈性緩沖器
輸出彈性緩沖器的作用是把1 bit 622 Mb/s的數據串化為5 bit/124.4 MHz或8 bit/77 MHz的數據并輸出,每個通道有5 bit或8 bit寬的緩沖器。因為622 Mb/s的輸人數據流會偏離輸入參考時鐘的相位達12UI左右,所以實質上它們是異步的。正因為這個原因,在311 MHz時鐘的每一個周期,其采樣數據不一定是正常的2 bits,而可能在時鐘比數據慢時是3 bits,時鐘比數據快時為1 bit。狀態(tài)機產生的POS信號被放置在CLK311的時鐘域,以讓它控制3個8∶1的選擇器來產生R8,F8和M8信號,其中R8是當前有效的上升沿抽樣值,F8是當前有效的下降沿抽樣值,M8是要求3 bits位寬時的R8延時值。具體的跳變情況可通過狀態(tài)機的輸出信號右跳(SKIP RIGHT)和左跳(SKIP LEFT)來顯示。而不管是SKIP RIGHT情況下的3bits抽樣數據,還是正常情況下的2 bits抽樣數據,甚至是SKIP LEFT情況下的1 bits抽樣數據,它們都被放入5 bits或8 bits的移位寄存器。彈性緩沖器有5 bit或8 bit的位寬區(qū)域,在復位時,讀和寫信號指向緩沖器的中間,緩沖器的初始狀態(tài)是半滿的,可以容納盡可能大的相位偏移量。彈性緩沖器的工作原理如圖5所示。本文引用地址:http://www.ljygm.com/article/191810.htm
2 仿真
SoftSerdes的仿真環(huán)境如圖6所示。發(fā)送方利用fifo造一些數據包,這些數據先經過低速并行數據接口,然后用8b/10b編碼器對該并行數據進行編碼。接著由SoftSerdes模塊對該數據進行并串轉換;而高速串行數據則通過光纜被接收方接收,再通過SoftSerdes模塊對串行數據進行串并轉換.然后用8b/10b解碼器對該并行數據進行解碼,最后得到低速的并行數據,這樣,通過對該數據進行誤碼檢測便可檢測SoftSerdes在實現串/并轉換過程中的誤碼率。
在圖7所示的仿真波形中,發(fā)送方可將64Mbps的低速并行數據通過SoftSerdes并串轉換為640 Mbps的高速串行數據,而接收方則可將640Mbps的高速串行數據經SoftSerdes串并轉換為64Mbps的低速并行數據。從仿真結果可以看出,SoftSerdes技術沒有使用傳統的CDR技術,而是通過320 MHz的本地時鐘來采樣數據,從而實現數據的串并轉換。
3 結束語
由于SoftSerdes的整個設計都采用數字電路,所以具有比較高的噪聲容限和比較低的功率損耗,也易于用FPGA對其進行實現,同時也可相對容易地完成產品升級。所以,該方法在通信、控制等需要用大規(guī)模FPGA進行設計的產品中有著廣泛的應用前景。
評論