Verification environment and object association method, device, terminal equipment and storage medium

By creating binding modules in integration verification and managing relationships using index values ​​from the environment management list, the problem of automatically associating verification objects and environments is solved, improving integration efficiency and reducing errors.

CN120805147BActive Publication Date: 2026-03-03HANGZHOU CORE POWER SEMICON CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-09
Publication Date
2026-03-03

AI Technical Summary

Technical Problem

During the integration verification process, changes in the hierarchical path of the verification object and environment increase the time required for signal reconnection and interface configuration, and are prone to errors, making it difficult to reuse existing methods efficiently.

Method used

By creating binding modules and storing their information in the environment management list, the correspondence between binding modules and verification environments is managed using index values, thus achieving automatic association.

Benefits of technology

It shortened the integration verification time, avoided association errors, and improved integration efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120805147B_ABST
    Figure CN120805147B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of simulation verification, in particular to a verification environment and object association method and device, terminal equipment and a storage medium. The method comprises the following steps: when module-level verification is performed, a binding module is created according to a verification object and is bound with the verification object, and the binding module information is stored in an environment management list; a verification environment is added to the environment management list; according to the corresponding relationship between the verification object and the verification environment, the verification environment and the binding module are associated in the environment management list, so that the verification environment is associated with the corresponding verification object through the binding module. Even if the verification level is changed, the corresponding relationship between the binding module and the verification environment recorded in the environment management list can be relied on for association.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of simulation verification technology, and in particular to a method, apparatus, terminal device and storage medium for associating a verification environment and an object. Background Technology

[0002] In integrated circuit design, a modular design approach is typically employed, breaking down the entire function into smaller modules. The design of the lower-level modules is performed first, followed by integration to achieve the overall functionality. Similarly, chip verification first creates a low-level environment to verify the lower-level modules, then integrates these environments to verify the upper-level modules. While there are relatively mature methods for upward integration of the verification object and the environment, the hierarchical paths of both change after integration, making it difficult to reuse the previous associations between the environment and the verification object. This introduces challenges to post-integration verification. Current conventional methods for integration verification require time for signal reconnection and interface configuration, increasing the verification time. Furthermore, accurate identification of the hierarchical paths of the integrated signals and environment is crucial, and manual integration is prone to errors. Summary of the Invention

[0003] In view of this, embodiments of this application provide a method, apparatus, terminal device, and storage medium for verifying the association between the environment and the object, which can effectively solve problems such as long integration verification time.

[0004] In a first aspect, embodiments of this application provide a method for verifying the association between an environment and an object, including:

[0005] When performing module-level verification, a binding module is created based on the verification object and bound to the verification object, and the binding module information is stored in the environment management list;

[0006] Add the verification environment to the environment management list;

[0007] Based on the correspondence between the verification object and the verification environment, the verification environment and the binding module are associated in the environment management list, so that the verification environment is associated with the corresponding verification object through the binding module.

[0008] In some embodiments, the step of creating a binding module based on the verification object and binding it to the verification object, and storing the binding module information in the environment management list, includes:

[0009] The binding module is bound to the verification object using the binding syntax configured in the database;

[0010] Determine the first storage sequence number of the binding module, and store the verification object name corresponding to the binding module and the first storage sequence number as index values ​​in the environment management list.

[0011] In some embodiments, adding the verification environment to the environment management list includes:

[0012] Determine the environment name of the verification environment and the second entry number for adding the verification environment to the environment management list;

[0013] The corresponding verification object name and the second storage sequence number are used as the index value of the verification environment.

[0014] In some embodiments, associating the verification environment and the binding module in the environment management list according to the correspondence between the verification object and the verification environment includes:

[0015] Identify the binding modules and verification environments with the same index value in the environment management list, and associate the binding modules and verification environments with each other.

[0016] In some embodiments, the verification environment is associated with the binding module and the corresponding verification object, including:

[0017] Obtain the verification level of the verification environment;

[0018] The binding module corresponding to the verification environment is obtained from the environment management list;

[0019] The binding module is configured into the verification layer so that the verification environment is associated with the corresponding verification object through the binding module.

[0020] In some embodiments, obtaining the verification level of the verification environment includes:

[0021] The verification environment records the current verification level in real time;

[0022] When the verification environment needs to obtain the verification object, the recorded verification level is obtained from the verification environment.

[0023] In some embodiments, obtaining the binding module corresponding to the verification environment through the environment management list includes:

[0024] The binding module corresponding to the verification environment is obtained from the environment management list using the scheduling method of the configured database.

[0025] Secondly, this application also provides a verification environment and object association apparatus, comprising:

[0026] The verification object binding module is used to create a binding module based on the verification object module and bind it to the verification object when performing module-level verification, and store the binding module information in the environment management list.

[0027] The verification environment binding module is used to add the verification environment to the environment management list;

[0028] The association module is used to associate the verification environment with the binding module in the environment management list according to the correspondence between the verification object and the verification environment, so that the verification environment is associated with the corresponding verification object through the binding module.

[0029] Thirdly, this application also provides a terminal device, the terminal device including a processor and a memory, the memory storing a computer program, and the processor executing the computer program to implement the verification environment and object association method.

[0030] Fourthly, this application also provides a computer-readable storage medium storing a computer program that, when executed on a processor, implements the verification environment and object association method described above.

[0031] The embodiments of this application have the following beneficial effects:

[0032] By binding modules and verification objects, and then storing the verification environment and verification interface in a verification environment management list, the verification environment can automatically call the corresponding bound module based on this list after upward integration, thus automatically associating with the verification object. This automatic association increases integration efficiency. Attached Figure Description

[0033] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0034] Figure 1 This illustration shows a flowchart of a method for verifying the association between an environment and an object, according to an embodiment of this application.

[0035] Figure 2 A simulation diagram of the module-level verification environment and verification object in an embodiment of this application is shown;

[0036] Figure 3 This paper presents a simulation diagram of the verification environment and verification object after module integration in an embodiment of this application.

[0037] Figure 4 This illustration shows a schematic diagram of a module integration verification environment and verification object association process according to an embodiment of this application;

[0038] Figure 5 A schematic diagram of a verification environment and object association device according to an embodiment of this application is shown. Detailed Implementation

[0039] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments.

[0040] The components of the embodiments of this application described and illustrated in the accompanying drawings can be arranged and designed in a variety of different configurations. Therefore, the following detailed description of the embodiments of this application provided in the drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.

[0041] In the following text, the terms "comprising," "having," and their cognates, which may be used in various embodiments of this application, are intended only to indicate a particular feature, number, step, operation, element, component, or combination thereof, and should not be construed as primarily excluding the presence of one or more other features, numbers, steps, operations, elements, components, or combinations thereof, or adding the possibility of one or more combinations thereof. Furthermore, the terms "first," "second," "third," etc., are used only for distinguishing descriptions and should not be construed as indicating or implying relative importance.

[0042] Unless otherwise specified, all terms used herein (including technical and scientific terms) shall have the same meaning as commonly understood by one of ordinary skill in the art to which the various embodiments of this application pertain. Terms (such as those defined in commonly used dictionaries) shall be interpreted as having the same meaning as in their contextual meaning in the relevant technical field and shall not be construed as having an idealized or overly formal meaning, unless clearly defined in the various embodiments of this application.

[0043] The following detailed description of some embodiments of this application is provided in conjunction with the accompanying drawings. Unless otherwise specified, the following embodiments and features can be combined with each other.

[0044] Because current conventional methods for integration verification require time to reconnect signals and configure interfaces, increasing the integration verification time, this application provides a method for associating verification environments and objects. By establishing and binding binding modules for verification objects and managing the correspondence between binding modules and the verification environments to be associated through an environment management list, even if the verification level of the verification object and the verification environment changes during upward integration, the verification environment can still automatically find the corresponding verification object by relying on the bound modules, thereby achieving automatic association between the integrated verification environment and the verification object.

[0045] The following examples illustrate the verification environment and object association method.

[0046] Figure 1 A flowchart illustrating a verification environment and object association method according to an embodiment of this application is shown. Exemplarily, the verification environment and object association method includes steps S100 to S300:

[0047] In step S100, when performing module-level verification, a binding module is created based on the verification object and bound to the verification object, and the binding module information is stored in the environment management list.

[0048] The method in this embodiment is applied to the simulation verification scenario of the UVM (universal verification methodology). Simulation verification mainly includes two parts: the verification object and the verification environment. This embodiment is used to quickly and effectively associate these two parts. During module-level verification, these two parts are associated through an interface. When the simulation starts, it is also necessary to pass the interface to the verification structure level where the verification environment is located through a preset configuration method, so that the verification environment can obtain the interface and thus realize the signal excitation and signal detection of the verification object.

[0049] like Figure 2 The diagram shows the simulation structure for module-level verification of a verification object. In this case, there is a verification environment and a corresponding verification object. In the method of this embodiment, when simulation verification is to be performed, a binding module for the verification object is created and bound to the verification object. Exemplarily, this binding module includes an intf interface, which can establish a signal connection with the bound verification object module. That is, the binding module and the verification object can establish a signal connection, so regardless of any changes in the hierarchical path of the integrated verification object, the binding module can always establish the correct signal connection with the verification object, thereby enabling the correct verification object to be found through this connection.

[0050] Since the verification objects are not unique after upward integration, the different verification objects are named differently to distinguish them, such as module_a, module_b, etc.

[0051] Specifically, once the binding module and the verification object are bound, each time the verification object is instantiated, a binding module corresponding to that verification object will also be instantiated. The corresponding connection interface can be instantiated in the binding module.

[0052] The verification object is not unique, so the interface corresponding to the verification object is also not unique. Each verification object will have a corresponding binding module.

[0053] The environment management list, in this embodiment, is a table used to manage the correspondence between binding modules and verification environments. This table stores information about the binding modules. Primarily, after a binding module is generated and bound to a verification object, its information is stored in this environment management list.

[0054] Each bound module information is assigned an index value when stored in the environment management list. In one embodiment, the index value can be the module name corresponding to the bound module and the number of times that module with that name has been stored in the environment management list. This ensures that each bound module has a unique index value through the two variables: name and number of times it has been added. The number of times the interface information of the same named module has been added to the environment management list allows for multiple instantiations of the same named module at higher levels, meaning multiple interfaces of the same type can be added to the environment management list.

[0055] like Figure 3 The diagram illustrates the association between the verification environment and the verification object after module integration. The integrated environment management list will store multiple bound module information entries; the index of a bound module is its first entry number and the name of the bound module.

[0056] The first entry sequence number is determined by the environment management list when a binding module is added to the environment management list, based on the number of times the binding module with the same name has been added. For example, if a binding module named `bind1` is added to the environment management list for the 10th time, then its first entry sequence number is 10. Therefore, the index of this binding module is "bind1 + 10". Its name plus the first entry sequence number together serve as the index of the binding module in the environment management list. When querying this binding module, it can be directly retrieved using this index.

[0057] Step S200: Add the verification environment to the environment management list.

[0058] During module-level verification, the verification environment is also stored in the environment management list. The index value of each verification environment is similar to the index value of the verification object mentioned above. It is determined by the name of the verification environment and the number of times the verification environment with the same name is stored in the environment management list as the second storage sequence number.

[0059] Furthermore, before integration, the verification environment and the verification object already have a relationship. Therefore, the verification environment here can also be stored in the environment management list using the module name and the second storage sequence number as index values. The first and second storage sequence numbers are separate numbers used to record the storage order for the bound module and the verification environment, respectively. They are calculated independently and will not interfere with each other. For example, two counters can be set for the first and second storage sequence numbers. Each time a module with the same name is stored, the corresponding counter is incremented by 1, and the incremented value is used as the first or second storage sequence number.

[0060] It should be noted that the verification environment and the verification object already have a corresponding relationship during module-level verification before upward integration simulation verification. Therefore, when a verification environment is stored in the environment management list, it can directly use the name of its corresponding verification object as its own name. Furthermore, because there is a one-to-one correspondence between the verification environment and the verification object, if one does not participate in verification, the other will also not participate. If one participates in verification, the other must participate in the binding process. Therefore, the first and second storage serial numbers of both will increase synchronously, and thus their first and second storage serial numbers will be the same. Therefore, it can be understood that in the method of this embodiment, the index values ​​of two interrelated verification environments and verification objects will be the same.

