Improved Method for Connecting and Integrating a Design and Verification Platform, Storage Medium

By using proxy template classes and proxy interfaces in the verification platform, the problem of complex and inefficient code management caused by tight coupling of verification components and interface interfaces is solved, and more efficient code management and development efficiency is achieved.

CN114896924BActive Publication Date: 2025-06-17YUNHE ZHIWANG (SHANGHAI) TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210659782.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-13
Publication Date
2025-06-17
Estimated Expiration
2042-06-13

AI Technical Summary

Technical Problem

In the prior art, the verification component in the verification platform is tightly coupled with the interface interface, resulting in the verification component code that needs to be synchronized when the interface interface is modified, which is complex and inefficient in management.

Method used

By creating a proxy template class for the interface interface, inheriting and implementing the proxy template class in the interface interface, declaring and constructing the proxy for the interface interface, using the verification component to obtain the proxy for the interface interface, and completing the driver operation of the incentive request.

Benefits of technology

It reduces the difficulty of managing the verification platform code, improves the development efficiency of verification personnel, and avoids the problem of synchronous code modification caused by tight coupling of verification components and interface interfaces.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114896924B_ABST
    Figure CN114896924B_ABST
Patent Text Reader

Abstract

The present invention discloses an improved method and a storage medium for connecting and integrating a design and a verification platform. Among them, an improved method for connecting and integrating a design and a verification platform includes the following steps: creating a proxy template class for the interface; inheriting the proxy template class in the interface and implementing the pure virtual methods inside the proxy template class; declaring and constructing a proxy for the interface; creating a verification component related to the interface, using the verification component to obtain the proxy of the interface, and using the proxy to complete the driving operation of the stimulus request. The present invention solves the problems brought about by the tight coupling between the verification components in the verification platform and the interface. It strengthens the management of the verification platform code and improves the development efficiency of verification personnel.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of chip verification, and particularly relates to an improved method for connecting and integrating a design and a verification platform and a storage medium. Background Art

[0002] Usually, we use the virtual interface method to connect the DUT and the verification platform (testbench).

[0003] Usually, when we verify the DUT (Design Under Test), we widely use UVM (Universal Verification Methodology) to build the verification platform (testbench). Based on this verification methodology, we need to connect and integrate the DUT into the verification platform to verify its functional characteristics. Often, we use the virtual interface method to connect the two.

[0004] As Figure 1 shown, it is a typical architecture based on the UVM verification platform. It can be seen that we often connect the DUT to our verification platform through the interface. At this time, we usually need to complete the following things in the top-level module:

[0005] (1) Declare the interface;

[0006] (2) Connect the interface to the DUT;

[0007] (3) Pass the interface to the verification environment (env) through the UVM configuration database set config_db;

[0008] (4) The verification components in the verification environment then obtain the interface from the UVM configuration database to obtain the signals on the DUT.

[0009] Next, let's look at a simple example of the existing solution:

[0010] First, look at the interface. As Figure 2 shown, it has two data signal members, namely field1 and field2.

[0011] Then, look at the corresponding verification component. Taking the driver as an example, as Figure 3As shown in the figure, first, obtain the interface from the UVM configuration database in the build_phase, and then in the run_phase, first reset the interface signals, and then continuously obtain the stimulus requests from the sequencer. If it is empty, continue with the reset operation. If it is not empty, drive the stimulus request signals to the interface, thereby applying them to the input ports of the DUT.

[0012] Main defects

[0013] Adopting the above scheme is the most common practice, but it does not conform to the principle of loose coupling in software development because it will form a tightly coupled relationship between the verification components in the verification platform and the interface. If the interface is modified during development, then the code of many verification components tightly coupled to this interface also needs to be modified accordingly. For example, during the design and verification of RTL (Register Transfer Level), designers may modify some of the interface signals in the RTL, then the code of the verification platform developed by the verification engineers also needs to be modified synchronously. At this time, verification engineers can usually adopt the following two methods to synchronize:

