CN115906730A - Method, device and storage medium for verifying logic system design - Google Patents
Method, device and storage medium for verifying logic system design Download PDFInfo
- Publication number
- CN115906730A CN115906730A CN202211104439.XA CN202211104439A CN115906730A CN 115906730 A CN115906730 A CN 115906730A CN 202211104439 A CN202211104439 A CN 202211104439A CN 115906730 A CN115906730 A CN 115906730A
- Authority
- CN
- China
- Prior art keywords
- assertion
- state
- system design
- states
- logic system
- 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
- 238000013461 design Methods 0.000 title claims abstract description 55
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000010586 diagram Methods 0.000 claims abstract description 54
- 230000007704 transition Effects 0.000 claims abstract description 16
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 description 60
- 238000011156 evaluation Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 9
- 230000002093 peripheral effect Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000012854 evaluation process Methods 0.000 description 4
- 230000000630 rising effect Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本公开提供一种验证逻辑系统设计的方法、设备及存储介质。所述方法包括:接收所述逻辑系统设计的描述以及用于验证所述逻辑系统设计的断言声明,所述断言声明与所述逻辑系统设计的多个信号关联;基于所述多个信号在多个运行周期上的值,分别确定所述断言声明在所述多个运行周期上的多个断言状态,所述断言状态包括断言成功或断言失败;根据所述多个信号在多个运行周期上的值,确定所述多个断言状态的转换关系;以及根据所述多个断言状态以及所述转换关系,生成图形化的断言状态图。
The present disclosure provides a method, device and storage medium for verifying logic system design. The method includes: receiving a description of the logic system design and an assertion statement for validating the logic system design, the assertion statement being associated with a plurality of signals of the logic system design; Values on multiple operating cycles, respectively determine a plurality of assertion states of the assertion statement on the plurality of operating cycles, the assertion status includes assertion success or assertion failure; according to the plurality of signals in multiple operating cycles Determine the transition relationship of the plurality of assertion states; and generate a graphical assertion state diagram according to the plurality of assertion states and the transition relationship.
Description
技术领域technical field
本公开涉及芯片验证技术领域,尤其涉及一种验证逻辑系统设计的方法、电子设备及存储介质。The present disclosure relates to the technical field of chip verification, and in particular to a method for verifying logic system design, electronic equipment and a storage medium.
背景技术Background technique
在集成电路的验证领域,形式验证(Formal Verification)是指从数学上完备地证明或验证电路的实现方案是否确实实现了电路设计所描述的功能。被测试和验证的逻辑系统设计(例如,电路设计)可以被称为待测设计(Design Under Test,DUT)。In the field of verification of integrated circuits, formal verification (Formal Verification) refers to mathematically complete proof or verification of whether the implementation of the circuit actually implements the function described by the circuit design. A logical system design (eg, a circuit design) that is tested and verified may be referred to as a Design Under Test (DUT).
在进行形式验证时,用户需要输入DUT的验证目标(例如,断言声明(assertionstatement))。验证目标可以对DUT在各个状态下需要达到的目标进行设定,以判断DUT是否满足指定的属性。如果DUT经过形式验证证明可以达到断言要求的目标,则说明DUT符合设计的属性,反之说明设计存在问题,需要修改。求证的方式可以是证明DUT具备该属性,或者是存在该属性的反例。When performing formal verification, the user needs to input the verification target of the DUT (for example, an assertion statement (assertion statement)). The verification goal can set the goal that the DUT needs to achieve in each state, so as to judge whether the DUT meets the specified attributes. If the DUT proves through formal verification that it can achieve the goal required by the assertion, it means that the DUT meets the attributes of the design, otherwise it means that there is a problem in the design and needs to be modified. The way of proof can be to prove that DUT has this attribute, or there is a counterexample of this attribute.
断言声明的评估和构成较为复杂。例如,用于描述时序逻辑电路所拥有的属性的并发断言(concurrent assertion)在每个时钟上升沿都会进行一次评估尝试(evaluationattempt),但每一次评估都存在时序或者评估路径的不确定性。仅通过形式验证工具给出的验证结果(例如,反例,即说明验证失败),用户很难确定导致断言声明失败的评估是从哪个时钟周期开始的,以及在哪个评估路径发生的。也就是说,根据通常的断言声明评估,用户只能得到断言声明的评估结果,却无法获知造成这个结果的过程。Assertion statements are more complex to evaluate and form. For example, a concurrent assertion (concurrent assertion) used to describe properties possessed by a sequential logic circuit will perform an evaluation attempt (evaluation attempt) on each clock rising edge, but each evaluation has timing or evaluation path uncertainty. Only through the verification results given by the formal verification tool (for example, counterexample, which shows that the verification fails), it is difficult for the user to determine from which clock cycle the evaluation that caused the assertion statement to fail begins and on which evaluation path it occurs. That is to say, according to the usual evaluation of the assertion statement, the user can only obtain the evaluation result of the assertion statement, but cannot know the process of causing the result.
发明内容Contents of the invention
本申请的第一方面提供一种验证逻辑系统设计的方法,包括:接收所述逻辑系统设计的描述以及用于验证所述逻辑系统设计的断言声明,所述断言声明与所述逻辑系统设计的多个信号关联;基于所述多个信号在多个运行周期上的值,分别确定所述断言声明在所述多个运行周期上的多个断言状态,所述断言状态包括断言成功或断言失败;根据所述多个信号在多个运行周期上的值,确定所述多个断言状态的转换关系;以及根据所述多个断言状态以及所述转换关系,生成图形化的断言状态图。The first aspect of the present application provides a method for verifying a logic system design, including: receiving a description of the logic system design and an assertion statement for verifying the logic system design, the assertion statement being consistent with the logic system design A plurality of signal associations; based on the values of the plurality of signals over a plurality of operating cycles, respectively determine a plurality of assertion states of the assertion statement over the plurality of operating cycles, the assertion status includes assertion success or assertion failure ; determining the transition relationship of the plurality of assertion states according to the values of the plurality of signals in the plurality of operating cycles; and generating a graphical assertion state diagram according to the plurality of assertion states and the transition relationship.
本申请的第二方面提供一种电子设备。该电子设备包括存储器,用于存储一组指令;以及至少一个处理器,配置为执行该组指令以使得所述电子设备执行如第一方面所述的方法。A second aspect of the present application provides an electronic device. The electronic device includes a memory for storing a set of instructions; and at least one processor configured to execute the set of instructions so that the electronic device executes the method as described in the first aspect.
本申请的第三方面提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机的一组指令,该组指令用于在被执行时使所述计算机执行如第一方面所述的方法。A third aspect of the present application provides a non-transitory computer-readable storage medium, the non-transitory computer-readable storage medium stores a set of instructions of a computer, and the set of instructions is used to cause the computer to perform the following steps when executed: The method described in the first aspect.
本公开提供的一种验证逻辑系统设计的方法、设备及存储介质,通过生成图形化的断言状态图,用户可以直观地看到断言声明的评估过程中断言状态的跳转路径,从而确定断言声明评估过程的路径,在获得断言状态的同时,还直观地得到了到达该断言状态的状态链。通过与断言状态对应的波形图,形式验证工具可以直观地显示断言中与逻辑系统设计关联的信号和断言状态在各个周期的变化情况。本公开提供的方法有助于帮助用户分析造成断言声明的评估结果的原因,快速修改设计问题。The present disclosure provides a method, device, and storage medium for verifying logic system design. By generating a graphical assertion state diagram, users can intuitively see the jump path of the assertion state in the evaluation process of the assertion statement, thereby determining the assertion statement The path of the evaluation process, while obtaining the assertion state, also intuitively obtains the state chain to reach the assertion state. Through the waveform diagram corresponding to the assertion state, the formal verification tool can visually display the signal and assertion state changes in the assertion associated with the logic system design in each cycle. The method provided in the present disclosure is helpful to help the user analyze the cause of the evaluation result of the assertion statement, and quickly modify the design problem.
附图说明Description of drawings
为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the present application or related technologies, the following will briefly introduce the accompanying drawings that need to be used in the description of the embodiments or related technologies. Obviously, the accompanying drawings in the following description are only for this application Embodiments, for those of ordinary skill in the art, other drawings can also be obtained based on these drawings without any creative effort.
图1示出了根据本公开实施例的示例性主机的结构示意图。Fig. 1 shows a schematic structural diagram of an exemplary host according to an embodiment of the present disclosure.
图2示出了根据本公开实施例的示例性形式验证工具的示意图。FIG. 2 shows a schematic diagram of an exemplary formal verification tool according to an embodiment of the disclosure.
图3A示出了根据本公开实施例的示例性断言状态图的示意图。FIG. 3A shows a schematic diagram of an exemplary assertion state diagram according to an embodiment of the disclosure.
图3B示出了根据本公开实施例的与状态链对应的示例性波形图的示意图。FIG. 3B shows a schematic diagram of an exemplary waveform diagram corresponding to a state chain according to an embodiment of the disclosure.
图4示出了根据本公开实施例的示例性验证逻辑系统设计的方法的流程图。FIG. 4 shows a flowchart of an exemplary method of verifying a logic system design according to an embodiment of the disclosure.
具体实施方式Detailed ways
为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请进一步详细说明。In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with specific embodiments and with reference to the accompanying drawings.
需要说明的是,除非另外定义,本申请使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。It should be noted that, unless otherwise defined, the technical terms or scientific terms used in the application shall have the usual meanings understood by those skilled in the art to which the application belongs. "First", "second" and similar words used in this application do not indicate any order, quantity or importance, but are only used to distinguish different components. "Comprising" and similar words mean that the elements or items appearing before the word include the elements or items listed after the word and their equivalents, and do not exclude other elements or items. "Connected" and similar words are not limited to physical or mechanical connection, but may include electrical connection, whether direct or indirect.
图1示出了根据本申请实施例的主机100的结构示意图。主机100可以是运行仿真系统的电子设备。如图1所示,主机100可以包括:处理器102、存储器104、网络接口106、外围接口108和总线110。其中,处理器102、存储器104、网络接口106和外围接口108通过总线110实现彼此之间在主机内部的通信连接。FIG. 1 shows a schematic structural diagram of a
处理器102可以是中央处理器(Central Processing Unit,CPU)、图像处理器、神经网络处理器(NPU)、微控制器(MCU)、可编程逻辑器件、数字信号处理器(DSP)、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路。处理器102可以用于执行与本申请描述的技术相关的功能。在一些实施例中,处理器102还可以包括集成为单一逻辑组件的多个处理器。如图1所示,处理器102可以包括多个处理器102a、102b和102c。The processor 102 can be a central processing unit (Central Processing Unit, CPU), an image processor, a neural network processor (NPU), a microcontroller (MCU), a programmable logic device, a digital signal processor (DSP), an application-specific Integrated Circuit (Application Specific Integrated Circuit, ASIC), or one or more integrated circuits. Processor 102 may be configured to perform functions related to the techniques described herein. In some embodiments, processor 102 may also include multiple processors integrated into a single logical component. As shown in FIG. 1, the processor 102 may include a plurality of processors 102a, 102b, and 102c.
存储器104可以配置为存储数据(例如,指令集、计算机代码、中间数据等)。在一些实施例中,用于仿真测试设计的仿真测试系统可以是存储器104中存储的计算机程序。如图1所示,存储器存储的数据可以包括程序指令(例如,用于实现本申请的验证逻辑系统设计的方法的程序指令)以及要处理的数据(例如,存储器可以存储在编译过程产生的临时代码)。处理器102也可以访问存储器存储的程序指令和数据,并且执行程序指令以对要处理的数据进行操作。存储器104可以包括易失性存储装置或非易失性存储装置。在一些实施例中,存储器104可以包括随机访问存储器(RAM)、只读存储器(ROM)、光盘、磁盘、硬盘、固态硬盘(SSD)、闪存、存储棒等。
网络接口106可以配置为经由网络向主机100提供与其他外部设备的通信。该网络可以是能够传输和接收数据的任何有线或无线的网络。例如,该网络可以是有线网络、本地无线网络(例如,蓝牙、WiFi、近场通信(NFC)等)、蜂窝网络、因特网、或上述的组合。可以理解的是,网络的类型不限于上述具体示例。在一些实施例中,网络接口106可以包括任意数量的网络接口控制器(NIC)、射频模块、接收发器、调制解调器、路由器、网关、适配器、蜂窝网络芯片等的任意组合。The
外围接口108可以配置为将主机100与一个或多个外围装置连接,以实现信息输入及输出。例如,外围装置可以包括键盘、鼠标、触摸板、触摸屏、麦克风、各类传感器等输入设备以及显示器、扬声器、振动器、指示灯等输出设备。The
总线110可以被配置为在主机100的各个组件(例如处理器102、存储器104、网络接口106和外围接口108)之间传输信息,诸如内部总线(例如,处理器-存储器总线)、外部总线(USB端口、PCI-E总线)等。Bus 110 may be configured to transfer information between various components of host 100 (e.g., processor 102,
需要说明的是,尽管上述主机架构仅示出了处理器102、存储器104、网络接口106、外围接口108和总线110,但是在具体实施过程中,该主机架构还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述主机架构中也可以仅包含实现本申请实施例方案所必需的组件,而不必包含图中所示的全部组件。It should be noted that although the host architecture above only shows the processor 102,
图2示出了根据本公开实施例的示例性形式验证工具200的示意图。在芯片设计领域,形式验证工具200可以是芯华章科技股份有限公司出品的GalaxFV形式验证工具。形式验证工具200可以是运行在电子设备100上的计算机程序。在一些实施例中,形式验证工具200可以包括仿真器等组件。FIG. 2 shows a schematic diagram of an exemplary
基于待验证的系统设计和用于形式验证该系统设计的断言声明(AssertionStatement),形式验证工具200可以对该系统设计进行形式验证。验证工具200的输入可以包括系统设计202和断言声明204。断言声明可以包括assert、assume或cover。Assert用于表示给定的断言声明必须在任何条件下都满足。Assume用于表示各种形式化验证的约束条件。Cover表示在形式化验证的过程中必须要覆盖到的情况。Based on the system design to be verified and the assertion statement (AssertionStatement) used for formal verification of the system design, the
系统设计202可以是硬件的或软件的设计。系统设计202可以是由C、C++、Java等软件语言、VHDL、Verilog、SystemVerilog等硬件描述语言、或寄存器传输级(register-transfer level,RTL)代码等描述的设计。例如,系统设计202可以是芯片设计以及用于验证该芯片设计的验证环境。
在一些实施例中,系统设计202可以是RTL设计。在集成电路设计中,RTL是用于描述同步数字电路操作的抽象级。在RTL级,芯片是由一组寄存器以及寄存器之间的逻辑操作构成。之所以如此,是因为绝大多数的电路可以被看成由寄存器来存储二进制数据、由寄存器之间的逻辑操作来完成数据的处理,数据处理的流程由时序状态机来控制,这些处理和控制可以用硬件描述语言来描述。In some embodiments,
断言声明204可以例如是由SystemVerilog描述的SystemVerilog Assertion(SVA)。断言声明204可以用于描述系统设计202的期望行为。通过证明或证伪断言声明204可以用来验证系统设计202是否正确。因此,断言声明204是与系统设计202的正确性关联的行为描述。
如图2所示,系统设计202和断言声明204在经由验证工具200的处理后,最终输出验证结果206。验证结果206可以是断言成功或断言失败。在一些实施例中,验证结果206也可以是无法得出结论。As shown in FIG. 2 , after the
如上所述,断言声明204可以包括用于描述待测设计(DUT)的覆盖属性(coverproperty)。例如,断言声明204可以是:As mentioned above, the
c1:cover property(@(posedge clk)(req[0]##1gnt[0])or(req[1]##1gnt[1])c1:cover property(@(posedge clk)(req[0]##1gnt[0])or(req[1]##1gnt[1])
上述断言声明204中涉及逻辑系统描述的req信号和gnt信号。断言声明204描述了系统设计202应当覆盖如下情况:当req[0]为真,一个周期之后gnt[0]也为真;或者当req[1]为真,一个周期之后gnt[1]也为真时,断言成功,否则断言失败。The above-mentioned
如上述c1描述的断言声明,断言声明204中可以包括多个状态以及多个状态之间的转换。在目前的形式验证工具中,对于一个断言声明204所涉及的状态以及状态之间的转换,仅依赖于用户通过代码去理解。同时,断言声明204仅能反馈与失败状态有关的转换。例如,对于上述c1,目前的形式验证工具通常仅给出2个周期的req信号和gnt信号的值。即,形式验证工具可以给出req[0](1)=0且req[1](1)=0或req[0](1)=1且gnt[0](2)=0,其中,req[0](1)和req[1](1)分别表示req[0]和req[1]在第一周期的值,gnt[0](2)表示gnt[0]在第二周期的值。但是,在实际验证工作中,引发失败状态的信号可能来自于更为早期的信号,即,由更早的信号转换引起(例如,使得req[0](0)=1转换到req[0](1)=0产生的原因)。Like the assertion statement described in c1 above, the
总而言之,现有技术无法形象化地呈现断言声明204的内涵,也无法向用户呈现系统设计202如何运行到失败状态的过程信息。All in all, the existing technology cannot visualize the connotation of the
本公开实施例的形式验证工具200可以基于断言声明204中的多个信号在多个运行周期的值,确定断言声明204在各运行周期上的状态以及这些状态的转换关系,并且生成图形化的断言状态图,以便于用户看到评估过程中断言状态的转换过程。The
图3A示出了根据本公开实施例的示例性断言状态图300的示意图。FIG. 3A shows a schematic diagram of an exemplary assertion state diagram 300 according to an embodiment of the disclosure.
如图3A所示,断言声明204开始的状态为初始状态301。信号req[0]和req[1]可以有4种状态(00,11,10,01)。当req[0]=0,req[1]=0时,不满足断言声明204的评估条件,所以断言声明204不会进行评估,直接跳转到失败的结果状态305。当req[0]=1,req[1]=1时,断言声明204在时钟上升沿开始进行评估尝试,此时,断言声明204处于状态302;只有在下一个周期gnt[0]=0&&gnt[1]=0时,断言声明204才会从状态302跳转到失败的结果状态305,其他情况均会从状态302跳转到成功的结果状态306。当req[0]=1,req[1]=0时,断言声明204在时钟上升沿进行评估尝试,此时,断言声明204处于状态303;下一个周期gnt[0]=1时,满足断言条件,断言声明204从状态303跳转到成功的结果状态306,下一个周期gnt[0]=0时,不满足断言条件,断言声明204从状态303跳转到失败的结果状态305。当req[0]=0,req[1]=1时,断言声明204在时钟上升沿进行评估尝试,此时,断言声明204处于状态304;下一个周期gnt[1]=1时,满足断言条件,断言声明204从状态304跳转到成功的结果状态306,下一个周期gnt[1]=0时,不满足断言条件,断言声明204从状态304跳转到失败的结果状态305。As shown in FIG. 3A , the state in which assert
这样,断言状态图300中示出了断言声明204的断言状态以及这些断言状态之间的转换关系。Thus, the assertion state diagram 300 shows the assertion states of the
在一些实施例中,形式验证工具200可以接收用户发出的在断言状态图300中选择失败断言状态的指令。基于该指令,形式验证工具200可以在断言状态图300中突出显示失败断言状态的状态链。如图3A中加粗显示的状态链,断言声明204从初始状态301跳转到状态303,再跳转到结果状态305。可以理解的是,图3A只是示例性突出显示了一条失败断言状态的状态链,形式验证工具200可以根据用户指令显示更多条断言状态的状态链,包括失败断言状态或成功断言状态的状态链。图3A示出的加粗显示也只是突出显示的其中一种形式,形式验证工具200还可以使用其他方式(例如,使跳转连接线显示为其他颜色)进行突出显示,本公开对此不做限制。In some embodiments, the
在一些实施例中,断言状态图300中示出的一条状态链可以是断言声明204的一次评估尝试。In some embodiments, a state chain shown in assert state diagram 300 may be an evaluation attempt of assert
在一些实施例中,形式验证工具200可以从用户接收选择目标状态的指令,并且突出显示从初始状态301到该目标状态的状态链。In some embodiments, the
在一些实施例中,突出显示的状态链可能包括多个状态,而在状态图300中突出显示的状态链仅包括该多个状态中的部分状态,未显示的剩余状态以省略图标显示。例如,可以用省略号作为省略图标来代表未显示的剩余状态。形式验证工具200可以从用户接收在状态图300中进一步点击省略图标的指令来扩展显示该未显示的剩余状态。在一些实施例中,通过点击省略图标可以允许用户进一步限定扩展显示未显示的剩余状态的哪一部分。In some embodiments, the highlighted state chain may include multiple states, but the highlighted state chain in the state diagram 300 only includes some of the states, and the remaining states that are not displayed are displayed with omitted icons. For example, an ellipsis can be used as an ellipsis icon to represent a remaining state that is not displayed. The
形式验证工具200还可以生成并显示波形图供用户查看与断言关联的信号的变化。
图3B示出了根据本公开实施例的与状态链对应的示例性波形图310的示意图。FIG. 3B shows a schematic diagram of an exemplary waveform diagram 310 corresponding to a state chain, according to an embodiment of the disclosure.
针对图3A所示的突出显示的失败断言状态的状态链,形式验证工具200可以生成并显示与这个状态链对应的波形图310。从波形图310中看出,形式验证工具200生成了一个覆盖属性的评估尝试:req[1:0]:00,01,01,gnt[1:0]:00,11,10,断言声明204的评估从第二个周期开始,并且断言声明204经过了初始状态301—>状态303—>结果状态305的评估路径。需要说明的是,虽然图3B中只示出了3个运行周期的波形图,但是在实际运行过程中,波形图可以是包括更多个运行周期的整个验证过程的波形图。例如,在这一次评估尝试得到的是失败的结果状态305后,形式验证工具200可以继续进行下一次的评估尝试,进而波形图可以继续显示接下来第四个周期、第五个周期乃至更多个周期的信号req和gnt的波形。For the state chain of the highlighted failed assertion state shown in FIG. 3A , the
可以理解的是,形式验证工具200还可以显示断言状态图300中任一断言状态的波形图。具体显示何种断言状态的波形图由实际需求确定。在一些实施例中,显示断言状态的波形图的实际需求可以是用户发出的选择一个目标断言状态的指令,形式验证工具200根据该指令显示与该断言状态对应的波形图。It can be understood that the
这样,通过生成图形化的断言状态图,形式验证工具200不仅可以向用户显示断言声明的转换过程,还可以直观地显示到达一个断言状态的状态链。通过与断言状态对应的波形图,形式验证工具200可以直观地显示断言中与逻辑系统设计关联的信号和断言状态在各个周期的变化情况。采用本公开提供的方法可以有助于帮助用户分析造成断言结果的原因,快速修改设计问题。In this way, by generating a graphical assertion state diagram, the
本申请实施例提供了一种验证逻辑系统设计的方法。The embodiment of the present application provides a method for verifying logic system design.
图4示出了根据本申请实施例的示例性验证逻辑系统设计的方法400的流程图。方法400可以由图1的主机100执行,更具体地,由在主机100上运行的形式验证工具200执行。方法400可以包括如下步骤。FIG. 4 shows a flowchart of an
在步骤402,形式验证工具200可以接收所述逻辑系统设计的描述(例如,图2的系统设计202)以及用于验证所述逻辑系统设计的断言声明(例如,图2的断言声明204),所述断言声明与所述逻辑系统设计的多个信号(例如,信号req和gnt)关联。所述断言声明可以包括assert、assume或cover。In
在步骤404,形式验证工具200可以基于所述多个信号在多个运行周期上的值,分别确定所述断言声明在所述多个运行周期上的多个断言状态(例如,初始状态、中间状态、以及结果状态),所述断言状态包括断言成功或断言失败。In
在步骤406,形式验证工具200可以根据所述多个信号在多个运行周期上的值(例如,0或1),确定所述多个断言状态的转换关系。In
在步骤408,形式验证工具200可以根据所述多个断言状态以及所述转换关系,生成图形化的断言状态图(例如,图3A的断言状态图300)。在一些实施例中,断言状态图可以显示出所述断言从初始状态(例如,图3A的初始状态301)到中间状态(例如,图3A的状态302、303、304)再到结果状态(例如,图3A的结果状态305、306)的转换关系。断言状态图还可以显示出所述多个信号(例如,信号req和gnt)在多个运行周期上的值(例如,0或1)。形式验证工具200还可以生成并显示波形图。In
在一些实施例中,所述断言状态图可以包括初始断言状态(例如,图3A的初始状态301)以及断言失败的失败断言状态(例如,图3A的失败的结果状态305)。形式验证工具200可以接收在所述断言状态图上选择所述失败断言状态的指令;突出显示从所述初始断言状态到所述失败断言状态的状态链(例如,图3A的加粗显示的状态链)。In some embodiments, the assertion state diagram may include an initial assertion state (eg, initial state 301 of FIG. 3A ) and a failed assertion state for an assertion failure (eg, failed result state 305 of FIG. 3A ).
在一些实施例中,形式验证工具200可以显示与所述状态链对应的波形图(例如,图3B的波形图310)。例如,波形图310可以示出断言声明(例如,断言声明204)中信号req和gnt在三个运行周期中的值,所述断言的断言评估从第二个周期开始,并且所述断言的评估路径可以是初始状态301—>状态303—>结果状态305。In some embodiments,
在一些实施例中,形式验证工具200可以接收在所述断言状态图(例如,图3A的断言状态图300)上的多个断言状态中选择一个目标断言状态(例如,失败断言状态)的指令;显示与所述目标断言状态对应的波形图。In some embodiments, the
这样,通过图形化的断言状态链和波形图,形式验证工具200不仅可以给出断言声明的评估结果,还可以直观地显示断言声明的评估过程(即,断言状态的转换关系)和断言中关联的信号的变化。In this way, through the graphical assertion state chain and waveform diagram, the
本申请实施例还提供一种电子设备。该电子设备可以是图1的主机100。该电子设备可以包括存储器,用于存储一组指令;以及至少一个处理器,配置为执行该组指令以使得所述电子设备执行方法400。The embodiment of the present application also provides an electronic device. The electronic device may be the
本申请实施例还提供一种非暂态计算机可读存储介质。所述非暂态计算机可读存储介质存储计算机的一组指令,该组指令用于在被执行时使所述计算机执行方法400。The embodiment of the present application also provides a non-transitory computer-readable storage medium. The non-transitory computer-readable storage medium stores a set of instructions for a computer, which when executed causes the computer to perform the
上述对本申请的一些实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。The foregoing describes some embodiments of the present application. Other implementations are within the scope of the following claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. Multitasking and parallel processing are also possible or may be advantageous in certain embodiments.
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请的不同方面的许多其它变化,为了简明它们没有在细节中提供。Those of ordinary skill in the art should understand that: the discussion of any of the above embodiments is exemplary only, and is not intended to imply that the scope of the application (including claims) is limited to these examples; under the thinking of the application, the above embodiments or Combinations between technical features in different embodiments are also possible, steps may be implemented in any order, and there are many other variations of the different aspects of the application as described above, which are not presented in detail for the sake of brevity.
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。Although the application has been described in conjunction with specific embodiments thereof, many alternatives, modifications and variations of those embodiments will be apparent to those of ordinary skill in the art from the foregoing description. For example, other memory architectures such as dynamic RAM (DRAM) may use the discussed embodiments.
本申请旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。This application is intended to embrace all such alterations, modifications and variations that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application shall be included within the protection scope of the present application.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211104439.XA CN115906730A (en) | 2022-09-09 | 2022-09-09 | Method, device and storage medium for verifying logic system design |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211104439.XA CN115906730A (en) | 2022-09-09 | 2022-09-09 | Method, device and storage medium for verifying logic system design |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115906730A true CN115906730A (en) | 2023-04-04 |
Family
ID=86469886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211104439.XA Pending CN115906730A (en) | 2022-09-09 | 2022-09-09 | Method, device and storage medium for verifying logic system design |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115906730A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116663467A (en) * | 2023-07-27 | 2023-08-29 | 北京开源芯片研究院 | Method and device for constructing assertion equivalent hardware library, electronic equipment and storage medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060190882A1 (en) * | 2005-02-03 | 2006-08-24 | Via Technologies, Inc | System and method for generating assertions using waveforms |
CN1906619A (en) * | 2004-09-30 | 2007-01-31 | 株式会社理光 | Assertion generating system, program thereof, circuit verifying system, and assertion generating method |
CN110298112A (en) * | 2019-07-01 | 2019-10-01 | 成都奥卡思微电科技有限公司 | A kind of combined synchronization error correction method, storage medium and the terminal of deasserted state machine and waveform diagram |
CN110297773A (en) * | 2019-07-01 | 2019-10-01 | 成都奥卡思微电科技有限公司 | Comprehensive method for visualizing, storage medium and terminal are asserted in a kind of formal verification |
CN110309592A (en) * | 2019-07-01 | 2019-10-08 | 成都奥卡思微电科技有限公司 | Reactive conditions are extracted and method for visualizing, system, storage medium and terminal in attribute synthesis |
-
2022
- 2022-09-09 CN CN202211104439.XA patent/CN115906730A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1906619A (en) * | 2004-09-30 | 2007-01-31 | 株式会社理光 | Assertion generating system, program thereof, circuit verifying system, and assertion generating method |
US20060190882A1 (en) * | 2005-02-03 | 2006-08-24 | Via Technologies, Inc | System and method for generating assertions using waveforms |
CN110298112A (en) * | 2019-07-01 | 2019-10-01 | 成都奥卡思微电科技有限公司 | A kind of combined synchronization error correction method, storage medium and the terminal of deasserted state machine and waveform diagram |
CN110297773A (en) * | 2019-07-01 | 2019-10-01 | 成都奥卡思微电科技有限公司 | Comprehensive method for visualizing, storage medium and terminal are asserted in a kind of formal verification |
CN110309592A (en) * | 2019-07-01 | 2019-10-08 | 成都奥卡思微电科技有限公司 | Reactive conditions are extracted and method for visualizing, system, storage medium and terminal in attribute synthesis |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116663467A (en) * | 2023-07-27 | 2023-08-29 | 北京开源芯片研究院 | Method and device for constructing assertion equivalent hardware library, electronic equipment and storage medium |
CN116663467B (en) * | 2023-07-27 | 2023-11-10 | 北京开源芯片研究院 | Method and device for constructing assertion equivalent hardware library, electronic equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8863049B1 (en) | Constraining traces in formal verification | |
CN115238619B (en) | Post-module simulation method and system for digital chip | |
CN117094269B (en) | Verification method, verification device, electronic equipment and readable storage medium | |
TWI768536B (en) | Integrated circuit simulation and design method and system thereof | |
US9286426B2 (en) | Method and apparatus for testing | |
US20250103789A1 (en) | Techniques for modeling and verification of convergence for hierarchical domain crossings | |
CN117350208A (en) | Method and apparatus for checking performance of sequential logic element | |
CN115470125B (en) | Log file-based debugging method, device and storage medium | |
US10515169B1 (en) | System, method, and computer program product for computing formal coverage data compatible with dynamic verification | |
CN114548027B (en) | Method, electronic device and storage medium for tracking signals in verification system | |
CN115906730A (en) | Method, device and storage medium for verifying logic system design | |
Jiang et al. | PyH2: Using PyMTL3 to create productive and open-source hardware testing methodologies | |
CN115688643A (en) | Method, apparatus and storage medium for simulating logic system design | |
CN112733478B (en) | Apparatus for formal verification of a design | |
CN117910398B (en) | Method, electronic device and storage medium for designing simulation logic system | |
CN116151187B (en) | Method, apparatus and storage medium for processing trigger condition | |
CN114328062B (en) | Method, device and storage medium for checking cache consistency | |
US20100269003A1 (en) | Delay fault diagnosis program | |
CN115510782B (en) | Method for locating verification errors, electronic device and storage medium | |
CN115732025A (en) | Method and device for verifying RAM access conflict | |
US20220083719A1 (en) | Logic simulation verification system, logic simulation verification method, and program | |
CN109933948B (en) | Form verification method, device, form verification platform and readable storage medium | |
CN114169287B (en) | Method for generating connection schematic diagram of verification environment, electronic equipment and storage medium | |
US10546083B1 (en) | System, method, and computer program product for improving coverage accuracy in formal verification | |
CN116738906B (en) | Method, circuit, device and storage medium for realizing circulation circuit |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230404 |