CN114880972A - 支持错误注入验证测试的验证方法、计算机可读介质 - Google Patents
支持错误注入验证测试的验证方法、计算机可读介质 Download PDFInfo
- Publication number
- CN114880972A CN114880972A CN202210418192.2A CN202210418192A CN114880972A CN 114880972 A CN114880972 A CN 114880972A CN 202210418192 A CN202210418192 A CN 202210418192A CN 114880972 A CN114880972 A CN 114880972A
- Authority
- CN
- China
- Prior art keywords
- error injection
- verification
- type
- error
- sequence
- 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
- 238000002347 injection Methods 0.000 title claims abstract description 90
- 239000007924 injection Substances 0.000 title claims abstract description 90
- 238000012795 verification Methods 0.000 title claims abstract description 79
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000012360 testing method Methods 0.000 title claims abstract description 28
- 238000012544 monitoring process Methods 0.000 claims abstract description 13
- 238000012986 modification Methods 0.000 claims abstract description 5
- 230000004048 modification Effects 0.000 claims abstract description 5
- 238000004891 communication Methods 0.000 claims description 4
- 238000013461 design Methods 0.000 description 12
- 238000001514 detection method Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000005284 excitation Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种支持错误注入验证测试的验证方法、计算机可读介质,其中验证方法,包含如下步骤:创建序列元素,序列元素携带需要进行测试的错误注入的类型;创建驱动器,驱动器根据错误注入的类型对接收到的序列元素的数据进行错误注入并修改,将修改后的序列元素的数据驱动到外部的接口总线上;在事务数据中增加能够标识错误注入的类型的成员变量;创建监测器,监测器监测接口总线的当前路径上所包含的错误注入的类型;创建验证分析组件,监测器将监测到的错误注入的类型输入至验证分析组件以及DUT相关的错误监测机制功能组件下进行验证分析。本发明可根据实际项目需要灵活进行开关控制,因此与现有方案下的验证平台结构完全兼容。
Description
技术领域
本发明涉及芯片验证技术领域,特别涉及一种支持错误注入验证测试的验证方法和计算机可读介质。
背景技术
在验证环境中,通常我们会使用UVM来搭建对RTL(Register Transfer Level,寄存器传输级)设计(这里的DUT,待测设计)的验证平台,如图1所示是一个基于UVM验证平台的典型架构,这里使用interface接口将DUT与验证平台进行连接,然后通过编写sequence序列激励并经过相关验证组件驱动到interface接口上以施加给DUT的输入端,然后监测DUT的输出端信号,并广播发送到分析组件进行分析比较,从而判断DUT行为功能的正确性。
上述方案是通常情况下我们采用的对DUT的验证方案,但是实际验证工作中还需要考虑到以下两种数据出现差错的情况:
(1)在实际的验证平台中可能会出现时序总线协议的违反错误
这种情况是不应该出现的,也是设计和验证人员应该要避免的,但是验证平台需要能够识别并提醒开发人员进行修正。
(2)信号传输过程中的错误
实际芯片中的数据传输过程中,由于传输***导致的在链路上传输的一个或多个帧数据出现差错。这种情况下,就需要RTL设计具有差错检测机制,仅当检测的结果正确时才接收该数据,以尽可能提高数据传输的正确性。
那么,在这种情况下,我们相应的就需要对具有差错检测机制的RTL设计进行错误注入的测试,以验证在发生错误传输数据的情况下该RTL设计的相关差错检测功能。
而上述现有的方案并没有在一开始就考虑到错误注入测试的场景,因此,需要对其进行改进以适应实际芯片验证的需要。本专利在现有方案的基础上提出了一种适用于差错注入测试的验证平台结构,可以方便的应用对具有类似差错检测机制功能的RTL设计进行行为功能的验证。
发明内容
根据本发明实施例,提供了一种支持错误注入验证测试的验证方法,包含如下步骤:
创建序列元素,序列元素携带需要进行测试的错误注入的类型;
创建驱动器,驱动器根据错误注入的类型对接收到的序列元素的数据进行错误注入并修改,将修改后的序列元素的数据驱动到外部的接口总线上;
在事务数据中增加能够标识错误注入的类型的成员变量;
创建监测器,监测器监测接口总线的当前路径上所包含的错误注入的类型;
创建验证分析组件,监测器将监测到的错误注入的类型输入至验证分析组件以及DUT相关的错误监测机制功能组件下进行验证分析。
进一步,序列元素携带需要进行测试的错误注入的类型具体为:
在序列元素中增加本地错误注入相关的数据成员;
创建具有错误注入的序列,随机具有错误注入的序列内包含的序列元素;
使用本地错误注入相关的数据成员变量覆盖包含的序列元素的错误注入相关的数据成员变量,作为需要进行测试的错误注入的类型。
进一步,在序列元素中增加本地错误注入相关的数据成员时,通过随机约束将错误注入默认关闭。
进一步,驱动器中的驱动方法里增加有错误注入的驱动逻辑。
进一步,监测器中增加有错误注入监测逻辑。
进一步,监测器将监测到的错误注入的类型通过通信端口广播给验证分析组件以及DUT相关的错误监测机制功能组件下进行验证分析。
根据本发明又一实施例,提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器运行支持错误注入验证测试的验证方法。
根据本发明实施例的支持错误注入验证测试的验证方法和计算机可读介质,具备如下有益效果:
(1)默认情况下,不进行错误注入测试,可根据实际项目需要灵活进行开关控制,因此与现有方案下的验证平台结构完全兼容。
(2)提供了足够的灵活性,可由验证开发人员自行选择要加入的错误注入模式,以根据实际项目需要进行多种类型的错误注入测试,从而对DUT的差错监测行为功能进行全面的验证。
要理解的是,前面的一般描述和下面的详细描述两者都是示例性的,并 且意图在于提供要求保护的技术的进一步说明。
附图说明
图1为基于UVM验证平台的典型架构图。
图2为根据本发明实施例支持错误注入验证测试的验证方法的流程图。
图3为根据图2的方法原理示意图。
图4为根据本发明实施例支持错误注入验证测试的验证方法的错误监测机制的帧数据格式示例图。
具体实施方式
以下将结合附图,详细描述本发明的优选实施例,对本发明做进一步阐述。
首先,将结合图2~3描述根据本发明实施例的支持错误注入验证测试的验证方法,用于不同性能和不同模式的芯片的验证,其应用场景很广。
如图2~3所示,本发明实施例的支持错误注入验证测试的验证方法,包含如下步骤:
在S1中,如图2所示,创建序列元素sequence_item,序列元素sequence_item携带需要进行测试的错误注入的类型。
进一步,序列元素携带需要进行测试的错误注入的类型具体为:在序列元素sequence_item中增加本地错误注入相关的数据成员;创建具有错误注入的序列sequence,随机具有错误注入的序列sequence内包含的序列元素sequence item;使用本地错误注入相关的数据成员变量覆盖包含的序列元素sequence item的错误注入相关的数据成员变量,作为需要进行测试的错误注入的类型。
进一步,在序列元素中增加本地错误注入相关的数据成员时,通过随机约束将错误注入默认关闭。
在S2中,如图2所示,创建驱动器driver,驱动器driver根据错误注入的类型对接收到的序列元素sequence_item的数据进行错误注入并修改,将修改后的序列元素sequence_item的数据驱动到外部的接口总线上。在本实施例中,驱动器中的驱动方法里增加有错误注入的驱动逻辑。
在S3中,如图2所示,在事务数据transaction中增加能够标识错误注入的类型的成员变量。在本实施例中,事务数据(transaction)为芯片各个子模块中相互通信的最小数据单元,它是一个类,其中封装了模块之间通信的接口信号数据。在这里增加错误注入的类型的成员变量,是指我们会通过编写事务数据将我们想要施加的输入激励信号驱动到待测设计的接口上,并且在这个输入激励信号中增加一些会引发待测设计功能错误或异常的信号,来检测待测设计在错误激励场景下的行为和输出,从而进一步判断待测设计功能是否符合设计目标。
在S4中,如图2所示,创建监测器monitor,监测器monitor监测接口总线的当前路径上所包含的错误注入的类型。在本实施例中,监测器中增加有错误注入监测逻辑。
在S5中,如图2所示,创建验证分析组件,监测器将监测到的错误注入的类型通过通信端口广播输入至验证分析组件以及DUT相关的错误监测机制功能组件下进行验证分析。在本实施例中,如图4所示,错误监测机制的帧数据格式示例包含:起始帧数据(SOF,start of frame),有效传输数据(Payload),循环冗余校验数据(CRC,cyclic redundancycheck)和结束帧数据(EOF,end of frame)。
以上结合附图2~3描述了根据本发明实施例的支持错误注入验证测试的验证方法。进一步地,本发明还可以应用具有处理器可执行的非易失的程序代码的计算机可读介质。
本发明实施例的具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器运行支持错误注入验证测试的验证方法。
以上,参照图2~3描述了根据本发明实施例的支持错误注入验证测试的验证方法和计算机可读介质,具备如下有益效果:
(1)默认情况下,不进行错误注入测试,可根据实际项目需要灵活进行开关控制,因此与现有方案下的验证平台结构完全兼容。
(2)提供了足够的灵活性,可由验证开发人员自行选择要加入的错误注入模式,以根据实际项目需要进行多种类型的错误注入测试,从而对DUT的差错监测行为功能进行全面的验证。
需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包含……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
Claims (7)
1.一种支持错误注入验证测试的验证方法,其特征在于,包含如下步骤:
创建序列元素,所述序列元素携带需要进行测试的错误注入的类型;
创建驱动器,所述驱动器根据所述错误注入的类型对接收到的所述序列元素的数据进行错误注入并修改,将修改后的所述序列元素的数据驱动到外部的接口总线上;
在事务数据中增加能够标识错误注入的类型的成员变量;
创建监测器,所述监测器监测所述接口总线的当前路径上所包含的所述错误注入的类型;
创建验证分析组件,所述监测器将监测到的所述错误注入的类型输入至所述验证分析组件以及DUT相关的错误监测机制功能组件下进行验证分析。
2.如权利要求1所述支持错误注入验证测试的验证方法,其特征在于,所述序列元素携带需要进行测试的错误注入的类型具体为:
在所述序列元素中增加本地错误注入相关的数据成员;
创建具有错误注入的序列,随机所述具有错误注入的序列内包含的序列元素;
使用所述本地错误注入相关的数据成员变量覆盖所述包含的序列元素的错误注入相关的数据成员变量,作为需要进行测试的错误注入的类型。
3.如权利要求2所述支持错误注入验证测试的验证方法,其特征在于,在所述序列元素中增加本地错误注入相关的数据成员时,通过随机约束将错误注入默认关闭。
4.如权利要求1所述支持错误注入验证测试的验证方法,其特征在于,所述驱动器中的驱动方法里增加有错误注入的驱动逻辑。
5.如权利要求1所述支持错误注入验证测试的验证方法,其特征在于,所述监测器中增加有错误注入监测逻辑。
6.如权利要求1所述支持错误注入验证测试的验证方法,其特征在于,所述监测器将监测到的所述错误注入的类型通过通信端口广播给所述验证分析组件以及DUT相关的错误监测机制功能组件下进行验证分析。
7.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器运行所述权利要求1-6任一项所述支持错误注入验证测试的验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210418192.2A CN114880972A (zh) | 2022-04-21 | 2022-04-21 | 支持错误注入验证测试的验证方法、计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210418192.2A CN114880972A (zh) | 2022-04-21 | 2022-04-21 | 支持错误注入验证测试的验证方法、计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114880972A true CN114880972A (zh) | 2022-08-09 |
Family
ID=82670688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210418192.2A Pending CN114880972A (zh) | 2022-04-21 | 2022-04-21 | 支持错误注入验证测试的验证方法、计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114880972A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117687395A (zh) * | 2024-02-02 | 2024-03-12 | 苏州旗芯微半导体有限公司 | 微控制器功能模块安全机制的自检电路及自检方法 |
-
2022
- 2022-04-21 CN CN202210418192.2A patent/CN114880972A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117687395A (zh) * | 2024-02-02 | 2024-03-12 | 苏州旗芯微半导体有限公司 | 微控制器功能模块安全机制的自检电路及自检方法 |
CN117687395B (zh) * | 2024-02-02 | 2024-04-16 | 苏州旗芯微半导体有限公司 | 微控制器功能模块安全机制的自检电路及自检方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10156611B2 (en) | Executing code on a test instrument in response to an event | |
JP4886998B2 (ja) | 物理的システムのモデルの堅牢性をチェックすること | |
CN109726061B (zh) | 一种SoC芯片的验证方法 | |
CN111381150B (zh) | 芯片自动验证***及其方法 | |
Dhadyalla et al. | Combinatorial testing for an automotive hybrid electric vehicle control system: a case study | |
CN114880972A (zh) | 支持错误注入验证测试的验证方法、计算机可读介质 | |
US10613963B2 (en) | Intelligent packet analyzer circuits, systems, and methods | |
CN113225232B (zh) | 硬件测试方法、装置、计算机设备及存储介质 | |
CN116775394B (zh) | 芯片验证方法、装置、设备、存储介质及计算机程序产品 | |
Barbosa et al. | Verification and validation of (real time) COTS products using fault injection techniques | |
KR102279776B1 (ko) | 오토사 베이직 소프트웨어 테스팅 자동화 시스템 및 그 방법 | |
US20050273681A1 (en) | System and method for testing nodes in a network | |
CN116841874A (zh) | 统一诊断服务功能的测试方法、装置、存储介质和电子设备 | |
US7721260B2 (en) | Embedded Test I/O Engine | |
CN109960238B (zh) | 一种车辆诊断仪自动化测试***和方法 | |
CN112256554B (zh) | 一种基于场景测试用例进行测试的方法及设备 | |
CN114443465A (zh) | 在测试控制设备软件时运行控制设备的方法和在测试控制设备软件时运行测试计算机的方法 | |
JP3357567B2 (ja) | プログラム評価システム | |
KR101584717B1 (ko) | 항공기용 임베디드 시스템 탑재 소프트웨어 고장 처리 모듈 시험 방법 및 장치 | |
CN111752823A (zh) | 一种车载电源应用软件的测试方法、装置及设备 | |
CN117910401B (zh) | 工作模式配置方法、装置、设备、存储介质及程序产品 | |
US7174480B1 (en) | Data processing method and system for simulation of hardware faults utilizing a PCI bus | |
RU2697629C1 (ru) | Устройство для имитации неисправностей в программно-аппаратных системах | |
JPH10269093A (ja) | データ伝送エラーの検出のための方法及び装置 | |
CN116662159A (zh) | 一种汽车BootLoader异常下载文件测试***及测试方法 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Country or region after: China Address after: 3 / F, 665 Zhangjiang Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai Applicant after: Yunhe Zhiwang (Shanghai) Technology Co.,Ltd. Address before: 311203 floor 12, building 2, Purple Orange International Center, No. 39, Jincheng Road, Xiaoshan District, Hangzhou, Zhejiang Province Applicant before: Hangzhou yunhezhi Network Technology Co.,Ltd. Country or region before: China |