CN108388516B - 可重构fpga软件的专用验证测试系统 - Google Patents
可重构fpga软件的专用验证测试系统 Download PDFInfo
- Publication number
- CN108388516B CN108388516B CN201810208126.6A CN201810208126A CN108388516B CN 108388516 B CN108388516 B CN 108388516B CN 201810208126 A CN201810208126 A CN 201810208126A CN 108388516 B CN108388516 B CN 108388516B
- Authority
- CN
- China
- Prior art keywords
- verification
- module
- code
- reconstruction
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012795 verification Methods 0.000 title claims abstract description 162
- 238000012360 testing method Methods 0.000 title claims abstract description 109
- 239000010410 layer Substances 0.000 claims abstract description 68
- 238000000034 method Methods 0.000 claims abstract description 47
- 230000008569 process Effects 0.000 claims abstract description 37
- 230000008054 signal transmission Effects 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims abstract description 4
- 239000002346 layers by function Substances 0.000 claims abstract description 3
- 238000012544 monitoring process Methods 0.000 claims description 46
- 230000005284 excitation Effects 0.000 claims description 21
- 239000003795 chemical substances by application Substances 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 14
- 238000011084 recovery Methods 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 5
- 238000002347 injection Methods 0.000 claims description 3
- 239000007924 injection Substances 0.000 claims description 3
- 238000012790 confirmation Methods 0.000 claims description 2
- 238000013524 data verification Methods 0.000 claims description 2
- 238000010200 validation analysis Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 35
- 238000004088 simulation Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3608—Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种可重构FPGA软件的专用验证测试系统,包括:信号传递层模块,所述信号传递层模块提供与待测可重构FPGA软件直接的信号互联,并且被所述专用验证测试系统的其它模块所访问;验证指令层模块,所述验证指令层模块对所述可重构FPGA软件的待测目标重构代码最前端输入及最末端输出进行监控,并且还对所述待测目标重构代码的运行过程进行监控;验证功能层模块,所述验证功能层模块将所述待测目标重构代码的输出结果和验证平台的处理结果进行比对;验证环境层模块,所述验证环境层模块对场景使用在环境层中进行注册;及验证顶层模块,所述验证顶层模块定义全局顶层文件,并约束全局变量以及待测目标重构代码的工作模式。
Description
技术领域
本发明涉及计算机软件验证测试领域,尤其涉及基于星上在轨可重构FPGA软件的专用验证测试系统。
背景技术
现场可编程逻辑器件(FPGA)技术在过去的几十年中取得了惊人的发展,根本在于:FPGA不但可以解决电子系统小型化、低功耗、高可靠性等问题,而且它的开发周期短、开发软件投入少、芯片价格不断降低,促使FPGA越来越多地取代了ASIC的市场,特别是对小批量、多品种的产品需求,使FPGA成为首选。
目前,针对越来越多星上FPGA软件重构实现的需求,传统的FPGA验证测试手段无论是在验证功能测试点覆盖还是在验证准确度上都无法满足可重构FPGA软件的验证需求。常规的验证测试体系架构是以星上FPGA可重构代码设计需求规范为导向制定可验证测试方案,在明确所要验证测试点之后,采用硬件描述语言对待测试部分代码编写定向测试用例,在验证过程中通过观察输出波形来判断所设计的功能是否正确,其通常在EDA验证测试软件工具上实现,针对常规FPGA验证测试体系的架设一般如图1所示。图1示出了常规FPGA验证测试体系架设。
另外,吕欣欣等人在FPGA通用验证平台建立方法研究,微电子学与计算机,2010.5中提出了一种相对较先进的FPGA通用验证平台,该平台体系架构从采用层次化结构、统一测试用例格式和提取通用基类三方面入手建立,其体系架构主要通过模块化操作使得平台改变较容易,同时利用较清晰的平台层次化划分,保证各层次之间有一定的独立性。
发明内容
传统的FPGA验证测试体系架设单纯以任务需求为导向,其不能很好的适应可重构FPGA软件的诸多特殊验证点,如:重构过程监控、重构实现功能验证、重构代码完整性的主动检查等都成为了FPGA可重构软件的验证测试盲区。同时,繁琐复杂又多样化的重构功能需求,又要求驱动激励段的不断变化。测试激励代码的频繁更动、编译再到实现都需要花费大量的人力、时间代价。
后来提出的FPGA通用验证测试体系,虽然利用层次化结构、统一测试用例格式和提取通用基类来架设,但由于其主旨为建立通用的验证平台,但又没有考虑FPGA软件其与接口协议紧密相关,并无法实现针对所有种类或功能实现FPGA的通用性验证环境;同时该体系架构中的驱动类都来自于上层驱动层,通过调用预存在的驱动数据使得驱动进行传输,该种方法的产生会带来多个弊端:1.预编译存在的驱动代码库需要有一个很大的样本测试库,且这个库要针对所有芯片选型及不同功能进行预实现,其后台工作量可想而知,且一旦出现诸如可重构FPGA软件这类具有特殊测试点的验证需求,只能从其验证测试体系架设顶层进行添加,再逐层调用,步骤繁琐。2.也无法针对可重构FPGA软件所关注的期望验证点,如重构过程监控、重构功能实现是否正确等进行验证。3.体系架构层级过于严密,造成无法根据可重构需求进行自主调整删减。
针对现有技术中存在的问题,根据本发明的一个方面,提供一种可重构FPGA软件的专用验证测试系统,包括:信号传递层模块,所述信号传递层模块提供与待测可重构FPGA软件直接的信号互联,并且被所述专用验证测试系统的其它模块所访问;验证指令层模块,所述验证指令层模块对所述可重构FPGA软件的待测目标重构代码最前端输入及最末端输出进行监控,并且还对所述待测目标重构代码的运行过程进行监控;验证功能层模块,所述验证功能层模块将所述待测目标重构代码的输出结果和验证平台的处理结果进行比对;验证环境层模块,所述验证环境层模块对场景使用在环境层中进行注册;及验证顶层模块,所述验证顶层模块定义全局顶层文件,并约束全局变量以及待测目标重构代码的工作模式。
在本发明的一个实施例中,所述验证指令层模块包括:
一个或多个检测监控模块,所述一个或多个检测监控模块对所述可重构FPGA软件的待测目标重构代码最前端输入及最末端输出进行监控;
驱动产生模块,所述驱动产生模块用于驱动产生作为对待测目标重构代码的最直接激励输入,保证驱动激励正确完整的应用于待测目标重构代码;
驱动调度模块,所述驱动调度模块是驱动产生模块的上层协作模块,动态调整和改变驱动调度模块;
过程监控模块,所述过程监控模块对待测目标重构代码的运行过程进行监控;
时间记录模块,伴随过程监控模块对待测目标重构代码进行实时监控,并且通过设置开始结束寄存信号来获取完整重构时间、重构间隔。
在本发明的一个实施例中,所述验证功能层模块包括输入代理模块和输出代理模块。
在本发明的一个实施例中,所述输入代理模块控制检测监控模块何时开始对输入进行监控,何时协同驱动产生模块和驱动调度模块一起工作。
在本发明的一个实施例中,输出代理模对输出端的检测监控模块所获取的数据进行整理及整合,并对输出端的检测监控模块进行控制。
在本发明的一个实施例中,所述验证功能层模块包括:比对模块及模型参考库,通过所述模型参考库运用输入信号激励对复制目标代码实现进行二次确认验证测试,并通过比对模块将结果与实际目标测试代码经输出监视器的结果进行比对。
在本发明的一个实施例中,所述验证环境层模块包括常规重构功能验证环境库、重构测试代码环境库及重构跟踪代码环境库。
在本发明的一个实施例中,所述重构测试代码环境库对可重构FPGA软件进行以下验证:相关故障注入验证、重构程序正确性验证、重构程序完整性验证以及重构数据校验正确性验证。
在本发明的一个实施例中,所述重构跟踪代码环境库对可重构FPGA软件进行以下测试:重构失效恢复测试、系统重构时间测试、重构失效恢复测试。
在本发明的一个实施例中,所述验证顶层模块通过不同的约束,产生出不同的场景,实现对待测目标重构代码的定向功能测试点测试,或者通过随机场景改变而实现对待测目标重构代码的随机化验证。
本发明的提出拟建立一种针对星上在轨可重构FPGA软件的验证测试体系架设。该体系架设可以解决:
1)建立灵活可变的验证测试体系架设,运用该体系架设可以快速机动的针对星上可重构FPGA软件进行验证;
2)在体系架设模型中加入了过程监控模块,解决星上可重构FPGA软件可重构过程监控;
3)在体系架设模型中加入时间记录模块,解决星上可重构FPGA软件实际可重构时间,重构完成时间记录,重构时间间隔等测试;
4)在体系架设模型中加入DUT模块复制及记录比较模块,解决当前部分验证只验证测试功能点是否正确而无法证明其是否不存在错误的概念;
5)在体系架设模型中加入驱动调度控制模块,解决一次激励驱动发送逻辑无法灵活变更等问题。
附图说明
为了进一步阐明本发明的各实施例的以上和其它优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。在附图中,为了清楚明了,相同或相应的部件将用相同或类似的标记表示。
图1示出了常规FPGA验证测试体系架设。
图2示出根据本发明的一个实施例的可重构FPGA软件的专用验证测试系统200的示意框图。
图3示出了根据本发明的一个实施例的验证指令层模块中的全流程验证监控实现的示意框图。
图4示出了根据本发明的一个实施例的验证功能层模块中的模型参考及结果比对模块的实现的示意框图。
图5示出了根据本发明的一个实施例的验证环境针对可重构代码实现的验证测试点概图。
图6示出根据本发明的一个实施例的对可重构FPGA软件的验证过程的流程图。
具体实施方式
在以下的描述中,参考各实施例对本发明进行描述。然而,本领域的技术人员将认识到可在没有一个或多个特定细节的情况下或者与其它替换和/或附加方法、材料或组件一起实施各实施例。在其它情形中,未示出或未详细描述公知的结构、材料或操作以免使本发明的各实施例的诸方面晦涩。类似地,为了解释的目的,阐述了特定数量、材料和配置,以便提供对本发明的实施例的全面理解。然而,本发明可在没有特定细节的情况下实施。此外,应理解附图中示出的各实施例是说明性表示且不一定按比例绘制。
在本说明书中,对“一个实施例”或“该实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。在本说明书各处中出现的短语“在一个实施例中”并不一定全部指代同一实施例。
为了提高对FPGA软件重构测试验证的针对性、对多种重构实现形式的适用性以及对验证真实性与高效性的要求。针对FPGA可重构验证测试方向,提出了一种结合验证方法学的测试验证方案:基于FPGA软件重构的自顶向下的层次化验证测试方案。该自顶向下的层次化验证测试方案总体架构由:验证顶层、验证环境层、验证功能层、验证指令层及信号传递层共五个层次。五个层次之间既紧密联系,每一层之间又都通过模块化的划分保持一定的独立性。
图2示出根据本发明的一个实施例的可重构FPGA软件的专用验证测试系统200的示意框图。
如图2所示,专用验证测试系统200包括信号传递层模块210、验证指令层模块220、验证功能层模块230、验证环境层模块240及验证顶层模块250。
信号传递层模块210能够提供与待测可重构FPGA软件直接的信号互联,并且可自由地被它之上的任何层次模块所访问,在确保底层信号传递准确无误的前提下,极大的保证了平台的灵活性,其主要与接口、时钟域等连接。信号传递层模块210也作为对待测目标重构代码的最直接驱动层。
验证指令层模块220可包含一个或多个检测监控模块221、驱动调度模块222、过程监控模块223、时间记录模块224及驱动产生模块225等。
传统验证测试通常只关心输出结果与预期期望之间的一致性,而诸如可重构FPGA软件等的实际使用所需要关心的已不光是输出结果与预期期望这个相对简单的协同。因此一个或多个检测监控模块221需要针对性的对输入输出都增加检测监控模块,对输入及输出信号数据进行实时检测监控。
驱动产生模块225用于驱动产生作为对待测设备或目标代码(DUT)的最直接激励输入,需要保证其驱动激励能够正确完整的应用于DUT,其存在的价值就是对DUT的最直接激励输入验证。
驱动调度模块222可以作为驱动产生模块的上层及协作模块,由于可重构软件实现的特殊性及复杂性,单一的驱动产生或是无序的驱动激励无法实现对可重构软件的定向测试,其测试准确指向性不足,因此需要利用驱动调度模块来灵活产生驱动激励,并对多种驱动进行调度控制,根据可重构FPGA软件实际功能及所需验证测试点,动态调整和改变驱动调度模块可以强贴合度的实现激励产生及功能需求。
对于简单的FPGA实现其实关注输入输出一定程度上已经可以验证对DUT测试是否准确完备,但对于诸如星上可重构FPGA等复杂软件来说,仅仅针对输入输出监测监控无法只能说明其功能正确,但无法说明其设计不存在问题,很多内部问题无法得到及时暴露,因此创新的引入过程监控技术显得尤为重要,该技术的实现是通过对验证测试代码中增加伴随监控功能,通过对重要内部信号进行复制监控的同时,通过FPGA的管脚进行引出,这些信号将会通过管脚从测试板上传递到主控FPGA板上进行采集。
时间记录模块224结合过程监控模块来看,时间记录模块224可以在伴随过程监控对待测目标的实时监控的同时,通过设置开始结束寄存信号来获取完整重构时间、重构间隔等用于计算。较精准的解决了完整仿真重构时间检测的问题。
常规的仿真验证手段只能通过模拟仿真软件对内部信号进行仿真验证,但由于可重构FPGA软件的特殊性,当只针对可重构FPGA软件本身进行验证测试,同时借助仿真验证工具来进行内部信号模拟观测的验证手段往往会带来上述所提到的诸多缺点,且由于当前仿真速度限制无法完整执行整个重构过程模拟仿真等原因往往无法真实还原反应实际重构过程,同时还会造成包括:真实重构程序接收完整性及正确性判断、重构失效概率及重构失效恢复等符合重构FPGA软件的重要验证测试点的不可测问题。
要解决上述问题,本发明提出采用不同于传统验证测试只对结果进行观察的验证手段,通过对待测目标重构代码最前端输入及最末端输出都进行监控外,还创新性的加入了过程监控实现。图3示出了根据本发明的一个实施例的验证指令层模块中的全流程验证监控实现的示意框图。如图3所示,对待测目标重构代码310进行全流程验证监控。待测目标重构代码310的最前端通过监控器320进行监控,待测目标重构代码310的运行过程通过监控器330进行监控,待测目标重构代码310的输出端通过监控器340进行监控。
过程监控技术的实现是通过对验证测试代码中增加伴随监控功能,通过对重要内部信号进行复制监控的同时,通过FPGA的管脚进行引出,这些信号将会通过管脚从测试板上传递到主控FPGA板上进行采集。
而时间记录模块224的引入,伴随过程监控对待测目标的实时监控的同时,通过设置开始结束寄存信号来获取完整重构时间、重构间隔等用于计算。较精准的解决了完整仿真重构时间检测的问题。
驱动调度模块222的应用极大程度上解决了验证测试驱动激励的灵活控制,根据可重构FPGA软件实际功能及所需验证测试点,动态调整和改变驱动调度模块可以强贴合度的实现激励产生及功能需求。
验证功能层模块230可包含输入代理模块231、模型复制模块232、结果记录比对模块233、输出代理模块234等模块,其能够利用必要的抽象层事物来处理诸如将待测目标代码DUT的输出结果和验证平台的处理结果进行比对。验证功能层模块230对验证指令层模块220内的驱动模块、监视模块、序列调度模块等进行整合,同时引出了比对模块及模型参考库概念。
在本发明公开的可重构FPGA软件的专用验证测试系统200中,可将输入代理模块231和输出代理模块234视为一个工厂。其中输入代理模块231作为对验证指令层内的驱动模块、监视模块及驱动调度模块的整合。输入代理模块231能通过合理的任务产生及分配,指向性的控制监视模块何时开始对输入进行监控,何时协同驱动和调度模块一起工作;同时输入代理模块231作为整合,需要决策性的控制是否产生驱动调度,和如何产生驱动调度及产生何种驱动进行总体把控。输出代理模块234能够对输出检测监控模块所获取的数据进行整理及整合,同时对输出检测监控模块进行控制。
图4示出了根据本发明的一个实施例的验证功能层模块中的模型参考及结果比对模块的实现的示意框图。如图4所示,通过模型参考库410运用输入信号激励对复制的待测目标重构代码430实现进行二次确认验证测试,并通过结果比对模块420将结果与实际目标测试代码经输出监视器的结果进行比对,确保验证过程未引入偶发性测试结果错误,同时也规避了验证错在的对某一动作行为或功能认为其达到或是正确的,但并不能证明其不存在问题的情况发生。尤其是针对可重构FPGA软件实现形式需要对重构数据、重构过程数据及连续性校验、重构程序完整性及重构程序正确性进行多重校验,面对大数据量的重构程序读入验证功能层发挥着正确性保障的作用。
同时,模型复制模块及结果记录比对模块的提出还可用于自动化验证测试过程,将结果进行主动自动对比,并记录对比结果用于自动化测试,极大的减少人工重复劳动下又实现高准确性对比。
验证环境层模块240要求所有的派生类别都需要来自本身的场景之中,所有的场景使用都只需要在环境层中进行注册后便可使用,完全不需要重新定义后再进行使用。在方便调用的同时,起到了很好的管理作用,又能快捷的进行增加场景设置。
图5示出了根据本发明的一个实施例的验证环境针对可重构代码实现的验证测试点概图。如图5所示,该环境层模块240中所添加的应用场景包括常规重构功能验证环境库510、重构测试代码环境库520及重构跟踪代码环境库530。常规重构功能验证环境库510包含传统验证手段,能够按照时序逻辑对可重构FPGA软件开展包括:正常输入输出帧检测、异常或错误输入帧检测、帧间隔等常规可重构功能实现检测。
重构测试代码环境库520及重构跟踪代码环境库530包含了针对当前主要使用的数种FPGA重构软件实现形式的对应功能测试程序外还可以通过预设开始、结束寄存器来实现对实际FPGA重构代码完整性的判断,亦能够对真实FPGA重构速率等进行检测,较之普通仿真验证的不可见信息实现测试。得益于重构跟踪代码的烧入,能够快速定位故障发生点及故障产生原因分析,并能够全流程跟踪FPGA重构过程。具体而言,重构测试代码环境库520对可重构FPGA软件进行以下验证:相关故障注入验证、重构程序正确性验证、重构程序完整性验证、以及重构数据校验正确性验证等等。重构跟踪代码环境库530对可重构FPGA软件进行以下测试:重构失效恢复测试、系统重构时间测试、重构失效恢复测试等等。
当然,仅加入重构测试代码环境库520及重构跟踪代码环境库530还是不能让测试者直观快速的发现问题、定位问题再解决问题。很大程度上基于FPGA的可重构通用验证平台的实现还需要借助我们引入的监视系统,较之常规的验证测试中对输出结果的监视。本发明在保留输出结果监视的同时,加入了对输入结果及重构过程中的监控跟踪,利用监视器信息不断的通过硬件测试验证平台向上位机返回:输入->进程中->输出各阶段全流程信息,便于人工快速直观的发现问题所在。
验证顶层模块250可定义全局顶层文件,同时约束一些全局的变量以及待测目标代码DUT的工作模式等配置,可以通过不同的约束,从而能够产生出不同的场景,亦可以实现对待测目标代码DUT的定向功能测试点测试亦可以通过随机场景改变而实现对待测目标代码DUT的随机化验证。
以上结合图2至图5给出了基于星上在轨可重构FPGA软件的专用验证测试系统,该系统包括5个层次,每个层次之间又通过模块化的设立在保有自有功能属性的同时,即灵活协调又不失统一性。
图6示出根据本发明的一个实施例的对可重构FPGA软件的验证过程的流程图。
使用本发明公开的系统在针对星上在轨可重构FPGA软件的验证过程中,首先在步骤610,需要根据任务需求及目标代码实现从重构验证测试环境库中调取针对性的重构验证测试激励,用于激励驱动调度模型中,在调度模型中进行激励驱动发送顺序的选配,同时架设输入激励及输出激励的常规检测。在步骤620,当验证测试开始,预置的验证进程监视及时间记录模型开始工作,这两个模型协同工作能够实时对重构目标代码进行监控并提取时间信息,用于方便的对每一次重构过程及进程进行时间轴的监控,同时计算出实际重构时间及重构间隔计算。在步骤630,通过模型复制功能模块对目标代码实现二次重复验证,当目标重构代码动作的同时模型复制功能模块也同时动作,其产生的结果通过记录比较模块与实际DUT模块产生的结果进行自动化比对,高效率的规避偶发性验证问题盲点。
当前星上主要使用Xilinx的VirtexII及IV来实现可重构功能,但考虑到未来其他芯片选型及根据新的重构实现形式产生的新的验证需求的产生,本体系架设的验证环境层相对开放,能够随时增加如重构验证测试环境库及重构跟踪环境库等其他环境库用于扩充。所扩充内容又能方便的作用于之下的其他层次。
验证顶层相对固定,用于定义全局顶层文件,同时约束一些全局的变量以及DUT的工作模式等配置,可以通过不同的约束,从而能够产生出不同的场景,亦可以实现对DUT的定向功能测试点测试亦可以通过随机场景改变而实现对DUT的随机化验证。
尽管上文描述了本发明的各实施例,但是,应该理解,它们只是作为示例来呈现的,而不作为限制。对于相关领域的技术人员显而易见的是,可以对其做出各种组合、变型和改变而不背离本发明的精神和范围。因此,此处所公开的本发明的宽度和范围不应被上述所公开的示例性实施例所限制,而应当仅根据所附权利要求书及其等同替换来定义。
Claims (9)
1.一种可重构FPGA软件的专用验证测试系统,包括:
信号传递层模块,所述信号传递层模块提供与待测可重构FPGA软件直接的信号互联,并且被所述专用验证测试系统的其它模块所访问;
验证指令层模块,所述验证指令层模块对所述可重构FPGA软件的待测目标重构代码最前端输入及最末端输出进行监控,并且还对所述待测目标重构代码的运行过程进行监控;
验证功能层模块,所述验证功能层模块将所述待测目标重构代码的输出结果和验证平台的处理结果进行比对;
验证环境层模块,所述验证环境层模块对场景使用在环境层中进行注册;及
验证顶层模块,所述验证顶层模块定义全局顶层文件,并约束全局变量以及待测目标重构代码的工作模式,
其中所述验证指令层模块包括:
一个或多个检测监控模块,所述一个或多个检测监控模块对所述可重构FPGA软件的待测目标重构代码最前端输入及最末端输出进行监控;
驱动产生模块,所述驱动产生模块用于驱动产生作为对待测目标重构代码的最直接激励输入,保证驱动激励正确完整的应用于待测目标重构代码;
驱动调度模块,所述驱动调度模块是驱动产生模块的上层协作模块,动态调整和改变驱动调度模块;
过程监控模块,所述过程监控模块对待测目标重构代码的运行过程进行监控;
时间记录模块,伴随过程监控模块对待测目标重构代码进行实时监控,并且通过设置开始、结束寄存信号来获取完整重构时间、重构间隔。
2.如权利要求1所述的可重构FPGA软件的专用验证测试系统,其特征在于,所述验证功能层模块包括输入代理模块和输出代理模块。
3.如权利要求2所述的可重构FPGA软件的专用验证测试系统,其特征在于,所述输入代理模块控制检测监控模块何时开始对输入进行监控,何时协同驱动产生模块和驱动调度模块一起工作。
4.如权利要求3所述的可重构FPGA软件的专用验证测试系统,其特征在于,输出代理模对输出端的检测监控模块所获取的数据进行整理及整合,并对输出端的检测监控模块进行控制。
5.如权利要求2所述的可重构FPGA软件的专用验证测试系统,其特征在于,所述验证功能层模块包括:比对模块及模型参考库,通过所述模型参考库运用输入信号激励对复制目标代码实现进行二次确认验证测试,并通过比对模块将结果与实际目标测试代码经输出监视器的结果进行比对。
6.如权利要求1所述的可重构FPGA软件的专用验证测试系统,其特征在于,所述验证环境层模块包括常规重构功能验证环境库、重构测试代码环境库及重构跟踪代码环境库。
7.如权利要求6所述的可重构FPGA软件的专用验证测试系统,其特征在于,所述重构测试代码环境库对可重构FPGA软件进行以下验证:相关故障注入验证、重构程序正确性验证、重构程序完整性验证以及重构数据校验正确性验证。
8.如权利要求6所述的可重构FPGA软件的专用验证测试系统,其特征在于,所述重构跟踪代码环境库对可重构FPGA软件进行以下测试:重构失效恢复测试、系统重构时间测试。
9.如权利要求1所述的可重构FPGA软件的专用验证测试系统,其特征在于,所述验证顶层模块通过不同的约束,产生出不同的场景,实现对待测目标重构代码的定向功能测试点测试,或者通过随机场景改变而实现对待测目标重构代码的随机化验证。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810208126.6A CN108388516B (zh) | 2018-03-14 | 2018-03-14 | 可重构fpga软件的专用验证测试系统 |
CN202110759404.9A CN113392025B (zh) | 2018-03-14 | 2018-03-14 | 对可重构fpga软件进行过程监控的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810208126.6A CN108388516B (zh) | 2018-03-14 | 2018-03-14 | 可重构fpga软件的专用验证测试系统 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110759404.9A Division CN113392025B (zh) | 2018-03-14 | 2018-03-14 | 对可重构fpga软件进行过程监控的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108388516A CN108388516A (zh) | 2018-08-10 |
CN108388516B true CN108388516B (zh) | 2021-07-23 |
Family
ID=63067334
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110759404.9A Active CN113392025B (zh) | 2018-03-14 | 2018-03-14 | 对可重构fpga软件进行过程监控的方法 |
CN201810208126.6A Active CN108388516B (zh) | 2018-03-14 | 2018-03-14 | 可重构fpga软件的专用验证测试系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110759404.9A Active CN113392025B (zh) | 2018-03-14 | 2018-03-14 | 对可重构fpga软件进行过程监控的方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN113392025B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109492272A (zh) * | 2018-10-22 | 2019-03-19 | 暨南大学 | 一种可重构定时网络条件事件系统的建模与验证方法及系统 |
CN109508288B (zh) * | 2018-10-22 | 2022-04-01 | 暨南大学 | 一种模型检测方法、装置及存储介质 |
CN109344086B (zh) * | 2018-11-15 | 2021-09-17 | 天津津航计算技术研究所 | 一种基于sip芯片的软件测试平台 |
CN109884517B (zh) * | 2019-03-21 | 2021-04-30 | 浪潮商用机器有限公司 | 一种待测芯片及测试系统 |
CN110321280B (zh) * | 2019-05-22 | 2022-03-22 | 梁俊杰 | 一种数据处理方法以及相关设备 |
CN111965447B (zh) * | 2020-07-22 | 2022-10-18 | 电子科技大学 | 一种硬件可组态的模拟信号综合测试系统 |
CN111880983B (zh) * | 2020-08-04 | 2021-12-14 | 北京天融信网络安全技术有限公司 | 一种can总线异常检测方法及装置 |
CN112596966B (zh) * | 2020-12-17 | 2022-11-01 | 海光信息技术股份有限公司 | 芯片验证方法、装置、设备、存储介质 |
CN114003495A (zh) * | 2021-10-29 | 2022-02-01 | 四川虹美智能科技有限公司 | 无人售卖柜的安卓应用重构方法、装置及存储介质 |
CN114676064B (zh) * | 2022-04-08 | 2024-08-23 | 浙江大学 | 一种面向硬件语言代码的通用测试系统和方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1336588A (zh) * | 2000-08-02 | 2002-02-20 | 国际商业机器公司 | 用动态可重构测试电路来跟踪硬件状态的方法和装置 |
US7302625B1 (en) * | 2005-11-21 | 2007-11-27 | Xilinx, Inc. | Built-in self test (BIST) technology for testing field programmable gate arrays (FPGAs) using partial reconfiguration |
CN104077204A (zh) * | 2014-07-22 | 2014-10-01 | 无锡中微爱芯电子有限公司 | 可重构的8位rsic单片机仿真器 |
CN104142876A (zh) * | 2013-05-06 | 2014-11-12 | 上海华虹集成电路有限责任公司 | Usb设备控制器模块功能验证方法及验证环境平台 |
CN106407516A (zh) * | 2016-08-31 | 2017-02-15 | 北京中电华大电子设计有限责任公司 | 一种并行验证的验证方法 |
CN107430586A (zh) * | 2015-07-31 | 2017-12-01 | 吴国盛 | 自适应芯片和配置方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100921314B1 (ko) * | 2004-07-12 | 2009-10-13 | 양세양 | 검증결과 재활용 기법을 채용한 고성능 설계검증 장치 및이를 활용한 신속한 설계검증 방법 |
CN107423505A (zh) * | 2017-07-21 | 2017-12-01 | 山东华芯半导体有限公司 | 一种模块级和SoC级可重用的验证系统及验证方法 |
-
2018
- 2018-03-14 CN CN202110759404.9A patent/CN113392025B/zh active Active
- 2018-03-14 CN CN201810208126.6A patent/CN108388516B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1336588A (zh) * | 2000-08-02 | 2002-02-20 | 国际商业机器公司 | 用动态可重构测试电路来跟踪硬件状态的方法和装置 |
US7302625B1 (en) * | 2005-11-21 | 2007-11-27 | Xilinx, Inc. | Built-in self test (BIST) technology for testing field programmable gate arrays (FPGAs) using partial reconfiguration |
CN104142876A (zh) * | 2013-05-06 | 2014-11-12 | 上海华虹集成电路有限责任公司 | Usb设备控制器模块功能验证方法及验证环境平台 |
CN104077204A (zh) * | 2014-07-22 | 2014-10-01 | 无锡中微爱芯电子有限公司 | 可重构的8位rsic单片机仿真器 |
CN107430586A (zh) * | 2015-07-31 | 2017-12-01 | 吴国盛 | 自适应芯片和配置方法 |
CN106407516A (zh) * | 2016-08-31 | 2017-02-15 | 北京中电华大电子设计有限责任公司 | 一种并行验证的验证方法 |
Non-Patent Citations (2)
Title |
---|
"New methods of FPGA co-verification for system on chip (SoC)";Lin Yi-fan等;《2005 6th International Conference on ASIC》;20060403;第219-222页 * |
"基于FPGA的网络协议处理器设计及验证";吴剑;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120515(第05期);I139-39 * |
Also Published As
Publication number | Publication date |
---|---|
CN113392025B (zh) | 2024-01-26 |
CN113392025A (zh) | 2021-09-14 |
CN108388516A (zh) | 2018-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108388516B (zh) | 可重构fpga软件的专用验证测试系统 | |
CN107038280B (zh) | 一种软硬件协同仿真的验证系统及其方法 | |
CN102141962B (zh) | 一种安全性分布式测试框架系统及其测试方法 | |
CN109840207B (zh) | 一种基于autosar网络管理自动化测试系统及测试方法 | |
US20020091968A1 (en) | Object-oriented data driven software GUI automated test harness | |
US7047174B2 (en) | Method for producing test patterns for testing an integrated circuit | |
CN111339731B (zh) | 一种面向SoC的FPGA验证平台和验证方法 | |
CN114036013B (zh) | 一种基于uvm的应答器芯片多模块同步验证平台和验证方法 | |
CN112270149A (zh) | 验证平台自动化集成方法、系统及电子设备和存储介质 | |
CN114325333A (zh) | 一种高效率规范化的soc系统级验证方法及装置 | |
CN114912413A (zh) | 芯片验证方法及平台 | |
CN115470748A (zh) | 一种芯片仿真加速方法、装置、电子设备及存储介质 | |
CN114816980A (zh) | 一种嵌入式通信系统用自动测试装置及方法 | |
US8140315B2 (en) | Test bench, method, and computer program product for performing a test case on an integrated circuit | |
CN105446859B (zh) | 功耗分析的软件条件监测及波形文件自动生成方法 | |
CN116090376B (zh) | 芯片集成验证组件开发方法、装置及计算机设备 | |
Boroday et al. | Can a model checker generate tests for non-deterministic systems? | |
CN112612697A (zh) | 一种基于字节码技术的软件缺陷测试定位方法及系统 | |
CN116663490A (zh) | 一种异步存储芯片的验证方法、平台、装置及介质 | |
CN116629171A (zh) | 一种基于综合网表的fpga芯片调试方法及装置 | |
CN108802600A (zh) | 一种基于fpga的集成电路验证系统及方法 | |
CN115794655A (zh) | 一种台架测试方法及装置、电子设备 | |
RU2729210C1 (ru) | Комплекс тестирования программного обеспечения электронных устройств | |
CN114625592A (zh) | 一种fpga原型验证快速调试的方法、系统、设备和存储介质 | |
Ray et al. | Validating automotive control software using instrumentation-based verification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |