
GPIO 英特爾® FPGA IP 用戶指南
英特爾® Arria® 10 和英特爾® Cyclone® 10 GX 設備
針對英特爾® Quartus® Prime 設計套件更新: 21.2
知識產權版本: 20.0.0
在線版 ID: 683136
傳送回饋 ug-altera_gpio 版本: 2021.07.15
GPIO 英特爾® FPGA IP 內核支持通用 I/O (GPIO) 功能和組件。 您可以在不特定於收發器、內存接口或 LVDS 的一般應用中使用 GPIO。
GPIO IP 內核僅適用於英特爾 Arria® 10 和英特爾 Cyclone® 10 GX 設備。 如果您從 Stratix® V、Arria V 或 Cyclone V 器件移植設計,則必須移植 ALTDDIO_IN、ALTDDIO_OUT、ALTDDIO_BIDIR 或 ALTIOBUF IP 內核。
相關資訊
- Arria V、Cyclone V 和 Stratix V 器件的 IP 遷移流程 (第 22 頁)
- 英特爾 Stratix 10 I/O 實施指南
提供 Intel Stratix 10 設備的 GPIOIP 內核用戶指南。 - 英特爾 FPGA IP 內核簡介
提供有關所有 Intel FPGA IP 內核的一般信息,包括參數化、生成、升級和仿真 IP 內核。 - 創建與版本無關的 IP 和 Qsys 仿真腳本
創建不需要手動更新軟件或 IP 版本升級的仿真腳本。 - 項目管理最佳實踐
項目和 IP 的有效管理和可移植性指南 files. - GPIO 英特爾 FPGA IP 用戶指南檔案第 24 頁
提供以前版本的 GPIO IP 內核的用戶指南列表。 - 雙倍數據速率 I/O(ALTDDIO_IN、ALTDDIO_OUT 和 ALTDDIO_BIDIR)IP 內核用戶指南
- I/O 緩衝器 (ALTIOBUF) IP 內核用戶指南
GPIO 英特爾 FPGA IP 的發布信息
Intel FPGA IP 版本匹配 Intel Quartus® Prime Design Suite 軟件版本直到 v19.1。 從英特爾 Quartus Prime 設計套件軟件版本 19.2 開始,英特爾 FPGA IP 具有新的版本控制方案。
英特爾公司。 版權所有。 英特爾、英特爾徽標和其他英特爾標誌是英特爾公司或其子公司的商標。 英特爾根據英特爾的標准保修保證其 FPGA 和半導體產品的性能符合當前規格,但保留隨時更改任何產品和服務的權利,恕不另行通知。 英特爾不承擔因應用或使用此處描述的任何信息、產品或服務而產生的任何責任或義務,除非英特爾明確書面同意。 建議英特爾客戶在依賴任何已發布信息和下訂單購買產品或服務之前獲取最新版本的設備規格。 *其他名稱和品牌可能被認為是他人的財產。
英特爾 FPGA IP 版本 (XYZ) 編號可以隨每個英特爾 Quartus Prime 軟件版本而變化。 一個變化:
- X 表示 IP 的重大修訂。 如果更新 Intel Quartus Prime 軟件,則必須重新生成 IP。
- Y 表示 IP 包含新功能。 重新生成您的 IP 以包含這些新功能。
- Z 表示 IP 包含較小的更改。 重新生成您的 IP 以包含這些更改。
表 1. GPIO 英特爾 FPGA IP 核當前版本信息
|
物品 |
描述 |
| IP版本 | 20.0.0 |
| 英特爾 Quartus Prime 版本 | 21.2 |
| 發布日期 | 2021.06.23 |
GPIO 英特爾 FPGA IP 特性
GPIO IP 內核包括支持設備 I/O 塊的功能。 您可以使用 Intel Quartus Prime 參數編輯器來配置 GPIO IP 內核。
GPIO IP 內核提供以下組件:
- 雙倍數據速率輸入/輸出 (DDIO)——一種將通信通道的數據速率加倍或減半的數字組件。
- 延遲鏈——配置延遲鏈以執行特定延遲並協助 I/O 時序收斂。
- I/O 緩衝器——將焊盤連接到 FPGA。
GPIO 英特爾 FPGA IP 數據路徑
圖 1. 高層 View 單端 GPIO

