掌桥专利:专业的专利平台
掌桥专利
首页

基于异构多核SOC处理器SCA波形动态局部重配置的方法及装置

文献发布时间:2023-06-19 19:38:38


基于异构多核SOC处理器SCA波形动态局部重配置的方法及装置

技术领域

本发明涉及多核处理器技术领域,更具体的,涉及一种基于异构多核SOC处理器SCA波形动态局部重配置的方法及装置。

背景技术

美国联合战术无线电系统(Joint Tactical Tadio System,JTRS)联合项目办公室(Joint Program Executive Office,JPEO)发布了软件通信体系结构(SoftwareCommunications Architecture,SCA),旨在为了将硬件平台、软件技术和通信技术按需配置成不同功能的通信系统。SCA使用了面向对象的设计方法定义了一个开放式体系框架,提出了将无线电硬件平台上运行的波形应用程序进行实例化、配置和管理的标准化方法。SCA将波形软件与特定平台软件和硬件解耦,将不同的软件波形运行在通用的硬件平台上来实现不同的通信设备,促进了波形软件的重用,并且最大限度降低了开发成本,可以有效提高通信系统的灵活性、通用性、可重构性和互操作性。因此,对于运行在FPGA器件上的波形来说,可动态、快速切换部署FPGA程序功能是实现软件无线电设备的重要技术指标,充分体现了软件无线电多套波形运行于一个硬件平台的能力。

FPGA具备可编程配置和并行计算的特点,通常在软件无线电设备中用来完成物理层的硬件接口配置、快速的处理算法、不同调制方式的调制和解调、数字变频与编解码处理。但是,由于目前软件无线电设备切换FPGA程序都是更换整个FPGA程序,这导致切换FPGA程序耗时长。而且在FPGA程序开发过程中,更改局部模块功能需要重新编译综合整个FPGA工程,增加了开发调试时间,不利于软件功能的移植。

发明内容

本发明为了解决以上现有技术中存在的不足与缺陷的问题,提供了一种基于异构多核SOC处理器SCA波形动态局部重配置的方法及装置,其提高FPGA软件开发调试效率,减少软件无线电设备动态加载FPGA程序的时间,加快设备加载切换SCA波形的速度,减少FPGA内部资源消耗和降低功耗。

为实现上述本发明目的,采用的技术方案如下:

一种基于异构多核SOC处理器SCA波形动态局部重配置的方法,所述的方法步骤如下:

S1:分别编写FPGA侧的固定接口功能模块的HDL代码、和动态局部重配置功能模块的HDL代码,并根据对应的HDL代码综合生成FPGA侧固定接口功能模块的网表文件、和动态局部重配置功能模块的网表文件;

S2:分别对FPGA上固定接口功能模块、和动态局部重配置功能模块进行分区和分配FPGA资源,并根据对应的分区和分配FPGA资源分别创建固定接口功能模块和动态局部重配置功能模块的时序约束文件;

S3:利用相应的网表文件、时序约束文件对固定接口功能模块、和动态局部重配置功能模块的各分区进行布局布线配置;基于对应的布局布线生成固定接口功能模块的全局比特文件、和动态局部重配置功能模块的局部比特文件;

S4:异构多核SOC处理器上电启动后,通过异构多核SOC处理器上ARM处理器与FPGA之间的接口下载全局比特文件;在切换SCA波形时,选择下载对应的动态局部重配置功能模块的局部比特文件,来实现不同SCA波形功能的快速切换。

优选地,固定接口功能模块包括MHAL/MOCB FPGA接口和外设硬件接口,在FPGA侧,将MHAL/MOCB FPGA接口和外设硬件接口均定义为固定接口功能模块。

进一步地,将SCA波形相关的功能模块定义为动态局部重配置功能模块。

在进一步地,所述的SCA波形相关的功能模块包括调制、解调、数字变频与编解码处理;相应的所述的动态局部重配置功能模块包括SCA波形相关的调制、解调、数字变频与编解码处理。

优选地,采用Vivado软件作为开发工具,具体开发过程如下:打开Vivado软件,根据选择异构多核SOC处理器的型号,新建工程,并使能Partial Reconfiguration;利用Vivado软件实现步骤S1~S3步骤的开发。

进一步地,所述的异构多核SOC处理器选择Xilinx Zynq7000系列芯片。

一种基于异构多核SOC处理器SCA波形动态局部重配置的装置,包括

综合模块,用于根据编写FPGA侧的固定接口功能模块的HDL代码、和动态局部重配置功能模块的HDL代码,综合生成FPGA侧固定接口功能模块的网表文件、和动态局部重配置功能模块的网表文件;

时序约束模块,用于根据对FPGA上固定接口功能模块、和动态局部重配置功能模块进行分区和分配FPGA资源,创建固定接口功能模块和动态局部重配置功能模块的时序约束文件;

