HLS—AXI4-Lite Interface
HLS綜合后的端口分為兩種類型:
1.Block Level
2.Port Level
Port level是需要重點關注的,又可以細分為4種類型:
A. AXI4-Interface:支持Stream,Lite,Full共3中類型
B. NO I/O協議:無端口協議
C. Wire Handshakes:握手協議
D. Memory Interface:內存訪問型的端口協議
AXI4-Lite Interface的作用(很容易通過軟件API控制硬件):
1.將多個端口組合到同一個AXI4-Lite接口中
2.輸出用于在處理器上運行的C驅動程序文件
example
Vivado HLS將端口b實現為ap_vld接口,并將端口b分組到AXI4-Lite接口中。因此,AXI4-Lite接口包含一個用于端口b數據的寄存器、一個用于確認端口b已被讀取的輸出寄存器和一個用于端口b輸入有效信號的寄存器
由于分組到axis - lite接口中的變量是函數參數,它們本身在C代碼中不能被賦值,因此axis - lite接口中的任何寄存器都不能被賦值。
ap_done:函數完成所有操作
ap_ready:函數可以接收新的數據
C Driver Files
其中的“example”應該替換為top-level function名字
xexample.h中定義了兩個結構體:
?XExample_Config:用來保存IP實例的配置信息(每個achaxi4 - lite從接口的基地地址)。
?XExample:用于保存IP實例指針。大多數api將這個實例指針作為第一個參數。
標準API實現在filesxexample.c、xexample_sinit.c、xexample_linux.c中提供,并提供函數來執行以下操作。
?初始化設備
?控制設備并查詢其狀態
?讀/寫寄存器
?設置、監控和控制中斷
表10列出了C驅動文件中提供的每個API函數(UG902,Chapter 1,P104)
Controlling Hardware
硬件頭文件xexample_hw .h(在本例中)提供了分組到AXI4-Lite從接口的端口的內存映射位置的完整列表。
總結
以上是生活随笔為你收集整理的HLS—AXI4-Lite Interface的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Vitis学习记录(三)
- 下一篇: HLS pragmas(1)bind_s