表 2. GPIO IP 內核數據路徑模式
|
數據路徑 |
註冊模式 | |||
| 旁路 | 簡單註冊 |
內存輸入/輸出 |
||
|
全速率 |
半價 |
|||
| 輸入 | 數據從延遲元件傳輸到內核,繞過所有雙倍數據速率 I/O (DDIO)。 | 全速率 DDIO 作為一個簡單的寄存器運行,繞過了半速率 DDIO。 Fitter 選擇是將寄存器封裝在 I/O 中還是在內核中實現寄存器,具體取決於面積和時序權衡。 | 全速率 DDIO 作為常規 DDIO 運行,繞過半速率 DDIO。 | 全速率 DDIO 作為常規 DDIO 運行。 半速率 DDIO 將全速率數據轉換為半速率數據。 |
| 輸出 | 數據從核心直接進入延遲元件,繞過所有 DDIO。 | 全速率 DDIO 作為一個簡單的寄存器運行,繞過了半速率 DDIO。 Fitter 選擇是將寄存器封裝在 I/O 中還是在內核中實現寄存器,具體取決於面積和時序權衡。 | 全速率 DDIO 作為常規 DDIO 運行,繞過半速率 DDIO。 | 全速率 DDIO 作為常規 DDIO 運行。 半速率 DDIO 將全速率數據轉換為半速率數據。 |
| 雙向 | 輸出緩衝器驅動輸出引腳和輸入緩衝器。 | 全速率 DDIO 作為一個簡單的寄存器運行。 輸出緩衝器驅動輸出引腳和輸入緩衝器。 | 全速率 DDIO 作為常規 DDIO 運行。 輸出緩衝器驅動輸出引腳和輸入緩衝器。 輸入緩衝器驅動一組三個觸發器。 | 全速率 DDIO 作為常規 DDIO 運行。 半速率 DDIO 將全速率數據轉換為半速率。 輸出緩衝器驅動輸出引腳和輸入緩衝器。 輸入緩衝器驅動一組三個觸發器。 |
如果您使用異步清除和預設信號,則所有 DDIO 共享這些相同的信號。
半速率和全速率 DDIO 連接到不同的時鐘。 當您使用半速率和全速率 DDIO 時,全速率時鐘必須以兩倍半速率頻率運行。 您可以使用不同的相位關係來滿足時序要求。
相關資訊
輸入和輸出總線高位和低位 on page 12
輸入路徑
pad 將數據發送到輸入緩衝器,輸入緩衝器饋送到延遲元件。 數據進入延遲元件的輸出後,可編程旁路多路復用器選擇要使用的特性和路徑。每個輸入路徑包含兩個 stagDDIOs的es,有全速率和半速率。
圖 2. 簡化 View 單端 GPIO 輸入路徑

- 墊接收數據。
- DDIO IN(1)在ck_fr的上升沿和下降沿採集數據,並以單數據速率發送數據,信號(A)和(B)如下波形圖。
- DDIO IN (2) 和 DDIO IN (3) 將數據速率減半。
- dout[3:0] 將數據呈現為半速率總線。
圖 3. 採用半速率轉換的 DDIO 模式下的輸入路徑波形
在此圖中,數據從雙倍數據速率的全速率時鐘變為單數據速率的半速率時鐘。 數據速率除以四,總線大小增加相同的比例。 通過 GPIO IP 內核的總吞吐量保持不變。
不同信號之間的實際時序關係可能會有所不同,具體取決於您為全速率和半速率時鐘選擇的特定設計、延遲和相位。

注意:GPIO IP 內核不支持雙向管腳的動態校準。 需要動態校準雙向管腳的應用,請參考相關資料。
相關資訊
- 用於並行接口的 PHY Lite Intel FPGA IP Core 用戶指南:Intel Stratix 10、Intel Arria 10 和 Intel Cyclone 10 GX 設備
為需要雙向引腳動態 OCT 的應用程序提供更多信息。 - 第 7 頁的輸出和輸出使能路徑
輸出和輸出使能路徑
輸出延遲元件通過輸出緩衝器將數據發送到焊盤。
每個輸出路徑包含兩個tagDDIO 的 es,有半速率和全速率。
圖 4. 簡化 View 單端 GPIO 輸出路徑

圖 5. DDIO 模式下半速率轉換的輸出路徑波形

圖 6. 簡化 View 輸出使能路徑

輸出路徑和輸出使能 (OE) 路徑之間的區別在於 OE 路徑不包含全速率 DDIO。 為了支持 OE 路徑中的打包寄存器實現,一個簡單的寄存器作為全速率 DDIO 運行。 出於同樣的原因,只有一個半速率 DDIO 存在。
OE 路徑以以下三種基本模式運行:
- 旁路——內核直接將數據發送到延遲元件,繞過所有 DDIO。
- Packed Register—繞過半速率 DDIO。
- 半速率 SDR 輸出——半速率 DDIO 將數據從全速率轉換為半速率。
注意:GPIO IP 內核不支持雙向管腳的動態校準。 需要動態校準雙向管腳的應用,請參考相關資料。
相關資訊
- 用於並行接口的 PHY Lite Intel FPGA IP Core 用戶指南:Intel Stratix 10、Intel Arria 10 和 Intel Cyclone 10 GX 設備
為需要雙向引腳動態 OCT 的應用程序提供更多信息。 - 輸入路徑第 5 頁
GPIO 英特爾 FPGA IP 接口信號
根據您指定的參數設置,不同的接口信號可用於 GPIO IP 內核。
圖 7. GPIO IP 內核接口

