999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA原語的低延時高速接口實現方法

2021-06-04 03:09:14任智新王江為闞宏偉趙坤
微型電腦應用 2021年5期
關鍵詞:功能

任智新, 王江為, 闞宏偉, 趙坤

(1.浪潮電子信息產業(yè)股份有限公司, 山東 濟南 2500132;2.廣東浪潮大數據研究有限公司, 廣東 廣州 510627)

0 引言

近幾年,隨著現場可編程門陣列(FPGA,Filed Programmable Gate Array)自身功能的不斷完善以及多核CPU性能的提升遇到摩爾定律瓶頸,使FPGA受到越來越多人的青睞。尤其在高速數據互連、并行計算處理以及計算機異構加速系統(tǒng)中FPGA都有著出色的表現。這也得益于各個FPGA廠商提供了集成度高的IP核以及豐富易操作的軟硬件開發(fā)工具,開發(fā)人員不必過多關注FPGA底層設計開發(fā),就可以快速地搭建系統(tǒng)工程,滿足應用的需求。高度集成以及功能豐富且可靈活配置的各類IP核,省去了工程師大部分的工作,可以將更多的精力放在系統(tǒng)架構以及性能提升上,尤其是對于接口的設計上。不論是以太網接口、PCIe接口、DDR接口還是通用的其他高速接口,FPGA廠商均提供了可直接調用的IP,但在對傳輸延時敏感的應用場合下,這樣做會使系統(tǒng)主頻受FPGA內部資源利用率、布局布線以及IP本身延時等因素影響,難以滿足設計要求,或出現時序無法收斂等問題[1-3]。

FPGA原語(Primitive)作為芯片最基本的組件,在實際應用中可以協助解決上述問題,實現上述特殊場合下無法使用高度集成IP的功能。原語是各個器件廠家針對不同FPGA器件特征開發(fā)的一系列常用模塊,是最小單元,相當于軟件中的機器語言,在設計中可直接例化使用,不過不同廠家不同系列器件的原語也會因硬件本身的特點而不同,但是基本的類型和使用方法類似,在具體使用時根據手冊進行調用即可,使用亦非常方便和快捷。另外,原語資源不占用FPGA的可編程邏輯資源,在大規(guī)模的設計中,可充分利用FPGA邏輯資源,完成更加復雜的功能,發(fā)揮出FPGA在并行計算上的優(yōu)勢,激發(fā)出最高的能效比。

本文以Xilinx公司的器件原語展開論述和分析,對原語在高速接口中的應用進行詳細闡述,并描述了FPGA原語在DDR SDRAM鏡像功能中的應用實例和效果。

1 接口組件I/O分析

Xilinx FPGA原語根據實現的功能大概分為10類:包括時鐘組件、I/O組件、寄存器/鎖存器、處理器組件、計算組件、移位寄存器、配置和檢測組件、RAM/ROM組件、Slice/CLB組件以及G-tranceiver,不同型號器件包含的組件類別不完全相同,但基本都包含在這10大類中。本文在對I/O組件的功能和應用進行了分析,提出延時可變以及低延時適用于高速數據傳輸的接口。

常見的Xilinx廠家的器件I/O組件由于產品型號的不同而有所差異,但基本功能有很大的相似性,常見的組件包括IOBUF/IDDR/IDELAY/ISERDES/ODDR/OSERDES等20幾個I/O組件,可利用這些組件根據需求搭建成不同功能模塊,尤其在高速接口PHY的使用中十分靈活[4]。

1.1 輸出延時可變接口PHY功能實現

本文以幾個典型的原語組件,詳細描述一種低延時且可動態(tài)修改傳輸延時的接口PHY實現方法,其實現框圖如圖1所示。

圖1 PHY接口實現框圖

基于原語實現的PHY接口結構框圖1的各原語的功能如下:

(1) IOBUF組件:輸入/輸出緩沖器,有單端及雙端信號兩種。根據實際信號傳輸的方向選擇,可做輸入、輸出以及雙向信號,通過改變該組件的方向控制信號oe,來改變該組件的輸入輸出方向,是搭建PHY必備的組件,是芯片管腳與內部信號之間的接口,幾乎無輸入輸出延時,僅有硬件實現時的走線延時,該模塊的調用代碼如下:

IOBUF #(

.IBUF_LOW_PWR (IBUF_LOW_PWR))

