一种基于FPGA的数据传输系统及方法技术方案

技术编号:18403777 阅读:47 留言:0更新日期:2018-07-08 22:07
本申请公开了一种基于FPGA的数据传输系统及方法,该数据传输系统包括输入端数据接口、虚拟通道管理模块、多个虚拟通道、仲裁模块以及输出端数据接口。该数据传输方法包括:获取数据包,根据数据包的包头,将不同的数据包分别存储到不同的虚拟通道中;最后根据虚拟通道的优先级顺序,进行数据包输出。通过本申请实施例中的系统和方法,能够大大提高FPGA中高速数据传输效率,提高接口和总线的利用率,有效避免单通道传输中的数据溢出问题。

A data transmission system and method based on FPGA

This application discloses a data transmission system and method based on FPGA. The data transmission system includes input data interface, virtual channel management module, multiple virtual channels, arbitration module and output data interface. The data transmission method includes: obtaining data packets and storing different data packets to different virtual channels according to the packet of Baotou. Finally, the packet output is carried out according to the priority order of the virtual channel. Through the system and method of this application example, it can greatly improve the efficiency of high speed data transmission in FPGA, improve the utilization of interface and bus, and effectively avoid the problem of data spillover in single channel transmission.

【技术实现步骤摘要】
一种基于FPGA的数据传输系统及方法
本申请涉及芯片设计
,特别是涉及一种基于FPGA的数据传输系统及方法。
技术介绍
由于FPGA具有速度快、效率高、灵活稳定、集成度高以及可反复重构等优点,所以在芯片设计领域,常采用FPGA作为平台来进行高速数据传输的设计。在同样的FPGA芯片平台中,可以根据用户需求采用不同的数据传输方法设计出不同的数据传输系统。目前的数据传输系统和方法通常为,上行接口一般为片内总线结构,FPGA芯片的上行线路连接CPU,下行线路连接控制器末端等设备,数据在FPGA芯片内通过单线路传输,当数据量较大时,通过CPU调节数据传输的先后顺序。然而,采用目前的数据传输系统和方法时,由于数据在FPGA芯片的片内总线接口传递过程中采用单线路传输,输入时钟频率较低,一般为100Mhz-200Mhz,但上行线路中功能模块较多;而输出时钟频率较高,一般为4Ghz,输入输出两端的时钟频率差较大。也就是说,上行数据传输速率较低,但上行功能模块较多,下行数据传输速率较高,造成上行功能模块频繁进入闲置状态,总线利用率低,数据传输效率低。
技术实现思路
本申请提供了一种基于FPGA的数据传本文档来自技高网...

【技术保护点】
1.一种基于FPGA的数据传输系统,其特征在于,所述数据传输系统包括:输入端数据接口(1)、虚拟通道管理模块(2)、多个虚拟通道(3)、仲裁模块(4)以及输出端数据接口(5);其中,所述虚拟通道管理模块(2),用于获取来自所述输入端数据接口(1)的数据包,并根据所述数据包的包头将不同的数据包分别存储到不同的虚拟通道(3)中,以及,读取所述虚拟通道(3)中的数据包并将所述数据包输出至所述仲裁模块(4);所述仲裁模块(4),用于对所述虚拟通道(3)的优先级进行仲裁,并根据所述虚拟通道(3)的优先级顺序将所述数据包传输至输出端数据接口(5)。

【技术特征摘要】
1.一种基于FPGA的数据传输系统,其特征在于,所述数据传输系统包括:输入端数据接口(1)、虚拟通道管理模块(2)、多个虚拟通道(3)、仲裁模块(4)以及输出端数据接口(5);其中,所述虚拟通道管理模块(2),用于获取来自所述输入端数据接口(1)的数据包,并根据所述数据包的包头将不同的数据包分别存储到不同的虚拟通道(3)中,以及,读取所述虚拟通道(3)中的数据包并将所述数据包输出至所述仲裁模块(4);所述仲裁模块(4),用于对所述虚拟通道(3)的优先级进行仲裁,并根据所述虚拟通道(3)的优先级顺序将所述数据包传输至输出端数据接口(5)。2.根据权利要求1所述一种基于FPGA的数据传输系统,其特征在于,所述虚拟通道管理模块(2)还用于,当不同数据包被存放至同一个虚拟通道(3)中时,对不同数据包添加唯一的ID;所述仲裁模块(4)还用于,根据数据包的ID,对同一个虚拟通道(3)中不同数据包的优先级进行仲裁,并根据数据包的优先级顺序进行数据传输。3.根据权利要求1所述一种基于FPGA的数据传输系统,其特征在于,所述数据传输系统中还包括有冗余虚拟通道,用于以循环使用的方式暂存数据包。4.根据权利要求3所述的一种基于FPGA的数据传输系统,其特征在于,所述虚拟通道管理模块(2)还用于,检测所述多个虚拟通道(3)的剩余存储空间,当所述多个虚拟通道(3)中任意一个虚拟通道的存储空间不足以继续存放数据包时,将所述任意一...

【专利技术属性】
技术研发人员:王凯
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1