CN104268078B - 一种基于参数化ip测试用例集合的芯片自动化验证方法 - Google Patents
一种基于参数化ip测试用例集合的芯片自动化验证方法 Download PDFInfo
- Publication number
- CN104268078B CN104268078B CN201410492013.5A CN201410492013A CN104268078B CN 104268078 B CN104268078 B CN 104268078B CN 201410492013 A CN201410492013 A CN 201410492013A CN 104268078 B CN104268078 B CN 104268078B
- Authority
- CN
- China
- Prior art keywords
- chip
- test case
- test
- case set
- parameter
- 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
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明公开了一种基于参数化IP测试用例集合的芯片自动化验证方法,采用传统验证方法加入IP测试用例的测试激励来实现,步骤如下:设计构成芯片的每个IP的测试用例集合;对构成芯片的每个IP的参数进行配置;根据IP在芯片设计时的参数定义配置相应的测试用例集合;基于配置后的测试用例集合对芯片中每个IP进行测试,以验证设计的正确性。本发明实现简单并且大幅减少了针对同一IP重新编写测试用例的开销,提升了基于IP构建的芯片验证的效率。
Description
技术领域
本发明涉及基于IP构建的芯片的自动化验证技术,特别适用于基于IP构建的大规模集成电路的功能验证。
背景技术
随着集成电路工艺的进步,在单一芯片上集成的晶体管数目越来越多,集成电路规模的增大使得设计和验证变得十分复杂,为了提升芯片设计的效率,降低设计和验证的时间成本,基于成熟度高的IP进行设计和开发成为超大规模集成电路设计的一种主流方式。
针对这类基于IP的芯片设计,由于不同的设计会对IP有不同的使用方式,从而会选取不同的配置参数,在验证时都是根据芯片程序针对不同的芯片构建不同的测试用例,从而导致不同的设计会有不同的验证用例以保证与IP的配置参数一致,从而即使是相同的IP,在不同的项目中使用也会带来很大的测试用例编写时间和验证时间开销。随着半导体工艺的进步,芯片的复杂度进一步提升,会在单一芯片上大量使用成熟的IP,从而使得这种验证时间也随之上升,传统的编写测试用例的方法很难满足大量IP使用时的验证需求。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提供一种基于参数化IP测试用例集合的芯片自动化验证方法,该方法提升了基于IP的复杂设计的验证效率及IP复用时的验证效率,减少了版本管理和IP参数配置更改的时间开销。
本发明的技术解决方案是:一种基于参数化IP测试用例集合的芯片自动化验证方法,所述芯片由多个IP构成,其特征在于步骤如下:
步骤一、为构成芯片的每个IP设计测试用例集合,所述每个IP的测试用例集合覆盖对应IP的所有测试功能,且其中每个测试用例的输入输出均以对应 IP的参数表示;
步骤二、对构成芯片的每个IP的参数进行配置;
步骤三、利用步骤二中每个IP的参数配置值为对应IP的测试用例集合中的相应参数赋值;
步骤四、利用每个IP的测试用例集合对芯片中对应的IP进行测试,直到完成芯片中所有IP的测试;如果所有的测试用例均通过则证明该设计符合需求,如果存在未能通过的测试用例,则定位对应的IP进行问题分析。
所述芯片中每个IP的输入输出接口均能通过外部测试环境访问。
本发明相比现有技术具有如下优点:
(1)传统芯片的自动化验证方法首先构建芯片程序,通过分析芯片程序针对不同的芯片构建不同的测试用例;本发明构建针对IP的参数化测试用例,使得设计与验证共用相同参数,利用统一的IP参数进行配置,实现整个基于IP的设计和验证的全自动化。
(2)本发明的方法使得一旦某个IP的参数化测试用例集合被构建后,后续其他应用该IP实现设计的产品均可以使用该测试用例,而不需要再去分析代码编写测试用例,仅需要将其他设计中的参数带入即可。从而基于参数化测试用例实现多个设计中相同IP的测试用例的复用和单一复杂设计中多个不同参数配置的IP的验证的复用,实现了测试的自动化,提升了验证效率,节省了验证时间。
(3)本发明易于维护和升级,当部分IP参数更动时,仅需重新配置一下测试用例即可进行验证,降低更动造成的时间开销。
(4)本发明利用每一个IP的测试用例集合对对应的IP进行测试,从而在发现问题时能够快速定位到具体IP,极大缩短了后续分析和改进设计的时间。
附图说明
图1为本发明基于参数化IP测试用例集合的芯片自动化验证方法流程示 意图。
具体实施方式
下面结合附图和具体芯片验证实施案例对本发明作进一步详细的描述:
如图1所示为本发明基于参数化IP测试用例集合的芯片自动化验证方法流程示意图,具体步骤如下:
(一)对每个IP设计测试用例,测试用例的输入输出都以该IP的参数表示,覆盖该IP所有功能的测试用例构成该IP的可配置测试用例集合TIP;
(二)根据实际的设计需求,对组成芯片的所有IP的可配置的参数进行配置,如IP中使用的FIFO大小等,配置完成后,在设计中进行例化,将其参数赋值,如VHDL语言中使用generic map语句的方式进行例化。
基于配置完成的IP进行整体的代码设计,将IP的接口通过总线或其它连接方式与其他模块连接在一起构成整个设计,如VHDL中使用的port map语句可用于各模块的端口的例化,并通过接口信号将各个子模块构成一个系统。
(三)根据步骤(二)的配置参数对每一个IP的可配置测试用例集合TIP进行配置,如某IP使用的FIFO大小是64字节,则期对应的测试用例集合中的FIFO也会被配置为64字节,从而使得可以进行诸如64字节的FIFO装满数据后的测试。
(四)使用SystemVerilog语言中的接口将某IP的可配置测试用例集合TIP的激励输入到芯片中该IP的端口上(通过直接给端口赋值或通过总线方式将测试激励输入到对应的IP上),将该IP的输出与TIP中相应的正确结果进行比对,从而得到对该IP端口的测试结果。
依次类推,完成芯片中所有IP的测试。如果所有的测试用例均可以通过则证明该设计的功能符合设计需求,如果存在未能通过的测试用例,则可以通过分析设计代码来定位问题。
本发明中的芯片是基于IP构建的,且该设计不改动IP内部的代码,保证IP部分的完整性。其中包含相应的IP对应的输入输出接口,且该部分接口可 以由外部测试环境访问。
IP测试用例集合应当可通过外部参数定义进行配置的,且覆盖IP可以配置的各种参数,从而适用于IP的任何参数配置的验证。
IP测试用例集合需覆盖IP的各种功能测试,使得该测试用例集合满足其IP功能覆盖率100%的要求。
IP测试用例集合应同时含有测试激励的产生与输出结果比对两部分内容,以保证对测试结果的自动化比对。
下面列举一个具体的实施例:
通用多路异步串口(UART)芯片的验证流程:芯片功能为实现多路异步串口的并行通信,其中的每路异步串口均选用成熟度高的IP来实现,通过配置每个串口(即IP)的参数构建整个多路异步串口的RTL代码,然后,根据这些参数配置相应的IP测试用例集合,基于生成的测试用例构建仿真验证平台,依次对每路串口进行仿真验证,从而实现对多路异步串口芯片的验证。
具体操作流程如下:
步骤(一)、为每路异步串口设计测试用例集合,测试用例集合中的输入输出均以每路异步串口的参数表示。
步骤(二)、根据实际需求配置相应的各路异步串口(即IP)的参数,本实例中配置的参数为每个异步串口的接收FIFO和发送FIFO的大小和每路异步串口的寄存器地址分配空间,前者的大小以字节为单位,可以配置为16字节、32字节、64字节、128字节和256字节五种大小,后者的地址分配可以选取地址线的高几位进行分配,如16个串口则选取高4位即可以满足对不同的异步串口访问时地址的区分。
根据配置的参数构建整个多路异步串口的RTL代码,如以收发FIFO字节均为32字节为例,例化该IP部分的代码如下所示:
步骤(三)、根据整个多路异步串口的RTL代码以及配置的参数为IP测试用例集合中各相应的参数赋值。RTL代码中的IP配置参数和可配置IP测试集配置的参数完全一致。
以某路异步串口的TIP为例,对其中的参数进行配置,本例中采用宏定义的方式,在Makefile中定义相应的变量来配置TIP中的参数,如下所示:
TIP中的部分可配置语句编写如下:
在Makefile进行编译时,定义参数的方式如下:
make TFIFO=32
通过上述操作来实现对可配置测试用例集合的参数进行赋值。
步骤(四)、采用SystemVerilog语言将读写寄存器封装为函数,增加一个经过验证的异步串口通信模块,被测的多路串口与该陪测串口收发数据后利用这些函数读取相应的数据寄存器中的数值判断串口通信的收发功能是否正确。
具体地,对UART测试用例集合每个串口TIP中的各个测试向量进行测试,本例中对各种波特率、各种字节格式下的串口收发数据进行测试,并对FIFO清空和装满情况下的异常情况也进行测试,以覆盖该串口的所有功能项。
使用VCS编译仿真软件进行验证,将不同的UART模块的仿真结果输出为不同的log文件,仿真验证遍历每个UART模块。
统计各种测试的结果,并对功能覆盖率进行分析,本例的实际仿真验证表明,所有测试用例均通过测试,其功能覆盖率达到100%,语句覆盖率达到100%,条件覆盖率达到98%以上,满足设计应用对该芯片验证的需求。
以上所述,仅为本发明最佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。
Claims (2)
1.一种基于参数化IP测试用例集合的芯片自动化验证方法,所述芯片由多个IP构成,其特征在于步骤如下:
步骤一、为构成芯片的每个IP设计测试用例集合,所述每个IP的测试用例集合覆盖对应IP的所有测试功能,且其中每个测试用例的输入输出均以对应IP的参数表示;
步骤二、对构成芯片的每个IP的参数进行配置;
步骤三、利用步骤二中每个IP的参数配置值为对应IP的测试用例集合中的相应参数赋值;
步骤四、利用每个IP的测试用例集合对芯片中对应的IP进行测试,直到完成芯片中所有IP的测试;如果所有的测试用例均通过则证明该设计符合需求,如果存在未能通过的测试用例,则定位对应的IP进行问题分析;
对芯片中对应的IP进行测试的方式为:
通过直接给对应IP的端口赋值或通过总线方式将测试激励输入到对应的IP上,将该IP的输出与该IP测试用例集合中相应的正确结果进行比对,得到该IP的测试结果。
2.根据权利要求1所述的一种基于参数化IP测试用例集合的芯片自动化验证方法,其特征在于:所述芯片中每个IP的输入输出接口均能通过外部测试环境访问。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410492013.5A CN104268078B (zh) | 2014-09-23 | 2014-09-23 | 一种基于参数化ip测试用例集合的芯片自动化验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410492013.5A CN104268078B (zh) | 2014-09-23 | 2014-09-23 | 一种基于参数化ip测试用例集合的芯片自动化验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104268078A CN104268078A (zh) | 2015-01-07 |
CN104268078B true CN104268078B (zh) | 2017-03-15 |
Family
ID=52159601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410492013.5A Active CN104268078B (zh) | 2014-09-23 | 2014-09-23 | 一种基于参数化ip测试用例集合的芯片自动化验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104268078B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102015208607A1 (de) * | 2015-05-08 | 2016-11-10 | Minimax Gmbh & Co. Kg | Gefahrensignalerfassungs- und Löschsteuerzentrale |
CN107346128A (zh) * | 2016-05-04 | 2017-11-14 | 深圳市祈飞科技有限公司 | 用于锁控板的自动化测试方法和系统 |
CN105956302B (zh) * | 2016-05-10 | 2019-07-12 | 北京控制工程研究所 | 一种可配置的抗辐射芯片前端网表自动生成方法 |
CN107634870B (zh) * | 2016-07-18 | 2019-11-12 | 珠海格力电器股份有限公司 | 一种实现ip验证的方法及装置 |
CN106371995A (zh) * | 2016-09-05 | 2017-02-01 | 芯海科技(深圳)股份有限公司 | 一种通过mcu防真器实现快速自动化测试的方法 |
CN106546900B (zh) * | 2016-09-13 | 2019-04-16 | 芯海科技(深圳)股份有限公司 | 一种通过CodeOption实现自动化测试方法 |
CN109240872B (zh) * | 2018-08-08 | 2021-12-10 | 瑞芯微电子股份有限公司 | 一种芯片验证关键信号覆盖率统计分析方法和存储介质 |
CN111209182B (zh) * | 2018-11-22 | 2022-06-14 | 长鑫存储技术有限公司 | 集成电路上电测试方法、装置、存储介质及电子设备 |
CN113742202A (zh) * | 2020-05-29 | 2021-12-03 | 上海商汤智能科技有限公司 | Ai芯片验证系统、方法、设备及存储介质 |
CN112380798B (zh) * | 2020-11-16 | 2022-11-11 | 海光信息技术股份有限公司 | 参数检查方法、装置、设备和存储介质 |
CN112597717B (zh) * | 2020-12-15 | 2023-03-21 | 海光信息技术股份有限公司 | Ip核验证方法、装置及电子设备 |
CN115529296B (zh) * | 2022-08-25 | 2023-10-03 | 惠州市德赛西威汽车电子股份有限公司 | 一种id地址的测试方法,系统,测试工具以及存储介质 |
CN115808612B (zh) * | 2023-01-30 | 2023-06-02 | 成都爱旗科技有限公司 | 一种芯片物理ip测试系统、方法及电子设备 |
CN116227398B (zh) * | 2023-05-10 | 2023-08-22 | 中科亿海微电子科技(苏州)有限公司 | 一种自动化生成ip核测试激励的方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102331967A (zh) * | 2011-06-15 | 2012-01-25 | 烽火通信科技股份有限公司 | 芯片验证测试用例的管理方法 |
CN102479130A (zh) * | 2010-11-25 | 2012-05-30 | 上海宇芯科技有限公司 | 一种跨平台跨语言单芯片系统的验证方法 |
CN103631720A (zh) * | 2013-12-20 | 2014-03-12 | 百度在线网络技术(北京)有限公司 | 测试用例的生成方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101501651A (zh) * | 2006-08-08 | 2009-08-05 | 皇家飞利浦电子股份有限公司 | 电子设备和控制通信的方法 |
-
2014
- 2014-09-23 CN CN201410492013.5A patent/CN104268078B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479130A (zh) * | 2010-11-25 | 2012-05-30 | 上海宇芯科技有限公司 | 一种跨平台跨语言单芯片系统的验证方法 |
CN102331967A (zh) * | 2011-06-15 | 2012-01-25 | 烽火通信科技股份有限公司 | 芯片验证测试用例的管理方法 |
CN103631720A (zh) * | 2013-12-20 | 2014-03-12 | 百度在线网络技术(北京)有限公司 | 测试用例的生成方法和装置 |
Non-Patent Citations (2)
Title |
---|
Cardbus-AHB总线桥IP核的验证方法研究和实现;夏莲;《中国优秀硕士学位论文全文数据库》;20070915;全文 * |
超大规模专用集成电路的功能仿真和验证;夏晓菲;《中国优秀硕士学位论文全文数据库》;20050615;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104268078A (zh) | 2015-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104268078B (zh) | 一种基于参数化ip测试用例集合的芯片自动化验证方法 | |
US5734581A (en) | Method for implementing tri-state nets in a logic emulation system | |
US5036473A (en) | Method of using electronically reconfigurable logic circuits | |
US7509614B2 (en) | Method and system for integrating cores in FPGA-based system-on-chip (SoC) | |
US7188330B2 (en) | Handling of unused coreware with embedded boundary scan chains to avoid the need of a boundary scan synthesis tool during custom instance creation | |
US8732632B1 (en) | Method and apparatus for automated extraction of a design for test boundary model from embedded IP cores for hierarchical and three-dimensional interconnect test | |
CN105956302A (zh) | 一种可配置的抗辐射芯片前端网表自动生成方法 | |
US8972914B2 (en) | Coexistence of multiple verification component types in a hardware verification framework | |
US7225416B1 (en) | Methods and apparatus for automatic test component generation and inclusion into simulation testbench | |
US8686753B1 (en) | Partial reconfiguration and in-system debugging | |
JP4078435B2 (ja) | 論理集積回路及び論理集積回路設計方法及び論理集積回路のハードウェア動作記述を生成するハードウェア記述生成方法 | |
CN106293625A (zh) | 一种配置寄存器的方法和装置 | |
US10824783B2 (en) | Approach for logic signal grouping and RTL generation using XML | |
US20140100841A1 (en) | Testing a Hardware Emulation Model of a Circuit with Software Checker Routines Designed for an RTL Model of the Circuit | |
CN105653409A (zh) | 一种基于数据类型转换的硬件仿真器验证数据提取系统 | |
CN103530166B (zh) | 一种基于虚拟ram的面向多通道芯片的验证平台和验证方法 | |
EP2541448B1 (en) | Method and system for partial reconfiguration simulation | |
CN202815170U (zh) | 芯片测试系统 | |
CN109426671B (zh) | 一种边界扫描链的生成方法及装置、计算机可读存储介质 | |
US7360133B2 (en) | Method for creating a JTAG tap controller in a slice for use during custom instance creation to avoid the need of a boundary scan synthesis tool | |
CN110941932B (zh) | 一种面向硬件逻辑设计的需求建模与验证方法 | |
US9703900B1 (en) | System level simulation wrapper for hybrid simulation | |
EP4204828A1 (en) | High-speed functional protocol based test and debug | |
CN105372582B (zh) | 一种模块级边界扫描链的生成方法及系统 | |
Niskanen | High-level verification flow for a high-level synthesis-based digital logic design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |