《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 其他 > 教程:FPGA常見的IO接口標準設(shè)置

教程:FPGA常見的IO接口標準設(shè)置

2022-10-24
來源:FPGA之家
關(guān)鍵詞: IO接口 電阻 FPGA

  0 引言

  最近準備采用Xilinx FPGA進行多機通信,即主FPGA芯片將采集到的不同層的圖像數(shù)據(jù)流分別輸出給對應(yīng)的4塊從FPGA芯片中,,主從FPGA之間的連接機制采用星形拓撲結(jié)構(gòu)。經(jīng)計算,,圖像數(shù)據(jù)流接口速率需要數(shù)百兆比特/秒,,因此需要調(diào)研FPGA支持的常見IO接口標準,及每種接口的應(yīng)用場合,。

  1 常見IO接口標準

  Xilinx FPGA提供和支持高性能,、可配置、多樣化的接口標準,。主要的可配置屬性為On-chip terminaTIon(輸入端/輸出端的內(nèi)置片上端接電阻),,output strength(輸出驅(qū)動器的電流驅(qū)動能力),,slew rate(電壓壓擺率)等。

  常見IO接口可分為單端IO接口和差分IO接口,,詳細的IO標準參見下圖1,。單端IO接口和差分IO接口均滿足高速接口傳輸,區(qū)別在于應(yīng)用場合不同,。

  066.JPG

  Xilinx FPGA芯片不同的Bank支持的IO接口標準范圍略有所不同,,但是同一Bank必須使用同一output drive voltage (VCCO)。

  1.1 端接電阻

 065.JPG

  由上圖2可知,,當使用高速IO接口時,,在接收端通常需要匹配的端接電阻,有利于高低電平的轉(zhuǎn)換和提高信號的完整性,,且端接電阻盡可能的放置在接收端,。

  (a)差分輸入端接電阻

  通常需要在差分輸入端并行端接100Ω的電阻,,F(xiàn)PGA在差分輸入接收器提前內(nèi)置了端接電阻,,其阻值R為100Ω,為可選項opTIonal,。設(shè)計者也可以采用外接端接電阻來進行電阻匹配,,阻值選擇更靈活。采用片上內(nèi)置的端接電阻可以節(jié)省無聊和縮小PCB面積,。

 064.JPG

  通過UCF文件進行約束,,是否使用差分輸入端接電阻,語法規(guī)則如下:NET DIFF_TERM = “” ,。

 ?。╞)單端輸入端接電阻

 063.JPG

  由上圖可知,一些單端IO接口也需要輸入端接電阻來匹配信號的完整性,,例如HSTL,,SSTL。SSTL電平通常應(yīng)用在DDR SRAM中,,例如SSTL18應(yīng)用在DDR2,,SSTL15_II應(yīng)用在DDR3中。詳見下圖所示,。

062.JPG

  通過UCF文件進行約束,,是否使用單端輸入端接電阻,語法規(guī)則如下:

  NET IN_TERM = ;

 ?。╟)輸出端接電阻

061.JPG

  由上圖可知,,輸出端(也稱為源端)也可以配置輸出端接電阻,以減少信號的反射,,應(yīng)用在高速單端信號場合,,例如FPGA輸出驅(qū)動DDR3芯片,。輸出端接電阻也是opTIonal可選項,常見阻值R為none,,25Ω,,50Ω,75Ω,。通過UCF文件進行約束,,是否使用單端輸出端接電阻,語法規(guī)則如下:

  NET OUT_TERM = ;

060.JPG

  說明:由上圖可知,,F(xiàn)PGA作為輸出端,,其端接電阻可以通過內(nèi)置端接電阻配置完成,但如果DDR SRAM作為后一級的輸入端,,該芯片沒有片上端接電阻,,故需要外接50Ω的輸入匹配電阻。

  1.2 設(shè)置IO接口屬性

  常見IO接口屬性包括:電平標準,,輸出壓擺率,,輸出驅(qū)動能力,上/下拉,。詳細設(shè)置參考下文,。

