Fpga软件系统及其各模块测试系统和方法

文档序号:10512102阅读:1065来源:国知局
Fpga软件系统及其各模块测试系统和方法
【专利摘要】本发明属于集成电路技术领域,具体为FPGA软件系统及其各模块测试系统和方法。本发明系统包括软件测试平台、整体脚本文件、各个模块的脚本文件和测试实例;首先通过构建测试平台,搭建运行脚本文件所需的测试环境;通过脚本文件,将FPGA软件设计流程的各个模块按照顺序进行串联;不断地运行测试电路,实现对FPGA软件系统及各模块的测试。本发明能够很好的完成对FPGA软件的测试,具有测试成本低、可移植性好、通用性强等特点。
【专利说明】
FPGA软件系统及其各模块测试系统和方法
技术领域
[0001]本发明属于集成电路技术领域,具体涉及一种FPGA软件测试系统和方法。
【背景技术】
[0002]现场可编程逻辑门阵列FPGA(FieldProgrammable Gate Array)是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的。FPGA芯片是当今数字系统设计的主要硬件平台,其主要特点就是完全可以由用户通过软件进行配置和编程,从而完成某种特定的功能,且可以反复擦写。在修改和升级时,不需额外地改变硬件设计,只是在计算机上修改和更新程序,使硬件设计工作成为软件开发工作,缩短了系统设计的周期,提高了实现的灵活性并降低了成本。
[0003]FPGA软件设计流程采用自顶向下的设计方法,整个设计流程按模块划分依次为综合、打包、布局、布线、静态时序分析、位流生成等模块。其输入通常为硬件结构描述语言(Hardware Descript1n Language, HDL)或者电路设计图(Schematic)。综合模块负责将用户输入文件综合为FPGA的基本硬件单元。打包模块负责将多个基本逻辑单元打包到粒度更粗的可编程逻辑资源中。布局模块负责将打包后的电路网表放置到芯片的合理位置上,并使其满足给定的约束。布线模块利用可编程互连资源,确定管脚之间的具体连线方式。静态时序分析模块负责计算FPGA上配置电路可以达到的最大工作频率。位流生成模块负责将布线后网表文件转换为位流文件。
[0004]目前FPGA规模越来越大,其中嵌入了各种IP核,如DSP、BRAM、CPU等,CAD工具的复杂度也越来越高,软件整体运行时间和最终对电路实现性能的影响上也越来越大。这就需要能够方便的对FPGA软件系统及各个模块进行测试,以提高软件性能。目前国内外文献对于FPGA软件测试的研究相对较少。如何低成本地、方便地进行FPGA软件测试是一个值得研究的问题。

【发明内容】

