对可重构FPGA软件进行过程监控的方法技术

技术编号:30053957 阅读:24 留言:0更新日期:2021-09-15 10:57
本发明专利技术公开了一种对可重构FPGA软件进行过程监控的方法,包括:利用可重构FPGA软件的专用验证测试系统在对重要内部信号进行复制监控的同时,通过FPGA管脚进行引出,并且将所述重要内部信号通过所述FPGA管脚从测试板上传递到主控FPGA板上进行采集。其中可重构FPGA软件的专用验证测试系统包括:信号传递层模块;验证指令层模块;验证功能层模块;验证环境层模块;及验证顶层模块。及验证顶层模块。及验证顶层模块。

【技术实现步骤摘要】
对可重构FPGA软件进行过程监控的方法


[0001]本专利技术涉及计算机软件验证测试领域,尤其涉及对可重构FPGA软件进行过程监控的方法。

技术介绍

[0002]现场可编程逻辑器件(FPGA)技术在过去的几十年中取得了惊人的发展,根本在于:FPGA不但可以解决电子系统小型化、低功耗、高可靠性等问题,而且它的开发周期短、开发软件投入少、芯片价格不断降低,促使FPGA越来越多地取代了ASIC的市场,特别是对小批量、多品种的产品需求,使FPGA成为首选。
[0003]目前,针对越来越多星上FPGA软件重构实现的需求,传统的FPGA验证测试手段无论是在验证功能测试点覆盖还是在验证准确度上都无法满足可重构FPGA软件的验证需求。常规的验证测试体系架构是以星上FPGA可重构代码设计需求规范为导向制定可验证测试方案,在明确所要验证测试点之后,采用硬件描述语言对待测试部分代码编写定向测试用例,在验证过程中通过观察输出波形来判断所设计的功能是否正确,其通常在EDA验证测试软件工具上实现,针对常规FPGA验证测试体系的架设一般如图1所示。图1示出了常规FPGA验证测试体系架设。
[0004]另外,吕欣欣等人在FPGA通用验证平台建立方法研究,微电子学与计算机,2010.5中提出了一种相对较先进的FPGA通用验证平台,该平台体系架构从采用层次化结构、统一测试用例格式和提取通用基类三方面入手建立,其体系架构主要通过模块化操作使得平台改变较容易,同时利用较清晰的平台层次化划分,保证各层次之间有一定的独立性。
专利技术内
[0005]传统的FPGA验证测试体系架设单纯以任务需求为导向,其不能很好的适应可重构FPGA软件的诸多特殊验证点,如:重构过程监控、重构实现功能验证、重构代码完整性的主动检查等都成为了FPGA可重构软件的验证测试盲区。同时,繁琐复杂又多样化的重构功能需求,又要求驱动激励段的不断变化。测试激励代码的频繁更动、编译再到实现都需要花费大量的人力、时间代价。
[0006]后来提出的FPGA通用验证测试体系,虽然利用层次化结构、统一测试用例格式和提取通用基类来架设,但由于其主旨为建立通用的验证平台,但又没有考虑FPGA软件其与接口协议紧密相关,并无法实现针对所有种类或功能实现FPGA的通用性验证环境;同时该体系架构中的驱动类都来自于上层驱动层,通过调用预存在的驱动数据使得驱动进行传输,该种方法的产生会带来多个弊端:1.预编译存在的驱动代码库需要有一个很大的样本测试库,且这个库要针对所有芯片选型及不同功能进行预实现,其后台工作量可想而知,且一旦出现诸如可重构FPGA软件这类具有特殊测试点的验证需求,只能从其验证测试体系架设顶层进行添加,再逐层调用,步骤繁琐。2.也无法针对可重构FPGA软件所关注的期望验证点,如重构过程监控、重构功能实现是否正确等进行验证。3.体系架构层级过于严密,造成
无法根据可重构需求进行自主调整删减。
[0007]针对现有技术中存在的问题,根据本专利技术的一个方面,提供一种对可重构FPGA软件进行过程监控的方法,包括:利用可重构FPGA软件的专用验证测试系统在对重要内部信号进行复制监控的同时,通过FPGA管脚进行引出,并且将所述重要内部信号通过所述FPGA管脚从测试板上传递到主控FPGA板上进行采集。其中所述可重构FPGA软件的专用验证测试系统包括:信号传递层模块,所述信号传递层模块提供与待测可重构FPGA软件直接的信号互联,并且被所述专用验证测试系统的其它模块所访问;验证指令层模块,所述验证指令层模块对所述可重构FPGA软件的待测目标重构代码最前端输入及最末端输出进行监控,并且还对所述待测目标重构代码的运行过程进行监控;验证功能层模块,所述验证功能层模块将所述待测目标重构代码的输出结果和验证平台的处理结果进行比对;验证环境层模块,所述验证环境层模块对场景使用在环境层中进行注册;及验证顶层模块,所述验证顶层模块定义全局顶层文件,并约束全局变量以及待测目标重构代码的工作模式。
[0008]在本专利技术的一个实施例中,所述验证指令层模块包括:
[0009]一个或多个检测监控模块,所述一个或多个检测监控模块对所述可重构FPGA软件的待测目标重构代码最前端输入及最末端输出进行监控;
[0010]驱动产生模块,所述驱动产生模块用于驱动产生作为对待测目标重构代码的最直接激励输入,保证驱动激励正确完整的应用于待测目标重构代码;
[0011]驱动调度模块,所述驱动调度模块是驱动产生模块的上层协作模块,动态调整和改变驱动调度模块;
[0012]过程监控模块,所述过程监控模块对待测目标重构代码的运行过程进行监控;
[0013]时间记录模块,伴随过程监控模块对待测目标重构代码进行实时监控,并且通过设置开始结束寄存信号来获取完整重构时间、重构间隔。
[0014]在本专利技术的一个实施例中,所述验证功能层模块包括输入代理模块和输出代理模块。
[0015]在本专利技术的一个实施例中,所述输入代理模块控制检测监控模块何时开始对输入进行监控,何时协同驱动产生模块和驱动调度模块一起工作。
[0016]在本专利技术的一个实施例中,输出代理模对输出端的检测监控模块所获取的数据进行整理及整合,并对输出端的检测监控模块进行控制。
[0017]在本专利技术的一个实施例中,所述验证功能层模块包括:比对模块及模型参考库,通过所述模型参考库运用输入信号激励对复制目标代码实现进行二次确认验证测试,并通过比对模块将结果与实际目标测试代码经输出监视器的结果进行比对。
[0018]在本专利技术的一个实施例中,所述验证环境层模块包括常规重构功能验证环境库、重构测试代码环境库及重构跟踪代码环境库。
[0019]在本专利技术的一个实施例中,所述重构测试代码环境库对可重构FPGA软件进行以下验证:相关故障注入验证、重构程序正确性验证、重构程序完整性验证以及重构数据校验正确性验证。
[0020]在本专利技术的一个实施例中,所述重构跟踪代码环境库对可重构FPGA软件进行以下测试:重构失效恢复测试、系统重构时间测试、重构失效恢复测试。
[0021]在本专利技术的一个实施例中,所述验证顶层模块通过不同的约束,产生出不同的场
景,实现对待测目标重构代码的定向功能测试点测试,或者通过随机场景改变而实现对待测目标重构代码的随机化验证。
[0022]本专利技术的提出拟建立一种针对星上在轨可重构FPGA软件的验证测试体系架设。该体系架设可以解决:
[0023]1)建立灵活可变的验证测试体系架设,运用该体系架设可以快速机动的针对星上可重构FPGA软件进行验证;
[0024]2)在体系架设模型中加入了过程监控模块,解决星上可重构FPGA软件可重构过程监控;
[0025]3)在体系架设模型中加入时间记录模块,解决星上可重构FPGA软件实际可重构时间,重构完成时间记录,重构时间间隔等测试;
[0026]4)在体系架设模型中加入DUT模块复制及记录比较模块,解决当前部分验本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种对可重构FPGA软件进行过程监控的方法,其特征在于:利用可重构FPGA软件的专用验证测试系统在对重要内部信号进行复制监控的同时,通过FPGA管脚进行引出,并且将所述重要内部信号通过所述FPGA管脚从测试板上传递到主控FPGA板上进行采集;其中,所述可重构FPGA软件的专用验证测试系统包括:信号传递层模块,所述信号传递层模块提供与待测可重构FPGA软件直接的信号互联,并且被所述专用验证测试系统的其它模块所访问;验证指令层模块,所述验证指令层模块对所述可重构FPGA软件的待测目标重构代码最前端输入及最末端输出进行监控,并且还对所述待测目标重构代码的运行过程进行监控;验证功能层模块,所述验证功能层模块将所述待测目标重构代码的输出结果和验证平台的处理结果进行比对;验证环境层模块,所述验证环境层模块对场景使用在环境层中进行注册;及验证顶层模块,所述验证顶层模块定义全局顶层文件,并约束全局变量以及待测目标重构代码的工作模式,其中所述验证指令层模块包括:一个或多个检测监控模块,所述一个或多个检测监控模块对所述可重构FPGA软件的待测目标重构代码最前端输入及最末端输出进行监控;驱动产生模块,所述驱动产生模块用于驱动产生作为对待测目标重构代码的最直接激励输入,保证驱动激励正确完整的应用于待测目标重构代码;驱动调度模块,所述驱动调度模块是驱动产生模块的上层协作模块,动态调整和改变驱动调度模块;过程监控模块,所述过程监控模块对待测目标重构代码的运行过程进行监控;时间记录模块,伴随过程监控模块对待测目标重构代码进行实时监控,并且通过设置开始、结束寄存信号来获取完整重构时间、重构间隔。2.如权利要求1所述的对可重构FPGA软件进行过程监控的方法,其...

【专利技术属性】
技术研发人员:虞业泺施敏华郑倩云周华雷雨
申请(专利权)人:上海微小卫星工程中心
类型:发明
国别省市:

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

1