比特文件生成模块,用于根据相应的网表文件、时序约束文件对固定接口功能模块、和动态局部重配置功能模块的各分区进行布局布线配置;基于对应的布局布线生成固定接口功能模块的全局比特文件、和动态局部重配置功能模块的局部比特文件;

下载更新模块,用于在异构多核SOC处理器上电启动后,通过异构多核SOC处理器上ARM处理器与FPGA之间的接口下载全局比特文件;

更新切换模块,用于在切换SCA波形时,选择下载对应得动态局部重配置功能模块的局部比特文件,来实现不同SCA波形功能的快速切换。

优选地,还包括定义模块,用于将MHAL/MOCB FPGA接口和外设硬件接口均定义为固定接口功能模块,将SCA波形相关的功能模块定义为动态局部重配置功能模块。

一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述的处理器执行所述的计算机程序时,实现如所述的基于异构多核SOC处理器SCA波形动态局部重配置的方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述的计算机程序被处理器执行时,实现如所述的基于异构多核SOC处理器SCA波形动态局部重配置的方法的步骤。

本发明的有益效果如下:

本发明创新性的采用FPGA动态局部重配置方法来开发符合SCA标准的FPGA程序,提高FPGA软件开发调试效率,减少软件无线电设备切换FPGA程序时间,加快设备加载切换波形速度,减少FPGA内部资源消耗和降低功耗。

在设计开发FPGA程序的时,本发明将MHAL/MOCB FPGA接口和外设硬件控制接口定义为固定接口功能模块,将SCA波形相关的功能模块(调制、解调、数字变频与编解码处理)定义为动态局部重配置功能模块。

附图说明

图1是本发明所述的基于异构多核SOC处理器SCA波形动态局部重配置的方法的流程图。

图2是本发明对固定接口功能模块、动态局部重配置功能模块定义的示意图。

具体实施方式

下面结合附图和具体实施方式对本发明做详细描述。

实施例1

本实施例以采用Vivado软件作为开发工具,具体开发过程如下:打开Vivado软件,根据选择异构多核SOC处理器的型号,新建工程,并使能Partial Reconfiguration。本实施例所述的异构多核SOC处理器选择Xilinx Zynq7100系列芯片。

如图1所示,具体利用Vivado软件开发一种基于异构多核SOC处理器SCA波形动态局部重配置的方法,所述的方法步骤如下:

S1:分别编写FPGA侧的固定接口功能模块的HDL代码、和动态局部重配置功能模块的HDL代码,并采用Vivado软件根据对应的HDL代码综合生成FPGA侧固定接口功能模块的网表文件、和动态局部重配置功能模块的网表文件;

S2:采用Vivado软件分别对FPGA上固定接口功能模块、和动态局部重配置功能模块进行分区和分配FPGA资源,并根据对应的分区和分配FPGA资源分别创建固定接口功能模块和动态局部重配置功能模块的时序约束文件;

S3:采用Vivado软件利用相应的网表文件、时序约束文件对固定接口功能模块、和动态局部重配置功能模块的各分区进行布局布线配置;基于对应的布局布线生成固定接口功能模块的全局比特文件、和动态局部重配置功能模块的局部比特文件;

S4:异构多核SOC处理器上电启动后,通过异构多核SOC处理器上ARM处理器与FPGA之间的接口下载全局比特文件;在切换SCA波形时,选择下载对应的动态局部重配置功能模块的局部比特文件,来实现不同SCA波形功能的快速切换。

在一个具体的实施例中,如图2所示,固定接口功能模块包括MHAL/MOCB FPGA接口和外设硬件接口,在FPGA侧,将MHAL/MOCB FPGA接口和外设硬件接口均定义为固定接口功能模块。

在一个具体的实施例中,将SCA波形相关的功能模块定义为动态局部重配置功能模块。

在一个具体的实施例中,所述的SCA波形相关的功能模块包括调制、解调、数字变频与编解码处理;相应的所述的动态局部重配置功能模块包括SCA波形相关的调制、解调、数字变频与编解码处理。

如图2所示,在一个硬件平台上FPGA的外设硬件接口是固定的,基于SCA的MHAL/MOCB FPGA接口是使用统一的接口,变化的是FPGA侧SCA波形相关的程序功能模块。通过下载FPGA侧局部比特文件来动态的修改对应分区的逻辑功能,同时FGPA其余分区的逻辑功能持续运行而不中断。

本实施例可以提高开发出符合SCA标准的FPGA软件效率,减少软件无线电设备动态切换时加载FPGA比特文件的时间,提高设备加载切换波形速度,减少使用FPGA内部资源和降低功耗。

实施例2

一种基于异构多核SOC处理器SCA波形动态局部重配置的装置,包括:

