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串口。

Hello-FPGA CoaXPress 2.0 FPGA DEVICE IP Core Demo的更多相关文章

  1. 【再话FPGA】在xilinx中PCIe IP Core使用方法

    采用Xilinx Virtex-5 XC5VSX50T-FF1136 FPGA或者Xilinx Virtex-5 XC5VSX95T-FF1136的板子.采用ISE13.2环境.步骤:一.建立一个IS ...

  2. 基于FPGA的SATA3.0主机控制器IP

    SATA3.0 Host Controller IP SATA3.0 Host IP不仅实现了SATA协议的PHY(物理层).Link(链路层)和TRN(传输层),并且实现了CMD(命令层)和APP( ...

  3. [原创]免固件开发USB2.0 FPGA方案 速度40Mbyte/s+

    USB 2.0接口,实测速度40Mbyte/s: 一个接口实现两种功能(USB2.0+FPGA配置): 免固件开发: 完整的FPGA代码,即拿即用: FPGA逻辑工程师开发USB接口福音: 平台可移植 ...

  4. Lattice系列FPGA入门相关0(Lattice与Altera、Xilinx对比及入门)

    需求说明:Lattice系统FPGA入门 内容       :Lattice与Altera.Xilinx对比 来自       :时间的诗 1.Lattice与Altera.Xilinx对比 latt ...

  5. CC1605&CC1604 usb3.0+FPGA 高速视频采集 双目相机测评

    CC1605&CC1604 usb3.0+FPGA 高速视频采集 双目相机测评 摄像头配置:ov5640.OV5642.mt9p031.mt9m001c12stm OV5640 xclk:24 ...

  6. 【FPGA篇章二】FPGA开发流程:详述每一环节的物理含义和实现目标

    欢迎大家关注我的微信公众账号,支持程序媛写出更多优秀的文章 FPGA的开发流程是遵循着ASIC的开发流程发展的,发展到目前为止,FPGA的开发流程总体按照下图进行,有些步骤可能由于其在当前项目中的条件 ...

  7. Android studio3.0打开Device File Explore(文件管理器)的方法(图文教程)

    Android studio3.0打开Device File Explore(文件管理器)的方法(图文教程) 看到网上AS3.0新增加的查看手机文件的新功能,全部都是转载的,没有几个人心细的把如何打开 ...

  8. FPGA的发展史及FPGA 的基础架构

    通过了解早期FPGA的发展,理解FPGA究竟是干什么的,FPGA到底在电子设计领域起到了什么样的作用,下面是一张早期的设计过程 早期的设计流程过程中,只有当硬件完成了才能够得到功能的验证,随着集成电路 ...

  9. caffe运行错误: im2col.cu:61] Check failed: error == cudaSuccess (8 vs. 0) invalid device function

    错误: im2col.cu:61] Check failed: error == cudaSuccess (8 vs. 0)  invalid device function 原因:由于Makefil ...

  10. 配置SSD-caffe测试时出现“Check failed: error == cudaSuccess (10 vs. 0) invalid device ordinal”解决方案

    这是由于GPU数量不匹配造成的,如果训练自己的数据,那么我们只需要将solver.prototxt文件中的device_id项改为自己的GPU块数,一块就是0,两块就是1,以此类推. 但是SSD配置时 ...

随机推荐

  1. Ant Design Vue表单验证失败

    表单验证遇见的坑 01 如果你受控数据是这样写的话 const formState= reactive({ youForm:{ youNaNe:'', useSlectValue: '001', da ...

  2. file文件转为base64

    场景描述 在工作中,我们经常需要进行文件上传. 比如在进行图片上传的时候, 我们需要将上传的图片展示出来. 这个时候我们就需要将file文件转化为base64. 将file文件转化为base64 // ...

  3. 深入学习C#系列文章01---C#3 革新写代码的新方式

    C#3 几乎所有的新特性都是为LINQ服务的,但他们单独使用也非常有用,接下来我们来简单看看C#3 的几个新特性吧. 一.自动实现的属性-----编写由字段直接支持的简单属性,不再显得臃肿不堪. 之前 ...

  4. 设计模式学习-使用go实现解释器模式

    解释器模式 定义 优点 缺点 适用范围 代码实现 参考 解释器模式 定义 解释器模式(interpreter):给定一种语言,定义它的文法的一种表示,并定一个解释器,这个解释器使用该表示来解释语言中的 ...

  5. NLP专栏简介:数据增强、智能标注、意图识别算法|多分类算法、文本信息抽取、多模态信息抽取、可解释性分析、性能调优、模型压缩算法等

    NLP专栏简介:数据增强.智能标注.意图识别算法|多分类算法.文本信息抽取.多模态信息抽取.可解释性分析.性能调优.模型压缩算法等 专栏链接:NLP领域知识+项目+码源+方案设计 订阅本专栏你能获得什 ...

  6. Windows7 SP1 安装.NET Framework4失败

    系统版本是Windows7旗舰版,已经安装了SP1补丁,但还是无法安装.NET Framework4或者4.5,提示安装失败. 这时可以安装.NET Framework4.8的开发包,我这里安装开发包 ...

  7. 利用 ASP.NET Core 开发单机应用

    前言 现在是分布式微服务开发的时代,除了小工具和游戏之类刚需本地运行的程序已经很少见到纯单机应用.现在流行的Web应用由于物理隔离天然形成了分布式架构,核心业务由服务器运行,边缘业务由客户端运行.对于 ...

  8. 优化算法之梯度下降|Matlab实现梯度下降算法

    题目要求: 使用Matab实现梯度下降法 对于函数: min ⁡ f ( x ) = 2 x 1 2 + 4 x 2 2 − 6 x 1 − 2 x 1 x 2 \min f(x)=2 x_{1}^{ ...

  9. 19c ADG Switchover 切换测试

    背景: 环境未配置DG Broker,手工切换ADG,19c也要比11g时代的切换更简单. 使用自己的测试环境,具体可参见: 单实例Primary快速搭建Standby RAC参考手册(19.16 A ...

  10. redmine获取cookie和其他系统实现单点登录

    前言 最近有个需求,需要将我们一个平台对接到redmine,让用户可以通过这个平台直接在redmine提工单,需要实现免登录跳转.首先是想到去查redmine有无相应的单点登录功能,查到redmine ...