CN111159972A - 应用于集成电路的测试方法、测试装置及测试系统 - Google Patents
应用于集成电路的测试方法、测试装置及测试系统 Download PDFInfo
- Publication number
- CN111159972A CN111159972A CN201911410294.4A CN201911410294A CN111159972A CN 111159972 A CN111159972 A CN 111159972A CN 201911410294 A CN201911410294 A CN 201911410294A CN 111159972 A CN111159972 A CN 111159972A
- Authority
- CN
- China
- Prior art keywords
- test
- image
- code
- module
- hardware
- 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.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 410
- 238000010998 test method Methods 0.000 title abstract description 10
- 238000013461 design Methods 0.000 claims abstract description 18
- 238000000034 method Methods 0.000 claims description 46
- 230000010354 integration Effects 0.000 claims description 10
- 230000002085 persistent effect Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 9
- 230000006872 improvement Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000005284 excitation Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification 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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- 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/3688—Test management for test execution, e.g. scheduling of test suites
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)
- Tests Of Electronic Circuits (AREA)
Abstract
本申请实施例提供一种应用于集成电路的测试方法、测试装置及测试系统,应用于集成电路的测试方法包括:获取针对测试对象配置的硬件驱动代码、测试用例代码以及镜像文件(S201),一个所述测试用例代码对应所述测试对象中一个功能模块的至少一功能特性,所述测试对象包括芯片、所述芯片对应的设计原型中至少其一;根据所述镜像文件,启动预先构建的镜像容器对所述硬件驱动代码、所述测试用例代码进行编译生成测试镜像(S202);在所述测试对象上加载所述测试镜像,以对所述功能模块的至少一功能特性进行测试(S203),从而降低了针对测试对象的测试难度,有效地应用到集成电路领域实现对测试对象的测试。
Description
技术领域
本申请实施例涉及电路技术领域,尤其涉及一种应用于集成电路的测试方法、测试装置及测试系统。
背景技术
在芯片的研发过程中,首先根据芯片设计方案制作出测试对象,对该测试对象进行测试,如果测试通过,则根据测试通过的测试对象所对应的芯片设计方案进行流片处理,以批量生产芯片。但是,随着集成电路的快速发展,对芯片能实现的功能的数量也越来越多,在功能的复杂度要求上也越来越高,由此在芯片设计阶段就得在测试对象上设计更多、更复杂的功能模块,从而导致针对测试对象的测试难度较大,难以有效地对芯片设计方案进行验证。
发明内容
有鉴于此,本申请实施例所解决的技术问题之一在于提供一种应用于集成电路的测试方法、测试装置及测试系统,用以克服或者缓解现有技术中上述缺陷。
第一方面,本申请实施例提供了一种应用于集成电路的测试方法,其包括:
获取针对测试对象配置的硬件驱动代码、测试用例代码以及镜像文件,一个所述测试用例代码对应所述测试对象中一个功能模块的至少一功能特性,所述测试对象包括芯片、所述芯片对应的设计原型中至少其一;
根据所述镜像文件,启动预先构建的镜像容器对所述硬件驱动代码、所述测试用例代码进行编译生成测试镜像;
在所述测试对象上加载所述测试镜像,以对所述功能模块的至少一功能特性进行测试。
可选地,在本申请第一方面的一实施例中,所述获取针对所述测试对象配置的硬件驱动代码、测试用例代码以及镜像文件,包括:从数据服务器上获取所述针对所述测试对象配置的硬件驱动代码、测试用例代码以及镜像文件。
可选地,在本申请第一方面的一实施例中,所述根据所述镜像文件,启动预先构建的镜像容器对所述硬件驱动代码、所述测试用例代码进行编译处理生成测试镜像,包括:根据所述镜像文件,启动所述预先构建的镜像容器运行预先配置的测试配置脚本对所述硬件驱动代码、所述测试用例代码进行编译处理生成所述测试镜像。
可选地,在本申请第一方面的一实施例中,在所述获取针对所述测试对象配置的硬件驱动代码、测试用例代码以及镜像文件之前,所述测试方法还包括:根据镜像描述文件构建所述镜像文件。
可选地,在本申请第一方面的一实施例中,所述测试配置脚本为Python脚本。
可选地,在本申请第一方面的一实施例中,在所述获取针对所述测试对象配置的硬件驱动代码、测试用例代码以及镜像文件之前,所述测试方法还包括:配置测试流水线任务,所述测试流水线任务用于控制所述硬件驱动代码、测试用例代码以及镜像文件的获取,以及控制所述硬件驱动代码、所述测试用例代码的编译以及所述测试镜像的加载。
可选地,在本申请第一方面的一实施例中,通过持续集成工具平台配置所述测试流水线任务。
可选地,在本申请的任一实施例中,所述持续集成工具平台为Jenkins。
第二方面,本申请实施例提供了一种应用于集成电路的测试装置,其包括:
获取模块,用于获取针对测试对象配置的硬件驱动代码、测试用例代码以及镜像文件,一个所述测试用例代码对应所述测试对象中一个功能模块的至少一功能特性,所述测试对象包括芯片、所述芯片对应的设计原型中至少其一;
编译模块,用于根据所述镜像文件,启动预先构建的镜像容器对所述硬件驱动代码、所述测试用例代码进行编译生成对应的测试镜像;
加载模块,用于在所述测试对象上加载所述测试镜像,以对所述功能模块的至少一功能特性进行测试。
第三方面,本申请实施例提供了一种应用于集成电路的测试系统,其包括:测试服务器,所述测试服务器上配置有获取模块、编译模块以及加载模块,所述获取模块用于获取针对测试对象配置的硬件驱动代码、测试用例代码以及镜像文件,一个所述测试用例代码对应所述测试对象中一个功能模块的至少一功能特性,所述测试对象包括芯片、所述芯片对应的设计原型中至少其一;所述编译模块用于根据所述镜像文件,启动预先构建的镜像容器对所述硬件驱动代码、所述测试用例代码进行编译生成测试镜像;所述加载模块用于在所述测试对象上加载所述测试镜像,以对所述功能模块的至少一功能特性进行测试。
可选地,在本申请第三方面的一实施例中,还包括:数据服务器,所述数据服务器用于存储所述针对所述测试对象配置的硬件驱动代码、测试用例代码以及镜像文件。
可选地,在本申请第三方面的一实施例中,所述测试服务器上预先配置有测试配置脚本,所述编译模块进一步用于根据所述镜像文件启动所述预先构建的镜像容器运行预先配置的所述测试配置脚本对所述硬件驱动代码、所述测试用例代码进行编译处理生成所述测试镜像。
可选地,在本申请第三方面的一实施例中,所述编译模块进一步用于根据所述镜像描述文件构建所述镜像文件。
可选地,在本申请第三方面的一实施例中,所述测试服务器上配置有持续集成工具平台,所述持续集成工具平台用于配置测试流水线任务,所述测试流水线任务用于控制所述硬件驱动代码、所述测试用例代码以及所述镜像文件的获取,以及控制所述硬件驱动代码、所述测试用例代码的编译以及所述测试镜像的加载。
本申请实施例的技术方案中,获取针对测试对象配置的硬件驱动代码、测试用例代码以及镜像文件,一个所述测试用例代码对应所述测试对象中一个功能模块的至少一功能特性,所述测试对象包括芯片、所述芯片对应的设计原型中至少其一;根据所述镜像文件,启动预先构建的镜像容器对所述硬件驱动代码、所述测试用例代码进行编译生成测试镜像;在所述测试对象上加载所述测试镜像,以对所述功能模块的至少一功能特性进行测试,从而降低了针对测试对象的测试难度,有效地应用到集成电路领域实现对测试对象的测试。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本申请实施例的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1为本申请实施例一提供的一种应用于集成电路的测试系统结构示意图;
图2为本申请实施例二提供的一种应用于集成电路的测试方法流程示意图;
图3为本申请实施例三提供的一种应用于集成电路的测试装置结构示意图。
具体实施方式
实施本申请实施例的任一技术方案必不一定需要同时达到以上的所有优点。
为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
下面结合本申请实施例附图进一步说明本申请实施例的具体实现。
图1为本申请实施例一提供的一种应用于集成电路的测试系统结构示意图;如图1所示,测试系统可以包括:
数据服务器101,所述数据服务器用于存储针对测试对象配置的硬件驱动代码、测试用例代码以及镜像文件;
测试服务器102,所述测试服务器上配置有获取模块、编译模块以及加载模块,所述获取模块用于获取针对所述测试对象103配置的硬件驱动代码、测试用例代码以及镜像文件,一个所述测试用例代码对应所述测试对象中一个功能模块的至少一功能特性,所述测试对象包括芯片、所述芯片对应的设计原型中至少其一;所述编译模块用于根据所述镜像文件,启动预先构建的镜像容器对所述硬件驱动代码、所述测试用例代码进行编译生成测试镜像;所述加载模块用于在所述测试对象上加载所述测试镜像,以对所述功能模块的至少一功能特性进行测试。
本实施例中,在所述数据服务器上存储硬件驱动代码、测试用例代码以及镜像文件时,可以硬件驱动代码、测试用例代码以及镜像文件给分配不同的存储地址;而对于不同的测试对象,可以分配不同的存储地址区间,不同的测试对象的硬件驱动代码、测试用例代码以及镜像文件给的存储地址位于对应的存储地址区间内即可。因此,在获取模块获取针对所述测试对象配置的硬件驱动代码、测试用例代码以及镜像文件时,可以从对应的存储地址处获取硬件驱动代码、测试用例代码以及镜像文件即可。
本实施例或其他实施例中,所述芯片对应的设计原型为使用硬件描述语言(Hardware Description Language,简称:HDL)编写的代码,该代码用于描述芯片包括的功能模块以及所述功能模块的工作过程,所述硬件描述语言比如为。所述芯片为对所述芯片对应的设计原型进行流片处理得到的实体结构。
可选地,本实施例或其他实施例中,所述测试服务器上预先配置有测试配置脚本,所述编译模块进一步用于根据所述镜像文件启动所述预先构建的镜像容器运行预先配置的所述测试配置脚本对所述硬件驱动代码、所述测试用例代码进行编译处理生成所述测试镜像。
可选地,本实施例或其他实施例中,所述测试服务器上配置有持续集成工具平台,所述持续集成工具平台用于配置测试流水线任务,所述测试流水线任务用于控制所述硬件驱动代码、测试用例代码以及镜像文件的获取,以及控制所述硬件驱动代码、所述测试用例代码的编译以及所述测试镜像的加载。
如前所述,在测试流水线任务中配置硬件驱动代码、测试用例代码以及镜像文件的存储地址,因此,获取模块可以根据从对应的存储地址处获取硬件驱动代码、测试用例代码以及镜像文件即可。
可选地,本实施例或者其他实施例中,测试服务器具体可以为一PC机,所述持续集成工具平台安装在所述PC机上。
可选地,本实施例或者其他实施例中,所述测试系统还可以包括激励信号模块,所述激励信号模块用于向测试对象提供通信信号,用于对通用异步收发传输器(UniversalAsynchronous Receiver/Transmitter,简称UART)、二线制同步串行总线(Inter-Integrated Circuit,简称I2C)、串行外设接口(Serial Peripheral Interface,简称SPI)等通信功能模块的功能特性进行测试。
本实施例中,数据服务器101作为所述测试系统的结构仅仅是优选,在其他一些实施例中,所述测试系统也可以不包括数据服务器101。
图2为本申请实施例二提供的一种应用于集成电路的测试方法流程示意图;本实施例基于上述图1提供的测试系统,如图2所示,测试方法可以包括:
S201、获取针对测试对象配置的硬件驱动代码、测试用例代码以及镜像文件;
具体地,本实施例中,步骤S201的执行主体具体可以为上述图1中的测试服务器。
本实施例中,测试用例代码为实现测试任务的具体代码设计,体现测试方案、方法、技术和策略,其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等。本实施例中,一个所述测试用例(Test Case)代码对应所述测试对象中一个功能模块的至少一功能特性。所述测试用例的划分并不绝对,比如在其他实施例中,一个所述测试用例代码也可以对应所述测试对象中一个功能模块的多个功能特性。
本实施例中,硬件驱动代码提供了测试用例代码可调用的初始化硬件、数据传输控制的数据接口以生成测试镜像。
本实施例中,在步骤S201之前包括:根据镜像描述文件构建所述镜像文件,比如基于容器技术实现测试镜像的构建。
可选地,步骤S201中在获取针对所述测试对象配置的硬件驱动代码、测试用例代码以及镜像文件时,具体可以从数据服务器上获取所述针对所述测试对象配置的硬件驱动代码、测试用例代码以及镜像文件,从而可以实现在测试时直接从数据服务器便捷地获取针对所述测试对象配置的硬件驱动代码、测试用例代码以及镜像文件,而不需要人工单独配置所述硬件驱动代码、所述测试用例代码以及所述镜像文件。
S202、根据所述镜像文件,启动预先构建的镜像容器对所述硬件驱动代码、所述测试用例代码进行编译生成测试镜像;
具体地,本实施例中,在步骤S202中根据所述镜像文件,启动预先构建的镜像容器对所述硬件驱动代码、所述测试用例代码进行编译处理生成所述测试镜像时,具体可以根据所述镜像文件,启动所述预先构建的镜像容器运行预先配置的测试配置脚本对所述硬件驱动代码、所述测试用例代码进行编译处理生成对应的测试镜像,从而可以实现基于测试用例代码进行测试镜像的生成,使得不同测试用例代码的编译相互独立,进一步使得不同测试用例代码之间对应的测试镜像相互独立,避免了测试镜像之间相互干扰,从而降低了针对测试对象的测试难度,有效地应用到集成电路领域实现对测试对象的测试。
本实施例中,在所述镜像容器中配置有生成上述测试镜像的环境。
本实施例中,通过所述测试配置脚本可以灵活地实现跨平台编译,即使得编译处理能适用于绝大多数测试服务器的平台,比如Windows、MacOS、Linux、Andorid、iOS等等。另外,通过测试配置脚本可以实现在所述镜像容器中对所述硬件驱动代码、所述测试用例代码进行自动编译生成所述测试镜像,无须人工干预,从而降低了针对测试对象的测试难度,同时可以保证测试的稳定性,有效地应用到集成电路领域实现对测试对象的测试。
若基于容器技术(业界又称之为Docker)实现镜像文件构建的话,则所述镜像描述文件优选Dockerfile,在所述Dockerfile中包括了一系列可构建出上述镜像文件的指令,构建的所述镜像文件包括对所述硬件驱动代码、所述测试用例代码进行编译时使用的环境,比如编译需要的编译器等。
另外,上述步骤S202中,根据所述镜像文件构建所述测试镜像的方式,可以实现不同项目的编译、测试环境的相互独立,且能够非常方便的将测试环境重新部署在不同测试服务器上,实现了只需要在首次测试时根据镜像描述文件构建一次镜像文件,并将该镜像文件存储在数据服务器上,后续使用过程中,无须根据镜像描述文件重新构建所述镜像文件,直接从所述数据服务器上获取所述镜像文件,从而实现了所述镜像文件的重复使用,进一步降低了针对测试对象的测试难度,有效地应用到集成电路领域实现对测试对象的测试。
具体地,本实施例中,所述测试镜像具体可以为Bin测试镜像,即二进制测试镜像。在其他一实施例中,所述测试镜像也可以为Hex测试镜像,即十六进制测试镜像。此处,仅仅是举例并非特别限定。
S203、在所述测试对象上加载所述测试镜像,以对所述功能模块的至少一功能特性进行测试。
具体地,本实施例中,可以在所述测试对象加载上述测试镜像并运行,比如通过下载的方式加载上述测试镜像。若测试对象上通常设置有多个功能模块,每个功能模块通常有多个功能特性,则对应地会有多个测试用例代码对应地就有多个测试镜像,该多个测试镜像可逐一加载到所述测试对象上,以对多个功能模块的多个功能特性逐一进行测试。
进一步地,本实施例中,可以通过仿真器从所述测试服务器下载上述测试镜像至所述测试对象上运行。具体地,所述仿真器比如为J-link仿真器。若有多个测试镜像,则所述仿真器可以逐一将多个测试镜像下载到所述测试对象上并逐一运行。
可选地,在其他一实施例中,在执行步骤S201之前,还可以包括:配置测试流水线任务,所述测试流水线任务用于控制所述硬件驱动代码、所述测试用例代码以及所述镜像文件的获取,以及控制所述硬件驱动代码、所述测试用例代码的编译以及所述测试镜像的加载。具体地,通过持续测试工具平台如jenkins进行配置所述测试流水线任务。
如前所述,一个测试用例代码对应有一个测试镜像,由此,通过所述测试流水线任务可以保证对测试对象上存储空间的有效利用,可以避免多个测试用例对应一个测试镜像存储在测试对象上造成存储空间不够用的情形。另外,通过测试流水线任务可以实现上述步骤S201-S203的自动执行,无须人工干预,从而提高了测试效率,以及提高了测试的稳定性。比如当测试对象的版本不断迭代完善时,针对每一个版本的测试对象,这种通过测试流水线任务可以实现上述步骤S201-S203的自动执行,可以极大地提高测试效率,以及测试的稳定性。再者,通过测试流水线任务可以灵活配置测试用例代码的个数,增加了测试的灵活性,从而进一步降低了针对测试对象的测试难度,有效地应用到集成电路领域实现对测试对象的测试。
具体地,通过配置所述测试流水线任务从而便捷地实现测试用例代码和在所述测试对象上加载所述测试镜像之间的衔接,只要生成了测试镜像即可将所述测试镜像加载到所述测试对象上运行,从而进一步提高了测试效率。通过所述Jenkins配置的测试流水线任务业界又称之为Jenkins Pipeline。
进一步地,在其他一实施例中,在步骤S203之后,还可以包括:存储针对所述测试对象的测试结果。为此,在上述图1所示实施例的基础上,测试系统还可以包括测试结果服务器,用于存储所述测试对象的测试结果,便于对基于该测试结果进行测试对象的合理性验证。
进一步地,在其他一实施例中,上述测试配置脚本还用于控制针对所述测试对象的测试结果的记录以存储到所述测试结果服务器上,从而可以实现测试结果的自动记录以及自动存储,无须人工干预,从而进一步降低了针对测试对象的测试难度,有效地应用到集成电路领域实现对测试对象的测试。
进一步地,在其他一实施例中,上述测试配置脚本通过控制仿真器(如J-link)的显示组件(RTTViewer)或测试对象的串口收集测试日志,以根据所述测试日志生成测试结果。
进一步地,在其他一实施例中,所述测试结果服务器还可以用于备份所述测试镜像,以在测试失败或者出现异常情况时,只需要重新从所述测试结果服务器下载所述测试镜像到测试对象上即可,无须重新生成测试镜像,从而方便了开发人员进行调试分析。
进一步地,在其他一实施例中,所述测试流水线任务还可以用于控制测试日志的收集、测试结果的生成。
进一步地,在其他一实施例中,所述测试流水线任务还可以用于控制测试镜像的备份。
图3为本申请实施例三提供的一种应用于集成电路的测试装置结构示意图;如图3所示,测试装置可以包括:
获取模块301,用于获取针对测试对象配置的硬件驱动代码、测试用例代码以及镜像文件,一个所述测试用例代码对应所述测试对象中一个功能模块的至少一功能特性,所述测试对象包括芯片、所述芯片对应的设计原型中至少其一;
编译模块302,用于根据所述镜像文件,启动预先构建的镜像容器对所述硬件驱动代码、所述测试用例代码进行编译生成测试镜像;
加载模块303,用于在所述测试对象上加载所述测试镜像,以对所述功能模块的至少一功能特性进行测试。
有关获取模块301、编译模块302、加载模块303的示例性解释,可参见上述图1和图2的记载。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
至此,已经对本主题的特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作可以按照不同的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序,以实现期望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、Atmel AT91SAM、Microchip PIC 18F26K20以及Silicone LabsC8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定事务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行事务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他一实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (14)
1.一种应用于集成电路的测试方法,其特征在于,包括:
获取针对测试对象配置的硬件驱动代码、测试用例代码以及镜像文件,一个所述测试用例代码对应所述测试对象中一个功能模块的至少一功能特性,所述测试对象包括芯片、所述芯片对应的设计原型中至少其一;
根据所述镜像文件,启动预先构建的镜像容器对所述硬件驱动代码、所述测试用例代码进行编译生成测试镜像;
在所述测试对象上加载所述测试镜像,以对所述功能模块的至少一功能特性进行测试。
2.根据权利要求1所述的应用于集成电路的测试方法,其特征在于,所述获取针对所述测试对象配置的硬件驱动代码、测试用例代码以及镜像文件,包括:从数据服务器上获取所述针对所述测试对象配置的硬件驱动代码、测试用例代码以及镜像文件。
3.根据权利要求1所述的应用于集成电路的测试方法,其特征在于,所述根据所述镜像文件,启动预先构建的镜像容器对所述硬件驱动代码、所述测试用例代码进行编译处理生成测试镜像,包括:根据所述镜像文件,启动所述预先构建的镜像容器运行预先配置的测试配置脚本对所述硬件驱动代码、所述测试用例代码进行编译处理生成所述测试镜像。
4.根据权利要求1所述的应用于集成电路的测试方法,其特征在于,在所述获取针对所述测试对象配置的硬件驱动代码、测试用例代码以及镜像文件之前,所述测试方法还包括:根据镜像描述文件构建所述镜像文件。
5.根据权利要求3所述的应用于集成电路的测试方法,其特征在于,所述测试配置脚本为Python脚本。
6.根据权利要求1所述的应用于集成电路的测试方法,其特征在于,在所述获取针对所述测试对象配置的硬件驱动代码、测试用例代码以及镜像文件之前,所述测试方法还包括:配置测试流水线任务,所述测试流水线任务用于控制所述硬件驱动代码、测试用例代码以及镜像文件的获取,以及控制所述硬件驱动代码、所述测试用例代码的编译以及所述测试镜像的加载。
7.根据权利要求6所述的应用于集成电路的测试方法,其特征在于,通过持续集成工具平台配置所述测试流水线任务。
8.根据权利要求7所述的应用于集成电路的测试方法,其特征在于,所述持续集成工具平台为Jenkins。
9.一种应用于集成电路的测试装置,其特征在于,包括:
获取模块,用于获取针对测试对象配置的硬件驱动代码、测试用例代码以及镜像文件,一个所述测试用例代码对应所述测试对象中一个功能模块的至少一功能特性,所述测试对象包括芯片、所述芯片对应的设计原型中至少其一;
编译模块,用于根据所述镜像文件,启动预先构建的镜像容器对所述硬件驱动代码、所述测试用例代码进行编译生成对应的测试镜像;
加载模块,用于在所述测试对象上加载所述测试镜像,以对所述功能模块的至少一功能特性进行测试。
10.一种应用于集成电路的测试系统,其特征在于,包括:测试服务器,所述测试服务器上配置有获取模块、编译模块以及加载模块,所述获取模块用于获取针对测试对象配置的硬件驱动代码、测试用例代码以及镜像文件,一个所述测试用例代码对应所述测试对象中一个功能模块的至少一功能特性,所述测试对象包括芯片、所述芯片对应的设计原型中至少其一;所述编译模块用于根据所述镜像文件,启动预先构建的镜像容器对所述硬件驱动代码、所述测试用例代码进行编译生成测试镜像;所述加载模块用于在所述测试对象上加载所述测试镜像,以对所述功能模块的至少一功能特性进行测试。
11.根据权利要求10所述的测试系统,其特征在于,还包括:数据服务器,所述数据服务器用于存储所述针对所述测试对象配置的硬件驱动代码、测试用例代码以及镜像文件。
12.根据权利要求10所述的测试系统,其特征在于,所述测试服务器上预先配置有测试配置脚本,所述编译模块进一步用于根据所述镜像文件启动所述预先构建的镜像容器运行预先配置的所述测试配置脚本对所述硬件驱动代码、所述测试用例代码进行编译处理生成所述测试镜像。
13.根据权利要求10所述的测试系统,其特征在于,所述编译模块进一步用于根据所述镜像描述文件构建所述镜像文件。
14.根据权利要求10所述的测试系统,其特征在于,所述测试服务器上配置有持续集成工具平台,所述持续集成工具平台用于配置测试流水线任务,所述测试流水线任务用于控制所述硬件驱动代码、所述测试用例代码以及所述镜像文件的获取,以及控制所述硬件驱动代码、所述测试用例代码的编译以及所述测试镜像的加载。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911410294.4A CN111159972A (zh) | 2019-12-31 | 2019-12-31 | 应用于集成电路的测试方法、测试装置及测试系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911410294.4A CN111159972A (zh) | 2019-12-31 | 2019-12-31 | 应用于集成电路的测试方法、测试装置及测试系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111159972A true CN111159972A (zh) | 2020-05-15 |
Family
ID=70559825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911410294.4A Pending CN111159972A (zh) | 2019-12-31 | 2019-12-31 | 应用于集成电路的测试方法、测试装置及测试系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111159972A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093764A1 (en) * | 2001-10-03 | 2003-05-15 | International Business Machines Corporation | Automated system-on-chip integrated circuit design verification system |
CN102521444A (zh) * | 2011-12-08 | 2012-06-27 | 青岛海信信芯科技有限公司 | 软硬件协同仿真/验证方法及装置 |
CN105786691A (zh) * | 2014-12-25 | 2016-07-20 | 重庆重邮信科通信技术有限公司 | 一种移动终端自动化集成测试装置、方法和系统 |
CN106443412A (zh) * | 2016-09-09 | 2017-02-22 | 杭州万高科技股份有限公司 | 一种ic测试装置及方法 |
CN108491210A (zh) * | 2018-03-27 | 2018-09-04 | 无锡华云数据技术服务有限公司 | 代码持续集成方法、装置、系统及服务器 |
CN109324799A (zh) * | 2018-09-25 | 2019-02-12 | 珠海市筑巢科技有限公司 | 一种代码编译方法、计算机装置及计算机可读存储介质 |
CN109324975A (zh) * | 2018-10-08 | 2019-02-12 | 四川长虹电器股份有限公司 | 一种基于移动云测平台的持续集成方法 |
CN109408382A (zh) * | 2018-10-11 | 2019-03-01 | 网宿科技股份有限公司 | 一种持续集成方法和持续集成系统 |
CN109783340A (zh) * | 2017-11-10 | 2019-05-21 | 深圳市中兴微电子技术有限公司 | SoC的测试代码烧写方法、IP测试方法及装置 |
CN110347395A (zh) * | 2018-04-03 | 2019-10-18 | 中移信息技术有限公司 | 基于云计算平台的软件发布方法及装置 |
-
2019
- 2019-12-31 CN CN201911410294.4A patent/CN111159972A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093764A1 (en) * | 2001-10-03 | 2003-05-15 | International Business Machines Corporation | Automated system-on-chip integrated circuit design verification system |
CN102521444A (zh) * | 2011-12-08 | 2012-06-27 | 青岛海信信芯科技有限公司 | 软硬件协同仿真/验证方法及装置 |
CN105786691A (zh) * | 2014-12-25 | 2016-07-20 | 重庆重邮信科通信技术有限公司 | 一种移动终端自动化集成测试装置、方法和系统 |
CN106443412A (zh) * | 2016-09-09 | 2017-02-22 | 杭州万高科技股份有限公司 | 一种ic测试装置及方法 |
CN109783340A (zh) * | 2017-11-10 | 2019-05-21 | 深圳市中兴微电子技术有限公司 | SoC的测试代码烧写方法、IP测试方法及装置 |
CN108491210A (zh) * | 2018-03-27 | 2018-09-04 | 无锡华云数据技术服务有限公司 | 代码持续集成方法、装置、系统及服务器 |
CN110347395A (zh) * | 2018-04-03 | 2019-10-18 | 中移信息技术有限公司 | 基于云计算平台的软件发布方法及装置 |
CN109324799A (zh) * | 2018-09-25 | 2019-02-12 | 珠海市筑巢科技有限公司 | 一种代码编译方法、计算机装置及计算机可读存储介质 |
CN109324975A (zh) * | 2018-10-08 | 2019-02-12 | 四川长虹电器股份有限公司 | 一种基于移动云测平台的持续集成方法 |
CN109408382A (zh) * | 2018-10-11 | 2019-03-01 | 网宿科技股份有限公司 | 一种持续集成方法和持续集成系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6198939B2 (ja) | ドライバをロードする方法及び組み込みデバイス | |
US10324696B2 (en) | Dynamic container deployment with parallel conditional layers | |
CN109062617B (zh) | 一种支持多类型设备的平台的应用方法、移动终端 | |
CN111399840B (zh) | 一种模块开发方法及装置 | |
CN109947643B (zh) | 一种基于a/b测试的实验方案的配置方法、装置及设备 | |
CN117075930B (zh) | 一种计算框架管理系统 | |
CN112189187A (zh) | 统一平台的可扩展性 | |
CN112084488A (zh) | 应用权限管理方法、装置及系统 | |
CN112631684A (zh) | 可执行程序的运行方法、装置、电子设备及计算机存储介质 | |
CN114168114A (zh) | 一种算子注册方法、装置以及设备 | |
CN115291946A (zh) | 鸿蒙系统移植方法、装置、电子设备及可读介质 | |
CN116719533A (zh) | 环境自动部署方法、部署装置、电子设备及存储介质 | |
CN110083366B (zh) | 应用运行环境的生成方法、装置、计算设备及存储介质 | |
CN110837446A (zh) | 应用于嵌入式系统的设备管理方法及装置、介质以及嵌入式设备 | |
CN114489927A (zh) | 一种解耦依赖文件的容器部署方法及系统 | |
CN114072765B (zh) | 用于基于容器的虚拟化系统的方法 | |
CN106951265B (zh) | 开发环境搭建方法及装置 | |
CN111367512B (zh) | 一种应用程序开发中创建Android库模块依赖关系的方法及装置 | |
CN112698867A (zh) | 注解信息的动态修改方法、装置、电子设备及介质 | |
CN116775061A (zh) | 微服务应用的部署方法、装置、设备及存储介质 | |
CN111338655A (zh) | 一种安装包分发方法和系统 | |
CN111159972A (zh) | 应用于集成电路的测试方法、测试装置及测试系统 | |
CN111324373A (zh) | 多个工程文件上传代码仓库的方法及装置、计算设备 | |
CN111399926A (zh) | 下载启动程序的方法和装置 | |
CN107291439B (zh) | 一种目标增量数据构建方法及装置 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200515 |