[发明专利]一种基于FPGA的多任务处理系统及方法有效
申请号: | 201910251092.3 | 申请日: | 2019-03-29 |
公开(公告)号: | CN110083461B | 公开(公告)日: | 2021-09-24 |
发明(设计)人: | 苏庆会;吴世勇;王斌;李银龙;杨光;余军;武元杰;王凯霖;徐诺 | 申请(专利权)人: | 郑州信大捷安信息技术股份有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/50;G06F13/28 |
代理公司: | 郑州德勤知识产权代理有限公司 41128 | 代理人: | 黄红梅;黄军委 |
地址: | 450000 河南省*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga 任务 处理 系统 方法 | ||
1.一种基于FPGA的多任务处理系统,其特征在于,包括:FPGA芯片、主机和PCIE接口,所述PCIE接口连接FPGA芯片和主机,并在FPGA芯片与主机之间构建多个虚拟通道;
所述FPGA芯片,包括:DMA模块、通道任务分配器、任务处理器及通道任务收集器;
所述DMA模块,通过多个虚拟通道与所述主机进行数据交换,并对不同虚拟通道读/写请求按照预定的优先级关系进行控制;
所述通道任务分配器,用于接收各个虚拟通道的数据包并将其分配给任务处理器;
所述任务处理器,包括多个处理单元,多个处理单元分别接收由所述通道任务分配器分配得到的数据包并进行处理;
所述通道任务收集器,用于收集任务处理器处理过的数据包并将其按照预定的规则分配至对应的虚拟通道;
多个虚拟通道分别对应多个不同的用户设备、功能需求,通道任务分配器根据数据包的任务处理需求,将其分配至对应的处理单元。
2.根据权利要求1所述的一种基于FPGA的多任务处理系统,其特征在于,所述主机包括:多个主机发送缓冲区和多个主机接收缓冲区,且多个主机发送缓冲区、多个主机接收缓冲区及多个虚拟通道一一对应;
多个主机发送缓冲区,分别用于缓存待传输至FPGA芯片未处理的数据包;
多个主机接收缓冲区,分别用于接收经由FPGA芯片处理过的数据包。
3.根据权利要求2所述的一种基于FPGA的多任务处理系统,其特征在于,所述FPGA芯片还包括:多个虚拟通道命令字FIFO,且多个虚拟通道命令字FIFO与多个虚拟通道、多个主机发送缓冲区一一对应;
多个虚拟通道命令字FIFO,分别用于指示DMA模块在对应的主机发送缓冲区中是否存在需要传输的数据包。
4.根据权利要求1所述的一种基于FPGA的多任务处理系统,其特征在于,所述FPGA芯片还包括:多个FPGA接收缓冲区和多个FPGA发送缓冲区,且多个FPGA接收缓冲区、多个FPGA发送缓冲区及多个虚拟通道一一对应;
多个FPGA接收缓冲区,用于接收DMA模块传输的数据包并进行缓存处理,以等待通道任务分配器读取;
多个FPGA发送缓冲区,用于接收通道任务收集器传输的数据包并进行缓存处理,以等待DMA模块读取。
5.根据权利要求4所述的一种基于FPGA的多任务处理系统,其特征在于,所述FPGA芯片还包括:多个虚拟通道状态字FIFO,且多个虚拟通道状态字FIFO与多个虚拟通道、多个FPGA发送缓冲区一一对应;
多个虚拟通道状态字FIFO,分别用于指示DMA模块在对应的FPGA发送缓冲区中是否存在需要传输的数据包。
6.根据权利要求1所述的一种基于FPGA的多任务处理系统,其特征在于,所述FPGA芯片还包括:多个接收发送基地址寄存器组,且多个接收发送基地址寄存器组与多个虚拟通道一一对应;
多个接收发送基地址寄存器组,分别用于存放多个主机发送缓冲区和多个主机接收缓冲区的基地址。
7.根据权利要求6所述的一种基于FPGA的多任务处理系统,其特征在于,多个接收发送基地址寄存器组采用指示寄存器、发送数据基地址和接收数据基地址相结合的方法,以完成对寄存器组的赋值。
8.根据权利要求1-7任意一项所述的一种基于FPGA的多任务处理系统,其特征在于,每个虚拟通道支持多任务叠加传输,即每个虚拟通道中有不同任务类型的数据包。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州信大捷安信息技术股份有限公司,未经郑州信大捷安信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910251092.3/1.html,转载请声明来源钻瓜专利网。