[0014] (1) Directly modify the code in the original verification environment;

[0015] (2) Copy the entire code in the original verification environment and then make modifications;

[0016] For the first method, there is always only one latest version of the verification environment code, and it is impossible to trace back to previous code versions.

[0017] For the second method, the principle of software development is to try not to have duplicate code in multiple places. First, errors may occur during the copying process. Second, in case the code in the duplicate parts needs to be modified, then multiple places need to be modified, which is cumbersome and error-prone.

[0018] Therefore, the above two methods are not only inconvenient for code management but also very clumsy. A better approach is to provide a method similar to software version management to reuse the code of the previously written verification platform, thereby reducing the difficulty of future code management as much as possible and improving the efficiency of verification engineers' development work. Summary of the Invention

[0019] According to an embodiment of the present invention, an improved method for connecting and integrating a design and a verification platform is provided, including the following steps:

[0020] Create a proxy template class for the interface;

[0021] Inherit the proxy template class in the interface interface and implement the pure virtual methods inside the proxy template class;

[0022] Declare and construct the proxy of the interface interface;

[0023] Create a verification component related to the interface interface, use the verification component to obtain the proxy of the interface interface, and use the proxy to complete the driving operation of the stimulus request.

[0024] Furthermore, the proxy template class can implement corresponding proxy methods according to the preset data signal members in the interface interface, which are used to set and obtain signal values.

[0025] Furthermore, in addition to the corresponding proxy methods, the proxy template class also includes proxy methods for reset and clock edge waiting.

[0026] Furthermore, when using the verification component to obtain the proxy of the interface interface, the verification component no longer needs to obtain the interface interface.

[0027] According to another embodiment of the present invention, there is provided a storage medium having non-volatile program code executable by a processor, and the program code causes the processor to run an improved method for connecting and integrating a design and verification platform.

[0028] The improved method for connecting and integrating a design and verification platform according to an embodiment of the present invention solves the problems brought about by the tight coupling between the verification component and the interface interface in the verification platform. It strengthens the management of the verification platform code and improves the development efficiency of verification personnel.

[0029] It should be understood that both the foregoing general description and the following detailed description are exemplary and are intended to provide further explanation of the claimed technology. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] Figure 1 Is a typical architecture of the UVM verification platform.

[0031] Figure 2 Is the first code diagram of the existing solution.

[0032] Figure 3 Is the second code diagram of the existing solution.

[0033] Figure 4 Is a flowchart of an improved method for connecting and integrating a design and verification platform according to an embodiment of the present invention.

[0034] Figure 5Structural diagram of an improved method for connecting and integrating a design and verification platform according to an embodiment of the present invention.

[0035] Figure 6 The first code diagram of an example of an improved method for connecting and integrating a design and verification platform according to an embodiment of the present invention.

[0036] Figure 7 The second code diagram of an example of an improved method for connecting and integrating a design and verification platform according to an embodiment of the present invention.

[0037] Figure 8 The third code diagram of an example of an improved method for connecting and integrating a design and verification platform according to an embodiment of the present invention. Detailed implementation manners

[0038] Hereinafter, the preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings to further elaborate on the present invention.

[0039] First, in combination with Figures 4-5 An improved method for connecting and integrating a design and verification platform according to an embodiment of the present invention will be described, which is used for chip verification and has a wide range of application scenarios.

[0040] As Figures 4-5 shown, the improved method for connecting and integrating a design and verification platform according to an embodiment of the present invention includes the following steps:

[0041] In S1, as Figure 4 shown, create a proxy template class for the interface. In this embodiment, the proxy template class must be inherited and its internal pure virtual methods must be implemented. Further, the proxy template class can implement corresponding proxy methods according to the preset data signal members in the interface for setting and obtaining signal values. In addition to the corresponding proxy methods, the proxy template class also includes proxy methods for reset and clock edge waiting. According to the interface protocol in a specific project, more corresponding proxy methods can be added here.

