CN118069441A - 测试向量文件转化方法、装置、计算机设备和存储介质 - Google Patents
测试向量文件转化方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN118069441A CN118069441A CN202410154570.XA CN202410154570A CN118069441A CN 118069441 A CN118069441 A CN 118069441A CN 202410154570 A CN202410154570 A CN 202410154570A CN 118069441 A CN118069441 A CN 118069441A
- Authority
- CN
- China
- Prior art keywords
- signal
- test vector
- vector file
- test
- file
- 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 553
- 239000013598 vector Substances 0.000 title claims abstract description 332
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 42
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 238000004088 simulation Methods 0.000 claims abstract description 43
- 238000004590 computer program Methods 0.000 claims abstract description 25
- 230000006870 function Effects 0.000 claims description 58
- 230000010365 information processing Effects 0.000 claims description 6
- 238000013461 design Methods 0.000 description 17
- 238000012795 verification Methods 0.000 description 15
- 238000011990 functional testing Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 230000007547 defect Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000002349 favourable effect Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000002347 injection Methods 0.000 description 3
- 239000007924 injection Substances 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 101000860173 Myxococcus xanthus C-factor Proteins 0.000 description 2
- 108010076504 Protein Sorting Signals Proteins 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 101100492689 Arabidopsis thaliana ATE2 gene Proteins 0.000 description 1
- 102100039995 Arginyl-tRNA-protein transferase 1 Human genes 0.000 description 1
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000003775 Density Functional Theory Methods 0.000 description 1
- 101000886906 Homo sapiens Arginyl-tRNA-protein transferase 1 Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
本申请涉及一种测试向量文件转化方法、装置、计算机设备、存储介质和计算机程序产品。该方法包括:获取仿真环境中针对待测设备的第一测试向量文件;从第一测试向量文件中,识别出每个信号的内容信息和时序信息;根据每个信号的内容信息和时序信息,生成时钟块和每个信号的数据块;时钟块至少包括每个信号的时序信息,每个信号的数据块至少包括对应的信号波形文本数据;根据时钟块和每个信号的数据块,生成针对待测设备的第二测试向量文件;第二测试向量文件的文件格式与第一测试向量文件的文件格式不相同,且第二测试向量文件的文件格式与针对待测设备的当前自动测试设备相匹配。采用本方法,能够提高设备测试准确率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种测试向量文件转化方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
在设备(比如芯片)设计完成之后,为了确保设备符合质量标准和规格要求,需要对其进行功能和可靠性测试。
传统技术中,在对设备进行测试时,主要是利用ATE(Automatic Test Equipment,自动测试设备)进行测试,其所利用到的测试向量文件是固定文件格式的;但是,不同ATE所支持的测试向量文件的文件格式不一样,若针对不同ATE,都采用同一种固定文件格式的测试向量文件,会导致得到的设备测试结果的准确率较低,进而导致设备测试准确率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高设备测试准确率的测试向量文件转化方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种测试向量文件转化方法,包括:
获取仿真环境中针对待测设备的第一测试向量文件;
从所述第一测试向量文件中,识别出每个信号的内容信息和时序信息;
根据所述每个信号的内容信息和时序信息,生成时钟块和所述每个信号的数据块;所述时钟块至少包括所述每个信号的时序信息,所述每个信号的数据块至少包括对应的信号波形文本数据;
根据所述时钟块和所述每个信号的数据块,生成针对所述待测设备的第二测试向量文件;所述第二测试向量文件的文件格式与所述第一测试向量文件的文件格式不相同,且所述第二测试向量文件的文件格式与针对所述待测设备的当前自动测试设备相匹配。
在其中一个实施例中,所述从所述第一测试向量文件中,识别出每个信号的内容信息和时序信息,包括:
从所述第一测试向量文件中,识别出每个信号关联的目标函数;
从所述每个信号关联的目标函数中,识别出所述每个信号的内容信息和时序信息。
在其中一个实施例中,所述从所述每个信号关联的目标函数中,识别出所述每个信号的内容信息和时序信息,包括:
分别将所述每个信号关联的目标函数,输入至预先训练的内容信息识别模型中,得到所述每个信号的内容信息;
分别将所述每个信号关联的目标函数,输入至预先训练的时序信息识别模型中,得到所述每个信号的时序信息。
在其中一个实施例中,所述根据所述每个信号的内容信息和时序信息,生成时钟块和所述每个信号的数据块,包括:
根据基准时序信息和所述每个信号的时序信息,生成时钟块;所述基准时序信息从所述第一测试向量文件中提取得到;
根据所述每个信号的内容信息和时序信息,生成所述每个信号对应的信号标识和信号波形文本数据;
根据所述每个信号对应的信号标识和信号波形文本数据,生成所述每个信号的数据块。
在其中一个实施例中,所述根据所述每个信号的内容信息和时序信息,生成所述每个信号对应的信号标识和信号波形文本数据,包括:
从所述每个信号的内容信息中,提取出所述每个信号的信号定义和关键内容信息;
将所述每个信号的信号定义,确认为所述每个信号对应的信号标识;
根据所述每个信号的关键内容信息和时序信息,生成所述每个信号对应的信号波形文本数据。
在其中一个实施例中,所述根据所述时钟块和所述每个信号的数据块,生成针对所述待测设备的第二测试向量文件,包括:
获取预先创建的测试向量文件结构;所述测试向量文件结构包括时钟块区域和所述每个信号的数据块区域;所述预先创建的测试向量文件结构为与所述当前自动测试设备相匹配的测试向量文件结构;
将所述时钟块添加到所述时钟块区域中,以及分别将所述每个信号的数据块添加到所述每个信号的数据块区域中,得到与所述测试向量文件结构对应的测试向量文件,作为针对所述待测设备的第二测试向量文件。
在其中一个实施例中,在根据所述时钟块和所述每个信号的数据块,生成针对所述待测设备的第二测试向量文件之前,还包括:
创建时钟块区域和所述每个信号的数据块区域;
按照预设组合顺序,将所述时钟块区域和所述每个信号的数据块区域进行组合,得到与所述当前自动测试设备相匹配的测试向量文件结构,作为所述预先创建的测试向量文件结构。
第二方面,本申请还提供了一种测试向量文件转化装置,包括:
文件获取模块,用于获取仿真环境中针对待测设备的第一测试向量文件;
信息识别模块,用于从所述第一测试向量文件中,识别出每个信号的内容信息和时序信息;
信息处理模块,用于根据所述每个信号的内容信息和时序信息,生成时钟块和所述每个信号的数据块;所述时钟块至少包括所述每个信号的时序信息,所述每个信号的数据块至少包括对应的信号波形文本数据;
文件生成模块,用于根据所述时钟块和所述每个信号的数据块,生成针对所述待测设备的第二测试向量文件;所述第二测试向量文件的文件格式与所述第一测试向量文件的文件格式不相同,且所述第二测试向量文件的文件格式与针对所述待测设备的当前自动测试设备相匹配。
第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取仿真环境中针对待测设备的第一测试向量文件;
从所述第一测试向量文件中,识别出每个信号的内容信息和时序信息;
根据所述每个信号的内容信息和时序信息,生成时钟块和所述每个信号的数据块;所述时钟块至少包括所述每个信号的时序信息,所述每个信号的数据块至少包括对应的信号波形文本数据;
根据所述时钟块和所述每个信号的数据块,生成针对所述待测设备的第二测试向量文件;所述第二测试向量文件的文件格式与所述第一测试向量文件的文件格式不相同,且所述第二测试向量文件的文件格式与针对所述待测设备的当前自动测试设备相匹配。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取仿真环境中针对待测设备的第一测试向量文件;
从所述第一测试向量文件中,识别出每个信号的内容信息和时序信息;
根据所述每个信号的内容信息和时序信息,生成时钟块和所述每个信号的数据块;所述时钟块至少包括所述每个信号的时序信息,所述每个信号的数据块至少包括对应的信号波形文本数据;
根据所述时钟块和所述每个信号的数据块,生成针对所述待测设备的第二测试向量文件;所述第二测试向量文件的文件格式与所述第一测试向量文件的文件格式不相同,且所述第二测试向量文件的文件格式与针对所述待测设备的当前自动测试设备相匹配。
第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取仿真环境中针对待测设备的第一测试向量文件;
从所述第一测试向量文件中,识别出每个信号的内容信息和时序信息;
根据所述每个信号的内容信息和时序信息,生成时钟块和所述每个信号的数据块;所述时钟块至少包括所述每个信号的时序信息,所述每个信号的数据块至少包括对应的信号波形文本数据;
根据所述时钟块和所述每个信号的数据块,生成针对所述待测设备的第二测试向量文件;所述第二测试向量文件的文件格式与所述第一测试向量文件的文件格式不相同,且所述第二测试向量文件的文件格式与针对所述待测设备的当前自动测试设备相匹配。
上述测试向量文件转化方法、装置、计算机设备、存储介质和计算机程序产品,通过获取仿真环境中针对待测设备的第一测试向量文件,并从第一测试向量文件中,识别出每个信号的内容信息和时序信息,然后根据每个信号的内容信息和时序信息,生成时钟块和每个信号的数据块,且时钟块至少包括每个信号的时序信息,每个信号的数据块至少包括对应的信号波形文本数据,最后根据时钟块和每个信号的数据块,生成针对待测设备的第二测试向量文件,第二测试向量文件的文件格式与第一测试向量文件的文件格式不相同,且第二测试向量文件的文件格式与针对待测设备的当前自动测试设备相匹配;这样,在生成第二测试向量文件的过程中,在获取到的仿真环境中针对待测设备的第一测试向量文件的基础上,综合考虑了针对待测设备的当前自动测试设备,有利于将第一测试向量文件转化成与当前自动测试设备相匹配的第二测试向量文件,从而使得基于当前自动测试设备得到的设备测试结果更加准确,进而提高了设备测试准确率,避免了针对不同自动测试设备,都采用同一种固定文件格式的测试向量文件,导致得到的设备测试结果的准确率较低,进而导致设备测试准确率较低的缺陷。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中JTAG接口控制的流程示意图;
图2为一个实施例中测试向量文件转化方法的流程示意图;
图3为一个实施例中生成时钟块和每个信号的数据块的步骤的流程示意图;
图4为一个实施例中生成针对待测设备的第二测试向量文件的步骤的流程示意图;
图5为另一个实施例中测试向量文件转化方法的流程示意图;
图6为一个实施例中测试向量转化方法的流程示意图;
图7为另一个实施例中测试向量转化方法的流程示意图;
图8为一个实施例中测试向量文件转化装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
ATE(Automatic Test Equipment,自动测试设备)测试是现代电子产品生产中必不可少的一步。在集成电路或电子产品设计完成后,需要对其进行功能和可靠性测试,以确保产品符合质量标准和规格要求,ATE测试使用自动化测试设备来模拟真实的工作条件,并对待测产品进行测试。自动化测试设备通常包括测试仪器、测试***、测试软件等组成部分。通过这些设备,可以产生各种测试信号、采集测试结果、分析数据等。测试程序由测试工程师编写,其中包括测试模式、测试流程、测试参数等信息。测试程序会被加载到ATE设备中,ATE设备会根据测试程序的指示,自动执行测试过程。
WGL(Waveform Generation Language,波形生成语言)文件是ATE测试中用于描述测试矢量生成和控制的一种硬件描述语言。WGL文件包含了测试模式生成所需的信息,如输入信号、时序控制、预期输出等。设计工程师可以根据测试需求,编写WGL文件来产生正确的测试模式。WGL文件被加载到ATE设备中,ATE设备可以按照WGL文件中定义的测试序列和时序要求,产生正确的输入信号,提供给待测产品,并将待测产品的输出信号与预期结果进行比较,以验证待测产品的功能和可靠性。ATE测试和WGL文件是集成电路和电子产品生产中不可或缺的一部分。通过自动化测试设备和测试程序,可以对待测产品进行全面和准确的测试,以确保产品符合质量标准和规格要求,WGL文件作为ATE测试中的重要组成部分,为测试矢量生成和控制提供了必要的信息和指导。
在芯片功能测试中,常用的方法是使用仿真环境,比如UVM(UniversalVerification Methodology,通用验证方法学)进行验证和测试,而不是直接生成WGL文件。将仿真环境中基于System Verilog(硬件描述和验证语言)代码编写而成的测试向量转化成WGL文件的意义,在于可以将仿真环境中的测试模式应用到实际硬件测试中。仿真环境中的测试向量是用于验证待测产品如电路设计是否正确的输入信号序列。这些输入信号序列经过仿真和验证后,可以确保待测电路在理想条件下运行正常。但是,由于仿真环境与实际硬件环境存在差异,因此需要将仿真环境中的测试向量转换为WGL文件,以便在ATE设备上进行实际硬件测试。WGL文件包含了测试模式生成所需的信息,如输入信号、时序控制、预期输出等。通过WGL文件,ATE设备可以按照指定的测试序列和时序要求,产生正确的输入信号,提供给待测电路,并将待测电路的输出信号与预期结果进行比较,以验证待测电路的功能和可靠性。因此,本申请提出一种测试向量文件转化方法,通过将仿真环境中的测试向量转换为WGL文件,可以将仿真环境中的测试结果直接应用到实际硬件测试中,有利于提高测试效率和准确性,同时也可以缩短测试时间和降低测试成本。接下来,先对UVM中利用System Verilog通过JTAG(Joint Test Action Group,联合测试行为组织)协议进行功能测试的过程进行介绍。
芯片设计仿真通常利用UVM环境进行功能测试和验证。UVM通常使用SystemVerilog语言编写测试代码,以对待测芯片进行各种测试,并验证其功能和性能。JTAG协议是一种通用的测试和调试接口协议,用于对集成电路进行功能测试、故障分析和调试操作。它定义了一组信号线和状态机,通过这些信号线的控制和数据交换,实现了对芯片内部寄存器的读写和测试数据的输入输出。JTAG协议使用四条标准信号线来进行控制和数据传输:
TCK(Test Clock,时钟信号):用于控制JTAG操作的时序。TCK信号的频率可以根据需要进行设置,通常与芯片的工作时钟相分离。
TMS(Test Mode Select,状态机控制信号):用于指示当前JTAG状态机所处的状态。通过改变TMS信号的序列,可以切换JTAG状态机的状态,控制JTAG操作的流程。
TDI(Test Data In,测试数据输入信号):用于向芯片中的寄存器写入数据。通过在TCK的边沿上将测试数据位按顺序输入到TDI中,可以将数据写入芯片的寄存器。
TDO(Test Data Out,测试数据输出信号):用于从芯片中的寄存器读取数据。通过在TCK的边沿上从TDO读取数据位,可以获取芯片寄存器的响应数据。
在进行功能测试时,通过JTAG接口可以将测试数据以二进制形式通过TDI输入到芯片的寄存器中,然后通过TDO从芯片的寄存器中读取相应的测试结果。这样可以验证芯片的功能是否正常。根据JTAG协议的要求,控制和数据传输必须遵循一定的状态转换序列。通过改变TMS信号的序列,可以切换JTAG状态机的状态,从而实现对JTAG操作的控制。不同的JTAG状态对应着不同的操作。
在使用UVM进行功能测试时,通常可以利用JTAG协议来将数据输入到DUT(DeviceUnder Test,待测设备)中,并读取输出数据;在UVM中,可以通过System Verilog代码编写JTAG协议的激励函类,来实现对JTAG接口的控制和操作,具体操作流程如图1所示。
参考图1,首先,需要使用用户编写的JTAG函数创建JTAG对象,该对象代表了与JTAG接口的连接。接下来,可以调用JTAG操作函数进行寄存器的写入。通过配置地址和数据,将需要写入的数据传输到JTAG接口的TDI信号线上。通过调用JTAG函数,可以控制时钟信号(TCK)和状态机控制信号(TMS),以便按照JTAG协议规定的时序将数据从TDI输入到DUT的寄存器中。同时,利用JTAG协议也可以模拟寄存器的读取操作。通过调用JTAG函数,可以配置读取操作所需的地址和控制信号。然后,通过将模拟的数据位从TDI输入到JTAG接口的TDO信号线上,并根据JTAG时序规定,通过读取TDO的数据位来模拟从DUT寄存器中读取数据,以验证DUT的功能是否正常。以上是UVM中利用System Verilog通过JTAG协议进行功能测试的过程,接下来介绍本申请中将仿真的功能测试部分转化成WGL测试向量文件的过程。
ATE测试中的WGL文件通常用于描述集成电路测试过程中的激励和预期响应,它是ATE执行实际硬件测试时的输入格式。WGL是在DFT(Design for Testability,可测试性设计)工具下生成的。下面分别解释从DFT获取的WGL进行DFT测试以及从System Verilog转WGL的功能测试之间的区别,本申请强调的是从System Verilog获取测试向量,转化成和DFT工具同样突出的WGL测试文件,以满足不同的测试机器所用:
1、从DFT获取的WGL:
DFT是一种在集成电路设计阶段集成的策略,目的是提高芯片的可测试性。通过DFT手段如SCAN(扫描链)、Boundary Scan(边界扫描)、BIST(Built-In Self-Test,内建自测试)等技术生成的WGL文件,通常包含了针对特定电路结构进行故障检测所需的复杂测试向量序列,这些测试主要是为了检查电路的基本功能正确性和潜在的制造缺陷(例如Stuck-at faults、Transition faults、Path Delay defects、Bridge defects等)。测试是直接应用上述DFT方法实施的测试活动,主要关注于芯片内部逻辑路径的全面覆盖以及难以通过传统功能测试接触到的隐藏节点。在ATE上执行DFT测试时,所用到的WGL文件是由专门的DFT工具或工程师基于设计的DFT特性生成的,旨在确保在量产阶段能有效且高效地发现并隔离故障。
2、从System Verilog转WGL的功能测试:
System Verilog是一种广泛应用于验证领域的高级硬件描述语言,其中包括功能验证部分。从System Verilog转换得到的WGL文件,更多地体现了对芯片设计规范中定义的功能行为进行验证的结果,测试内容更侧重于验证设计是否满足规格书规定的功能要求。在这个过程中,测试人员可能使用诸如UVM等验证框架编写***级和模块级的测试平台,并生成详尽的功能测试用例,然后将这些测试结果转化为ATE可以理解的WGL格式,以便在物理芯片上执行功能测试。综上所述,从DFT获取的WGL测试着重于利用DFT机制检测生产制造带来的各种潜在缺陷,而从System Verilog转WGL的功能测试则聚焦于验证芯片是否按照设计意图正确运作,两者结合共同确保芯片的质量与可靠性。
因此,利用System Verilog编写模拟测试平台,能够早期发现并修复设计缺陷,这使得生成的WGL测试向量更具针对性,减少不必要的ATE测试时间和成本。且允许设计人员在设计初期就参与到测试内容的定义中,使得测试过程更加灵活且易于维护。同时,可重用的System Verilog测试代码可以在设计迭代过程中快速更新对应的WGL测试向量。
而且,在ATE上执行DFT测试时,其所利用到的测试向量文件都是WGL格式的。但是,针对不同ATE,需要生成对应特定格式的测试向量文件,即不同ATE所支持的测试向量文件格式不一样,比如ATE1支持WGL格式,ATE2支持STIL(Standard Test Interface Language,标准测试接口语言)格式,ATE3支持VMS(Vector Markup Language,向量标记语言)格式等。若针对不同ATE,都采用同一种固定文件格式(比如WGL格式)的测试向量文件,会导致得到的设备测试结果的准确率较低,进而导致设备测试准确率较低。基于此,本申请提出一种测试向量文件转化方法,在获取到的仿真环境中针对待测设备的第一测试向量文件的基础上,综合考虑了针对待测设备的当前自动测试设备,有利于将第一测试向量文件转化成与当前自动测试设备相匹配的第二测试向量文件,从而使得基于当前自动测试设备得到的设备测试结果更加准确,进而提高了设备测试准确率,避免了针对不同自动测试设备,都采用同一种固定文件格式的测试向量文件,导致得到的设备测试结果的准确率较低,进而导致设备测试准确率较低的缺陷。
在一个实施例中,如图2所示,提供了一种测试向量文件转化方法,本实施例以该方法应用于终端进行举例说明;可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的***,并通过终端和服务器之间的交互实现。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑等;服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本实施例中,该方法包括以下步骤S201至步骤S204。
其中:
步骤S201,获取仿真环境中针对待测设备的第一测试向量文件。
其中,仿真环境可以是指UVM环境;当然,仿真环境还可以是指其他环境,具体本申请不做限定。待测设备(DUT)是指需要进行功能测试的设备,比如待测芯片、待测电路、待测电子产品等。
其中,第一测试向量文件是指仿真环境中针对待测设备的功能测试的测试向量文件,具体是指仿真环境中用于验证待测设备功能是否正常的输入信号序列,比如UVM环境中基于System Verilog代码编写而成的用于进行设备功能测试的测试向量。在实际场景中,第一测试向量文件是指System Verilog代码形式的测试向量文件。当然,第一测试向量文件还可以是指其他代码形式,比如Verilog(Verification Logic,验证逻辑)、VHDL(VHSICHardware Description Language,超高速集成电路硬件描述语言)等,即第一测试向量文件可以支持多种文件格式。
其中,第一测试向量文件中包括转化成第二测试向量文件所需的信息,比如全局设置、每个信号的信号定义、信号数据、期望值信息、测试模式、时钟周期、时序约束、边沿触发条件等。
其中,全局设置是指基准时钟,用于为每个信号的时钟周期提供基准。信号定义是指信号名称。信号数据是指实际输入信号,比如电平值0或1。期望值信息是指预期输出信号。
需要说明的是,仿真环境中针对待测设备的第一测试向量文件是预先生成的,但是由于仿真环境与实际硬件环境存在差异,因此需要将仿真环境中的第一测试向量文件转换为第二测试向量文件(比如WGL文件),以将仿真环境中的测试模式应用到实际硬件测试中,从而提高了设备测试准确率。
示例性地,终端从仿真环境中针对多个设备的第一测试向量文件中,筛选出针对待测设备的第一测试向量文件。进一步地,终端还可以从本地数据库中,获取仿真环境中针对待测设备的第一测试向量文件。
举例说明,终端识别仿真环境中的第一测试向量文件对应的设备标识,然后分别将待测设备的设备标识与各个第一测试向量文件对应的设备标识进行匹配,将对应的设备标识与待测设备的设备标识匹配成功的第一测试向量文件,作为仿真环境中针对待测设备的第一测试向量文件。
步骤S202,从第一测试向量文件中,识别出每个信号的内容信息和时序信息。
其中,第一测试向量文件中记载了多个信号(即测试信号)的内容信息和时序信息,因此从第一测试向量文件中,可以提取出每个信号的内容信息和时序信息。
其中,每个信号的内容信息包括信号定义、信号数据、期望值信息、测试模式等。每个信号的时序信息包括时钟周期、时序约束、边沿触发条件等。当然,终端还可以从第一测试向量文件中提取出全局设置。
示例性地,终端利用内容信息识别指令,从第一测试向量文件中,识别出每个信号的内容信息;同时利用时序信息识别指令,从第一测试向量文件中,识别出每个信号的时序信息。
进一步地,终端还可以从第一测试向量文件中,识别出与每个信号的内容信息识别符对应的信息,对应作为每个信号的内容信息;同时从第一测试向量文件中,识别出与每个信号的时序信息识别符对应的信息,对应作为每个信号的时序信息。
举例说明,终端利用语法分析和语义理解算法,对第一测试向量文件中的SystemVerilog代码进行语法分析处理,得到每个信号的内容信息和时序信息。
步骤S203,根据每个信号的内容信息和时序信息,生成时钟块和每个信号的数据块;时钟块至少包括每个信号的时序信息,每个信号的数据块至少包括对应的信号波形文本数据。
其中,时钟块是指包括每个信号的时序信息的信息块,具体是指WGL文件头部。需要说明的是,时钟块中还可以包括全局设置。
其中,每个信号对应一个数据块。数据块中包括对应的信号波形文本数据,具体是指WGL块。需要说明的是,数据块中还可以包括对应的信号定义。
其中,信号波形文本数据用于以文本形式描述信号波形,比如用一段文字来描述信号波形。每个信号的信号波形文本数据根据对应的内容信息和时序信息进行处理得到,比如根据对应的测试模式和时序要求进行处理得到。当然,每个信号的信号波形文本数据,还可以根据对应的测试模式、时序要求以及实际设计情况进行处理得到。
示例性地,终端根据每个信号的时序信息,生成时钟块;然后分别根据每个信号的内容信息和时序信息,生成每个信号对应的信号波形文本数据;最后根据每个信号对应的信号波形文本数据,生成每个信号的数据块。
步骤S204,根据时钟块和每个信号的数据块,生成针对待测设备的第二测试向量文件;第二测试向量文件的文件格式与第一测试向量文件的文件格式不相同,且第二测试向量文件的文件格式与针对待测设备的当前自动测试设备相匹配。
其中,第二测试向量文件是指实际硬件环境中针对待测设备的功能测试的测试向量文件,具体是指实际硬件环境中用于验证待测设备功能是否正常的输入信号文件,比如WGL文件、STIL文件、VMS文件等。在实际场景中,第二测试向量文件是指WGL代码形式的测试向量文件。当然,第二测试向量文件还可以是指其他代码形式,比如STIL(Standard TestInterface Language,标准测试接口语言)、VCD(Value Change Dump,数值变化转储)、EVCD(Extended Value Change Dump,扩展数值变化转储)、VMS(Vector Markup Language,向量标记语言)等,即第二测试向量文件可以支持多种文件格式,具体可以根据实际情况调整;比如,针对不同ATE,需要生成对应特定格式的测试向量文件。换言之,第二测试向量文件是指与当前ATE适配的测试向量文件;举例说明,终端可以将第一测试向量文件转化成与当前ATE相适配的测试向量文件,并将其作为第二测试向量文件。
其中,不同ATE所支持的第二测试向量文件的文件格式不一样;第二测试向量文件的文件格式与针对待测设备的当前自动测试设备相匹配,是指第二测试向量文件的文件格式与当前自动测试设备相适配,即当前自动测试设备支持该第二测试向量文件的文件格式。
其中,针对待测设备的当前自动测试设备,是指当前对待测设备进行功能性测试的自动测试设备;通过将第二测试向量文件加载到当前自动测试设备,进而通过当前自动测试设备基于第二测试向量文件,可以实现对待测设备的功能性测试。
其中,第二测试向量文件中包括时钟块和每个信号的数据块,用于在实际硬件环境中对待测设备进行功能测试。比如,WGL文件包含了测试模式生成所需的信息,如输入信号、时序控制、预期输出等。通过将WGL文件加载至ATE设备中,使得ATE设备可以按照指定的测试序列和时序要求,产生正确的输入信号,提供给待测设备,并将待测设备基于输入信号的实际输出信号与预期输出信号进行比较,以验证待测设备的功能和可靠性。
需要说明的是,在生成针对待测设备的第二测试向量文件之后,为了实现自动化验证和测试,本申请还可以建立自动化的验证和测试框架,对转换工具进行全面的功能验证和性能测试,确保转换结果的准确性和可靠性。
示例性地,终端将时钟块和每个信号的数据块进行组合,得到包括时钟块和每个信号的数据块,且对应的文件格式与第一测试向量文件的文件格式不相同,且对应的文件格式与针对待测设备的当前自动测试设备相匹配的测试向量文件,作为针对待测设备的第二测试向量文件。
上述测试向量文件转化方法中,通过获取仿真环境中针对待测设备的第一测试向量文件,并从第一测试向量文件中,识别出每个信号的内容信息和时序信息,然后根据每个信号的内容信息和时序信息,生成时钟块和每个信号的数据块,且时钟块至少包括每个信号的时序信息,每个信号的数据块至少包括对应的信号波形文本数据,最后根据时钟块和每个信号的数据块,生成针对待测设备的第二测试向量文件,第二测试向量文件的文件格式与第一测试向量文件的文件格式不相同,且第二测试向量文件的文件格式与针对待测设备的当前自动测试设备相匹配;这样,在生成第二测试向量文件的过程中,在获取到的仿真环境中针对待测设备的第一测试向量文件的基础上,综合考虑了针对待测设备的当前自动测试设备,有利于将第一测试向量文件转化成与当前自动测试设备相匹配的第二测试向量文件,从而使得基于当前自动测试设备得到的设备测试结果更加准确,进而提高了设备测试准确率,避免了针对不同自动测试设备,都采用同一种固定文件格式的测试向量文件,导致得到的设备测试结果的准确率较低,进而导致设备测试准确率较低的缺陷。
在一个示例性的实施例中,上述步骤S202,从第一测试向量文件中,识别出每个信号的内容信息和时序信息,具体包括如下内容:从第一测试向量文件中,识别出每个信号关联的目标函数;从每个信号关联的目标函数中,识别出每个信号的内容信息和时序信息。
其中,第一测试向量文件中包括每个信号关联的目标函数。每个信号关联的目标函数用于记载对应信号的内容信息和时序信息。需要说明的是,每个信号关联的目标函数都不一样,且每个信号关联的目标函数可以通过预先定义。
示例性地,终端从本地数据库中,获取每个信号关联的目标函数名称;接着从第一测试向量文件中,筛选出与每个信号关联的目标函数名称对应的函数,对应作为每个信号关联的目标函数;最后,利用内容信息识别指令,从每个信号关联的目标函数中,识别出每个信号的内容信息,以及利用时序信息识别指令,从每个信号关联的目标函数中,识别出每个信号的时序信息。
进一步地,终端还可以从每个信号关联的目标函数中,识别出与每个信号的内容信息识别符对应的信息,对应作为每个信号的内容信息;以及从每个信号关联的目标函数中,识别出与每个信号的时序信息识别符对应的信息,对应作为每个信号的时序信息。
在本实施例中,先从第一测试向量文件中,定位到每个信号关联的目标函数,再从每个信号关联的目标函数中,识别出每个信号的内容信息和时序信息,可以准确提取出每个信号的内容信息和时序信息,避免了直接从第一测试向量文件中提取内容信息和时序信息时容易存在遗漏或者错误,导致提取出的内容信息和时序信息的准确率较低的缺陷,进而提高了信号的内容信息和时序信息的提取准确率。
在一个示例性的实施例中,从每个信号关联的目标函数中,识别出每个信号的内容信息和时序信息,具体包括如下内容:分别将每个信号关联的目标函数,输入至预先训练的内容信息识别模型中,得到每个信号的内容信息;分别将每个信号关联的目标函数,输入至预先训练的时序信息识别模型中,得到每个信号的时序信息。
其中,内容信息识别模型是一种用于识别出信号的内容信息的神经网络模型,比如第一语义识别模型,可以通过预先训练得到。
其中,时序信息识别模型是一种用于识别出信号的时序信息的神经网络模型,比如第二语义识别模型,可以通过预先训练得到。
示例性地,终端先对待训练的内容信息识别模型进行迭代训练,得到训练完成的内容信息识别模型,作为预先训练的内容信息识别模型;以及对待训练的时序信息识别模型进行迭代训练,得到训练完成的时序信息识别模型,作为预先训练的时序信息识别模型。接着,终端分别将每个信号关联的目标函数,输入至预先训练的内容信息识别模型中,通过预先训练的内容信息识别模型对每个信号关联的目标函数进行语义分析处理,得到每个信号的内容信息;分别将每个信号关联的目标函数,输入至预先训练的时序信息识别模型中,通过预先训练的时序信息识别模型对每个信号关联的目标函数进行语义分析处理,得到每个信号的时序信息。
在本实施例中,利用预先训练的内容信息识别模型中,从每个信号关联的目标函数中,识别出每个信号的内容信息,以及利用预先训练的时序信息识别模型,从每个信号关联的目标函数中,识别出每个信号的时序信息;这样,通过借助预先训练的内容信息识别模型和预先训练的时序信息识别模型,识别出每个信号的内容信息和时序信息,有利于准确提取出每个信号的内容信息和时序信息,确保后续生成的第二测试向量文件能够准确描述第一测试向量文件所反映的信号的内容信息和时序信息,进而提高了第二测试向量文件的转化准确率。
在一个示例性的实施例中,如图3所示,上述步骤S203,根据每个信号的内容信息和时序信息,生成时钟块和每个信号的数据块,包括步骤S301至步骤S303。其中:
步骤S301,根据基准时序信息和每个信号的时序信息,生成时钟块;基准时序信息从第一测试向量文件中提取得到。
步骤S302,根据每个信号的内容信息和时序信息,生成每个信号对应的信号标识和信号波形文本数据。
步骤S303,根据每个信号对应的信号标识和信号波形文本数据,生成每个信号的数据块。
其中,基准时序信息是指全局设置,比如基准时钟。需要说明的是,基准时序信息也是记载在第一测试向量文件中。
其中,时钟块具体包括基准时序信息和每个信号的时序信息。
其中,每个信号对应的信号标识是指每个信号对应的信号名称,具体是指每个信号的内容信息中的信号定义。
其中,每个信号的数据块具体包括对应的信号标识和信号波形文本数据。需要说明的是,数据块中包括信号标识,是为了表明数据块中的信号波形文本数据是哪个信号的。
示例性地,终端从第一测试向量文件中,提取出与基准时序信息识别符对应的信息,作为基准时序信息,或者按照基准时序信息识别指令,从第一测试向量文件中,识别出基准时序信息。接着将基准时序信息和每个信号的时序信息进行组合,得到时钟块。然后,终端将每个信号的内容信息中的信号定义,作为每个信号对应的信号标识,并对每个信号的内容信息和时序信息进行处理,得到每个信号对应的信号波形文本数据,最后分别将每个信号对应的信号标识和信号波形文本数据进行组合,得到每个信号的数据块。
在本实施例中,根据基准时序信息和每个信号的时序信息,生成时钟块,以及根据每个信号对应的信号标识和信号波形文本数据,生成每个信号的数据块,有利于后续根据时钟块和每个信号的数据块,生成与当前自动测试设备相匹配的第二测试向量文件,有利于提高设备测试准确率,避免了生成的第二测试向量文件与当前自动测试设备不匹配,导致设备测试准确率较低的缺陷。
在一个示例性的实施例中,上述步骤S302,根据每个信号的内容信息和时序信息,生成每个信号对应的信号标识和信号波形文本数据,具体包括如下内容:从每个信号的内容信息中,提取出每个信号的信号定义和关键内容信息;将每个信号的信号定义,确认为每个信号对应的信号标识;根据每个信号的关键内容信息和时序信息,生成每个信号对应的信号波形文本数据。
其中,关键内容信息是指信号数据、测试模式等。
示例性地,终端从每个信号的内容信息中,提取出与信号定义识别符对应的信息,作为每个信号的信号定义,并从每个信号的内容信息中,提取出与关键内容信息识别符对应的信息,作为每个信号的关键内容信息。或者,终端按照信号定义识别指令,从每个信号的内容信息中,识别出每个信号的信号定义,并按照关键内容信息识别指令,从每个信号的内容信息中,识别出每个信号的关键内容信息。接着,终端将每个信号的信号定义,确认为每个信号对应的信号标识,最后对每个信号的关键内容信息和时序信息进行处理,得到用于描述每个信号对应的信号波形的文本数据,作为每个信号对应的信号波形文本数据;比如对每个信号的测试模式、信号数据、时序信息、时钟周期、时序约束、边沿触发条件等进行处理,得到每个信号对应的信号波形文本数据。
举例说明,终端可以对每个信号对应的测试模式、时序要求以及实际设计情况进行处理,得到每个信号对应的信号波形文本数据。
在本实施例中,根据每个信号的内容信息和时序信息,生成每个信号对应的信号标识和信号波形文本数据,有利于后续基于每个信号对应的信号标识和信号波形文本数据,生成每个信号的数据块,进而基于时钟块和每个信号的数据块,自动生成第二测试向量文件,从而实现了自动生成与当前自动测试设备相匹配的第二测试向量文件的目的,无需重新编写与当前自动测试设备相匹配的第二测试向量文件,从而简化了待测设备的测试过程,有利于缩短待测设备的测试时间,从而提高了设备测试效率。
在一个示例性的实施例中,上述步骤S204,根据时钟块和每个信号的数据块,生成针对待测设备的第二测试向量文件,包括步骤S401至步骤S402。其中:
步骤S401,获取预先创建的测试向量文件结构;测试向量文件结构包括时钟块区域和每个信号的数据块区域;预先创建的测试向量文件结构为与当前自动测试设备相匹配的测试向量文件结构。
步骤S402,将时钟块添加到时钟块区域中,以及分别将每个信号的数据块添加到每个信号的数据块区域中,得到与测试向量文件结构对应的测试向量文件,作为针对待测设备的第二测试向量文件。
其中,预先创建的测试向量文件结构是指与当前自动测试设备相匹配的测试向量文件结构,具体是指当前自动测试设备所支持的测试向量文件结构,比如WGL文件结构。不同自动测试设备所支持的测试向量文件结构不一样。时钟块区域是指WGL文件头部区域,用于存放WGL文件头部。数据块区域是指WGL块区域,用于存放对应信号的WGL块。
示例性地,终端从本地数据库中,获取与当前自动测试设备相匹配的测试向量文件结构,作为预先创建的测试向量文件结构,然后从预先创建的测试向量文件结构中,识别出时钟块区域和每个信号的数据块区域,最后将时钟块添加到时钟块区域中,以及分别将每个信号的数据块添加到每个信号的数据块区域中,得到与测试向量文件结构对应的测试向量文件,并将该测试向量文件,作为针对待测设备的第二测试向量文件。
例如,终端将时钟块添加至与当前自动测试设备相匹配的WGL文件结构中的时钟块区域,将A信号的数据块添加到A信号的数据块区域中,将B信号的数据块添加到B信号的数据块区域中,将C信号的数据块添加到C信号的数据块区域中……以此类推,最终得到针对待测设备的WGL文件。
在本实施例中,将时钟块添加到与当前自动测试设备相匹配的测试向量文件结构中的时钟块区域中,以及分别将每个信号的数据块添加到与当前自动测试设备相匹配的测试向量文件结构中的每个信号的数据块区域中,得到针对待测设备的第二测试向量文件;这样,在生成第二测试向量文件的过程中,综合考虑与当前自动测试设备相匹配的测试向量文件结构,且将时钟块和数据块放置到测试向量文件结构中的相应区域中,有利于保证得到的第二测试向量文件的准确性,从而提高了第二测试向量文件的转化准确率,进而提高了第二测试向量文件的确定准确率。
在一个示例性的实施例中,上述步骤S204,在根据时钟块和每个信号的数据块,生成针对待测设备的第二测试向量文件之前,还包括如下内容:创建时钟块区域和每个信号的数据块区域;按照预设组合顺序,将时钟块区域和每个信号的数据块区域进行组合,得到与当前自动测试设备相匹配的测试向量文件结构,作为预先创建的测试向量文件结构。
其中,预设组合顺序是指时钟块区域排列在最前面,每个信号的数据块区域依次排列在时钟块区域后面,比如WGL文件头部区域排列在最前面,每个信号的WGL块区域依次排列在WGL文件头部区域后面。
其中,得到的测试向量文件结构可以是指WGL文件结构,具体根据当前自动测试设备确定。
需要说明的是,数据块区域的个数,是根据从第一测试向量文件解析出的内容信息(或者时序信息)所属信号的个数确定的,即数据块区域的个数等于从第一测试向量文件解析出的内容信息(或者时序信息)所属信号的个数。
示例性地,终端按照第二测试向量文件格式(比如WGL文件格式),创建时钟块区域以及每个信号的数据块区域;按照时钟块区域排列在最前面,每个信号的数据块区域依次排列在时钟块区域后面的顺序,将时钟块区域以及每个信号的数据块区域组合在一起,得到与当前自动测试设备相匹配的测试向量文件结构,并将该测试向量文件结构,作为预先创建的测试向量文件结构。
在本实施例中,按照预设组合顺序,将创建的时钟块区域和每个信号的数据块区域进行组合,得到与当前自动测试设备相匹配的测试向量文件结构;这样,通过创建与当前自动测试设备相匹配的测试向量文件结构,有利于后续将时钟块准确添加到测试向量文件结构中的时钟块区域中,以及分别将每个信号的数据块准确添加到测试向量文件结构中的每个信号的数据块区域中,得到与当前自动测试设备相匹配的第二测试向量文件,保证了生成的第二测试向量文件中信息的完整性、有序性和准确性,进而提高了第二测试向量文件的生成准确率,同时保证了第二测试向量文件与第一测试向量文件的内容一致性。
在一个示例性的实施例中,如图5所示,提供了另一种测试向量文件转化方法,以该方法应用于终端为例进行说明,包括步骤S501至步骤S509。其中:
步骤S501,获取仿真环境中针对待测设备的第一测试向量文件。
步骤S502,从第一测试向量文件中,识别出每个信号关联的目标函数。
步骤S503,分别将每个信号关联的目标函数,输入至预先训练的内容信息识别模型中,得到每个信号的内容信息;分别将每个信号关联的目标函数,输入至预先训练的时序信息识别模型中,得到每个信号的时序信息。
步骤S504,创建时钟块区域和每个信号的数据块区域;按照预设组合顺序,将时钟块区域和每个信号的数据块区域进行组合,得到与当前自动测试设备相匹配的测试向量文件结构,作为预先创建的测试向量文件结构。
步骤S505,根据基准时序信息和每个信号的时序信息,生成时钟块;基准时序信息从第一测试向量文件中提取得到。
步骤S506,从每个信号的内容信息中,提取出每个信号的信号定义和关键内容信息;将每个信号的信号定义,确认为每个信号对应的信号标识;根据每个信号的关键内容信息和时序信息,生成每个信号对应的信号波形文本数据。
步骤S507,根据每个信号对应的信号标识和信号波形文本数据,生成每个信号的数据块。
步骤S508,将时钟块添加到预先创建的测试向量文件结构的时钟块区域中,以及分别将每个信号的数据块添加到预先创建的测试向量文件结构的每个信号的数据块区域中,得到与测试向量文件结构对应的测试向量文件。
步骤S509,将与测试向量文件结构对应的测试向量文件,作为针对待测设备的第二测试向量文件;第二测试向量文件的文件格式与第一测试向量文件的文件格式不相同,且第二测试向量文件的文件格式与针对待测设备的当前自动测试设备相匹配。
上述测试向量文件转化方法中,在生成第二测试向量文件的过程中,在获取到的仿真环境中针对待测设备的第一测试向量文件的基础上,综合考虑了针对待测设备的当前自动测试设备,有利于将第一测试向量文件转化成与当前自动测试设备相匹配的第二测试向量文件,从而使得基于当前自动测试设备得到的设备测试结果更加准确,进而提高了设备测试准确率,避免了针对不同自动测试设备,都采用同一种固定文件格式的测试向量文件,导致得到的设备测试结果的准确率较低,进而导致设备测试准确率较低的缺陷。
在一个示例性的实施例中,为了更清晰阐明本申请实施例提供的测试向量文件转化方法,以下以一个具体的实施例对该测试向量文件转化方法进行具体说明。在一个实施例中,参考图6,提供了一种测试向量转化方法,利用解析语法解析仿真环境中基于硬件验证语言(System Verilog)代码编写而成的测试向量,并对其进行时序提取,接着利用解析的信息和提取的信息,进行WGL波形生成和编码,最终输出波形生成语言(WGL)测试向量文件。具体包括如下内容:
解析System Verilog代码:首先需要解析System Verilog代码,识别出其中函数中的信号定义、信号数据、期望值信息。这需要借助编译器或解析器来进行语法分析和语义理解。
提取时序信息:从System Verilog代码中提取出各个信号的时序信息,包括时钟周期、时序约束、边沿触发条件等。这些信息决定了生成WGL文件中波形数据的时序特性。
生成WGL文件:根据System Verilog代码提取的时序信息,生成符合WGL格式要求的波形数据。这包括时钟波形、数据信号波形以及它们之间的相对时序关系。生成的WGL文件应该与原始System Verilog代码保持一致,并能够被目标仿真工具或ATE***所识别和使用。
上述实施例,可以达到以下技术效果:(1)准确解析和提取信号的时序信息,确保生成的WGL文件能够准确描述System Verilog代码中的波形特性;(2)保持转换后的WGL文件与原始System Verilog代码的一致性,包括信号命名、层次结构等,以确保转换的正确性和可维护性;(3)处理复杂的控制流程和条件逻辑,确保生成的WGL文件能够正确模拟System Verilog代码中的行为;(4)确保转换过程中不会引入额外的错误或偏差,并进行充分的验证和测试。
在另一个实施例中,参考图7,还提供了另一种测试向量转化方法,用于将UVM中的System Verilog代码转化为WGL文件,具体包括如下内容:
根据关键词解析硬件验证语言(System Verilog)代码:首先,使用Python语言编写解析器,该解析器需要能够读取当前功能测试中的System Verilog代码,并识别出各个信号的定义、时钟周期、测试模式、期望值信息等。通过对功能测试代码中驱动部分的遍历,可以提取所需的信息并存储在定义的数据结构中,以便后续生成WGL文件时使用。
定义波形生成语言(WGL)文件结构:根据WGL文件格式的规范,定义WGL文件的结构和语法。WGL文件通常由时钟块和数据块组成,每个块描述了一个信号的波形文本信息。使用Python中的字符串格式化模板来定义WGL文件的结构。
生成波形生成语言(WGL)文件头部:在生成WGL文件的过程中,首先需要输出文件的头部信息,该头部信息包括全局设置和时钟周期定义。这部分信息可以直接从SystemVerilog代码的解析结果中获取,例如时钟频率。
逐个信号生成波形生成语言(WGL)块:根据解析得到的信号信息,在WGL文件中为每个信号生成对应的WGL块。对于每个信号,需要生成其名称和相应的波形数据。波形数据可以根据测试模式、时序要求以及实际设计情况进行处理得到。
整合波形生成语言(WGL)文件内容:将生成的WGL块按照WGL文件的语法规则进行整合,形成最终的WGL文件内容。使用文件操作相关的函数来完成这一步骤,逐步将各部分内容写入到文件中。
输出波形生成语言(WGL)文件:最后,将生成的WGL文件内容写入到文件中,保存为WGL格式文件。确保最终生成的文件符合WGL格式的要求,并且可以被ATE测试机台识别和使用,使用Python中的文件操作相关函数来实现文件的输出和保存。
上述实施例,可以达到以下技术效果:(1)ATE兼容性:ATE是一种常用的测试设备,通常用于测试集成电路和芯片。通过将System Verilog代码转换为WGL格式,可以确保波形数据能够与ATE***进行兼容,使得System Verilog代码更容易被ATE***使用和执行测试。(2)减少开发时间:将System Verilog代码转换为WGL格式后,可以直接在ATE***中使用生成的WGL文件进行测试。这样可以节省开发人员编写ATE测试程序的时间,加快测试环境的建立和测试用例的执行速度。(3)方便故障注入:在ATE测试中,有时需要注入特定故障模式以测试芯片的容错能力。通过将System Verilog代码转换为WGL格式,可以根据故障注入需求生成相应的故障波形数据,并在ATE***中加载和执行,方便进行故障注入测试。(4)跨平台和跨工具支持:由于WGL是一种通用测序向量格式,因此生成的WGL文件可以在不同的操作***和不同的仿真工具上使用,提高了代码的可移植性和灵活性。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的测试向量文件转化方法的测试向量文件转化装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个测试向量文件转化装置实施例中的具体限定可以参见上文中对于测试向量文件转化方法的限定,在此不再赘述。
在一个示例性的实施例中,如图8所示,提供了一种测试向量文件转化装置,包括:文件获取模块810、信息识别模块820、信息处理模块830和文件生成模块840,其中:
文件获取模块810,用于获取仿真环境中针对待测设备的第一测试向量文件。
信息识别模块820,用于从第一测试向量文件中,识别出每个信号的内容信息和时序信息。
信息处理模块830,用于根据每个信号的内容信息和时序信息,生成时钟块和每个信号的数据块;时钟块至少包括每个信号的时序信息,每个信号的数据块至少包括对应的信号波形文本数据。
文件生成模块840,用于根据时钟块和每个信号的数据块,生成针对待测设备的第二测试向量文件;第二测试向量文件的文件格式与第一测试向量文件的文件格式不相同,且第二测试向量文件的文件格式与针对待测设备的当前自动测试设备相匹配。
在一个示例性的实施例中,信息识别模块820,还用于从第一测试向量文件中,识别出每个信号关联的目标函数;从每个信号关联的目标函数中,识别出每个信号的内容信息和时序信息。
在一个示例性的实施例中,信息识别模块820,还用于分别将每个信号关联的目标函数,输入至预先训练的内容信息识别模型中,得到每个信号的内容信息;分别将每个信号关联的目标函数,输入至预先训练的时序信息识别模型中,得到每个信号的时序信息。
在一个示例性的实施例中,信息处理模块830,还用于根据基准时序信息和每个信号的时序信息,生成时钟块;基准时序信息从第一测试向量文件中提取得到;根据每个信号的内容信息和时序信息,生成每个信号对应的信号标识和信号波形文本数据;根据每个信号对应的信号标识和信号波形文本数据,生成每个信号的数据块。
在一个示例性的实施例中,信息处理模块830,还用于从每个信号的内容信息中,提取出每个信号的信号定义和关键内容信息;将每个信号的信号定义,确认为每个信号对应的信号标识;根据每个信号的关键内容信息和时序信息,生成每个信号对应的信号波形文本数据。
在一个示例性的实施例中,文件生成模块840,还用于获取预先创建的测试向量文件结构;测试向量文件结构包括时钟块区域和每个信号的数据块区域;将时钟块添加到时钟块区域中,以及分别将每个信号的数据块添加到每个信号的数据块区域中,得到与测试向量文件结构对应的测试向量文件,作为针对待测设备的第二测试向量文件;预先创建的测试向量文件结构为与当前自动测试设备相匹配的测试向量文件结构。
在一个示例性的实施例中,测试向量文件转化装置还包括结构创建模块,用于创建时钟块区域和每个信号的数据块区域;按照预设组合顺序,将时钟块区域和每个信号的数据块区域进行组合,得到与当前自动测试设备相匹配的测试向量文件结构,作为预先创建的测试向量文件结构。
上述测试向量文件转化装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过***总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到***总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种测试向量文件转化方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个示例性的实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个示例性的实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个示例性的实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要符合相关规定。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (11)
1.一种测试向量文件转化方法,其特征在于,所述方法包括:
获取仿真环境中针对待测设备的第一测试向量文件;
从所述第一测试向量文件中,识别出每个信号的内容信息和时序信息;
根据所述每个信号的内容信息和时序信息,生成时钟块和所述每个信号的数据块;所述时钟块至少包括所述每个信号的时序信息,所述每个信号的数据块至少包括对应的信号波形文本数据;
根据所述时钟块和所述每个信号的数据块,生成针对所述待测设备的第二测试向量文件;所述第二测试向量文件的文件格式与所述第一测试向量文件的文件格式不相同,且所述第二测试向量文件的文件格式与针对所述待测设备的当前自动测试设备相匹配。
2.根据权利要求1所述的方法,其特征在于,所述从所述第一测试向量文件中,识别出每个信号的内容信息和时序信息,包括:
从所述第一测试向量文件中,识别出每个信号关联的目标函数;
从所述每个信号关联的目标函数中,识别出所述每个信号的内容信息和时序信息。
3.根据权利要求2所述的方法,其特征在于,所述从所述每个信号关联的目标函数中,识别出所述每个信号的内容信息和时序信息,包括:
分别将所述每个信号关联的目标函数,输入至预先训练的内容信息识别模型中,得到所述每个信号的内容信息;
分别将所述每个信号关联的目标函数,输入至预先训练的时序信息识别模型中,得到所述每个信号的时序信息。
4.根据权利要求1所述的方法,其特征在于,所述根据所述每个信号的内容信息和时序信息,生成时钟块和所述每个信号的数据块,包括:
根据基准时序信息和所述每个信号的时序信息,生成时钟块;所述基准时序信息从所述第一测试向量文件中提取得到;
根据所述每个信号的内容信息和时序信息,生成所述每个信号对应的信号标识和信号波形文本数据;
根据所述每个信号对应的信号标识和信号波形文本数据,生成所述每个信号的数据块。
5.根据权利要求4所述的方法,其特征在于,所述根据所述每个信号的内容信息和时序信息,生成所述每个信号对应的信号标识和信号波形文本数据,包括:
从所述每个信号的内容信息中,提取出所述每个信号的信号定义和关键内容信息;
将所述每个信号的信号定义,确认为所述每个信号对应的信号标识;
根据所述每个信号的关键内容信息和时序信息,生成所述每个信号对应的信号波形文本数据。
6.根据权利要求1所述的方法,其特征在于,所述根据所述时钟块和所述每个信号的数据块,生成针对所述待测设备的第二测试向量文件,包括:
获取预先创建的测试向量文件结构;所述测试向量文件结构包括时钟块区域和所述每个信号的数据块区域;所述预先创建的测试向量文件结构为与所述当前自动测试设备相匹配的测试向量文件结构;
将所述时钟块添加到所述时钟块区域中,以及分别将所述每个信号的数据块添加到所述每个信号的数据块区域中,得到与所述测试向量文件结构对应的测试向量文件,作为针对所述待测设备的第二测试向量文件。
7.根据权利要求6所述的方法,其特征在于,在根据所述时钟块和所述每个信号的数据块,生成针对所述待测设备的第二测试向量文件之前,还包括:
创建时钟块区域和所述每个信号的数据块区域;
按照预设组合顺序,将所述时钟块区域和所述每个信号的数据块区域进行组合,得到与所述当前自动测试设备相匹配的测试向量文件结构,作为所述预先创建的测试向量文件结构。
8.一种测试向量文件转化装置,其特征在于,所述装置包括:
文件获取模块,用于获取仿真环境中针对待测设备的第一测试向量文件;
信息识别模块,用于从所述第一测试向量文件中,识别出每个信号的内容信息和时序信息;
信息处理模块,用于根据所述每个信号的内容信息和时序信息,生成时钟块和所述每个信号的数据块;所述时钟块至少包括所述每个信号的时序信息,所述每个信号的数据块至少包括对应的信号波形文本数据;
文件生成模块,用于根据所述时钟块和所述每个信号的数据块,生成针对所述待测设备的第二测试向量文件;所述第二测试向量文件的文件格式与所述第一测试向量文件的文件格式不相同,且所述第二测试向量文件的文件格式与针对所述待测设备的当前自动测试设备相匹配。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410154570.XA CN118069441A (zh) | 2024-02-02 | 2024-02-02 | 测试向量文件转化方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410154570.XA CN118069441A (zh) | 2024-02-02 | 2024-02-02 | 测试向量文件转化方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118069441A true CN118069441A (zh) | 2024-05-24 |
Family
ID=91094627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410154570.XA Pending CN118069441A (zh) | 2024-02-02 | 2024-02-02 | 测试向量文件转化方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118069441A (zh) |
-
2024
- 2024-02-02 CN CN202410154570.XA patent/CN118069441A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7178115B2 (en) | Manufacturing method and apparatus to avoid prototype-hold in ASIC/SOC manufacturing | |
US7603636B2 (en) | Assertion generating system, program thereof, circuit verifying system, and assertion generating method | |
US7490307B2 (en) | Automatic generating of timing constraints for the validation/signoff of test structures | |
US7478346B2 (en) | Debugging system for gate level IC designs | |
US10657207B1 (en) | Inter-cell bridge defect diagnosis | |
KR100483876B1 (ko) | 반도체 집적 회로 설계 및 검증 시스템 | |
US11361248B2 (en) | Multi-stage machine learning-based chain diagnosis | |
Polian et al. | Exploring the mysteries of system-level test | |
CN112444731B (zh) | 芯片测试方法、装置、处理器芯片及服务器 | |
US6707313B1 (en) | Systems and methods for testing integrated circuits | |
US11681843B2 (en) | Input data compression for machine learning-based chain diagnosis | |
CN113343617B (zh) | 软硬件协同仿真方法 | |
KR20040007463A (ko) | 로직 시뮬레이션을 이용하지 않는 복잡한 ic의 설계검증을 위한 방법 및 장치 | |
US11789077B2 (en) | Single-pass diagnosis for multiple chain defects | |
US9404972B2 (en) | Diagnosis and debug with truncated simulation | |
Fan et al. | Diagnosis of cell internal defects with multi-cycle test patterns | |
JPWO2007113940A1 (ja) | 半導体検査装置 | |
CN110347595A (zh) | 一种fpga内部资源甄别与定位方法及*** | |
CN107704351B (zh) | 一种芯片的验证方法和装置 | |
CN106546910A (zh) | 基于位流回读的fpga测试平台 | |
US10528689B1 (en) | Verification process for IJTAG based test pattern migration | |
CN117094269A (zh) | 一种验证方法、装置、电子设备及可读存储介质 | |
US6760904B1 (en) | Apparatus and methods for translating test vectors | |
US10234502B1 (en) | Circuit defect diagnosis based on sink cell fault models | |
CN118069441A (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 |