【技术实现步骤摘要】
一种PFGA通用DAMIP核
本专利技术属于DAMIP核
,特别涉及一种PFGA通用DAMIP核。
技术介绍
DMA(DirectMemoryAccess,直接内存访问)是目前主机与板卡之间最重要的数据交换手段,尤其是目前流行的、需要主机与外设进行大量的数据交换的高速通讯卡和数据加速卡,因此DMA是底层通讯必需的重要基础功能。现有的数据交换方式有如下几种:1、传统的低速的数据交换方式:往往通过IO读取的方式,这种方式,效率及其低下,因为每次发送的数据量小,例如8bytes,而且每次发送都要占用CPU的时间,极其浪费主机资源,因此只适合小数据,不频繁访问的场合。2、BlockDMA方式:主机会事先把主机的一段物理连续地址分配好,然后把这个地址通过寄存器读写方式告知板卡,板卡然后会主动发起DMA读写,来实现高速数据交换功能。这种方式优点是可以单次实现比较大的数据交换功能,但由于有必需是连续物理地址的存储条件的限制,因此无法单次实现大量的数据传输。只能等上次的数据处理完后才发送下一段的地址来传输,需要CPU的多次参与,无法最大限度的利用高速带宽的优势。3、Scatter-gatherDMA分散聚集传输方式:主机会先把数据的存储空间里面的每一段连续物理地址端的起始地址以及长度信息记录下来,组成一个链表。然后把这个链表信息通过寄存器读写方式告知板卡,剩下的工作都是由板卡来处理的,板卡会通过获得的链表信息来自动发起多次DMA传输。每次处理完一段连续的物理地址数据后,会自动处理下一段连续的物理 ...
【技术保护点】
1.一种PFGA通用DMAIP核,其特征在于,包括如下部分:/nPCIEIP核接口模块(1),被配置为为硬件平台提供IP核接口;/n标准数据转换模块(2),被配置为将所述PCIEIP核接口模块(1)的接口协议转换为标准接口协议;/nDMA引擎处理模块(3),被配置为将PCIE的标准TLP协议翻译为四种不同的TLP类型,包括将PC读写寄存器请求翻译成RXR数据、将PC返回FPGA的读请求翻译成RXC数据、将FPGA发起对PC的读写请求翻译成TXR数据以及将FPGA返回PC的读请求翻译成TXC数据;/nDMA数据分析控制模块(4),被配置为对TLP的CPLD数据进行分析、分类,根据类型不同分别为每个所述CPLD数据赋予一个SG读描述符或SG写描述符,并将所述CPLD数据分别发送给各个通道,所述CPLD数据包括所述PC读写寄存器请求以及所述将PC返回FPGA的读请求;每个所述通道发送的TLP指令通过轮询复用的方式发送到所述DMA引擎处理模块(3);/n通道数据处理模块(5),每个所述通道数据处理模块(5)被配置为处理一个所述通道中的所述CPLD数据中的SG描述符读写、用户主数据读写、SG描述 ...
【技术特征摘要】
1.一种PFGA通用DMAIP核,其特征在于,包括如下部分:
PCIEIP核接口模块(1),被配置为为硬件平台提供IP核接口;
标准数据转换模块(2),被配置为将所述PCIEIP核接口模块(1)的接口协议转换为标准接口协议;
DMA引擎处理模块(3),被配置为将PCIE的标准TLP协议翻译为四种不同的TLP类型,包括将PC读写寄存器请求翻译成RXR数据、将PC返回FPGA的读请求翻译成RXC数据、将FPGA发起对PC的读写请求翻译成TXR数据以及将FPGA返回PC的读请求翻译成TXC数据;
DMA数据分析控制模块(4),被配置为对TLP的CPLD数据进行分析、分类,根据类型不同分别为每个所述CPLD数据赋予一个SG读描述符或SG写描述符,并将所述CPLD数据分别发送给各个通道,所述CPLD数据包括所述PC读写寄存器请求以及所述将PC返回FPGA的读请求;每个所述通道发送的TLP指令通过轮询复用的方式发送到所述DMA引擎处理模块(3);
通道数据处理模块(5),每个所述通道数据处理模块(5)被配置为处理一个所述通道中的所述CPLD数据中的SG描述符读写、用户主数据读写、SG描述符回写、中断指令以及用户接口实现;
所述DMA数据分析控制模块(4)与所述通道数据处理模块(5)对所述SG读描述符和所述SG写描述符的处理过程构成硬件描述闭环以及软件驱动描述符闭环。
2.如权利要求1所述的PFGA通用DMAIP核,其特征在于,所述DMA引擎处理模块(3)包括如下部分:
数据接收单元,被配置为接收所述标准数据转换模块(2)发送的数据,并将所述数据翻译成RXR数据或RXC数据,分别发送给所述DMA数据分析控制模块(4)进行处理;
数据发送单元,被配置为接收所述DMA数据分析控制模块(4)发送的数据,并将所述数据翻译成TXR数据或TXC数据,并发送给所述标准数据转换模块(2),最终由所述标准数据转换模块(2)发送到PCIE发送数据总线上。
3.如权利要求2所述的PFGA通用DAMIP核,其特征在于,所述数据接收单元包括如下部分:
RX接收数据引擎(31),被配置为接收所述标准数据转换模块(2)发送的CPLD数据;
RXR翻译子模块(32),被配置为将所述CPLD数据中的所述PC读写寄存器请求翻译成RXR数据,并发送给所述DMA数据分析控制模块(4);
RXC翻译子模块(33),被配置为将所述CPLD数据中的所述PC返回FPGA的读请求翻译成RXC数据,并发送给所述DMA数据分析控制模块(4)。
4.如权利要求2所述的PFGA通用DAMIP核,其特征在于,所述数据发送单元包括如下部分:
TXR翻译子模块(34),被配置为将所述DMA数据分析控制模块(4)发送的所述FPGA发起的对PC的读写请求翻译成TXR数据;
TXC翻译子模块(35),被配置为将所述DMA数据分析控制模块(4)发送的所述FPGA返回PC的读请求翻译成TXC数据;
分时复用子模块(36),被配置为将所述TXR数据和所述TXC数据发送给TX发送数据引擎(37);
TX发送数据引擎(37),被配置为接收所述TXR数据和所述TXC数据并进一步发送给所述标准数据转换模块(2)。
5.如权利要求1所述的PFGA通用DAMIP核,其...
【专利技术属性】
技术研发人员:不公告发明人,
申请(专利权)人:北京光润通科技发展有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。