Hello-FPGA CoaXPress 2.0 Device FPGA IP Core Demo
1 说明
本手册针对Helllo-FPGA的CoaXPress 2.0 DEVICE FPGA IP Core demo工程,用于演示IP的使用方法、配置流程。本文的内容适用于所有开发板。
Demo 特点功能如下:
l 代码适用于ZCU102,ZCU106, KCU105, KC705,AXKU040/2, AX7P, AX19P等使用Xilinx 芯片作为主控制器的评估板;
l 使用VIVADO 2019.1 及其SDK;
l 默认配置为4个LINK,设备发现阶段使用0x38配置,即3.125Gbps,设备采集阶段使用0x48配置,即6.25Gbps,最高支持12.5Gbps;
l 使用MicroBlaze作为link速率控制器,软件代码使用SDK进行开发、调试;
l IP使用网表形式提供,参数无法修改,如需不同stream通道数配置,请联系Info@hello-fpga 或其它Hello-FPGA工程师
文件列表由两大部分构成,即vivado工程和SDK工程文件夹:
Vivado工程文件夹(cxp_device_hardware)
实现cxp device协议的模块存放在library文件夹,以网表的形式提供,其余的模块均以源码形式提供,并放在AXKU042_device.src文件夹中。
Vivado工程文件存放在AXKU042_device文件夹中,直接使用VIVADO 2019.1打开 *.xpr文件即可。
下图展示了cxp_device的总体目录结构。
图 1‑1 工程目录结构
SDK工程文件夹(cxp_device_driver)
下图展示了*.sdk内部目录结构,直接使用Xilinx SDK打开此目录即可。
图 1‑2 SDK工程目录结构
表 1‑1 LINK速率配置
|----------|-------------|
| 速率配置 | Downlink速率 |
| 0x28 | 1.250 Gbps |
| 0x30 | 2.500 Gbps |
| 0x38 | 3.125 Gbps |
| 0x40 | 5.000 Gbps |
| 0x48 | 6.250 Gbps |
| 0x50 (1) | 10.000 Gbps |
| 0x58 (1) | 12.500 Gbps |
2 设备连接
我们使用Metrox的cxp采集卡(host)+黑金AXKU042开发板(device)为例进行说明:
1、 安装好采集卡软件;
2、 CXP DEVICE FMC子卡 与AXKU042 FMC3 连接,连接好后请使用螺丝进行固定;
3、 CXP DEVICE FMC子卡前面板与cxp采集卡连接,请注意LINK 序号一一对应,使用CXP同轴线缆完成连接;
4、 AXKU042 UART串口与JTAG需要连接到主计算机,其中JTAG负责下载FPGA bitstream与debug,UART负责将demo软件打印信息输出,比如输出当前配置的link速率,串口波特率为115200。
图 2‑1 连接图
3 VIVADO FPGA工程
使用VIVADO 2019.1 打开,如果使用其它版本,可以自行升级。
图 3‑1 VIVADO工程
如下图所示,CPU使用Xilinx的FPGA软核MicroBlaze,在本Demo工程中用于完成link速率配置。CPU与外设之间通过AXI总线进行连接。
图 3‑2 控制器
图 3‑3 pattern generator
Demo使用pattern generator模块模拟图像数据,产生一路图像流,格式为mono类型,从代码上看像素数据位宽达到了12位,但由于bootstrap里默认设置的像素位宽为8,所以在默认情况下实际传输时是有截位的,在device模块里面对数据截取低8位进行传输。
如果代码有修改,改动后需要将硬件信息导出到SDK,并LAUNCH SDK或者其它方式打开SDK重新编译软件代码。
4 SDK工程
使用2019.1打开,如果使用Vitis,请自行导入代码。SDK如果不能正常打开,请自行导入工程即可。
下图为裸机SDK软件目录,其中AXKU042_CXP_Driver_bsp和AXKU042_CXP_Driver_hw均为系统自动生成bsp包,测试 AXKU042_CXP_Driver应用程序即可。
图 4‑1 CXP Demo SDK 软件工程目录
图 4‑2 Debug配置,下载并复位
下载程序到开发板后,程序会将打印信息输出到UART串口。