[0061] As in Figure 3 In the environment management list described above, the columns for verification environment and verification object contain module names within square brackets, indicating the corresponding modules. The verification environment is indicated by "env" before the square brackets, and the module is indicated by the binding module name "harness". This is used to distinguish between verification objects and verification interfaces.

[0062] Figure 3 For simplicity, this example uses three verification objects and three verification environments. It is understood that the number of modules and environments can be changed according to the actual situation. This is just a demonstration for the sake of explanation. In actual scenarios, the environment management list can be stored in a similar format to store more verification environments and verification modules.

[0063] Step S300: Based on the correspondence between the verification object and the verification environment, associate the verification environment and the binding module in the environment management list, so that the verification environment is associated with the corresponding verification object through the binding module.

[0064] like Figure 3 As shown, there is a one-to-one connection between the verification environment and the binding module, which indicates that there is a one-to-one relationship between the verification environment and the binding module. This one-to-one relationship is generated based on the correspondence between the verification object and the verification environment.

[0065] As described above regarding the index values ​​of the verification environment and verification object in the environment management list, since both the binding module and the verification environment carry the name of the verification object in the table, this underlying correspondence can be established by name. After successful association, this association can be recorded using the indexes of both. Once the association is established, during actual verification, the index can be used for matching to obtain the interface configuration information in the binding module.

[0066] The specific related processes, such as Figure 4 As shown, it includes:

[0067] Step S400: Obtain the verification level of the verification environment.

[0068] When modules are integrated upwards, the verification level of the verification environment will change. The verification environment will record its current verification level in real time. When the verification environment needs to associate with a verification object, it can obtain the current verification level from the verification environment.

[0069] Step S500: Obtain the binding module corresponding to the verification environment through the environment management list.

[0070] After obtaining the verification level, the next step is to obtain the bound module corresponding to the verification environment through the environment management list.

[0071] As mentioned above, the index values ​​of the interconnected verification environment and the binding module are actually the same. Therefore, by using the index value of the verification environment, an index can be used to find the binding module with the same index value.

[0072] The environment management list only retrieves the name of the bound module here. To call the interface, the bound module needs to be obtained through the configured database scheduling method. For example, the config_db retrieval method could be used to call the bound module.

[0073] Step S600: Configure the binding module into the verification layer, so that the verification environment is associated with the corresponding verification object through the binding module.

[0074] Once the binding module is found, it can be configured into the verification hierarchy of the verification environment. This allows the verification environment to associate with the corresponding verification object through the binding module.

[0075] After configuring the binding module to the layer where the verification environment is located, the verification environment uses the config_db retrieval method to obtain the configured binding module, thereby completing the retrieval operation.

[0076] It is understandable that this embodiment directly records the association structure of module-level verification integration through the environment management list. It mainly saves the association relationship between the bound module and the verification environment. When integrating upwards, the association process can be omitted, and the bound module can be called directly through the association relationship recorded in the table to achieve automatic association, shorten the verification integration time, and avoid association errors that occur during the verification integration process.

[0077] Figure 5 A schematic diagram of an automatic association device for verification environment and verification object according to an embodiment of this application is shown. Exemplarily, the device includes:

[0078] The verification object binding module 10 is used to create a binding module based on the verification object and bind it to the verification object when performing module-level verification, and to store the binding module information in the environment management list.

[0079] Verification environment binding module 20 is used to store the verification environment into the environment management list;

[0080] The association module 30 is used to associate the verification environment with the binding module in the environment management list according to the correspondence between the verification object and the verification environment, so that the verification environment is associated with the corresponding verification object through the binding module.

[0081] This application also provides a terminal device, which includes a processor and a memory, the memory storing a computer program, and the processor executing the computer program to implement the verification environment and object association method described above.

[0082] This application also provides a computer-readable storage medium storing a computer program that, when executed on a processor, implements the verification environment and object association method described above.

[0083] It is understood that the apparatus of this embodiment corresponds to the method of the above embodiments, and the options in the above embodiments are also applicable to this embodiment, so they will not be described again here.

[0084] This application also provides a terminal device, exemplary of which includes a processor and a memory, wherein the memory stores a computer program, and the processor executes the computer program to enable the terminal device to perform the functions of the various modules in the above-described method or apparatus.

