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