CN113806234A - 一种芯片寄存器提取及测试方法 - Google Patents
一种芯片寄存器提取及测试方法 Download PDFInfo
- Publication number
- CN113806234A CN113806234A CN202111182479.1A CN202111182479A CN113806234A CN 113806234 A CN113806234 A CN 113806234A CN 202111182479 A CN202111182479 A CN 202111182479A CN 113806234 A CN113806234 A CN 113806234A
- Authority
- CN
- China
- Prior art keywords
- register
- testing
- key information
- bit
- test case
- 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
- 238000000605 extraction Methods 0.000 title claims description 6
- 238000010998 test method Methods 0.000 title claims description 5
- 238000012360 testing method Methods 0.000 claims abstract description 51
- 238000000034 method Methods 0.000 claims abstract description 12
- 238000004088 simulation Methods 0.000 claims abstract description 6
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 239000000284 extract Substances 0.000 abstract 1
- 230000006870 function Effects 0.000 description 7
- 238000012795 verification Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 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/3604—Software analysis for verifying properties of programs
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明涉及芯片测试技术领域,尤其涉及一种芯片寄存器提取及测试方法,所述方法包括使用perl编写脚本,调用ActivePerl提供的OLE接口,根据寄存器表格使用正则表达式依次去匹配对应的关键字,从而提取一个寄存器的关键信息;再根据提取的寄存器的关键信息生成仿真平台可以直接运行的测试用例。本发明通过脚本提取寄存器内容,可以对寄存器功能进行全面测试,提高了芯片寄存器验证的效率。
Description
技术领域
本发明涉及芯片测试技术领域,尤其涉及一种芯片寄存器提取及测试方法。
背景技术
在芯片设计中,寄存器承担着软硬件交互的重要作用,主要体现在:
(1)芯片复位后,保存触发器的默认值,软件读取后可获取硬件的初始状态;
(2)解除复位后,保存软件下发的配置,用于改变硬件的工作模式;
(3)提供debug信息,如统计,fifo状态,fsm状态,err监控等;
(4)提供中断详细信息,便于cpu执行不同的中断处理程序;
(5)提供软复位接口,将芯片从异常中跳出来;
(6)保存软件配置表项,将软件定义的功能以硬件规则实现,降低cpu的负担,提高处理性能;
由上述分析可见,确保寄存器能被正确访问是很重要的。在芯片的设计比较复杂时,往往会有大量的配置寄存器和debu g寄存器,为了确保寄存器能够正常工作,需要验证工程师根据寄存器的定义对其进行读写测试,考虑到项目复杂度,对寄存器进行测试是一项重要而又繁琐的任务。传统做法如下:
1)根据寄存器文档手动提取寄存器信息,如地址、位宽等信息;
2)根据验证平台编写测试用例,测试复位值并设计测试方法;
3)对寄存器未知地址或ram涉及到拼接的部分进行特定测试;
4)对统计或监控寄存器通过构造激励进行测试;
这些做法的好处是比较精确的对特定寄存器进行测试,但整体效率不高,也会很容易遗漏任务的交叉部分。在寄存器的规格有调整时,需要花时间去仔细校对修改信息。另外,需要每个验证人员都抽出一部分精力来测试寄存器的读写并跟踪后续改动,效率极差。
发明内容
本发明提供了一种芯片寄存器提取及测试方法,提高了芯片寄存器验证的效率。
为了实现本发明的目的,一种芯片寄存器提取及测试方法,包括如下步骤:
1)使用perl编写脚本,调用ActivePerl提供的OLE接口,根据寄存器表格的文件名、sheet名,row/columu数量,使用正则表达式依次去匹配对应的关键字,从而提取一个寄存器的关键信息;
2)根据提取的寄存器的关键信息生成仿真平台可以直接运行的测试用例;
3)测试用例包括:
(1)检查寄存器的复位值;
(2)测试寄存器的bit复位功能;
(3)测试寄存器的bit置位功能;
(4)测试寄存器是否存在bit粘连;
(5)对寄存器的未知地址进行读写,模拟CPU异常访问;
(6)对寄存器ram的复位、置位和读写随机值进行测试;
(7)对寄存器多次读写访问,检查复位值。
作为本发明的优化方案,寄存器的关键信息包括名字、地址、位宽、起始位、复位值和访问属性。
作为本发明的优化方案,测试用例还包括对寄存器ram的地址边界进行测试。
作为本发明的优化方案,在生成仿真平台的测试用例中,附加提取的寄存器关键信息中的名字字段。
本发明具有积极的效果:1)本发明通过脚本提取寄存器内容,避免人工手动提取造成的错误和低效,在寄存器数量较多时比较有优势;
2)本发明通过脚本直接生成测试用例,减少验证工程师的工作量,可以用较少的人力去测试大量的寄存器读写;
3)本发明可以对寄存器功能进行全面测试,可以检查上电后复位值,写入全0、全1或随机值后,测试相应的bit能否正常工作;
4)本发明可以在寄存器规格有调整时,可以较快的生成测试用例并进行回归测试;
5)通过本发明可以对寄存器测试进行集中管理,用较少的人力来跟进寄存器的测试。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1是本发明提取寄存器表格流程图。
具体实施方式
下面结合附图对本发明的实现做进一步详细的描述:
本发明公开了一种芯片寄存器提取及测试方法,包括如下步骤:
1)使用perl编写脚本,调用ActivePerl提供的OLE接口,根据寄存器表格的文件名、sheet名,row/columu数量,使用正则表达式依次去匹配对应的关键字,从而提取一个寄存器的关键信息,包括名字、地址、位宽、起始位、复位值和访问属性等;
2)根据提取的寄存器的关键信息生成仿真平台可以直接运行的测试用例,即用perl语言描述sv语言的测试用例。
3)测试用例包括:
(1)检查寄存器的复位值;即读取寄存器的实际复位值与测试用例描述的复位值进行比较。
(2)测试寄存器的bit复位功能,通过对寄存器写全0后读出验证。
(3)测试寄存器的bit置位功能,通过对寄存器写全1后读出验证;
(4)测试寄存器是否存在bit粘连,通过对寄存器写随机值后读出验证;
(5)对寄存器的未知地址进行读写,模拟CPU异常访问;
(6)对寄存器ram的复位、置位和读写随机值进行测试,通过对寄存器ram的地址边界,表项内容进行写入全0、全1、随机值后的读取测试;
(7)对寄存器多次读写访问,会触发复位,检查复位值。
如果ram涉及到深度和宽度拼接,测试用例中还需要对地址边界进行测试,防止拼接错误。
如图1所示,为提取寄存器表格流程图:
1)perl脚本通过option选项获取寄存器表格(excel sheet)的文件名,检查文件是否被打开,如果没有打开,则调用打开函数并得到指向文件的指针;
2)提取excel sheet名字,一般sheet名字为模块或系统名,在生成寄存器时可以考虑附加该信息;
3)使用perl内建的正则引擎匹配寄存器的名字、地址、起始位、复位值、读写属性等关键信息,拿到一个寄存器的信息后,可进入测试项生成部分;
4)循环步进直至将整个寄存器表格遍历完成。
以上所述实施例仅表达了本发明的实施方式,其描述较为具体和详细,并不能因此而理解为对本发明专利范围的限制。应当指出的是,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (4)
1.一种芯片寄存器提取及测试方法,其特征在于:包括如下步骤:
1)使用perl编写脚本,调用ActivePerl提供的OLE接口,根据寄存器表格的文件名、sheet名,row/columu数量,使用正则表达式依次去匹配对应的关键字,从而提取一个寄存器的关键信息;
2)根据提取的寄存器的关键信息生成仿真平台可以直接运行的测试用例;
3)测试用例包括:
(1)检查寄存器的复位值;
(2)测试寄存器的bit复位功能;
(3)测试寄存器的bit置位功能;
(4)测试寄存器是否存在bit粘连;
(5)对寄存器的未知地址进行读写,模拟CPU异常访问;
(6)对寄存器ram的复位、置位和读写随机值进行测试;
(7)对寄存器多次读写访问,检查复位值。
2.根据权利要求1所述的一种芯片寄存器提取及测试方法,其特征在于:寄存器的关键信息包括名字、地址、位宽、起始位、复位值和访问属性。
3.根据权利要求2所述的一种芯片寄存器提取及测试方法,其特征在于:测试用例还包括对寄存器ram的地址边界进行测试。
4.根据权利要求3所述的一种芯片寄存器提取及测试方法,其特征在于:在生成仿真平台的测试用例中,附加提取的寄存器关键信息中的名字字段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111182479.1A CN113806234A (zh) | 2021-10-11 | 2021-10-11 | 一种芯片寄存器提取及测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111182479.1A CN113806234A (zh) | 2021-10-11 | 2021-10-11 | 一种芯片寄存器提取及测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113806234A true CN113806234A (zh) | 2021-12-17 |
Family
ID=78939401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111182479.1A Pending CN113806234A (zh) | 2021-10-11 | 2021-10-11 | 一种芯片寄存器提取及测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113806234A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116932304A (zh) * | 2023-09-15 | 2023-10-24 | 北京燧原智能科技有限公司 | 一种寄存器测试方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183406A (zh) * | 2007-12-25 | 2008-05-21 | 盛科网络(苏州)有限公司 | 网络芯片模块级功能验证测试平台的建立方法 |
CN102402430A (zh) * | 2010-09-14 | 2012-04-04 | 无锡中星微电子有限公司 | 一种利用脚本生成随机测试例方法和系统 |
CN106294052A (zh) * | 2016-07-25 | 2017-01-04 | 北京联盛德微电子有限责任公司 | 一种寄存器读写的测试方法和装置 |
CN107943644A (zh) * | 2017-11-22 | 2018-04-20 | 济南浪潮高新科技投资发展有限公司 | 一种用于基于local bus总线的设计的功能验证平台的搭建方法 |
CN111209185A (zh) * | 2019-12-23 | 2020-05-29 | 厦门市美亚柏科信息股份有限公司 | 基于关键词的自动化测试方法及计算机可读存储介质 |
CN112560372A (zh) * | 2020-11-27 | 2021-03-26 | 山东云海国创云计算装备产业创新中心有限公司 | 一种芯片原型验证方法、装置、设备及介质 |
-
2021
- 2021-10-11 CN CN202111182479.1A patent/CN113806234A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183406A (zh) * | 2007-12-25 | 2008-05-21 | 盛科网络(苏州)有限公司 | 网络芯片模块级功能验证测试平台的建立方法 |
CN102402430A (zh) * | 2010-09-14 | 2012-04-04 | 无锡中星微电子有限公司 | 一种利用脚本生成随机测试例方法和系统 |
CN106294052A (zh) * | 2016-07-25 | 2017-01-04 | 北京联盛德微电子有限责任公司 | 一种寄存器读写的测试方法和装置 |
CN107943644A (zh) * | 2017-11-22 | 2018-04-20 | 济南浪潮高新科技投资发展有限公司 | 一种用于基于local bus总线的设计的功能验证平台的搭建方法 |
CN111209185A (zh) * | 2019-12-23 | 2020-05-29 | 厦门市美亚柏科信息股份有限公司 | 基于关键词的自动化测试方法及计算机可读存储介质 |
CN112560372A (zh) * | 2020-11-27 | 2021-03-26 | 山东云海国创云计算装备产业创新中心有限公司 | 一种芯片原型验证方法、装置、设备及介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116932304A (zh) * | 2023-09-15 | 2023-10-24 | 北京燧原智能科技有限公司 | 一种寄存器测试方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7270764B2 (ja) | 人工知能チップ検証 | |
US7320114B1 (en) | Method and system for verification of soft error handling with application to CMT processors | |
US8924937B1 (en) | Method and system for generating verification information and tests for software | |
US9208451B2 (en) | Automatic identification of information useful for generation-based functional verification | |
CN109189479B (zh) | 一种用于处理器指令集的并行自动化验证方法 | |
US20070061641A1 (en) | Apparatus and method for generating test driver | |
US9286180B1 (en) | Final result checking for system with pre-verified cores | |
US20200074040A1 (en) | Hierarchical expression coverage clustering for design verification | |
US20180225394A1 (en) | Functional verification with machine learning | |
Lin et al. | Concolic testing of SystemC designs | |
CN111679984A (zh) | 一种性能分析方法和装置 | |
CN110287700B (zh) | 一种iOS应用安全分析方法及装置 | |
US10592623B2 (en) | Assertion statement check and debug | |
CN113806234A (zh) | 一种芯片寄存器提取及测试方法 | |
CN114816993A (zh) | 一种全链路接口测试方法、系统、介质及电子设备 | |
CN114660437A (zh) | 一种波形文件生成方法及装置 | |
CN112560372B (zh) | 一种芯片原型验证方法、装置、设备及介质 | |
CN111767213B (zh) | 数据库检查点的测试方法、装置、电子设备及存储介质 | |
CN112597718A (zh) | 集成电路设计的验证方法、验证装置以及存储介质 | |
CN112685316A (zh) | 代码执行路径的获取方法、装置、计算机设备及存储介质 | |
KR100777103B1 (ko) | 테스트 드라이버 생성 장치 및 방법 | |
CN108363567B (zh) | 一种基于数据库的验证平台激励器自动化生成方法 | |
CN112613257A (zh) | 验证方法、装置、电子设备和计算机可读存储介质 | |
CN112380133A (zh) | 一种指令集模拟器利用功能库仿真的方法及装置 | |
CN111767222A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211217 |