本篇博文主要講解在 PL 中如何使用 AXI Interrupt Controller (INTC) 的級聯模式,將 IP 核超過 32 個的中斷連接到 PS 上。
在 AMD Vivado Design Suite 設計中使用了 AMD AXI GPIO 中斷。
設計示例是以 VCK190 評估板為目標創建,使用的是 Vivado 2020.2 版本。中斷功能在 PetaLinux 2020.2 上經過了測試。
AXI GPIO:
General Purpose Input/Output (GPIO) 核提供輸入輸出訪問的接口,用于對接器件的交互。該核還可用于控制外部器件的行為。
中斷:
在 AXI GPIO 中必須先為對應的 GPIO 通道啟用中斷,這樣即可從該通道讀取中斷狀態。使用 AXI GPIO 自定義中的“Enable Interrupt”選項來啟用中斷。

對于輸入模式,gpio_input 管腳連接到 VCK190 的如下按鈕 (PUSH BUTTON):
gpio_input(0) = GPIO_SW15
gpio_input(1) = GPIO_SW16

AXI INTC:
AXI Interrupt Controller (INTC) 核可將來自外設器件的多個中斷輸入集中到系統處理器的單一中斷輸入上。寄存器用于檢查、啟用和確認中斷。

此示例的主要目的是將超過 16 個中斷連接到 PS。AXI INTC 核可滿足此需求。使用單一 AXI INTC 塊的情況下最多可連接 32 個中斷,并且還可使用級聯。
在級聯模式下,有不少于兩個 AXI INTC 實例連接到同一個處理器。參數 C_EN_CASCADE_MODE 表示的“Enable Cascade Interrupt Mode”和參數 C_CASCADE_MASTER 表示的“Cascade Mode Master”都需要在此模式下配置。
注釋:必須使用主 AXI INTC 實例的 irq_in 端口或第 31 個中斷位,來實現從次級 AXI INTC 實例的級聯。
在下文描述 Concat IP 的多個圖例中,可以看到中斷的連接方式。
塊設計:
下文解釋了設計中使用的 IP 及其連接。
Concat IP:
Concat IP 核可提供相應機制來將不同寬度的總線信號組合到單一總線內。

從 IP catalog 添加 Concat 塊,然后雙擊 IP(如下所示)以打開“Re-customize IP” 對話框。

在上圖中,將“Number of Ports”參數設置為期望的輸入端口數。在此示例中,所選端口數量為 32。
完成 IP 自定義后的結果如下:

如前所述,輸出端口 AXI_INTC_0 連接到下一個 AXI_INTC_1 的 irq_in 中斷輸入端口。

AXI_INTC_1 的輸出連接到 AMD Versal 自適應 SoC CIPS 塊的 pl_ps_irq0 端口:

請驗證設計并遵循其余步驟進行操作以生成比特流。
導出硬件,用于構建 PetaLinux 鏡像。
PetaLinux:
內核配置:
在 Menuconfig 中啟用以下選項。默認情況下,這些選項均已啟用,但您應核實其狀態,以防萬一。

向設備樹添加按鈕:
按鈕僅可用于 Input GPIO 應用程序。
創建的每個子節點均可控制 GPIO 中對應的單個位。在 dts 文件中的“gpio-keys”鍵節點下,根據設計,為按鈕 (Push Buttons) 創建含如下名稱的子節點:

完成此操作后,請啟動 Linux。
您可在 cat /proc/interrupts 中看到按鈕 SW15 和 SW16 的標簽。

-
amd
+關注
關注
25文章
5657瀏覽量
139138 -
soc
+關注
關注
38文章
4525瀏覽量
227810 -
中斷
+關注
關注
5文章
913瀏覽量
43598 -
評估板
+關注
關注
1文章
913瀏覽量
30985 -
Versal
+關注
關注
1文章
172瀏覽量
8390
原文標題:開發者分享|AMD Versal? 自適應 SoC 上的級聯模式示例
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發者社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
在AMD Versal自適應SoC上使用QEMU+協同仿真示例
【ALINX 技術分享】AMD Versal AI Edge 自適應計算加速平臺之 Versal 介紹(2)
AMD Versal自適應SoC內置自校準的工作原理
Versal? 自適應 SoC 助力 8K 處理 – 為 8K 做好準備(3)
AMD率先推出符合DisplayPort? 2.1 8K視頻標準的FPGA和自適應SoC
AMD發布第二代Versal自適應SoC,AI嵌入式領域再提速
AMD Versal? Adaptive SoC CPM PCIE PIO EP設計CED示例
第二代AMD Versal Prime系列自適應SoC的亮點
AMD Versal自適應SoC CPM5 QDMA的Tandem PCIe啟動流程介紹
AMD Versal自適應SoC DDRMC如何使用Micron仿真模型進行仿真
AMD Versal自適應SoC器件Advanced Flow概覽(上)
AMD Versal自適應SoC器件Advanced Flow概覽(下)

AMD Versal自適應SoC上的級聯模式示例
評論