[0085] The processor can be an integrated circuit chip with signal processing capabilities. The processor can be a general-purpose processor, including at least one of a Central Processing Unit (CPU), Graphics Processing Unit (GPU), Network Processor (NP), Digital Signal Processor (DSP), Application-Specific Integrated Circuit (ASIC), Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The general-purpose processor can be a microprocessor or any conventional processor, capable of implementing or executing the methods, steps, and logic block diagrams disclosed in the embodiments of this application.

[0086] The memory can be, but is not limited to, Random Access Memory (RAM), Read Only Memory (ROM), Programmable Read-Only Memory (PROM), Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), etc. The memory is used to store computer programs, and the processor can execute the computer programs accordingly after receiving execution instructions.

[0087] This application also provides a computer-readable storage medium for storing the computer program used in the aforementioned terminal device. For example, the computer-readable storage medium may include, but is not limited to, various media capable of storing program code, such as a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0088] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can also be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings show the architecture, functionality, and operation of possible implementations of apparatus, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that, in alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and combinations of blocks in the block diagram and / or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0089] In addition, the functional modules or units in the various embodiments of this application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.

[0090] If the aforementioned functions are implemented as software functional modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a smartphone, personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application.

[0091] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.

Claims

1. A method for verifying the association between an environment and an object, characterized in that, The method comprises the following steps: When performing module-level verification, a binding module is created according to a verification object and is bound to the verification object, and information of the binding module is stored in an environment management list; A verification environment is added to the environment management list; Binding modules and verification environments with the same index value in the environment management list are determined, and the binding modules and the verification environments are associated with each other, so that the verification environment is associated with corresponding verification objects through the binding modules.

2. The method of claim 1, wherein, The step of creating a binding module according to a verification object and binding the binding module to the verification object and storing information of the binding module in an environment management list comprises the following steps: The binding module is bound to the verification object through a binding syntax of a configuration database; A first storage sequence number of the binding module is determined, and a verification object name corresponding to the binding module and the first storage sequence number are stored in the environment management list as index values.

3. The method of claim 1, wherein, The step of adding a verification environment to the environment management list comprises the following steps: An environment name of the verification environment and a second storage sequence number of the verification environment added to the environment management list are determined; A verification object name corresponding to the verification environment and the second storage sequence number are used as index values of the verification environment.

4. The method of claim 1, wherein, The step of associating the verification environment with corresponding verification objects through the binding module comprises the following steps: A verification level in which the verification environment is located is obtained; A binding module corresponding to the verification environment is obtained through the environment management list; The binding module is configured in the verification level, so that the verification environment is associated with corresponding verification objects through the binding module.

5. The method of claim 4, wherein, The step of obtaining the verification level in which the verification environment is located comprises the following steps: The verification environment records a current verification level in real time; When the verification environment needs to obtain the verification object, the recorded verification level is obtained from the verification environment.

6. The method of claim 1, wherein, The step of obtaining the binding module corresponding to the verification environment through the environment management list comprises the following steps: The binding module corresponding to the verification environment is obtained from the environment management list through a scheduling method of the configuration database.

7. An apparatus for verifying an environment and object association, comprising: The method comprises the following steps: A verification object binding module is used to create a binding module according to a verification object module and bind the binding module to the verification object, and information of the binding module is stored in an environment management list; A verification environment binding module is used to add a verification environment to the environment management list; An association module is used to determine binding modules and verification environments with the same index value in the environment management list, and the binding modules and the verification environments are associated with each other, so that the verification environment is associated with corresponding verification objects through the binding modules.

8. A terminal device, comprising: The terminal device comprises a processor and a memory, the memory stores a computer program, and the processor is used to execute the computer program to implement the verification environment and object association method in any one of claims 1-6.

9. A computer-readable storage medium, characterized in that, The computer program is stored in the memory and is executed on the processor to implement the verification environment and object association method in any one of claims 1-6.

Citation Information

Patent Citations

  • Design verification method, verification system, computer equipment and storage medium

    CN115730559A

  • Verification environment generation method, verification environment generation device, function verification method and function verification system

    CN119378483A