Verification method and device, electronic equipment and storage medium
By receiving and matching excitation information and configuration information, generating ideal result information, and comparing and verifying it with the actual result information, the problem of lack of complete verification model modules in integrated circuit design is solved, and an efficient verification process is realized, reducing costs and cycles.
Patent Information
- Application Number
- CN202311265226.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-27
- Publication Date
- 2025-03-28
AI Technical Summary
In the integrated circuit design process, the lack of complete verification model modules makes it impossible to effectively verify the test design modules through the comparison of simulation results and real results.
A verification method is proposed, by receiving pre-configured incentive information and configuration information, matching and comparing and verifying it with the actual result information output from the design module to be tested to generate verification results.
This method does not require a complex development process, and can reduce verification costs, shorten verification cycles, and realize effective verification of the test design module.
Smart Images

Figure CN119720899A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of integrated circuit technology, and in particular to a verification method, device, electronic device and storage medium. Background Art
[0002] At present, in the design process of integrated circuit (Integrated Circuit, IC for short), the verification platform based on universal verification methodology (Universal Verification Methodology, UVM for short) framework is mainly used for verification. In the related art, the excitation signal generated by the main agent module is sent to the input port of the design module to be tested (Design Under Test, DUT for short) through the interface (Interface, IF for short), and is sent to the verification model module with the same function as DUT developed in other languages at the same time, the result data output by the verification model module is sent to the inspection module, the result data of the output of DUT is collected from the agent module and uploaded to the inspection module, and the inspection module compares and verifies according to the two received result data, and realizes the verification function of DUT. However, in the absence of a complete verification model module, it is impossible to compare the simulation result of the verification model module operation with the real result of DUT operation to realize the verification function of DUT. Summary of the invention
[0003] The present disclosure aims to solve one of the technical problems in the related art at least to some extent.
[0004] To this end, the first objective of the present disclosure is to propose a verification method.
[0005] The second objective of the present disclosure is to provide a verification device.
[0006] A third objective of the present disclosure is to provide an electronic device.
[0007] A fourth objective of the present disclosure is to provide a computer-readable storage medium.
[0008] To achieve the above-mentioned purpose, the first aspect of the present disclosure proposes a verification method, which includes: receiving pre-configured stimulus information for input into a design module to be tested and configuration information for characterizing functional characteristics of the design module to be tested; matching the stimulus information and the configuration information, and determining ideal result information based on the matching result; obtaining actual result information output by the design module to be tested according to the stimulus information; and comparing and verifying the ideal result information and the actual result information to generate a verification result.
[0009] According to one embodiment of the present disclosure, the incentive information is generated by the following method, including: pre-configuring a configuration module provided at a test case layer of a general verification methodology verification platform to generate initial incentive information; and driving and processing the initial incentive information by a main agent module provided at a core component layer of the general verification methodology verification platform to generate the incentive information.
[0010] According to one embodiment of the present disclosure, the design module to be tested is a lookup table module, the stimulus information includes a destination physical address, the configuration information includes an associative array consisting of multiple source physical addresses and multiple source port addresses, the ideal result information is an ideal destination port address, and the actual result information is an actual destination port address.
[0011] According to one embodiment of the present disclosure, generating ideal result information based on the stimulus information and the configuration information includes: searching for a source physical address corresponding to the destination physical address among a plurality of source physical addresses in the associative array; and determining the source port address associated with the corresponding source physical address in the associative array as the ideal destination port address.
[0012] According to one embodiment of the present disclosure, generating ideal result information based on the stimulus information and the configuration information includes: if there is no source physical address corresponding to the destination physical address among the multiple source physical addresses of the associative array, outputting prompt information for sending data by broadcasting.
[0013] According to one embodiment of the present disclosure, after the output of the prompt information for sending data by broadcasting, it includes: obtaining feedback information sent by the target source port based on the prompt information, and the feedback information is generated after the target physical address in the feedback information successfully matches the target source port address of the target source port.
[0014] According to an embodiment of the present disclosure, a new associative array is generated by matching the target physical address in the successfully matched feedback information with the target source port address of the target source port, and the associative array is updated to the configuration information.
[0015] To achieve the above-mentioned purpose, the second aspect embodiment of the present disclosure proposes a verification device, including: a receiving module, used to receive pre-configured stimulus information for input into a design module to be tested and configuration information for characterizing the functional characteristics of the design module to be tested; a generating module, used to match the stimulus information and the configuration information, and determine ideal result information based on the matching result; an acquiring module, used to acquire actual result information output by the design module to be tested according to the stimulus information; and a verifying module, used to compare and verify the ideal result information and the actual result information to generate a verification result.
[0016] To achieve the above-mentioned purpose, the third aspect embodiment of the present disclosure proposes an electronic device, comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the verification method described in the first aspect embodiment of the present disclosure is implemented.
[0017] To achieve the above-mentioned purpose, the fourth aspect of the present disclosure proposes a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, the verification method described in the first aspect of the present disclosure is implemented.
[0018] In the method disclosed in the present invention: receiving pre-configured stimulus information for inputting into the design module to be tested and configuration information for characterizing the functional characteristics of the design module to be tested; matching the stimulus information and the configuration information, and determining the ideal result information based on the matching result; obtaining the actual result information output by the design module to be tested according to the stimulus information; comparing and verifying the ideal result information and the actual result information to generate a verification result. Thus, by matching the stimulus information and the configuration information, determining the ideal result information, and comparing and verifying the actual result information output by the design module to be tested according to the stimulus information, and determining the verification result, compared with the method in the current technology of developing a verification model module with the same logic as the design module to be tested, and comparing and verifying based on the output results of the two, the method disclosed in the present invention does not require a complicated development process, can reduce the verification cost, and shorten the verification cycle. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] Figure 1 is a flow chart of a verification method according to an exemplary embodiment of the present disclosure;
[0020] Figure 2 It is a structural schematic block diagram of a UVM framework according to an exemplary embodiment of the present disclosure;
[0021] Figure 3 It is a schematic diagram of the structure of the UVM framework in the current technology;
[0022] Figure 4 is a flowchart of another verification method according to an exemplary embodiment of the present disclosure;
[0023] Figure 5 is a block diagram of a verification device according to an exemplary embodiment of the present disclosure;
[0024] Figure 6 is a schematic structural diagram of an electronic device according to an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION
[0025] Embodiments of the present disclosure are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present disclosure, and should not be construed as limiting the present disclosure.
[0026] Figure 1 is a flowchart of a verification method according to an exemplary embodiment of the present disclosure. Figure 1 As shown, the verification method includes the following steps:
[0027] S101 , receiving pre-configured stimulus information for inputting into a design module to be tested and configuration information for characterizing functional characteristics of the design module to be tested.
[0028] The verification method in the embodiment of the present disclosure can be applied to the development of vehicle IC, especially when there is no complete reference model available. The verification method in the embodiment of the present disclosure can be executed by the verification device in the embodiment of the present disclosure, which can be set on the electronic equipment of the vehicle.
[0029] It should be noted that a UVM framework is also proposed in the embodiments of the present disclosure, such as Figure 2 As shown, the UVM framework includes a slave agent module and a configuration module, as well as a master agent module. It should be noted that the verification method disclosed in the present invention is implemented based on the slave agent module.
[0030] It should be noted that the configuration module stores information that needs to be synchronized between the master agent module and the slave agent module.
[0031] The slave agent module is used to detect events generated by the design module to be tested based on the stimulus information, and correspondingly, the master agent module is used to send the stimulus information to the design module to be tested.
[0032] In the disclosed embodiment, the stimulus information is to apply corresponding input stimulus to verify the design module to be tested, and then monitor and compare whether the output result meets the expectation. In the disclosed embodiment, the type and content of the stimulus information are designed in advance and can be changed according to the actual test needs and development needs, and no limitation is made here. For example, the stimulus information can be a pre-set data signal, or a valid signal, or a ready signal, etc. The user can adjust the functions, terminals, ports, etc. that need to be verified according to the test needs and development needs.
[0033] In the embodiments of the present disclosure, the configuration information is designed in advance and is used to characterize the functional characteristics or operating data of the design module to be tested that needs to be tested or finally verified.
[0034] S102, matching the incentive information and the configuration information, and determining ideal result information based on the matching result.
[0035] In the disclosed embodiment, after obtaining the incentive information and configuration information, the proxy module can parse the incentive information and configuration information, and determine the ideal result information by comparing the incentive information and configuration information. It should be noted that the ideal result information is the operating data or achievable functional characteristics of the design module to be tested in the best operating state. It should be noted that there are many methods for generating ideal result information based on the incentive information and configuration information, and no limitation is made here.
[0036] In the disclosed embodiment, the configuration information may be a historical operation log under normal operating conditions, and the historical operation log contains historical incentive information and result information output based on the historical incentive information. By matching the incentive information with the historical incentive information in the configuration information, the ideal result information that the incentive information should output under normal operation can be determined from the historical configuration data. For example, the historical operation log may include matters and matter names of historical incentive information, and the result information outputted by the matters of the historical incentive information corresponding to the historical incentive information may be the IC port that processes the matter and the name of the corresponding IC port, and the name of the corresponding IC port of the incentive information under the ideal operating condition can be determined by converting the incentive information into matters and matching the matter names corresponding to the incentive information with the matter names of the historical incentive information.
[0037] Optionally, the configuration information may also include a waveform under an ideal operating state and result information corresponding to the waveform. By matching the waveform of the excitation signal with the waveform in the configuration information, the ideal result information of the excitation signal under the ideal operating state may be determined. It should be noted that the waveform under the ideal operating state and the result information corresponding to the waveform may be set in advance, such as experimentally prepared, and may be changed according to actual design needs, and no limitation is made here.
[0038] S103, obtaining actual result information output by the design module to be tested according to the stimulus information.
[0039] It should be noted that the actual result information is the data actually output after the stimulus information is input into the design module to be tested, which is the parameter of the actual operation. The actual result information may include a variety of information, which is not limited here, and can be set according to the actual test needs and development needs. For example, the actual result information may include operation data, operation ports, operation results, etc.
[0040] It should be noted that if Figure 2As shown, there is an interface between the design module to be tested and the slave agent module, and the actual result information output by the design module to be tested according to the input stimulus information can be sent to the design module to be tested through the interface. It should be noted that the interface can be of various types, and no limitation is made here. It can be set according to actual design needs. For example, the interface can be an IF interface.
[0041] S104, comparing and verifying the ideal result information and the actual result information to generate a verification result.
[0042] In the embodiments of the present disclosure, there may be multiple methods for generating verification results, which are not limited here.
[0043] Preferably, the error rate can be determined by the ideal result information and the actual result information, and compared based on the error rate and the error rate threshold. When the error rate is greater than the error rate threshold, it can be considered that the verification has failed, otherwise, it can be considered that the verification has passed.
[0044] It should be noted that the error rate is determined by the ratio of the number of error data to the total amount of data. The error rate threshold can be set in advance and can be changed according to actual design needs. No limitation is made here. For example, the error rate threshold can be 0.1. When the historical error rate is greater than 0.1, it can be considered that the verification has failed. When the historical error rate is less than or equal to 0.1, it can be considered that the verification has passed.
[0045] In the embodiment of the present disclosure, firstly, pre-configured stimulus information for inputting into the design module to be tested and configuration information for characterizing the functional characteristics of the design module to be tested are received, then the stimulus information and the configuration information are matched, and the ideal result information is determined based on the matching result, and then the actual result information output by the design module to be tested according to the stimulus information is obtained, and finally the ideal result information and the actual result information are compared and verified to generate a verification result. Thus, by matching the stimulus information and the configuration information, determining the ideal result information, and comparing and verifying with the actual result information output by the design module to be tested according to the stimulus information, and determining the verification result, compared with the method in the current technology of developing a verification model module with the same logic as the design module to be tested, and comparing and verifying based on the output results of the two, the method of the present disclosure does not require a complicated development process, can reduce the verification cost, and shorten the verification cycle.
[0046] Figure 3 It is a UVM framework used in current technology. Figure 2 The UVM framework proposed in this disclosure and Figure 3By comparison, it can be seen that the UVM framework proposed in the present disclosure cancels the verification model module and the scoring module, sets a configuration module at the test case layer, and adds a verification function to the slave agent module, so that verification can be structurally implemented without a verification model module.
[0047] In the embodiment of the present disclosure, the generation of incentive information may first pre-configure the configuration module to generate initial incentive information, and then drive the initial incentive information through the main agent module to generate incentive information.
[0048] It should be noted that users can pre-configure the configuration module according to actual testing needs and development needs, such as configuring the test time, number of times, test functions, etc.
[0049] It should be noted that the design module to be tested in the embodiment of the present disclosure may be a lookup table module, the stimulus information includes the destination physical address, the configuration information includes an associative array consisting of multiple source physical addresses and multiple source port addresses, the ideal result information is the ideal destination port address, and the actual result information is the actual destination port address. For example, taking the lookup table module in the switch chip as an example, the destination physical address included in the stimulus information input by the design module to be tested may be SMAC information, the source physical address corresponding to the destination physical address may be DMAC information, and the ideal destination port address is the DMAC information mentioned above. Then compare the DMAC information with the actual destination port address to achieve verification.
[0050] It should be noted that the associative array in the embodiment of the present disclosure is pre-set and can be changed and updated according to actual design needs, and no limitation is made here. The associated data can be stored in the storage space of the electronic device or in the storage space of the slave proxy module, and no limitation is made here.
[0051] In the disclosed embodiment, the stimulus information also includes a source physical address and a source port address, and the corresponding verification method also updates the associative array according to the source physical address and the source port address.
[0052] In the above embodiment, the ideal result information is generated according to the incentive information and the configuration information, and the Figure 4 Explaining further, the method includes:
[0053] S401, searching for a source physical address corresponding to a destination physical address among a plurality of source physical addresses in an associative array.
[0054] It should be noted that the physical address and the source physical address may include a variety of data, which are not limited here, for example, may include an address identifier, an address name, etc.
[0055] It should be noted that there is a corresponding relationship between the source physical address and the destination physical address in the associative array, and the corresponding relationship is set in advance and can be changed according to actual design needs. Therefore, after obtaining the destination physical address, the associative array can be looked up to obtain the matching source physical address. For example, the target physical address is 00-0C-29-CA-E4-66, and 00-0C-29-CA-E4-66 can be matched with the associative array to determine whether there is a source physical address with the address "00-0C-29-CA-E4-66" in the associative array.
[0056] S402: Determine the source port address associated with the corresponding source physical address in the associative array as the ideal destination port address.
[0057] In the disclosed embodiment, in response to the source physical address associated with the corresponding source physical address in the associative array, the source port address corresponding to the source physical address is determined as the ideal destination port address. For example, the target physical address is "00-0C-29-CA-E4-66", and by matching "00-0C-29-CA-E4-66" with the associative array, if there is a source physical address with the address "00-0C-29-CA-E4-66" in the associative array, the source port address "00-0C-29-D0-21-23" corresponding to the source physical address is used as the ideal destination port address.
[0058] In the disclosed embodiment, firstly, a source physical address corresponding to the destination physical address is searched among multiple source physical addresses in the associative array, and then the source port address associated with the corresponding source physical address in the associative array is determined as the ideal destination port address. In this way, by setting the associative array, the ideal destination port address can be quickly determined based on the destination physical address, providing a data basis for the subsequent non-verification model module.
[0059] In some scenarios, there may not be a source physical address corresponding to the destination physical address in the associative array. In this case, the ideal destination port address cannot be determined through the associative array. In the disclosed embodiment, a prompt message for sending data by broadcasting can be output, that is, the message is sent to all ports. If there is a port that can receive the message, then the port is the ideal destination port.
[0060] Furthermore, a new associative array is generated by combining the target physical address in the feedback information of the successful match with the target source port address of the target source port, and the associative array is updated to the configuration information for subsequent retrieval and use. For example, if the target physical address is "00-0C-29-CA-E4-66", it can be determined by matching "00-0C-29-CA-E4-66" with the associative array that there is no source physical address with the address "00-0C-29-CA-E4-66" in the associative array, then the port that can receive the message is determined by broadcasting, and the physical address "00-0C-29-D0-25-23" of the port is obtained, then the physical address is the ideal destination port address, "00-0C-29-CA-E4-66" and "00-0C-29-D0-25-23" are generated into a new associative array, and the associative array is updated to the configuration information.
[0061] Corresponding to the verification methods provided in the above-mentioned embodiments, an embodiment of the present disclosure also provides a verification device. Since the verification device provided in the embodiment of the present disclosure corresponds to the verification methods provided in the above-mentioned embodiments, the implementation methods of the above-mentioned verification methods are also applicable to the verification device provided in the embodiment of the present disclosure and will not be described in detail in the following embodiments.
[0062] Figure 5 is a block diagram of a device for generating a verification model according to an exemplary embodiment of the present disclosure, such as Figure 5 As shown, the verification device 500 includes: a receiving module 510, a generating module 520, an acquiring module 530 and a checking module 540.
[0063] The receiving module 510 is used to receive pre-configured stimulus information for inputting into the design module to be tested and configuration information for characterizing functional characteristics of the design module to be tested.
[0064] The generation module 520 is used to match the incentive information and the configuration information, and determine the ideal result information based on the matching result.
[0065] The acquisition module 530 is used to obtain actual result information output by the design module to be tested according to the stimulus information.
[0066] The verification module 540 is used to compare and verify the ideal result information and the actual result information to generate a verification result.
[0067] In one embodiment of the present disclosure, the receiving module 510 is also used to: pre-configure the configuration module of the test case layer set in the general verification methodology verification platform to generate initial stimulus information; drive the initial stimulus information through the main agent module set in the core component layer of the general verification methodology verification platform to generate stimulus information.
[0068] In one embodiment of the present disclosure, the design module to be tested is a lookup table module, the stimulus information includes a destination physical address, the configuration information includes an associative array consisting of multiple source physical addresses and multiple source port addresses, the ideal result information is an ideal destination port address, and the actual result information is an actual destination port address.
[0069] In one embodiment of the present disclosure, the generation module 520 is further used to: search for a source physical address corresponding to the destination physical address among multiple source physical addresses in the associative array; and determine the source port address associated with the corresponding source physical address in the associative array as the ideal destination port address.
[0070] In one embodiment of the present disclosure, the verification device further includes: a prompt module, configured to output a prompt message for sending data by broadcasting if there is no source physical address corresponding to the destination physical address among the multiple source physical addresses in the associative array.
[0071] In one embodiment of the present disclosure, the configuration module is arranged at the test case layer of the general verification methodology verification platform.
[0072] In one embodiment of the present disclosure, feedback information sent by the target source port based on the prompt information is obtained, and the feedback information is generated after the target physical address in the feedback information successfully matches the target source port address of the target source port.
[0073] In one embodiment of the present disclosure, a new associative array is generated by combining the target physical address in the successfully matched feedback information with the target source port address of the target source port, and the associative array is updated into the configuration information.
[0074] Therefore, by matching the stimulus information and the configuration information, determining the ideal result information, and comparing and verifying it with the actual result information output by the design module to be tested according to the stimulus information, the verification result is determined. Compared with the current technology of developing a verification model module with the same logic as the design module to be tested and performing comparative verification based on the output results of the two, the method disclosed in the present invention does not require a complicated development process, can reduce verification costs, and shorten the verification cycle.
[0075] In order to implement the above embodiment, the present disclosure also provides an electronic device 600, such as Figure 6As shown, the electronic device 600 may specifically include: a memory 601, a processor 602, and a computer program stored in the memory 601 and executable on the processor 602. When the processor 602 executes the program, it implements the verification method shown in the above embodiment, or the method for generating a verification model.
[0076] In order to implement the above embodiments, the embodiments of the present disclosure also propose a computer-readable storage medium on which a computer program is stored. The program is executed by a processor to implement the verification method shown in the above embodiments, or the method for generating a verification model.
[0077] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of the present disclosure, the meaning of "plurality" is two or more, unless otherwise clearly and specifically defined.
[0078] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present disclosure. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, without contradiction.
[0079] Although the embodiments of the present disclosure have been shown and described above, it is to be understood that the above embodiments are exemplary and are not to be construed as limitations of the present disclosure. A person skilled in the art may change, modify, replace and vary the above embodiments within the scope of the present disclosure.
Claims
1. A verification method, characterized in that: The verification method comprises: Receiving preconfigured stimulus information for inputting into a design module to be tested and configuration information for characterizing functional characteristics of the design module to be tested; Matching the incentive information and the configuration information, and determining ideal result information based on the matching result; Obtaining actual result information output by the design module to be tested according to the stimulus information; The ideal result information and the actual result information are compared and verified to generate a verification result.
2. The verification method according to claim 1, characterized in that: The incentive information is generated by the following method, including: Pre-configuring a configuration module of a test case layer provided in a general verification methodology verification platform to generate initial stimulus information; The initial stimulus information is driven and processed by a main agent module arranged in the core component layer of the universal verification methodology verification platform to generate the stimulus information.
3. The verification method according to claim 1, characterized in that: The design module to be tested is a lookup table module, the stimulus information includes a destination physical address, the configuration information includes an associative array consisting of multiple source physical addresses and multiple source port addresses, the ideal result information is an ideal destination port address, and the actual result information is an actual destination port address.
4. The verification method according to claim 3, characterized in that: The matching of the incentive information and the configuration information, and determining ideal result information based on the matching result, includes: Searching for a source physical address corresponding to the destination physical address among a plurality of source physical addresses in the associative array; The source port address associated with the corresponding source physical address in the associative array is determined as the ideal destination port address.
5. The verification method according to claim 4, characterized in that: The matching of the incentive information and the configuration information, and determining ideal result information based on the matching result, includes: If there is no source physical address corresponding to the destination physical address among the multiple source physical addresses in the associative array, a prompt message for sending data by broadcasting is output.
6. The verification method according to claim 5, characterized in that: After the output is sent by broadcasting the prompt information of the data, it includes: Acquire feedback information sent by the target source port based on the prompt information, wherein the feedback information is generated after a target physical address in the feedback information successfully matches a target source port address of the target source port.
7. The verification method according to claim 6, characterized in that: The verification method further comprises: A new associative array is generated by using the target physical address in the feedback information that matches successfully and the target source port address of the target source port, and the associative array is updated into the configuration information.
8. A verification device, characterized in that: The verification device comprises: A receiving module, used for receiving pre-configured stimulus information for inputting into a design module to be tested and configuration information for characterizing functional characteristics of the design module to be tested; A generating module, used for matching the stimulus information with the configuration information, and determining ideal result information based on the matching result; An acquisition module, used for acquiring actual result information output by the design module to be tested according to the stimulus information; The verification module is used to compare and verify the ideal result information and the actual result information to generate a verification result.
9. An electronic device, characterized in that: include: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the verification method according to any one of claims 1 to 7 is implemented.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the verification method according to any one of claims 1 to 7 is implemented.