季振凱,楊茂林,于治
(無錫中微億芯有限公司,江蘇無錫214072)
高速總線是高性能通信的關鍵,其廣泛應用在雷達探測、圖形加速及網(wǎng)絡適配等領域[1-3]。與眾多數(shù)據(jù)傳輸接口相比,高速串行總線(PCIe)具有點對點差分傳輸、強抗電磁干擾及高數(shù)據(jù)傳輸帶寬等優(yōu)點。隨著大數(shù)據(jù)時代的到來,新興的應用場景更注重高速總線的高帶寬、低延時及高靈活性,PCIe 與FPGA 的集成技術能夠顯著提升總線的靈活性,可滿足新興領域的需求。
高性能與低功耗是FPGA 電路與PCIe 模塊集成技術的核心競爭力。2002 年,Intel 公司聯(lián)合業(yè)界20 余家企業(yè)共同起草第三代I/O 總線PCI Express 協(xié)議[4]。在新一代系統(tǒng)通信中,PCIe 已經(jīng)成為和上位機高速通信的主流協(xié)議。2017 年,蒲愷等使用28 nm 制程FPGA內(nèi)部集成的PCIe 與上位CPU 進行通信,其實際帶寬可達180 MB/s,占總線帶寬的50%以上[5]。2022 年,沈洋等在28 nm 制程的FPGA 與雷達系統(tǒng)的通信中提出了一種由FPGA 發(fā)起的組數(shù)據(jù)傳輸(Block DMA)的傳輸流程,以降低數(shù)據(jù)傳輸過程中CPU 的參與度,進而解放CPU 的算力[6]。然而,在FPGA 與上位機進行高帶寬通信時,會出現(xiàn)電路表面溫升過高進而影響通信質(zhì)量并增大系統(tǒng)功耗的現(xiàn)象,需要在系統(tǒng)設計時額外增加冗余散熱裝置并提升散熱等級,因此市場需要一種低功耗且高可靠的FPGA 電路[7-8]。為提高FPGA 電路中PCIe 運行的穩(wěn)定性,降低運行電路的溫升、功耗以及系統(tǒng)的冷卻成本,本文針對16 nm FinFET 工藝的FPGA 的PCIe Gen3 建立充分完備的性能評估方案,以探究先進工藝制程下超大規(guī)模集成電路中PCIe Gen3 的性能穩(wěn)定性及低功耗性。
本文以16 nm FinFET 工藝SRAM 型FPGA 為研究對象,搭建針對低功耗PCIe Gen3 的高速通信的性能測試、溫升測試以及三溫(-55~125 ℃)功耗測試方案,以檢測其在PCIe 通信時的低功耗特性及性能穩(wěn)定性。采用不同數(shù)據(jù)長度的數(shù)據(jù)包來對PCIe 與CPU 通信架構進行測試,并針對PCIe 底層高速串行收發(fā)器(SERDES)進行高速口眼圖參數(shù)測定,為全面評估新工藝技術下的產(chǎn)品可靠性提供支持。
自1965 年4 月摩爾定律被提出以來,半導體技術始終按照其預測的方向發(fā)展,直至集成電路的規(guī)模從早期的50 只晶體管發(fā)展到億門級規(guī)模。受限于物理尺寸,在將制程推進到納米級別時,制造技術壁壘及良品率導致的成本呈指數(shù)上升。除成本因素外,傳統(tǒng)的平面晶體管在制程接近20 nm 時,在高溫環(huán)境下,電路內(nèi)部漏電及電子失控等現(xiàn)象會顯著增強。為進一步提升芯片穩(wěn)定性,在降低晶體管特征尺寸的同時半導體產(chǎn)業(yè)界也通過提升制造工藝的方式來推進產(chǎn)業(yè)升級。
與傳統(tǒng)平面晶體管相比,F(xiàn)inFET 晶體管工藝大大降低了晶體管的啟動電壓,在改善電路電性能的同時也降低了電路的整體功耗[9]。圖1 為平面晶體管與FinFET 晶體管的示意圖,傳統(tǒng)的平面晶體管與源/漏極的接觸面是單獨的平面矩形,而FinFET 晶體管的柵極對溝道的鍵合面變成了門式接觸面。在三個接觸面中,突起鰭式的兩側面是柵極的主要調(diào)控面,立體的接觸結構不僅增大了柵極對載流子的控制能力,也提升了晶體管的電參數(shù)穩(wěn)定性及抗輻射性能[10-11]。
圖1 平面晶體管與FinFET 晶體管示意圖
PCIe 協(xié)議需要設備核心以及PCIe Core 兩個組件,其中設備核心負責與Core 進行交互并實現(xiàn)事務的發(fā)起及接收。PCIe 按照實現(xiàn)功能的不同,可劃分為事務層(TLP)、數(shù)據(jù)鏈路層(DLLP)及物理層(PLP)。圖2為PCIe Core 結構分層示意圖,TLP 負責接收設備核心發(fā)來的指令并將信息按照范式轉(zhuǎn)換成TLP 數(shù)據(jù)包,或者將接收的TLP 數(shù)據(jù)包進行校驗、翻譯并將信息傳遞給設備核心。DLLP 在邏輯上鏈接TLP 與PLP,DLLP 主要負責DLLP 數(shù)據(jù)包的打包/解包、冗余數(shù)據(jù)備份、錯誤包識別及傳輸數(shù)據(jù)流控制等。PLP 是PCIe的數(shù)據(jù)口,負責轉(zhuǎn)換或拆解PLP 數(shù)據(jù)包。
圖2 PCIe Core 結構分層示意圖
PCIe 協(xié)議的理論傳輸帶寬與協(xié)議的Gen 值有關,Gen1 下的PCIe 的速度帶寬為2.5 Gbit/s,Gen3 將其提升到8 Gbit/s。由于PCIe Gen3 采用128 bit/130 bit 編碼,且TLP、DLLP 及PLP 在進行轉(zhuǎn)換時會在數(shù)據(jù)包的包頭及包尾加上起始數(shù)、DLL 協(xié)議包、點對點循環(huán)冗余校驗(ECRC)以及鏈路循環(huán)冗余校驗(LCRC),導致PCIe 的實際傳輸帶寬相比理論值有額外的開銷。PCIe Gen3 的理論最大帶寬(Tmax,單位為MB/s)為[12]
其中,PL為傳輸數(shù)據(jù)(Payload),N 為傳輸通道,OV包括起始數(shù)、DLL、包頭碼、ECRC 以及LCRC 校驗值。
PCIe 數(shù)據(jù)包組成示例如表1 所示,在PCIe 協(xié)議中,除Payload 區(qū)間為0~4 096 B 及Header 為12/16 B外,其余數(shù)據(jù)包大小固定。在Gen3 中,當PCIe 傳輸數(shù)據(jù)格式為256 B、Header 為16 B、通道為8 時,其理論最大帶寬Tmax為7 219.9 MB/s。
表1 PCIe 數(shù)據(jù)包組成示例
本實驗所用的低功耗FPGA 器件(簡稱DUT)采用16 nm FinFET 工藝,其封裝形式為倒裝,內(nèi)部集成PCIe Gen3 硬核,對照電路(簡稱CD)為國外同類型FPGA 電路,其工藝制程為28 nm,支持PCIe Gen3。實驗所用的設備包括高速示波器、高速誤碼儀、多路溫度測試儀及直流電源,硬件為SERDES 測試板和PCIe轉(zhuǎn)接板,測試連接的上位機為帶有16 通道PCIe 插槽的PC。測試設備簡介如表2 所示。
表2 測試設備簡介
高速示波器用來檢測DUT 的高速口收發(fā)眼圖,評估PCIe 的底層高速口的傳輸質(zhì)量;誤碼儀用來提供高頻收發(fā)信號,評估DUT 在高速收發(fā)時的抗干擾能力;四路直流電源用來為電路的內(nèi)核、端口、輔助以及高速口部分提供電源,其余模塊電源供給由適配器提供;多路溫度測試儀用來記錄電路在動態(tài)運行時的溫度變化趨勢。
被測電路內(nèi)嵌三組PCIe Gen3 集成器IP,各組之間能夠獨立進行×8 的通信傳輸,即最大可調(diào)用24 路差分串行高速收發(fā)器進行通信。圖3 為PCIe 通信連接圖,在PCIe 與CPU 通信時,需將DUT 置于SERDES測試板內(nèi),通過一組高速光纖與PCIe 轉(zhuǎn)接板進行連接。PCIe 轉(zhuǎn)接板最大支持PCIe×16 金手指通信及熱插拔。
圖3 PCIe 通信連接圖
PCIe 測試由高速測試板卡、高速連接器、PCIe 轉(zhuǎn)接板卡以及CPU 主板卡共同完成。該硬件方案并未將FPGA 的SERDES 管腳與PCIe 物理約束固定,因此可實現(xiàn)電路片上任意高速口區(qū)域與上位機的PCIe 通信。更換三溫測試插座后還可對電路進行三溫測試。將待測電路放入電路測試插座中,選擇要測試的SERDES區(qū)域作為PCIe 的接入高速口區(qū)域。PCIe Gen3×8 測試使用任意兩個相鄰區(qū)域,將對應區(qū)域的TX、RX 和參考時鐘信號全部引出,與自研的PCIe 轉(zhuǎn)接板進行逆序連接。TX 端采用直連方式連接,RX 端添加一個100 μF 的隔直器進行濾波。高速連接器接口形式為BullsEye 接口,使用專用的20 Gbit/s 高速線纜進行連接。
在完成物理連接后,接收功能塊與發(fā)送功能塊在電路與CPU 通信時需要建立同源時鐘通道。在初始的差分信號傳輸中,PCIe 總線會進行比特交互,即在鏈路上交替?zhèn)鬏斠欢? 和1 序列,用來給接收端提取數(shù)據(jù)時鐘。除數(shù)據(jù)時鐘外,PCIe 參考時鐘是以100 MHz為源頭產(chǎn)生的擴頻時鐘。擴頻時鐘可用于所有子設備,即每個鏈路設備共享相同的時鐘源。PCIe 時鐘通信示意圖如圖4 所示,本方案的參考時鐘頻率為100 MHz,由上位機CPU 提供,此時的PCIe 總線可直接將參考時鐘引入,當使用125 MHz 或250 MHz 參考時鐘選項時,須使用FPGA 內(nèi)部的鎖相環(huán)(PLL)進行5/4 和5/2 的乘法,實現(xiàn)100 MHz 時鐘到125 MHz和250 MHz 時鐘的轉(zhuǎn)換。
圖4 PCIe 時鐘通信示意圖
建立電路與CPU 的通信,采用PCIe Gen3 并調(diào)用8 路串行收發(fā)器來完成與上位機的數(shù)據(jù)交互。在編譯工具中調(diào)用MARK_DEBUG 命令對PCIe 的各組件狀態(tài)進行監(jiān)控,監(jiān)控的對象包括cplllock、qplllock、cfg_ltssm_state 等狀態(tài)。cplllock 以及qplllock 用來標識驅(qū)動時鐘是否滿足高速收發(fā)時所需的精度與質(zhì)量,cfg_ltssm_state 用來表示鏈路訓練的狀態(tài)。鏈路訓練是一個動態(tài)的過程,上位機CPU 與電路在上電后按照PCIe 協(xié)議的LTSSM 進行鏈路協(xié)商以達到最優(yōu)的速率以及寬度。圖5 為LTSSM 狀態(tài)機實測圖,被測電路在實測過程中cfg_ltssm_state 的狀態(tài)為10,對應鏈路訓練的L0,即已經(jīng)實現(xiàn)通信。
圖5 LTSSM 狀態(tài)機實測圖
建立與CPU 的通信鏈路后,F(xiàn)PGA 與CPU 開始數(shù)據(jù)交互,為降低與上位機命令交互的時間以提升傳輸效率,本次讀寫壓力測試采用上位機一次指令包含n 組DMA 數(shù)據(jù)包信息的方式進行。典型的PCIe 傳輸過程中,CPU 每次在發(fā)起DMA 傳輸時都需要設置每一幀DMA 數(shù)據(jù)的相關信息并進行編解碼操作,嚴重干擾PCIe 傳輸效率。FPGA 與CPU 交互流程如圖6所示,本次軟件測試方案中CPU 在完成鏈路建立后向FPGA 一次發(fā)送n 組DMA 的起始地址以及上報地址等信息,以降低CPU 解析數(shù)據(jù)的壓力,提升與FPGA的交互效率。
圖6 FPGA 與CPU 交互流程
本次PCIe 壓力測試為非連續(xù)讀寫測試,為精準計算讀寫帶寬,循環(huán)測試時數(shù)據(jù)包的字節(jié)長度選擇512~4 096 B。上位機速率檢測軟件為內(nèi)部開發(fā)的PCIe測試軟件,可實時顯示速率。PCIe 帶寬壓力測試結果如圖7 所示,經(jīng)過讀寫壓力測試,測得傳輸4 MB 的數(shù)據(jù)包時,其讀速率可以達到3 907 MB/s、寫速率可以達到4 430 MB/s,分別為理論最大有效帶寬的54.1%和61.4%,可以滿足實際傳輸?shù)膸捦掏滦枨蟆?/p>
圖7 PCIe 帶寬壓力測試結果
通過高速示波器監(jiān)測被測電路中SERDES 的高速收發(fā)質(zhì)量,通信頻率為8 Gbit/s、通信數(shù)據(jù)格式為PRBS7。通過對比CD 與DUT 中高速通信的差異來分析DUT 的傳輸穩(wěn)定性及信號質(zhì)量。監(jiān)測的主要指標包括眼寬、眼高及信號抖動,信號抖動主要體現(xiàn)在總抖動(TJ)上,按照抖動來源可分為確定性抖動(DJ)和隨機性抖動(RJ)。DJ 向下可分為占空比失真、碼間干擾和周期性抖動。8 Gbit/s 眼圖實測結果如圖8 所示。
圖8 8 Gbit/s 眼圖實測結果
在通信頻率為8 Gbit/s、碼型為PRBS7 的設置下,DUT 的眼圖脈絡與CD 基本一致,兩者的整體信號質(zhì)量較為穩(wěn)定。眼圖參數(shù)的均值及標準方差如表3 所示,DUT 以及CD 的眼高均值分別為324.69 mV 和334.88 mV,說明DUT 在高速通信時眼圖的張開度與CD 基本一致。在信號抖動方面,DUT 的TJ、DJ、RJ 分別為18.766 ps、10.661 ps、578.95 fs,略低于對照電路的20.151 ps、11.366 ps、627.46 fs,說明DUT 在高速通信時眼圖的抖動略優(yōu)于CD。在信號定時誤差TIE 參數(shù)上,DUT 的均值為2.1982 fs,比CD 的均值低40.0%,說明DUT 的時鐘峰-峰值偏移更小。
表3 眼圖參數(shù)的均值及標準方差
對電路進行PCIe Gen3×8 運行溫度測試,首先將電路放置進PCIe 測試板插座中實現(xiàn)與上位機之間的通信,然后將多路溫度儀的電耦合引線貼合在電路的上表面進行表溫測量。常溫下將PCIe Gen3 程序燒錄進電路中后,在觀測到PCIe 正常運行后進行高速功率及溫度測定。高速功率等于電源內(nèi)核以及高速口電源的功率之和。由于PCIe×8 需要用到8 路高速收發(fā)器,因此在高速運行的過程中物理層有著較大的開支來完成數(shù)據(jù)收發(fā)。溫度測定主要用來表征電路的內(nèi)部漏電及電子失控程度,CD 采用傳統(tǒng)的平面CMOS 晶體管工藝,制程為28 nm,DUT 采用16 nm FinFET 工藝,其內(nèi)部采用的門式接觸結構能有效增強對電子的控制進而降低電路升溫[10]。
DUT 的溫升相比于CD 更低,其常溫功耗相比于CD 也有顯著的降低。電路表溫及高速功耗對比如圖9所示,當電路運行到30 min 時,DUT 的表溫為30.6 ℃,低于CD 的37.5 ℃。從表溫上升趨勢來看,DUT 溫升不顯著,電路的溫度在上升到30.3 ℃之后變化趨勢較平穩(wěn),最后穩(wěn)定在30.6 ℃左右,比CD 低18.4%;CD 的表溫一直在升高,在10~15 min 時依然保持一定的上升趨勢。在高速功耗方面,DUT 在室溫運行時其功耗開支維持在1.54 W 左右。在PCIe 程序運行中,F(xiàn)PGA內(nèi)部的SERDES 收發(fā)器、DCM、CLB、BRAM 等資源均會被調(diào)用,設計工藝的區(qū)別導致DUT 在高速運行時整體功耗更小。
圖9 電路表溫及高速功耗對比
對電路進行PCIe Gen3 三溫動態(tài)功耗測試,將電路放置進三溫插座后,啟動三溫設備,待設備達到設定溫度后,保持5 min,待FPGA 溫度達到設定溫度后,啟動與CPU 的通信并開始記錄功率。測試選用三顆DUT 和一顆CD,溫度測試節(jié)點選擇-55 ℃、25 ℃、125 ℃。選用數(shù)據(jù)包的字節(jié)長度為4 MB 的讀寫程序,所 測 定 的 功 率 等 于 VCCINT、MGTAVCC 及MGTAVTT 電路的功率之和。電路三溫功耗對比如表4 所示。
表4 電路三溫功耗對比
DUT 三溫功耗比CD 低,尤其是在高溫125 ℃條件下,電路的整體功率增加明顯,DUT 平均功耗比CD低41.9%。在-55 ℃下運行時,DUT 整體功耗相比常溫時有一定程度的降低,整體功耗比CD 低10.8%。
本文以16 nm FinFET 工藝SRAM FPGA 為對象,探究FinFET 晶體管的電子調(diào)控特性、PCIe 協(xié)議及有效帶寬,搭建針對低功耗PCIe Gen3 的高速通信的性能測試、溫升測試以及三溫功耗測試方案,實現(xiàn)對先進工藝制程下超大規(guī)模集成電路中PCIe 的性能穩(wěn)定性及低功耗性的探究,其結論如下:
(1)在被測電路與CPU 通信過程中,電路與CPU通信穩(wěn)定,PCIe 讀寫速率分別可以達到3 907 MB/s、4 430 MB/s,達到理論最大有效帶寬的54.1%、61.4%;
(2)通過高速眼圖測定,在通信頻率為8 Gbit/s、通信格式為PRBS7 時,被測電路以及對照電路的眼高均值分別為324.69 mV、334.88 mV,兩者眼圖張開度以及抖動基本一致;
(3)在電路溫升以及三溫PCIe 功耗測試中,被測電路在常溫下的表面溫度比對照電路低18.4%,被測電路在125 ℃下的功耗比對照電路低41.9%。
該工藝下的電路能夠穩(wěn)定運行PCIe Gen3 總線,并在低功耗、低發(fā)熱狀態(tài)下實現(xiàn)高質(zhì)量的PCIe 信號傳輸。