CN116933704A - 时序仿真方法、系统、计算机设备及可读存储介质 - Google Patents
时序仿真方法、系统、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN116933704A CN116933704A CN202210338646.5A CN202210338646A CN116933704A CN 116933704 A CN116933704 A CN 116933704A CN 202210338646 A CN202210338646 A CN 202210338646A CN 116933704 A CN116933704 A CN 116933704A
- Authority
- CN
- China
- Prior art keywords
- test
- test vector
- vectors
- stage
- simulation
- 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
- 238000004088 simulation Methods 0.000 title claims abstract description 148
- 238000000034 method Methods 0.000 title claims abstract description 46
- 239000013598 vector Substances 0.000 claims abstract description 486
- 238000012360 testing method Methods 0.000 claims abstract description 441
- 238000000605 extraction Methods 0.000 claims description 40
- 238000012545 processing Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 10
- 238000012795 verification Methods 0.000 description 10
- 230000003252 repetitive effect Effects 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/331—Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
-
- 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
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明涉及一种时序仿真方法、系统、计算机设备及可读存储介质,包括:获取多个测试向量;将多个测试向量进行分组,以得到多组测试向量组合,各组测试向量组合中,不同的测试向量均具有重复时间段和差异时间段;分别提取各测试向量组合中不同测试向量的重复时间段,以得到多个提取向量;基于各提取向量进行仿真,得到对应的初始仿真快照;基于对应的初始仿真快照,对各测试向量组合中各测试向量的差异时间段进行仿真。上述时序仿真方法,可以大大缩短了整个时序仿真过程中的时序仿真时间,显著提高了仿真效率。
Description
技术领域
本发明涉及半导体技术领域,特别是涉及一种时序仿真方法、系统、计算机设备及可读存储介质。
背景技术
目前,在对芯片进行时序验证时,譬如,在对DRAM(Dynamic Random AccessMemory,动态随机存取存储器)进行全芯片时序验证时,会使用到种类众多的测试向量(Patterns);而在目前时序验证过程中,需要逐一对各所述测试向量进行仿真验证,这就导致目前的时序验证存在时序验证时间较长及时序验证效率较低等问题。
发明内容
基于此,有必要提供一种时序仿真方法、系统、计算机设备及可读存储介质解决现有技术中的上述问题。
为了实现上述目的,一方面,本申请提供一种时序仿真方法,包括:
获取多个测试向量;
将多个所述测试向量进行分组,以得到多组测试向量组合,各组所述测试向量组合中,不同的所述测试向量均具有重复时间段和差异时间段;
分别提取各所述测试向量组合中不同所述测试向量的重复时间段,以得到多个提取向量;
基于各所述提取向量进行仿真,得到对应的初始仿真快照;
基于对应的初始仿真快照,对各所述测试向量组合中各所述测试向量的差异时间段进行仿真。
在其中一个实施例中,所述将多个所述测试向量进行分组,以得到多组测试向量组合,包括:
将各所述测试向量进行比对;
将自起始时间具有预设时间的重复时间段的所述测试向量分至同一测试向量组合。
在其中一个实施例中,所述将自起始时间具有预设时间的重复时间段的所述测试向量分至同一测试向量组合,包括:
将自起始时间具有第一级预设时间的重复时间段的所述测试向量分至第一级的同一测试向量组合;
判断第一级的同一测试向量组合中是否有自起始时间具有第二级预设时间的重复时间段的测试向量;所述第二级预设时间大于所述第一级预设时间;
若有,则将具有第二级预设时间的重复时间段的测试向量分至第二级的同一测试向量组合。
在其中一个实施例中,所述将具有第二级预设时间的重复时间段的测试向量分至第二级的同一测试向量组合之后,还包括:
判断上一级的同一测试向量组合中是否有自起始时间具有下一级预设时间的重复时间段的测试向量;所述下一级预设时间大于上一级预设时间;
若有,则将具有下一级预设时间的重复时间段的测试向量分至下一级的同一测试向量组合。
在其中一个实施例中,将具有下一级预设时间的重复时间段的测试向量分至下一级的同一测试向量组合之后,还包括:
重复将具有下一级预设时间的重复时间段的测试向量分至下一级的同一测试向量组合的步骤若干次,直至最高级的同一测试向量组合中的重复时间段达到预设长度。
在其中一个实施例中,各相邻级预设时间之间的差值相同。
在其中一个实施例中,所述分别提取各所述测试向量组合中不同所述测试向量的重复时间段,以得到多个提取向量,包括:
提取各最高级的所述测试向量组合中不同所述测试向量的重复时间段,以得到多个所述提取向量。
在其中一个实施例中,所述测试向量包括用于测试或操作待测试芯片的数据,所述数据包括逻辑1和逻辑0。
在其中一个实施例中,所述基于各所述提取向量进行仿真,得到对应的初始仿真快照,包括:将各所述提取向量分别输入仿真器,所述仿真器用于基于输入的提取向量进行仿真,并输出初始仿真快照;
所述基于对应的初始仿真快照,对各所述测试向量组合中各所述测试向量的差异时间段进行仿真,包括:将所述初始仿真快照和各所述测试向量组合中各所述测试向量的差异时间段分别输入所述仿真器,所述仿真器还用于基于输入的测试向量的差异时间段和所述初始仿真快照进行仿真,并输出仿真结果。
本申请还提供一种时序仿真系统,包括:
获取模块,用于获取多个测试向量;
处理模块,与所述获取模块相连接,所述处理模块被配置为:
将多个所述测试向量进行分组,以得到多组测试向量组合,各组所述测试向量组合中,不同的所述测试向量均具有重复时间段和差异时间段;
分别提取各所述测试向量组合中不同所述测试向量的重复时间段,以得到多个提取向量;
基于各所述提取向量进行仿真,得到对应的初始仿真快照;
基于对应的初始仿真快照,对各所述测试向量组合中各所述测试向量的差异时间段进行仿真。
在其中一个实施例中,所述处理模块包括:
分组处理单元,与所述获取模块相连接,用于将多个所述测试向量进行分组,以得到多组测试向量组合,各组所述测试向量组合中,不同的所述测试向量均具有重复时间段和差异时间段;
提取单元,与所述分组处理单元相连接,用于分别提取各所述测试向量组合中不同所述测试向量的重复时间段,以得到多个提取向量;
仿真单元,与所述分组处理单元及所述提取单元相连接,用于基于各所述提取向量进行仿真,得到对应的初始仿真快照,并基于对应的初始仿真快照,对各所述测试向量组合中各所述测试向量的差异时间段进行仿真。
在其中一个实施例中,所述仿真单元包括:
第一仿真单元,与所述提取单元相连接,用于基于各所述提取向量进行仿真,得到对应的初始仿真快照;
第二仿真单元,与所述分组处理单元及所述第一仿真单元相连接,用于对各所述测试向量组合中的差异时间段进行仿真。
在其中一个实施例中,所述测试向量包括用于测试或操作待测试芯片的数据,所述数据包括逻辑1和逻辑0。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述方案中所述的时序仿真方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一方案中所述的时序仿真方法的步骤。
本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一方案中所述的时序仿真方法的步骤。
上述时序仿真方法,通过将多个测试向量中具有重复时间段的测试向量进行分组得到多组测试向量组合,然后提前各测试向量组合中不同测试向量的重复时间段得到多个提取向量后对提取向量进行仿真,最后再对各测试向量组合中各测试向量的差异时间段进行仿真,在整个仿真过程中,同一测试向量组合中的不同测试向量的重复时间段可以一次进行仿真,大大缩短了整个时序仿真过程中的时序仿真时间,显著提高了仿真效率。
上述时序仿真系统中的处理模块通过将多个测试向量中具有重复时间段的测试向量进行分组得到多组测试向量组合,然后提前各测试向量组合中不同测试向量的重复时间段得到多个提取向量后对提取向量进行仿真,最后再对各测试向量组合中各测试向量的差异时间段进行仿真,在整个仿真过程中,同一测试向量组合中的不同测试向量的重复时间段可以一次进行仿真,大大缩短了整个时序仿真过程中的时序仿真时间,显著提高了仿真效率。
附图说明
为了更清楚地说明本申请实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一个实施例中提供的时序仿真方法的流程图;
图2为本申请一个实施例中提供的时序仿真方法中的多个测试向量的示意图;
图3至图5为本申请一个实施例中提供的时序仿真方法对图2中的多个测试向量进行仿真的示意图。
图6为本申请一个实施例中提供的时序仿真方法中将多个测试向量进行分组的示意图。
图7至图9为本申请不同实施例中提供时序仿真系统的结构框图。
附图标记说明:
10-获取模块,20-处理模块,201-分组处理单元,202-提取单元;203-仿真单元,2031-第一仿真单元,2032-第二仿真单元。
具体实施方式
为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的实施例。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使本申请的公开内容更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一电源输入端称为第二电源输入端,且类似地,可将第二电源输入端称为第一电源输入端。第一电源输入端和第二电源输入端两者都是电源输入端,但其不是同一电源输入端。
可以理解,以下实施例中的“连接”,如果被连接的电路、模块、单元等相互之间具有电信号或数据的传递,则应理解为“电连接”、“通信连接”等。
在此使用时,单数形式的“一”、“一个”和“所述/该”也可以包括复数形式,除非上下文清楚指出另外的方式。还应当理解的是,术语“包括/包含”或“具有”等指定所陈述的特征、整体、步骤、操作、组件、部分或它们的组合的存在,但是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、组件、部分或它们的组合的可能性。
请参阅图1,本申请提供一种时序仿真方法,时序仿真方法可以包括如下步骤:
S10:获取多个测试向量;
S20:将多个测试向量进行分组,以得到多组测试向量组合,各组测试向量组合中,不同的测试向量均具有重复时间段和差异时间段;
S30:分别提取各测试向量组合中不同测试向量的重复时间段,以得到多个提取向量;
S40:基于各提取向量进行仿真,得到对应的初始仿真快照;
S50:基于对应的初始仿真快照,对各测试向量组合中各测试向量的差异时间段进行仿真。
上述时序仿真方法,通过将多个测试向量中具有重复时间段的测试向量进行分组得到多组测试向量组合,然后提前各测试向量组合中不同测试向量的重复时间段得到多个提取向量后对提取向量进行仿真,最后再对各测试向量组合中各测试向量的差异时间段进行仿真,在整个仿真过程中,同一测试向量组合中的不同测试向量的重复时间段可以一次进行仿真,大大缩短了整个时序仿真过程中的时序仿真时间,显著提高了仿真效率。
在一个示例中,步骤S10中获取的测试向量可以为但不仅限于对芯片进行时序验证时获取的测试向量;具体的,步骤S10中获取的测试向量可以为在对DRAM进行全芯片时序验证时获取的测试向量。测试向量可以为时序波形图。
在一个示例中,步骤S20中,所述将多个测试向量进行分组,以得到多组测试向量组合,可以包括如下步骤:
S201:将各测试向量进行比对;
S202:将自起始时间具有预设时间的重复时间段的测试向量分至同一测试向量组合。
具体的,步骤S201中,可以将多个测试向量自相同的起点置于同一坐标系中,以比对各测试向量;当然,也可以将多个测试向量进行叠加,以比对个测试向量。
具体的,步骤S202中,可以将自起始时间开始的具有预设时间的重复时序波形的测试向量分至同一测试向量组合,这样可以确保同一测试向量组合中的各测试向量具有预设时间的重复时间段。
作为示例,步骤S202中,将自起始时间具有预设时间的重复时间段的测试向量分至同一测试向量组合,可以包括如下步骤:
S2021:将自起始时间具有第一级预设时间的重复时间段的测试向量分至第一级的同一测试向量组合;
S2022:判断第一级的同一测试向量组合中是否有自起始时间具有第二级预设时间的重复时间段的测试向量;第二级预设时间大于第一级预设时间;
S2023:若有,则将具有第二级预设时间的重复时间段的测试向量分至第二级的同一测试向量组合。
具体的,步骤S2021中,可以通过比对将自起始时间具有第一级预设时间的相同时序波形的重复时间段的测试向量分至第一级的同一测试向量组合。
具体的,步骤S2022中,在已分至第一级的同一测试向量组合中比对各测试向量,判断同一测试向量组合中是否有具有第二级预设时间的相同时序波形的重复时间段的测试向量。
具体的,步骤S2023中,如果步骤S2022中判断第一级的同一测试向量组合中有自起始时间具有第二级预设时间的重复时间段的测试向量,则将第一级的同一测试向量组合进行下一级的划分,将具有第二级预设时间的相同时序波形图的重复时间段的测试向量分至第二级的同一测试向量组合。
通过上述步骤,可以将获取的多个测试向量实现第一级和第二级的划分组合。
在一个示例中,当步骤S2023之后,第二级的同一测试向量组合如果仍存在大于第二级预设时间的重复时间段的测试向量,步骤S2023将具有第二级预设时间的重复时间段的测试向量分至第二级的同一测试向量组合之后,还可以包括如下步骤:
S2024:判断上一级的同一测试向量组合中是否有自起始时间具有下一级预设时间的重复时间段的测试向量;下一级预设时间大于上一级预设时间;
S2025:若有,则将具有下一级预设时间的重复时间段的测试向量分至下一级的同一测试向量组合。
具体的,步骤S2024中,可以通过比对判断上一级的同一测试向量组合中是否有自起始时间具有下一级预设时间的相同时序波形的重复时间段的测试向量。
具体的,步骤S2025中,如果步骤S2024中判断上一级的同一测试向量组合中有自起始时间具有下一级预设时间的重复时间段的测试向量,则将上一级的同一测试向量组合进行下一级的划分,将具有下一级预设时间的相同时序波形图的重复时间段的测试向量分至下一级的同一测试向量组合。
在一个示例中,当步骤S2025之后,获得的同一测试向量组合如果仍存在大于最近的预设时间的重复时间段的测试向量,将将具有下一级预设时间的重复时间段的测试向量分至下一级的同一测试向量组合之后,还可以包括如下步骤:
S2026:重复将具有下一级预设时间的重复时间段的测试向量分至下一级的同一测试向量组合的步骤若干次,直至最高级的同一测试向量组合中的重复时间段达到预设长度。
在一个示例中,可以将测试向量不断分组,直至最高级的同一测试向量组合中的重复时间段达到最长。
通过上述方法,可以将具有相同时序波形的重复时间段的测试向量达到最大化的划分,从而节省后续仿真所需的时间。
在一个示例中,各相邻级预设时间之间的差值可以相同。
在另一个示例中,各相邻级预设时间之间的差值可以不尽相同,此时可以根据测试向量的时序波形来选择各级预设时间的长短。
在一个示例中,步骤S30中,分别提取各测试向量组合中不同测试向量的重复时间段,以得到多个提取向量,可以包括如下步骤:
提取各最高级的测试向量组合中不同测试向量的重复时间段,以得到多个提取向量。
如果测试向量可以分为多级的测试向量组合,通过提取最高级的测试向量组合中的不同测试向量的重复时间段,可以获得每个测试向量组合中不同测试向量之间的最大重复时间段范围,从而能够使得后续的仿真时间达到最小化。
在一个示例中,测试向量包括用于测试或操作待测试芯片的数据,数据可以包括逻辑1和逻辑0。
在一个示例中,步骤S40中,基于各提取向量进行仿真,得到对应的初始仿真快照,可以包括:将各提取向量分别输入仿真器,仿真器用于基于输入的提取向量进行仿真,并输出初始仿真快照(Snapshot)。
具体的,仿真器可以为现有任意一种用于测试向量仿真的仿真器,仿真器基于输入的提取向量进行仿真,以得到输出初始仿真拍照的具体方法此处不做限定。
需要说明的是,初始仿真快照是对步骤S30中得到的多个提取向量进行仿真后得到的仿真结果。
在一个示例中,在步骤S50中,基于对应的初始仿真快照,对各测试向量组合中各测试向量的差异时间段进行仿真,可以包括:将初始仿真快照和各测试向量组合中各测试向量的差异时间段分别输入仿真器,仿真器还用于基于输入的测试向量的差异时间段和初始仿真快照进行仿真,并输出仿真结果。
请结合图2至图5,以图2中的测试向量1至测试向量7的7个测试向量作为示例,对本申请的时序仿真方法进行详细的描述。
需要说明的是,在其他示例中,测试向量的数量及各测试向量的时序波形图并不以图2中的示例为限,可以根据实际需要进行调整设置。
首先,图2中的几个测试向量为本申请中的仿真方法中获取多个测试向量的示例。
其次,将图2中的7个测试向量进行比对。
然后,将自起始时间具有预设时间的重复时间段的测试向量分至同一测试向量组合,具体的,先可以按照7个测试向量的时序波形图,选择如图2所示的t1时间为基准点,选择snapshot1=t1-10ps(皮秒)进行第一组测试向量组合的分组;再选择如图2中的t2时间为基准点,选择snapshot2=t2-10ps进行第二组测试向量分组;再将基于snapshot1=t1-10ps分组得到的第一组测试向量组合进行进一步分级:基于snapshot1=t1-10ps得到第一组第一级测试向量组合,选择如图2中的t3时间为基准点对第一组测试向量组合进行第二级分级,基于snapshot3=t3-10ps得到第一组第二级测试向量组合。
通过上述比对分组,可以将图2中的7个测试向量分为3组测试向量组合,其中,测试向量4与测试向量5分为一个测试向量组合(如图3所示),测试向量3和测试向量6分为一个测试向量组合(如图4所示),测试向量1、测试向量2和测试向量7分为一个测试向量组合(如图5所示)。
接着,分别提取测试向量4与测试向量5所在的测试向量组合、测试向量3和测试向量6所在的测试向量组合及测试向量1、测试向量2和测试向量7所在的测试向量组合中不同测试向量的重复时间段,以得到多个提取向量;其中,测试向量4与测试向量5所在的测试向量组合对应的提取存储点(即仿真后得到对应的初始仿真快照的截止时间点)为如图3中的Save Point1,得到的提取向量为自起始时间至Save Point1这段时间段对应的时序波形;测试向量3和测试向量6所在的测试向量组合对应的提取存储点为如图4中的Save Point2,得到的提取向量为自起始时间至Save Point2这段时间段对应的时序波形;测试向量1、测试向量2和测试向量7所在的测试向量组合对应的提取存储点为如图5中的Save Point3,得到的提取向量为自起始时间至Save Point3这段时间段对应的时序波形。提取各测试向量组合的提取向量后,自然也得到各测试向量组合中各测试向量的差异时间段。
再接着,基于各提取向量进行仿真,得到对应的初始仿真快照;具体的,分别对如图3、图4及图5中的测试向量组合中的提取向量进行Snapshot向量仿真,以得到各测试向量组合的初始仿真快照。
最后,基于对应的初始仿真快照,对图3、图4及图5中各测试向量组合中各测试向量的差异时间段进行仿真,最终得到所需的仿真结果。
在一个示例中,将多个测试向量进行分组的一个示例如图6所示,对于该示例,先说明限定如下:以所述测试向量(All Patterns)中各测试向量的时长均为1000ns为例,当然,在其他示例中,各测试向量的时长并不以此为限;具体可以包括如下步骤:
将自起始时间具有第一级预设时间的重复时间段的测试向量分至第一级的同一测试向量组合,图6中以将所有测试向量分为两个第一级测试向量组合(Group1及Group2);其中,第一级测试向量组合Group1及Group2中的测试向量均具有第二级预设时间的重复时间段;图6中以第一级预设时间为100ns为例;
将第一级测试向量组合中具有第二级预设时间的重复时间段的测试向量分至第二级测试向量组合,图6中以将Group1中的测试向量组合进一步分为第二级测试向量组合Group1-1及Group1-2,并将Group2中的测试向量组合进一步分为第二级测试向量组合Group2-1及Group2-2;其中,第二级测试向量组合Group1-1及Group2-1中的测试向量均具有第三级预设时间的重复时间段,第二级测试向量组合Group1-2及Group2-2中的测试向量均没有第三级预设时间的重复时间段;图6中以第二级预设时间为200ns作为示例;
将第二级测试向量组合中具有第三级预设时间的重复时间段的测试向量分至第三级测试向量组合,图6中以以将Group1-1中的测试向量组合进一步分为第三级测试向量组合Group1-1-1及Group1-1-2,并将Group2-1中的测试向量组合进一步分为第三级测试向量组合Group2-1-1及Group2-1-2;其中,第三级测试向量组合Group1-1-2中的测试向量均具有第四级预设时间的重复时间段,第三级测试向量组合Group1-1-1、Group2-1-1及Group2-1-2中的测试向量均没有第四级预设时间的重复时间段;图6中以第三级预设时间为300ns作为示例;
将第三级测试向量组合中具有第四级预设时间的重复时间段的测试向量分至四级测试向量组合,图6中以以将Group1-1-2中的测试向量组合进一步分为第四级测试向量组合Group1-1-2-1、Group1-1-2-2及Group1-1-2-3作为示例;第四级测试向量组合Group1-1-2-1、Group1-1-2-2及Group1-1-2-3中的测试向量均没有第五级预设时间的重复时间段;图6中以第四级预设时间为400ns作为示例。
在另一个实施例中,请参阅图7,本申请还提供一种时序仿真系统,时序仿真系统可以包括:获取模块10,获取模块10用于获取多个测试向量;处理模块20,处理模块20与获取模块10相连接,处理模块20被配置为:
将多个测试向量进行分组,以得到多组测试向量组合,各组测试向量组合中,不同的测试向量均具有重复时间段和差异时间段;
分别提取各测试向量组合中不同所述测试向量的重复时间段,以得到多个提取向量;
基于各提取向量进行仿真,得到对应的初始仿真快照;
基于对应的初始仿真快照,对各测试向量组合中各测试向量的差异时间段进行仿真。
上述时序仿真系统中的处理模块20通过将多个测试向量中具有重复时间段的测试向量进行分组得到多组测试向量组合,然后提前各测试向量组合中不同测试向量的重复时间段得到多个提取向量后对提取向量进行仿真,最后再对各测试向量组合中各测试向量的差异时间段进行仿真,在整个仿真过程中,同一测试向量组合中的不同测试向量的重复时间段可以一次进行仿真,大大缩短了整个时序仿真过程中的时序仿真时间,显著提高了仿真效率。
在一个示例中,获取模块10获取的测试向量可以为但不仅限于对芯片进行时序验证时获取的测试向量;具体的,获取模块10获取的测试向量可以为在对DRAM进行全芯片时序验证时获取的测试向量。测试向量可以为时序波形图。
在一个示例中,请参阅图8,处理模块20可以包括:分组处理单元201,分组处理单元201与获取模块10相连接,用于将多个测试向量进行分组,以得到多组测试向量组合,各组所述测试向量组合中,不同的测试向量均具有重复时间段和差异时间段;提取单元202,提取单元202与分组处理单元201相连接,用于分别提取各测试向量组合中不同测试向量的重复时间段,以得到多个提取向量;仿真单元203,仿真单元203与分组处理单元201及提取单元202相连接,用于基于各提取向量进行仿真,得到对应的初始仿真快照,并基于对应的初始仿真快照,对各测试向量组合中各测试向量的差异时间段进行仿真。
在一个示例中,分组处理单元201可以被配置为:
将各测试向量进行比对;
将自起始时间具有预设时间的重复时间段的测试向量分至同一测试向量组合。
具体的,可以将多个测试向量自相同的起点置于同一坐标系中,以比对各测试向量;当然,也可以将多个测试向量进行叠加,以比对个测试向量。
具体的,可以将自起始时间开始的具有预设时间的重复时序波形的测试向量分至同一测试向量组合,这样可以确保同一测试向量组合中的各测试向量具有预设时间的重复时间段。
在另一个示例中,分组处理单元201可以被配置为:
将各测试向量进行比对;
将自起始时间具有第一级预设时间的重复时间段的测试向量分至第一级的同一测试向量组合;
判断第一级的同一测试向量组合中是否有自起始时间具有第二级预设时间的重复时间段的测试向量;第二级预设时间大于第一级预设时间;
若有,则将具有第二级预设时间的重复时间段的测试向量分至第二级的同一测试向量组合。
在又一个示例中,分组处理单元201可以被配置为:
将各测试向量进行比对;
将自起始时间具有第一级预设时间的重复时间段的测试向量分至第一级的同一测试向量组合;
判断第一级的同一测试向量组合中是否有自起始时间具有第二级预设时间的重复时间段的测试向量;第二级预设时间大于第一级预设时间;
若有,则将具有第二级预设时间的重复时间段的测试向量分至第二级的同一测试向量组合;
判断上一级的同一测试向量组合中是否有自起始时间具有下一级预设时间的重复时间段的测试向量;下一级预设时间大于上一级预设时间;
若有,则将具有下一级预设时间的重复时间段的测试向量分至下一级的同一测试向量组合。
在又一个示例中,分组处理单元201可以被配置为:
将各测试向量进行比对;
将自起始时间具有第一级预设时间的重复时间段的测试向量分至第一级的同一测试向量组合;
判断第一级的同一测试向量组合中是否有自起始时间具有第二级预设时间的重复时间段的测试向量;第二级预设时间大于第一级预设时间;
若有,则将具有第二级预设时间的重复时间段的测试向量分至第二级的同一测试向量组合;
判断上一级的同一测试向量组合中是否有自起始时间具有下一级预设时间的重复时间段的测试向量;下一级预设时间大于上一级预设时间;
若有,则将具有下一级预设时间的重复时间段的测试向量分至下一级的同一测试向量组合;
重复将具有下一级预设时间的重复时间段的测试向量分至下一级的同一测试向量组合的步骤若干次,直至最高级的同一测试向量组合中的重复时间段达到预设长度。
在一个示例中,可以将测试向量不断分组,直至最高级的同一测试向量组合中的重复时间段达到最长。
在一个示例中,各相邻级预设时间之间的差值可以相同。
在另一个示例中,各相邻级预设时间之间的差值可以不尽相同,此时可以根据测试向量的时序波形来选择各级预设时间的长短。
在一个示例中,提取模块202可以被配置为提取各最高级的测试向量组合中不同测试向量的重复时间段,以得到多个提取向量。
如果测试向量可以分为多级的测试向量组合,通过提取最高级的测试向量组合中的不同测试向量的重复时间段,可以获得每个测试向量组合中不同测试向量之间的最大重复时间段范围,从而能够使得后续的仿真时间达到最小化。
在一个示例中,请参阅图9,仿真单元203可以包括:第一仿真单元2031,第一仿真单元2031与提取单元202相连接,用于基于各提取向量进行仿真,得到对应的初始仿真快照;第二仿真单元2032,第二仿真单元2032与分组处理单元201及第一仿真单元2031相连接,用于对各测试向量组合中的差异时间段进行仿真。
在一个示例中,第一仿真单元2031及第二仿真单元2302可以为两个独立的仿真器;当然,在其他示例中,第一仿真单元2031与第二仿真单元2032可以为同一仿真器中的两个独立的仿真模块单元。
在一个示例中,所述测试向量包括用于测试或操作待测试芯片的数据,所述数据包括逻辑1和逻辑0。
在又一个实施例中,本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如图1至图5所对应实施例中所述的时序仿真方法的步骤。
在又一个实施例中,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如图1至图5所对应实施例中所述的时序仿真方法的步骤。
在又一个实施例中,本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如图1至图5所对应实施例中所述的时序仿真方法的步骤。
在本说明书的描述中,参考术语“其中一个实施例”、“其他实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特征包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性描述不一定指的是相同的实施例或示例。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述。然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (16)
1.一种时序仿真方法,其特征在于,包括:
获取多个测试向量;
将多个所述测试向量进行分组,以得到多组测试向量组合,各组所述测试向量组合中,不同的所述测试向量均具有重复时间段和差异时间段;
分别提取各所述测试向量组合中不同所述测试向量的重复时间段,以得到多个提取向量;
基于各所述提取向量进行仿真,得到对应的初始仿真快照;
基于对应的初始仿真快照,对各所述测试向量组合中各所述测试向量的差异时间段进行仿真。
2.根据权利要求1所述的时序仿真方法,其特征在于,所述将多个所述测试向量进行分组,以得到多组测试向量组合,包括:
将各所述测试向量进行比对;
将自起始时间具有预设时间的重复时间段的所述测试向量分至同一测试向量组合。
3.根据权利要求2所述的时序仿真方法,其特征在于,所述将自起始时间具有预设时间的重复时间段的所述测试向量分至同一测试向量组合,包括:
将自起始时间具有第一级预设时间的重复时间段的所述测试向量分至第一级的同一测试向量组合;
判断第一级的同一测试向量组合中是否有自起始时间具有第二级预设时间的重复时间段的测试向量;所述第二级预设时间大于所述第一级预设时间;
若有,则将具有第二级预设时间的重复时间段的测试向量分至第二级的同一测试向量组合。
4.根据权利要求3所述的时序仿真方法,其特征在于,所述将具有第二级预设时间的重复时间段的测试向量分至第二级的同一测试向量组合之后,还包括:
判断上一级的同一测试向量组合中是否有自起始时间具有下一级预设时间的重复时间段的测试向量;所述下一级预设时间大于上一级预设时间;
若有,则将具有下一级预设时间的重复时间段的测试向量分至下一级的同一测试向量组合。
5.根据权利要求4所述的时序仿真方法,其特征在于,将具有下一级预设时间的重复时间段的测试向量分至下一级的同一测试向量组合之后,还包括:
重复将具有下一级预设时间的重复时间段的测试向量分至下一级的同一测试向量组合的步骤若干次,直至最高级的同一测试向量组合中的重复时间段达到预设长度。
6.根据权利要求5所述的时序仿真方法,其特征在于,各相邻级预设时间之间的差值相同。
7.根据权利要求5所述的时序仿真方法,其特征在于,所述分别提取各所述测试向量组合中不同所述测试向量的重复时间段,以得到多个提取向量,包括:
提取各最高级的所述测试向量组合中不同所述测试向量的重复时间段,以得到多个所述提取向量。
8.根据权利要求1至7中任一项所述的时序仿真方法,其特征在于,所述测试向量包括用于测试或操作待测试芯片的数据,所述数据包括逻辑1和逻辑0。
9.根据权利要求1至7中任一项所述的时序仿真方法,其特征在于,
所述基于各所述提取向量进行仿真,得到对应的初始仿真快照,包括:将各所述提取向量分别输入仿真器,所述仿真器用于基于输入的提取向量进行仿真,并输出初始仿真快照;
所述基于对应的初始仿真快照,对各所述测试向量组合中各所述测试向量的差异时间段进行仿真,包括:将所述初始仿真快照和各所述测试向量组合中各所述测试向量的差异时间段分别输入所述仿真器,所述仿真器还用于基于输入的测试向量的差异时间段和所述初始仿真快照进行仿真,并输出仿真结果。
10.一种时序仿真系统,其特征在于,包括:
获取模块,用于获取多个测试向量;
处理模块,与所述获取模块相连接,所述处理模块被配置为:
将多个所述测试向量进行分组,以得到多组测试向量组合,各组所述测试向量组合中,不同的所述测试向量均具有重复时间段和差异时间段;
分别提取各所述测试向量组合中不同所述测试向量的重复时间段,以得到多个提取向量;
基于各所述提取向量进行仿真,得到对应的初始仿真快照;
基于对应的初始仿真快照,对各所述测试向量组合中各所述测试向量的差异时间段进行仿真。
11.根据权利要求10所述的时序仿真系统,其特征在于,所述处理模块包括:
分组处理单元,与所述获取模块相连接,用于将多个所述测试向量进行分组,以得到多组测试向量组合,各组所述测试向量组合中,不同的所述测试向量均具有重复时间段和差异时间段;
提取单元,与所述分组处理单元相连接,用于分别提取各所述测试向量组合中不同所述测试向量的重复时间段,以得到多个提取向量;
仿真单元,与所述分组处理单元及所述提取单元相连接,用于基于各所述提取向量进行仿真,得到对应的初始仿真快照,并基于对应的初始仿真快照,对各所述测试向量组合中各所述测试向量的差异时间段进行仿真。
12.根据权利要求11所述的时序仿真系统,其特征在于,所述仿真单元包括:
第一仿真单元,与所述提取单元相连接,用于基于各所述提取向量进行仿真,得到对应的初始仿真快照;
第二仿真单元,与所述分组处理单元及所述第一仿真单元相连接,用于对各所述测试向量组合中的差异时间段进行仿真。
13.根据权利要求10至12中任一项所述的时序仿真系统,其特征在于,所述测试向量包括用于测试或操作待测试芯片的数据,所述数据包括逻辑1和逻辑0。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至9中任一项所述的时序仿真方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的时序仿真方法的步骤。
16.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的时序仿真方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210338646.5A CN116933704A (zh) | 2022-04-01 | 2022-04-01 | 时序仿真方法、系统、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210338646.5A CN116933704A (zh) | 2022-04-01 | 2022-04-01 | 时序仿真方法、系统、计算机设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116933704A true CN116933704A (zh) | 2023-10-24 |
Family
ID=88377800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210338646.5A Pending CN116933704A (zh) | 2022-04-01 | 2022-04-01 | 时序仿真方法、系统、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116933704A (zh) |
-
2022
- 2022-04-01 CN CN202210338646.5A patent/CN116933704A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0878769A3 (en) | Method for verification of combinational circuits using a filtering oriented approach | |
US9304881B2 (en) | Trace routing network | |
US6052809A (en) | Method for generating test patterns | |
US7865795B2 (en) | Methods and apparatuses for generating a random sequence of commands for a semiconductor device | |
US6067652A (en) | Tester-compatible timing translation system and method using time-set partnering | |
Diaz-Fortuny et al. | TARS: A toolbox for statistical reliability modeling of CMOS devices | |
CN116298830A (zh) | 集成电路的验证方法及处理系统 | |
US20020147952A1 (en) | Diagnosis of combinational logic circuit failures | |
CN116933704A (zh) | 时序仿真方法、系统、计算机设备及可读存储介质 | |
US7328117B2 (en) | Apparatus, method and program for verifying asynchronous circuit | |
CN113466675B (zh) | 一种测试向量生成方法 | |
CN115421020A (zh) | 一种集成电路测试信号的生成方法与测试方法 | |
US7398506B2 (en) | Net list producing device producing a net list with an interconnection parasitic element by hierarchical processing | |
US20040098241A1 (en) | System and method for clock domain grouping using data path relationships | |
Banerjee et al. | Infant mortality tests for analog and mixed-signal circuits | |
WO2024065693A1 (zh) | 一种生成压缩测试向量的方法和装置 | |
CN111124897B (zh) | 一种可重用仿真接口模型的生成方法 | |
CN111366834B (zh) | 信号延时控制方法及装置、测试系统 | |
Miyazawa et al. | Efficient Test Generation Framework for Analog LSI with Behavior Model | |
JP2943521B2 (ja) | テストベクトル生成方法およびテストベクトル生成装置 | |
JP2009198288A (ja) | 半導体集積回路の検証装置 | |
JP2672893B2 (ja) | 故障シミュレーション処理装置 | |
JP2972499B2 (ja) | 論理回路遅延シミュレータ装置 | |
CN118072809A (zh) | 面向寄存器芯片的自检测方法和装置 | |
CN115587553A (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 |