综合模块,用于根据编写FPGA侧的固定接口功能模块的HDL代码、和动态局部重配置功能模块的HDL代码,综合生成FPGA侧固定接口功能模块的网表文件、和动态局部重配置功能模块的网表文件;

时序约束模块,用于根据对FPGA上固定接口功能模块、和动态局部重配置功能模块进行分区和分配FPGA资源,创建固定接口功能模块和动态局部重配置功能模块的时序约束文件;

比特文件生成模块,用于根据相应的网表文件、时序约束文件对固定接口功能模块、和动态局部重配置功能模块的各分区进行布局布线配置;基于对应的布局布线生成固定接口功能模块的全局比特文件、和动态局部重配置功能模块的局部比特文件;

下载更新模块,用于在异构多核SOC处理器上电启动后,通过异构多核SOC处理器上ARM处理器与FPGA之间的接口下载全局比特文件;

更新切换模块,用于在切换SCA波形时,选择下载对应动态局部重配置功能模块的局部比特文件,实现不同波形功能的切换。

优选地,还包括定义模块,用于将MHAL/MOCB FPGA接口和外设硬件接口均定义为固定接口功能模块,将SCA波形相关的功能模块定义为动态局部重配置功能模块。

在一个具体的实施例中,所述的SCA波形相关的功能模块包括调制、解调、数字变频与编解码处理;相应的所述的动态局部重配置功能模块包括SCA波形相关的调制、解调、数字变频与编解码处理。

如图2所示,在一个硬件平台上FPGA的外设硬件接口是固定的,基于SCA的MHAL/MOCB FPGA接口是使用统一的接口,变化的是FPGA侧SCA波形相关的程序功能模块。通过下载FPGA侧局部比特文件来动态的修改对应分区的逻辑功能,同时FGPA其余分区的逻辑功能持续运行而不中断。

本实施例可以提高开发出符合SCA标准的FPGA软件效率,减少软件无线电设备动态切换时加载FPGA比特文件的时间,提高设备加载切换波形速度,减少使用FPGA内部资源和降低功耗。

实施例3

一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述的处理器执行所述的计算机程序时,实现如所述的基于异构多核SOC处理器SCA波形动态局部重配置的方法步骤如下:

S1:分别编写FPGA侧的固定接口功能模块的HDL代码、和动态局部重配置功能模块的HDL代码,并采用Vivado软件根据对应的HDL代码综合生成FPGA侧固定接口功能模块的网表文件、和动态局部重配置功能模块的网表文件;

S2:采用Vivado软件分别对FPGA上固定接口功能模块、和动态局部重配置功能模块进行分区和分配FPGA资源,并根据对应的分区和分配FPGA资源分别创建固定接口功能模块和动态局部重配置功能模块的时序约束文件;

S3:采用Vivado软件利用相应的网表文件、时序约束文件对固定接口功能模块、和动态局部重配置功能模块的各分区进行布局布线配置;基于对应的布局布线生成固定接口功能模块的全局比特文件、和动态局部重配置功能模块的局部比特文件;

S4:异构多核SOC处理器上电启动后,通过异构多核SOC处理器上ARM处理器与FPGA之间的接口下载全局比特文件;在切换SCA波形时,选择下载对应的动态局部重配置功能模块的局部比特文件,来实现不同SCA波形功能的快速切换。

其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。

实施例4

一种计算机可读存储介质,其上存储有计算机程序,所述的计算机程序被处理器执行时,实现如所述的基于异构多核SOC处理器SCA波形动态局部重配置的方法步骤如下:

S1:分别编写FPGA侧的固定接口功能模块的HDL代码、和动态局部重配置功能模块的HDL代码,并采用Vivado软件根据对应的HDL代码综合生成FPGA侧固定接口功能模块的网表文件、和动态局部重配置功能模块的网表文件;

S2:采用Vivado软件分别对FPGA上固定接口功能模块、和动态局部重配置功能模块进行分区和分配FPGA资源,并根据对应的分区和分配FPGA资源分别创建固定接口功能模块和动态局部重配置功能模块的时序约束文件;

S3:采用Vivado软件利用相应的网表文件、时序约束文件对固定接口功能模块、和动态局部重配置功能模块的各分区进行布局布线配置;基于对应的布局布线生成固定接口功能模块的全局比特文件、和动态局部重配置功能模块的局部比特文件;

S4:异构多核SOC处理器上电启动后,通过异构多核SOC处理器上ARM处理器与FPGA之间的接口下载全局比特文件;在切换SCA波形时,选择下载对应的动态局部重配置功能模块的局部比特文件,来实现不同SCA波形功能的快速切换。

即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

相关技术
  • 基于实时总线的异构多处理器平台的动态可重配置方法
  • 基于强化学习的异构多核处理器动态电压调节方法及系统
技术分类

06120115984605