[0042] In S2, as Figure 4 shown, inherit the proxy template class in the interface and implement the internal pure virtual methods of the proxy template class.

[0043] In S3, as Figure 4 shown, declare and construct a proxy for the interface.

[0044] In S4, as Figure 4As shown, a verification component related to the interface is created. The verification component is used to obtain the proxy of the interface, and the proxy is used to complete the driving operation of the stimulus request. In this embodiment, further, when using the verification component to obtain the proxy of the interface, the verification component no longer needs to obtain the interface.

[0045] The replacement of the existing solution has been completed through the above four steps.

[0046] For example:

[0047] If the designer adds a data signal member field3 to the port signals of the RTL design, the code of the verification environment can be updated through the following steps.

[0048] The first step, as Figure 6 shown, it is necessary to inherit the proxy template class of the previous interface and add a pure virtual method for operating the proxy of the newly added member field3, so as to form a new proxy template class.

[0049] The second step, as Figure 7 shown, inherit the proxy template class of the previous step in the corresponding interface, and then add a proxy method for implementing the operation of the newly added member field3 in the previous step.

[0050] The third step, as Figure 8 shown, inherit the previous verification component to reuse the previous code, and only need to call the method of the parent class and add the modified part.

[0051] It can be seen that in the drive method, the method of the parent class is called through the super keyword, and then the newly added data signal member is driven through the method of the interface proxy. At this time, the synchronous modification of the verification environment code and the interface is completed.

[0052] Above, with reference to Figures 4-5 the improvement method for connecting and integrating the design and verification platform according to the embodiment of the present invention is described, which solves the problem brought by the tight coupling between the verification component and the interface in the verification platform. Strengthen the management of the verification platform code and improve the development efficiency of verification personnel.

[0053] According to another embodiment of the present invention, a storage medium with non-volatile program code executable by a processor is provided, and the program code enables the processor to run the improvement method for connecting and integrating the design and verification platform.

[0054] It should be noted that in this specification, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements not only includes those elements, but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. Without further limitation, the elements defined by the statement "comprising..." do not exclude the presence of additional identical elements in the process, method, article or device comprising the elements.

[0055] Although the content of the present invention has been described in detail through the above preferred embodiments, it should be recognized that the above description should not be considered as a limitation of the present invention. After those skilled in the art have read the above content, various modifications and alternatives to the present invention will be obvious. Therefore, the protection scope of the present invention should be defined by the appended claims.

Claims

1. An improved method for connecting and integrating a design and verification platform, characterized in that, It includes the following steps: Create a proxy template class for the interface; Inherit the proxy template class in the interface and implement the pure virtual methods inside the proxy template class; Declare and construct the proxy of the interface; Create a verification component related to the interface, use the verification component to obtain the proxy of the interface, and use the proxy to complete the driving operation of the stimulus request.

2. The improved method for connecting and integrating a design and verification platform according to claim 1, characterized in that, The proxy template class can implement corresponding proxy methods according to the preset data signal members in the interface for setting and obtaining signal values.

3. The improved method for connecting and integrating a design and verification platform according to claim 2, characterized in that, In addition to the corresponding proxy methods, the proxy template class also includes proxy methods for reset and clock edge waiting.

4. The improved method for connecting and integrating a design and verification platform according to claim 1, characterized in that, When using the verification component to obtain the proxy of the interface, the verification component no longer needs to obtain the interface.

5. A storage medium having non-volatile program code executable by a processor, characterized in that, The program code causes the processor to run the improved method for connecting and integrating the design and verification platform according to any one of claims 1-4.

Citation Information

Patent Citations

  • Universal verification methodology (UVM) register abstraction layer (RAL) traffic predictor

    US20180300431A1

  • Device verification system with firmware universal verification component

    US9836372B1