仿真验证方法、装置、电子设备和计算机可读存储介质转让专利

申请号 : CN202011643837.X

文献号 : CN112613263B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄瑞锋

申请人 : 成都海光微电子技术有限公司

摘要 :

本申请提供了一种仿真验证方法、装置、电子设备和计算机可读存储介质,其中,该方法包括:根据待检测仿真报告,确定出该待检测仿真报告的时序弧路径中的电路元件组;对该电路元件组中的指定输入点进行钳位处理,以得到检测网表,该指定输入点为在该时序弧路径上;对该检测网表进行仿真,以得到核验报告;将该核验报告与该待检测仿真报告进行对比,以得到所述待检测仿真报告的验证结果。能够提高对第三方工具的时序分析报告的准确率识别效率。

权利要求 :

1.一种仿真验证方法,其特征在于,包括:

根据待检测仿真报告,确定出所述待检测仿真报告的时序弧路径中的电路元件组,所述电路元件组中包括一个或多个电路元件;

对所述电路元件组中各个电路元件的指定输入点进行钳位处理,以得到检测网表,所述指定输入点为在所述时序弧路径上的输入点;

对所述检测网表进行仿真,以得到核验报告;

将所述核验报告与所述待检测仿真报告进行对比,以得到所述待检测仿真报告的验证结果。

2.根据权利要求1所述的方法,其特征在于,所述对所述检测网表进行仿真,以得到核验报告,包括:生成所述电路元件组中的各个电路元件在所述时序弧路径上的输入点的量测语句;

根据所述量测语句和所述检测网表进行仿真,以得到核验报告。

3.根据权利要求1所述的方法,其特征在于,所述对所述电路元件组中各个电路元件的指定输入点进行钳位处理,以得到检测网表,包括:根据所述时序弧路径,以及所述电路元件组中的各个电路元件所包含的输入点,确定出每个电路元件的第一指定输入点;

根据每个电路元件的第一指定输入点对应的第一目标电压进行钳位处理,以得到检测网表。

4.根据权利要求1所述的方法,其特征在于,所述电路元件组为芯片单元,所述对所述电路元件组中各个电路元件的指定输入点进行钳位处理,以得到检测网表,包括:根据所述时序弧路径确定出所述芯片单元的第二指定输入点;

根据所述芯片单元对应的导通规则确定出所述第二指定输入点的第二目标电压;

根据所述第二目标电压对所述第二指定输入点进行钳位处理,以得到检测网表。

5.根据权利要求1‑4任意一项所述的方法,其特征在于,所述将所述核验报告与所述待检测仿真报告进行对比,以得到所述待检测仿真报告的验证结果,包括:计算所述待检测仿真报告中的第一总时延,与所述核验报告中的第二总时延的总时延误差;

当所述总时延误差小于第一预设值时,所述验证结果中包括所述待检测仿真报告的时延准确的验证项。

6.根据权利要求1‑4任意一项所述的方法,其特征在于,所述将所述核验报告与所述待检测仿真报告进行对比,以得到所述待检测仿真报告的验证结果,包括:计算所述待检测仿真报告中的各个电路元件间的第一时延,与所述核验报告中的各个电路元件间的第二时延的时延误差;

当所述时延误差小于第二预设值时,所述验证结果中包括所述待检测仿真报告的时延准确的验证项。

7.根据权利要求1‑4任意一项所述的方法,其特征在于,所述将所述核验报告与所述待检测仿真报告进行对比,以得到所述待检测仿真报告的验证结果,包括:计算所述待检测仿真报告中的各个电路元件的第一坡度,与所述核验报告中的对应的电路元件的第二坡度的坡度误差;

当所述坡度误差小于第三预设值时,所述验证结果中包括所述待检测仿真报告的波动准确的验证项。

8.一种仿真验证装置,其特征在于,包括:

路径确定模块,用于根据待检测仿真报告,确定出所述待检测仿真报告的时序弧路径中的电路元件组;

输入点钳位模块,用于对所述电路元件组中各个电路元件的指定输入点进行钳位处理,以得到检测网表,所述指定输入点为在所述时序弧路径上的输入点;

核验报告获取模块,用于对所述检测网表进行仿真,以得到核验报告;

报告对比模块,用于将所述核验报告与所述待检测仿真报告进行对比,以得到所述待检测仿真报告的验证结果。

9.一种电子设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一所述的方法的步骤。

10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任一所述的方法的步骤。

说明书 :

仿真验证方法、装置、电子设备和计算机可读存储介质

技术领域

[0001] 本申请涉及芯片设计技术领域,具体而言,涉及一种仿真验证方法、装置、电子设备和计算机可读存储介质。

背景技术

[0002] 目前电路的仿真一般是使用第三方工具进行仿真处理,可以得到时序分析报告。目前针对第三方工具仿真得到的时序分析报告,一般是采用相关技术人员通过经验分析时序分析报告,以确定第三方工具的分析是否准确,但是这种分析方式相对效率较低。

发明内容

[0003] 本申请的目的在于提供一种仿真验证方法、装置、电子设备和计算机可读存储介质,能够解决目前对第三方工具的时序分析报告的准确率的识别效率低的问题。
[0004] 第一方面,本发明提供一种仿真验证方法,包括:
[0005] 根据待检测仿真报告,确定出所述待检测仿真报告的时序弧路径中的电路元件组;
[0006] 对所述电路元件组中各个电路元件的指定输入点进行钳位处理,以得到检测网表,所述指定输入点为在所述时序弧路径上的输入点;
[0007] 对所述检测网表进行仿真,以得到核验报告;
[0008] 将所述核验报告与所述待检测仿真报告进行对比,以得到所述待检测仿真报告的验证结果。
[0009] 在可选的实施方式中,所述对所述检测网表进行仿真,以得到核验报告,包括:
[0010] 生成所述电路元件组中的各个电路元件在所述时序弧路径上的输入点的量测语句;
[0011] 根据所述量测语句和所述检测网表进行仿真,以得到核验报告。
[0012] 通过上述的实施方式,可以自动生成测量语句,可以更快地得到仿真所需的配置文件,从而可以提高验证报告所需的仿真的速度更快。
[0013] 在可选的实施方式中,所述对所述电路元件组中各个电路元件的指定输入点进行钳位处理,以得到检测网表,包括:
[0014] 根据所述时序弧路径,以及所述电路元件组中的各个电路元件所包含的输入点,确定出每个电路元件的第一指定输入点;
[0015] 根据每个电路元件的第一指定输入点对应的第一目标电压进行钳位处理,以得到检测网表。
[0016] 在上述实施方式中,通过指定电压对电路元件的非路径上的输入点进行钳位,从而可以使输入激励信号后,电路元件组能够按照时序弧路径导通。
[0017] 在可选的实施方式中,所述电路元件组为芯片单元,所述对所述电路元件组中各个电路元件的指定输入点进行钳位处理,以得到检测网表,包括:
[0018] 根据所述时序弧路径确定出所述芯片单元的第二指定输入点;
[0019] 根据所述芯片单元对应的导通规则确定出所述第二指定输入点的第二目标电压;
[0020] 根据所述第二目标电压对所述第二指定输入点进行钳位处理,以得到检测网表。
[0021] 在上述实施方式中,通过钳位的方式,使电路元件组形成的电路可以按照时序弧路径导通,从而可以满足对待检测仿真报告的验证需求。
[0022] 在可选的实施方式中,所述将所述核验报告与所述待检测仿真报告进行对比,以得到所述待检测仿真报告的验证结果,包括:
[0023] 计算所述待检测仿真报告中的第一总时延,与所述核验报告中的第二总时延的总时延误差;
[0024] 当所述总时延误差小于第一预设值时,所述验证结果中包括所述待检测仿真报告的时延准确的验证项。
[0025] 在可选的实施方式中,所述将所述核验报告与所述待检测仿真报告进行对比,以得到所述待检测仿真报告的验证结果,包括:
[0026] 计算所述待检测仿真报告中的各个电路元件间的第一时延,与所述核验报告中的各个电路元件间的第二时延的时延误差;
[0027] 当所述时延误差小于第二预设值时,所述验证结果中包括所述待检测仿真报告的时延准确的验证项。
[0028] 在可选的实施方式中,所述将所述核验报告与所述待检测仿真报告进行对比,以得到所述待检测仿真报告的验证结果,包括:
[0029] 计算所述待检测仿真报告中的各个电路元件的第一坡度,与所述核验报告中的对应的电路元件的第二坡度的坡度误差;
[0030] 当所述坡度误差小于第三预设值时,所述验证结果中包括所述待检测仿真报告的波动准确的验证项。
[0031] 在上述实施方式中,通过对报告中的各项参数进行对比,从而可以使对比结果更加直观。
[0032] 第二方面,本发明提供一种仿真验证装置,包括:
[0033] 路径确定模块,用于根据待检测仿真报告,确定出所述待检测仿真报告的时序弧路径中的电路元件组;
[0034] 输入点钳位模块,用于对所述电路元件组中各个电路元件的指定输入点进行钳位处理,以得到检测网表,所述指定输入点为在所述时序弧路径上的输入点;
[0035] 核验报告获取模块,用于对所述检测网表进行仿真,以得到核验报告;
[0036] 报告对比模块,用于将所述核验报告与所述待检测仿真报告进行对比,以得到所述待检测仿真报告的验证结果。
[0037] 第三方面,本发明提供一种电子设备,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如前述实施方式任一所述的方法的步骤。
[0038] 第四方面,本发明提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如前述实施方式任一所述的方法的步骤。
[0039] 本申请实施例的有益效果是:通过对待检测仿真报告中的电路元件进行提取,以提取得到的电路元件进行简化的仿真处理,可以得到核验报告,通过将两份报告进行对比,从而可以实现对待检测仿真报告的准确率进行核实,相比通过技术人员的经验分析时序分析报告,确定报告的准确率的方式,能够提高时序分析报告的效率。

