一种FPGA动态局部重配置方法技术

技术编号:38389985 阅读:10 留言:0更新日期:2023-08-05 17:43
本发明专利技术公开了一种FPGA动态局部重配置方法,包括:获取静态功能文件和预期功能文件;根据静态功能文件和预期功能文件,通过划分软件在FPGA上划分出静态区域、具有第一复位引脚的第一动态区域和具有第二复位引脚的第二动态区域,得到第一动态区域的第一比特数据文件和第二动态区域的第二比特数据文件,第一比特数据文件和第二比特数据文件均包含静态区域的比特数据文件;根据第一比特数据文件和第二比特数据文件,确定基础比特数据文件和局部重配置比特数据文件;通过FPGA的配置接口将基础比特数据文件和局部重配置比特数据文件加载至FPGA,根据连接至外部控制设备的第一复位引脚和第二复位引脚,以及FPGA的Nconfig引脚,对FPGA进行静态功能和不同动态功能的配置。FPGA进行静态功能和不同动态功能的配置。FPGA进行静态功能和不同动态功能的配置。

【技术实现步骤摘要】
一种FPGA动态局部重配置方法


[0001]本专利技术属于FPGA
,具体涉及一种FPGA动态局部重配置方法。

技术介绍

[0002]随着现场可编程门阵列(Field

Programmable Gate Array,FPGA)的不断发展,其内部资源不断增加,FPGA的重配置方式不再局限于静态重配置,动态局部重配置方式在如今科技高速发展的大数据时代更具有实际意义。早期由于FPGA芯片内部资源的限制,在实现较大规模的功能后基本没有剩余的外部IO和内部LUT(Look Up Table)等资源用于产品升级或者更替的功能设计空间,只能通过芯片停止工作后重新配置进行功能的替换或添加。而动态局部重配置功能在规模较大FPGA芯片中可以保持其在部分功能正常工作的前提下更新其中某部分功能,起到分时复用、充分发挥FPGA内部资源的作用。目前,基于FPGA动态局部重配置功能研发的产品已广泛应用于软件无线电、数据处理中心和航天航空等领域。
[0003]由此可见,FPGA动态局部重配置功能已经是FPGA芯片中的重要组成部分。目前,在FPGA领域中支持动态局部重配置的厂商有xilinx和intel,其配置流程主要思想基本一致。但是,xilinx和intel的FPGA动态局部重配置过程具有以下局限性:(1)xilinx和intel都是人工先添加合适的约束条件对各种重配置模块进行综合,使其尽可能分布在较小的区域内才能充分利用资源,这就需要开发者对FPGA的内部资源布局有充分的了解,具有一定的局限性。
[0004](2)xilinx在控制传输局部配置bitstream文件时不支持Master模式,这是由于Master模式在重配置时会清空配置数据。虽然其支持从内部存储读取数据,但内部存储容量有限,不能存储多种可能性的局部配置bitstream文件。Intel虽然支持从外部存储读取局部配置bitstream文件,但是需通过其内部的局部配置控制器的固定接口,而不是FPGA已有的Master模式的接口。这对于读取bitstream文件进行重配置而言受到限制,只能通过其他途径解决。
[0005](3)xilinx和intel在控制传输局部配置bitstream文件时都设计了独立管理接口或者局部控制IP,使用较为复杂,并没有充分发挥FPGA已有配置接口的作用。

技术实现思路

[0006]为了解决相关技术中存在的上述问题,本专利技术提供了一种FPGA动态局部重配置方法。本专利技术要解决的技术问题通过以下技术方案实现:本专利技术提供一种FPGA动态局部重配置方法,包括:获取用于表征FPGA的静态功能的静态功能文件,以及用于至少表征FPGA的第一动态功能和FPGA的第二动态功能的预期功能文件;所述第一动态功能和所述第二动态功能共享FPGA的部分逻辑资源;根据所述静态功能文件和所述预期功能文件,通过划分软件在FPGA上为所述静态
功能划分静态区域、为所述第一动态功能划分第一动态区域,为所述第二动态功能划分第二动态区域,得到所述第一动态区域的第一比特数据文件,所述第二动态区域的第二比特数据文件;所述第一比特数据文件和所述第二比特数据文件包含所述静态区域对应的比特数据文件;所述第一动态区域具有第一复位引脚;所述第二动态区域具有第二复位引脚;根据所述第一比特数据文件和所述第二比特数据文件,确定基础比特数据文件和局部重配置比特数据文件;通过FPGA的配置接口将所述基础比特数据文件和所述局部重配置比特数据文件加载至FPGA,根据连接至外部控制设备的所述第一复位引脚和所述第二复位引脚,以及FPGA的Nconfig引脚,对FPGA进行所述静态功能的配置,以及所述第一动态功能和所述第二动态功能的重配置。
[0007]在一些实施例中,所述根据所述第一比特数据文件和所述第二比特数据文件,确定基础比特数据文件和局部重配置比特数据文件,包括:将所述第一比特数据文件作为基础比特数据文件,对比所述第二比特数据文件与所述基础比特数据文件之间的比特数据差异,将所述比特数据差异作为所述局部重配置比特数据文件;或,将所述第二比特数据文件作为所述基础比特数据文件,对比所述第一比特数据文件与所述基础比特数据文件之间的比特数据差异,将所述比特数据差异作为所述局部重配置比特数据文件。
[0008]在一些实施例中,用于加载所述基础比特数据文件的FPGA的配置接口包括:Slave模式中具有读写数据功能的接口、Slave模式中没有读写数据功能的接口或Master模式中的任一接口;用于加载所述局部重配置比特数据文件的FPGA的配置接口包括:Slave模式中具有读写数据功能的接口、Slave模式中没有读写数据功能的接口、Master模式中的任一接口或用户模式中具有读写数据功能的接口。
[0009]在一些实施例中,所述通过FPGA的配置接口将所述基础比特数据文件和所述局部重配置比特数据文件加载至FPGA,根据连接至外部控制设备的所述第一复位引脚和所述第二复位引脚,以及FPGA的Nconfig引脚,对FPGA进行所述静态功能的配置,以及所述第一动态功能和所述第二动态功能的重配置,包括:通过FPGA的第一配置接口将所述基础比特数据文件加载至FPGA,根据所述基础比特数据文件对FPGA进行所述静态功能和基础动态功能的配置,在配置成功后FPGA运行所述静态功能和所述基础动态功能;所述基础动态功能为所述第一动态功能或所述第二动态功能;当需要配置目标动态功能时,通过FPGA的第二配置接口将所述局部重配置比特数据文件加载至FPGA,根据所述局部重配置比特数据文件、连接至外部控制设备的所述第一复位引脚和所述第二复位引脚,以及FPGA的Nconfig引脚,对所述目标动态功能进行配置,在配置完成后FPGA运行所述目标动态功能;所述目标动态功能是所述第一动态功能和所述第二动态功能中,除所述基础动态功能之外的动态功能;所述第二配置接口与所述第一配置接口相同或不同。
[0010]在一些实施例中,所述通过FPGA的第一配置接口将所述基础比特数据文件加载至FPGA,根据所述基础比特数据文件对FPGA进行所述静态功能和基础动态功能的配置,在配
置成功后FPGA运行所述静态功能和所述基础动态功能,包括:通过外部输入设备向FPGA配置外部存储设备的第一存储地址;所述第一存储地址用于存储所述基础比特数据文件;通过FPGA的Master模式中的任一接口或Slave模式中没有读写数据功能的接口,从所述第一存储地址加载所述基础比特数据文件至FPGA,根据所述基础比特数据文件进行所述静态功能和基础动态功能的配置,在配置成功后FPGA运行所述静态功能和所述基础动态功能,并进入用户模式。
[0011]在一些实施例中,所述通过FPGA的第一配置接口将所述基础比特数据文件加载至FPGA,根据所述基础比特数据文件对FPGA进行所述静态功能和基础动态功能的配置,在配置成功后FPGA运行所述静态功能和所述基础动态功能,包括:通过Slave模式中具有读写数据功能的接口,从存储所述基础比特数据文件的外部主机处加载所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种FPGA动态局部重配置方法,其特征在于,包括:获取用于表征FPGA的静态功能的静态功能文件,以及用于至少表征FPGA的第一动态功能和FPGA的第二动态功能的预期功能文件;所述第一动态功能和所述第二动态功能共享FPGA的部分逻辑资源;根据所述静态功能文件和所述预期功能文件,通过划分软件在FPGA上为所述静态功能划分静态区域、为所述第一动态功能划分第一动态区域,为所述第二动态功能划分第二动态区域,得到所述第一动态区域的第一比特数据文件,所述第二动态区域的第二比特数据文件;所述第一比特数据文件和所述第二比特数据文件包含所述静态区域对应的比特数据文件;所述第一动态区域具有第一复位引脚;所述第二动态区域具有第二复位引脚;根据所述第一比特数据文件和所述第二比特数据文件,确定基础比特数据文件和局部重配置比特数据文件;通过FPGA的配置接口将所述基础比特数据文件和所述局部重配置比特数据文件加载至FPGA,根据连接至外部控制设备的所述第一复位引脚和所述第二复位引脚,以及FPGA的Nconfig引脚,对FPGA进行所述静态功能的配置,以及所述第一动态功能和所述第二动态功能的重配置。2.根据权利要求1所述的FPGA动态局部重配置方法,其特征在于,所述根据所述第一比特数据文件和所述第二比特数据文件,确定基础比特数据文件和局部重配置比特数据文件,包括:将所述第一比特数据文件作为基础比特数据文件,对比所述第二比特数据文件与所述基础比特数据文件之间的比特数据差异,将所述比特数据差异作为所述局部重配置比特数据文件;或,将所述第二比特数据文件作为所述基础比特数据文件,对比所述第一比特数据文件与所述基础比特数据文件之间的比特数据差异,将所述比特数据差异作为所述局部重配置比特数据文件。3.根据权利要求1所述的FPGA动态局部重配置方法,其特征在于,用于加载所述基础比特数据文件的FPGA的配置接口包括:Slave模式中具有读写数据功能的接口、Slave模式中没有读写数据功能的接口或Master模式中的任一接口;用于加载所述局部重配置比特数据文件的FPGA的配置接口包括:Slave模式中具有读写数据功能的接口、Slave模式中没有读写数据功能的接口、Master模式中的任一接口或用户模式中具有读写数据功能的接口。4.根据权利要求1或3所述的FPGA动态局部重配置方法,其特征在于,所述通过FPGA的配置接口将所述基础比特数据文件和所述局部重配置比特数据文件加载至FPGA,根据连接至外部控制设备的所述第一复位引脚和所述第二复位引脚,以及FPGA的Nconfig引脚,对FPGA进行所述静态功能的配置,以及所述第一动态功能和所述第二动态功能的重配置,包括:通过FPGA的第一配置接口将所述基础比特数据文件加载至FPGA,根据所述基础比特数据文件对FPGA进行所述静态功能和基础动态功能的配置,在配置成功后FPGA运行所述静态功能和所述基础动态功能;所述基础动态功能为所述第一动态功能或所述第二动态功能;当需要配置目标动态功能时,通过FPGA的第二配置接口将所述局部重配置比特数据文件加载至FPGA,根据所述局部重配置比特数据文件、连接至外部控制设备的所述第一复位
引脚和所述第二复位引脚,以及FPGA的Nconfig引脚,对所述目标动态功能进行配置,在配置完成后FPGA运行所述目标动态功能;所述目标动态功能是所述第一动态功能和所述第二动态功能中,除所述基础动态功能之外的动态功能;所述第二配置接口与所述第一配置接口相同或不同。5.根据权利要求4所述的FPGA动态局部重配置方法,其特征在于,所述通过FPGA的第一配置接口将所述基础比特数据文件加载至FPGA,根据所述基础比特数据文件对FPGA进行所述静态功能和基础动态功能的配置,在配置成功后FPGA运行所述静态功能和所述基础动态功能,包括:通过外部输入设备向FPGA配置外部存储设备的第一存储地址;所述第一存储地址用于存储所述基础比特数据文件;通过FPGA的Master模式中的任一接口或Slave模式中没有读写数据功能的接口,从所述第一存储地址加载所述基础比特数据文件至FPGA,根据所述基础比特数据文件进行所述静态功能和基础动态功能的配置,在配置成功后FPGA运行所述静态功能...

【专利技术属性】
技术研发人员:彭利泽付邵东贾红韦嶔张红荣
申请(专利权)人:西安智多晶微电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1