一种FPGA配置控制系统测试方法、控制平台及验证平台与流程

文档序号:11153448阅读:298来源:国知局
一种FPGA配置控制系统测试方法、控制平台及验证平台与制造工艺

本发明涉及可编程集成电路设计领域,尤其涉及一种FPGA(Field Programmable Gate Array,现场可编程门阵列)配置控制系统测试方法、控制平台及验证平台。



背景技术:

随着信息与数据科技的发展需求,可编程芯片,特别是现场可编程门阵列凭借其编程灵活、系统稳定、资源丰富、集成度高等优点,其应用领域已经从原来的通信领域扩展到航天、消费电子、工业控制、测试测量等广泛的领域,并且还有不断扩大的趋势。然而随着工艺节点的不断攀升,人们对于可编程电路的系统集成度、可编程资源以及器件规模提出了更高的要求。对于FPGA系统而言,需要将软件产生的配置信息位流通过FPGA配置控制系统加载到电路系统中相应电路模块的配置存储单元SRAM中,来完成相应功能的配置,因此FPGA配置控制系统的设计合理性以及实用性对于用户体验来讲有着举足轻重的作用,对于FPGA配置控制系统的测试在设计流程上也是非常重要的一环。

目前对于FPGA配置控制系统的测试,是在FPGA配置控制系统测试验证平台上进行的,主要是通过FPGA的配套软件工具定制产生需要的测试位流数据,然后配置数据流读取器读取相应的测试位流数据,然后通过格式转换输入到驱动器中进行处理,同时通过预设的配置接口信息生成对应的写入或读取时序信号输入至驱动器中,通过驱动器将测试位流数据根据时序信号写入配置控制系统的待测设计进行测试。在这一流程中,配套软件工具的布局布线效果是固定的,接口也是固定的,因此配套软件工具产生的测试位流数据也是固定的,不具有随机性,也就无法验证到FPGA配置控制系统在随机情况下表现的情况,因此测试验证的准确性不高。



技术实现要素:

本发明提供的一种FPGA配置控制系统测试方法、控制平台及验证平台,主要解决的技术问题是:现有技术中对FPGA配置控制系统进行测试时,生成的测试位流数据不具有随机性,无法验证FPGA配置控制系统在随机情形下表现情况的问题。

为解决上述技术问题,本发明提供一种FPGA配置控制系统测试控制平台,包括:

实例获取器,用于获取对配置控制系统的待测设计进行测试的测试实例,所述测试实例包括测试流程、测试流程中涉及的至少部分配置数据之生成约束条件以及配置接口信息;

配置数据生成器,用于根据所述测试执行流程以及所述生成约束条件生成测试位流数据输入至测试执行平台;所述测试位流数据中包含根据所述约束条件生成的指定测试数据以及针对所述测试流程涉及但无生成约束条件的配置数据所生成的随机测试数据;

配置接口时序发生器,用于根据所述配置接口信息生成对应的写入或读取时序信号输入至所述测试执行平台,以供该测试执行平台将所述位流数据写入所述配置控制系统的待测设计进行测试。

进一步地,本发明还提供一种FPGA配置控制系统测试验证平台,其特征在于,包括测试执行平台以及上述的FPGA配置控制系统测试控制平台;

所述测试执行平台用于根据所述配置接口时序发生器输出的时序信号,将所述配置数据生成器输出的测试位流数据写入所述配置控制系统的待测设计进行测试。

进一步地,本发明还提供一种FPGA配置控制系统测试方法,其特征在于,包括:

获取对配置控制系统的待测设计进行测试的测试实例,所述测试实例包括测试流程、测试流程中涉及的至少部分配置数据之生成约束条件以及配置接口信息;

根据所述测试执行流程以及所述生成约束条件生成测试位流数据输入至测试执行平台;所述测试位流数据中包含根据所述约束条件生成的指定测试数据以及针对所述测试流程涉及但无生成约束条件的配置数据所生成的随机测试数据;

