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从接口的端口的内存映射位置的完整列表。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wzx_numberone/article/details/119325372