圖 8. GPIO 接口信號

表 3. 焊盤接口信號
pad接口是GPIO IP核到pad的物理連接。 該接口可以是輸入、輸出或雙向接口,具體取決於 IP 核配置。 在此表中,SIZE 是 IP 內核參數編輯器中指定的數據寬度。
|
訊號名稱 |
方向 |
描述 |
| pad_in[SIZE-1:0] |
輸入 |
來自焊盤的輸入信號。 |
| pad_in_b[尺寸-1:0] |
輸入 |
來自焊盤的差分輸入信號的負節點。 如果您打開 使用差分緩衝器 選項。 |
| pad_out[尺寸-1:0] |
輸出 |
輸出信號到焊盤。 |
| pad_out_b[尺寸-1:0] |
輸出 |
到焊盤的差分輸出信號的負節點。 如果您打開 使用差分緩衝器 選項。 |
| pad_io[大小-1:0] |
雙向 |
與焊盤的雙向信號連接。 |
| pad_io_b[尺寸-1:0] |
雙向 |
與焊盤連接的差分雙向信號負節點。 如果您打開 使用差分緩衝器 選項。 |
表 4. 數據接口信號
數據接口是從GPIO IP核到FPGA核的輸入或輸出接口。 在此表中,SIZE 是 IP 內核參數編輯器中指定的數據寬度。
|
訊號名稱 |
方向 |
描述 |
| 喧囂 [DATA_SIZE-1:0] |
輸入 |
在輸出或雙向模式下從 FPGA 內核輸入的數據。 DATA_SIZE 取決於寄存器模式:
|
| doout[DATA_SIZE-1:0] |
輸出 |
數據以輸入或雙向方式輸出到FPGA內核, DATA_SIZE 取決於寄存器模式:
|
| oe[OE_SIZE-1:0] |
輸入 |
輸出模式下來自 FPGA 內核的 OE 輸入 使能輸出使能端口 打開,或雙向模式。 OE 高電平有效。 發送數據時,設置該信號為1。接收數據時,設置該信號為0。OE_SIZE取決於寄存器模式:
|
表 5. 時鐘接口信號
時鐘接口是輸入時鐘接口。 它由不同的信號組成,具體取決於配置。 GPIO IP 內核可以有零個、一個、兩個或四個時鐘輸入。 時鐘端口在不同的配置中以不同的方式出現,以反映時鐘信號執行的實際功能。
|
訊號名稱 |
方向 |
描述 |
| ck |
輸入 |
在輸入和輸出路徑中,如果您關閉 半速率邏輯 範圍。 在雙向模式下,如果您關閉 獨立的輸入/輸出時鐘 範圍。 |
| CK_FR |
輸入 |
在輸入和輸出路徑中,如果您打開 半速率邏輯 範圍。 在雙向模式下,如果您關閉 獨立的輸入/輸出時鐘 範圍。 |
|
時鐘時間 |
||
| CK_IN |
輸入 |
在雙向模式下,如果同時指定以下設置,則這些時鐘會在輸入和輸出路徑中饋送打包寄存器或 DDIO:
|
| 退出 | ||
| ck_fr_in |
輸入 |
在雙向模式下,如果同時指定這兩個設置,這些時鐘會在輸入和輸出路徑中提供全速率和半速率 DDIOS
對於前ample, ck_fr_out 在輸出路徑中提供全速率 DDIO。 |
| CK_FR_輸出 | ||
| 時鐘時間輸入 | ||
| 時鐘輸出 | ||
| 橋 |
輸入 |
時鐘使能。 |
表 6. 終端接口信號
終端接口將 GPIO IP 核連接到 I/O 緩衝器。
|
訊號名稱 |
方向 |
描述 |
| 系列終止控制 |
輸入 |
從終止控制塊 (OCT) 到緩衝區的輸入。 它設置緩衝器串聯阻抗值。 |
| 並行終端控制 |
輸入 |
從終止控制塊 (OCT) 到緩衝區的輸入。 它設置緩衝器並聯阻抗值。 |
表 7. 復位接口信號
復位接口將 GPIO IP 內核連接到 DDIO。
|
訊號名稱 |
方向 |
描述 |
| 單反 |
輸入 |
同步清零輸入。 如果啟用 sset,則不可用。 |
| 訪問控制寄存器 |
輸入 |
異步清除輸入。 活躍度高。 如果啟用 aset,則不可用。 |
| 資產 |
輸入 |
異步設置輸入。 活躍度高。 如果啟用 aclr,則不可用。 |
| 塞特 |
輸入 |
同步設置輸入。 如果啟用 sclr,則不可用。 |
相關資訊
輸入和輸出總線高位和低位 on page 12
- 輸入、輸出和 OE 路徑共享相同的清除和預設信號。
- 輸出和 OE 路徑共享相同的時鐘信號。
數據接口的數據位序
圖 9. 數據位順序約定
此圖顯示了 din、dout 和 oe 數據信號的位順序約定。

