FPGA IO資源
阿新 • • 發佈:2021-08-05
*寫在前面:*關於 FPGA 的 IO資源分析共分為三個系列進行具體闡述,分別為:
- IO資源:分析FPGA IO資源的電氣特性;
- IO邏輯資源:分析FPGA的輸入輸出資料暫存器、DDR工作方式、可程式設計輸入延時工作方式;
- IO串並轉換資源:分析IO資源如何實現串並轉換。
其中第二、三系列是對第一系列中的部分內容進行更進一步的詳細描述。本篇是對於第一個系列——IO資源進行部分描述,共分為幾個章節進行具體闡述。
FPGA IO資源的基本單元架構為一個個 IO tile ,下圖為 IO tile 的結構概略圖:
一個 IO tile 包含兩個 IOB、兩個 ILOGIC 和 兩個 OLOGIC。本篇主要描述 IOB 的結構。
IOB的基本結構如下圖所示,包含了輸入緩衝、輸出緩衝和三態控制三種驅動。
一、FPGA的開發軟體提供了 IOB 不同功能的原語(primitives):
對於單端訊號:
- IBUF (input buffer)
- IBUFG (clock input buffer)
- OBUF (output buffer)
- OBUFT (3-state output buffer)
- IOBUF (input/output buffer)
對於差分訊號: - IBUFDS (input buffer)
- IBUFGDS (clock input buffer)
- OBUFDS (output buffer)
- OBUFTDS (3-state output buffer)
- IOBUFDS (input/output buffer)
注意:一對差分訊號作為輸入輸出時必須使用同一 tile 的 P/N 管腳,如下圖的 L31P 和 L31N 為同一tile上的一對差分管腳。
二、定義好 IOB 輸入輸出特性後,FPGA開發軟體還提供對 IOB 的管腳約束、IO介面電氣標準、輸出壓擺率、輸出驅動能力、低容性IO、IO上下拉、差分100歐姆匹配電阻使能的設定。可以參考相關FPGA的資料手冊,檢視具體引數設定。
三、以上原語及設定如何實現?拿IOBUF舉個例子: