APP下载

基于GJB5000B的FPGA软件工程化研究

2023-09-13党浩淮符明明

雷达与对抗 2023年2期
关键词:配置管理研制软件

党浩淮,符明明

(1. 南京科瑞达电子装备有限责任公司,南京 211100;2. 陆装驻上海地区航空军代室,上海 201100)

0 引 言

随着微电子技术的发展,可编程逻辑器件FPGA以其高功能密度、体积小、低功耗、半定制的灵活配置能力,在军用装备领域的应用越来越广泛。与嵌入式软件、桌面软件等相比,FPGA软件工程化起步较晚,实时性较好,且与硬件交联较多,本质上属于硬件逻辑的一种方式;但与硬件相比,其具有可编程功能,且能够便捷实现复杂算法、通信交互等,导致FPGA软件研制过程极易失控。

GJB9432-2018、GJB9433-2018、GJB9764-2020、GJB10157-2021、GJB5000B-2021等相关国家军用标准对FPGA软件的相关管理起到了重要作用,其中GJB5000B实施指南将FPGA软件列入须管理的软件范畴。目前,相关研究主要围绕嵌入式软件、上位机软件、界面软件等“纯软件”展开,而针对FPGA软件管理体系的研究成果较少。虽然文献[1]较为系统地描述了软件管理体系,但并未涉及FPGA软件相关内容;文献[2]总结了军用FPGA开发现状,比对了GJB5000A和DO-254的差异,未针对FPGA软件的特点开展详细应用研究。

本文以GJB5000B成熟度二级要求为标准,对FPGA软件工程化应用展开研究。

1 FPGA软件实践域差异性分析

GJB5000B包含组织管理类、项目管理类、工程类、支持类等4类,共21个实践域,其中二级实践域12个。关于软件研制能力成熟度相关的建设、应用等相关文献[3-7]已有较为充分的论述,故本文主要针对FPGA软件相关应用,文中的差异性主要指FPGA软件和嵌入式软件、上位机软件、界面软件等其他软件的差异比较。

1.1 组织管理类实践域差异性分析

在组织管理类中,包含领导作用和实施基础两个二级实践域,其实施标准在FPGA软件和其他软件中无差别,可遵照实施。

1.2 项目管理类实践域差异性分析

在项目管理类中有项目策划和项目监控两个二级实践域。FPGA软件与其他软件的差异性如表1所示。

1.3 工程类实践域差异性分析

在工程类中有立项论证、需求开发与管理、验证与确认、运行维护等4个二级实践域。FPGA软件与其他软件的差异性如表2所示。

1.4 支持类实践域差异性分析

支持类实践域包括配置管理、质量保证、测量与绩效管理等3个二级实践域。FPGA软件与其他软件的差异性如表3所示。

2 FPGA软件相关体系文件

在实施GJB5000B相关标准前,应按照其要求完成相关体系文件建设。根据相关实践域标准,在FPGA软件相关部分,组织表4所示体系文件的编制。

表2 工程类实践域差异性

表3 支持类实践域差异性

表4 FPGA体系文件表格

在上述体系文件中,《FPGA软件研制过程》、《FPGA软件需求分析规范》、《FPGA软件设计规范》、《FPGA软件测试规范》、《FPGA软件语言编码规范》等相关文件须与其他软件区分,单独编制;《FPGA软件运行维护规范》、《FPGA软件配置管理规范》、《FPGA软件质量保证规范》、《FPGA软件测量规范》等相关文件可与其他软件合并编制。

根据相关体系文件,在FPGA软件相关项目研制过程中,须按照GJB9764-2020《军用可编程器件软件文档编制规范》的相关要求,编制项目中的相关文档。

3 FPGA软件研制流程

3.1 研制流程

FPGA软件研制流程如图1所示。

3.2 需求过程

在GJB5000B的实践域中,需求过程主要实践域为需求开发与管理,其目的是开发、维护和管理需求,与利益相关方达成一致,确保顾客的需求和期望得到满足。

对于军用FPGA产品,该过程的需求包括用户需求、产品需求和FPGA软件需求3个层级,三者是逐级精化的过程。

FPGA软件需求过程如下:

(1)开展用户需求分析,形成用户需求;根据用户需求开展FPGA选型及可行性风险分析,形成《FPGA软件可行性和风险分析报告》,确定型号研制各阶段FPGA器件选型要求;

(2)根据用户对功能、性能、接口、功耗、电气、时序、频率、资源等要求,形成《FPGA软件研制任务书》;

(3)评审《FPGA软件研制任务书》,通过后建立功能基线,将《任务书》入库;

(4)开展系统设计,分析产品和产品部件的功能需求、性能需求及约束要求等,形成《FPGA软件需求规格说明》;

(5)评审《需求规格说明》,确保用户、开发人员、测试人员以及其他利益相关方达成一致,共同确认《FPGA软件需求规格说明》;

(6)需求在产品生存周期内可能因各种原因发生变更,故应管理需求变更,即在需求变更时,对变更进行评估、记录、分析、评审、批准和维护,最大限度地减少返工。

3.3 设计过程

