多层现场可编程门阵列硬件要求评估和验证的制作方法

文档序号:6546314阅读:97来源:国知局
多层现场可编程门阵列硬件要求评估和验证的制作方法
【专利摘要】本发明公开了一种验证用于集成系统的现场可编程门阵列的方法,其包括:从所述现场可编程门阵列的一组要求中选择不受所述集成系统的动态影响的要求的第一子集;从所述现场可编程门阵列的一组要求中选择受所述集成系统的动态影响的要求的第二子集;使用验证要求的第一子集的芯片测试器对所述现场可编程门阵列执行硬件测试;和当所述现场可编程门阵列安装在所述集成系统内时对所述现场可编程门阵列执行硬件测试以验证要求的第二子集。
【专利说明】多层现场可编程门阵列硬件要求评估和验证

【技术领域】
[0001]本发明涉及硬件验证,且特定地说涉及一种评估并验证用于机载电子系统的现场可编程门阵列(FPGA)要求的方法。

【背景技术】
[0002]FPGA用于多种应用,包括(例如)飞行器的电子系统。验证这些FPGA的功能是重要的过程。验证过程包括验证物理装置适当地实施FPGA的要求和验证物理装置适当地与系统集成。
[0003]硬件测试准则可以由(例如)航空无线电技术委员会(RTCA)工业标准D0-254定义,所述工业标准D0-254定义用于机载电子硬件的设计保证指南。D0-254标准包括基于要求的硬件验证和基于稳定性的验证的规范。基于要求的验证包括验证定义FPGA的操作的要求。基于稳定性的验证定位于界限和异常操作状况。


【发明内容】

[0004]一种验证用于集成系统的现场可编程门阵列的方法包括:从现场可编程门阵列的一组要求中选择不受所述集成系统的动态影响的要求的第一子集;从现场可编程门阵列的所述组的要求中选择受集成系统的动态影响的要求的第二子集;使用验证要求的第一子集的芯片测试器对现场可编程门阵列执行硬件测试;和当现场可编程门阵列安装在集成系统内时对现场可编程门阵列执行硬件测试以验证要求的第二子集。

【专利附图】

【附图说明】
[0005]图1是示出了用于执行现场可编程门阵列的验证的系统的图。
[0006]图2是示出了用于执行现场可编程门阵列的验证的方法的流程图。
[0007]图3是示出了用于评估现场可编程门阵列的验证的方法的流程图。

