CN117007947A - 生成测试向量的方法、装置、电子设备及存储介质 - Google Patents
生成测试向量的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117007947A CN117007947A CN202311279942.3A CN202311279942A CN117007947A CN 117007947 A CN117007947 A CN 117007947A CN 202311279942 A CN202311279942 A CN 202311279942A CN 117007947 A CN117007947 A CN 117007947A
- Authority
- CN
- China
- Prior art keywords
- test vector
- instruction
- generating
- instruction set
- register
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 204
- 239000013598 vector Substances 0.000 title claims abstract description 190
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000003860 storage Methods 0.000 title claims abstract description 11
- 238000004088 simulation Methods 0.000 claims abstract description 30
- 230000004048 modification Effects 0.000 claims abstract description 26
- 238000012986 modification Methods 0.000 claims abstract description 26
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000001172 regenerating effect Effects 0.000 abstract description 2
- 238000004904 shortening Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2832—Specific tests of electronic circuits not provided for elsewhere
- G01R31/2834—Automated test systems [ATE]; using microprocessors or computers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本公开涉及芯片测试技术领域,提供一种生成测试向量的方法、装置、电子设备及存储介质,旨在提高测试向量的生成效率。其中,生成测试向量的方法包括:接收对寄存器指令集的修改;其中,原始的寄存器指令集是根据待测电路的仿真波形生成的;再根据修改后的寄存器指令集生成测试向量,所述测试向量用于测试所述待测电路。本公开中,当需要生成新的测试向量时,只需要对已有的寄存器指令集进行修改,再根据修改后的寄存器指令集生成新的测试向量,而不需要重新生成仿真波形和根据新的仿真波形生成新的测试向量。本公开可以提高测试向量的生成效率,进而有利于缩短芯片测试周期。
Description
技术领域
本公开涉及芯片测试技术领域,尤其涉及一种生成测试向量的方法、装置、电子设备及存储介质。
背景技术
在芯片量产前的阶段,传统的芯片测试流程通常是:首先通过仿真生成VCD(ValueChange Dump)波形,然后将VCD波形转换成测试向量pattern,从而在测试机平台ATE上基于测试向量pattern进行在线调试,并判断调试结果是否符合预期;如果调试结果不符合预期,则需要调整寄存器的值和/或等待时间,接着再次通过仿真生成新的VCD波形,然后将新的VCD波形转换成新的测试向量pattern,从而再次在测试机平台ATE上基于新的测试向量pattern进行在线调试,并判断调试结果是否符合预期;如果调试结果仍然不符合预期,则需要再次重复上述过程。可见,传统方案中测试向量的迭代效率低,导致测试周期较长。
发明内容
本公开的目的是提供一种生成测试向量的方法、装置、电子设备及存储介质,旨在提高测试向量的生成效率。
根据本公开的一个方面,提供一种生成测试向量的方法,所述方法包括:
接收对寄存器指令集的修改;其中,原始的寄存器指令集是根据待测电路的仿真波形生成的;
根据修改后的寄存器指令集生成测试向量,所述测试向量用于测试所述待测电路。
本公开一种可行的实现方式中,所述修改后的寄存器指令集中包括一个或多个目标指令组,所述目标指令组是本次修改后的寄存器指令所在的指令组;
所述根据修改后的寄存器指令集生成测试向量,包括:
根据每个目标指令组对应的操作类型和指令相关信息,将所述指令相关信息填充至所述操作类型对应的测试向量模板,生成每个目标指令组各自对应的子测试向量;
根据每个目标指令组各自对应的子测试向量,生成测试向量。
本公开一种可行的实现方式中,寄存器指令集中包括M个寄存器指令,所述M个寄存器指令分为N个指令组,每个指令组中包括多个连续的寄存器指令,每个指令组对应一次操作;相同操作类型的多次操作对应的多个指令组之间,具有彼此相同的第一寄存器指令和不全部相同的第二寄存器指令;
每种操作类型对应一种测试向量模板,每种测试向量模板中包括固定向量信息和填充槽位,所述固定向量信息对应于相应操作类型对应的第一寄存器指令,所述填充槽位用于填充指令相关信息,所述指令相关信息对应于相应操作类型对应的第二寄存器指令。
本公开一种可行的实现方式中,每个目标指令组对应的操作类型是以下多种操作类型中的一种:读、写、等待。
本公开一种可行的实现方式中,每个目标指令组对应的指令相关信息包括地址和数据。
本公开一种可行的实现方式中,所述方法还包括:
根据所述待测电路的仿真波形生成原始的寄存器指令集。
本公开一种可行的实现方式中,所述根据所述待测电路的仿真波形生成原始的寄存器指令集,包括:
根据所述待测电路的仿真波形,获得测试向量相关信息;其中,所述测试向量相关信息包括多路与状态机协议相关的信号信息;
按照时钟周期的顺序,将所述测试向量相关信息输入预设的状态机,并将所述状态机的输出信息整合成所述原始的寄存器指令集。
本公开一种可行的实现方式中,所述状态机的输出信息包括操作类型、地址及数据。
本公开一种可行的实现方式中,所述状态机为JTAG状态机,所述多路与状态机协议相关的信号信息包括:时钟信号信息、数据信号信息及状态机模式信号信息。
本公开一种可行的实现方式中,所述根据所述待测电路的仿真波形,获得测试向量相关信息,包括:
将所述仿真波形转换为中间文件,所述中间文件中包括所述待测电路的多路信号信息;
从所述中间文件中提取出与所述状态机的协议相关的信号信息,并根据提取的信号信息生成所述测试向量相关信息。
本公开一种可行的实现方式中,所述方法还包括:
根据所述原始的寄存器指令集生成原始的测试向量。
本公开一种可行的实现方式中,所述根据所述原始的寄存器指令集生成原始的测试向量,包括:
根据所述原始的寄存器指令集中的每个指令组对应的操作类型和指令相关信息,将所述指令相关信息填充至所述操作类型对应的测试向量模板,生成子测试向量;
根据每个指令组对应的子测试向量,生成原始的测试向量。
根据本公开的另一方面,还提供一种生成测试向量的装置,所述装置包括:
接收模块,用于接收对寄存器指令集的修改;其中,原始的寄存器指令集是根据待测电路的仿真波形生成的;
第一生成模块,用于根据修改后的寄存器指令集生成测试向量,所述测试向量用于测试所述待测电路。
根据本公开的另一方面,还提供一种电子设备,所述电子设备包括存储器和处理器;
所述存储器用于存储应用程序;
所述处理器用于运行所述存储器存储的所述应用程序,以实现第一方面或第一方面的可行实现方式所述的生成测试向量的方法。
根据本公开的另一方面,还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有应用程序,所述应用程序被处理器执行时用于实现第一方面或第一方面的可行实现方式所述的生成测试向量的方法。
附图说明
图1为传统的芯片测试流程示意图;
图2为本公开提出的芯片测试流程示意图;
图3是本公开一实施例提出的生成测试向量的方法的流程示意图;
图4是本公开一实施例提出的寄存器指令集的示意图;
图5是本公开一实施例提出的读操作对应的测试向量模板的示意图;
图6是本公开一实施例提出的生成子测试向量的过程示意图;
图7是本公开一实施例提出的生成原始的寄存器指令集的流程示意图;
图8是本公开一实施例提出的生成原始的测试向量的流程示意图;
图9是本公开一实施例提出的生成测试向量的装置的结构示意图;
图10是本公开一实施例提出的电子设备的结构示意图。
具体实施方式
在介绍本公开实施例之前,应当说明的是:
本公开部分实施例被描述为处理流程,虽然流程的各个操作步骤可能被冠以顺序的步骤编号,但是其中的操作步骤可以被并行地、并发地或者同时实施。
本公开实施例中可能使用了术语“第一”、“第二”等等来描述各个特征,但是这些特征不应当受这些术语限制。使用这些术语仅仅是为了将一个特征与另一个特征进行区分。
本公开实施例中可能使用了术语“和/或”,“和/或”包括其中一个或更多所列出的相关联特征的任意和所有组合。
应当理解的是,当描述两个部件的连接关系或通信关系时,除非明确指明两个部件之间直接连接或直接通信,否则,两个部件的连接或通信可以理解为直接连接或通信,也可以理解为通过中间部件间接连接或通信。
为了使本公开实施例中的技术方案及优点更加清楚明白,以下结合附图对本公开的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本公开的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
在芯片量产前的阶段,需要通过大量的芯片测试工作,对芯片的内部设计进行更改和优化,传统的芯片测试流程如图1所示,首先通过对待测芯片进行仿真,从而生成VCD波形,然后将VCD波形转换成测试向量pattern,从而在测试机平台ATE上基于测试向量pattern进行在线调试,并判断调试结果是否符合预期;如果调试结果不符合预期,则需要修改芯片配置(比如调整寄存器的值和/或等待时间),接着再次通过仿真生成新的VCD波形,然后将新的VCD波形转换成新的测试向量pattern,从而再次在测试机平台ATE上基于新的测试向量pattern进行在线调试,并判断调试结果是否符合预期;如果调试结果仍然不符合预期,则需要再次重复上述过程。
可见,在传统的测试流程中,如果调试结果不符合预期,则需要反复仿真生成VCD波形和将VCD波形转换成测试向量pattern,空间上横跨了仿真平台、pattern转换平台及测试机平台,导致测试周期很长。因此,如何提高测试向量pattern的生成效率,从而缩短测试周期,是一个亟待解决的问题。
为了提高测试向量的生成效率,进而缩短测试周期,如图2所示,本公开中,首先通过对待测芯片进行仿真,从而生成VCD波形,然后根据VCD波形生成寄存器指令集,接着根据寄存器指令集生成测试向量pattern,从而在测试机平台ATE上基于测试向量pattern进行在线调试,并判断调试结果是否符合预期;如果不符合预期,则直接对寄存器指令集进行修改,接着根据修改后的寄存器指令集生成新的测试向量pattern,从而在测试机平台ATE上基于新的测试向量pattern进行在线调试,并判断调试结果是否符合预期;如果调试结果仍然不符合预期,则需要再次修改寄存器指令集,并重复上述过程。
可见,本公开中,当需要生成新的测试向量时,只需要对已有的寄存器指令集进行修改,再根据修改后的寄存器指令集生成新的测试向量;而不需要重新生成仿真波形和根据新的仿真波形生成新的测试向量。本公开可以提高测试向量的生成效率,进而有利于缩短芯片测试周期。
需要说明的是,以上是本公开提供的一种改进后的芯片测试流程。以下,本公开通过一个或多个实施例提供一种或多种生成测试向量的方法,这些方法可以是上述芯片测试流程中的部分步骤,或者是上述芯片测试流程中的部分步骤的上位概括,或者是上述芯片测试流程中的全部步骤,或者是上述芯片测试流程中的全部步骤的上位概括。
参考图3,图3是本公开一实施例提出的生成测试向量的方法的流程示意图。如图3所示,该方法包括以下步骤:
S310:接收对寄存器指令集的修改。
本公开中,原始的寄存器指令集是根据待测电路的仿真波形生成的。其中,待测电路可以是待测芯片,也可以是芯片中的一个或多个待测模块。在步骤S310中,被修改的寄存器指令集可以是原始的寄存器指令集,也可以是已经经过一次或多次修改的寄存器指令集。
参考图4,图4是本公开一实施例提出的寄存器指令集的示意图。如图4所示,寄存器指令集中包括M行(M是大于1的自然数),每一行可以视为一个寄存器指令,M个寄存器指令分为N个指令组(N是大于1的自然数,且N小于M)。每个指令组中包括多个连续的寄存器指令,每个指令组对应一次操作;相同操作类型的多次操作对应的多个指令组之间,具有彼此相同的第一寄存器指令和不全部相同的第二寄存器指令。本公开中,针对寄存器指令集的修改,通常是指对寄存器指令集中的一个或多个第二寄存器指令的修改。
为便于理解,如图4所示,第1个指令组对应一次写操作,第2个指令组也对应一次写操作,第3个指令组也对应一次写操作,第N个指令组对应一次读操作。其中,第1个指令组、第2个指令组及第3个指令组之间具有彼此相同的寄存器指令(本公开中,可以将彼此相同的寄存器指令简称为第一寄存器指令)。比如第1个指令组中的第0001行、第2个指令组中的第0009行及第3个指令组中的第0017行(也就是每个指令组内的第1行)彼此相同,忽略寄存器指令中的时钟周期cycle;第1个指令组中的第0002行、第2个指令组中的第0010行及第3个指令组中的第0018行(也就是每个指令组内的第2行)彼此相同...第1个指令组中的第0005行、第2个指令组中的第0013行及第3个指令组中的第0021行(也就是每个指令组内的第5行)彼此相同;第1个指令组中的第0007行、第2个指令组中的第0015行及第3个指令组中的第0023行(也就是每个指令组内的第7行)彼此相同。
第1个指令组、第2个指令组及第3个指令组之间也具有不全部相同的寄存器指令(本公开中,可以将不全部相同的寄存器指令简称为第二寄存器指令)。比如第1个指令组中的第0006行、第2个指令组中的第0014行及第3个指令组中的第0022行(也就是每个指令组内的第6行)不全部相同;第1个指令组中的第0008行、第2个指令组中的第0016行及第3个指令组中的第0024行(也就是每个指令组内的第8行)不全部相同。其中,每个指令组内的第6行中的35b4、8dc4或8bc4是一个地址,即16位寄存器中存储的地址,每个指令组内的第8行中的00b0或01a0是一个数据,即16位寄存器中存储的数据。
每种操作类型对应一种测试向量模板,每种测试向量模板中包括固定向量信息和填充槽位。固定向量信息对应于相应操作类型对应的第一寄存器指令,填充槽位用于填充指令相关信息,指令相关信息对应于相应操作类型对应的第二寄存器指令。其中,指令相关信息可以是地址和/或数据。
为便于理解,参考图5,图5是本公开一实施例提出的读操作对应的测试向量模板。如图5所示,测试向量模板中包括多行向量vector,每行向量记录了多个引脚(即BP_GPIO0_PAD至BP_GPIO21_PAD)各自的信号信息。其中,部分引脚的信号信息固定为悬空状态,即high-z状态(简称为z状态),这些引脚通常是与状态机协议不相关且与状态机的启动和关闭也不相关的引脚。如图5所示,一部分向量中包括用于填充地址的空位,一部分向量中包括用于填充数据的空位,这些空位就是填充槽位,具体用于填充第二寄存器指令中的地址和数据;其余向量就是测试向量模板中的固定向量信息,对应于第一寄存器指令。
本公开中,对寄存器指令集的修改,通常是指对寄存器指令集中的第二寄存器指令的修改,修改的内容通常是第二寄存器指令中的地址或数据。具体实现时,程序可以接收用户输入的修改信息,根据修改信息对寄存器指令集进行修改。或者程序也可以接收其他程序发送的修改信息或修改指令,从而根据修改信息或修改指令,对寄存器指令集进行修改。需要说明的是,本公开对于如何接收对寄存器指令集的修改,不做限定。
步骤S320:根据修改后的寄存器指令集生成测试向量。
本公开中,生成的测试向量用于测试前述待测电路。具体实现时,可以利用该测试向量测试前述待测电路本身,也可以测试前述待测电路的修改版本。
在一些具体实施方式中,修改后的寄存器指令集中包括一个或多个目标指令组。其中,目标指令组是指:本次修改后的寄存器指令所在的指令组。上述步骤S320具体包括以下子步骤:
S320-1:根据每个目标指令组对应的操作类型和指令相关信息,将指令相关信息填充至操作类型对应的测试向量模板,生成每个目标指令组各自对应的子测试向量。
S320-2:根据每个目标指令组各自对应的子测试向量,生成测试向量。
其中,每个目标指令组对应的操作类型是以下多种操作类型中的一种:读、写、等待。每个目标指令组对应的指令相关信息包括地址和数据。
对于上述子步骤S320-1和S320-2,在具体实现时,一种可选的方式是:仅针对目标寄存器指令重新生成子测试向量,然后将重新生成的子测试向量和其他寄存器指令对应的已经存在的子测试向量,按照寄存器指令的顺序进行拼接,从而生成测试向量。换言之,由于本次仅针对部分寄存器指令进行了修改,因此只对本次被修改的寄存器指令重新生成子测试向量,而对于本次未被修改的寄存器指令,则继续沿用其已经存在的子测试向量,然后按照寄存器指令的顺序,对重新生成的子测试向量和已经存在的子测试向量进行拼接,从而生成测试向量。
对于上述子步骤S3200-1和S320-2,在具体实现时,另一种可选的方式是:针对目标寄存器指令重新生成子测试向量,同时也针对其他寄存器指令重新生成子测试向量,并且按照寄存器指令的顺序,对重新生成的所有子测试向量进行拼接,从而生成测试向量。换言之,可以按照寄存器指令的顺序,依次对所有寄存器指令(包括本次被修改的寄存器指令和本次没有被修改的寄存器指令)均重新生成子测试向量,并按照寄存器指令的顺序,对重新生成的所有子测试向量进行拼接,从而生成测试向量。
本公开中,在为目标寄存器指令生成子测试向量时,为便于理解,如图6所示,预先设置多个测试向量模板,每种测试向量模板分别对应一种操作类型,比如第一种测试向量模板对应的操作类型为写,第二种测试向量模板对应的操作类型为读,第三种测试向量模板对应的操作类型为等待。
图6中,第0016行寄存器指令中的数据由原本的00b0修改成了00b1,该行寄存器指令属于第2个指令组,该指令组对应的操作类型是写操作。在针对该指令组生成子测试向量时,由于该指令组对应的操作类型是写操作,因此选择第一种测试向量模板,并将该指令组中的第二寄存器指令中的地址和数据填充至该测试向量模板的填充槽位中,从而生成该指令组对应的子测试向量。
本公开中,原始的寄存器指令集可以是用户上传的,也可以是从其他设备接收的,还可以是自身根据待测电路的仿真波形生成的。
本公开中,如图7所示,在根据待测电路的仿真波形生成原始的寄存器指令集时,具体可以包括以下步骤:
S710:根据待测电路的仿真波形,获得测试向量相关信息。
S720:按照时钟周期的顺序,将测试向量相关信息输入预设的状态机,并将状态机的输出信息整合成原始的寄存器指令集。
其中,测试向量相关信息包括多路与状态机协议相关的信号信息。本公开中,与状态机协议相关的信号信息具体是指:状态机协议中要求的信号。以JTAG(联合测试工作组,Joint Test Action Group)状态机为例,JTAG状态机协议中强制要求的信号包括:测试模式选择信号TMS、测试时钟信号TCK、测试数据输入信号TDI、测试数据输出信号TDO,此外,JTAG状态机协议中非强制要求的信号包括:复位信号TRST。在选用JTAG状态机的情况下,根据待测电路的仿真波形所获得的测试向量相关信息中包括:时钟信号信息(即TCK)、数据信号信息(即TDI和/或TDO)及状态机模式信号信息(即TMS)等多路信号信息,此外,还可以包括复位信号信息(即TRST)。
或者以SWD(串行调试,Serial Wire Debug)状态机为例,SWD状态机协议中强制要求的信号包括:串行数据输入输出信号SWDIO和串行时钟输入信号SWCLK。在选用SWD状态机的情况下,根据待测电路的仿真波形所获得的测试向量相关信息中包括:串行数据输入输出信号(即SWDIO)、串行时钟输入信号(即SWCLK)等多路信号信息。
本公开中,状态机的输出信息可以包括操作类型、地址及数据,可以按照时钟周期的顺序,对状态机的输出信息进行排列,从而形成原始的寄存器指令集。
在一些具体实施方式中,步骤S710具体包括以下子步骤:
S710-1:将仿真波形转换为中间文件,中间文件中包括待测电路的多路信号信息。
具体实现时,仿真波形可以是VCD波形,中间文件可以是STIL(Standard TestInterface Language)文件,为了将VCD波形转换成STIL文件,可以采用现有的转换方法,本公开对此不做限定。一种可选的转换方式为:可以按照预设的时间长度(比如100ns)将VCD波形文件切割成STIL文件,然后针对STIL文件,将其中VCD波形的高低信号映射成预设符号,比如将输入高低信号分别映射为1和0,将输出高低信号分别映射为H和L,将时钟信号映射为p。
S710-2:从中间文件中提取出与状态机的协议相关的信号信息,并根据提取的信号信息生成测试向量相关信息。
本公开中,由仿真波形(比如VCD波形)转换成的中间文件(比如STIL文件)中通常包括待测电路具有的所有信号信息,其中既包括与状态机协议相关的信号信息,也包括与状态机协议不相关的信号信息。在子步骤S720-2中,需要从中间文件的多个信号信息中提取出与状态机协议相关的信号信息。以JTAG状态机为例,与JTAG状态机协议相关的信号信息包括TCK、TDI、TDO及TMS,因此在子步骤S720-2中,需要从中间文件的多个信号信息中提取出TCK、TDI、TDO及TMS等信号信息。
在提取出与状态机协议相关的信号信息后,可以按照时钟周期,对提取出的信号信息进行排序,从而得到测试向量相关信息。
在一些具体实施方式中,上述步骤S720具体可以是:按照测试向量相关信息中的时钟信号所记录的时钟周期,针对每个时钟周期,将该时钟周期下的各个信号信息(比如TCK、TDI及TMS)输入状态机(比如JTAG状态机),从而使得JTAG状态机的状态随时钟周期变化,当JTAG状态机处于Shift DR和Shift IR这两种状态中的任意一种时,接收JTAG状态机在该状态下输出的信息,并按照时钟周期的先后顺序,将JTAG状态机依次输出的信息组合成原始的寄存器指令集。
在本公开的一些具体实施方式中,还根据原始的寄存器指令集生成原始的测试向量。为了根据原始的寄存器指令集生成原始的测试向量,如图8所示,具体可以执行以下步骤:
S810:根据原始的寄存器指令集中的每个指令组对应的操作类型和指令相关信息,将指令相关信息填充至操作类型对应的测试向量模板,生成子测试向量;
S820:根据每个指令组对应的子测试向量,生成原始的测试向量。
具体实现时,针对原始的寄存器指令集中的每个指令组,按照该指令组对应的操作类型,从多个预设的测量向量模板中获取该操作类型对应的测试向量模板,然后将该指令组中的第二寄存器指令中的数据和地址,填充到该测试向量模板的填充槽位,从而得到该指令组对应的子测试向量,最后按照多个指令组在寄存器指令集中的顺序,将多个指令组各自对应的子测试向量拼接成原始的测试向量。
以上,本公开通过一个或多个实施例提供了一种或多种生成测试向量的方法。以下,本公开基于同一发明构思,通过一个或多个实施例提供一种或多种生成测试向量的装置。
参考图9,图9是本公开一实施例提出的生成测试向量的装置的结构示意图。如图9所示,该装置包括:
接收模块910,用于接收对寄存器指令集的修改;其中,原始的寄存器指令集是根据待测电路的仿真波形生成的;
第一生成模块920,用于根据修改后的寄存器指令集生成测试向量,该测试向量用于测试该待测电路。
在一些具体实施方式中,修改后的寄存器指令集中包括一个或多个目标指令组,目标指令组是本次修改后的寄存器指令所在的指令组。第一生成模块920具体包括:
第一子测试向量生成单元:用于根据每个目标指令组对应的操作类型和指令相关信息,将指令相关信息填充至操作类型对应的测试向量模板,生成每个目标指令组各自对应的子测试向量;
第一测试向量生成单元,用于根据每个目标指令组各自对应的子测试向量,生成测试向量。
在一些具体实施方式中,寄存器指令集中包括M个寄存器指令,M个寄存器指令分为N个指令组,每个指令组中包括多个连续的寄存器指令,每个指令组对应一次操作;相同操作类型的多次操作对应的多个指令组之间,具有彼此相同的第一寄存器指令和不全部相同的第二寄存器指令;
每种操作类型对应一种测试向量模板,每种测试向量模板中包括固定向量信息和填充槽位,固定向量信息对应于相应操作类型对应的第一寄存器指令,填充槽位用于填充指令相关信息,指令相关信息对应于相应操作类型对应的第二寄存器指令。
在一些具体实施方式中,每个目标指令组对应的操作类型是以下多种操作类型中的一种:读、写、等待。
在一些具体实施方式中,每个目标指令组对应的指令相关信息包括地址和数据。
在一些具体实施方式中,装置还包括指令集指令集生成模块,用于根据待测电路的仿真波形生成原始的寄存器指令集。
在一些具体实施方式中,指令集生成模块具体包括:
相关信息获得单元,用于根据待测电路的仿真波形,获得测试向量相关信息;其中,测试向量相关信息包括多路与状态机协议相关的信号信息;
指令集生成单元,用于按照时钟周期的顺序,将所述测试向量相关信息输入预设的状态机,并将所述状态机的输出信息整合成所述原始的寄存器指令集。
在一些具体实施方式中,状态机的输出信息包括操作类型、地址及数据。
在一些具体实施方式中,状态机为JTAG状态机,多路与状态机协议相关的信号信息包括:时钟信号信息、数据信号信息及状态机模式信号信息。
在一些具体实施方式中,相关信息获得单元具体包括:
信号信息输入子单元,用于将仿真波形转换为中间文件,中间文件中包括待测电路的多路信号信息;
相关信息生成子单元,用于从中间文件中提取出与状态机的协议相关的信号信息,并根据提取的信号信息生成测试向量相关信息。
在一些具体实施方式中,装置还包括第二生成模块,用于根据原始的寄存器指令集生成原始的测试向量。
在一些具体实施方式中,第二生成模块具体包括:
第二子测试向量生成单元:用于根据原始的寄存器指令集中的每个指令组对应的操作类型和指令相关信息,将指令相关信息填充至操作类型对应的测试向量模板,生成子测试向量;
第二测试向量生成单元,用于根据每个指令组对应的子测试向量,生成原始的测试向量。
请参阅图10,图10是本公开一实施例提出的电子设备的结构框图,该电子设备1000包括处理器1100以及存储器1200以及一个或多个应用程序,其中一个或多个应用程序被存储在存储器1200中并被配置为由一个或多个处理器1100执行,一个或多个程序配置用于执行上述生成测试向量的方法。
在一些实施例中,本公开中的电子设备1000可以包括一个或多个如下部件:处理器1100、存储器1200、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器1200中并被配置为由一个或多个处理器1100执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器1100可以包括一个或者多个处理核。处理器1100利用各种接口和线路连接整个电子设备1000内的各个部分,通过运行或执行存储在存储器1200内的指令、程序、代码集或指令集,以及调用存储在存储器1200内的数据,执行电子设备1000的各种功能和处理数据。可选地,处理器1100可以采用数字信号处理(DigitalSignalProcessing,DSP)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)、可编程逻辑阵列(ProgrammableLogicArray,PLA)中的至少一种硬件形式来实现。处理器1100可集成中央处理器(CentralProcessingUnit,CPU)、图像处理器(GraphicsProcessingUnit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1100中,单独通过一块通信芯片进行实现。
存储器1200可以包括随机存储器(RandomAccessMemory,RAM),也可以包括只读存储器(Read-OnlyMemory)。存储器1200可用于存储指令、程序、代码、代码集或指令集。存储器1200可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等。存储数据区还可以存储电子设备1000在使用中所创建的数据等。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用于说明本发明的技术方案而非对其保护范围的限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:本领域技术人员阅读本发明后依然可对发明的具体实施方式进行种种变更、修改或者等同替换,但这些变更、修改或者等同替换,均在发明待批的权利要求保护范围之内。
尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。
显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。
Claims (15)
1.一种生成测试向量的方法,所述方法包括:
接收对寄存器指令集的修改;其中,原始的寄存器指令集是根据待测电路的仿真波形生成的;
根据修改后的寄存器指令集生成测试向量,所述测试向量用于测试所述待测电路。
2.根据权利要求1所述的方法,所述修改后的寄存器指令集中包括一个或多个目标指令组,所述目标指令组是本次修改后的寄存器指令所在的指令组;
所述根据修改后的寄存器指令集生成测试向量,包括:
根据每个目标指令组对应的操作类型和指令相关信息,将所述指令相关信息填充至所述操作类型对应的测试向量模板,生成每个目标指令组各自对应的子测试向量;
根据每个目标指令组各自对应的子测试向量,生成测试向量。
3.根据权利要求2所述的方法,寄存器指令集中包括M个寄存器指令,所述M个寄存器指令分为N个指令组,每个指令组中包括多个连续的寄存器指令,每个指令组对应一次操作;相同操作类型的多次操作对应的多个指令组之间,具有彼此相同的第一寄存器指令和不全部相同的第二寄存器指令;
每种操作类型对应一种测试向量模板,每种测试向量模板中包括固定向量信息和填充槽位,所述固定向量信息对应于相应操作类型对应的第一寄存器指令,所述填充槽位用于填充指令相关信息,所述指令相关信息对应于相应操作类型对应的第二寄存器指令。
4.根据权利要求2所述的方法,每个目标指令组对应的操作类型是以下多种操作类型中的一种:读、写、等待。
5.根据权利要求2所述的方法,每个目标指令组对应的指令相关信息包括地址和数据。
6.根据权利要求1所述的方法,所述方法还包括:
根据所述待测电路的仿真波形生成原始的寄存器指令集。
7.根据权利要求6所述的方法,所述根据所述待测电路的仿真波形生成原始的寄存器指令集,包括:
根据所述待测电路的仿真波形,获得测试向量相关信息;其中,所述测试向量相关信息包括多路与状态机协议相关的信号信息;
按照时钟周期的顺序,将所述测试向量相关信息输入预设的状态机,并将所述状态机的输出信息整合成所述原始的寄存器指令集。
8.根据权利要求7所述的方法,所述状态机的输出信息包括操作类型、地址及数据。
9.根据权利要求7所述的方法,所述状态机为JTAG状态机,所述多路与状态机协议相关的信号信息包括:时钟信号信息、数据信号信息及状态机模式信号信息。
10.根据权利要求7所述的方法,所述根据所述待测电路的仿真波形,获得测试向量相关信息,包括:
将所述仿真波形转换为中间文件,所述中间文件中包括所述待测电路的多路信号信息;
从所述中间文件中提取出与所述状态机的协议相关的信号信息,并根据提取的信号信息生成所述测试向量相关信息。
11.根据权利要求6所述的方法,所述方法还包括:
根据所述原始的寄存器指令集生成原始的测试向量。
12.根据权利要求11所述的方法,所述根据所述原始的寄存器指令集生成原始的测试向量,包括:
根据所述原始的寄存器指令集中的每个指令组对应的操作类型和指令相关信息,将所述指令相关信息填充至所述操作类型对应的测试向量模板,生成子测试向量;
根据每个指令组对应的子测试向量,生成原始的测试向量。
13.一种生成测试向量的装置,所述装置包括:
接收模块,用于接收对寄存器指令集的修改;其中,原始的寄存器指令集是根据待测电路的仿真波形生成的;
第一生成模块,用于根据修改后的寄存器指令集生成测试向量,所述测试向量用于测试所述待测电路。
14.一种电子设备,所述电子设备包括存储器和处理器;
所述存储器用于存储应用程序;
所述处理器用于运行所述存储器存储的所述应用程序,以实现权利要求1至12任一项所述的生成测试向量的方法。
15.一种计算机可读存储介质,所述计算机可读存储介质中存储有应用程序,所述应用程序被处理器执行时用于实现如权利要求1至12任一项所述的生成测试向量的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311279942.3A CN117007947B (zh) | 2023-10-07 | 2023-10-07 | 生成测试向量的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311279942.3A CN117007947B (zh) | 2023-10-07 | 2023-10-07 | 生成测试向量的方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117007947A true CN117007947A (zh) | 2023-11-07 |
CN117007947B CN117007947B (zh) | 2024-03-19 |
Family
ID=88573063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311279942.3A Active CN117007947B (zh) | 2023-10-07 | 2023-10-07 | 生成测试向量的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117007947B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1347149A (zh) * | 2000-09-29 | 2002-05-01 | 株式会社鼎新 | 复合集成电路的设计验证方法 |
CN202008657U (zh) * | 2011-01-31 | 2011-10-12 | 杭州士兰微电子股份有限公司 | 一种集成电路仿真测试向量信号产生装置 |
CN106294144A (zh) * | 2016-08-04 | 2017-01-04 | 芯原微电子(上海)有限公司 | 串行通信协议的测试向量的生成方法、系统及服务器 |
CN110632499A (zh) * | 2019-09-23 | 2019-12-31 | 珠海格力电器股份有限公司 | 基于测试对象的测试向量生成方法及存储介质 |
CN115202947A (zh) * | 2022-08-02 | 2022-10-18 | 无锡众星微系统技术有限公司 | 基于调试接口的芯片测试向量生成方法 |
CN116224042A (zh) * | 2023-04-28 | 2023-06-06 | 北京壁仞科技开发有限公司 | 生成测试待测器件的测试向量的方法、系统、设备和介质 |
-
2023
- 2023-10-07 CN CN202311279942.3A patent/CN117007947B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1347149A (zh) * | 2000-09-29 | 2002-05-01 | 株式会社鼎新 | 复合集成电路的设计验证方法 |
CN202008657U (zh) * | 2011-01-31 | 2011-10-12 | 杭州士兰微电子股份有限公司 | 一种集成电路仿真测试向量信号产生装置 |
CN106294144A (zh) * | 2016-08-04 | 2017-01-04 | 芯原微电子(上海)有限公司 | 串行通信协议的测试向量的生成方法、系统及服务器 |
CN110632499A (zh) * | 2019-09-23 | 2019-12-31 | 珠海格力电器股份有限公司 | 基于测试对象的测试向量生成方法及存储介质 |
CN115202947A (zh) * | 2022-08-02 | 2022-10-18 | 无锡众星微系统技术有限公司 | 基于调试接口的芯片测试向量生成方法 |
CN116224042A (zh) * | 2023-04-28 | 2023-06-06 | 北京壁仞科技开发有限公司 | 生成测试待测器件的测试向量的方法、系统、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117007947B (zh) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111931445B (zh) | 用于调试逻辑系统设计的方法、仿真器及存储介质 | |
CN1842716B (zh) | 测试装置及测试方法 | |
CN102169846B (zh) | 一种在集成电路晶圆测试过程中实现多维变量密码并行写入的方法 | |
CN115841089B (zh) | 一种基于uvm的系统级芯片验证平台及验证方法 | |
CN100392617C (zh) | 片上系统与应用于其中的测试/除错方法 | |
CN115202947A (zh) | 基于调试接口的芯片测试向量生成方法 | |
US7228262B2 (en) | Semiconductor integrated circuit verification system | |
CN116224042B (zh) | 生成测试待测器件的测试向量的方法、系统、设备和介质 | |
CN115291082B (zh) | 芯片的高效测试方法、装置和存储介质 | |
CN112444731B (zh) | 芯片测试方法、装置、处理器芯片及服务器 | |
CN111782453A (zh) | 一种基于ate的sram型fpga在线测试方法 | |
CN116580757B (zh) | 一种虚拟ate测试方法及系统 | |
CN108957301B (zh) | 用于可测试芯片的测试方法、装置及可测试芯片内置电路 | |
CN116362198A (zh) | 一种提高芯片验证效率的方法、系统、存储介质及计算设备 | |
US7231565B2 (en) | Method for performing built-in and at-speed test in system-on-chip | |
CN112906345B (zh) | 验证逻辑电路中的路径的方法、系统和介质 | |
CN102565683B (zh) | 一种测试向量的生成与验证方法 | |
CN102183727B (zh) | 一种具有检错功能的边界扫描测试方法 | |
CN117007947B (zh) | 生成测试向量的方法、装置、电子设备及存储介质 | |
KR20000011359A (ko) | 고속테스트패턴평가장치 | |
Zorian et al. | IEEE 1500 utilization in SOC design and test | |
CN116629171A (zh) | 一种基于综合网表的fpga芯片调试方法及装置 | |
US6654919B1 (en) | Automated system for inserting and reading of probe points in silicon embedded testbenches | |
JP2660028B2 (ja) | Lsiのテスト装置 | |
CN116415533A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |