说明:收录25万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210810981.0 (22)申请日 2022.07.11 (71)申请人 上海介方信息技 术有限公司 地址 200241 上海市闵行区紫星路58 8号2 幢3层320室 (72)发明人 常坤 吴二龙 高欣春  (74)专利代理 机构 上海恒慧知识产权代理事务 所(特殊普通 合伙) 31317 专利代理师 刘翠 (51)Int.Cl. G06F 9/54(2006.01) G06F 9/50(2006.01) G06F 9/48(2006.01) G06F 12/10(2016.01) G06F 13/40(2006.01)G06F 13/42(2006.01) (54)发明名称 基于共享内存机制的FPGA硬件抽象层设计 方法、 系统 (57)摘要 本发明提供了一种基于共享内存机制的 FPGA硬件抽象层设计方法及系统, 配置多个用于 软件组件数据输入/输出的MOCB端口, 并进行内 存空间分配, 得到多个内存空间, 每一个内存空 间指定一个逻辑地址; 对不同物理总线及I O接口 进行封装, 构建驱动适配接口; 构建地址映射表 和事件映射表, 实现对每一个内存空间的起始地 址与逻辑地址的映射和软件组件数据收发事件 的事件ID与逻辑地址的对应; 构建优先级仲裁 表, 根据逻辑地址的优先级对事件收发进行仲 裁, 并将高优 先级的逻辑地址所对应的事件通过 数据路由发送至逻辑地址 所指定的MOCB端口。 本 发明保证了数据的实时性和可靠性, 同时保证了 硬件抽象层能够 在不同平台进行移植。 权利要求书3页 说明书10页 附图8页 CN 115269221 A 2022.11.01 CN 115269221 A 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端口还 包括如下任意 一个或任意多个模块:权 利 要 求 书 1/3 页 2 CN 115269221 A 2流量统计模块, 该模块用于统计所述MOCB端口接收和发送的实时数据流 量; 数据校验 模块, 该模块用于校验所述MOCB端口 的数据完整性和正确性。 6.根据权利要求2 ‑5中任一项所述的基于共享内存机制的FPGA硬件抽象层设计方法, 其特征在于, 所述软件组件的数据收发, 包括如下三个过程: 所述软件组件将数据发送至所述MOCB端口 的发送缓冲区模块; 所述MOCB端口将所述发送缓冲区模块中的数据发送至物理总线; 所述软件组件接收来自其 他软件组件并需要通过 所述MOCB端口进行发送的数据。 7.根据权利要求6所述的基于共享内存机制的FPGA硬件抽象层设计方法, 其特征在于, 所述软件组件将数据发送至所述MOCB端口 的发送缓冲区模块, 包括: 所述软件组件启动发送数据时序, 通过所述MOCB端口传送所述发送缓冲区模块的内存 空间的起始地址信息; 检测所述发送缓冲区模块的内存空间大小, 当所述发送缓冲区模块的内存空间剩余空 间大于门限值时, 置流 量控制信号 为无效; 否则, 置流 量控制信号 为有效; 所述软件组件向所述发送缓冲区模块写入数据包, 并在发生写入错误时, 将所述发送 缓冲区模块的状态置为写入异常状态, 用于实时进行写入异常处 理; 当所述数据包写入完成后, 所述发送缓冲区模块的状态立即由空闲状态置为有待发送 数据状态; 重复上述 步骤, 直至 完成所述软件组件的所有数据发送。 8.根据权利要求6所述的基于共享内存机制的FPGA硬件抽象层设计方法, 其特征在于, 所述MOCB端口将所述发送缓冲区模块中的数据发送至物理总线, 包括: 等待发送数据请求, 所述发送缓冲区模块的状态为有待发送数据状态, 启动发送数据 到物理总线的时序; 解析待发送数据的起始地址信息, 根据所述地址映射表解析出目标逻辑地址, 生成优 先级请求信号; 根据所述优先级请求信号, 判断所述目标逻辑地址所对应的优先级级别, 将高优先级 的目标逻辑地址信息发送至所述数据路由, 并在发生发送错误时, 将所述发送缓冲区模块 的状态置为发送 异常状态, 用于实时进行发送 异常处理; 所述数据路由根据所述优先级信 息和所述目标逻辑地址信 息生成路由信 息, 切换所述 物理总线的接口到所述MOCB端口 的发送缓冲区模块之间的开关; 将所述MOCB端口的发送缓冲区模块中的数据包通过所述驱动适配接口发送至物理总 线上; 当一个完整的数据包发送完毕后, 发送预设定的事件信息到目标逻辑地址, 通知数据 发送完毕; 重复上述步骤, 当完成对所述发送缓冲区模块中所有待发送数据的发送时, 所述发送 缓冲区模块的状态置为空 闲状态。 9.根据权利要求6所述的基于共享内存机制的FPGA硬件抽象层设计方法, 其特征在于, 所述软件组件接收来自其 他软件组件并需要通过 所述MOCB端口进行发送的数据, 包括: 当所述软件组件接收到数据到达事件信号, 解析对应的逻辑地址及MOCB端口的接收缓 冲区模块的起始地址信息, 并启动响应事 件时序;权 利 要 求 书 2/3 页 3 CN 115269221 A 3

.PDF文档 专利 基于共享内存机制的FPGA硬件抽象层设计方法、系统

文档预览
中文文档 22 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共22页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 基于共享内存机制的FPGA硬件抽象层设计方法、系统 第 1 页 专利 基于共享内存机制的FPGA硬件抽象层设计方法、系统 第 2 页 专利 基于共享内存机制的FPGA硬件抽象层设计方法、系统 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:31:17上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。