[0005]本发明的目的在于提供一种可移植性好、成本低、通用性强的对FPGA软件系统及其各模块进行测试的系统和方法。
[0006]本发明提出FPGA软件系统及其各模块测试系统,其框图如图1所示,包括:软件测试平台、整体脚本文件、各个模块的脚本文件和测试实例;其中,软件测试平台用于提供测试运行环境;整体脚本文件按照FPGA软件流程的顺序,串联各个模块,并给出各个模块所需的运行参数,模块及顺序的连接方式可以是如图3所示;各个模块的脚本文件分别指定各自的执行程序、命令行参数检查、日志生成等;测试实例给出测试平台下所有测试电路的信息。
[0007]所述的模块脚本文件,包括:综合模块脚本,打包模块脚本,布局模块脚本,布线模块脚本,位流生成模块,静态时序分析模块,等等。
[0008]本发明提出FPGA软件系统及其各模块测试方法,是利用软件测试平台,首先,通过各个模块的脚本文件,确定各自的执行程序、命令行参数检查、日志生成;然后,确定测试实例列表,给出测试平台下所有测试电路的信息;最后,通过整体脚本文件,将FPGA软件流程的所有模块按照顺序进行串联,并依次给出各个模块的运行参数,实现批量测试电路的自动化测试,完成对FPGA软件系统的测试。
[0009]本发明能够完成对FPGA软件系统的测试,测试的内容包括:各个模块的功能、接口测试,软件系统整体功能的测试,软件系统运行时间、内存消耗、资源利用率、最大工作频率等性能测试。
[0010]相比于传统的单次FPGA软件测试,本发明可以在配置运行环境后,进行批量例子的自动化测试,显著地减少测试的人力成本和时间成本,并且能够给出相关报告用于软件分析,具有可移植性好、成本低、通用性强等特点。
【附图说明】
[0011 ]图1为FPGA软件测试系统框图。
[0012]图2为测试系统的界面之一。
[0013]图3模块及顺序的连接方式之一。
【具体实施方式】
[0014]本发明的系统基本实现框图如图1所示。
[0015]软件测试平台是通过在运行Microsoft Windows操作系统的计算机,测试平台的构建可以有多种方式,例如使用Cygwin构建的tcI脚本测试平台,这里Cygwin是一个在Windows平台上运行的类UNIX模拟环境,是cygnus solut1ns公司开发的自由软件。运行Cygwin后会得到一个类似Iinux的she 11环境,之后可运行tc I脚本。而tc I (Too I CommandLanguage)是一种通用的脚本语言,经常被用于脚本编程和测试等方面。这样情况下测试系统的界面如图2所示。
[0016]整体脚本文件是整个测试平台的核心,它负责把FPGA软件流程的所有模块按照顺序进行串联,并给出各个模块的运行参数。其中所有模块和顺序可以有多种方式,如图3为其中之一,即依次为:综合模块脚本,打包模块脚本,布局模块脚本,布线模块脚本,位流生成模块和静态时序分析模块。每个模块的输出文件均为下一模块的输入文件,软件系统运行结束后能够生成可用于FPGA编程下载的位流文件。同时每个模块都会输出对应的日志文件,用于记录软件运行过程中相关输出信息。
[0017]各个模块的脚本文件依次指定FPGA软件流程中单独模块的执行程序、命令行参数检查、日志生成,并在整体脚本文件中被调用和执行。
[0018]测试实例列表中给出测试平台下所有测试例子的绝对路径,其中例子涵盖了 FPGA中不同规模、不同功能和不同资源使用情况。
[0019]测试流程:打开测试平台,进入到相关文件的目录下,使用上述测试脚本和测试实例进行自动化测试。测试平台在执行完一个测试实例后会自动执行下一个测试实例,直到指定的测试列表中的所有实例全部运行完成。运行结束后,测试平台统计出测试成功和测试失败的例子数目,即Total pass/fail,并给出运行时间、内存消耗、资源利用率、最大工作频率等信息,方便对软件的功能和性能进行完善和提升。
[0020]本发明对FPGA软件测试的实现尤其方便,具有测试成本低、可移植性好、通用性强等特点。
【主权项】
1.一种FPGA软件系统及其各模块测试系统,其特征在于包括:软件测试平台、整体脚本文件、各个模块的脚本文件和测试实例;其中,软件测试平台用于提供测试运行环境;整体脚本文件按照FPGA软件流程的顺序,串联各个模块,并给出各个模块所需的运行参数,模块及顺序的连接方式;各个模块的脚本文件分别指定各自的执行程序、命令行参数检查、日志生成;测试实例以列表形式给出测试平台下所有测试电路的信息; 所述的模块脚本文件,包括:综合模块脚本,打包模块脚本,布局模块脚本,布线模块脚本,位流生成模块,静态时序分析模块。2.根据权利要求1所述的FPGA软件系统及其各模块测试系统,其特征在于测试的内容包括:各个模块的功能、接口测试,软件系统整体功能的测试,软件系统运行时间、内存消耗、资源利用率、最大工作频率的测试。3.基于权利要求1或2所述测试系统的的FPGA软件系统及其各模块测试方法,其特征在于具体步骤为: 是利用软件测试平台,首先,通过各个模块的脚本文件,确定各自的执行程序、命令行参数检查、日志生成;然后,确定测试实例列表,给出测试平台下所有测试电路的信息;最后,通过整体脚本文件,将FPGA软件流程的所有模块按照顺序进行串联,并依次给出各个模块的运行参数,实现批量测试电路的自动化测试,完成对FPGA软件系统的测试。
【文档编号】G06F11/36GK105868114SQ201610199882
【公开日】2016年8月17日
【申请日】2016年3月31日
【发明人】来金梅, 陆鹏, 王健, 杨萌
【申请人】复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1