[发明专利]一种基于FPGA的多核CPU实现方法及相关装置有效
申请号: | 201811032503.1 | 申请日: | 2018-09-05 |
公开(公告)号: | CN109144732B | 公开(公告)日: | 2022-02-11 |
发明(设计)人: | 王帅;孙同波;康萌萌 | 申请(专利权)人: | 合肥英睿系统技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 230012 安徽省合*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga 多核 cpu 实现 方法 相关 装置 | ||
本发明公开了一种基于FPGA的多核CPU实现方法,通过利用Qsys添加预设个数的nios处理器,使多个nios处理器均作为CPU,并为每个nios处理器指定单独运行的内存后,启动所有的CPU,从而实现使FPGA中搭载多核CPU,进而可以使FPGA的通用计算能力得到大大增强。本申请还提供了一种基于FPGA的多核CPU实现系统、装置及CPU可读存储介质,同样可以实现上述技术效果。
技术领域
本发明涉及FPGA技术领域,更具体地说,涉及一种基于FPGA的多核CPU实现方法、系统、装置及CPU可读存储介质。
背景技术
FPGA(Field-Programmable Gate Array,现场可编程门阵列)是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA可以实现高速数字电路进行专用计算,也可以片内搭载软核CPU完成各种通用计算,但是软核CPU性能较弱,通常无法实现大数据量的实时运算。
因此,如何提FPGA通用计算能力,是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种基于FPGA的多核CPU实现方法、系统、装置及CPU可读存储介质,以解决如何提FPGA通用计算能力的问题。
为实现上述目的,本发明实施例提供了如下技术方案:
一种基于FPGA的多核CPU实现方法,包括:
利用FPGA的Qsys添加预设个数的nios处理器;将所述nios处理器作为CPU;
为每一个所述CPU分配独立运行的内存;
启动所有所述CPU。
其中,所述为每一个所述CPU分配独立运行的内存之后,还包括:
为所有所述CPU建立共用资源区。
其中,所述为所有所述CPU建立共用资源区之后,还包括:
为所述共用资源区添加与每个所述CPU对应的资源互斥器。
其中,所述启动所有所述CPU,包括:
当所述CPU的运行内存为片上RAM时,将每个所述CPU的elf文件集成至所述FPGA的sof文件;
通过加载所述sof文件启动所有所述CPU。
其中,所述启动所有所述CPU,包括:
在所有所述CPU中确定一个主CPU;
启动所述主CPU;
将所有非主CPU进行复位;
利用所述主CPU将每个非主CPU的elf文件从flash中转存至对应的每个非主CPU的运行内存;
取消所有非主CPU的复位,并加载启动每个非主CPU的elf文件,以完成非主CPU的启动。
本申请还提供了一种基于FPGA的多核CPU实现系统,包括:
添加模块,用于利用FPGA的Qsys添加预设个数的nios处理器;将所述nios处理器作为CPU;
分配模块,用于为每一个所述CPU分配独立运行的内存;
启动模块,用于启动所有所述CPU。
其中,所述启动模块,包括:
集成单元,用于当所述CPU的运行内存为片上RAM时,将每个所述CPU的elf文件集成至所述FPGA的sof文件;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥英睿系统技术有限公司,未经合肥英睿系统技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811032503.1/2.html,转载请声明来源钻瓜专利网。