u_iobuf_d0(

.I (d0_in), //方向為輸出時,輸入到該模塊的數據

.T (d0_oe),//方向控制信號

.IO (d0_inout),//輸入輸出接口,對應pad管腳

.O (dq_out)//方向為輸入時,外部信號經過該模塊后的數據);

(2) IODELAY:可編程的延遲單元。每個PHY接口包含一個該組件,延時時間最大有64個tap的環(huán)繞單元,每個tap值與接口的工作頻率有關,比如V6的芯片,工作頻率是200 MHz,tap=78 ps,所以總的最大延時時間為78×64=4 992 ps,主要用來調整因硬件走線延時的不同而帶來的時序問題,通過改變tap值,保證每組信號線走線延時的一致性,該模塊調用的代碼如下:

(* IODELAY_GROUP = IODELAY_GRP *) IODELAYE1 #

(.CINVCTRL_SEL ("FALSE"),

//其他參數配置略)

u_iodelay_dq (

.DATAOUT (dq_iodelay),

.C (clk),

.CE (1'b0),

.DATAIN (1'b0),

.IDATAIN (dq_in),

.INC (1'b0),

.ODATAIN (dq_oq),

.RST (1'b1),

.T (ocb_tfb),

.CNTVALUEIN (dlyval),

.CNTVALUEOUT (dq_tap_cnt),

.CLKIN (),

.CINVCTRL (1'b0));

模塊時序圖如圖2所示。

圖2 Idelay模塊時序圖

(3) ISERDESE:輸入串并轉換器。ISERDESE可以實現高速數據傳輸,完全不需要FPGA內部邏輯與輸入數據頻率匹配,此轉換器支持SDR、DDR兩種模式,即可以實現兩種不同速度的數據接口轉換,接口與內部邏輯時鐘速率比支持2∶1、3∶1、4∶1和5∶1,用戶可根據系統(tǒng)工作頻率及外部接口頻率靈活選擇。例如,當接口信號工作頻率為400 MHz,而FPGA邏輯內部工作頻率為200 MHz時,為了能不跨時鐘操作,保證時序以及數據采集的正確性,需要設置ISERDESE為2∶1模式,即在內部時鐘頻率的上下沿均采集接口數據,相當于一個時鐘周期可采集外部接口的兩個數據,達到變頻的目的。

(4) OSERDESE:輸出串并轉換器。與ISERDESE功能相同,只是方向相反,串并轉換和并串轉換的工作過程。如圖3所示。

輸入數據轉換流程如下所述:外部信號通過管腳后,經過IOBUF的輸入通路進行無延時緩存;接著進入可動態(tài)調整輸入延時的IODELAY輸入通道,該模塊延時的時間有限,具體參考上文;之后進入ISERDESE串行轉換模塊,該模塊有個特點,當輸入的接口時鐘與分頻時鐘相位相同時,輸入延時為3個接口時鐘時間,而當兩個時鐘相位相差180°時,輸入延時為2個接口時鐘時間,所以通過動態(tài)修改分頻時鐘,改變輸入總的延時,但此延時只能變化一個周期;最后數據進入用戶邏輯,進行數據解析等其他操作。輸出數據轉換流程是輸入的反過程,過程完全一致。

圖3 輸入輸出1∶6 serdes數據轉換

1.2 延時可變的PHY功能仿真圖

轉換DDR(Double Data Rate,雙倍速率)數據、接口與內部邏輯工作頻率比為2∶1情況的仿真示意圖,如圖4(1)、圖4(2)所示。

圖4(1) 輸出延時仿真結果1

圖4(2) 輸出延時仿真結果2

其中圖4(1)是兩時鐘同相時,數據輸出延時為2個CK周期;圖4(2)是當內部邏輯分頻時鐘取反后送入模塊中,數據輸出延時為3個CK周期。

對于I/OSERDESE這一特性在需要輸入/輸出通路延時可變化一個周期時,使用該方法可以大大簡化接口邏輯,提高工作效率。

2 原語在DDR SDRMA控制中的應用

FPGA作為內存控制器在加速卡及內存容錯技術中都有廣泛的應用,在常規(guī)方案中,使用FPGA內IP核[5]來處理DDR接口數據的延時過大,無法滿足接口低延時應用場合下DDR的讀寫時序要求。根據上文對原語的分析,將I/O組件的原語,以合理的方式進行“搭積木”后,可以實現低延時的DDR接口處理模塊,從而滿足系統(tǒng)功能的需求。

2.1 FPGA內集成的接口IP延時分析

通常情況下,對于高速信號接口數據的處理,工程師們會首先選擇FPGA內高度集成的IP核,比如Altera廠家A10器件中高速數據處理接口phylite(Altera PHYLite for Parallel Interfaces IP core),其主要特性:支持1/4速率到1/2速率以及1/2速率到全速率的轉換I/O、支持單數據速率(SDR)和雙數據速率(DDR) 、支持基于DQS組的數據采集,非常適合處理內存DDR數據,但對該IP進行仿真后發(fā)現,延時高達9個時鐘周期,其仿真結果如圖5所示。

圖5 phyLite1/2速率輸入接口庫仿真圖

而Xilinx的HSSIO(High Speed SelectIO )的輸入輸出延時也多達7個時鐘周期。顯然,用原語搭建的PHY延時最小,3種功能模塊對比結果如表1所示。

表1 接口延時對比

延時的單位為接口周期數。

2.2 原語PHY的應用

為了滿足DDR讀寫延時要求并且使FPGA的時序能很好的收斂,使用第1章描述的方式搭建的低延時高速接口來實現基于FPGA的內存鏡像功能。邏輯內部的工作頻率可以根據接口頻率靈活調整,對應的PHY接口在輸入/輸出分別采用不同的雙沿處理原語:I(O)DDR和I(O)Serdes即可。利用該原語架構的邏輯已經在硬件平臺中得以驗證,將基于Virtex6實現的內存鏡像卡掛在主板后,CPU可以正常訪問內存,且可實現鏡像功能。基于原語實現的DDR高速接口數據輸入輸出示意圖,如圖6所示。

圖6 原語在DDR內存鏡像中的應用

3 總結

通過上述對使用原語I/O組件搭建的PHY接口的分析,不同的原語在不同的輸入源激勵下會有不同的表現,在經過充分的論證和仿真驗證后有一些特殊的功能。使得原語在實現復雜FPGA邏輯中有很好的應用,可方便、靈活地搭建實現各種功能模塊。對于需要延時小、時序緊張的應用中有著比集成IP核更好的效果。本文提出的原語PHY接口可根據實際接口的頻率以及系統(tǒng)功能的需求進行靈活修改,而且可以實現小范圍內延時動態(tài)調整。并且該方式在基于FPGA的內存鏡像卡中有著很好的表現,完成了高速IP無法實現的功能。在對數據傳輸延時低的場合下有很好的應用,不過基于原語實現 的PHY功能相對簡單,若想達到集成IP支持的功能和特性,還需要進行更多的仿真和驗證。

猜你喜歡
功能
拆解復雜功能
鐘表(2023年5期)2023-10-27 04:20:44
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
基層弄虛作假的“新功能取向”
當代陜西(2021年21期)2022-01-19 02:00:26
深刻理解功能關系
鉗把功能創(chuàng)新實踐應用
關于非首都功能疏解的幾點思考
基于PMC窗口功能實現設備同步刷刀功能
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達功能
中西醫(yī)結合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 国产麻豆aⅴ精品无码| a亚洲视频| 91丝袜美腿高跟国产极品老师| 伊人91在线| 中国特黄美女一级视频| 热这里只有精品国产热门精品| 国产成人亚洲精品蜜芽影院| 最新国产在线| 亚洲全网成人资源在线观看| 伊在人亚洲香蕉精品播放| 成人精品视频一区二区在线| 乱系列中文字幕在线视频| 色综合婷婷| 亚洲一级色| 视频一本大道香蕉久在线播放 | 欧美亚洲一区二区三区导航| 久久久无码人妻精品无码| 在线观看的黄网| 欧美在线黄| 伊人久久综在合线亚洲91| 国产97公开成人免费视频| 亚洲精品无码高潮喷水A| 日韩在线第三页| 色婷婷色丁香| 国产情侣一区| 亚洲精品桃花岛av在线| 欧美精品黑人粗大| 国产免费观看av大片的网站| 久久这里只有精品66| a级毛片毛片免费观看久潮| 国产免费网址| 狠狠干欧美| 国产精品人人做人人爽人人添| 欧美激情福利| 国产综合另类小说色区色噜噜| а∨天堂一区中文字幕| 永久免费无码成人网站| 亚洲三级a| 欧美一区二区自偷自拍视频| 国产视频自拍一区| 91激情视频| 国产免费看久久久| 国产成人精品午夜视频'| 福利在线一区| 免费一级毛片在线播放傲雪网| 久久久久久久97| 丁香六月综合网| 国产成人91精品| 午夜精品福利影院| 久久6免费视频| 国产人在线成免费视频| 精品无码一区二区在线观看| 日本一本正道综合久久dvd| 一区二区三区四区在线| 日韩免费毛片| 免费观看精品视频999| 国产欧美日韩va| 亚洲一区二区日韩欧美gif| 亚洲av无码专区久久蜜芽| 美女被躁出白浆视频播放| 伊人久久综在合线亚洲91| 免费久久一级欧美特大黄| 91 九色视频丝袜| 精品91在线| 色九九视频| 老司国产精品视频| 最新日本中文字幕| 亚洲国产日韩在线成人蜜芽| 国产一区二区精品福利| 免费在线色| 日本欧美午夜| 亚洲视频在线观看免费视频| 天天综合网色| 欧美97色| 国产欧美日韩在线一区| 免费观看男人免费桶女人视频| 自拍偷拍欧美日韩| 亚洲 日韩 激情 无码 中出| 好久久免费视频高清| 污网站在线观看视频| 国产亚洲成AⅤ人片在线观看| 亚洲视频免|