本发明专利技术提出了一种option rom的加载方法和装置,基于外部SOC存储资源及计算能力,协助FPGA完成option rom加载的方法,当有option rom加载请求的时候,FPGA通过寄存器将请求的类型通知给外置的SOC,SOC收到请求后,读取请求的类型,并根据类型读取文件系统中对应类型的option rom文件,然后将其加载到FPGA内部的buffer中,接着写寄存器通知FPGA,buffer数据加载完成,FPGA收到buffer写完成标志,应答host cpu下发的option rom读请求以解决现有方法对FPGA内部资源消耗大的问题。方法对FPGA内部资源消耗大的问题。方法对FPGA内部资源消耗大的问题。
【技术实现步骤摘要】
一种option rom的加载方法和装置
[0001]本专利技术属于新兴信息
,特别涉及一种option rom的加载方法和装置。
技术介绍
[0002]智能网卡一般由FPGA逻辑及外置SOC两部分组成,智能网卡通过FPGA的PCIE连接host CPU,对host表现为一个存储控制器,网络控制器.为了支持host bios能够访问智能网卡,需要支持两类的option rom。同时为了兼容不同的cpu体系架构,option rom就需要至少六个(arm,x86,mips)。这么多的option rom存储在FPGA内部不仅占用了资源,也不便于option rom的动态更新。将option rom存储在外置SOC的文件系统中,当有option rom加载请求的时候,FPGA逻辑将请求通知给外置SOC,SOC读取文件系统的数据后写入FPGA内部buffer,然后传递给host cpu.这样即可以节约FPGA内部资源,又能实现option rom的灵活更新。
[0003]现有的实现方案,FPGA逻辑单独外置flash存储介质,用于存放不同类型的option rom。当有option rom请求的时候,FPGA逻辑根据不同的请求类型,读取flash内部不同区域的内容。
[0004]现有方法的缺点:
[0005]1)FPGA逻辑单独外置存储介质,没有充分利用soc的存储资源,内置对FPGA内部资源的消耗大。
[0006]2)FPGA为了访问存储介质,FPGA逻辑内部需要额外实现flash的读写控制逻辑。
[0007]3)FPGA逻辑还需要实现数据传输通道及控制逻辑,以便能够更新option rom。
[0008]本专利技术为解决上述问题,提出了一种option rom的加载方法和装置,通过利用外置SOC的存储资源及计算能力,用于协助FPGA逻辑完成option rom的加载,简化FPGA内部逻辑资源消耗,,节约FPGA的成本,同时实现option rom灵活的适配多种CPU架构的服务器,以及支持多类型option rom。
技术实现思路
[0009]考虑到上述问题,提出了本专利技术。
[0010]根据本专利技术一方面,提出了一种option rom的加载方法,该方法包括:
[0011]步骤1:host cpu发起option rom读请求;
[0012]步骤2:FPGA根据host请求的模块,区分读取的option rom的类型(net,blk),并将类型值与类型寄存器值比较,如果相同,则执行步骤4,如果不同,则将类型值写入类型寄存器并通知SOC;
[0013]步骤3:SOC上的软件收到通知后,读取FPGA option rom请求类型,并根据类型值从SOC的文件系统中读取相应的option rom文件,然后写入FPGA内部buffer,并将写完成标志写入FPGA寄存器;
[0014]步骤4:FPGA检查写完成标志后,将数据从buffer中读出并返回给host cpu。
[0015]本专利技术还提出一种option rom的加载装置,该装置包括:
[0016]请求模块:host cpu发起option rom读请求;
[0017]判断模块:FPGA根据host请求的模块,区分读取的option rom的类型(net,blk),并将类型值与类型寄存器值比较,如果相同,则执行步骤4,如果不同,则将类型值写入类型寄存器并通知SOC;
[0018]写入模块:SOC上的软件收到通知后,读取FPGA option rom请求类型,并根据类型值从SOC的文件系统中读取相应的option rom文件,然后写入FPGA内部buffer,并将写完成标志写入FPGA寄存器;
[0019]读出模块:FPGA检查写完成标志后,将数据从buffer中读出并返回给host cpu。
[0020]相对于现有技术,本申请具有如下有益效果:
[0021]1、充分利用了外置SOC的存储能力,FPGA内部不需要单独设置存储介质及访问flash的控制逻辑,节约了FPGA内部的资源。
[0022]2、本专利技术将option rom存储在外置CPU的文件系统中,能够灵活的进行option rom进行更新。
[0023]3、Soc与FPGA的交互机制容易实现资源消耗少,扩展性好
附图说明
[0024]通过结合附图对本专利技术实施例进行更详细的描述,本专利技术的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本专利技术实施例的进一步理解,并且构成说明书的一部分,与本专利技术实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
[0025]图1示出根据本专利技术一个实施例的option rom的加载装置示意图;
具体实施方式
[0026]为了使得本专利技术的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本专利技术的示例实施例。显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是本专利技术的全部实施例,应理解,本专利技术不受这里描述的示例实施例的限制。基于本专利技术中描述的本专利技术实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本专利技术的保护范围之内。
[0027]实施例一:
[0028]为了解决上文所述的问题,本专利技术提供了一种基于外部SOC存储资源及计算能力,协助FPGA完成option rom加载的方法。FPGA内部不再单独外置存储介质及对f存储介质的访问控制逻辑,当有option rom加载请求的时候,FPGA通过寄存器将请求的类型通知给外置的SOC,SOC收到请求后,读取请求的类型,并根据类型读取文件系统中对应类型的option rom文件,然后将其加载到FPGA内部的buffer中,接着写寄存器通知FPGA,buffer数据加载完成,FPGA收到buffer写完成标志,应答host cpu下发的option rom读请求。
[0029]该方法包括:
[0030]步骤1:host cpu发起option rom读请求;
[0031]步骤2:FPGA根据host请求的模块,区分读取的option rom的类型(net,blk),并将
类型值与类型寄存器值比较,如果相同,则执行步骤4,如果不同,则将类型值写入类型寄存器并通知SOC;
[0032]步骤3:SOC上的软件收到通知后,读取FPGA option rom请求类型,并根据类型值从SOC的文件系统中读取相应的option rom文件,然后写入FPGA内部buffer,并将写完成标志写入FPGA寄存器;
[0033]步骤4:FPGA检查写完成标志后,将数据从buffer中读出并返回给host cpu。
[0034]本专利技术提供的方法,FPGA内部不再单独外置存储介质及对存储介质的访问控制逻辑,当有option rom加载请求的时候,F本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种option rom的加载方法,该方法包括:步骤1:host cpu发起option rom读请求;步骤2:FPGA根据host请求的模块,区分读取的option rom的类型,并将类型值与类型寄存器值比较,如果相同,则执行步骤4,如果不同,则将类型值写入类型寄存器并通知SOC;步骤3:SOC上的软件收到通知后,读取FPGA option rom请求类型,并根据类型值从SOC的文件系统中读取相应的option rom文件,然后写入FPGA内部buffer,并将写完成标志写入FPGA寄存器;步骤4:FPGA检查写完成标志后,将数据从buffer中读出并返回给host cpu。2.一种o...
【专利技术属性】
技术研发人员:向和礼,
申请(专利权)人:天翼云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。