根据所述配置接口信息生成对应的写入或读取时序信号输入至所述测试执行平台,以供该测试执行平台将所述位流数据写入所述配置控制系统的待测设计进行测试;

根据所述时序信号,将所述配置数据生成器输出的测试位流数据写入所述配置控制系统的待测设计进行测试。

本发明的有益效果是:

根据本发明提供的FPGA配置控制系统测试方法、控制平台及验证平台,通过实例获取器获取对配置控制系统的待测设计进行测试的测试实例,配置数据生成器根据测试实例中的测试执行流程以及生成约束条件生成测试位流数据输入至测试执行平台,其中,测试位流数据中包含根据约束条件生成的指定测试数据以及针对测试流程涉及但无生成约束条件的配置数据所生成的随机测试数据,配置接口时序发生器根据测试实例中的配置接口信息生成对应的写入或读取时序信号输入至测试执行平台,以供该测试执行平台将测试位流数据写入配置控制系统的待测设计进行测试,由于配置数据生成器生成的测试位流数据具有随机性,因此可以验证配置控制系统在各个情形下的表现情况,进而提升了配置控制系统功能验证的准确性和可靠性。

附图说明

图1为本发明实施例一的FPGA配置控制系统测试方法第一流程示意图;

图2为本发明实施例一的FPGA配置控制系统测试方法第二流程示意图;

图3为本发明实施例二的FPGA配置控制系统测试控制平台的结构示意图;

图4为本发明实施例二的配置数据生成器的结构示意图;

图5为本发明实施例三的FPGA配置控制系统测试验证平台的第一结构示意图;

图6为本发明实施例三的FPGA配置控制系统测试验证平台的第二结构示意图;

图7为本发明实施例三的FPGA配置控制系统测试验证平台的第三结构示意图。

具体实施方式

下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。

实施例一:

为了使对FPGA配置控制系统的测试不再依赖于配套软件工具,提高对FPGA配置控制系统进行测试的准确性,本实施例提供一种FPGA配置控制系统测试方法,具体的可以参见图1所示,包括:

S101:获取对配置控制系统的待测设计进行测试的测试实例。

本实施例中的测试实例包括测试流程、测试流程中涉及的至少部分配置数据之生成约束条件以及配置接口信息。且需要说明的是,本实施例中的待测设计可以为实现某种功能的电路设计。其中,步骤S101中可以通过实例获取器来获取测试实例。

S102:根据测试流程及约束条件生成测试位流数据输入至测试执行平台。

应当理解的是,本实施例中可以通过的配置数据生成器来产生测试位流数据,本实施例中的配置数据生成器可以根据实例获取器获取到的测试实例中的测试流程以及生成约束条件,生成测试位流数据并输入至测试执行平台的。其中,本实施例中的配置数据生成器生成的测试位流数据包括根据约束条件生成的指定测试数据,以及针对测试流程涉及但无生成约束条件的配置数据所生成的随机测试数据。

需要说明的是,本实施例中的配置数据生成器可以包括以下产生器中的至少一种:配置寄存器自动产生器、配置存储数据自动产生器、空白数据产生器和配置数据识别内容产生器。

也即是,本实施例中的配置数据生成器可以只包括上述产生器中的任意一种,或者可以包括上述产生器中的任意两种、三种,或者也可以同时包括上述的四种产生器。例如,本实施例中的配置数据生成器可以包括配置寄存器自动产生器和配置存储数据自动产生器。

因此本实施例中的配置数据生成器生成测试位流数据就包括以下情况中的至少一种:

配置寄存器自动产生器根据生成约束条件产生指定配置寄存器数据,和/或随机产生随机配置寄存器数据;

配置存储数据自动产生器根据生成约束条件产生配置到FPGA存储单元的指定数据,和/或随机产生配置到FPGA存储单元的随机数据;

空白数据产生器产生供时钟切换配置或供时间等待的空白数据。

配置数据识别内容产生器产生唯一标识所述测试位流数据的标识数据。