- 如果數據總線大小值為 SIZE,則 LSB 位於最右側。
- 如果數據總線大小值為 2 × SIZE,則總線由兩個字 SIZE 組成。
- 如果數據總線大小值為4×SIZE,則總線由四個SIZE字組成。
- LSB 位於每個單詞的最右側。
- 最右邊的字指定輸出總線的第一個字和輸入總線的第一個字。
相關資訊
輸入路徑第 5 頁
輸入和輸出總線高位和低位
輸入或輸出信號中的高位和低位包含在 din 和 dout 輸入和輸出總線中。
輸入總線
對於din總線,如果datain_h和datain_l為高低位,每個寬度為datain_width:
- datain_h = din[(2 × datain_width – 1):datain_width]
- 數據輸入l = din[(數據輸入寬度 – 1):0]
對於前amp樂,對於 din[7:0] = 8'b11001010:
- datain_h = 4'b1100
- datain_l = 4'b1010
輸出總線
對於dout總線,如果dataout_h和dataout_l為高位和低位,每個寬度為dataout_width:
- dataout_h = doout[(2 × dataout_width – 1):dataout_width]
- 數據輸出l = doout[(數據輸出寬度 – 1):0]
對於前ample,對於 dout[7:0] = 8'b11001010:
- dataout_h = 4'b1100
- dataout_l = 4'b1010
數據接口信號和相應的時鐘
表 8. 數據接口信號和相應的時鐘
|
訊號名稱 |
參數配置 | 鐘 | ||
| 註冊模式 | 半價 |
獨立時鐘 |
||
| 喧囂 |
|
離開 |
離開 |
ck |
| 迪奧 |
On |
離開 |
時鐘時間 | |
|
離開 |
On |
CK_IN | |
| 迪奧 |
On |
On |
時鐘時間輸入 | |
|
|
離開 |
離開 |
ck |
| 迪奧 |
On |
離開 |
時鐘時間 | |
|
離開 |
On |
退出 | |
| 迪奧 |
On |
On |
時鐘輸出 | |
|
|
離開 |
離開 |
ck |
| 迪奧 |
On |
離開 |
CK_FR | |
|
離開 |
On |
|
|
| 迪奧 |
On |
On |
|
|
驗證資源利用率和設計性能
您可以參考 Intel Quartus Prime 編譯報告以獲取有關您的設計的資源使用和性能的詳細信息。
- 在菜單上,單擊 處理 ➤ 開始編譯 運行完整編譯。
- 編譯設計後,單擊 處理 ➤ 編譯報告.
- 使用 目錄,導航至 Fitter ➤ 資源部分.
一種。 到 view 資源使用信息,選擇 資源使用摘要.
灣到 view 資源利用信息,選擇 實體的資源利用.
GPIO Intel FPGA IP參數設置
您可以在 Intel Quartus Prime 軟件中設置 GPIO IP 內核的參數設置。 共有三組選項: 一般的, 緩衝, 和 暫存器.
表 9. GPIO IP 核參數——一般
|
範圍 |
狀態 | 允許值 |
描述 |
| 數據方向 |
— |
|
指定 GPIO 的數據方向。 |
| 資料寬度 |
— |
1至128 | 指定數據寬度。 |
| 使用舊的頂級端口名稱 |
— |
|
使用與 Stratix V、Arria V 和 Cyclone V 器件相同的端口名稱。 對於前ample,dout變成dataout_h和dataout_l,din變成datain_h和datain_l。 注意:這些端口的行為不同於 Stratix V、Arria V 和 Cyclone V 器件。 遷移指南請參考相關資料。 |
表 10. GPIO IP 內核參數——緩衝區
|
範圍 |
狀態 | 允許值 |
描述 |
| 使用差分緩衝器 |
— |
|
如果打開,則啟用差分 I/O 緩衝區。 |
| 使用偽差分緩衝器 |
|
|
如果在輸出模式下打開,則啟用偽差分輸出緩衝器。 如果您打開此選項,則雙向模式會自動打開此選項 使用差分緩衝器. |
| 使用總線保持電路 |
|
|
如果打開,總線保持電路可以將 I/O 引腳上的信號微弱地保持在其最後驅動狀態,其中輸出緩衝器狀態將為 1 或 0,但不是高阻抗。 |
| 使用開漏輸出 |
|
|
如果打開,開漏輸出使設備能夠提供系統級控制信號,例如中斷和寫使能信號,這些信號可以由系統中的多個設備斷言。 |
| 使能輸出使能端口 | 數據方向 = 輸出 |
|
如果打開,則允許用戶輸入到 OE 端口。 對於雙向模式,此選項會自動打開。 |
| 啟用串聯終端/並行終端端口 |
— |
|
如果打開,則啟用輸出緩衝區的 seriesterminationcontrol 和 parallelterminationcontrol 端口。 |
表 11. GPIO IP 內核參數——寄存器
| 範圍 | 狀態 | 允許值 | 描述 |
| 註冊方式 |
— |
|
指定 GPIO IP 內核的寄存器模式:
|
| 啟用同步清除/預設端口 |
|
|
指定如何實現同步復位端口。
|
| 啟用異步清除/預設端口 |
|
|
指定如何實現異步復位端口。
ACLR 和 ASET 信號為高電平有效。 |
| 啟用時鐘使能端口 | 寄存器模式=DDIO |
|
|
| 半速率邏輯 | 寄存器模式=DDIO |
|
如果打開,則啟用半速率 DDIO。 |
| 獨立的輸入/輸出時鐘 |
|
|
如果打開,則在雙向模式下為輸入和輸出路徑啟用單獨的時鐘(CK_IN 和 CK_OUT)。 |
相關資訊
- 輸入和輸出總線高位和低位 on page 12
- 指南:交換遷移 IP 中的 datain_h 和 datain_l 端口(第 23 頁)
註冊包裝
GPIO IP 內核允許您將寄存器打包到外設中以節省面積和資源利用率。
您可以將輸入和輸出路徑上的全速率 DDIO 配置為觸發器。 為此,請添加此表中列出的 .qsf 分配。
表 12. 寄存器封裝 QSF 分配
|
小路 |
QSF 作業 |
| 輸入寄存器封裝 | QSF 分配 set_instance_assignment -name FAST_INPUT_REGISTER ON -to |
| 輸出寄存器打包 | set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to |
| 輸出使能寄存器封裝 | set_instance_assignment -name FAST_OUTPUT_ENABLE_REGISTER ON -to |
注意:這些分配不保證寄存器打包。 但是,這些分配使 Fitter 能夠找到合法的佈局。 否則,Fitter 會將觸發器保留在內核中。
GPIO 英特爾 FPGA IP 時序
GPIO IP 內核的性能取決於 I/O 約束和時鐘相位。 要驗證 GPIO 配置的時序,英特爾建議您使用時序分析器。
計時元件
GPIO IP 內核時序組件由三個路徑組成。
- I/O 接口路徑——從 FPGA 到外部接收設備以及從外部發送設備到 FPGA。
- 數據和時鐘的內核接口路徑——從 I/O 到內核以及從內核到 I/O。
- 傳輸路徑——從半速率到全速率 DDIO,以及從全速率到半速率 DDIO。
注意:Timing Analyzer 將 DDIO_IN 和 DDIO_OUT 塊內的路徑視為黑盒。
圖 10. 輸入路徑時序組件

圖 11. 輸出路徑時序組件

圖 12. 輸出使能路徑時序組件

延遲元件
Intel Quartus Prime 軟件不會自動設置延遲元素來最大化 I/O 時序分析中的裕量。 要關閉時序或最大化鬆弛,請在 Intel Quartus Prime 設置中手動設置延遲元件 file (.qsf)。
表 13. 延遲元件 .qsf 分配
在 .qsf 中指定這些分配以訪問延遲元件。
| 延遲元件 | .qsf 賦值 |
| 輸入延遲元件 | 將_instance_assignment 設置為-名稱 INPUT_DELAY_CHAIN <0..63> |
| 輸出延遲元件 | 將_instance_assignment 設置為-名稱 OUTPUT_DELAY_CHAIN <0..15> |
| 輸出使能延遲元件 | 將_instance_assignment 設置為-名稱 OE_DELAY_CHAIN <0..15> |
時序分析
Intel Quartus Prime 軟件不會自動為 GPIO IP 內核生成 SDC 時序約束。 您必須手動輸入時序約束。
遵循時序指南和前amp確保 Timing Analyzer 正確分析 I/O 時序的文件。
- 要對 I/O 接口路徑執行正確的時序分析,請在 .sdc 文件中針對系統時鐘引腳指定數據引腳的系統級約束 file.
- 要對核心接口路徑執行正確的時序分析,請在 .sdc 中定義這些時鐘設置 file:
— 時鐘到核心寄存器
— 簡單寄存器和 DDIO 模式的 I/O 寄存器時鐘
相關資訊
AN 433:約束和分析源同步接口
描述用於約束和分析源同步接口的技術。
單數據速率輸入寄存器
圖 13. 單數據速率輸入寄存器

