《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于SPCB的處理器直連低延時(shí)PCS的設(shè)計(jì)實(shí)現(xiàn)
基于SPCB的處理器直連低延時(shí)PCS的設(shè)計(jì)實(shí)現(xiàn)
2019年電子技術(shù)應(yīng)用第9期
吳劍簫1,2王 鵬3,吳 濤1,高 鵬1,陳文濤4,5
1.中國(guó)科學(xué)院 上海高等研究院,上海200120;2.中國(guó)科學(xué)院大學(xué),北京 100049;3.上海大學(xué) 計(jì)算機(jī)工程與科學(xué)學(xué)院,上海200444; 4.上海芯來(lái)電子科技有限公司,上海201411;5.數(shù)學(xué)工程與先進(jìn)計(jì)算國(guó)家重點(diǎn)實(shí)驗(yàn)室,江蘇 無(wú)錫214125
摘要: SERDES(串行解串)技術(shù)因其傳輸速率高、抗干擾能力強(qiáng)等優(yōu)點(diǎn)已成為主流的高速接口物理層規(guī)范。但由于上層PCS(物理編碼子層)需設(shè)置彈性緩沖、編解碼等功能,導(dǎo)致系統(tǒng)傳輸延時(shí)較高,無(wú)法直接應(yīng)用于處理器直連等延遲敏感應(yīng)用領(lǐng)域。介紹了一種基于同源相位補(bǔ)償緩沖(Synchronous Phase Compensation Buffer,SPCB)的PCS架構(gòu)的設(shè)計(jì)實(shí)現(xiàn),可應(yīng)用于延時(shí)敏感的SERDES接口傳輸系統(tǒng)。該架構(gòu)具有高吞吐率和超低延時(shí)的特點(diǎn),通過(guò)定制的SPCB,單通道32 Gb/s時(shí),發(fā)送與接收通路傳輸延時(shí)為10 ns左右,約為業(yè)界典型PCS方案的一半,達(dá)到Intel與AMD并行CPU直連接口(QPI和HT)的延時(shí)水平。該P(yáng)CS架構(gòu)可通過(guò)28 nm/16 nm/7 nm工藝物理實(shí)現(xiàn),已應(yīng)用于多款國(guó)產(chǎn)處理器直連接口。
中圖分類(lèi)號(hào): TN402
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.190593
中文引用格式: 吳劍簫,王鵬,吳濤,等. 基于SPCB的處理器直連低延時(shí)PCS的設(shè)計(jì)實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2019,45(9):65-70,76.
英文引用格式: Wu Jianxiao,Wang Peng,Wu Tao,et al. Design and implementation of SPCB-based processor directly connected low delay PCS[J]. Application of Electronic Technique,2019,45(9):65-70,76.
Design and implementation of SPCB-based processor directly connected low delay PCS
Wu Jianxiao1,2,Wang Peng3,Wu Tao1,Gao Peng1,Chen Wentao4,5
1.Shanghai Advanced Research Institute,Chinese Academy of Sciences,Shanghai 200120,China; 2.University of Chinese Academy of Sciences,Beijing 100049,China; 3.School of Computer Engineering and Science,Shanghai University,Shanghai 200444,China; 4.Shanghai Si-future Electronics & Technology Co.,Ltd.,Shanghai 201411,China; 5.State Key Laboratory of Mathematical Engineer and Advanced Computing,Wuxi 214125,China
Abstract: SERDES(serial de-serialization) technology has become the mainstream physical layer specification of high-speed interface due to its high transmission rate and strong capacity of resisting disturbance. However, the upper PCS(physical coding sublayer) needs to set elastic buffering, code, encode and do other functions, so the system transmission delay is high. SERDES cannot be directly applied to delay sensitive applications such as processor direct connection. This paper introduces a design of PCS architecture based on synchronous phase compensation buffer(SPCB), which can be applied to delay sensitive SERDES transmission system. This architecture features high throughput and ultra-low latency. With a custom SPCB, the transmission reception path delay is about 10 ns at 32 Gb/s per lane, which is about half of the typical PCS delay in the industry, reaching the level of Intel(QPI) and AMD(HT) interface. This PCS architecture can be realized through 28 nm/16 nm/7 nm chip manufacturing tech, and has been applied to a variety of domestic processor.
Key words : synchronous phase compensation buffer(SPCB);PCS;SERDES;low delay;processor direct connection

