CN105868114B - Fpga软件***及其各模块测试***和方法 - Google Patents
Fpga软件***及其各模块测试***和方法 Download PDFInfo
- Publication number
- CN105868114B CN105868114B CN201610199882.8A CN201610199882A CN105868114B CN 105868114 B CN105868114 B CN 105868114B CN 201610199882 A CN201610199882 A CN 201610199882A CN 105868114 B CN105868114 B CN 105868114B
- Authority
- CN
- China
- Prior art keywords
- test
- modules
- module
- software
- script
- 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
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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
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)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明属于集成电路技术领域,具体为FPGA软件***及其各模块测试***和方法。本发明***包括软件测试平台、整体脚本文件、各个模块的脚本文件和测试实例;首先通过构建测试平台,搭建运行脚本文件所需的测试环境;通过脚本文件,将FPGA软件设计流程的各个模块按照顺序进行串联;不断地运行测试电路,实现对FPGA软件***及各模块的测试。本发明能够很好的完成对FPGA软件的测试,具有测试成本低、可移植性好、通用性强等特点。
Description
技术领域
本发明属于集成电路技术领域,具体涉及一种FPGA软件测试***和方法。
背景技术
现场可编程逻辑门阵列FPGA(Field Programmable Gate Array)是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的。FPGA芯片是当今数字***设计的主要硬件平台,其主要特点就是完全可以由用户通过软件进行配置和编程,从而完成某种特定的功能,且可以反复擦写。在修改和升级时,不需额外地改***件设计,只是在计算机上修改和更新程序,使硬件设计工作成为软件开发工作,缩短了***设计的周期,提高了实现的灵活性并降低了成本。
FPGA软件设计流程采用自顶向下的设计方法,整个设计流程按模块划分依次为综合、打包、布局、布线、静态时序分析、位流生成等模块。其输入通常为硬件结构描述语言(Hardware Description Language, HDL)或者电路设计图(Schematic)。综合模块负责将用户输入文件综合为FPGA的基本硬件单元。打包模块负责将多个基本逻辑单元打包到粒度更粗的可编程逻辑资源中。布局模块负责将打包后的电路网表放置到芯片的合理位置上,并使其满足给定的约束。布线模块利用可编程互连资源,确定管脚之间的具体连线方式。静态时序分析模块负责计算FPGA上配置电路可以达到的最大工作频率。位流生成模块负责将布线后网表文件转换为位流文件。
目前FPGA规模越来越大,其中嵌入了各种IP核,如DSP、BRAM、CPU等,CAD工具的复杂度也越来越高,软件整体运行时间和最终对电路实现性能的影响上也越来越大。这就需要能够方便的对FPGA软件***及各个模块进行测试,以提高软件性能。目前国内外文献对于FPGA软件测试的研究相对较少。如何低成本地、方便地进行FPGA软件测试是一个值得研究的问题。
发明内容
本发明的目的在于提供一种可移植性好、成本低、通用性强的对FPGA软件***及其各模块进行测试的***和方法。
本发明提出FPGA软件***及其各模块测试***,其框图如图1所示,包括:软件测试平台、整体脚本文件、各个模块的脚本文件和测试实例;其中,软件测试平台用于提供测试运行环境;整体脚本文件按照FPGA软件流程的顺序,串联各个模块,并给出各个模块所需的运行参数,模块及顺序的连接方式可以是如图3所示;各个模块的脚本文件分别指定各自的执行程序、命令行参数检查、日志生成等;测试实例给出测试平台下所有测试电路的信息。
所述的模块脚本文件,包括:综合模块脚本,打包模块脚本,布局模块脚本,布线模块脚本,位流生成模块,静态时序分析模块,等等 。
本发明提出FPGA软件***及其各模块测试方法,是利用软件测试平台,首先,通过各个模块的脚本文件,确定各自的执行程序、命令行参数检查、日志生成;然后,确定测试实例列表,给出测试平台下所有测试电路的信息;最后,通过整体脚本文件,将FPGA软件流程的所有模块按照顺序进行串联,并依次给出各个模块的运行参数,实现批量测试电路的自动化测试,完成对FPGA软件***的测试。
本发明能够完成对FPGA软件***的测试,测试的内容包括:各个模块的功能、接口测试,软件***整体功能的测试,软件***运行时间、内存消耗、资源利用率、最大工作频率等性能测试。
相比于传统的单次FPGA软件测试,本发明可以在配置运行环境后,进行批量例子的自动化测试,显著地减少测试的人力成本和时间成本,并且能够给出相关报告用于软件分析,具有可移植性好、成本低、通用性强等特点。
附图说明
图1为FPGA软件测试***框图。
图2为测试***的界面之一。
图3模块及顺序的连接方式之一。
具体实施方式
本发明的***基本实现框图如图1所示。
软件测试平台是通过在运行Microsoft Windows操作***的计算机,测试平台的构建可以有多种方式,例如使用Cygwin构建的tcl脚本测试平台,这里Cygwin是一个在Windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的自由软件。运行Cygwin后会得到一个类似linux的shell环境,之后可运行tcl脚本。而tcl(Tool CommandLanguage)是一种通用的脚本语言,经常被用于脚本编程和测试等方面。这样情况下测试***的界面如图2所示。
整体脚本文件是整个测试平台的核心,它负责把FPGA软件流程的所有模块按照顺序进行串联,并给出各个模块的运行参数。其中所有模块和顺序可以有多种方式,如图3为其中之一,即依次为:综合模块脚本,打包模块脚本,布局模块脚本,布线模块脚本,位流生成模块和静态时序分析模块。每个模块的输出文件均为下一模块的输入文件,软件***运行结束后能够生成可用于FPGA编程下载的位流文件。同时每个模块都会输出对应的日志文件,用于记录软件运行过程中相关输出信息。
各个模块的脚本文件依次指定FPGA软件流程中单独模块的执行程序、命令行参数检查、日志生成,并在整体脚本文件中被调用和执行。
测试实例列表中给出测试平台下所有测试例子的绝对路径,其中例子涵盖了FPGA中不同规模、不同功能和不同资源使用情况。
测试流程:打开测试平台,进入到相关文件的目录下,使用上述测试脚本和测试实例进行自动化测试。测试平台在执行完一个测试实例后会自动执行下一个测试实例,直到指定的测试列表中的所有实例全部运行完成。运行结束后,测试平台统计出测试成功和测试失败的例子数目,即Total pass/fail,并给出运行时间、内存消耗、资源利用率、最大工作频率等信息,方便对软件的功能和性能进行完善和提升。
本发明对FPGA软件测试的实现尤其方便,具有测试成本低、可移植性好、通用性强等特点。
Claims (1)
1.一种FPGA软件***及其各模块测试***,其特征在于包括:软件测试平台、整体脚本文件、各个模块的脚本文件和测试实例;其中,软件测试平台用于提供测试运行环境;整体脚本文件按照FPGA软件流程的顺序,串联各个模块,并给出各个模块所需的运行参数,模块及顺序的连接方式;各个模块的脚本文件分别指定各自的执行程序、命令行参数检查和日志生成;测试实例以列表形式给出测试平台下所有测试电路的信息;
所述的模块脚本文件,包括:综合模块脚本,打包模块脚本,布局模块脚本,布线模块脚本,位流生成模块,静态时序分析模块;
其中,测试的内容包括:各个模块的功能和接口测试,软件***整体功能的测试,软件***运行时间、内存消耗、资源利用率和最大工作频率的测试;
测试的流程为:利用软件测试平台,首先,通过各个模块的脚本文件,确定各自的执行程序、命令行参数检查和日志生成;然后,确定测试实例列表,给出测试平台下所有测试电路的信息;最后,通过整体脚本文件,将FPGA软件流程的所有模块按照顺序进行串联,并依次给出各个模块的运行参数,实现批量测试电路的自动化测试,完成对FPGA软件***的测试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610199882.8A CN105868114B (zh) | 2016-03-31 | 2016-03-31 | Fpga软件***及其各模块测试***和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610199882.8A CN105868114B (zh) | 2016-03-31 | 2016-03-31 | Fpga软件***及其各模块测试***和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105868114A CN105868114A (zh) | 2016-08-17 |
CN105868114B true CN105868114B (zh) | 2019-04-05 |
Family
ID=56627866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610199882.8A Active CN105868114B (zh) | 2016-03-31 | 2016-03-31 | Fpga软件***及其各模块测试***和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105868114B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107977312B (zh) * | 2017-11-21 | 2020-07-14 | 北京临近空间飞行器***工程研究所 | 一种基于复杂接口时序的软件***测试验证方法 |
CN109614339B (zh) * | 2018-12-27 | 2020-01-21 | 四川新网银行股份有限公司 | 一种基于多套测试环境的自动扩充方法 |
CN109885438A (zh) * | 2019-02-27 | 2019-06-14 | 苏州浪潮智能科技有限公司 | 一种fpga可靠性测试方法、***、终端及存储介质 |
CN110750462A (zh) * | 2019-10-29 | 2020-02-04 | 西安奇维科技有限公司 | 一种fpga白盒测试平台 |
CN111123084B (zh) * | 2019-12-11 | 2022-03-01 | 中国电子科技集团公司第二十研究所 | 一种基于tcl语言的数字电路快速测试方法 |
CN111428431B (zh) * | 2020-02-28 | 2024-02-02 | 中科亿海微电子科技(苏州)有限公司 | 一种支持eda软件的自动化测试并记录的方法及*** |
CN111338326B (zh) * | 2020-04-07 | 2022-11-11 | 华北水利水电大学 | 一种fpga通用io接口测试的设备和方法 |
CN113435149B (zh) * | 2021-06-25 | 2023-08-18 | 无锡中微亿芯有限公司 | 一种优化fpga综合效果的测试例自动生成方法 |
CN114661615B (zh) * | 2022-04-11 | 2024-01-30 | 成都迪真计算机科技有限公司 | 一种fpga软件测试方法和设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101019166B1 (ko) * | 2009-11-30 | 2011-03-04 | 재단법인대구경북과학기술원 | 내장형 소프트웨어의 테스트 자동화 장치 및 그 방법 |
CN102346235A (zh) * | 2011-07-11 | 2012-02-08 | 北京北大众志微***科技有限责任公司 | 一种面向硬件设备功能的自动测试***及方法 |
CN102375778A (zh) * | 2010-08-17 | 2012-03-14 | 中兴通讯股份有限公司 | 实现数字信号处理器自动测试的方法及*** |
CN103678745A (zh) * | 2012-09-18 | 2014-03-26 | 中国科学院微电子研究所 | 一种用于fpga的跨平台多层次集成设计*** |
CN105117513A (zh) * | 2015-07-24 | 2015-12-02 | 北京空间机电研究所 | 一种fpga布局布线延时特性测试方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2001264713A1 (en) * | 2000-05-19 | 2001-12-03 | Wu-Hon Francis Leung | Methods and apparatus for preventing software modifications from invalidating previously passed integration tests |
-
2016
- 2016-03-31 CN CN201610199882.8A patent/CN105868114B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101019166B1 (ko) * | 2009-11-30 | 2011-03-04 | 재단법인대구경북과학기술원 | 내장형 소프트웨어의 테스트 자동화 장치 및 그 방법 |
CN102375778A (zh) * | 2010-08-17 | 2012-03-14 | 中兴通讯股份有限公司 | 实现数字信号处理器自动测试的方法及*** |
CN102346235A (zh) * | 2011-07-11 | 2012-02-08 | 北京北大众志微***科技有限责任公司 | 一种面向硬件设备功能的自动测试***及方法 |
CN103678745A (zh) * | 2012-09-18 | 2014-03-26 | 中国科学院微电子研究所 | 一种用于fpga的跨平台多层次集成设计*** |
CN105117513A (zh) * | 2015-07-24 | 2015-12-02 | 北京空间机电研究所 | 一种fpga布局布线延时特性测试方法 |
Non-Patent Citations (1)
Title |
---|
"一种新型的FPGA配置位流压缩算法";王驰等;《复旦学报(自然科学版)》;20140630;第53卷(第3期);365-370 * |
Also Published As
Publication number | Publication date |
---|---|
CN105868114A (zh) | 2016-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105868114B (zh) | Fpga软件***及其各模块测试***和方法 | |
US8997034B2 (en) | Emulation-based functional qualification | |
CN102466776B (zh) | 面向复杂可编程逻辑器件的批量测试方法 | |
US11003824B2 (en) | Computer implemented system and method of identification of useful untested states of an electronic design | |
JP6615786B2 (ja) | 電子的設計の検証コマンドの翻訳のコンピュータ実装される方法および記録媒体 | |
US20110202894A1 (en) | Method and Apparatus for Versatile Controllability and Observability in Prototype System | |
CN100458731C (zh) | 一种采用硬件逻辑对ic设计进行验证的方法 | |
CN104865518A (zh) | 一种sram型fpga的clb动态老炼配置方法 | |
CN116663462B (zh) | 断言验证方法、断言验证平台、电子设备及可读存储介质 | |
CN103376340A (zh) | 一种转接板、多平台串行测试***及方法 | |
CN113990382B (zh) | 片上***芯片、测试方法及测试*** | |
CN103064013A (zh) | 一种基于故障模型的集成电路测试方法 | |
US8516322B1 (en) | Automatic test pattern generation system for programmable logic devices | |
US20060190874A1 (en) | Method and system for formal unidirectional bus verification | |
Park et al. | Method of rtl debugging when using hls for hw design: Different simulation result of verilog & vhdl | |
Dahmoune et al. | Applying model-checking to post-silicon-verification: Bridging the specification-realisation gap | |
US10346570B2 (en) | Method for determining system reliability of a logic circuit | |
CN104077223A (zh) | 一种智能计量产品检测*** | |
Akpan | Model-based FPGA embedded-processor systems design methodologies: Modeling, syntheses, implementation and validation | |
Valente et al. | An esl methodology for hw/sw co-design of monitorable embedded systems: the “design for monitorability” project-work-in-progress | |
JP2020528181A (ja) | 電子的設計の検証コマンドの翻訳のコンピュータ実装されるシステム及び方法 | |
Liao et al. | A HW/SW co-verification technique for field programmable gate array (FPGA) test | |
US20230267257A1 (en) | Automated verification of integrated circuits | |
Schwendinger et al. | Master Thesis Proposal Evaluation of different tools for design and fault-injection of asynchronous circuits | |
Liao et al. | A HW/SW co-verification technique for FPGA test |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |