CN112417798A - 一种时序测试方法、装置、电子设备及存储介质 - Google Patents
一种时序测试方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112417798A CN112417798A CN202011368194.2A CN202011368194A CN112417798A CN 112417798 A CN112417798 A CN 112417798A CN 202011368194 A CN202011368194 A CN 202011368194A CN 112417798 A CN112417798 A CN 112417798A
- Authority
- CN
- China
- Prior art keywords
- time sequence
- circuit
- test
- netlist
- simulation result
- 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
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
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- 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/323—Translation or migration, e.g. logic to logic, hardware description language [HDL] translation or netlist translation
-
- 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
技术领域
本申请属于计算机领域,具体涉及一种时序测试方法、装置、电子设备及存储介质。
背景技术
集成电路的验证大多是模块级功能验证,即验证集成电路里每一个具体的IP(intellectual property)模块,例如PCIe(Peripheral Component Interconnectexpress),DDR(Double Data Rate)的实现是否符合协议标准。其中,所谓IP模块是一种预先设计好的甚至已经过验证的具有某种确定功能的集成电路、器件或部件。对于IP(intellectual property)模块而言,时序正确是保证其功能正常且性能达标的首要参数。相反时序违例轻则影响性能,使IP模块达不到预期速度,重则导致功能错误,导致下游和上层功能错误。时序违例一般会带来几种不期望的效应:1)电路出现亚稳态;2)电路延时增加导致性能下降;3)电路中信号翻转错误导致功能错误。
因此诸多设计公司、各大电子设计自动化(Electronic Design Automation,EDA)厂商都设计出大量的质量保证(Quality Assurance,QA)方法和抽象模型,来模拟电路时序并检查所模拟的时序结果的正确性。而全速时序测试(Full Speed QA)作为IP模块验证时序的一种常用方式,对于目前的Full Speed QA,较为普遍的做法是利用基于IP模块本身提取的时序参数形成严格时序激励,并将其载到IP模块对应的电路网表上,以松散时序作为验证标准,观察跟踪部分信号在指定其时间点或时间段的变化,以此检查IP模块的功能和性能是否达到设计预期、是否达到系统对IP模块的要求。
目前的Full Speed QA将松散时序的仿真结果视为正确标杆。这就需要工程师事先确保松散时序的输出正确,并且需要工程师确保门级电路的功能完全正确;同时由于在测试时,需要将严格时序和松散时序分两次进行仿真,最后再将严格时序的仿真结果与松散时序的仿真结果进行比对,以松散时序的仿真结果作为正确标准,检查严格时序中的错误和性能损失,使得测试所需的时间较长,时效率性差。
发明内容
鉴于此,本申请的目的在于提供一种时序测试方法、装置、电子设备及存储介质,以改善现有时序测试方式的时效性差的问题。
本申请的实施例是这样实现的:
第一方面,本申请实施例提供了一种时序测试方法,包括:获取待测试电路对应的门级电路网表和后仿网表;获取所述待测试电路对应的测试文件以及时序参数文件;基于所述测试文件、所述时序参数文件对所述门级电路网表进行仿真,得到激励向量;基于所述测试文件、所述激励向量对所述后仿网表进行仿真,得到仿真结果;基于所述仿真结果与所述激励向量确定所述待测试电路的时序是否通过测试。本申请实施例中,以门级电路网表仿真结果(激励向量)作为标准文件,使用其与后仿仿真的仿真结果来对待测试电路的时序进行验证,相比于现有的以松散时序的仿真结果作为正确标准的时序测试方法来说,无需将严格时序和松散时序分两次输入分别对后仿网表进行仿真,大大提高了测试的时效性,且也无需确保松散时序的输出正确,从而简化了测试流程。
结合第一方面实施例的一种可能的实施方式,基于所述测试文件、所述时序参数文件对所述门级电路网表进行仿真,包括:将所述测试电路中的内部网络节点虚拟成与输入端口、输出端口同一层级的外部端口,添加到所述门级电路网表中,并按照该内部网络节点在所述后仿网表中的名称进行命名;基于所述测试文件、所述时序参数文件对修改后的门级电路网表进行仿真,得到包含输入端口、输出端口以及所述内部网络节点的全波形信息的激励向量。在本申请实施例中,通过将内部网络节点虚拟成与输入端口、输出端口同一层级的外部端口,并按照该内部网络节点在后仿网表中的名称进行命名,将其加入门级电路网表中,通过将门级电路网表中的内部网络节点上浮至顶层,使其与门级电路网表中的输入端口以及输出端口位于同一层级,这样便可直接将内部网络节点产生的波形信号提取出来,实现信号的全覆盖,使得最终产生的激励向量包含输入端口、输出端口以及内部网络节点的全波形信息。
结合第一方面实施例的一种可能的实施方式,基于所述仿真结果与所述激励向量确定所述待测试电路的时序是否通过测试,包括:将所述仿真结果中的输出端口的时序与所述激励向量中的该输出端口的时序进行比较,以及将所述仿真结果中的内部网络节点的时序与所述激励向量中的该内部网络节点的时序进行比较;其中,所述仿真结果中的输出端口的时序与所述激励向量中的该输出端口的时序一致,且所述仿真结果中的内部网络节点的时序与所述激励向量中的该内部网络节点的时序一致,则表征所述待测试电路的时序通过测试。在本申请实施例中,通过将所述仿真结果中的输出端口的时序与所述激励向量中的该输出端口的时序进行比较,以及将所述仿真结果中的内部网络节点的时序与所述激励向量中的该内部网络节点的时序进行比较,使得在基于仿真结果与激励向量确定待测试电路的时序是否通过测试时,不再限于仅检查输出端口的功能和性能,同时可检查电路内部关键路径的时序和性能,增强了时序测试的准确性。
结合第一方面实施例的一种可能的实施方式,将所述仿真结果中的输出端口的时序与所述激励向量中的该输出端口的时序进行比较,以及将所述仿真结果中的内部网络节点的时序与所述激励向量中的该内部网络节点的时序进行比较,包括:根据所述激励向量中的输入使能信号确定时间窗口;将位于同一个所述时间窗口内的所述仿真结果中的输出端口的时序与所述激励向量中的该输出端口的时序进行比较,以及将位于同一个所述时间窗口内的所述仿真结果中的内部网络节点的时序与所述激励向量中的该内部网络节点的时序进行比较。在本申请实施例中,由于仿真结果中的波形信号与激励向量中的波形信号各自趋于稳定所需的时间并不一致,为了保证两者都是在稳定的状态下进行比对,通过引入时间窗口概念,来保证两者都是在稳定的状态下进行比对,以提高测试的准确性。
结合第一方面实施例的一种可能的实施方式,基于所述仿真结果与所述激励向量确定所述待测试电路的时序是否通过测试之后,所述方法还包括:再次对所述待测试电路的时序进行测试;基于前后两次测试的测试结果确定所述待测试电路的时序是否通过测试。在本申请实施例中,通过再次对所述待测试电路的时序进行测试,然后基于前后两次测试的测试结果确定所述待测试电路的时序是否通过测试,以进一步提高测试的准确性。
结合第一方面实施例的一种可能的实施方式,再次对所述待测试电路的时序进行测试,包括:对所述激励向量进行预处理,生成时序相较于所述激励向量的时序更为松散的松散时序激励向量;基于所述测试文件、所述松散时序激励向量对所述后仿网表进行仿真,得到第二仿真结果;基于所述仿真结果与所述第二仿真结果确定所述待测试电路的时序是否通过测试。在本申请实施例中,通过对激励向量进行预处理,生成时序相较于激励向量的时序更为松散的松散时序激励向量,并以此对后仿网表进行仿真,得到第二仿真结果,并基于仿真结果与第二仿真结果确定待测试电路的时序是否通过测试,通过采用不同的方式来验证待测试电路的时序,在保证测试的可靠性的同时,增强了方案的灵活性。
结合第一方面实施例的一种可能的实施方式,获取待测试电路对应的门级电路网表和后仿网表,包括:获取所述待测试电路;根据所述待测试电路生成所述门级电路网表和所述后仿网表。本申请实施例中,根据获取到的待测试电路来生成门级电路网表和后仿网表,基于实时的方式来获得门级电路网表和后仿网表,可以保证生成门级电路网表和后仿网表的可靠性。
第二方面,本申请实施例还提供了一种时序测试装置包括:获取模块、处理模块;获取模块,用于获取待测试电路对应的门级电路网表和后仿网表,以及获取所述待测试电路对应的测试文件以及时序参数文件;处理模块,用于基于所述测试文件、所述时序参数文件对所述门级电路网表进行仿真,得到激励向量,以及基于所述测试文件、所述激励向量对所述后仿网表进行仿真,得到仿真结果;所述处理模块,还用于基于所述仿真结果与所述激励向量确定所述待测试电路的时序是否通过测试。
第三方面,本申请实施例还提供了一种电子设备,包括:存储器和处理器,所述处理器与所述存储器连接;所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
第四方面,本申请实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1为现有的全速时序测试的流程示意图。
图2示出了本申请实施例提供的一种时序测试方法的流程示意图。
图3示出了本申请实施例提供的一种提取内部网络节点的波形信号的示意图。
图4示出了本申请实施例提供的一种基于时间窗口进行时序比对的示意图。
图5示出了本申请实施例提供的一种时序测试装置的模块框图。
图6示出了本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
鉴于目前基于IP模块的全速时序测试(Full Speed QA)是将松散时序的仿真结果作为严格时序的仿真结果的检查标准,这就需要工程师事先确保松散时序的输出正确,并且需要工程师确保门级电路的功能完全正确,才能确保测试的准确性;同时由于在测试时,需要将严格时序和松散时序分两次进行仿真,最后再将严格时序的仿真结果与松散时序的仿真结果进行比对,以松散时序的仿真结果作为正确标准,检查严格时序中的错误和性能损失,使得测试所需的时间较长,时效率性差。其中,图1为基于IP模块的一种典型的全速时序测试(Full Speed QA)的流程示意图。
基于此,本申请实施例提供了一种时序测试方法,该方法以门级电路网表(如verilog网表)仿真作为标准文件,使用其与后仿仿真进行验证,相比于现有的以松散时序的仿真结果作为正确标准的时序测试方法来说,无需将严格时序和松散时序分两次输入分别对后仿网表进行仿真,大大提高了测试的时效性,其无需事先确保松散时序的输出正确。为了便于理解,下面将结合图2,对本申请实施例提供的时序测试方法进行说明。
步骤S101:获取待测试电路对应的门级电路网表和后仿网表。
在需要对待测试电路的时序进行测试时,获取待测试电路对应的门级电路网表(如verilog网表)和后仿网表(如带有寄生参数的spice网表)。
其中,一种实施方式下,获取的待测试电路对应的门级电路网表和后仿网表,可以是事先就获取好后存储到数据库或者磁盘中的,在需要获取时,直接从中获取即可,通过事先将各种测试电路对应的门级电路网表和后仿网表备好,从而可以加快测试速度。也即在该种实施方式下,直接从数据库或者磁盘中获取待测试电路对应的门级电路网表和后仿网表。
又一种实施方式下,获取待测试电路对应的门级电路网表和后仿网表可以是实时获取的,其过程可以是:获取待测试电路,根据待测试电路生成门级电路网表和后仿网表。
其中,根据测试电路生成门级电路网表和仿真电路网表的具体过程已经为本领域技术人员所熟知,在此不再进行介绍。
步骤S102:获取所述待测试电路对应的测试文件以及时序参数文件。
除了获取待测试电路对应的门级电路网表和后仿网表外,还需要获取时序测试时所需的测试文件以及时序参数文件。
其中,获取的待测试电路对应的测试文件(test bench)以及时序参数文件,可以是事先就获取好后存储到数据库或者磁盘中的,在需要获取时,直接从中获取即可。也可以是实时获得的,例如,在需要获取待测试电路对应的时序参数文件时,从待测试电路中提取出时序参数文件。时序参数提取包括但不限于利用静态时序分析(Static TimingAnalysis,STA)工具、后仿仿真、前仿仿真附加反标等方式提取时序参数。
待测试电路对应的测试文件(为脚本文件)需要根据测试的行为、功能去撰写的,需要覆盖设计规范文件(SPEC文件)对电路功能的所有要求,并且端口时序需要是严格时序。例如,可以根据待测试电路的门级电路网表、SPEC文件、标准设计约束(StandardDesign Constraints,SDC)文件(为设计中的约束文件,它对电路的时序,面积,功耗进行约束,决定了芯片是否满足设计要求的规范),得到待测试电路的对应的测试文件。例如,将待测试电路的门级电路网表、SPEC文件、SDC约束文件输入电子设计自动化(ElectronicDesign Automation,EDA)工具(如prime time),配合脚本处理后,便可输出该待测试电路的用于对仿真流程起控制作用的测试文件。
其中,上述的时序参数文件指所有包含但不限于数据和使能端口的准备时间(setup time)、保持时间(hold time)、周期(cycle time)、CCS(Composite CurrentSource)/ECS(Effective Current Source)信息、功耗信息的时序文件格式,其格式包含但不限于.lib文件、.sdf文件、.cdb文件。
步骤S103:基于所述测试文件、所述时序参数文件对所述门级电路网表进行仿真,得到激励向量。
在获取到待测试电路对应的测试文件、时序参数文件、门级电路网表后,便可基于测试文件、时序参数文件对门级电路网表进行仿真,得到激励向量,例如,将待测试电路的门级电路网表、测试文件、时序参数文件输入电子设计自动化(Electronic DesignAutomation,EDA)工具(如prime time)中进行处理,便可得到该激励向量。
其中,为了能使该激励向量包含输入端口、输出端口以及内部网络节点的全波形信息,实现信号的全覆盖跟踪。一种实施方式下,在基于所述测试文件、所述时序参数文件对所述门级电路网表进行仿真时,还可以先对门级电路网表进行修改,然后再基于所述测试文件、所述时序参数文件对修改后的所述门级电路网表进行仿真,其过程可以是:先对门级电路网表进行修改,将所述测试电路中的内部网络节点虚拟成与输入端口、输出端口同一层级的外部端口,添加到所述门级电路网表中,并按照该内部网络节点在所述后仿网表中的名称进行命名,然后再基于所述测试文件、所述时序参数文件对修改后的门级电路网表进行仿真,得到包含输入端口、输出端口以及所述内部网络节点的全波形信息的激励向量。通过将内部网络节点上浮至顶层作为IP的虚拟端口,使用verilog连续赋值语句,在内部网络节点和虚拟端口间建立一个连接,并将虚拟端口附加到初始的门级电路网表的端口列表中,并按照该内部网络节点在后仿网表中的名称对该虚拟端口进行命名,以保证后续在进行时序比对时,以便将相同命名的端口进行比对。通过将门级电路网表中的内部网络节点上浮至顶层,使其与门级电路网表中的输入端口以及输出端口位于同一层级,这样便可直接将内部网络节点产生的波形信号提取出来,实现信号的全覆盖,使得最终产生的激励向量包含输入端口、输出端口以及内部网络节点的全波形信息。
其中,由于门级verilog网表大部分信号和后仿网表信号相同,少部分信号因处在底层单元中,底层单元一般由寄存器传输级(Register Transfer Level,RTL)直接描述行为,没有与电路对应的信号),因此,可以将这部分信号直接拉出到顶层作为IP的虚拟端口,以检查其波形,其示意图如图3所示。从图3中可以看出,将内部网络节点NC、ND以及NQ上浮至顶层作为IP的虚拟端口,并在内部网络节点和虚拟端口间建立一个连接,以保证时序的正确性。
步骤S104:基于所述测试文件、所述激励向量对所述后仿网表进行仿真,得到仿真结果。
在得到该激励向量后,将其作为后仿网表的输入激励,并基于测试文件对后仿网表进行后仿真(为严格时序仿真),便可得到仿真结果,也即在得到该激励向量后,将测试文件、激励向量以及后仿网表输入电子设计自动化(Electronic Design Automation,EDA)工具(如prime time)中进行处理,便可得到该仿真结果。
其中,所谓后仿真是针对mos管级的网表仿真,并且考虑了mos寄生效应和互连线电阻电容等寄生参数在内的仿真,其结果可以判断时序是否正确。
步骤S105:基于所述仿真结果与所述激励向量确定所述待测试电路的时序是否通过测试。
在得到仿真结果后,基于该仿真结果与激励向量确定待测试电路的时序是否通过测试。
由于通过对门级电路网表进行修改,使得该激励向量可以包含输入端口、输出端口以及内部网络节点的全波形信息,因此,本申请中,在基于该仿真结果与激励向量确定待测试电路的时序是否通过测试时,使得检查不仅限于输出端口的功能和性能,同时可检查电路内部关键路径的时序和性能。因此一种可选实施方式下,基于该仿真结果与激励向量确定待测试电路的时序是否通过测试的过程可以是:将仿真结果中的输出端口的时序与激励向量中的该输出端口的时序进行比较,以及将仿真结果中的内部网络节点的时序与所激励向量中的该内部网络节点的时序进行比较,其中,仿真结果中的输出端口的时序与激励向量中的该输出端口的时序一致,且仿真结果中的内部网络节点的时序与激励向量中的该内部网络节点的时序一致,则表征待测试电路的时序通过测试。其中,在比较时,是以激励向量作为检查标准,查看仿真结果中是否存在测量错误和功能错误,以此验证时序参数的正确性。
其中,需要说明的是,在比较时,只要在误差允许范围内,便可认为一致,例如,仿真结果中的A端口的时序与激励向量中该A端口的时序的误差在允许范围内,则认为两者的时序一致。
由于仿真结果中的波形信号与激励向量中的波形信号各自趋于稳定所需的时间并不一致,为了保证两者都是在稳定的状态下进行比对,本申请实施例中,通过引入时间窗口概念,来保证两者都是在稳定的状态下进行比对,以提高测试的准确性。一种实施方式下,将所述仿真结果中的输出端口的时序与所述激励向量中的该输出端口的时序进行比较,以及将所述仿真结果中的内部网络节点的时序与所述激励向量中的该内部网络节点的时序进行比较的过程可以是:根据所述激励向量中的输入使能信号确定时间窗口,将位于同一个所述时间窗口内的所述仿真结果中的输出端口的时序与所述激励向量中的该输出端口的时序进行比较,以及将位于同一个所述时间窗口内的所述仿真结果中的内部网络节点的时序与所述激励向量中的该内部网络节点的时序进行比较。为了便于理解以图4所示的在激励向量和波形文件上套用检查窗口的示意图进行说明。从图上可以看出,在输入使能信号的上升沿或下降沿的初期,激励向量以及仿真结果中的波形信号都不稳定,需要一段时间后才趋于稳定,因此在输入使能信号的上升沿到来一段时间,以及下降沿到来一段时间后,才进行比较,也即在比较时,仅对位于时间窗口这个时间段的信号进行比对。其中,确定时间窗口的输入使能信号可以是激励向量中的任意一输入使能信号。
此外,通常在现有技术中,在进行时序比较时,为提高测试的时效性,并不会每个周期都对关键信号加以测量和对比,这样就可能会错过一些毛刺信号的发现,而毛刺可能会引起信号的多次翻转,引起亚稳态问题,毛刺翻转同时带来不期望的功耗。因此,为了解决这一问题,本申请实施例中,在所述激励向量中的输入使能信号的每一周期都确定一时间窗口,在每一个周期都将位于同一个所述时间窗口内的所述仿真结果中的输出端口的时序与所述激励向量中的该输出端口的时序进行比较,以及将位于同一个所述时间窗口内的所述仿真结果中的内部网络节点的时序与所述激励向量中的该内部网络节点的时序进行比较,从而实现对信号连续跟踪,以尽可能的检查出毛刺信号。
在本申请实施例所示的时序测试方法中,门级电路网表(如verilog网表)仿真作为标准文件,查看仿真结果中是否存在测量错误和功能错误,以此验证时序参数的正确性。此外,该后仿网表也可以用于检验该门级电路网表的功能。由于门级网表会传递给整个芯片设计下游团队去做其他验证,需要保证他的准确性,因此在后续验证中又可以以后仿网表作为标准,来验证门级网表的功能。其中,虽然门级网表和后仿网表都来自于物理级的电路(后仿带有来自于版图的寄生参数),但不能完全保证门级网表在抽取或产生时没有问题和错误,因此可以用后仿反向验证门级网表,以实现两者的交叉验证。
为了进一步提高测试的准确性,可以再次对待测试电路的时序进行测试,并基于前后两次测试的测试结果确定所述待测试电路的时序是否通过测试,也即一种实施方式下,在基于所述仿真结果与所述激励向量确定所述待测试电路的时序是否通过测试之后,所述方法还包括:再次对所述待测试电路的时序进行测试;基于前后两次测试的测试结果确定所述待测试电路的时序是否通过测试。若前后两次测试的测试结果均为通过,则待测试电路的时序通过测试,否则需要进一步分析失效原因,然后修正后,继续进行测试。
其中,再次对待测试电路的时序进行测试一种实施方式下,可以采用上述的方式对待测试电路的时序进行测试,也即重复上述的步骤。当然也可以是采用不同于上述的方式进行验证,例如,一种实施方式下,再次对所述待测试电路的时序进行测试的过程可以是:对所述激励向量进行预处理,生成时序相较于所述激励向量的时序更为松散的松散时序激励向量,基于所述测试文件、所述松散时序激励向量对所述后仿网表进行仿真,得到第二仿真结果,基于所述仿真结果与所述第二仿真结果确定所述待测试电路的时序是否通过测试。也即可以采用松散时序的仿真结果(第二仿真结果)作为验证标准,以此检查严格时序中的错误和性能损失。其中,在得到激励向量后,对其进行预处理,例如,可以对激励向量中的每个时序信息都乘以一个足够大的倍数,使信号间不会因为时序而出现时序违例和IP功能错误,从而得到时序相较于该激励向量的时序更为松散的松散时序激励向量,然后再基于测试文件、松散时序激励向量对后仿网表进行仿真(松散时序仿真),然后再基于严格时序仿真的仿真结果以及松散时序的仿真结果(第二仿真结果)确定待测试电路的时序是否通过测试。
本申请实施例中还提供了一种时序测试装置100,如图5所示。该时序测试装置,包括:获取模块110以及处理模块120。
获取模块110,用于获取待测试电路对应的门级电路网表和后仿网表,以及获取所述待测试电路对应的测试文件以及时序参数文件。可选地,获取模块110,用于:获取所述待测试电路;根据所述待测试电路生成所述门级电路网表和所述后仿网表。
处理模块120,用于基于所述测试文件、所述时序参数文件对所述门级电路网表进行仿真,得到激励向量,以及基于所述测试文件、所述激励向量对所述后仿网表进行仿真,得到仿真结果。可选地,处理模块120,用于:将所述测试电路中的内部网络节点虚拟成与输入端口、输出端口同一层级的外部端口,添加到所述门级电路网表中,并按照该内部网络节点在所述后仿网表中的名称进行命名;基于所述测试文件、所述时序参数文件对修改后的门级电路网表进行仿真,得到包含输入端口、输出端口以及所述内部网络节点的全波形信息的激励向量。
所述处理模块120,还用于基于所述仿真结果与所述激励向量确定所述待测试电路的时序是否通过测试。可选地,处理模块120,用于:将所述仿真结果中的输出端口的时序与所述激励向量中的该输出端口的时序进行比较,以及将所述仿真结果中的内部网络节点的时序与所述激励向量中的该内部网络节点的时序进行比较;其中,所述仿真结果中的输出端口的时序与所述激励向量中的该输出端口的时序一致,且所述仿真结果中的内部网络节点的时序与所述激励向量中的该内部网络节点的时序一致,则表征所述待测试电路的时序通过测试。
可选地,处理模块120,用于:根据所述激励向量中的输入使能信号确定时间窗口;将位于同一个所述时间窗口内的所述仿真结果中的输出端口的时序与所述激励向量中的该输出端口的时序进行比较,以及将位于同一个所述时间窗口内的所述仿真结果中的内部网络节点的时序与所述激励向量中的该内部网络节点的时序进行比较。
可选地,处理模块120,用于:在基于所述仿真结果与所述激励向量确定所述待测试电路的时序是否通过测试之后,再次对所述待测试电路的时序进行测试;基于前后两次测试的测试结果确定所述待测试电路的时序是否通过测试。
可选地,处理模块120,用于:对所述激励向量进行预处理,生成时序相较于所述激励向量的时序更为松散的松散时序激励向量;基于所述测试文件、所述松散时序激励向量对所述后仿网表进行仿真,得到第二仿真结果;基于所述仿真结果与所述第二仿真结果确定所述待测试电路的时序是否通过测试。
本申请实施例所提供的时序测试装置100,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
如图6所示,图6示出了本申请实施例提供的一种执行上述时序测试方法的电子设备200的结构框图。所述电子设备200包括:收发器210、存储器220、通讯总线230以及处理器240。
所述收发器210、所述存储器220、处理器240各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线230或信号线实现电性连接。其中,收发器210用于收发数据。存储器220用于存储计算机程序,如存储有图5中所示的软件功能模块,即时序测试装置100。其中,时序测试装置100包括至少一个可以软件或固件(firmware)的形式存储于所述存储器220中或固化在所述电子设备200的操作系统(operating system,OS)中的软件功能模块。所述处理器240,用于执行存储器220中存储的可执行模块,例如时序测试装置100包括的软件功能模块或计算机程序。例如,处理器240,用于获取待测试电路对应的门级电路网表和后仿网表;以及获取所述待测试电路对应的测试文件以及时序参数文件;以及基于所述测试文件、所述时序参数文件对所述门级电路网表进行仿真,得到激励向量;以及基于所述测试文件、所述激励向量对所述后仿网表进行仿真,得到仿真结果;以及还用于基于所述仿真结果与所述激励向量确定所述待测试电路的时序是否通过测试。
其中,存储器220可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器240可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器240也可以是任何常规的处理器等。
其中,上述的电子设备200,包括但不限于计算机、服务器等。
本申请实施例还提供了一种非易失性计算机可读取存储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的电子设备200运行时,执行上述所示的时序测试方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者电子设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种时序测试方法,其特征在于,包括:
获取待测试电路对应的门级电路网表和后仿网表;
获取所述待测试电路对应的测试文件以及时序参数文件;
基于所述测试文件、所述时序参数文件对所述门级电路网表进行仿真,得到激励向量;
基于所述测试文件、所述激励向量对所述后仿网表进行仿真,得到仿真结果;
基于所述仿真结果与所述激励向量确定所述待测试电路的时序是否通过测试。
2.根据权利要求1所述的方法,其特征在于,基于所述测试文件、所述时序参数文件对所述门级电路网表进行仿真,包括:
将所述测试电路中的内部网络节点虚拟成与输入端口、输出端口同一层级的外部端口,添加到所述门级电路网表中,并按照该内部网络节点在所述后仿网表中的名称进行命名;
基于所述测试文件、所述时序参数文件对修改后的门级电路网表进行仿真,得到包含输入端口、输出端口以及所述内部网络节点的全波形信息的激励向量。
3.根据权利要求1所述的方法,其特征在于,基于所述仿真结果与所述激励向量确定所述待测试电路的时序是否通过测试,包括:
将所述仿真结果中的输出端口的时序与所述激励向量中的该输出端口的时序进行比较,以及将所述仿真结果中的内部网络节点的时序与所述激励向量中的该内部网络节点的时序进行比较;
其中,所述仿真结果中的输出端口的时序与所述激励向量中的该输出端口的时序一致,且所述仿真结果中的内部网络节点的时序与所述激励向量中的该内部网络节点的时序一致,则表征所述待测试电路的时序通过测试。
4.根据权利要求3所述的方法,其特征在于,将所述仿真结果中的输出端口的时序与所述激励向量中的该输出端口的时序进行比较,以及将所述仿真结果中的内部网络节点的时序与所述激励向量中的该内部网络节点的时序进行比较,包括:
根据所述激励向量中的输入使能信号确定时间窗口;
将位于同一个所述时间窗口内的所述仿真结果中的输出端口的时序与所述激励向量中的该输出端口的时序进行比较,以及将位于同一个所述时间窗口内的所述仿真结果中的内部网络节点的时序与所述激励向量中的该内部网络节点的时序进行比较。
5.根据权利要求1所述的方法,其特征在于,基于所述仿真结果与所述激励向量确定所述待测试电路的时序是否通过测试之后,所述方法还包括:
再次对所述待测试电路的时序进行测试;
基于前后两次测试的测试结果确定所述待测试电路的时序是否通过测试。
6.根据权利要求5所述的方法,其特征在于,再次对所述待测试电路的时序进行测试,包括:
对所述激励向量进行预处理,生成时序相较于所述激励向量的时序更为松散的松散时序激励向量;
基于所述测试文件、所述松散时序激励向量对所述后仿网表进行仿真,得到第二仿真结果;
基于所述仿真结果与所述第二仿真结果确定所述待测试电路的时序是否通过测试。
7.根据权利要求1所述的方法,其特征在于,获取待测试电路对应的门级电路网表和后仿网表,包括:
获取所述待测试电路;
根据所述待测试电路生成所述门级电路网表和所述后仿网表。
8.一种时序测试装置,其特征在于,包括:
获取模块,用于获取待测试电路对应的门级电路网表和后仿网表,以及获取所述待测试电路对应的测试文件以及时序参数文件;
处理模块,用于基于所述测试文件、所述时序参数文件对所述门级电路网表进行仿真,得到激励向量,以及基于所述测试文件、所述激励向量对所述后仿网表进行仿真,得到仿真结果;
所述处理模块,还用于基于所述仿真结果与所述激励向量确定所述待测试电路的时序是否通过测试。
9.一种电子设备,其特征在于,包括:
存储器和处理器,所述处理器与所述存储器连接;
所述存储器,用于存储程序;
所述处理器,用于调用存储于所述存储器中的程序,以执行如权利要求1-7中任一项所述的方法。
10.一种存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器运行时,执行如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011368194.2A CN112417798B (zh) | 2020-11-27 | 2020-11-27 | 一种时序测试方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011368194.2A CN112417798B (zh) | 2020-11-27 | 2020-11-27 | 一种时序测试方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112417798A true CN112417798A (zh) | 2021-02-26 |
CN112417798B CN112417798B (zh) | 2023-05-23 |
Family
ID=74828883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011368194.2A Active CN112417798B (zh) | 2020-11-27 | 2020-11-27 | 一种时序测试方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112417798B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113536718A (zh) * | 2021-09-15 | 2021-10-22 | 中科亿海微电子科技(苏州)有限公司 | 一种门级仿真网表文件正确性的验证方法及装置 |
CN114626324A (zh) * | 2022-02-24 | 2022-06-14 | 深圳市紫光同创电子有限公司 | Fpga电路后仿真验证方法、装置、电子设备及存储介质 |
WO2022222440A1 (zh) * | 2021-04-21 | 2022-10-27 | 西安广和通无线软件有限公司 | 无线模组的时序分析方法、装置、计算机设备和存储介质 |
WO2023245719A1 (zh) * | 2022-06-22 | 2023-12-28 | 长鑫存储技术有限公司 | 时序逻辑元件性能检查方法及设备 |
WO2024000730A1 (zh) * | 2022-06-30 | 2024-01-04 | 长鑫存储技术有限公司 | 数据处理电路的检查方法、装置及电子设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033990A (zh) * | 2010-11-30 | 2011-04-27 | 深圳市国微电子股份有限公司 | 组合逻辑电路逻辑参数提取激励波形的产生方法 |
CN102866349A (zh) * | 2011-07-05 | 2013-01-09 | 中国科学院微电子研究所 | 集成电路测试方法 |
CN102955867A (zh) * | 2011-08-30 | 2013-03-06 | 三星半导体(中国)研究开发有限公司 | 生成门级网表和标准延迟文件及检查和纠正伪路径的方法 |
CN103560932A (zh) * | 2013-11-05 | 2014-02-05 | 重庆邮电大学 | 一种无线传感器网络远程协议一致性测试系统及方法 |
CN104598659A (zh) * | 2013-10-31 | 2015-05-06 | 国际商业机器公司 | 对数字电路进行仿真的方法和设备 |
CN104899076A (zh) * | 2015-06-18 | 2015-09-09 | 中国科学院自动化研究所 | 一种超大规模集成电路门级网表仿真的加速方法 |
CN105761746A (zh) * | 2016-02-04 | 2016-07-13 | 北京时代民芯科技有限公司 | 一种单粒子加固fpga分布式ram的写入时序匹配电路 |
CN108052769A (zh) * | 2017-12-28 | 2018-05-18 | 天津芯海创科技有限公司 | 网表仿真验证方法和装置 |
CN109145320A (zh) * | 2017-06-16 | 2019-01-04 | 展讯通信(上海)有限公司 | 芯片层次化物理设计中的静态时序分析方法及装置 |
CN111027270A (zh) * | 2019-11-26 | 2020-04-17 | 西安电子科技大学 | 一种用于集成电路设计流程可信设计的方法及电路 |
US20200284883A1 (en) * | 2019-03-08 | 2020-09-10 | Osram Gmbh | Component for a lidar sensor system, lidar sensor system, lidar sensor device, method for a lidar sensor system and method for a lidar sensor device |
CN111930582A (zh) * | 2020-08-17 | 2020-11-13 | 成都海光微电子技术有限公司 | 系统管理总线检测平台、处理器及系统管理总线检测方法 |
-
2020
- 2020-11-27 CN CN202011368194.2A patent/CN112417798B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033990A (zh) * | 2010-11-30 | 2011-04-27 | 深圳市国微电子股份有限公司 | 组合逻辑电路逻辑参数提取激励波形的产生方法 |
CN102866349A (zh) * | 2011-07-05 | 2013-01-09 | 中国科学院微电子研究所 | 集成电路测试方法 |
CN102955867A (zh) * | 2011-08-30 | 2013-03-06 | 三星半导体(中国)研究开发有限公司 | 生成门级网表和标准延迟文件及检查和纠正伪路径的方法 |
CN104598659A (zh) * | 2013-10-31 | 2015-05-06 | 国际商业机器公司 | 对数字电路进行仿真的方法和设备 |
CN103560932A (zh) * | 2013-11-05 | 2014-02-05 | 重庆邮电大学 | 一种无线传感器网络远程协议一致性测试系统及方法 |
CN104899076A (zh) * | 2015-06-18 | 2015-09-09 | 中国科学院自动化研究所 | 一种超大规模集成电路门级网表仿真的加速方法 |
CN105761746A (zh) * | 2016-02-04 | 2016-07-13 | 北京时代民芯科技有限公司 | 一种单粒子加固fpga分布式ram的写入时序匹配电路 |
CN109145320A (zh) * | 2017-06-16 | 2019-01-04 | 展讯通信(上海)有限公司 | 芯片层次化物理设计中的静态时序分析方法及装置 |
CN108052769A (zh) * | 2017-12-28 | 2018-05-18 | 天津芯海创科技有限公司 | 网表仿真验证方法和装置 |
US20200284883A1 (en) * | 2019-03-08 | 2020-09-10 | Osram Gmbh | Component for a lidar sensor system, lidar sensor system, lidar sensor device, method for a lidar sensor system and method for a lidar sensor device |
CN111027270A (zh) * | 2019-11-26 | 2020-04-17 | 西安电子科技大学 | 一种用于集成电路设计流程可信设计的方法及电路 |
CN111930582A (zh) * | 2020-08-17 | 2020-11-13 | 成都海光微电子技术有限公司 | 系统管理总线检测平台、处理器及系统管理总线检测方法 |
Non-Patent Citations (1)
Title |
---|
朱宇耀等: "微处理器设计中的时序验证及优化", 《现代电子技术》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022222440A1 (zh) * | 2021-04-21 | 2022-10-27 | 西安广和通无线软件有限公司 | 无线模组的时序分析方法、装置、计算机设备和存储介质 |
CN113536718A (zh) * | 2021-09-15 | 2021-10-22 | 中科亿海微电子科技(苏州)有限公司 | 一种门级仿真网表文件正确性的验证方法及装置 |
CN113536718B (zh) * | 2021-09-15 | 2021-12-31 | 中科亿海微电子科技(苏州)有限公司 | 一种门级仿真网表文件正确性的验证方法及装置 |
CN114626324A (zh) * | 2022-02-24 | 2022-06-14 | 深圳市紫光同创电子有限公司 | Fpga电路后仿真验证方法、装置、电子设备及存储介质 |
CN114626324B (zh) * | 2022-02-24 | 2023-12-12 | 深圳市紫光同创电子有限公司 | Fpga电路后仿真验证方法、装置、电子设备及存储介质 |
WO2023245719A1 (zh) * | 2022-06-22 | 2023-12-28 | 长鑫存储技术有限公司 | 时序逻辑元件性能检查方法及设备 |
WO2024000730A1 (zh) * | 2022-06-30 | 2024-01-04 | 长鑫存储技术有限公司 | 数据处理电路的检查方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112417798B (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112417798B (zh) | 一种时序测试方法、装置、电子设备及存储介质 | |
CN111931445B (zh) | 用于调试逻辑系统设计的方法、仿真器及存储介质 | |
US6292765B1 (en) | Method for automatically searching for functional defects in a description of a circuit | |
US9026966B1 (en) | Co-simulation methodology to address performance and runtime challenges of gate level simulations with, SDF timing using emulators | |
CN112232006B (zh) | 一种标准单元库验证方法、装置、电子设备及存储介质 | |
US7437701B1 (en) | Simulation of a programming language specification of a circuit design | |
Jindal et al. | Verification of transaction-level SystemC models using RTL testbenches | |
US10073933B2 (en) | Automatic generation of properties to assist hardware emulation | |
US8423934B1 (en) | Model validation cockpit | |
US20040015338A1 (en) | Method and apparatus for automated signal integrity checking | |
Bombieri et al. | Incremental ABV for functional validation of TL-to-RTL design refinement | |
US10515169B1 (en) | System, method, and computer program product for computing formal coverage data compatible with dynamic verification | |
Kaja et al. | Towards fault simulation at mixed register-transfer/gate-level models | |
CN117454811A (zh) | 待测设计的验证方法及装置 | |
US7454729B1 (en) | Method and system for validating testbench | |
CN115470125A (zh) | 基于日志文件的调试方法、设备以及存储介质 | |
Bombieri et al. | Hybrid, incremental assertion-based verification for TLM design flows | |
Foster et al. | Assertions targeting a diverse set of verification tools | |
US20200320241A1 (en) | Method of Detecting a Circuit Malfunction and Related Device | |
US10546083B1 (en) | System, method, and computer program product for improving coverage accuracy in formal verification | |
US9928328B1 (en) | Method and system for automated debugging of a device under test | |
Bombieri et al. | RTL-TLM equivalence checking based on simulation | |
CN117094269B (zh) | 一种验证方法、装置、电子设备及可读存储介质 | |
CN117113907B (zh) | 一种验证方法、装置、电子设备及可读存储介质 | |
US11544435B1 (en) | On-the-fly computation of analog mixed-signal (AMS) measurements |
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 |