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