[发明专利]一种基于FPGA的多路AXI总线的控制方法有效
申请号: | 202010653912.4 | 申请日: | 2020-07-08 |
公开(公告)号: | CN111814680B | 公开(公告)日: | 2023-09-26 |
发明(设计)人: | 江超 | 申请(专利权)人: | 上海雪湖科技有限公司 |
主分类号: | G06F13/24 | 分类号: | G06F13/24 |
代理公司: | 上海浙晟知识产权代理事务所(普通合伙) 31345 | 代理人: | 杨小双 |
地址: | 200050 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga axi 总线 控制 方法 | ||
1.一种基于FPGA的多路AXI总线的控制方法,其特征在于,将逻辑模块化,整个架构采用4根AXI总线和DDR产生数据交互,第一根AXI总线部署目标检测算法,即2D网络,包括图片数据、卷积计算模块和量化模块;
第二根AXI总线用来传输对应的权重数据,2D网络最终的计算结果通过第一根和第二根AXI总线写回DDR,完成整个数据的交互;
第三根AXI总线部署激光点云网络,即3D网络,3D网络的计算结果通过第三根AXI总线写回DDR,结果作为2D网络的输入;
第四根总线部署3D网络的前向计算,最终的结果由第四根DDR总线写回DDR内存,并且数据作为3D网络的输入;
具体方法如下:
首先arm将4帧图片数据放入由参数设置的DDR地址,并且把4次运行指令参数传入到第四根AXI总线上的出入栈模块,第4根线开始启动并进行相应的计算,模块输出由第四根AXI总线写回DDR,并且地址偏移4个buff,每当完成一个buff的数据产生一个中断信号通知第三根AXI总线启动3D计算模块,并且第四根AXI总线去读取第2个buff地址上的数据,继续自己的前向计算过程,第三根AXI总线从相应的地址读取前向计算好的数据,待全部计算完成写回DDR,产生一个中断信号通知第一和第二根AXI总线的2D模块启动,并且自己读取前向计算好后的第2个buff的数据进行3D网络的运算,当2D网络完成计算后,通过第一根和第二根AXI总线将数据写回相应的DDR地址,产生中断信号通知arm继续向FPGA传输运行指令参数和将原始数据放入相应的buff地址,此时四根AXI总线都在同时工作,当前向计算运行地帧率数据时,3D计算在运行第2帧率数据,而2D在计算第1帧数据,四根AXI总线以三级流水的方式并行计算。
2.根据权利要求1所述的一种基于FPGA的多路AXI总线的控制方法,其特征在于,每根所述AXI总线的输入端均设置一个出入栈模块,存储arm端通过写寄存器传输来的运行指令参数,每当有一帧数据运行指令存入栈内,内部的计数器就会加1。
3.根据权利要求1所述的一种基于FPGA的多路AXI总线的控制方法,其特征在于,每根所述AXI总线计算结束时均产生一个终止信号,表明所在的AXI总线运行结束,且将出入栈模块内存储的运行指令参数的计数器减1,当每根AXI总线的栈内模块运行指令参数完全为0时,表明所有的数据都运行完毕,整个程序结束。
4.根据权利要求1所述的一种基于FPGA的多路AXI总线的控制方法,其特征在于,所述控制方法将预先设定好的参数转换为二进制文件并输入进程序,需要偏移地址buffer的数量自行设置。
5.根据权利要求1所述的一种基于FPGA的多路AXI总线的控制方法,其特征在于,所述控制方法通过外部的参数控制,将AXI总线读取和写回预先设定好的DDR内存地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海雪湖科技有限公司,未经上海雪湖科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010653912.4/1.html,转载请声明来源钻瓜专利网。