1. 程式人生 > 其它 >FPGA IO資源

FPGA IO資源

*寫在前面:*關於 FPGA 的 IO資源分析共分為三個系列進行具體闡述,分別為:

  1. IO資源:分析FPGA IO資源的電氣特性;
  2. IO邏輯資源:分析FPGA的輸入輸出資料暫存器、DDR工作方式、可程式設計輸入延時工作方式;
  3. IO串並轉換資源:分析IO資源如何實現串並轉換。

其中第二、三系列是對第一系列中的部分內容進行更進一步的詳細描述。本篇是對於第一個系列——IO資源進行部分描述,共分為幾個章節進行具體闡述。

FPGA IO資源的基本單元架構為一個個 IO tile ,下圖為 IO tile 的結構概略圖:

一個 IO tile 包含兩個 IOB、兩個 ILOGIC 和 兩個 OLOGIC。本篇主要描述 IOB 的結構。

IOB的基本結構如下圖所示,包含了輸入緩衝、輸出緩衝和三態控制三種驅動。

一、FPGA的開發軟體提供了 IOB 不同功能的原語(primitives):
對於單端訊號:

  1. IBUF (input buffer)
  2. IBUFG (clock input buffer)
  3. OBUF (output buffer)
  4. OBUFT (3-state output buffer)
  5. IOBUF (input/output buffer)

    對於差分訊號:
  6. IBUFDS (input buffer)
  7. IBUFGDS (clock input buffer)
  8. OBUFDS (output buffer)
  9. OBUFTDS (3-state output buffer)
  10. IOBUFDS (input/output buffer)

    注意:一對差分訊號作為輸入輸出時必須使用同一 tile 的 P/N 管腳,如下圖的 L31P 和 L31N 為同一tile上的一對差分管腳。

    二、定義好 IOB 輸入輸出特性後,FPGA開發軟體還提供對 IOB 的管腳約束、IO介面電氣標準、輸出壓擺率、輸出驅動能力、低容性IO、IO上下拉、差分100歐姆匹配電阻使能的設定。可以參考相關FPGA的資料手冊,檢視具體引數設定。

三、以上原語及設定如何實現?拿IOBUF舉個例子: