一种基于SCA的动态部分可重构设备资源虚拟化与波形部署方法与流程

专利2022-06-29  137

本发明涉及一种软件无线电系统中的硬件设备虚拟化与软件部署机制。具体来说,涉及基于软件通信体系架构(softwarecommunicationsarchitecture,sca)的软件无线电系统中,动态部分可重构可编程逻辑门阵列设备的硬件资源虚拟化与波形应用的动态部分可重构部署,该方法使用可扩展标记语言(extensiblemarkuplanguage,xml)进行方案设计,具有较大的灵活性,提高了软件无线电系统硬件资源利用率与波形部署效率。
背景技术
::民用无线通信领域存在种类繁多的通信制式,其中短距无线通信主要包括wifi、蓝牙、zigbee、reid等,长距无线通信有卫星通信、2g、3g、4g蜂窝网络等通信制式。目前,世界各国都在积极推进第5代移动无线通信技术的发展,未来5g通信也将在人工智能、高清多媒体、无人驾驶、远程医疗等多个方面取得大量应用。军用领域,以美军为例,其各军种之间的通信电台带宽覆盖2mhz-3ghz,通信制式多达几十种。在上述民用和军用领域,种类繁多的通信制式带来彼此各异的硬件设备平台,使得软件开发和维护难度大,升级周期长。软件无线电(softwaredefinedradio,sdr)技术是继有线通信到无线通信,模拟通信到数字通信之后的第三次通信革命。sdr的核心是搭建一个标准化、通用化、集成化的硬件平台,通过加载不同的通信波形软件实现通信方式的切换。sdr系统的组成可分为硬件平台和软件体系架构,其中硬件平台通常采用通用处理器cpu与可重编程、可重构的专用处理器如fpga、dsp等。业内也出现了将射频、信号处理、模数转换等功能进行硬件模块化设计sdr硬件解决方案以适应不同通信波形需求,比如usrp、sora等硬件开发平台。软件体系架构以美军联合战术网络中心(jointtacticalnetworkingcenter,jtnc)发布的sca应用最为广泛,截止到2017年底美军装备了约50万部基于sca的各型软件无线电电台。2018年美军将sca4.1作为强制标准在全军进行推广,标志着sca标准已成为全球军事无线通信系统的技术体制和发展方向。现场可编程门阵列(fieldprogrammablegatearray,fpga)可以通过加载不同的比特流文件实现内部逻辑功能的转换,功能重构时根据重构资源数量可分为动态全局重构和动态部分可重构(dynamicpartiallyreconfigurable,dpr),全局重构时会重构整个芯片的资源,当任务实例占用资源较小时将造成计算资源的浪费。dpr技术可以使不同任务同时运行在fpga的不同区域,相互之间不受影响,增加了硬件资源利用率。然而,已有sca规范及相关实现仅提供了对fpga全局动态重构的支撑,未对dpr技术进行较好的支撑,重构粒度过大,导致资源不能得到有效的空时复用。本发明将基于sca架构设计dprfpga的硬件资源虚拟化与波形部署方案,从而发挥sca与dpr的优势,提升系统的综合性能与灵活性。技术实现要素:为了解决基于sca体系架构的软件无线电系统中fpga的重构粒度大,资源利用率低的不足,本发明提出了一种基于sca的动态部分可重构设备资源虚拟化与波形部署机制。本方法通过利用xml语言对sca中逻辑设备的域描述文件进行资源虚拟化设计,包含fpgadpr的相关实现与波形组件的动态部分可重构部署。在不影响系统功能的前提下,让fpga可以做到空时复用,减小fpga的重构粒度。在sca的架构下,硬件设备被抽象封装成逻辑设备组件,每个组件都有相应的域描述文件来描述组件的实现、端口连接等信息。域管理器通过解析xml域配置文件启动、初始化、运行、配置、重构相应的应用程序。域描述文件根据描述内容的不同可分为设备包描述文件(dpd)、设备配置描述文件(dcd)、软件装配描述文件(sad)、软件包描述文件(spd)、软件组件描述文件(scd)、属性描述文件(prf)、域管理器配置描述文件(dmd)等。为了解决sca规范中对fpga动态部分可重构能力支撑不足的问题,对spd文件与prf文件进行设计完成设备的dpr资源虚拟化与波形部署,在符合sca规范的前提下完成动态部分可重构功能实现。sca规范是软件无线电系统能够发挥平台异构性、加载软件完成功能切换的保证,针对sca规范下软件组件的动态部分可重构部署,本发明提出了从域内波形应用创建、依赖性检查、容量分配、可重构部署完整的映射流程。本发明所采用的技术方案是:基于sca的运行机制,分析硬件设备资源虚拟化与软件组件的部署方式,通过逻辑设备组件的spd和prf域描述文件提供多种划分方式,多种资源配置的fpga动态部分可重构资源虚拟化方式;通过xml域描述文件提供fpga的动态部分可重构资源虚拟化与组件的动态部分可重构部署机制,sca通过解析波形组件的spd和prf域描述文件,完成依赖性检查、容量分配、动态部分可重构部署一系列操作,进而建立起fpga可重构区域与波形组件的映射关系;具体包括下述步骤:1.动态部分可重构设备资源虚拟化1.1spd文件核心元素及组成基于sca架构的软件无线电系统中,将物理计算设备组件化并设计成逻辑设备组件,通过核心框架(coreframework,cf)中的基本设备接口和基本设备组件对动态部分可重构的fpga进行软件组件化,抽象封装成支持dprfpga的逻辑设备组件。该逻辑设备组件的spd文件将fpga进行资源虚拟化,配置fpga的dpr参数信息,以支持划分区域不同的多种重构方式与粒度更小的资源分配。spd文件为树状结构,softpkg是整个spd文档的根元素,包含title、author、description、propertyfile、descriptor、implementation、usesdevice等7个子元素。(1)title元素:表示该软件组件的名称。(2)author元素:表示该软件组件的开发者信息。(3)description元素:表示该软件组件的额外描述信息。(4)propertyfile元素:表示该spd文件引用的prf文件。(5)descriptor元素:表示该spd文件引用的scd文件。(6)implementation元素:表示该软件组件的实现信息。(7)usesdevice元素:表示该软件组件与系统中其他设备间的使用关系。implementation元素是设备dpr资源虚拟化的核心元素,为软件组件的特定实现方式提供描述信息,一个softpkg可以包含多种不同的实现方式,例如该组件支持不同类型的处理器、操作系统。该元素还允许定义在设备组件或应用组件创建过程中所用到的依赖性属性。该元素的id属性用于唯一标识软件组件的一个特定实现方式。implementation元素包含description、propertyfile、code、compiler、programminglanguage、humanlanguage、runtime、os、processor、dependency、usesdevice等子元素。implementation元素中,code子元素表示本地路径下该组件实现代码的名称、os子元素表示该组件部署运行所支持的操作环境、processor表示该组件部署的计算处理设备名称。其它的子元素描述了该组件所需的编译器信息、编程语言、运行时间等信息。1.2fpga设备dpr资源虚拟化通过对sca系统运行机制的分析,在对fpga设备进行dpr资源虚拟化时,对域描述文件中的spd文件与prf文件参数信息进行配置。使该逻辑设备组件具备不同划分方式、不同重构区域约束、不同资源配置的资源分配模式。在符合sca规范的前提下,既保证了系统的整体性和可移植性,又拓展了sca的硬件资源虚拟化程度,提供了对dprfpga设备的支撑。fpga逻辑设备组件的域描述文件设计方案如下:步骤1:配置spd文件的softpkg根元素使其包含多个implementation子元素。每个implementation元素配置一种fpga动态部分可重构区域划分方式的资源描述,划分方式不同,包含的动态部分可重构区域的数量和大小也不同。步骤2:配置implementation元素中引用的prf文件。prf文件提供该划分方式下的各个动态部分可重构子区域的资源配置。其中一个重构子区域包含的信息如下:(1)重构区域标识;(2)重构区域坐标位置;(3)重构区域clblogiccells数量;(4)重构区域clbslices数量;(5)重构区域digitalclockmanagers数量;(6)重构区域dsp数量;(7)重构区域ram数量;步骤3:配置spd文件的softpkg根元素下的prf文件。softpkg根元素下的prf文件可以被softpkg根元素下的所有组件implementation使用。该prf文件包含fpga的型号和运行环境及版本信息,供波形组件部署时进行依赖性检查使用。步骤4:配置保证该逻辑设备组件运行和功能描述的其他信息。softpkg根元素下的author、descriptor、description等子元素提供了组件开发者、组件端口连接、组件功能描述等信息。通过上述域描述文件的设计方案可完成逻辑设备组件的dpr资源虚拟化,具备了粒度更小的资源描述,包含了波形组件运行所需的设备型号和运行环境、多种重构区域划分方式实现,具体重构区域资源数量等信息,在sca架构下提供了对dpr的重构支撑。2.基于sca的波形组件动态部分可重构部署机制sca域内的波形应用采取组件化的设计思想,波形应用由若干个波形组件组成,组件为特定的功能模块实现。每个组件有单独的域描述文件为sca提供配置、部署、重构、查询等操作所需的信息。sca通过解析波形应用的域描述文件获得各个组件的连接、配置等关系,解析各个组件的域描述文件中的spd文件,完成组件部署。波形应用在sca域内的创建及组件部署流程如下:步骤1:客户端调用cf框架控制接口中applicationfactory接口的create操作。create操作在sca域内创建应用,该操作提供一个客户端接口用来在客户端请求的设备上创建应用。步骤2:sca解析波形应用的域描述文件,包括应用的sad文件和各个组件的spd文件等获得应用的组成、各个组件之间的端口连接、组件部署所需的处理器/运行环境等配置信息。步骤3:逻辑设备执行allocatecapacity操作,分配组件运行所需的内存、处理器,更新device(s)的内存和处理器使用情况。步骤4:逻辑设备通过loadableinterface和executableinterface完成组件的加载和执行。在组件进行dpr部署时,applicationfactory接口在sca域内获得已注册的设备列表,将组件spd文件中的设备与域内注册的逻辑设备进行依赖性检查。通过波形组件spd文件的“implementation”元素配置依赖检查所需的处理器型号,运行环境及版本等匹配信息。本发明的有益效果:本发明提出了一种基于sca的动态部分可重构设备资源虚拟化与波形部署机制,通过对sca核心框架下的域描述文件进行设计,使基于sca的软件无线电系统具备fpga动态部分可重构的资源虚拟化方式,同时提供波形组件的动态部分可重构部署支撑。在拓展传统sca下的波形组件部署方式,提高硬件资源利用率,减小设备重量等方面具有较强的工程使用价值。附图说明图1为支持动态部分可重构功能的系统框图,图2为fpga动态部分可重构功能示意图,图3为spd文件核心元素配置信息,图4为prf文件中重构区域的部分配置信息。具体实施方式下面结合附图对本发明作进一步说明:图1是本发明针对的动态部分可重构软件无线系统架构框图。如图1所示,该系统由波形应用、sca软件体系架构、dprfpga三部分组成。示例图中波形应用由四个组件组成、fpga被划分成三个动态部分可重构区域,sca中的核心框架完成对整个系统的组件管理和资源分配。本发明提出的资源虚拟化技术与波形部署机制,即要建立波形应用组件到fpga动态部分可重构区域的映射关系。图2为动态部分可重构功能示意图。如图2所示,fpga通过icap重构端口将存储器中的配置文件下载到可重构子区域,fpga可以有多种划分方式即可重构子区域的大小和数量根据任务要求可有不同,每个可重构子区域亦可加载不同的配置文件。图3为dprfpga逻辑设备组件spd文件的部分核心元素。如图3所示,implementation元素代表一种重构区域划分方式,其子元素propertyfile引用的prf文件配置了该划分方式下的重构区域信息,其它元素配置了该逻辑设备组件执行所必须的设备和运行环境信息。图4为prf文件中对重构区域描述的部分信息。两个simple元素分别配置了该重构区域标识“pr1”和重构区域中所含clblogiccells的数量“2312”,sca对相关信息可进行查询。综上所述,本发明提出的动态部分可重构资源虚拟化方式与波形部署机制,有效拓展了sca的功能,在不改变整体软件架构的条件下通过sca域描述文件提供动态部分可重构的功能,减小了开发和维护人员的工作量。促进了设备的小型化、轻量化、集成化发展。对于软件定义卫星、基于软件无线电的通信基站等有广泛的应用场景。当前第1页1 2 3 当前第1页1 2 3 
技术特征:

1.一种基于sca的动态部分可重构设备资源虚拟化与波形部署方法,包含动态部分可重构设备资源虚拟化及基于sca的波形组件动态部分可重构部署,其特征在于,在基于sca规范的标准下,利用逻辑设备的域描述文件完成动态部分可重构资源虚拟化,通过波形组件的域描述文件完成组件的动态部分可重构部署,

所述动态部分可重构设备资源虚拟化,具体步骤包括:

1.1spd文件核心元素及组成

将计算设备组件化并设计成逻辑设备组件,对动态部分可重构的fpga进行软件组件化,抽象封装成支持dprfpga的逻辑设备组件,

spd文件为树状结构,softpkg是整个spd文档的根元素,包含title、author、description、propertyfile、descriptor、implementation、usesdevice7个子元素;

1.2fpga设备dpr资源虚拟化

fpga逻辑设备组件的域描述文件设计如下:

步骤1:配置spd文件的softpkg根元素使其包含多个implementation子元素;

每个implementation元素配置一种fpga动态部分可重构区域划分方式的资源描述,

步骤2:配置implementation元素中引用的prf文件,

prf文件提供该划分方式下的各个动态部分可重构子区域的资源配置;

步骤3:配置spd文件的softpkg根元素下的prf文件,

softpkg根元素下的prf文件包含fpga的型号和运行环境及版本信息,供波形组件部署时进行依赖性检查使用;

步骤4:配置保证该逻辑设备组件运行和功能描述的其他信息,

softpkg根元素下的author、descriptor、description子元素提供组件开发者、组件端口连接、组件功能描述信息;

所述基于sca的波形组件动态部分可重构部署机制,具体步骤包括:

sca通过解析波形应用的域描述文件获得各个组件的连接、配置关系,

波形应用在sca域内的创建及组件部署流程如下:

步骤2.1:客户端调用cf框架控制接口中applicationfactory接口的create操作,

create操作在sca域内创建应用,该操作提供一个客户端接口用来在客户端请求的设备上创建应用;

步骤2.2:sca解析波形应用的域描述文件,包括应用的sad文件和各个组件的spd文件获得应用的组成、各个组件之间的端口连接、组件部署所需的处理器/运行环境配置信息;

步骤2.3:逻辑设备执行allocatecapacity操作,分配组件运行所需的内存、处理器,更新device的内存和处理器使用情况;

步骤2.4:逻辑设备通过loadableinterface和executableinterface完成组件的加载和执行。

2.根据权利要求1所述的一种基于sca的动态部分可重构设备资源虚拟化与波形部署方法,其特征在于,所述implementation元素为软件组件的特定实现方式提供描述信息,该元素的id属性用于唯一标识软件组件的一个特定实现方式。