表 14. 單數據速率輸入寄存器 .sdc 命令示例amp萊斯
| 命令 | 命令前ample | 描述 |
| 創建時鐘 | create_clock -名稱 sdr_in_clk -週期 “100 MHz”sdr_in_clk |
為輸入時鐘創建時鐘設置。 |
| 設置輸入延遲 | 設置輸入延遲-時鐘 sdr_in_clk 0.15 sdr_in_data |
指示時序分析器以 0.15 ns 輸入延遲分析輸入 I/O 的時序。 |
全速率或半速率 DDIO 輸入寄存器
全速率和半速率DDIO輸入寄存器的輸入端是一樣的。 您可以通過使用虛擬時鐘對到 FPGA 的片外發送器建模來適當地約束系統。
圖 14. 全速率或半速率 DDIO 輸入寄存器

表 15. 全速率或半速率 DDIO 輸入寄存器 .sdc 命令示例amp萊斯
| 命令 | 命令前ample | 描述 |
| 創建時鐘 | create_clock -name 虛擬時鐘 -週期“200 MHz” 創建時鐘-名稱 ddio_in_clk -週期“200 MHz”ddio_in_clk |
為虛擬時鐘和 DDIO 時鐘創建時鐘設置。 |
| 設置輸入延遲 | set_input_delay -clock 虛擬時鐘 0.25 ddio_in_data 設置輸入延遲-添加延遲 -clock_fall -clock virtual_clock 0.25 ddio_in_data |
指示 Timing Analyzer 分析傳輸的正時鐘邊沿和負時鐘邊沿。 請注意第二個 set_input_delay 命令中的 -add_delay。 |
| 設置假路徑 | set_false_path -fall_from 虛擬時鐘-rise_to ddio_in_clk 設置假路徑-rise_from virtual_clock -fall_to ddio_in_clk |
指示 Timing Analyzer 忽略正時鐘邊沿到負邊沿觸發寄存器,以及時鐘負邊沿到正邊沿觸發寄存器。
注意:ck_hr 頻率必須是 ck_fr 頻率的一半。 如果 I/O PLL 驅動時鐘,您可以考慮使用 derive_pll_clocks .sdc 命令。 |
單數據速率輸出寄存器
圖 15. 單數據速率輸出寄存器

表 16. 單數據速率輸出寄存器 .sdc 命令示例amp萊斯
| 命令 | 命令前ample | 描述 |
| create_clock 和 create_generated_clock | 創建_時鐘-名稱 sdr_out_clk -週期“100 MHz”sdr_out_clk create_generated_clock -源 sdr_out_clk -名稱 sdr_out_outclk sdr_out_outclk |
生成要傳輸的源時鐘和輸出時鐘。 |
| 設置輸出延遲 | 設置輸出延遲-時鐘 sdr_out_clk 0.45 sdr_輸出_數據 |
指示時序分析器分析要傳輸的輸出數據與要傳輸的輸出時鐘。 |
全速率或半速率 DDIO 輸出寄存器
全速率和半速率DDIO輸出寄存器的輸出端是一樣的。
表 17. DDIO 輸出寄存器 .sdc 命令示例amp萊斯
| 命令 | 命令前ample | 描述 |
| create_clock 和 create_generated_clock | 創建時鐘-名稱 ddio_out_fr_clk -週期“200 MHz”ddio_out_fr_clk create_generated_clock -源 ddio_out_fr_clk-名稱 ddio_out_fr_outclk ddio_out_fr_outclk |
生成到 DDIO 的時鐘和要傳輸的時鐘。 |
| 設置輸出延遲 | set_output_delay -時鐘 ddio_out_fr_outclk 0.55 ddio_out_fr_data 設置輸出延遲-添加延遲 -clock_fall -時鐘 ddio_out_fr_outclk 0.55 ddio_out_fr_data |
指示時序分析器根據輸出時鐘分析正負數據。 |
| 設置假路徑 | 設置假路徑-rise_from ddio_out_fr_clk -fall_to ddio_out_fr_outclk set_false_path -fall_from ddio_out_fr_clk -rise_to ddio_out_fr_outclk |
指示 Timing Analyzer 忽略源時鐘的上升沿與輸出時鐘的下降沿,以及源時鐘的下降沿與輸出時鐘的上升沿 |
時序收斂指南
對於 GPIO 輸入寄存器,如果不設置輸入延遲鏈,輸入 I/O 傳輸很可能會失敗保持時間。 此故障是由於時鐘延遲大於數據延遲引起的。
為了滿足保持時間,使用輸入延遲鏈向輸入數據路徑添加延遲。 一般而言,輸入延遲鏈在 60 速度等級時每步約為 1 ps。 要獲得通過時序的近似輸入延遲鏈設置,請將負保持鬆弛除以 60 ps。
但是,如果 I/O PLL 驅動 GPIO 輸入寄存器的時鐘(簡單寄存器或 DDIO 模式),您可以將補償模式設置為源同步模式。 Fitter 將嘗試配置 I/O PLL 以獲得更好的設置並保持鬆弛以進行輸入 I/O 時序分析。
對於 GPIO 輸出和輸出啟用寄存器,您可以使用輸出和輸出啟用延遲鏈向輸出數據和時鐘添加延遲。
- 如果您觀察到設置時間違規,您可以增加輸出時鐘延遲鏈設置。
- 如果您觀察到保持時間違規,您可以增加輸出數據延遲鏈設置。
GPIO 英特爾 FPGA IP 設計實例amp萊斯
GPIO IP核可以生成設計實例amp在參數編輯器中匹配您的 IP 配置的文件。 您可以使用這些設計前amp文件作為實例化 IP 核和模擬中預期行為的參考。
您可以生成設計前amp來自 GPIO IP 內核參數編輯器的文件。 設置所需參數後,單擊 生成前amp設計. IP核生成設計前amp來源 files 在您指定的目錄中。
圖 16. 來源 File生成的設計示例中的 samp目錄