0 引言

    SERDES(串行解串)是指將數(shù)據(jù)通過(guò)高速串行信號(hào)進(jìn)行差分傳輸,并在接收端恢復(fù)的過(guò)程[1]。它具有速率高、功耗低和抗干擾能力強(qiáng)等特點(diǎn),已廣泛應(yīng)用于計(jì)算機(jī)和通信領(lǐng)域。SERDES系統(tǒng)由實(shí)現(xiàn)串行與解串的物理介質(zhì)連接子層(PMA)和負(fù)責(zé)數(shù)據(jù)流編解碼的物理編碼子層(PCS)組成[2]。PMA主要由模擬電路構(gòu)成,延時(shí)較低,一般在6~7 ns以?xún)?nèi);PCS則由數(shù)字電路構(gòu)成,實(shí)現(xiàn)編解碼、加解擾和多路對(duì)齊等功能,延時(shí)較大,通常為幾十納秒。當(dāng)前的芯片直連應(yīng)用場(chǎng)景要求傳輸延時(shí)最好控制在20 ns以?xún)?nèi)。以處理器的直連接口為例,Intel QPI(QuickPath Interconnect)與AMD HT(HyperTransport)的傳輸延時(shí)均小于20 ns[3-4]。PCI-SIG推出的CCIX延時(shí)也小于30 ns。但QPI和HT通常適用X86架構(gòu)的芯片互連,CCIX則有PCIe標(biāo)準(zhǔn)兼容性要求,給國(guó)產(chǎn)芯片,尤其是CPU應(yīng)用帶來(lái)不便。另外購(gòu)買(mǎi)相關(guān)IP授權(quán)也對(duì)芯片的國(guó)產(chǎn)自主可控帶來(lái)隱患。因此如何降低SERDES系統(tǒng)延時(shí),進(jìn)而滿(mǎn)足國(guó)產(chǎn)芯片直連應(yīng)用,是本文重點(diǎn)討論的問(wèn)題。

    本文介紹基于同源相位補(bǔ)償緩沖(SPCB)的低延時(shí)、超高速PCS的設(shè)計(jì)與實(shí)現(xiàn),其單向帶寬可達(dá)N×32 Gb/s(N為可配置物理通道數(shù)),收發(fā)延時(shí)為9~11 ns,加上PMA部分6 s延時(shí),整個(gè)SERDES系統(tǒng)傳輸延時(shí)可控制在17 ns以?xún)?nèi),能夠滿(mǎn)足芯片直連等應(yīng)用場(chǎng)景需求。

1 原理介紹

1.1 SERDES系統(tǒng)的PCS

    傳統(tǒng)SERDES系統(tǒng)的PCS層由發(fā)送通道與接收通道組成:編碼、加擾、速率匹配和跨時(shí)鐘域模塊構(gòu)成發(fā)送通道;解碼、解擾、速率匹配、跨時(shí)鐘域和彈性緩沖模塊構(gòu)成接收通道[5]。另外,為了適配多通道傳輸,高速SERDES系統(tǒng)常需要在發(fā)送端和接收端設(shè)置數(shù)據(jù)分塊與塊重建模塊。

    PCS層中各個(gè)模塊的功能如下:

    (1)編解碼模塊:編碼模塊將數(shù)據(jù)進(jìn)行編碼,并在編碼后的數(shù)據(jù)流中加入用于定界的有效同步位。解碼模塊根據(jù)有效同步位對(duì)數(shù)據(jù)塊進(jìn)行對(duì)齊,并對(duì)數(shù)據(jù)進(jìn)行解碼,恢復(fù)為原始數(shù)據(jù)。

    (2)加解擾模塊:利用本征多項(xiàng)式對(duì)數(shù)據(jù)進(jìn)行編解碼,使數(shù)據(jù)隨機(jī)化,減少了數(shù)據(jù)中連續(xù)的“0”和“1”的個(gè)數(shù),避免差分接口上的信號(hào)長(zhǎng)期不跳轉(zhuǎn),影響時(shí)鐘恢復(fù)而導(dǎo)致誤碼。

    (3)發(fā)送/接收端速率匹配模塊:為了確保PMA側(cè)傳入和傳出的數(shù)據(jù)位寬與接口位寬相一致,需要使用速率匹配模塊進(jìn)行位寬轉(zhuǎn)換。

    (4)彈性緩沖模塊:用于補(bǔ)償本地接收側(cè)與對(duì)端發(fā)送側(cè)的異步時(shí)鐘頻率差異。通過(guò)頻率的補(bǔ)償實(shí)現(xiàn)相位同步,保證數(shù)據(jù)傳輸穩(wěn)定可靠。

    (5)數(shù)據(jù)分塊與塊重建模塊:根據(jù)系統(tǒng)當(dāng)前的工作狀態(tài),將發(fā)送的數(shù)據(jù)進(jìn)行分塊放入不同的通道中,并在接收端進(jìn)行數(shù)據(jù)的合并與恢復(fù)。

    SERDES系統(tǒng)PCS層的原理圖如圖1所示。

tx1-t1.gif

1.2 PCS層設(shè)計(jì)的優(yōu)化

    根據(jù)處理器直連應(yīng)用場(chǎng)景的特點(diǎn),對(duì)PCS設(shè)計(jì)進(jìn)行了以下延時(shí)優(yōu)化:

    (1)刪除彈性緩沖模塊。彈性緩沖模塊利用類(lèi)異步FIFO的方法來(lái)補(bǔ)償本地時(shí)鐘與恢復(fù)時(shí)鐘的頻率差異。其數(shù)據(jù)傳輸延時(shí)與緩沖深度有關(guān),一般在10個(gè)時(shí)鐘周期以上。由于在一個(gè)機(jī)箱甚至PCB上多顆CPU可采用同源參考時(shí)鐘,即不存在參考時(shí)鐘頻差,故可去除此模塊。

    (2)編解碼采用32B/34B編碼。由于PMA的數(shù)據(jù)位寬是32 bit,若采用傳統(tǒng)的64B/66B進(jìn)行編碼,則需要兩拍數(shù)據(jù)才能進(jìn)行一次編碼。這會(huì)帶來(lái)額外一個(gè)時(shí)鐘周期的數(shù)據(jù)傳輸延時(shí)。

    (3)采用自研的SPCB進(jìn)行跨時(shí)鐘域處理?;谔幚砥髦边B場(chǎng)景,PMA各路發(fā)送/接收時(shí)鐘同源不同相,故需要進(jìn)行跨時(shí)鐘域處理。傳統(tǒng)的異步FIFO則會(huì)帶來(lái)至少5~6個(gè)時(shí)鐘周期的延遲。這里專(zhuān)門(mén)設(shè)計(jì)了SPCB進(jìn)一步壓縮延時(shí)。

    優(yōu)化后整個(gè)PCS層的結(jié)構(gòu)框圖如圖2所示。

tx1-t2.gif

    該P(yáng)CS可配置在多通路模式下工作,支持自動(dòng)或手動(dòng)切除故障通路,單路單向帶寬可支持到32 Gb/s,在該速率下整個(gè)PCS層的延時(shí)約為9~11 ns。同時(shí)PCS還支持?jǐn)?shù)據(jù)通路翻轉(zhuǎn)、遠(yuǎn)端/近端自環(huán)、BIST測(cè)試等多種工作模式。目前PCS已應(yīng)用于國(guó)產(chǎn)處理器芯片的直連接口。

