8月22日,第七届全国大学生集成
电路创新创业大赛全国总决赛在重庆圆满落幕!紫光同创杯赛再次斩获佳绩!作为紫光同创生态合作伙伴,
小眼睛科技助力紫光同创高校生态布局,为2023集创赛紫光同创杯赛提供全程技术支持,同“芯”共创,竭诚为赛事护航。
近期,小眼睛科技对部分获奖作品进行了专访,将陆续为大家推出
优秀作品展。让我们一起走进获奖队伍的台前幕后,看看他们是如何过五关、斩六将,
从全国4500+支队伍中脱颖而出,一路冲刺到全国总决赛,斩获殊荣!
本篇优秀作品:
2023集创赛全国总决赛紫光同创杯赛一等奖获奖作品,来自
北京邮电大学+逐日队的内容分享。
获奖作品:《多通道高性能视频采集与加速系统》
获奖队伍: 北京邮电大学+CICC2486+逐日队
作品评语:支持四种视频输入接口,其中包括一路PCIE下行视频数据,2*2图像拼接实现串口控制位置切换,采用RIFFA实现PCIE,ai识别可达77帧,识别准确率仍有优化空间。
作品简介:本项目通过
紫光同创FPGA实现了一套
多通道高性能的视频采集和加速系 统。其包括HDMI/千兆以太网/摄像头/PCIE四种不同传输方式的视频输入采集,板载DDR视频帧缓存,HDMI/PCIE 两种方式的视频输出,视频拼接,缩放等功能的实现。
项目着眼于构建出基于多输入输出通道的高性能DDR-DMA 控制模块和高性能的PCIE-DMA模块以满足系统的高速信号采集和传输功能。通过自主设计构建DDR-DMA实现多通道负载均衡和优先调度功能。移植开源PCIE-DMA实现全平台
FPGA设备的统一化应用和超高效率传输。同时项目搭配识别检测等功能扩展项目应用方式。
项目特点与优势:一、多通道:多通道处理能力是这款高性能视频采集与加速卡的关键特性之一。
外源上,它被设计以支持多种通道不同接口的输入方式,包括 HDMI、摄像头、网口以及PCI-Express多通道输入。内源上,本项目设计了一种多通道DMA,用户可以根据需求选择不同的通道及输入方式,并且这些通道之间是可以互相切换的。
DMA多通道技术允许系统同时处理多个通道的数据,从而提高了数据传输和处理的效率。同时项目所移植的PCI-Express框架为系统提供了高达12个独立通道供用户使用,可根据需求灵活地选择并接入,实现多通道PCI-Express数据传输,以满足其特定的视频数据采集和处理需求。
通过多通道的设计,使其能够进行高性能视频采集与加速,高速并发的处理多个视频源,提高了视频处理的效率和灵活性。
二、高性能:高性能是该视频采集与加速卡的另一个关键特性。本项目实现了一个全自主的高性能DDR-DMA程序,通过优化数据传输方案,使得该卡在性能极限的传输速率已经接近了DDR接口所支持的最大速率,使其能够同时处理多通道的高清晰度的视频信号,并实现高质量的显示效果。
在数据传输方面,该卡具备高性能的PCI-Express 上下行数据传输能力,其在使用PCI-Express 2.0 x2的DMA搬移速度接近800MB/s,达到理论极限传输速率的80%。
HDMI 输入及回环输 出采用了150MHz 时钟传输,传输视频格式为1920x1080@60fps。网口采用125MHz 时钟传输,视频输入格式为960x540@60fps。相机采用42MHz 时钟传输,视频输入格式为960x540@30fps。
FPGA 将采集到的视频进行缩放、拼接等处理后显示到屏幕上。同时可以自由选择视频通道,通过PCI-Express接口传输给上位机以调用 YOLO-V5s模型进行识别并显示识别结果。这种高性能的数据链路设计方案使FPGA可以通过高速PCI-Express接口与主机进行数据传输和
通信,满足对高质量、实时的视频采集和处理的需求。
三、加速:加速模块是该多通道高性能视频采集与加速卡的另一个重要组成部分。
首先,采集视频数据采用DDR存储,具有高速读写能力和较大的容量,可以存储大量的视频数据,具有高带宽和低延迟的优点,使得系统能够高效地读取和写入数据,从而实现快速的计算和处理。
其次,DDR的DMA模块可根据需要对任 意存储位置的视频像素进行读取,并行地访问存储位置的每个地址,并读取相应的像素点数据。这种并行读取的方式可以加速对视频数据的处理和分析。
最后通过上位机程序,调用高算力GPU加速对视频数据的识别。
四、开源性:本项目基于紫光同创FPGA平台,使用紫光同创官方IP构建系统基础,在具备相同IP接口的紫光FPGA平台上均可部署,可以自由修改和定制组件,以满足具体应用场景的需求。
该系统其余模块均为自主或开源模块,使得系统满足全国产化处理需求。其中,该系统的PCI-Express DMA移植了RIFFA框架,支持多种系统(厂家产品)之间的混合通信,使得系统能够灵活地适配不同类 型的计算机系统或微处理器,具有极高度的通用性和可移植性。
*模型对验证集图片的识别效果
*部分作品内容演示
项目创新点:
一:高性能全自主DDR-DMA
在本次比赛期间内,本项目设计了一套DDR-DMA控制系统,用于控制 PGL/PG2L/PGT系列设备的DDR3的大规模数据流搬移功能的实现。该架构共包含以下几个子模块:通道模块、授权模块、鉴权器模块、控制&输出模块。
由于所回合授权模块允许不同的通道参与竞争,且控制输出模块仅会传输 对应通道的数据,这导致该DDR-DMA中所有的通道相互独立,每个通道含有自己独立的位宽、指针、首位地址等特性,对于位宽相同的通道甚至可以进行热通道切换,因此通道之间具有较高的灵活性。
同时,由于鉴权器和授权模块的存在可以使得通道最大化利用 AXI4 总线, 合理分配每一次猝发数据传输,提升系统传输效率。此外 DDR-DMA 屏蔽了内部 AXI4 总线数据传输协议的复杂逻辑,仅仅给外部暴露极其简单的握手信号,使得系统的使用更加容易。
二:高性能全开源PCI-Express-DMA
为满足高带宽数据与PC机交互的能力并创造一套适用于紫光同创FPGA的 高性能PCIE-DMA,本项目在比赛期间重点开发并成功移植了一个开源的 PCIExpress-DMA框架:RIFFA。
现行的RIFFA支持Windows,Linux 作为上位机操作系统,下位 FPGA 板卡支持Altera和Xilinx,可以通过C / C ++、Python、
matlab 或 Java 驱动来实现数据的发送和接收。驱动程序可以在Linux 或Windows 上运行,每一个系统最多支持 5个FPGA设备。
在用户端有高达12个独立的发送和接收端口,用户只需编写几行简单代码即可实现与FPGA IP内核通信。同时RIFFA框架具有超高的DMA数据搬移性能,RIFFA不依赖于PCIe Bridge,因此不受桥连实现的限制。RIFFA使用直接存储器访问(DMA)传输和中断信号传送数据。这实现了PCIe链路上的高带宽,运行速率可以达到PCIe链路饱和点。
下图显示了使用32 位,64 位和128 位接口的设计性能。实线为理论最大带宽值,虚线为可实现最大带宽值。PCIe Gen 1和2使用8 位/10位编码,将最大可实现带宽限制为理论值的80%。实验表明,在几乎所有情况下,RIFFA可以实现理论带宽的80%。128位接口达到理论最大值的76%(本项目移植后性能不变)。
项目指标:
FPGA资源使用率:本项目最终代码通过PDS的布局布线后,各资源占有情况如图所示:
由于每个通道模块均含有对应的数据缓存模块,因此DRM的占有率较高。而其他资源的设计使用率均维持在正常水平。项目每次编译平均耗时20分钟(Intel I7-13700)。
各通道视频帧率:
各输入输出通道视频帧率和数据流速率如下表所示:
项目参数指标:
项目最终代码体量:
经git统计,最终版本,项目包含约125168行代码(包含ipcore),经项目组成员修改和编写的代码约55377行。项目总共约567个文件(不包含编译和工程文件)。
团队介绍:
团队名称:逐日队参赛单位:北京邮电大学指导老师:李绍胜,北京邮电大学人工智能学院副教授
李永,北京邮电大学
电子工程学院教授
蒋一白:北京邮电大学国际学院2019级本科生
郑传耀:北京邮电大学电子工程学院2020级本科生
杜泽睿:北京邮电大学电子工程学院2021级本科生
团队专访:“热爱如清风,行路不觉疲惫”以下内容来自小眼睛科技与逐日队成员的专访Q1:可以介绍一下为何在众多赛道中选择紫光同创杯赛吗?
我们队伍三名成员对于FPGA都有较强的兴趣,这次紫光同创给出的赛题难度较大,很有挑战性,由于此前只使用过Altera和Xilinx的FPGA及其EDA工具,我们也想通过这次的紫光同创杯赛尝试一下国产FPGA和EDA工具,当然使用体验是不错的,上手起来也比较快。
Q2:参加本次紫光同创杯赛有什么样的收获和体会呢?通过参加本次的比赛,无论是技术上还是项目管理上,我们有很大的收获。
在技术上,我们掌握了HDMI、网口、摄像头、串口以及PCIE的接口协议及实现,在移植RIFFA框架的过程中,下至PCIE的TLP数据包格式,上至上位机Linux内核兼容问题,遇到了很多困难,也收获了很多联调经验,团队成员初涉计算机视觉领域,对几个常用的模型与框架有了一些认识。
在这次比赛的备赛过程中,由于作品模块多,难度大,我们制定了作品的版本更替,历经三十多个版本,动态评估各部分难度并调整计划,最终完成了预期目标设计,深刻体会到了项目管理带来的好处。这段经历也让我们坚定了各自的兴趣方向,
热爱如清风,行路不觉疲惫。
再次感谢来自北京邮电大学的逐日队为我们分享参赛的心路历程!作为紫光同创生态合作伙伴,小眼睛科技助力紫光同创高校生态布局,将继续与各高校加强产教融合、产学研合作,助力紫光同创为高校学子搭建高水平创新和展示平台,为培养高素质集成电路人才贡献力量。