注意:.qsys files 供設計 ex 期間內部使用amp樂世代而已。 您不能編輯這些 .qsys files.
GPIO IP 內核可合成英特爾 Quartus Prime 設計實例ample
綜合設計前ample 是一個編譯就緒的 Platform Designer 系統,您可以將其包含在 Intel Quartus Prime 工程中。
生成和使用 Design Example
生成可綜合的英特爾 Quartus Prime 設計前amp從源頭上 files,在design ex中運行如下命令amp文件目錄:
quartus_sh -t make_qii_design.tcl
要指定要使用的確切設備,請運行以下命令:
quartus_sh -t make_qii_design.tcl [設備名稱]
TCL 腳本創建一個包含 ed_synth.qpf 項目的 qii 目錄 file. 您可以在英特爾 Quartus Prime 軟件中打開並編譯該項目。
GPIO IP核仿真設計實例ample
仿真設計前amp文件使用您的 GPIO IP 內核參數設置來構建連接到仿真驅動程序的 IP 實例。 驅動程序生成隨機流量並在內部檢查傳出數據的合法性。
使用設計前amp文件中,您可以使用單個命令運行模擬,具體取決於您使用的模擬器。 該仿真演示瞭如何使用 GPIO IP 核。
生成和使用 Design Example
生成仿真設計前amp從源頭上 files 對於 Verilog 仿真器,在 design ex 中運行以下命令amp文件目錄:
quartus_sh -t make_sim_design.tcl
生成仿真設計前amp從源頭上 files 對於 VHDL 仿真器,在 design ex 中運行以下命令amp文件目錄:
quartus_sh -t make_sim_design.tcl VHDL
TCL 腳本創建一個包含子目錄的 sim 目錄——一個用於每個支持的仿真工具。 您可以在相應的目錄中找到每個模擬工具的腳本。
Arria V、Cyclone V 和 Stratix V 器件的 IP 遷移流程
IP 遷移流程允許您將 Arria V、Cyclone V 和 Stratix V 器件的 ALTDDIO_IN、ALTDDIO_OUT、ALTDDIO_BIDIR 和 ALTIOBUF IP 內核遷移到 Intel Arria 10 和 Intel Cyclone 10 GX 器件的 GPIO IP 內核。
此 IP 遷移流程配置 GPIO IP 核以匹配 ALTDDIO_IN、ALTDDIO_OUT、ALTDDIO_BIDIR 和 ALTIOBUF IP 核的設置,從而允許您重新生成 IP 核。
注意:一些 IP 內核僅在特定模式下支持 IP 遷移流程。 如果您的 IP 核處於不受支持的模式,您可能需要為 GPIO IP 核運行 IP Parameter Editor 並手動配置 IP 核。
遷移您的 ALTDDIO_IN、ALTDDIO_OUT、ALTDDIO_BIDIR 和 ALTIOBUF IP 內核
要將您的 ALTDDIO_IN、ALTDDIO_OUT、ALTDDIO_BIDIR 和 ALTIOBUF IP 內核遷移到 GPIO Intel FPGA IP IP 內核,請執行以下步驟:
- 在 IP Parameter Editor 中打開 ALTDDIO_IN、ALTDDIO_OUT、ALTDDIO_BIDIR 或 ALTIOBUF IP 內核。
- 在 當前選擇的設備系列, 選擇 英特爾 Arria 10 or 英特爾 Cyclone 10 GX.
- 點選 結束 打開 GPIO IP 參數編輯器。
IP 參數編輯器配置類似於 ALTDDIO_IN、ALTDDIO_OUT、ALTDDIO_BIDIR 或 ALTIOBUF 內核設置的 GPIO IP 內核設置。 - 如果兩者之間有任何不兼容的設置,請選擇 新支持的設置.
- 點選 結束 重新生成 IP 內核。
- 用 GPIO IP 核替換 RTL 中的 ALTDDIO_IN、ALTDDIO_OUT、ALTDDIO_BIDIR 或 ALTIOBUF IP 核例化。
注意:GPIO IP 內核端口名稱可能與 ALTDDIO_IN、ALTDDIO_OUT、ALTDDIO_BIDIR 或 ALTIOBUF IP 內核端口名稱不匹配。 因此,僅在實例化中更改 IP 內核名稱可能是不夠的。
相關資訊
輸入和輸出總線高位和低位 on page 12
指南:交換遷移 IP 中的 datain_h 和 datain_l 端口
當您將 GPIO IP 從以前的設備遷移到 GPIO IP 內核時,您可以打開 使用舊的頂級端口名稱 GPIO IP 內核參數編輯器中的選項。 然而,這些端口在 GPIO IP 內核中的行為不同於用於 Stratix V、Arria V 和 Cyclone V 器件的 IP 內核。
GPIO IP 內核將這些端口驅動到這些時鐘邊沿上的輸出寄存器:
- datain_h—在 outclock 的上升沿
- datain_l—在 outclock 的下降沿
如果您從 Stratix V、Arria V 和 Cyclone V 器件移植了您的 GPIO IP,當您實例化由 GPIO IP 核生成的 IP 時交換 datain_h 和 datain_l 端口。
相關資訊
輸入和輸出總線高位和低位 on page 12
GPIO 英特爾 FPGA IP 用戶指南檔案
IP 版本與最高 v19.1 的英特爾 Quartus Prime 設計套件軟件版本相同。 從 Intel Quartus Prime Design Suite 軟件版本 19.2 或更高版本開始,IP 核具有新的 IP 版本控制方案。
如果未列出 IP 核版本,則適用先前 IP 核版本的用戶指南。
|
IP核版本 |
使用者指南 |
| 20.0.0 | GPIO 英特爾 FPGA IP 用戶指南:英特爾 Arria 10 和英特爾 Cyclone 10 GX 設備 |
| 19.3.0 | GPIO 英特爾 FPGA IP 用戶指南:英特爾 Arria 10 和英特爾 Cyclone 10 GX 設備 |
| 19.3.0 | GPIO 英特爾 FPGA IP 用戶指南:英特爾 Arria 10 和英特爾 Cyclone 10 GX 設備 |
| 18.1 | GPIO 英特爾 FPGA IP 用戶指南:英特爾 Arria 10 和英特爾 Cyclone 10 GX 設備 |
| 18.0 | GPIO 英特爾 FPGA IP 用戶指南:英特爾 Arria 10 和英特爾 Cyclone 10 GX 設備 |
| 17.1 | 英特爾 FPGA GPIO IP 核用戶指南 |
| 17.0 | Altera GPIO IP 內核用戶指南 |
| 16.1 | Altera GPIO IP 內核用戶指南 |
| 16.0 | Altera GPIO IP 內核用戶指南 |
| 14.1 | Altera GPIO 宏功能用戶指南 |
| 13.1 | Altera GPIO 宏功能用戶指南 |
GPIO 英特爾 FPGA IP 用戶指南的文檔修訂歷史:英特爾 Arria 10 和英特爾 Cyclone 10 GX 設備
|
檔案版本 |
英特爾 Quartus Prime 版本 | IP版本 |
變化 |
|
2021.07.15 |
21.2 |
20.0.0 |
更新了顯示簡化的圖表 view 將 dout[0] 更新為 dout[3] 並將 dout[3] 更新為 dout[0] 的單端 GPIO 輸入路徑。 |
|
2021.03.29 |
21.1 |
20.0.0 |
將 GPIO IP 版本號更新為 20.0.0。 |
|
2021.03.12 |
20.4 |
19.3.0 |
更新了 IP 遷移指南以指定 GPIO IP 在上升沿驅動 datain_h 並在下降沿驅動 datain_l。 |
|
2019.10.01 |
19.3 |
19.3.0 |
更正了延遲元件主題中 .qsf 分配代碼中的印刷錯誤。 |
|
2019.03.04 |
18.1 |
18.1 |
在有關輸入路徑、輸出和輸出使能路徑的主題中:
|
|
2018.08.28 |
18.0 |
18.0 |
|
| 日期 | 版本 | 變化 |
| 2017年XNUMX月 | 2017.11.06 |
|
| 2017年XNUMX月 | 2017.05.08 |
|
| 2016 年 XNUMX 月 | 2016.10.31 |
|
| 2016 年 XNUMX 月 | 2016.08.05 |
|
| 2014 年 XNUMX 月 | 2014.08.18 |
|
| 2013年XNUMX月 | 2013.11.29 | 初次發布。 |
GPIO 英特爾 FPGA IP 用戶指南:英特爾 Arria 10 和英特爾 Cyclone 10 GX 設備
文件/資源
![]() |
英特爾 GPIO 英特爾 FPGA IP [pdf] 使用者指南 GPIO 英特爾 FPGA IP, GPIO, 英特爾 FPGA IP, FPGA IP |