2 同源相位補(bǔ)償緩沖(SPCB)的工作原理

    由于PCS與PMA側(cè)時(shí)鐘不同,需進(jìn)行跨時(shí)鐘域處理。在進(jìn)行高速數(shù)據(jù)傳輸時(shí),常用的跨時(shí)鐘域操作往往會(huì)帶來(lái)較大的延時(shí)[6]??紤]到發(fā)送端與接收端的時(shí)鐘是同源時(shí)鐘這一應(yīng)用背景,為進(jìn)一步提高效率,壓縮延時(shí),本設(shè)計(jì)對(duì)傳統(tǒng)跨時(shí)鐘域的方案進(jìn)行了改進(jìn)。使用同源相位補(bǔ)償緩沖(SPCB),大大縮短了跨時(shí)鐘域的延時(shí)。

    在高速SERDES系統(tǒng)中,傳統(tǒng)的跨時(shí)鐘域方案是使用異步FIFO,利用讀寫(xiě)指針和空滿(mǎn)狀態(tài)進(jìn)行工作[7],數(shù)據(jù)傳輸延遲約為5~6個(gè)時(shí)鐘周期。若在PCS的發(fā)送側(cè)與接收側(cè)均采用其進(jìn)行跨時(shí)鐘域操作,則異步交接部分延時(shí)就達(dá)10~12個(gè)時(shí)鐘周期,很難滿(mǎn)足設(shè)計(jì)低延時(shí)需求。

    考慮到處理器直連接口發(fā)送端與接收端可采用同源時(shí)鐘的特點(diǎn),設(shè)計(jì)了同源相位補(bǔ)償緩沖,通過(guò)控制讀寫(xiě)路徑中延時(shí)單元的個(gè)數(shù)實(shí)現(xiàn)對(duì)緩沖讀寫(xiě)操作間隔的精準(zhǔn)控制。設(shè)計(jì)中將同源不同相的時(shí)鐘進(jìn)行相位補(bǔ)償,從而實(shí)現(xiàn)跨時(shí)鐘域操作。其結(jié)構(gòu)如圖3所示。

tx1-t3.gif

    該結(jié)構(gòu)具體工作原理為:當(dāng)控制信號(hào)有效時(shí),分別通過(guò)兩條由多個(gè)延時(shí)單元組成的邏輯鏈產(chǎn)生讀寫(xiě)信號(hào),直接控制Buffer的讀寫(xiě)。由于發(fā)送端與接收端的PMA用的是同源參考時(shí)鐘,因此數(shù)據(jù)讀寫(xiě)的頻率完全相同,讀寫(xiě)指針更新的速率也一致,Buffer中數(shù)據(jù)個(gè)數(shù)將維持一個(gè)定值。因此整個(gè)buffer既不會(huì)寫(xiě)滿(mǎn)也不會(huì)讀空,能夠持續(xù)正常工作。通過(guò)配置兩條邏輯鏈之間延時(shí)單元個(gè)數(shù),可以實(shí)現(xiàn)對(duì)讀寫(xiě)使能信號(hào)間距的控制,從而控制數(shù)據(jù)讀寫(xiě)的延時(shí)。通過(guò)利用SPCB,可以將讀寫(xiě)延遲縮短至1~2個(gè)時(shí)鐘周期。

    SPCB的狀態(tài)工作流程如圖4所示,共計(jì)8個(gè)狀態(tài)。