在GJB5000B的实践域中,设计过程主要实践域为技术解决方案,其目的是指导设计与构建满足需求的FPGA设计方案,指导设计方案准确实现,以提供高效的设计和解决方案,实现满足需求的FPGA软件,提高FPGA软件的质量。

因该实践域为三级实践域,故在项目研制过程中,该部分可根据实际需要进行适当裁剪。

FPGA软件设计过程如下:

(1)确定设计准则。一般设计准则是对组织级设计准则的裁剪,选定项目设计的实现准则;

(2)概要设计。依据《需求规格说明》进行结构分解,设计FPGA软件整体实现方案和架构,同时考虑时钟树设计、复位处理设计、跨时钟域设计等,形成《FPGA软件概要设计说明》;

(3)详细设计。描述FPGA的模块组成和功能,完成内部和外部接口说明,同时开展时序约束和管脚约束等,形成《FPGA软件详细设计说明》;

(4)接口设计。开展通信协议设计、模块调用关系、数据接口设计、软件可配置接口设计、构件接口设计等,形成《FPGA软件接口设计说明》;

(5)编码实现FPGA软件工程产品。该部分可与概要设计、详细设计、接口设计迭代进行。

3.4 测试过程

在GJB5000B的实践域中,测试过程主要实践域为FPGA验证与确认实践域,其目的是指导验证FPGA软件是否满足需求,确定选定的解决方案及部件在预期环境下是否能实现预期用途,以便通过全过程验证与确认,提高选定方案满足用户需求的可能性。

FPGA软件测试过程如下:

(1)确认待测试的FPGA产品,识别FPGA产品的需求,明确测试范围,选择测试方法,形成《FPGA软件仿真测试计划》;

(2)建立测试的输入输出、实施步骤等,使测试步骤具有可操作性,清晰明确,可以指导测试操作,形成《FPGA软件仿真测试说明》;

(3)根据《FPGA软件测试说明》进行仿真测试,并记录相应结果,形成《FPGA软件仿真测试报告》,将相关问题反馈给FPGA软件设计人员;

(4)FPGA软件设计人员根据相关问题单进行修改,FPGA测试人员完成回归测试;

(5)在完成仿真测试后,在设备上确认测试FPGA软件。与仿真相比,应导出对设施、设备和环境的需求,形成《FPGA软件确认测试计划》和《FPGA软件确认测试说明》;

(6)FPGA测试人员记录执行过程,确认结果。应结合环境差异分析和控制不可测试项,必要时须与相关人员一起确认所选择的产品或产品部件,在测试完成后形成《FPGA软件确认测试报告》;

(7)对测试结果进行评审。

4 应关注问题

在基于GJB5000B进行FPGA软件全生命周期研制的过程中,应重点关注以下问题:

4.1 细致实施FPGA软件需求开发

在需求开发阶段,若能将需求分解得较为细致,则可以大幅降低后期研制过程中的纠错成本。软件研制阶段的纠错成本如图2所示,可以看出需求阶段的纠错成本最低。

图2 软件研制纠错成本图

4.2 可重用资产开发

可重用资产开发是GJB5000B中三级实践域中的相关内容,但该部分对日常项目研制和管理非常重要,因此作为应用重点进行说明。

在FPGA软件研制过程中,很多技术可继承已在其他项目中应用成熟的模块,或针对所研制项目的特殊性作少量修改,如通用接口模块、通用算法模块等。

模块重用是提高软件研发效率和可靠性的重要手段之一,应开发组织级可重用资产,提取很多已验证且功能独立的模块,方便设计师在进行相关设计时可以从可重用资产库中下载相关功能模块。

4.3 通用质量特性应用

通用质量特性一般包括可靠性、安全性、可维护性等内容,属于GJB5000B中三级实践域的相关内容。因该部分对各项目的适用性较强,故可作为可重用资产统一开发。

因FPGA软件研制周期很长,可能由不同的FPGA设计师接手相关工程代码的维护工作,在最初研制阶段就做好相关通用质量特性应用,十分有利于后期维护工作的开展。

4.4 配置管理控制

FPGA软件的配置管理与其他软件基本相同,在实际应用中应注意以下两点:

(1)因烧录文件与硬件密切相关,故须统一配置管理烧录说明和烧录文件,方便生产人员使用;

(2)FPGA软件所含内容较多,如约束文件、IP文件、测试激励文件等,所占空间较大,应有专门空间进行统一配置管理。

5 结束语

本文主要研究了FPGA软件的应用过程,比较了FPGA软件与其他软件的差异性,并根据实际应用情况,总结了相关体系文件和FPGA软件运行流程,指出在实际应用中应重点关注的相关问题,对FPGA软件的开发有一定的参考价值。

猜你喜欢

配置管理研制软件
汽车委托外加工零件自动化配置管理
禅宗软件
软件对对碰
一种轻型手摇绞磨的研制及应用
接地线通用接地端的研制
二代证高速电写入机的研制
谈软件的破解与保护
建设CMDB任重道远
配置管理在软件测试中的应用
基于PLM 的IRIS 配置管理的实施和应用