【技术实现步骤摘要】
基于共享内存机制的FPGA硬件抽象层设计方法、系统
[0001]本专利技术涉及电子装备
,具体地,涉及一种基于共享内存机制的FPGA硬件抽象层设计方法、系统,同时提供了一种相应的终端及介质。
技术介绍
[0002]异构嵌入式分布式系统中通常包括FPGA、GPP、DSP等异构资源,并且同一个系统的FPGA资源的处理器类型、对外通信的物理总线(如PCIE、SRIO、EMIF等)存在差异。为了保证软件组件在不同FPGA上的可移植性,采用MOCB硬件抽象层设计技术,通过引入中间层软件屏蔽底层物理接口的差异性。MOCB是一个接口规范,并未规定硬件抽象层的实现细节。然而,现有的MOCB硬件抽象层设计技术无法满足高实时(时延、抖动、吞吐量等)、高可靠的应用需求,从而导致复杂高实时高可靠系统的软件难以组件化,不能在各个平台之间移植。
技术实现思路
[0003]本专利技术针对现有技术中存在的上述不足,提供了一种基于共享内存机制的FPGA硬件抽象层设计方法,同时提供了一种相应的终端及介质。
[0004]根据本专利技术的一个方面,提供了一种基于共享内存机制的FPGA硬件抽象层设计方法,包括:
[0005]根据应用的需求,配置多个用于软件组件数据输入/输出的MOCB端口,对每一个所述MOCB端口进行内存空间分配,得到多个内存空间,其中每一个所述内存空间指定一个逻辑地址;
[0006]对不同物理总线及IO接口进行封装,构建驱动适配接口;
[0007]建立所述MOCB端口与所述驱动适配接口之 ...
【技术保护点】
【技术特征摘要】
1.一种基于共享内存机制的FPGA硬件抽象层设计方法,其特征在于,包括:根据应用的需求,配置多个用于软件组件数据输入/输出的MOCB端口,对每一个所述MOCB端口进行内存空间分配,得到多个内存空间,其中每一个所述内存空间指定一个逻辑地址;对不同物理总线及IO接口进行封装,构建驱动适配接口;建立所述MOCB端口与所述驱动适配接口之间的数据路由;构建地址映射表和事件映射表;基于所述地址映射表,对每一个所述内存空间的起始地址信息进行转换,并将所述起始地址信息映射至所述逻辑地址;基于所述事件映射表,将软件组件的数据收发事件的事件ID与所述逻辑地址相对应;构建优先级仲裁表,根据所述优先级仲裁表中逻辑地址的优先级对所述软件组件的数据收发事件的收发进行仲裁,并将高优先级的逻辑地址所对应的数据通过所述数据路由发送至所述逻辑地址所指定的MOCB端口,完成对FPGA硬件抽象层的构建。2.根据权利要求1所述的基于共享内存机制的FPGA硬件抽象层设计方法,其特征在于,所述MOCB端口包括:发送缓冲区模块、接收缓冲区模块、事件多路复用寄存器模块和流量控制模块;其中:所述发送缓冲区模块,用于暂存来自所述软件组件待发送的数据,并依据先进先出的原则依次进行数据发送;所述接收缓冲区模块,用于暂存需要发送至所述软件组件的数据,并依据先进先出的原则依次将数据发送给所述软件组件;所述事件多路复用寄存器模块,用于存储多个事件,每个事件对应唯一的事件ID,每个事件ID包括若干个子事件;所述流量控制模块,用于控制所述接收缓冲区模块和所述发送缓冲区模块的流量,当所述发送缓冲区模块和/或所述接收缓冲区模块的剩余空间低于设定的门限值时,触发流量控制信号,停止缓冲区模块接收新数据;和/或所述驱动适配接口包括:数据通道接口、事件通道接口、射频控制接口及管理通道接口。3.根据权利要求2所述的基于共享内存机制的FPGA硬件抽象层设计方法,其特征在于,所述地址映射表实现所述逻辑地址与所述发送缓冲区模块和所述接收缓冲区模块的内存空间的起始地址之间的映射,包括索引、逻辑地址和起始地址字段;对所述发送缓冲区模块和所述接收缓冲区模块的内存空间分配由所述软件组件确定。4.根据权利要求2所述的基于共享内存机制的FPGA硬件抽象层设计方法,其特征在于,所述事件映射表实现所述事件多路复用寄存器模块与子事件之间的对应,包括:事件ID、逻辑地址、偏移量及字节数n字段;所述事件多路复用寄存器模块的每一位对应一个子事件;所述事件多路复用寄存器模块的长度为字节的整数倍;所述事件多路复用寄存器模块的大小由所述事件映射表中的字节数n指定。5.根据权利要求2所述的基于共享内存机制的FPGA硬件抽象层设计方法,其特征在于,所述MOCB端口还包括如下任意一个或任意多个模块:
流量统计模块,该模块用于统计所述MOCB端口接收和发送的实时数据流量;数据校验模块,该模块用于校验所述MOCB端口的数据完整性和正确性。6.根据权利要求2
‑
5中任一项所述的基于共享内存机制的FPGA硬件抽象层设计方法,其特征在于,所述软件组件的数据收发,包括如下三个过程:所述软件组件将数据发送至所述MOCB端口的发送缓冲区模块;所述MOCB端口将所述发送缓冲区模块中的数据发送至物理总线;所述软件组件接收来自其他软件组件并需要通过所述MOCB端口进行发送的数据。7.根据权利要求6所述的基于共享内存机制的FPGA硬件抽象层设计方法,其特征在于,所述软件组件将数据发送至所述MOCB端口的发送缓冲区模块,包括:所述软件组件启动发送数据时序,通过所述MOCB端口传送所述发送缓冲区模块的内存空间的起始地址信息;检测所述发送缓冲区模块的内存空间大小,当所述发送缓冲区模块的内存空间剩余空间大于门限值时,置流量控制信号为无效;否则,置流量控制信号为有效;所述软件组件向所述发送缓冲区模块写入数据包,并在发生写入错...
【专利技术属性】
技术研发人员:常坤,吴二龙,高欣春,
申请(专利权)人:上海介方信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。