tx1-t4.gif

    (1)狀態(tài)1:空閑狀態(tài)。狀態(tài)機(jī)在未傳輸或傳輸完成后處于空閑狀態(tài)。清零并關(guān)閉計(jì)數(shù)器。等待數(shù)據(jù)傳輸開(kāi)始的start信號(hào),進(jìn)行狀態(tài)跳轉(zhuǎn)。

    (2)狀態(tài)2:初始化狀態(tài)。在收到了start信號(hào)后,在數(shù)據(jù)傳輸開(kāi)始之前對(duì)同源相位補(bǔ)償緩沖進(jìn)行初始化。置低讀寫(xiě)使能信號(hào),清空buffer中的數(shù)據(jù),同時(shí)打開(kāi)計(jì)數(shù)器并清空傳輸完成狀態(tài)信號(hào)。

    (3)狀態(tài)3:寫(xiě)狀態(tài)。初始化后,經(jīng)過(guò)TX_DLY_CNT個(gè)時(shí)鐘周期,寫(xiě)使能置高。更新寫(xiě)數(shù)據(jù)和寫(xiě)指針,向buffer中寫(xiě)入數(shù)據(jù)。

    (4)狀態(tài)4:讀寫(xiě)狀態(tài)。初始化后,經(jīng)過(guò)RX_DLY_CNT個(gè)時(shí)鐘周期,讀使能也被置高。開(kāi)始更新讀數(shù)據(jù)和讀指針,在寫(xiě)入數(shù)據(jù)的同時(shí)讀出數(shù)據(jù)。

    (5)狀態(tài)5:傳輸結(jié)束狀態(tài)。在讀寫(xiě)狀態(tài)下檢測(cè)到start信號(hào)變?yōu)?時(shí),進(jìn)入該狀態(tài)。清零計(jì)數(shù)器time_cnt的值,從而實(shí)現(xiàn)對(duì)讀寫(xiě)使能信號(hào)的關(guān)閉控制。

    (6)狀態(tài)6:讀狀態(tài)。傳輸結(jié)束狀態(tài)后,經(jīng)過(guò)TX_DLY_CNT個(gè)時(shí)鐘周期,寫(xiě)使能置低。停止向buffer中寫(xiě)入數(shù)據(jù),讀使能依舊為高。繼續(xù)進(jìn)行剩余數(shù)據(jù)的讀出。

    (7)狀態(tài)7:傳輸完成狀態(tài)。傳輸結(jié)束狀態(tài)后,經(jīng)過(guò)RX_DLY_CNT個(gè)時(shí)鐘周期,讀使能置低。此時(shí)buffer中的所有數(shù)據(jù)均已讀出,不再進(jìn)行數(shù)據(jù)讀取。同時(shí)置高傳輸完成狀態(tài)信號(hào)。

    (8)狀態(tài)8:停止?fàn)顟B(tài)。該狀態(tài)在正常數(shù)據(jù)傳輸基本不會(huì)出現(xiàn)。若是由start信號(hào)異常導(dǎo)致在初始化狀態(tài)檢測(cè)到start信號(hào)變低進(jìn)入該狀態(tài),則跳轉(zhuǎn)到空閑狀態(tài)。若因發(fā)送數(shù)據(jù)較短(小于3個(gè)),在寫(xiě)狀態(tài)檢測(cè)到start信號(hào)為0,則進(jìn)入讀狀態(tài),將寫(xiě)的數(shù)據(jù)讀出。

    其行為圖與對(duì)應(yīng)的時(shí)序圖分別如圖5、圖6所示。

tx1-t5.gif

tx1-t6.gif

    在圖6中,寫(xiě)時(shí)鐘tx_clk與讀時(shí)鐘rx_clk是同源不同相的兩個(gè)時(shí)鐘,通過(guò)利用SPCB,與寫(xiě)時(shí)鐘對(duì)齊的數(shù)據(jù)wdata轉(zhuǎn)變?yōu)榱伺c讀時(shí)鐘對(duì)齊的數(shù)據(jù)rdata,實(shí)現(xiàn)了跨時(shí)鐘域的操作。

    利用同源相位補(bǔ)償緩沖,可以通過(guò)配置邏輯鏈之間延時(shí)單元個(gè)數(shù)的差值,實(shí)現(xiàn)對(duì)讀寫(xiě)使能信號(hào)間距的控制。圖5中,邏輯路徑1和邏輯路徑2上的延時(shí)單元個(gè)數(shù)分別為2和4,讀寫(xiě)數(shù)據(jù)傳輸延遲為2個(gè)時(shí)鐘周期。SPCB可以將跨時(shí)鐘域延時(shí)由原先的5~6個(gè)時(shí)鐘周期縮短至1~2個(gè)時(shí)鐘周期。在PCS的發(fā)送與接收端均采用SPCB,可將整個(gè)SERDES系統(tǒng)的傳輸延時(shí)降低6~10 ns(32 Gb/s通信速率下)。目前同源相位補(bǔ)償緩沖這一設(shè)計(jì)已申請(qǐng)專(zhuān)利[8]。

3 延時(shí)檢測(cè)

3.1 數(shù)字設(shè)計(jì)的理論延時(shí)

    通過(guò)對(duì)設(shè)計(jì)的PCS進(jìn)一步的分析,各個(gè)模塊的延時(shí)如表1、表2所示。

tx1-b1.gif

tx1-b2.gif

tx1-gs1-6.gif

    可以看出,該P(yáng)CS的理論延遲為9~11個(gè)時(shí)鐘周期,并且在絕大多數(shù)情況下其延時(shí)在10個(gè)時(shí)鐘周期之內(nèi)。對(duì)應(yīng)數(shù)學(xué)期望值為9.12拍。即32 Gb/s的傳輸速率下,對(duì)應(yīng)的絕對(duì)延時(shí)為9.12 ns。

3.2 仿真延時(shí)的檢測(cè)

    通過(guò)觀察波形,計(jì)算發(fā)送端發(fā)送到第一個(gè)數(shù)據(jù)到接收端接收到第一個(gè)數(shù)據(jù)的時(shí)間差可以確定整個(gè)系統(tǒng)數(shù)據(jù)通路的延時(shí)。通過(guò)圖7、圖8可以看出此時(shí)發(fā)送端延時(shí)為4~5時(shí)鐘周期,接收端延時(shí)為5~6個(gè)時(shí)鐘周期,整個(gè)系統(tǒng)的數(shù)據(jù)延時(shí)為9~11個(gè)時(shí)鐘周期,與理論值相符。

tx1-t7.gif

tx1-t8.gif

3.3 實(shí)際延時(shí)的測(cè)試

    為了進(jìn)一步檢測(cè)該P(yáng)CS的實(shí)際數(shù)據(jù)傳輸延時(shí),本文參照相關(guān)文獻(xiàn)[9-12],利用FPGA進(jìn)行測(cè)試。

    本次測(cè)試選用了Xilinx公司的基于Xilinx kintex-7 FPGA的XC7K325T-IMG開(kāi)發(fā)板,使用兩塊開(kāi)發(fā)板上的GTX(Gigabit Transceiver,吉比特收發(fā)器)接口將各自發(fā)送端經(jīng)過(guò)發(fā)送路徑的數(shù)據(jù)連接到另一塊FPGA的接收端,分別通過(guò)板上的SPI接口[13]與PC進(jìn)行通信,實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)的控制。其結(jié)構(gòu)圖如圖9所示。

tx1-t9.gif

    在進(jìn)行測(cè)試延時(shí)之前,首先應(yīng)解決以下兩個(gè)問(wèn)題:首先整個(gè)PCS的數(shù)據(jù)傳輸延時(shí)是納秒級(jí)的,而SPI模塊的讀寫(xiě)時(shí)鐘頻率一般只有幾十兆,無(wú)法實(shí)現(xiàn)延時(shí)的實(shí)時(shí)讀取;其次利用FPGA測(cè)得的傳輸延時(shí)不僅包含了PCS延時(shí),還包含了PMA延時(shí)、線纜延時(shí)以及FPGA上的門(mén)電路延時(shí)等其他延時(shí),會(huì)對(duì)最終的測(cè)試結(jié)果造成影響。

    針對(duì)以上兩個(gè)問(wèn)題,設(shè)計(jì)了一種利用FPGA對(duì)PCS進(jìn)行延時(shí)的方案。該方案的主要原理如下:

    通過(guò)利用多個(gè)延時(shí)的總時(shí)間和延時(shí)的個(gè)數(shù)來(lái)求出平均延時(shí)。傳輸延時(shí)是發(fā)送端發(fā)送數(shù)據(jù)與接收端受到數(shù)據(jù)的時(shí)間差??紤]到數(shù)據(jù)接收端在接收到數(shù)據(jù)后rx_valid信號(hào)才會(huì)置高以及發(fā)送端只有在tx_valid信號(hào)為高時(shí)才會(huì)發(fā)送數(shù)據(jù),設(shè)計(jì)了以下系統(tǒng)延時(shí)測(cè)試方法:

    配置發(fā)送端發(fā)送隨機(jī)數(shù)據(jù)包,在數(shù)據(jù)開(kāi)始發(fā)送時(shí),tx_valid信號(hào)由低變高。當(dāng)接收端收到數(shù)據(jù)后,rx_valid信號(hào)變高,在下一個(gè)時(shí)鐘周期置低tx_valid信號(hào)。即之后的數(shù)據(jù)不會(huì)被傳輸,經(jīng)過(guò)一段時(shí)間后rx_valid信號(hào)也會(huì)變低。然后再開(kāi)啟tx_valid。當(dāng)rx_valid變高后再關(guān)閉tx_valid,以此類(lèi)推。工作流程如圖10所示。