附图说明

[0040] 为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0041] 图1为本申请实施例提供的电子设备的方框示意图。
[0042] 图2为本申请实施例提供的仿真验证方法的流程图。
[0043] 图3a为本申请实施例提供的一个实例中的时序弧路径示意图。
[0044] 图3b为图3a所示的时序弧路径对应钳位后的时序弧路径示意图。
[0045] 图4a为本申请实施例提供的另一个实例中的时序弧路径示意图。
[0046] 图4b为图4a所示的时序弧路径对应钳位后的时序弧路径示意图。
[0047] 图5为本申请实施例提供的仿真验证装置的功能模块示意图。

具体实施方式

[0048] 下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。
[0049] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0050] 实施例一
[0051] 为便于对本实施例进行理解,首先对执行本申请实施例所公开的仿真验证方法的电子设备进行详细介绍。
[0052] 如图1所示,是电子设备的方框示意图。电子设备100可以包括存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115、显示单元116。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对电子设备100的结构造成限定。例如,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
[0053] 上述的存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115及显示单元116各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。上述的处理器113用于执行存储器中存储的可执行模块。
[0054] 其中,存储器111可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read‑Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read‑Only Memory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read‑Only Memory,简称EEPROM)等。其中,存储器111用于存储程序,所述处理器113在接收到执行指令后,执行所述程序,本申请实施例任一实施例揭示的过程定义的电子设备100所执行的方法可以应用于处理器113中,或者由处理器113实现。
[0055] 上述的处理器113可能是一种集成电路芯片,具有信号的处理能力。上述的处理器113可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(digital signal processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0056] 本实施例中的电子设备100可以用于执行本申请实施例提供的各个方法中的各个步骤。下面通过几个实施例详细描述仿真验证方法的实现过程。
[0057] 实施例二
[0058] 请参阅图2,是本申请实施例提供的仿真验证方法的流程图。下面将对图2所示的具体流程进行详细阐述。
[0059] 步骤201,根据待检测仿真报告,确定出所述待检测仿真报告的时序弧路径中的电路元件组。
[0060] 本实施例中,上述的待检测仿真报告可以是通过静态时序分析工具对待仿真电路进行仿真后得到的时序分析报告。示例性地,该静态时序分析工具可以是synopsys公司的primetime工具等。
[0061] 可选地,一个电路元件组中可以包括一个或多个电路元件。
[0062] 可选地,该电路元件可以是基本单元,还可以是标准单元,也可以是芯片单元。
[0063] 示例性地,该基本单元可以是反相器、与门、寄存器、选择器、全加器等。一个标准单元可以包括一个或多个基本单元。一个芯片单元可以包括一个或多个标准单元。
[0064] 示例性地,该待检测仿真报告中包括电路中的一个点到另一个点的时序弧(timing arc)。
[0065] 在一个实例中,待识别的时序弧路径可以如图3a所示,待识别的时序弧路径为从起始点(Bg)至终点(End)。该实例中的待识别的时序弧路径从起始点(Bg)至终点(End)经过了D1、D2、D3、D4、D5五个点。其中,该时序弧上分布有多个标准单元,分布为:非门XI1、与非门XI2、或门XI3、或门XI4、与非门XI5、非门XI6。
[0066] 图3a所示的实例中的时序弧路径对应的待检测仿真报告可以如下表1所示:
[0067] 表1
[0068]
[0069]
[0070] 上述表1所示的实例中的待检测仿真报告中包括:路径身份识别码(Path ID)、起始点(Begin_point)以及终点(Begin_point)、时延(Timing)、增量(Increase,简称Incr)、坡度(Slope)、点(Point)。其中,表1中的Timing中的值表示从起始点到当前点的累计的时延,Incr中的值表示当前点的前一点到当前点的时延,Slope中的值表示当前点的信号上升或下降的坡度,Point中的值表示当前节点以及当前节点的信号上升或下降。其中,Point中的值中包括R时,则表示当前点的信号将上升,Point中的值中包括F时,则表示当前点的信号将下降。
[0071] 在一个实例中,待识别的时序弧路径可以如图4a所示,该待识别的时序弧路径可以是一块芯片单元中的两个点。该实例中,待识别的时序弧路径为从A点到Z点。此实例中,该时序弧中则仅有一个芯片单元。
[0072] 步骤202,对所述电路元件组中各个电路元件的指定输入点进行钳位处理,以得到检测网表。
[0073] 本实施例中,上述指定输入点为在所述时序弧路径上的输入点。
[0074] 本实施例中,通过将非时序弧路径上的输入点进行钳位处理,从而使电路元件组能够按照上述时序弧路径导通。
[0075] 本实施例中,上述检测网表中可以包括根据时序弧路径确定出的电路元件组、电路元件组中的各个电路元件的连接关系、电路元件组中的各个电路元件中未连接其它电路元件的各个输入点连接的钳位的电压。
[0076] 在一种实施方式中,步骤202可以包括:根据所述时序弧路径,以及所述电路元件组中的各个电路元件所包含的输入点,确定出每个电路元件的第一指定输入点;根据每个电路元件的第一指定输入点对应的第一目标电压进行钳位处理,以得到检测网表。
[0077] 在一个实例中,如图3a和3b所示,非门XI1包括两个输入点,其中一个输入点作为时序弧路径的起始点,另一个输入点与与非门XI2的一个输入点连接。与非门XI2包括三个输入点,其中两个输入点分别与非门XI1和或门XI3连接,与非门XI2的第三个输入点D12未在时序弧路径上。或门XI3包括三个输入点,其中两个输入点分别与非门XI2和或门XI4连接,或门XI3的第三个输入点D22未在时序弧路径上。或门XI4包括四个输入点,其中两个输入点分别与或门XI3和与非门XI5连接,或门XI4的第三个输入点D32和第四个输入点D33未在时序弧路径上。与非门XI5包括四个输入点,其中两个输入点分别与或门XI4和非门XI6连接,与非门XI5的第三个输入点D42和第四个输入点D43未在时序弧路径上。非门XI6包括两个输入点,其中一个输入点作为时序弧路径的终点,另一个输入点与与非门XI5的一个输入点连接。
[0078] 在图3a和3b所示的实例中,指定输入点则包括:与非门XI2的第三个输入点D12、或门XI3的第三个输入点D22、或门XI4的第三个输入点D32和第四个输入点D33、与非门XI5的第三个输入点D42和第四个输入点D43。
[0079] 在上述实例中,第一目标电压则为与非门XI2的第三个输入点D12、或门XI3的第三个输入点D22、或门XI4的第三个输入点D32和第四个输入点D33、与非门XI5的第三个输入点D42和第四个输入点D43中各个输入点所需电压。因此,可以将输入点D12钳位到VDD,将输入点D22钳位到VSS,将输入点D32和输入点D33钳位到VSS,将输入点D42和输入点D43钳位到VDD。
[0080] 在一种实施方式中,对于内部结构未知的芯片单元而言,可能难以基于内部结构中的标准单元确定出需要钳位的点。在此,基础上可以根据该芯片单元的工作原理说明书,确定出各个输出点所需接入的电压。可选地,在此实施方式中,步骤202可以包括:根据所述时序弧路径确定出所述芯片单元的第二指定输入点;根据所述芯片单元对应的导通规则确定出所述第二指定输入点的第二目标电压;根据所述第二目标电压对所述第二指定输入点进行钳位处理,以得到检测网表。
[0081] 可选地,芯片单元对应的导通规则可以存储在芯片单元关联的工作原理说明书中。示例性地,该工作原理说明书中可以包括芯片单元中的管脚、各个管脚的作用、各个管脚的工作原理、各个管脚的导通规则等。
[0082] 示例性地,每一份芯片单元可以关联存储工作原理说明书。
[0083] 在另一实例中,如图4a和4b所示,未知的芯片单元IP,该芯片单元IP包括输入点A、输入点B、输入点C、输入点D以及输入点E。例如,时序弧路径可以是由芯片单元IP的输入点A至输入点Z。因此,在此实例中,芯片单元的指定输入点为:输入点B、输入点C、输入点D。再例如,时序弧路径可以是由芯片单元IP的输入点B至输入点Z。因此,在此实例中,芯片单元的指定输入点为:输入点A、输入点C、输入点D。
[0084] 当时序弧路径可以是由芯片单元IP的输入点A至输入点Z时,第二目标电压则为输入点B、输入点C、输入点D所需电压。
[0085] 可选地,则可以根据芯片单元IP对应的导通规则,确定出输入点B、输入点C、输入点D的第二目标电压。可以根据芯片单元IP的电路功能,钳位输入点B、输入点C、输入点D的电压。例如,通过将输入点B和输入点C钳位至VDD,输入点D和输入点E钳位至VSS,可以使芯片单元IP的输入点A与输入点Z导通,则可以将输入点B和输入点C钳位至VDD,输入点D和输入点E钳位至VSS。
[0086] 通过钳位处理,基于电路元件组和电路元件中的各个电路元件所接的电压,从而可以得到检测网表。
[0087] 步骤203,对所述检测网表进行仿真,以得到核验报告。
[0088] 本实施例中,为了方便对检测网表进行仿真,可以根据需求生成所需的量测语句。
[0089] 可选地,步骤203可以包括:生成所述电路元件组中的各个电路元件在所述时序弧路径上的输入点的量测语句;根据所述量测语句和所述检测网表进行仿真,以得到核验报告。
[0090] 在上述图3a和3b所示的实例中,生成的量测语句可以为:起始点Bg rise 50%VDD到输入点D1 fall 50%VDD的量测语句、输入点D1 fall 50%VDD到输入点D2 rise 50%VDD的量测语句、输入点D2 rise 50%VDD到输入点D3 fall 50%VDD的量测语句、…、输入点D5 fall 50%VDD到End rise 50%VDD的量测语句。
[0091] 以上述表1为例,基于表1进行分析得到的电路元件组进行仿真得到的核验报告,可以如下表2所示:
[0092] 表2
[0093]Timing Incr Slope Point
0.0 0.0 12.5 R Bg
9.2 9.2 15.8 F D1
19.8 10.6 17.0 R D2
33.7 13.9 14.9 F D3
42.3 8.6 14.2 R D4
55.2 12.9 10.2 F D5
69.2 14.0 18.9 R End
[0094] 在上述表2所示的实例中,核验报告中包括:时延(Timing)、增量(Increase,简称Incr)、坡度(Slope)、点(Point)。其中,表2中的Timing中的值表示从起始点到当前点的累计的时延,Incr中的值表示当前点的前一点到当前点的时延,Slope中的值表示当前点的信号上升或下降的坡度,Point中的值表示当前节点以及当前节点的信号上升或下降。其中,Point中的值中包括R时,则表示当前点的信号将上升,Point中的值中包括F时,则表示当前点的信号将下降。
[0095] 步骤204,将所述核验报告与所述待检测仿真报告进行对比,以得到所述待检测仿真报告的验证结果。
[0096] 示例性地,该验证结果中可以包括多项验证项。
[0097] 本实施例中,可以对核验报告中的时延与待检测仿真报告的时延进行对比,也可以对核验报告中的坡度与待检测仿真报告的坡度进行对比。针对时延的对比可以得到一项或多项验证项,针对坡度的对比也可以得到一项或多项验证项。
[0098] 可选地,步骤204可以包括:计算所述待检测仿真报告中的第一总时延,与所述核验报告中的第二总时延的总时延误差;当所述总时延误差小于第一预设值时,所述验证结果中包括所述待检测仿真报告的时延准确的验证项。
[0099] 示例性地,当所述总时延误差不小于第一预设值时,所述验证结果中包括待检测仿真报告的时延不准确的验证项。
[0100] 该第一总时延可以是待检测仿真报告中所有电路元件的时延的总和。该第二总时延可以是核验报告中所有电路元件的时延的总和。
[0101] 在表1和表2所示的实例中,第一总时延为66.6ps,第二总时延为69.2ps。
[0102] 可选地,第一总时延与第二总时延的总时延误差可以为2.6ps。示例性地,上述的第一预设值可以为10ps、9ps、8ps等值。因此,在表1和表2所示的实例中,待检测仿真报告的检测结果为总时延准确。
[0103] 可选地,第一总时延与第二总时延的总时延误差可以为3.9%。示例性地,上述的第一预设值可以为6%、9%、7%等值。因此,在表1和表2所示的实例中,待检测仿真报告的检测结果为总时延准确。
[0104] 可选地,步骤204可以包括:计算所述待检测仿真报告中的各个电路元件间的第一时延,与所述核验报告中的各个电路元件间的第二时延的时延误差;当所述时延误差小于第二预设值时,所述验证结果中包括所述待检测仿真报告的时延准确的验证项。
[0105] 示例性地,当所述时延误差不小于第二预设值时,所述验证结果中包括所述待检测仿真报告的时延不准确的验证项。
[0106] 在表1和表2所示的实例中,各个电路元件对应的第一时延分别为:8.9、10.3、13.3、8.4、11.9、13.8;各个电路元件对应的第二时延分别为:9.2、10.6、13.9、8.6、12.9、
14.0。
[0107] 示例性地,第一时延与第二时延的时延误差则可以是所有对应的时延差值的总和。
[0108] 可选地,步骤204可以包括:计算所述待检测仿真报告中的各个电路元件的第一坡度,与所述核验报告中的对应的电路元件的第二坡度的坡度误差;当所述坡度误差小于第三预设值时,所述验证结果中包括所述待检测仿真报告的波动准确的验证项。
[0109] 示例性地,当所述坡度误差不小于第三预设值时,所述验证结果则包括待检测仿真报告的波动不准确的验证项。
[0110] 在表1和表2所示的实例中,各个电路元件对应的第一坡度分别为:12.0、15.2、16.1、14.6、12.7、9.9、18.0;各个电路元件对应的第二坡度分别为:12.5、15.8、17.0、14.9、
14.2、10.2、18.9。
[0111] 示例性地,第一坡度与第二坡度的坡度误差,可以是所有电路元件对应的坡度差值的总和。
[0112] 例如,该坡度误差可以表示为:(12.0‑12.5)+(15.2‑15.8)+(16.1‑17.0)+(14.6‑14.9)+(12.7‑14.2)+(9.9‑10.2)+(18.0‑18.9)。
[0113] 示例性地,第一坡度与第二坡度的坡度误差,也可以是所有电路元件对应的坡度比值的总和。
[0114] 例如,该坡度误差可以表示为:12.0/12.5+15.2/15.8+16.1/17.0+14.6/14.9+12.7/14.2+9.9/10.2+18.0/18.9。
[0115] 示例性地,计算所述待检测仿真报告中的各个电路元件的第一坡度,与所述核验报告中的对应的电路元件的第二坡度的坡度误差可以包括:计算各个电路元件对应的第一坡度与第二坡度的坡度差值;计算该坡度差值与对应电路元件的第二坡度的坡度比值;计算所有电路元件的坡度比值之后,得到坡度误差。
[0116] 例如,该坡度误差可以表示为:(12.0‑12.5)/12.5+(15.2‑15.8)/15.8+(16.1‑17.0)/17.0+(14.6‑14.9)/14.9+(12.7‑14.2)/14.2+(9.9‑10.2)/10.2+(18.0‑18.9)/
18.9。
[0117] 可选地,上述的第一预设值、第二预设值和第三预设值可以是按照需求设置的一个值。
[0118] 示例性地,验证结果可以包括待检测仿真报告与核验报告中的各项参数的对比结果。
[0119] 在本申请实施例提供的仿真验证方法,通过对待检测仿真报告中的电路元件进行提取,以提取得到的电路元件进行简化的仿真处理,可以得到核验报告,通过将两份报告进行对比,从而可以实现对待检测仿真报告的准确率进行核实,相比通过技术人员的经验分析时序分析报告,确定报告的准确率的方式,能够提高时序分析报告的效率。
[0120] 实施例三
[0121] 基于同一申请构思,本申请实施例中还提供了与仿真验证方法对应的仿真验证装置,由于本申请实施例中的装置解决问题的原理与前述的仿真验证方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。
[0122] 请参阅图5,是本申请实施例提供的仿真验证装置的功能模块示意图。本实施例中的仿真验证装置中的各个模块用于执行上述方法实施例中的各个步骤。仿真验证装置包括:路径确定模块301、输入点钳位模块302、核验报告获取模块303以及报告对比模块304;其中,
[0123] 路径确定模块301,用于根据待检测仿真报告,确定出所述待检测仿真报告的时序弧路径中的电路元件组;
[0124] 输入点钳位模块302,用于对所述电路元件组中各个电路元件的指定输入点进行钳位处理,以得到检测网表,所述指定输入点为在所述时序弧路径上的输入点;
[0125] 核验报告获取模块303,用于对所述检测网表进行仿真,以得到核验报告;
[0126] 报告对比模块304,用于将所述核验报告与所述待检测仿真报告进行对比,以得到所述待检测仿真报告的验证结果。
[0127] 一种可能的实施方式中,核验报告获取模块303,用于:
[0128] 生成所述电路元件组中的各个电路元件在所述时序弧路径上的输入点的量测语句;
[0129] 根据所述量测语句和所述检测网表进行仿真,以得到核验报告。
[0130] 一种可能的实施方式中,输入点钳位模块302,用于:
[0131] 根据所述时序弧路径,以及所述电路元件组中的各个电路元件所包含的输入点,确定出每个电路元件的第一指定输入点;
[0132] 根据每个电路元件的第一指定输入点对应的第一目标电压进行钳位处理,以得到检测网表。
[0133] 一种可能的实施方式中,输入点钳位模块302,用于:
[0134] 所述电路元件组为芯片单元,所述对所述电路元件组中各个电路元件的指定输入点进行钳位处理,以得到检测网表,包括:
[0135] 根据所述时序弧路径确定出所述芯片单元的第二指定输入点;
[0136] 根据所述芯片单元对应的导通规则确定出所述第二指定输入点的第二目标电压;
[0137] 根据所述第二目标电压对所述第二指定输入点进行钳位处理,以得到检测网表。
[0138] 一种可能的实施方式中,报告对比模块304,用于:
[0139] 计算所述待检测仿真报告中的第一总时延,与所述核验报告中的第二总时延的总时延误差;
[0140] 当所述总时延误差小于第一预设值时,所述验证结果中包括所述待检测仿真报告的时延准确的验证项。
[0141] 一种可能的实施方式中,报告对比模块304,用于:
[0142] 计算所述待检测仿真报告中的各个电路元件间的第一时延,与所述核验报告中的各个电路元件间的第二时延的时延误差;
[0143] 当所述时延误差小于第二预设值时,所述验证结果中包括所述待检测仿真报告的时延准确的验证项。
[0144] 一种可能的实施方式中,报告对比模块304,用于:
[0145] 计算所述待检测仿真报告中的各个电路元件的第一坡度,与所述核验报告中的对应的电路元件的第二坡度的坡度误差;
[0146] 当所述坡度误差小于第三预设值时,所述验证结果中包括所述待检测仿真报告的波动准确的验证项。
[0147] 此外,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的仿真验证方法的步骤。
[0148] 本申请实施例所提供的仿真验证方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的仿真验证方法的步骤,具体可参见上述方法实施例,在此不再赘述。
[0149] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0150] 另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0151] 所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0152] 以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0153] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。