应当理解的是,本实施例中的配置寄存器自动产生器可以根据约束条件产生指定配置寄存器数据和随机产生随机配置寄存器数据,也可以只产生指定配置寄存器数据或只产生随机配置寄存器数据。同样的,本实施例中的配置存储数据自动产生器可以根据约束条件产生配置到FPGA存储单元的指令数据和随机产生配置到FPGA存储单元的随机数据,或者也可以只产生指定数据或只产生随机数据。本实施例中的空白数据产生器可以产生供时钟切换配置或供时间等待的空白数据,从而可以为模式切换数据处理提供足够的等待时间,应当理解的是,本实施例中的空白数据的大小可以由开发人员预先设定好,也可以支持用户自定义。本实施例中的配置数据识别内容产生器生成的标识数据可以是一个固定的数据,主要起标识作用,其中标识数据可以位于测试位流数据的头部,也可以位于测试位流数据的尾部,当然也可以同时位于测试位流数据的头部和尾部。

S103:根据配置接口信息生成对应的写入或读取时序信号输入至测试执行平台。

应当说明的是,本实施例中可以通过配置接口时序发生器生成时序信号,且配置接口时序发生器可以根据实例获取器获取到的配置接口信息生成写入或读取时序信号的。

S104:根据时序信号,将配置数据生成器输出的测试位流数据写入到配置控制系统的待测设计进行测试。

应当理解的是,本实施例S104步骤可以由测试执行平台执行。

下面对本实施例中对配置控制系统的待测设计进行测试作进一步说明。

请参见图2所示,本实施例中对配置控制系统的待测设计执行的测试流程包括:

S201:根据接收到的时序信号将测试位流数据分别写入到配置控制系统的待测设计和模拟器中。

对于S201而言,可以通过驱动器实现上述过程,且本实施例中的配置接口时序发生器生成的时序信号可以输入驱动器中,同时,本实施例中的配置数据生成器生成的测试位流数据也可以输入至驱动器中。

S202:模拟器中包含配置控制系统的待测设计的参考模型,并根据输入的测试位流数据产生仿真结果并输出至校验器中。

S203:获取配置控制系统的待测设计根据测试位流数据输出的运行结果,并将该结果输出至校验器中。

应当理解的是,本实施例中可以通过监测器获取配置控制系统的待测设计根据测试位流数据输出的运行结果,本实施例中的S202与S203没有先后之分,可以先执行S203再执行S202。

S204:校验器对接收到的仿真结果和运行结果进行校验处理得到测试结果。

此外还需要说明的是,还可以直接通过断言控制器向配置控制系统的待测设计输入外加测试激励,此时的断言控制器可以与配置控制系统的待测设计中的激励输入接口连接,可以理解的是,当通过断言控制器向配置控制系统的待测设计输入外加测试激励时,也可以向模拟器中输入同样的外加测试激励。可以理解的是,本实施例中的配置数据生成器可以只生成随机测试数据,此时的指定测试数据就可以通过断言控制器向配置控制系统的待测设计输入,同时该指定数据也要输入至模拟器中。

此外,还可以将断言控制器与配置控制系统的待测设计中的监测位置相连,断言控制器可以提取该监测位置的信号进行监测。

此外还需要说明的是,本实施例中的配置控制系统的待测设计中的存储单元的描述格式可以为从阵列功能层进行整体描述的阵列式描述格式,例如,可以使用寄存器型verilog(硬件描述语言)描述方式进行阵列式存储单元的描述,如此可以缩短仿真和编译的时间,使模拟器中的处理速度更快,从而提高仿真效率。

本发明实施例提供的FPGA配置控制系统测试方法,通过配置数据生成器生成测试位流数据输入至测试执行平台,其中测试位流数据中包括指定测试数据和随机测试数据,从而可以验证配置控制系统在各个情形下的表现情况,提高了测试验证配置控制系统的准确性,相对于现有技术中通过配套软件工具生成测试位流数据也能节约一定的时间。

实施例二:

本实施例提供一种FPGA配置控制系统测试控制平台30,具体的可以参见图3所示,包括实例获取器31、配置数据生成器32和配置接口时序发生器33。

其中,实例获取器31用于获取对配置控制系统的待测设计进行测试的测试实例。本实施例中的测试实例包括测试流程、测试流程中涉及的至少部分配置数据之生成约束条件以及配置接口信息。且需要说明的是,本实施例中的待测设计可以为实现某种功能的电路设计。

本实施例中的配置数据生成器32用于根据实例获取器31获取到的测试实例中的测试流程以及生成约束条件生成测试位流数据输入至测试执行平台;本实施例中的测试位流数据中包含根据约束条件生成的指定测试数据以及针对测试流程涉及但无生成约束条件的配置数据所生成的随机测试数据。

需要说明的是,本实施例中的配置数据生成器32包括以下产生器中的至少一种:

配置寄存器自动产生器,用于根据生成约束条件产生指定配置寄存器数据,和/或随机产生随机配置寄存器数据;

配置存储数据自动产生器,用于根据生成约束条件产生配置到FPGA存储单元的指定数据,和/或随机产生配置到FPGA存储单元的随机数据;

空白数据产生器;用于产生供时钟切换配置或供时间等待的空白数据。

配置数据识别内容产生器,用于产生唯一标识测试位流数据的标识数据。

也即是,本实施例中的配置数据生成器32可以只包括上述产生器中的任意一种,或者可以包括上述产生器中的任意两种、三种,或者也可以同时包括上述的四种产生器。例如,本实施例中的配置数据生成器32可以包括配置寄存器自动产生器、配置存储数据自动产生器和配置数据识别内容产生器。请参见图4所示,图4为当本实施例中的配置数据生成器32同时包括配置寄存器自动产生器321、配置存储数据自动产生器322、空白数据产生器323和配置数据识别内容产生器324时,其四种产生器的结构示意图。

应当理解的是,本实施例中的配置寄存器自动产生器可以根据约束条件产生指定配置寄存器数据和随机产生随机配置寄存器数据,也可以只产生指定配置寄存器数据或只产生随机配置寄存器数据。具体而言,本实施例中的配置寄存器自动产生器可以产生各种配置寄存器的内容,包括控制寄存器、命令寄存器、位宽识别寄存器、用户寄存器以及其他用于识别的寄存器和自定义的寄存器等,主要用于设置位宽识别、配置存储数据的控制方式、接口工作方式、校验计算方式、读写控制方式、加解密控制方式等,控制寄存器中控制位和命令寄存器中命令位可根据不冲突的原则进行条件组合方式随机化产生控制值。

同样的,本实施例中的配置存储数据自动产生器可以根据约束条件产生配置到FPGA存储单元的指令数据和随机产生配置到FPGA存储单元的随机数据,或者也可以只产生指定数据或只产生随机数据。

本实施例中的空白数据产生器可以产生供时钟切换配置或供时间等待的空白数据,空白数据为填充内容,没有功能,而且可以为时钟切换、模式切换等过程预留足够的时间来完成操作。应当理解的是,本实施例中的空白数据的大小及位置可以由开发人员预先设定好,也可以支持用户自定义。

本实施例中的配置数据识别内容产生器生成的标识数据可以是一个固定的数据,主要起标识作用,其中标识数据可以位于测试位流数据的头部,也可以位于测试位流数据的尾部,当然也可以同时位于测试位流数据的头部和尾部。应当理解的是,当对单个配置控制系统的待测设计进行测试时,也可以不需要配置数据识别内容产生器产生标识数据。当然,本实施例中的FPGA配置控制系统测试控制平台30中可以根据待测设计的设置对应的产生器,具体产生器的组合方式可以灵活设置。

本实施例中的配置接口时序发生器33用于根据所述配置接口信息生成对应的写入或读取时序信号输入至所述测试执行平台,以供该测试执行平台将所述测试位流数据写入所述配置控制系统的待测设计进行测试。

本实施例提供的FPGA配置控制系统测试控制平台30还可以包括断言控制器。本实施例中断言控制器用于与配置控制系统的待测设计中的激励输入接口连接,用于直接向配置控制系统的待测设计输入外加测试激励;

和/或,

断言控制器用于与配置控制系统的待测设计中的监测位置连接,用于提取监测位置的信号进行监测。

也即是,本实施例中的断言控制器可以用于直接向配置控制系统的待测设计输入外加测试激励的同时,也可以用于对待测设计中的某一监测位置进行监测,也可以同时具有上述功能。这样,可以更加直观、更方便地添加外加测试激励或者增加监测位置进行更详细的信号检测,使得测试验证的质量得到更好的保证。

当然,当通过本实施例提供的断言控制器向配置控制系统的待测设计输入外加测试激励时,也可以向模拟器中输入同样的外加测试激励。可以理解的是,本实施例中的配置数据生成器32可以只生成随机测试数据,此时的指定测试数据就可以通过断言控制器向配置控制系统的待测设计输入,同时该指定数据也要输入至模拟器中。

通过本实施例提供的FPGA配置控制系统测试控制平台30,可以直接通过配置数据生成器32生成用于测试的测试位流数据,可以提升测试效率,而且由于生成的测试位流数据具有随机性,因此可以提高配置控制系统测试验证结果的准确性。

实施例三:

请参见图5所示,本实施例提供一种FPGA配置控制系统测试验证平台50,包括测试执行平台34以及上述的任意一种FPGA配置控制系统测试控制平台30。

在此,需要说明的是,本实施例中的FPGA配置控制系统测试控制平台30可以集成于FPGA配置控制系统测试验证平台50内,这样可以节省验证测试的整体时间,当然本实施例中的FPGA配置控制系统测试控制平台30也可以独立于FPGA配置控制系统测试验证平台50以外额外设置。

本实施例中的测试执行平台34用于根据配置接口时序发生器33输出的时序信号,将配置数据生成器32输出的测试位流数据写入到配置控制系统的待测设计进行测试。

请参见图6所示,本实施例提供的测试执行平台34可以包括驱动器341、模拟器342、监测器344以及校验器345。

本实施例中的驱动器341用于根据配置接口时序发生器33输出的时序信号将配置数据生成器32输出的位流数据分别写入配置控制系统待测设计343以及模拟器342。

模拟器342中包含配置控制系统的待测设计的参考模型,用于根据输入的位流数据产生仿真结果输出至校验器345;

监测器344用于获取配置控制系统的待测设计根据测试位流数据输出的运行结果,并将运行结果输出至校验器345;

校验器345用于对接收到的仿真结果和运行结果进行校验处理得到测试结果。

当本实施例提供的FPGA配置控制系统测试验证平台50中包括断言控制器35时,本实施例中的FPGA配置控制系统测试验证平台50可以参见图7所示。

此外还需要说明的是,本实施例中的配置控制系统的待测设计中的存储单元的描述格式可以为从阵列功能层进行整体描述的阵列式描述格式,例如,可以使用寄存器型verilog(硬件描述语言)描述方式进行阵列式存储单元的描述,如此,验证平台50在编译时能够得到更好的编译处理和综合处理,会使仿真运行时综合得出的网表更简化,大大减少了仿真软件的系统消耗,从而缩短仿真的编译时间和仿真时间,从而缩短了整体的测试验证时间,进而提高了仿真效率。

通过本实施例提供的FPGA配置控制系统测试验证平台,产生测试位流数据的方式不再依赖于配套软件工具,可以减少配套软件工具产生测试位流数据以及读取测试位流数据费时费力的流程,从而可以减少测试验证的时间,由于能够通过配置数据自动产生器产生随机的测试位流数据,相较于配套软件工具只能产生固定的测试位流数据,能够使得验证平台验证到待测设计很多死角的漏洞,从而提升了测试验证配置控制系统待测设计的准确性。

显然,本领域的技术人员应该明白,上述本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在计算机存储介质(ROM/RAM、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。

以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

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