tx1-t10.gif

    設(shè)整個(gè)系統(tǒng)延時(shí)為t個(gè)時(shí)鐘周期,通過(guò)上圖可以看出,rx_valid信號(hào)的一次翻轉(zhuǎn)對(duì)應(yīng)著(t+1)個(gè)時(shí)鐘周期。而1個(gè)時(shí)鐘周期對(duì)應(yīng)一拍32 bit的數(shù)據(jù)傳輸。所以32 Gb/s速率下系統(tǒng)延時(shí)t(ns),rx_valid變高次數(shù)j,程序運(yùn)行時(shí)間T(s)與時(shí)鐘頻率f(GHz)滿(mǎn)足以下關(guān)系:

    tx1-gs7.gif

    故可通過(guò)寄存器記錄rx_valid由低變高的次數(shù),結(jié)合程序運(yùn)行時(shí)間和數(shù)據(jù)傳輸頻率,求出系統(tǒng)延時(shí)。

    該方法測(cè)試的延時(shí)是包含了PMA延時(shí)、線纜延時(shí)以及FPGA上的門(mén)電路延時(shí)等其他延時(shí)的整個(gè)系統(tǒng)延時(shí)。考慮到PMA延時(shí)基本為一定值,而其他的延時(shí)基本是elmore延時(shí),大小僅取決于電路中的電阻和電感,與頻率無(wú)關(guān)。故可通過(guò)測(cè)試在兩個(gè)不同頻率下的系統(tǒng)延時(shí),得出PCS層的延時(shí)。

    設(shè)32 Gb/s速率下系統(tǒng)pcs的延時(shí)為tp(ns),其他延時(shí)為to(ns),則式(7)可表達(dá)為:

tx1-gs8-9.gif

    從而求得系統(tǒng)中PCS部分延時(shí)tp。同時(shí)由于開(kāi)發(fā)板上的GTX也是由PCS和PMA組成的,因此該設(shè)計(jì)的實(shí)際延時(shí)應(yīng)再減去GTX的PCS延遲,此延遲經(jīng)仿真實(shí)測(cè)約為15個(gè)周期左右。在32 Gb/s的傳輸速率下對(duì)應(yīng)物理延時(shí)為15 ns。

    在本次測(cè)試中選取f1=2.5 GHz,f2=2 GHz,T=60 s,分別測(cè)量j1和j2的多次平均值,測(cè)量結(jié)果如表3所示。

tx1-b3.gif

    通過(guò)方程組(3)可求出tp=24.48 ns。即32 Gb/s速率下PCS的總延時(shí)為24.48 ns,去除GTX的PCS延時(shí)15 ns,整個(gè)設(shè)計(jì)的PCS延時(shí)為9.48 ns,與理論計(jì)算值9.12 ns的誤差約為3.95%,可認(rèn)為是測(cè)量誤差。

