基于星上在轨可重构FPGA软件的验证测试系统的制作方法

文档序号:15850814发布日期:2018-11-07 09:52阅读:262来源:国知局
基于星上在轨可重构FPGA软件的验证测试系统的制作方法

本发明涉及计算机软件验证测试领域,尤其涉及基于星上在轨可重构fpga软件的验证测试系统。

背景技术

现场可编程逻辑器件(fpga)技术在过去的几十年中取得了惊人的发展,根本在于:fpga不但可以解决电子系统小型化、低功耗、高可靠性等问题,而且它的开发周期短、开发软件投入少、芯片价格不断降低,促使fpga越来越多地取代了asic的市场,特别是对小批量、多品种的产品需求,使fpga成为首选。

由于当前并无系统化的支持fpga可重构验证测试实现的有效支撑,针对不同的fpga软件重构实现形式多采用不同的重构验证测试方法来实现,且针对不同的芯片选型,如xilinx公司的virtexii、virtexiv及virtexv等系列,都会开展针对单一芯片型号来实现的验证测试。

针对星上可重构fpga实际验证测试需求,几乎所有验证测试也只能通过仿真实现,且无法实现针对不同芯片型号开展统一的验证测试,同时由于可重构fpga软件的特殊性,需要对待重构fpga所需进行的不同重构软件进行统一验证测试,现阶段通过仿真手段只能实现单纯的单独软件验证测试,无法真正实现可重构fpga软件全流程跟随验证测试。且对于星上可重构fpga软件的特点所开展的动态可配测试激励调整也显得十分困难。目前无针对性的进行星上可重构fpga软件验证的高效通用验证系统。



技术实现要素:

本发明提出一种针对星上在轨可重构fpga软件的验证测试系统。

在本发明的一个实施例中,提供一种在轨可重构fpga软件的验证测试系统,包括:

上位机,所述上位机用于进行故障类型和故障定位分析、文件配置及接口传输,其中所述上位机接收fpga验证测试结果,通过所反馈信息与已明确的正确行为进行比对分析来获得故障类型及故障位置,对所发现的或潜在的故障,通过文件配置操作进行验证文件动态调整,并将修改后契合度更高的验证文件再次通过接口传输通过主控板下载至验证板进行验证测试;

主控板,所述主控板包括接口控制系统接收来所述上位机的重构配置文件及验证测试配置文件;第一存储系统;以及第一fpga,所述第一fpga将收到的配置文件存储于主控板存储系统中,并根据实际测试板需求,通过接口控制系统,进行验证测试执行重载程序、待测fpga重载程序配置发布;以及

测试板,所述测试板包括测试执行fpga;待测fpga;重载程序存储系统用于存储测试执行fpga重载程序及待测fpga重载程序;以及接口控制系统,其中所述测试执行fpga调用测试执行fpga重载程序生成测试激励,并将所述测试激励作用于待测fpga之中进行原型验证测试,所述待测fpga对测试激励作出测试激励反馈,并将测试结果通过接口控制系统进行上传反馈。

在本发明的一个实施例中,所述上位机进行上位机用户可视化操作。

在本发明的一个实施例中,所述第一fpga为反熔丝fpga。

在本发明的一个实施例中,所述第一存储系统包括固化存储及重构存储。

在本发明的一个实施例中,所述测试执行fpga和待测fpga是sram型fpga。

在本发明的一个实施例中,所述测试执行fpga和所述待测fpga可以交换功能。

在本发明的一个实施例中,所述测试执行fpga包括:

测试执行fpga动态测试激励产生单元,用于基于测试执行fpga重载程序生成测试执行fpga动态测试激励;

验证测试结果智能比对单元,用于将测试激励反馈与已明确的正确行为进行比对;

迭代测试激励智能更新单元,用于基于比对结果进行分析,对有风险测试点自动做出缩小测试范围、定向针对性测试操作。

在本发明的一个实施例中,所述待测fpga包含:

待测fpga测试激励反馈单元,用于对测试激励作出测试激励反馈;以及

测试结果反馈单元,用于将测试结果通过接口控制系统进行上传反馈。

通过本发明提供的星上在轨可重构fpga软件的验证测试系统和测试方法,能够提高对fpga软件重构测试验证的针对性、对多种重构实现形式的适用性以及验证的真实性与高效性。软硬件协同工作,实现对待测可重构fpga软件的硬件验证测试,保证其功能正确性的同时,大大缩短软件仿真时间同时又大幅度提高验证真实性。本发明提供能够通用化的针对星上在轨可重构fpga软件的验证测试系统,该系统可以通过上位机或星务计算机动态实现对待测目标fpga的验证策略调整,不断趋近最优验证结论。填补目前所缺失的针对星上可重构fpga软件的通用验证测试系统。

附图说明

为了进一步阐明本发明的各实施例的以上和其它优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。在附图中,为了清楚明了,相同或相应的部件将用相同或类似的标记表示。

图1示出了一种fpga重构系统硬件组成框图。

图2示出根据重构方案1的fpga重构系统硬件组成框图。

图3示出根据重构方案2的fpga重构系统硬件组成框图。

图4示出验证流程图。

图5示出根据本发明的一个实施例的基于星上可重构fpga的验证系统500的示意框图。

图6示出根据本发明的一个实施例的基于星上可重构fpga的验证系统600的详细框图。

图7示出根据本发明的一个实施例的主控板620的结构示意图。

具体实施方式

在以下的描述中,参考各实施例对本发明进行描述。然而,本领域的技术人员将认识到可在没有一个或多个特定细节的情况下或者与其它替换和/或附加方法、材料或组件一起实施各实施例。在其它情形中,未示出或未详细描述公知的结构、材料或操作以免使本发明的各实施例的诸方面晦涩。类似地,为了解释的目的,阐述了特定数量、材料和配置,以便提供对本发明的实施例的全面理解。然而,本发明可在没有特定细节的情况下实施。此外,应理解附图中示出的各实施例是说明性表示且不一定按比例绘制。

在本说明书中,对“一个实施例”或“该实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。在本说明书各处中出现的短语“在一个实施例中”并不一定全部指代同一实施例。

在以下的描述中,参考各实施例对本发明进行描述。然而,本领域的技术人员将认识到可在没有一个或多个特定细节的情况下或者与其它替换和/或附加方法、材料或组件一起实施各实施例。在其它情形中,未示出或未详细描述公知的结构、材料或操作以免使本发明的各实施例的诸方面晦涩。类似地,为了解释的目的,阐述了特定数量、材料和配置,以便提供对本发明的实施例的全面理解。然而,本发明可在没有特定细节的情况下实施。此外,应理解附图中示出的各实施例是说明性表示且不一定按比例绘制。

在本说明书中,对“一个实施例”或“该实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。在本说明书各处中出现的短语“在一个实施例中”并不一定全部指代同一实施例。

一般的fpga重构实现思路为由地面将重构程序上注到相应的fpga程序存储区中,要求硬件设计上需配置可擦可编程存储器。图1示出了一种fpga重构系统硬件组成框图。

fpga重构实现通常通过cpu软件完成重构代码的完整性及正确性校验,校验通过后由cpu软件向fpga发送重构数据。而根据数据的接收者的不同,fpga软件重构方案又通常分为两种:重构方案1sram(静态随机存取存储器)型fpga接收数据:由sram型fpga接收重构代码,再发送至反熔丝fpga,并由其写入存储器;重构方案2反熔丝fpga接收数据:由反熔丝fpga直接接收重构代码,并写入存储器。

图2示出根据重构方案1的fpga重构系统硬件组成框图。如图2所示,sram型fpga与cpu设备、反熔丝fpga连接,外围配置存储器201、存储器202用于复位及程序存储。其中存储器201为程序固化区,存储器202为程序重构区,起飞前烧写相同的程序代码。在轨重构发生时,先对重构区代码进行重构,测试验证正确后,由地面判断是否对固化区程序进行复制等操作。

fpga重构方案2的实现形式较方案1相比,数据收发处理相对简单,但需要增加反熔丝fpga与cpu设备的通信接口连接,图3示出根据重构方案2的fpga重构系统硬件组成框图。反熔丝fpga直接与cpu设备连接。

针对上述两种fpga重构方案实现形式,利用当前所具备的验证测试系统能通过遥测返回量的值对完全代码写入与否、反熔丝fpga校验数据写入完整性是否正确、写入程序校验是否正确等简单直观信息进行验证测试,同时通过推算获得fpga重构时间轴等信息,其主要目的还是对可重构fpga设计代码是否符合设计规范说明中的功能要求进行验证检查,其验证的主要流程如图4所示。在步骤401,制定验证计划并确定要验证的功能点。然后,在步骤402,采用硬件描述语言对待测试部分代码编写定向测试用例。在步骤403,写入待测目标可重构代码。在步骤404,进行波形观察。在步骤405,在验证过程中通过观察输出波形来判断所设计的功能是否正确,如果是则在步骤406,验证完成,否则返回步骤402。

上述的fpga可重构验证测试针对不同的fpga软件重构实现形式采用不同的重构验证测试方法来实现。

为了适应不同的fpga软件重构设计实现方式,以及配合当下不同fpga型号选型下的fpga重构实现,现有技术所利用的验证方法如:定向测试用例生成方法、带约束的随机验证方法、基于事务的验证方法、覆盖率驱动的验证方法、基于断言的验证方法等虽都有助于功能测试验证实现,但都无法实现可重用、准确性高以及验证可观察及可控性的难点。而通过fpga实物验证又可以弥补软件模拟仿真的劣势,大大缩短仿真时间,提高仿真真实性及可靠性。本发明结合上述基于fpga软件重构的层次化验证测试方案提出一个基于星上可重构fpga的验证系统。

本发明公开的验证系统用于星上fpga可重构软件验证,可以对不同实现形式、不同规模以及不同复杂程度的待测目标代码进行验证测试。图5示出根据本发明的一个实施例的基于星上可重构fpga的验证系统500的示意框图。由于fpga具有静态可编程和在线动态重构的特性,本验证系统共采用3片fpga分别作为主控板及测试板核心器件。如图5所示,该验证测试系统500可包含:星务系统/上位机510、主控板520及测试板530。

在本发明的具体实施例中,测试板530可包括测试执行fpga531、动态程序存储空间532和待测fpga533。例如,测试板530可采用xilinx的virtex4及virtex5系列fpga作为测试板核心fpga,测试板上两片fpga531和533均为sram型,且硬件保证通用io尽量两两相连,本硬件测试验证系统的两片sram型主芯片531和533可以互为测试执行fpga或待测fpga,用以满足航天需求下的实际芯片选择及功能芯片切换验证。

在本发明的具体实施例中,主控板520可包括fpga521、接口控制522、动态程序存储空间523和固化程序存储空间524。例如,fpga521可选取actel的a54sxa反熔丝fpga作为主控板母芯片,作为主控板的核心芯片同时为可重构实现中枢操作。在测试上集成相应的存储prom、flash、eeprom等存储介质、系统全局时钟的选择和可配置模块、系统复位逻辑、fpga芯片下载接口、丰富的扩展及连接接口等来满足可重构测试代码的验证实现。同时对验证测试系统除了添加必要的如门控处理、pll锁相环处理等,还需对存储单元ram、fifo的替换使用,以及子模块的快速配置、特殊单元的处理做出调整。并根据特定的fpga重构软件增加fpga相关时序控制及管脚io的约束。

在主控板上则通过以太网、串口连接至星务系统或上位机510用于主控配置实现。星务系统或上位机510可以实现对fpga重构软件验证测试的可视化显示、对被测芯片的配置文件生成,甚至实现故障类型和故障定位分析。

如上所述,所提出的基于星上在轨可重构fpga软件的验证测试系统500包括3个层次,每个层次之间又通过模块化的设立在保有自有功能属性的同时,即灵活协调又不失统一性。

下面结合附图对验证系统的各个模块进行详细描述。

图6示出根据本发明的一个实施例的基于星上可重构fpga的验证系统600的详细框图。

星务系统/上位机610作为整个验证测试系统的大脑,该模块主要负责实现:故障类型和故障定位分析、上位机用户可视化操作界面、文件配置及接口传输等工作。