059.JPG

058.JPG

  2  常見IO接口標準&應(yīng)用

  當今大廠家會基于其IO接口的總線應(yīng)用場合提出新的IO接口標準,隨后被其他廠家所使用,。每一種IO接口標準均有其特有的電壓,、電流、輸入輸出緩沖和端接匹配技術(shù)要求,。Xilinx User Guide詳細列出了常見的各種IO接口的種類,,定義及應(yīng)用場合,詳見下文,。

067.JPG

068.JPG

  3   高速IO接口應(yīng)用舉例

  基于FPGA的高速IO接口應(yīng)用的常見例子有兩種,,詳見下文。

  第一種: 采用SSTL15_II接口標準,,應(yīng)用于DDR3 SRAM,,屬于single-end IO standard;

  第二種:采用LVDS33/25接口標準,,應(yīng)用于IOSERDES的高速串行通信,,屬于differenTIal  IO standard;

  3.1  DDR3 SRAM接口驅(qū)動

  FPGA驅(qū)動DDR3 SRAM芯片時,,F(xiàn)PGA作為輸出源端,SRAM芯片作為終端,,故FPGA需要配置output driver 的相關(guān)屬性參數(shù)attributes,。SRAM作為input receiver,,需要進行端接電阻匹配,由于沒有內(nèi)置片上端接電阻,,故需要在SRAM輸入管腳外接匹配電阻,,由于數(shù)據(jù)端口是雙向端口,故輸入端是高阻狀態(tài),,無需匹配,。而地址總線接口和差分時鐘輸入接口需要匹配對應(yīng)阻值的電阻。

 ?。╝)FPGA輸出端IO Standard在UCF文件中參數(shù)配置如下:

  NET  “mcb3_dram_dq[*]”      IOSTANDARD  =   SSTL15_II   |    IN_TERM = NONE   |   OUT_TERM = UNTUNED_50;

  壓擺率和上下拉采用默認參數(shù),,SLOW slew rate, 12mA  output drive,。

 ?。╞)SRAM輸入端IO standard,地址管腳和數(shù)據(jù)管腳盡可能均勻分配在某一個或多個Bank中,。

  地址總線輸入端(單端接口)需匹配50Ω端接電阻,,差分時鐘輸入端(差分接口)需要匹配100Ω的端接電阻,見下圖所示,。

055.JPG

  地址總線輸入接口                                                                                          

差分時鐘輸入接口

  說明:1.  SRAM輸入管腳的端接電阻盡可能靠近管腳,,以保證信號的完整性;

  2.  每一組bank均有獨立的Vcco和Vref,,便于配置variable IO standard,;

  3. 為減少SSO(simultaneous switching output)的大量輸出管腳電平同一方向切換的干擾,可以增加virtual

  VCC/GND pins,,即將該bank未用到的管腳在FPGA程序中設(shè)置為GND或VCC,;

  3.2   LVDS差分IO接口驅(qū)動

 054.JPG

  LVDS:低壓差差分信號,每位數(shù)據(jù)需要一對差分信號線,,相較于單端接口,,差分接口可以抑制共模噪聲,電壓擺幅約350mV,,因此信號傳輸功耗較低,。LVDS接口傳輸速率上限可達3.125Gbit/s,如果配合相應(yīng)的編碼規(guī)則(如8b/10b)和使用SERDES技術(shù),,可以保證常用高速信號通信,。

053.JPG

  差分信號輸入端需要端接匹配電阻,如果輸入端為FPGA管腳,,可以通過配置,,使能其內(nèi)置端接電阻,阻值默認為100Ω,。UCF配置LVDS接口如下:

 052.JPG

  說明:1.  壓擺率越快,,電平轉(zhuǎn)換時間越短,,時間性能越優(yōu);

  2.  Spartan6 FPGA所有Bank均支持LVDS差分輸入,,但只有Bank0和Bank2支持LVDS差分輸出,;



更多信息可以來這里獲取==>>電子技術(shù)應(yīng)用-AET<<

mmexport1621241704608.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。