3.根据权利要求1所述的一种基于sca的动态部分可重构设备资源虚拟化与波形部署方法,其特征在于,所述implementation元素包含description、propertyfile、code、compiler、programminglanguage、humanlanguage、runtime、os、processor、dependency、usesdevice子元素。

4.根据权利要求1所述的一种基于sca的动态部分可重构设备资源虚拟化与波形部署方法,其特征在于,所述重构子区域包含的信息如下:

(1)重构区域标识;

(2)重构区域坐标位置;

(3)重构区域clblogiccells数量;

(4)重构区域clbslices数量;

(5)重构区域digitalclockmanagers数量;

(6)重构区域dsp数量;

(7)重构区域ram数量。

技术总结
本发明涉及一种基于SCA的动态部分可重构设备资源虚拟化与波形部署方法,解决现有SCA规范及相关实现仅提供了对FPGA全局动态重构的支撑,未对DPR技术进行支撑,重构粒度过大,资源不能得到有效的空时复用等问题。本方法建立从波形组件到FPGA动态部分可重构区域的映射关系。通过对核心框架下的域描述文件进行设计和配置,在SCA的规范下拓展了系统功能的同时不改变软件体系的整体架构,保证了组件的可移植性和平台的异构性,减小了开发和维护复杂度。

技术研发人员:唐麒;郭彪;魏急波;王喆;黄圣春;周力
受保护的技术使用者:中国人民解放军国防科技大学
技术研发日:2020.01.20
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-20423.html

最新回复(0)