張春茗,楊 添,王一平
(西安郵電大學(xué) 電子工程學(xué)院,陜西 西安 710121)
模數(shù)轉(zhuǎn)換器(Analog-to-Digital Converter,ADC)和數(shù)模轉(zhuǎn)換器(Digital-to-Analog Converter,DAC)作為模擬信號(hào)和數(shù)字信號(hào)相互轉(zhuǎn)換的關(guān)鍵部件被廣泛應(yīng)用在航空航天、醫(yī)療儀器和移動(dòng)通信領(lǐng)域[1-2]。隨著應(yīng)用的迅速增長,對(duì)ADC和DAC轉(zhuǎn)換速率和精度的要求快速增長,這對(duì)轉(zhuǎn)換器接口的數(shù)據(jù)傳輸速率、傳輸效率和傳輸穩(wěn)定性有了更高的要求[3]。為了滿足這些需求,聯(lián)合電子設(shè)備工程委員會(huì)(Joint Electron Device Engineering Council,JEDEC)發(fā)布了其數(shù)據(jù)轉(zhuǎn)換器的串行接口標(biāo)準(zhǔn)(JEDEC Standard Serial Interface Data Converters No.204,JESD204)。
JEDEC發(fā)布的JESD204協(xié)議有A、B和C三個(gè)版本[4]。與互補(bǔ)金屬氧化物半導(dǎo)體(Complementary Metal Oxide Semiconductor,CMOS)信號(hào)和低壓差分信號(hào)(Low-Voltage Differential Signaling,LVDS)并行接口協(xié)議相比JESD204B版協(xié)議有著單通道傳輸速度高、印制線路板(Printed Circuit Board,PCB)布線設(shè)計(jì)簡單等優(yōu)點(diǎn)[5-6],被廣泛應(yīng)用于高速轉(zhuǎn)換器接口的設(shè)計(jì)中。
目前,對(duì)JESD204的研究主要集中在應(yīng)用方面,即其內(nèi)部電路的實(shí)現(xiàn)方法,例如,文獻(xiàn)[7]采用控制信息與數(shù)據(jù)信息并行處理的方法設(shè)計(jì)了JESD204B接收系統(tǒng)中的同步電路。文獻(xiàn)[8]采用極性信息簡化編碼技術(shù)實(shí)現(xiàn)了JESD204B中8B/10B編碼電路的設(shè)計(jì)。文獻(xiàn)[9]基于JESD204B協(xié)議設(shè)計(jì)了適用于3 Gbit/s 12位模數(shù)轉(zhuǎn)換器ADC的接口電路。但是,JESD204B有著單通道數(shù)據(jù)傳輸率不能超過12.5 Gbps的限制,在實(shí)現(xiàn)更高帶寬的數(shù)據(jù)傳輸時(shí),需要更多的通道數(shù),增加了布局布線的難度,無法支持實(shí)現(xiàn)尺寸較小的解決方案。
相比于JESD204B協(xié)議,JESD204C協(xié)議將所支持的單通傳輸速率提升到了32 Gbps,有效數(shù)據(jù)傳輸效率提升到97%,這意味著可以用更少的通道來完成數(shù)據(jù)的傳輸,更少的互連可以簡化布局布線,支持實(shí)現(xiàn)尺寸更小的解決方案[10-11]。JESD204C協(xié)議發(fā)布后很快被國外的轉(zhuǎn)換器制造商應(yīng)用于實(shí)際,例如,德州儀器(Texas Instruments,TI)公司發(fā)布的ADC12QJ1600和亞德諾半導(dǎo)體技術(shù)有限公司(Analog Devices Inc,ADI)發(fā)布的AD9081均采用JESD204C接口。目前,國內(nèi)對(duì)于JESD204C接口的應(yīng)用和研究進(jìn)展較慢,有待進(jìn)一步深入。
JESD204C協(xié)議支持的單通道傳輸速率和有效數(shù)據(jù)傳輸速率比JESD204B協(xié)議高的原因之一是增加了對(duì)64 B/66 B鏈路層的支持。該鏈路層規(guī)定了新的數(shù)據(jù)同步機(jī)制、加擾機(jī)制和數(shù)據(jù)校驗(yàn)機(jī)制。采用何種方法實(shí)現(xiàn)這些新規(guī)定的機(jī)制,影響著接收端64 B/66 B鏈路層電路的整體性能。
本文擬提出一種64 B/66 B鏈路層電路的設(shè)計(jì)方案。在頭同步功能實(shí)現(xiàn)過程中,通過增加位數(shù)據(jù)滑動(dòng)狀態(tài)(SH_SLIP)的方法,來完成并行數(shù)據(jù)中同步頭序列的檢測(cè),以減小電路設(shè)計(jì)的復(fù)雜度。擬采用并行設(shè)計(jì)思想,完成解擾電路和12位循環(huán)冗余校驗(yàn)(12-bit Cyclic Redundancy Check,CRC12)電路的設(shè)計(jì),以滿足接收端64 B/66 B層以塊為單位進(jìn)行數(shù)據(jù)處理的要求。
JES204C協(xié)議中的64 B/66 B鏈路層分為發(fā)送端和接收端。發(fā)送端通過給64位樣本加擾數(shù)據(jù)添加同步頭的方式,將負(fù)載數(shù)據(jù)以塊、多塊和擴(kuò)展多塊的數(shù)據(jù)格式發(fā)送給接收端。接收端通過頭同步、多塊同步、擴(kuò)展多塊同步、解擾、冗余校驗(yàn)等操作來完成發(fā)送端64 B/66 B鏈路層傳輸數(shù)據(jù)的恢復(fù)[12]。66位數(shù)據(jù)塊由2位同步頭后接64位樣本加擾數(shù)據(jù)構(gòu)成[13],其結(jié)構(gòu)示意圖如圖1所示。其中,SH表示2位同步頭;S0到S7表示由8個(gè)8位字節(jié)所構(gòu)成的64位樣本加擾數(shù)據(jù)。
圖1 66位塊數(shù)據(jù)結(jié)構(gòu)
同步頭由同步字中的同步位映射而來,同步位值為1時(shí)所對(duì)應(yīng)的同步頭為10,同步位值為0時(shí)所對(duì)應(yīng)的同步頭為01。一個(gè)同步字有32個(gè)同步位,它包含有多塊尾序列、擴(kuò)展多塊尾標(biāo)記位、命令字和多塊數(shù)據(jù)的校驗(yàn)碼。根據(jù)包含校驗(yàn)碼或命令字位寬的不同,可將同步字分為獨(dú)立命令通道同步字、12位循環(huán)冗余校驗(yàn)碼(12-bit Cyclic Redundancy Check,CRC12)同步字、3位循環(huán)冗余校驗(yàn)碼(12-bit Cyclic Redundancy Check,CRC3)同步字和前項(xiàng)糾錯(cuò)(Forward Error Correction,FEC)碼同步字,用戶可根據(jù)電路所支持的檢錯(cuò)機(jī)制來選擇對(duì)應(yīng)類型的同步字生成格式。
設(shè)計(jì)所支持的檢錯(cuò)機(jī)制為CRC12冗余校驗(yàn),其同步字(S_word)映射格式如表1所示,表中CRC12為前一個(gè)多塊數(shù)據(jù)的12 bit冗余校驗(yàn)碼。CMD為7 bit命令字信號(hào)。EOEMB為擴(kuò)展多塊尾標(biāo)記位,當(dāng)EOEMB值為1時(shí),表明當(dāng)前多塊為擴(kuò)展多塊;后5位的00001序列為多塊尾序列[13]。
表1 12位循環(huán)冗余校驗(yàn)碼同步字映射格式
采用自頂而下的設(shè)計(jì)方法,進(jìn)行接收端64 B/66 B鏈路層電路的設(shè)計(jì),設(shè)計(jì)的電路架構(gòu)示意如圖2所示。該電路包括速箱模塊(Gearbox)、頭同步模塊(SH_aligment)、同步頭處理模塊(Head_handler)、解擾模塊(Descramble)、CRC12校驗(yàn)?zāi)K(Crc_mismatch)、數(shù)據(jù)緩沖器模塊(Buffer)和緩沖器控制模塊(Buffer_controller)。
圖2 接收端鏈路層電路架
物理層與鏈路層之間的數(shù)據(jù)傳遞通過變速箱來完成。變速箱主要功能是將64 bit數(shù)據(jù)轉(zhuǎn)換成66 bit數(shù)據(jù)。變速箱包括異步先進(jìn)先出(First Input First Output,FIFO)存儲(chǔ)器模塊和位寬轉(zhuǎn)換模塊[14]。異步FIFO模塊進(jìn)行數(shù)據(jù)的跨時(shí)鐘域傳輸,位寬轉(zhuǎn)換模塊進(jìn)行讀寫數(shù)據(jù)位寬的轉(zhuǎn)換以及剩余數(shù)據(jù)位的處理。
位寬轉(zhuǎn)換模塊由兩個(gè)移位寄存器、一個(gè)計(jì)數(shù)器和一個(gè)選擇器構(gòu)成。在寫時(shí)鐘域內(nèi),寄存器對(duì)輸入數(shù)據(jù)進(jìn)行兩級(jí)寄存,使得位寬轉(zhuǎn)換電路可以在同一時(shí)刻對(duì)128 bit數(shù)據(jù)進(jìn)行采樣處理。計(jì)數(shù)器在接收到第一個(gè)數(shù)據(jù)時(shí)開始計(jì)數(shù),計(jì)數(shù)周期為32。選擇器根據(jù)計(jì)數(shù)值從128 bit數(shù)據(jù)中選擇66 bit數(shù)據(jù)輸出,以此完成64 bit數(shù)據(jù)到66 bit數(shù)據(jù)的轉(zhuǎn)換,不同計(jì)數(shù)值所對(duì)應(yīng)的選擇輸出位如圖3所示,圖中d1表示一級(jí)寄存器的緩存數(shù)據(jù),d2表示二級(jí)寄存器中的緩存數(shù)據(jù),cnt表示計(jì)數(shù)器的計(jì)數(shù)值。
圖3 輸出位選擇示意
當(dāng)計(jì)數(shù)值為31時(shí),33個(gè)64 bit數(shù)據(jù)已被完全轉(zhuǎn)換為32個(gè)66 bit數(shù)據(jù)并進(jìn)行輸出。當(dāng)計(jì)數(shù)值為32時(shí),二級(jí)寄存器中的數(shù)據(jù)d2是計(jì)數(shù)值為31時(shí)一級(jí)寄存器中的數(shù)據(jù),此時(shí),從d2中選取的任何兩位數(shù)據(jù)與一級(jí)寄存器中的數(shù)據(jù)d1構(gòu)成的66位數(shù)據(jù)均為錯(cuò)誤數(shù)據(jù)(此時(shí)選擇器的輸出值可隨意給定),即當(dāng)計(jì)數(shù)值為32時(shí),異步FIFO的寫信號(hào)寫使能信號(hào)均需置為無效,阻止無意義的數(shù)據(jù)的寫入,確??鐣r(shí)鐘域數(shù)據(jù)的正確性。
變速箱所轉(zhuǎn)換的66位塊數(shù)據(jù)中有效同步頭的位置是不確定的,它可能在塊數(shù)據(jù)中的任何比特位。若不滿足JESD204C協(xié)議所定義的塊數(shù)據(jù)格式,則接收端64 B/66 B鏈路層電路無法進(jìn)行后續(xù)的數(shù)據(jù)處理。因此,需要頭同步電路從66位并行數(shù)據(jù)中找出有效同步頭的位置,恢復(fù)出正確的塊數(shù)據(jù)。根據(jù)協(xié)議中所規(guī)定的頭同步達(dá)成條件,頭同步電路中有SH_INIT狀態(tài)、SH_HUNT狀態(tài)、SH_LOCK狀態(tài)和SH_SLIP狀態(tài)4個(gè)工作狀態(tài),它們之間的轉(zhuǎn)移過程示意圖如圖4所示。
圖4 并行數(shù)據(jù)頭同步狀態(tài)轉(zhuǎn)移過程
鏈路復(fù)位后,電路進(jìn)入SH_INIT狀態(tài)。在此狀態(tài)下,電路對(duì)塊數(shù)據(jù)中同步位上的同步頭序列進(jìn)行檢測(cè),并對(duì)檢測(cè)到的無效同步頭序列進(jìn)行計(jì)數(shù)。當(dāng)檢測(cè)到的無效同頭序列累計(jì)到2 048個(gè)時(shí),若還未檢測(cè)到有效同頭序列,則電路進(jìn)入SH_SLIP狀態(tài);當(dāng)檢測(cè)到有效同步頭序列且無效同步頭序列累計(jì)檢測(cè)個(gè)數(shù)小于2 048時(shí),電路進(jìn)SH_HUNT狀態(tài)。
在SH_HUNT狀態(tài)下,電路繼續(xù)對(duì)塊數(shù)據(jù)中同步位上的同步頭序列進(jìn)行檢測(cè),并對(duì)檢測(cè)到的有效同步頭序列進(jìn)行連續(xù)計(jì)數(shù)。若檢測(cè)到64個(gè)連續(xù)有效的同步頭序列,則電路進(jìn)入SH_LOCK狀態(tài);若未檢測(cè)到64個(gè)連續(xù)有效的同步頭序列,則電路進(jìn)入SH_SLIP狀態(tài)。
在SH_LOCK狀態(tài)下,電路繼續(xù)對(duì)塊數(shù)據(jù)中同步位上的同步頭序列進(jìn)行檢測(cè),并對(duì)檢測(cè)到的無效同步頭序列進(jìn)行計(jì)數(shù)。若檢測(cè)到的無效同步頭序列累計(jì)有16個(gè),則電路進(jìn)入SH_SLIP狀態(tài)。
在SH_SLIP狀態(tài)下,對(duì)同步頭序列位置指示計(jì)數(shù)器加1,并將新指定的同步頭序列挪移到塊數(shù)據(jù)的同步位上,即塊數(shù)據(jù)的最低位,新指定同步頭序列后的數(shù)據(jù)依次向前挪移。挪移完成后,電路再次轉(zhuǎn)移到SH_INIT狀態(tài)。
同步頭處理電路的功能包括擴(kuò)展多塊同步、校驗(yàn)碼轉(zhuǎn)換和錯(cuò)誤多塊尾序列檢測(cè)等。同步頭處理電路包括EMB_INIT狀態(tài)、EMB_HUNT狀態(tài)和EMB_LOCK狀態(tài)等3個(gè)工作狀態(tài),它們之間的狀態(tài)跳轉(zhuǎn)過程示意圖如圖5所示。
圖5 同步頭處理電路跳轉(zhuǎn)過程
系統(tǒng)復(fù)位后,電路進(jìn)入EMB_INIT狀態(tài)。在此狀態(tài)下,電路對(duì)同步頭中包含的擴(kuò)展多塊尾序列(EOEMB=100001)進(jìn)行監(jiān)測(cè),若在同步頭鎖定信號(hào)有效的情況下監(jiān)測(cè)到擴(kuò)展多塊尾序列,則進(jìn)入EMB_INIT狀態(tài)。
在EMB_HUNT狀態(tài)下,電路對(duì)擴(kuò)展尾部位上的序列值進(jìn)行檢測(cè),若在4個(gè)連續(xù)的擴(kuò)展多塊尾部位檢測(cè)到4個(gè)有效的擴(kuò)展多塊尾序列,則說明擴(kuò)展多塊同步完成,電路進(jìn)入EMB_LOCK狀態(tài);若在擴(kuò)展多塊尾部位檢測(cè)到無效的擴(kuò)展多塊尾序列,則進(jìn)入EMB_INIT階段。
在EMB_LOCK狀態(tài)下,接收數(shù)據(jù)中多塊尾和擴(kuò)展多塊尾的位置已經(jīng)確定,電路可以從同步頭中恢復(fù)出相應(yīng)的多塊冗余校驗(yàn)碼,對(duì)接收數(shù)據(jù)進(jìn)行冗余校驗(yàn)。另外,在EMB_LOCK狀態(tài)下,繼續(xù)對(duì)多塊尾和擴(kuò)展多塊尾部位上的序列值進(jìn)行監(jiān)測(cè),并對(duì)監(jiān)測(cè)到的無效擴(kuò)展多塊尾序列進(jìn)行計(jì)數(shù),若累計(jì)監(jiān)測(cè)到8個(gè)無效擴(kuò)展多塊尾,則電路進(jìn)入EMB_INIT狀態(tài)。
JESD204C協(xié)議規(guī)定64 B/66 B鏈路層必須支持使用CRC12校驗(yàn)碼對(duì)數(shù)據(jù)傳輸中出現(xiàn)錯(cuò)誤的監(jiān)測(cè),12位循環(huán)冗余校驗(yàn)碼生成多項(xiàng)式為
G(x)=x12+x9+x3+x2+x+1
(1)
其中:x12、x9、x3、x2和x分別表示第12級(jí)、第9級(jí)、第3級(jí)、第2級(jí)和第1級(jí)寄存器反饋線;常數(shù)1表示輸入數(shù)據(jù)存在反饋。
發(fā)送端計(jì)算每個(gè)多塊數(shù)據(jù)的12位冗余校驗(yàn)碼并映射到同步頭中傳輸?shù)浇邮斩耍邮斩薈RC12校驗(yàn)電路對(duì)接收到的多塊數(shù)據(jù)進(jìn)行12位冗余校驗(yàn)碼的計(jì)算并與從同步頭中接收到的冗余校驗(yàn)碼進(jìn)行對(duì)比。若CRC12校驗(yàn)碼不一致,則說明接收到的數(shù)據(jù)至少存在一位錯(cuò)誤,觸發(fā)錯(cuò)誤標(biāo)志。
CRC12校驗(yàn)碼有串行與并行兩種計(jì)算方式[15-16]。單獨(dú)使用并行或串行方式來完成多塊數(shù)據(jù)冗余校驗(yàn)碼計(jì)算,都不足以滿足64 B/66 B鏈路層電路的數(shù)據(jù)處理格式,為此,采用串并結(jié)合的方式來完成多塊數(shù)據(jù)冗余校驗(yàn)碼計(jì)算電路的設(shè)計(jì)。設(shè)計(jì)電路在一個(gè)時(shí)鐘周期內(nèi)進(jìn)行64位并行數(shù)據(jù)的冗余校驗(yàn)碼計(jì)算,然后,連續(xù)計(jì)算32次64位并行數(shù)據(jù)的冗余校驗(yàn)碼,第32次計(jì)算所得的冗余校驗(yàn)碼為多塊數(shù)據(jù)的冗余校驗(yàn)碼,即在多塊尾對(duì)計(jì)算所得的冗余校驗(yàn)碼進(jìn)行取值。
塊負(fù)載數(shù)據(jù)的并行計(jì)算方式由串行計(jì)算方式迭代64次所得,串行計(jì)算方式中處理j+1位數(shù)據(jù)后CRC寄存器中的值由處理j位數(shù)據(jù)后CRC寄存器的值、多項(xiàng)式系數(shù)值和處理數(shù)據(jù)值進(jìn)行邏輯運(yùn)算得到,邏輯運(yùn)算關(guān)系表達(dá)式為
(2)
其中:Ci,j+1(j=0,1,2,…,63;i=0,1,2,…,12)表示處理完j+1位數(shù)據(jù)后CRC寄存器中第i位的值;C11,j表示處理完j位數(shù)后CRC寄存器中第11位的值,dj+1為第j+1位輸入數(shù)據(jù);gi為多項(xiàng)式系數(shù);Ci-1,j表示處理完j位數(shù)后占據(jù)CRC寄存器中第i-1位的值。
JESD204C協(xié)議中64 B/66 B鏈路層所采用的自同步加解擾多項(xiàng)式為
G(x)=x58+x39+1
(3)
其中:x58和x39分別表示第58級(jí)和第39級(jí)寄存器反饋線;常數(shù)1表示輸入數(shù)據(jù)存在反饋。
解擾電路有串行擾碼方式和并行擾碼兩種方式[17]。64 B/66 B鏈路層中待解擾數(shù)據(jù)位寬為64位且數(shù)據(jù)傳輸數(shù)率需要達(dá)到32 Gbps,串行解擾方式難以滿足要求,為此采用并行解擾的方式來等效實(shí)現(xiàn),以滿足鏈路層對(duì)數(shù)據(jù)傳輸速率的要求。設(shè)計(jì)的64位并行解擾電路架構(gòu)示意圖如圖6所示。
圖6 64位并行加擾電路架構(gòu)
64位并行加擾電路由串行加擾電路遞推所得。圖6中的S1n、S1m和S1k(n、m、k=0,1,2,…,63)分別表示上一時(shí)刻接收到的并行加擾數(shù)據(jù)中的第n、m和k位;Sn、Sm和Sk表示當(dāng)前時(shí)刻接收到的并行加擾數(shù)據(jù)中的第n、m和k位;Dn表示當(dāng)前時(shí)刻64位解擾數(shù)據(jù)中的第n位。當(dāng)前時(shí)刻64位解擾數(shù)據(jù)中的第n位與當(dāng)前時(shí)刻和上一時(shí)刻接收到并行加擾數(shù)據(jù)中的第n、m和k位的關(guān)系可以表示為
彈性緩沖電路位于64 B/66 B鏈路層的各個(gè)通道之中,其控制并實(shí)現(xiàn)鏈路的多通道對(duì)齊功能。彈性控制電路監(jiān)測(cè)電路各個(gè)通道的有效擴(kuò)展多塊尾序列。當(dāng)檢測(cè)到某個(gè)通道的有效擴(kuò)展多塊尾后,就將對(duì)應(yīng)該通道的彈性緩沖使能置為有效,隨后,彈性緩沖電路開始緩沖各自通道的解擾數(shù)據(jù)。當(dāng)所有通道的彈性緩沖使能均有效時(shí),彈性緩沖控制器電路將彈性緩沖器的釋放使能置為有效,各個(gè)通道的彈性緩沖器均在同一時(shí)刻釋放所緩存的數(shù)據(jù),從而實(shí)現(xiàn)多通道數(shù)據(jù)對(duì)齊功能。
為了驗(yàn)證設(shè)計(jì)電路的功能,使用verilog語言對(duì)JESD204C協(xié)議中發(fā)送端64 B/66 B鏈路層和C類物理子層的功能進(jìn)行行為級(jí)建模,并且與設(shè)計(jì)的接收端64 B/66 B鏈路層電路進(jìn)行回環(huán)對(duì)接驗(yàn)證。在VCS上搭建驗(yàn)證平臺(tái),驗(yàn)證平臺(tái)架構(gòu)如圖7所示。其中,Input_sign_generate模塊被用于提供并行數(shù)據(jù)流和時(shí)鐘信號(hào)。Tx_64B/66B_link_layer和Phy_layer模塊被用于模擬發(fā)送端64B/66B鏈路層和物理層的電路功能。Rx_64B/66B_ link_layer為設(shè)計(jì)的電路。
圖7 驗(yàn)證平臺(tái)架構(gòu)圖
采用以下兩種方式進(jìn)行對(duì)比驗(yàn)證,確保功能驗(yàn)證的完備性。
驗(yàn)證1將接收端恢復(fù)數(shù)據(jù)與發(fā)送端輸入數(shù)據(jù)進(jìn)行對(duì)比,以驗(yàn)證收發(fā)數(shù)據(jù)是否一致。
驗(yàn)證2人為構(gòu)造負(fù)載數(shù)據(jù)傳輸錯(cuò)誤、同步頭傳輸錯(cuò)誤和擴(kuò)展多塊尾序列傳輸錯(cuò)誤,以驗(yàn)證接收端64 B/66 B鏈路層電路能否完成傳輸錯(cuò)誤的檢測(cè)與處理。
驗(yàn)證方式1中,發(fā)送端和接收端64 B/66 B鏈路層仿真驗(yàn)證波形圖分別如圖8和圖9所示。圖8中tx_data_L0與tx_data_L1分別為輸入到發(fā)送端鏈路層的64位并行數(shù)據(jù)。L0_phy_data與L1_phy_data為經(jīng)過發(fā)送端鏈路層處理過后送入發(fā)送端物理層的通道數(shù)據(jù)。圖9中的L0_phy_data與L1_phy_data為接收端物理層發(fā)送到接收端鏈路層的通道數(shù)據(jù)。Rx_L0_data與Rx_L1_data為接收端恢復(fù)的64位有效數(shù)據(jù)??梢钥闯?,發(fā)送端在20.30 ns時(shí)輸入的數(shù)據(jù),接收端64B /66 B鏈路層在22.45 ns時(shí)正確恢復(fù)并且雙通道數(shù)據(jù)對(duì)齊,通過驗(yàn)證。
圖8 發(fā)送端64B/66B鏈路層仿真驗(yàn)證波形圖
圖9 接收端64B/66B鏈路層仿真驗(yàn)證波形圖
驗(yàn)證方式2中,人為構(gòu)造負(fù)載數(shù)據(jù)傳輸錯(cuò)誤后的仿真驗(yàn)證波形圖如圖10所示。圖中crc12_calculated_prev為接收端通過接收數(shù)據(jù)計(jì)算出來的冗余校驗(yàn)碼,crc12-received接收到的冗余校驗(yàn)碼,eomb為多塊尾標(biāo)記信號(hào),event_crc12_ mismatch為數(shù)據(jù)傳輸錯(cuò)誤標(biāo)記信號(hào)。人為插入錯(cuò)誤數(shù)據(jù)后,多塊尾處crc12_calculated_prev值與crc12 -received值不同,負(fù)載數(shù)據(jù)傳輸錯(cuò)誤被檢測(cè)。可以看出,接收端64 B/66 B鏈路層電路能夠完成傳輸錯(cuò)誤的檢測(cè)與處理,通過了驗(yàn)證。
圖10 傳輸錯(cuò)誤后的仿真驗(yàn)證波形
在Synopsys 公司的Design Compiler平臺(tái)上,采用臺(tái)灣積體電路制造股份有限公司(Taiwan Semiconductor Manufacturing Company,TSMC)90 nm互補(bǔ)金屬氧化物半導(dǎo)體(Complementary Metal Oxide Semiconductor,CMOS)工藝對(duì)接收端64 B/66 B鏈路層電路進(jìn)行綜合,鏈路層電路參數(shù)如表2所示。設(shè)計(jì)電路的最大工作頻率為484 MHz,相對(duì)應(yīng)的時(shí)間裕度為0.27 ns,單通道的數(shù)據(jù)傳輸數(shù)率為32 Gbps,達(dá)到了JESD204C協(xié)議對(duì)64 B/66 B鏈路層傳輸速率的要求。
表2 接收端64 B/66 B鏈路層電路參數(shù)
基于不同高速串行接口協(xié)議所設(shè)計(jì)的接收端鏈路層電路參數(shù)如表3所示,可以看出,相較于文獻(xiàn)[18]和文獻(xiàn)[19]的方法,設(shè)計(jì)的接收端64 B/66 B鏈路層電路面積較小、有效數(shù)據(jù)傳輸速率和單通道傳輸速率較高。這是因?yàn)椋邮斩?4 B/66 B鏈路層電路在完成鏈路同步功能時(shí),僅需要對(duì)2 bit的同步頭進(jìn)行序列檢測(cè)即可實(shí)現(xiàn),從而減小了比較器資源的使用和電路面積。另外,電路按塊格式處理數(shù)據(jù),塊數(shù)據(jù)中用于同步的非樣本數(shù)據(jù)僅占2 bit,使得有效數(shù)據(jù)的傳輸效率達(dá)到96.97%,雖然電路使用較為落后的工藝實(shí)現(xiàn),但是其最大的工作頻率也可達(dá)到484 MHz,單個(gè)時(shí)鐘周期內(nèi)處理數(shù)據(jù)的位寬為66 bit,使得單通道最大數(shù)據(jù)傳輸速率達(dá)到了32 Gbps。
表3 不同協(xié)議的接收端鏈路層電路參數(shù)
提出了一種基于JESD204C協(xié)議接收端64 B/66 B鏈路層的完整架構(gòu)以及各個(gè)模塊的設(shè)計(jì)方法。設(shè)計(jì)的接收端64 B/66 B鏈路層的關(guān)鍵模塊包括變速箱、頭同步檢測(cè)器、同步頭處理器、解擾器、傳輸錯(cuò)誤校驗(yàn)器等。其中,采用位數(shù)據(jù)滑動(dòng)的方法實(shí)現(xiàn)頭同步模塊設(shè)計(jì),采用并行算法設(shè)計(jì)解擾模塊和CRC12校驗(yàn)?zāi)K。仿真與綜合結(jié)果表明,所設(shè)計(jì)的接收端64 B/66 B鏈路層電路的性能滿足協(xié)議要求,可用于JESD204C高速串行接口電路設(shè)計(jì)中。