由于fpga本身资源有限,且实现形式为现场可编程逻辑门阵列形式其对故障类型和故障定位能力较差,而验证测试的根本不光在于验证测试功能是否正确,还在于对所发现的或潜在的故障进行类型分析及故障定位分析,因此本方案将fpga验证测试结果反馈给星务系统/上位机,通过所反馈信息与已明确的正确行为进行比对分析来获得故障类型及故障位置,同时对所发现的或潜在的故障,通过文件配置操作进行验证文件动态调整,并将修改后契合度更高的验证文件再次通过接口传输以以太网、can或串口方式通过主控板下载至验证板进行验证测试。同时对于批量比对操作自动化操作更合理,但对于明确故障点或微调配置操作,上位机用户可视化操作将带来极大的优化操作,大大提升验证测试效率,加速测试进程。

主控板620为整个验证系统的中枢,其也是实现星上可重构fpga软件的重构实施者。图7示出根据本发明的一个实施例的主控板620的结构示意图。主控板620通过接口控制系统622接收来自星务系统/上位机的重构配置文件及验证测试配置文件,主控板的主芯片为反熔丝fpga621,其在星上不存在单粒子翻转风险,通过其内部逻辑将收到的配置文件分类存储于主控板存储系统中,并根据实际测试板需求,通过接口控制系统622,对其进行对应的验证测试执行重载程序、待测fpga重载程序配置发布。同时主芯片还需要对存储系统进行总体控制及存放策划操作,对存储系统623中所包含的可编程只读存储器prom、flash等存储介质进行划区,并将其分为固化存储及重构存储。

测试板630为整个验证测试系统核心,该模块包含:测试执行fpga631、待测fpga633、重载程序存储系统634、接口控制系统632四大部分。其中,重载程序存储系统包含测试执行fpga重载程序及待测fpga重载程序。

测试执行fpga631可由sram型fpga实现,其可包含:测试执行fpga动态测试激励产生单元、验证测试结果智能比对单元、迭代测试激励智能更新单元等功能单元。

待测fpga633同样由sram型fpga实现,其可包含:待测fpga测试激励反馈单元、测试结果反馈单元等功能单元。待测fpga测试激励反馈单元用于对测试激励作出测试激励反馈。测试结果反馈单元用于将测试结果通过接口控制系统进行上传反馈。

通过调用测试执行fpga重载程序后,测试执行fpga631可以生成测试执行fpga动态测试激励,并将该动态测试激励通过硬件将激励作用于待测fpga之中进行原型验证测试,同时待测fpga633将会对测试激励作出测试激励反馈,并将测试结果通过接口控制系统进行上传反馈。测试执行fpga631收到测试激励反馈后通过验证测试结果智能比对后通过迭代测试激励进行智能激励更新,测试执行fpga631可以通过对验证测试反馈结果进行初步分析后,对有风险测试点的测试激励,自动做出缩小测试范围、定向针对性测试等操作后再次作用于待测fpga。且两片fpga可以互为待测及执行方便适应星上可重构fpga芯片需求及动态资源调整。其整个验证测试过程构成闭环。

通过对待测fpga633反馈回来的信息与测试fpga631内部已明确的行为进行比对,能够初步定位故障类型及故障位置。发现问题后,测试fpga631可以通过文件配置操作进行验证文件动态调整,使得对错误或可能存在的潜在风险内容进行针对性的着重处理。

通过本发明提供的星上在轨可重构fpga软件的验证测试系统,能够提高对fpga软件重构测试验证的针对性、对多种重构实现形式的适用性以及验证的真实性与高效性。软硬件协同工作,实现对待测可重构fpga软件的硬件验证测试,保证其功能正确性的同时,大大缩短软件仿真时间同时又大幅度提高验证真实性。本发明提供能够通用化的针对星上在轨可重构fpga软件的验证测试系统,该系统可以通过上位机或星务计算机动态实现对待测目标fpga的验证策略调整,不断趋近最优验证结论。填补目前所缺失的针对星上可重构fpga软件的通用验证测试系统。

尽管上文描述了本发明的各实施例,但是,应该理解,它们只是作为示例来呈现的,而不作为限制。对于相关领域的技术人员显而易见的是,可以对其做出各种组合、变型和改变而不背离本发明的精神和范围。因此,此处所公开的本发明的宽度和范围不应被上述所公开的示例性实施例所限制,而应当仅根据所附权利要求书及其等同替换来定义。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1