【具体实施方式】
[0008]本文公开了一种用于评估并验证用于机载电子系统的现场可编程门阵列(FPGA)的要求的方法,其包括通过芯片级测试器、完全集成系统测试或其两者选择硬件测试的要求。分析FPGA要求以确定每个要求的“期望操作环境”。使用独立芯片测试执行并验证不取决于集成FPGA所在的系统的动态的FPGA要求。然后利用完全系统集成测试以验证取决于集成FPGA所在的系统的动态的要求。在过去,认证机构不允许使用芯片级测试来验证用于机载电子系统的FPGA。通过评估每个FPGA要求且使用独立芯片测试来验证不受系统的动态影响的要求,可以满足机载电子硬件认证要求并同时大幅减小需要使用完全系统集成测试验证的测试案例的量。完全系统集成测试是昂贵又耗时的过程。减小需要使用完全系统集成测试验证的FPGA要求的量会大幅减小验证FPGA的时间和成本。
[0009]图1是示出了用于执行FPGA12的验证的系统10的方框图。系统10包括仿真环境14、独立芯片测试环境16和集成系统18。仿真环境14包括寄存器传输级(RTL)仿真软件20、输入向量22、验证向量24和设计和测试台26。仿真环境14可以实施于(例如)第一计算机系统上。独立芯片测试环境16包括独立芯片测试器28和向量测试软件30。独立芯片测试环境16可以实施于(例如)第二计算机系统中。独立芯片测试器28可以是能够对接FPGA12以对FPGA12的输入和输出提供完全控制的任何硬件。独立芯片测试环境16产生输出向量32。第一计算机系统和第二计算机系统可以或可以不实施为相同计算机系统。集成系统18可以是(例如)FPGA12被设计的飞行器燃气涡轮机引擎控制系统或任何其它系统。虽然示为对接独立芯片测试器28,但是FPGA12在完全系统集成测试期间安装在集成系统18内。虽然不为用于验证FPGA的系统,但是系统10也可用来验证用于集成系统18的任何数字逻辑电路。
[0010]仿真环境14是用来以软件验证待测试设计(DUT)。设计和测试台26是(例如)包括用于FPGA12的DUT和测试台的电子档案。例如可以使用硬件描述语言(HDL)指定DUT。RTL仿真软件20加载设计和测试台26以在仿真中测试并验证DUT。仿真中的测试和验证是使用任何已知方法而实现。RTL仿真软件20是能够基于DUT中指定的HDL仿真硬件设计的任何仿真软件。虽然描述为寄存器传输级的仿真软件,但是仿真软件20可以是能够以任何物理抽象度仿真DUT的任何软件。
[0011]RTL仿真软件20创建输入向量22和验证向量24。输入向量22是基于设计和测试台26中指定的测试台而创建。输入向量22表示FPGA12的输入引脚的状态。对于各自输入向量22中的每个,验证向量24对应于FPGA12的输出引脚的状态。验证向量24是在FPGA设计的仿真和测试期间由RTL仿真软件20而生成。RTL仿真软件20验证DUT适当地实施FPGA12的设计要求。
[0012]独立芯片测试环境16是用来针对期望操作环境不取决于其中集成FPGA12的系统的要求验证关于FPGA12的设计26的硬件实施方式的硬件环境。独立芯片测试环境16是能够对FPGA12进行芯片级测试的任何环境。在实施方案中,使用基于使用任何已知合成工具和布局布线工具的DUT的“烧录文件”配置FPGA12。FPGA12被安装/连接到独立芯片测试器28以进行独立芯片测试。输入向量22在FPGA12的各自输入引脚上施加于FPGA12的输入,且FPGA12在其各自输出引脚上提供输出32。然后比较输出32与验证向量24以确定测试是否成功。独立芯片测试环境16对FPGA12的输入和输出提供完全控制,这实现故障状况和异常操作状况的稳定覆盖。
[0013]在实施方案中,独立芯片测试环境16包括可以安装在计算机系统内的母板和子板。FPGA12在独立芯片测试期间对接子板。母板对接子板以将输入向量22从向量测试软件30提供到FPGA12。母板从子板接收输出向量32并将输出向量32提供给向量测试软件30。向量测试软件30比较输出向量32与验证向量24以验证关于FPGA12的设计26的硬件实施方式。
[0014]对FPGA12的要求执行分析以确定并选择应对集成系统18使用完全系统集成测试验证哪些要求。FPGA要求可以归为两个种类。第一种类是不受集成系统18的动态影响的要求。对于这样的第一种类,如D0-254中定义的“期望操作环境”的界限被限于FPGA12本身。这些要求定义明确、具有决定性且时序独立于FPGA输入的基本FPGA功能。对这些要求执行验证以保证由合成工具和布局布线工具提供的编程到FPGA12中的“烧录文件”准确地实施由DUT中的HDL描述的门级逻辑。例如,诸如重设时设置的信号、基于等式驱动的输入或基于内部信号驱动的时钟的要求是归为这个类别的测试案例的实例。可只使用独立芯片测试环境16执行并验证这个种类内的测试。
[0015]第二种类的测试包括受集成系统18的动态影响的要求。对于这个种类,如D0-254中定义的“期望操作环境”的界限被扩展来包括完全集成系统18,因为FPGA12外部的集成系统18的操作将会影响FPGA12的操作和结果。这些要求定义取决于整个系统如何操作(诸如闭环操作)或时序参数的复杂或动态FPGA功能。这些要求的验证旨在保证FPGA12的实施方式适当地与集成系统18集成。例如,应在集成系统18中测试诸如需要消除的FPGA输入、需要集成地过滤的AC输入或需要在给定时间周期内监控FPGA输入的测试案例,因为其全部取决于集成系统18的动态。虽然已对D0-254进行描述,但是可以使用任何机载电子硬件认证规范执行FPGA要求的分析。
[0016]FPGA12安装在集成系统18内以对归为第二种类的选定组的要求执行完全系统集成测试。可以使用任何已知方法在集成系统18内测试FPGA12。通过使用独立芯片测试环境16和完全系统测试两者对集成系统18执行验证,FPGA12的所有要求和方面均能够以硬件在每个要求的“期望操作环境”中完整测试。集成系统18的完全系统测试中不能测试许多故障状况,且因此在过去只以仿真来测试所述故障状况。使用独立芯片测试环境16,现在由于在独立芯片测试环境16中完全控制FPGA12的输入和输出而可以硬件完全测试故障状况。
[0017]对集成系统18的完全系统测试可能招致高成本且需要大量时间。在过去,在D0-254标准或任何其它机载电子硬件认证标准下验证FPGA12涉及对集成系统18执行所有硬件测试。因为归为第一种类的测试案例不取决于集成系统18的动态,所以可在独立芯片测试环境16内运行并验证这些测试,同时仍然符合机载电子硬件认证标准。通过减小在集成系统18上运行的测试案例的数量,实现大幅减小验证FPGA12的时间和成本,同时仍然满足机载电子硬件认证标准。
[0018]继续参考图1,图2是示出了用于执行FPGA12的验证的方法50的流程图。在步骤52处,使用RTL仿真软件20运行设计和测试台26。由RTL仿真软件20生成输入向量22和验证向量24。在步骤54处,确定在RTL仿真软件20上运行的仿真是否成功。如果仿真失败,那么方法50进行到步骤68以指示FPGA12的验证失败。如果仿真成功,那么方法50进行到步骤56。在步骤56处,使用由RTL仿真软件20生成的输入向量22在独立芯片测试环境16内测试FPGA12。测试期间生成输出向量32。比较输出向量32与由RTL仿真软件20生成的验证向量24。在步骤58处,如果输出向量32匹配验证向量24,那么方法50进行到步骤60。如果输出向量32不匹配验证向量24,那么方法50进行到步骤68以指示FPGA12的验证失败。在步骤60处,确定基于集成系统18的动态的要求的子集。图3中更加详细地示出了步骤60处执行的评估的实施方案。在步骤62处,开发测试以验证在集成系统18上运行已识别的要求的子集。在步骤64处,如果集成系统测试成功,那么方法50进行到步骤66且已成功验证FPGA12。如果集成系统测试不成功,那么方法50进行到步骤68以指示FPGA12的验证失败。虽然在步骤60处示出,但是因为可以在执行方法50之前生成包括所希望的测试案例的测试计划,所以可在方法50内的任何点处执行集成系统要求的选择。
[0019]图3是示出了用于评估现场可编程门阵列要求的方法80的流程图。除了其它以夕卜,用于确定FPGA要求是否受集成系统18的动态影响的评估准则还可以包括时序、仲裁、硬件/软件集成、外部控制、测试模式特征、闭环操作和瞬态响应准则。
[0020]在步骤82处,确定FPGA要求是否是基于时间的要求。时序准则定位于定义作为集成系统18的适当操作不可或缺的临界时序参数的要求。例如,用于外部随机访问存储器访问的写入循环时序取决于集成系统18的动态。如果要求定义时序,那么方法80进行到步骤98且选择FPGA要求以对集成系统18进行测试。如果要求没有定义时序,那么方法80进行到步骤84。
[0021]在步骤84处,确定FPGA要求是否是基于仲裁的要求。仲裁控制准则定位于定义外部仲裁控制的要求。例如,使用至少一个外部总线请求器对FPGA12的共享数据总线的适当访问取决于集成系统18的动态。如果要求定义仲裁,那么方法80进行到步骤98且选择FPGA要求以对集成系统18进行测试。如果要求没有定义仲裁,那么方法80进行到步骤86。
[0022]在步骤86处,确定FPGA要求是否是基于硬件/软件集成的要求。硬件/软件集成准则定位于定义硬件与软件(诸如从内部FPGA寄存器读取的软件)之间的集成的要求。如果要求定义硬件/软件集成,那么方法80进行到步骤98且选择FPGA要求以对集成系统18进行测试。如果要求没有定义仲裁,那么方法80进行到步骤88。
[0023]在步骤88处,确定FPGA要求是否定义外部控制逻辑。外部控制准则定位于定义对外部管理组件的控制的要求。例如,用于以太网控制器的自动配置设置受集成系统18的动态影响。如果要求定义外部控制逻辑,那么方法80进行到步骤98且选择FPGA要求以对集成系统18进行测试。如果要求没有定义外部控制逻辑,那么方法80进行到步骤90。
[0024]在步骤90处,确定FPGA要求是否定义测试模式特征。测试模式特征准则定位于定义在正常系统操作期间锁定的特征的要求。例如,仿真期间启用但是集成系统18中不应启用的测试模式是应在集成系统18内测试的要求。如果要求定义测试模式特征,那么方法80进行到步骤98且选择FPGA要求以对集成系统18进行测试。如果要求没有定义测试模式特征,那么方法80进行到步骤92。
[0025]在步骤92处,确定FPGA要求是否定义闭环操作。闭环操作准则定位于定义基于环路反馈或取决于或定义集成系统18的动态的闭环控制的输出的要求。如果要求定义闭环操作,那么方法80进行到步骤98且选择FPGA要求以对集成系统18进行测试。如果要求没有定义闭环操作,那么方法80进行到步骤94。
[0026]在步骤94处,确定FPGA要求是否是瞬态响应要求。瞬态响应准则定位于定义FPGA12对输入瞬态的响应的要求。例如,对FPGA12的输入信号实施的滤波器受集成系统18的动态影响。如果要求定义瞬态响应,那么方法80进行到步骤98且选择FPGA要求以对集成系统18进行测试。如果要求没有定义瞬态响应,那么方法80进行到步骤96且选择要求以由独立芯片测试环境16进行验证。
[0027]可能实施方案的讨论
[0028]下文是本发明的可能实施方案的非详尽描述。
[0029]一种验证用于集成系统的现场可编程门阵列的方法包括:从现场可编程门阵列的一组要求中选择不受集成系统的动态影响的要求的第一子集;从现场可编程门阵列的所述组的要求中选择受集成系统的动态影响的要求的第二子集;使用验证要求的第一子集的芯片测试器对现场可编程门阵列执行硬件测试;和当现场可编程门阵列安装在集成系统内时对现场可编程门阵列执行硬件测试以验证要求的第二子集。
[0030]先前段落的方法可视情况包括(此外和/或替代地)以下特征、配置和/或额外组件中的任何一个或多个:
[0031]所述方法还包括使用寄存器传输级仿真在计算机系统上生成一组输入向量;和使用寄存器传输级仿真在计算机系统上生成用于各自输入向量的一组验证向量。对现场可编程门阵列执行硬件测试包括使用芯片测试器将输入向量提供给现场可编程门阵列;和使用计算机系统比较现场可编程门阵列的输出与验证向量以验证要求的第一子集。
[0032]所述方法还包括运行寄存器传输级仿真以验证加载到现场可编程门阵列的设计。
[0033]比较现场可编程门阵列的输出与验证向量包括使用在计算机系统上运行的向量测试软件比较输出向量与验证向量。
[0034]要求的第一子集均不包括时序要求、仲裁要求、硬件/软件集成要求、外部逻辑控制要求、测试模式特征要求、闭环操作要求或瞬态响应要求。
[0035]要求的第二子集中的每个包括以下项的一个或多个:时序要求、仲裁要求、硬件/软件集成要求、外部逻辑控制要求、测试模式特征要求、闭环操作要求和瞬态响应要求。
[0036]一种用于验证用于机载集成系统的现场可编程门阵列的系统除了其它以外还包括:独立芯片测试器和集成系统测试环境。现场可编程门阵列对接独立芯片测试器以验证第一组要求。当现场可编程门阵列安装在集成系统内时在现场可编程门阵列上运行一组测试以验证第二组要求。第一组要求不受集成系统的动态影响且第二组要求受集成系统的动态影响。
[0037]先前段落的系统可视情况包括(此外和/或替代地)以下特征、配置和/或额外组件中的任何一个或多个:
[0038]执行待测试设计的仿真的计算机系统。计算机系统基于仿真生成输入向量和验证向量。输入向量被提供给现场可编程门阵列以验证第一组要求。
[0039]独立芯片测试器还包括基于现场可编程门阵列的输出生成输出向量的向量测试软件。向量测试软件比较验证向量与输出向量以验证第一组要求。
[0040]向量测试软件安装在计算机系统上。
[0041]计算机系统被配置来基于测试台执行待测试设计的仿真。
[0042]还基于测试台生成输入向量。
[0043]第一组要求均不包括时序要求、仲裁要求、硬件/软件集成要求、外部逻辑控制要求、测试模式特征要求、闭环操作要求或瞬态响应要求。
[0044]第二组要求中的每个包括以下项的一个或多个:时序要求、仲裁要求、硬件/软件集成要求、外部逻辑控制要求、测试模式特征要求、闭环操作要求和瞬态响应要求。
[0045]一种验证用于符合机载电子硬件标准的现场可编程门阵列的方法除了其它以外还包括:选择现场可编程门阵列的第一组要求;选择现场可编程门阵列的第二组要求;将现场可编程门阵列安装到独立芯片测试器中;由独立芯片测试器验证第一组要求;和将现场可编程门阵列安装到集成系统中;和对集成系统执行测试以验证第二组要求。第一组要求不取决于现场可编程门阵列被设计的集成系统的动态。第二组要求取决于现场可编程门阵列被设计的集成系统的动态。
[0046]先前段落的方法可视情况包括(此外和/或替代地)以下特征、配置和/或额外组件中的任何一个或多个:
[0047]所述方法还包括使用在计算机系统上运行的仿真软件和测试台执行待测试设计的仿真;基于仿真和测试台的结果生成输入向量和验证向量;当现场可编程门阵列安装到独立芯片测试器中时将输入向量提供给现场可编程门阵列;和比较当现场可编程门阵列安装在独立芯片测试器中时由现场可编程门阵列生成的输出向量与验证向量。
[0048]比较输出向量包括比较输出向量与验证向量以验证第一组要求。
[0049]比较输出向量包括使用在计算机系统上运行的向量测试软件比较输出向量与验证向量。
[0050]第一组要求均不包括时序要求、仲裁要求、硬件/软件集成要求、外部逻辑控制要求、测试模式特征要求、闭环操作要求或瞬态响应要求。
[0051]第二组要求中的每个包括以下项的一个或多个:时序要求、仲裁要求、硬件/软件集成要求、外部逻辑控制要求、测试模式特征要求、闭环操作要求和瞬态响应要求。
[0052]虽然已参考示例性实施方案描述了本发明,但是本领域一般技术人员应了解在不违背本发明的范围的情况下可以做出各种改变且等效物可以替换为其元件。此外,在不背离本发明的基本范围的情况下可以做出许多修改以使特定情况或材料适应于本发明的教学。因此,希望本发明不限于所公开的特定实施方案,但希望本发明将包括归为随附权利要求的范围内的所有实施方案。
【权利要求】
1.一种验证用于集成系统的现场可编程门阵列的方法,所述方法包括: 从所述现场可编程门阵列的一组要求中选择不受所述集成系统的动态影响的所述要求的第一子集; 从所述现场可编程门阵列的所述组的要求中选择受所述集成系统的所述动态影响的所述要求的第二子集; 使用验证所述要求的所述第一子集的芯片测试器对所述现场可编程门阵列执行第一硬件测试;和 当所述现场可编程门阵列安装在所述集成系统内时对所述现场可编程门阵列执行第二硬件测试以验证所述要求的所述第二子集。
2.根据权利要求1所述的方法,其还包括: 使用寄存器传输级仿真在计算机系统上生成一组输入向量;和 使用所述寄存器传输级仿真在所述计算机系统上生成用于各自输入向量的一组验证向量;和 其中对所述现场可编程门阵列执行第一硬件测试包括: 使用所述芯片测试器将所述输入向量提供给所述现场可编程门阵列;和 使用所述计算机系统比较所述现场可编程门阵列的输出与所述验证向量以验证所述要求的所述第一子集。
3.根据权利要求2所述的方法,其还包括运行所述寄存器传输级仿真以验证加载到所述现场可编程门阵列的设计。
4.根据权利要求2所述的方法,其中比较所述现场可编程门阵列的所述输出与所述验证向量包括使用在所述计算机系统上运行的向量测试软件比较所述输出向量与所述验证向量。
5.根据权利要求1所述的方法,其中所述要求的所述第一子集均不包括时序要求、仲裁要求、硬件/软件集成要求、外部逻辑控制要求、测试模式特征要求、闭环操作要求或瞬态响应要求。
6.根据权利要求1所述的方法,其中所述要求的所述第二子集中的每个包括以下项的一个或多个:时序要求、仲裁要求、硬件/软件集成要求、外部逻辑控制要求、测试模式特征要求、闭环操作要求和瞬态响应要求。
7.一种用于验证用于机载集成系统的现场可编程门阵列的系统,所述系统包括: 独立芯片测试器,其中所述现场可编程门阵列与所述独立芯片测试器对接以验证第一组要求;和 集成系统测试环境,其中当所述现场可编程门阵列安装在所述集成系统内时在所述现场可编程门阵列上运行一组测试以验证第二组要求;和 其中所述第一组要求不受所述集成系统的动态影响,且其中所述第二组要求受所述集成系统的动态影响。
8.根据权利要求7所述的系统,其还包括执行待测试设计的仿真的计算机系统,其中所述计算机系统基于所述仿真生成输入向量和验证向量,且其中所述输入向量被提供给所述现场可编程门阵列以验证所述第一组要求。
9.根据权利要求8所述的系统,其中所述独立芯片测试器还包括基于所述现场可编程门阵列的输出生成输出向量的向量测试软件,其中所述向量测试软件比较所述验证向量与所述输出向量以验证所述第一组要求。
10.根据权利要求9所述的系统,其中所述向量测试软件安装在所述计算机系统上。
11.根据权利要求8所述的系统,其中所述计算机系统被配置来基于测试台执行所述待测试设计的所述仿真。
12.根据权利要求11所述的系统,其中还基于所述测试台生成所述输入向量。
13.根据权利要求7所述的系统,其中所述第一组要求均不包括时序要求、仲裁要求、硬件/软件集成要求、外部逻辑控制要求、测试模式特征要求、闭环操作要求或瞬态响应要求。
14.根据权利要求7所述的系统,其中所述第二组要求中的每个包括以下项的一个或多个:时序要求、仲裁要求、硬件/软件集成要求、外部逻辑控制要求、测试模式特征要求、闭环操作要求和瞬态响应要求。
【文档编号】G06F11/26GK104281509SQ201410198806
【公开日】2015年1月14日 申请日期:2014年5月12日 优先权日:2013年7月12日
【发明者】K.A.利莱斯托伦 申请人:哈米尔顿森德斯特兰德公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1