4 結(jié)論

    以SERDES為代表的高速串行接口技術(shù)代表了當(dāng)今數(shù)據(jù)傳輸技術(shù)的發(fā)展趨勢(shì)。如何進(jìn)一步壓縮PCS傳輸延遲是SERDES技術(shù)發(fā)展所需解決的迫切難題。本文在SERDES技術(shù)的基礎(chǔ)上,通過(guò)利用自研相位自適應(yīng)緩沖(SPCB),實(shí)現(xiàn)了一個(gè)低延時(shí)超高速PCS。分析探討了系統(tǒng)結(jié)構(gòu)中各個(gè)模塊的功能實(shí)現(xiàn),并針對(duì)CPU直連這一應(yīng)用場(chǎng)景對(duì)部分模塊進(jìn)行優(yōu)化。還對(duì)其延時(shí)從理論、仿真與FPGA實(shí)測(cè)3個(gè)方面進(jìn)行了分析。相比傳統(tǒng)的PCS方案,本系統(tǒng)數(shù)據(jù)傳輸延時(shí)小,在32 Gb/s的通信速率下僅為10 ns左右,可應(yīng)用于處理器直連以及2.5D/3D封裝die互連等高速通信場(chǎng)景。該研究成果目前已應(yīng)用于國(guó)產(chǎn)處理器直連接口,為國(guó)產(chǎn)裝備自主可控提供了有力支撐。

參考文獻(xiàn)

[1] 陳東旭.面向2.5G SerDes的8b/10b編解碼電路設(shè)計(jì)與測(cè)試[D].成都:電子科技大學(xué),2015.

[2] AISWARYA A S,GEORGE A.Fixed latency serial transceiver with single bit error correction on FPGA[A].2017 International Conference on Trends in Electronics and Informatics(ICEI)[C].Tirunelveli,2017:902-907.

[3] ANDERSON D,TRODDEN J.Hypertransport system architecture[M].Addison-Wesley Professional,2003:30-32.

[4] ZIAKAS D,BAUM A,MADDOX R A,et al.Intel quickpath interconnect architectural features supporting scalable system architectures[A].2010 18th IEEE Symposium on High Performance Interconnects.IEEE[C].New York,2010:1-6.

[5] 王偉濤.8b/10b架構(gòu)SerDes芯片的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2016.

[6] 王菲,張莎莎,王茜.信號(hào)跨時(shí)鐘域問(wèn)題分析及驗(yàn)證方法研究[J].電子技術(shù)應(yīng)用,2017,43(1):43-45,49.

[7] 王小娟.基于FPGA的異步FIFO的設(shè)計(jì)[J].中國(guó)新通信,2016(23): 66.

[8] 吳濤.一種異步FIFO讀寫(xiě)控制電路及方法[P].中國(guó):201810628386.9,2018.

[9] DEWEY M.Implementing digital interfaces with user programmable FPGAs[A].IEEE Autotestcon[C].IEEE Autotestcon Conference,2017:60-164.

[10] ARORA S.SERDES external loopback test using production parametric-test hardware[A].International Test Conference Proceedings[C].47th IEEE International Test Conference,2016.

[11] 劉安,禹衛(wèi)東,馬小兵,等.基于FPGA的高速串行數(shù)據(jù)收發(fā)接口設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2017,43(6):48-51.

[12] 高虎,封二強(qiáng),趙剛.基于Testbench的FPGA實(shí)物自動(dòng)化測(cè)試環(huán)境設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2018,44(4):48-51.

[13] 王玨文,金偉信,蔡一兵,等.基于FPGA的SPI總線接口的實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2010,33(14):102-104.



作者信息:

吳劍簫1,王  鵬2,吳  濤1,高  鵬1,陳文濤3,4

(1.中國(guó)科學(xué)院 上海高等研究院,上海200120;2.上海大學(xué) 計(jì)算機(jī)工程與科學(xué)學(xué)院,上海200444;

3.上海芯來(lái)電子科技有限公司,上海201411;4.數(shù)學(xué)工程與先進(jìn)計(jì)算國(guó)家重點(diǎn)實(shí)驗(yàn)室,江蘇 無(wú)錫214125)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。