CN116432569B - Automatic configuration generation method of UVM verification platform and related equipment - Google Patents
Automatic configuration generation method of UVM verification platform and related equipment Download PDFInfo
- Publication number
- CN116432569B CN116432569B CN202310691737.1A CN202310691737A CN116432569B CN 116432569 B CN116432569 B CN 116432569B CN 202310691737 A CN202310691737 A CN 202310691737A CN 116432569 B CN116432569 B CN 116432569B
- Authority
- CN
- China
- Prior art keywords
- register
- uvm
- function
- functions
- write
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
The application discloses an automatic configuration generation method of a UVM verification platform and related equipment, wherein the method comprises the following steps: acquiring a user manual of a module to be verified in a UVM verification platform, wherein the user manual is used for describing information of various registers and table entries; generating a UVM configuration file according to the user manual, wherein the UVM configuration file is used for transmitting configuration variable information; configuring m register read-write functions based on a UVM configuration file; and calling k register function functions through n register read-write functions, and transmitting the structural body assignment in the UVM configuration file to the registers corresponding to the n register read-write functions through the k register function functions, wherein the m register read-write functions comprise n register read-write functions. The application can promote the automatic configuration of the UVM verification platform.
Description
Technical Field
The application relates to the technical field of chips, in particular to an automatic configuration generation method of a UVM verification platform and related equipment.
Background
In practical application, a conventional general verification methodology (universal verification methodology, UVM) verification platform manually defines a configuration class according to a register and a memory entry (memory) of a module, then manually defines a function of issuing configuration based on the configuration class, and cannot automatically generate and issue configuration.
Disclosure of Invention
The application provides an automatic configuration generation method and related equipment of a UVM verification platform, which can realize the automatic configuration of the UVM verification platform.
In a first aspect, the present application provides a method for generating an automatic configuration of a UVM verification platform, the method comprising:
acquiring a user manual of a module to be verified in a UVM verification platform, wherein the user manual is used for describing information of various registers and table entries;
generating a UVM configuration file according to the user manual, wherein the UVM configuration file is used for transmitting configuration variable information;
configuring m register read-write functions based on the UVM configuration file, wherein m is an integer which is equal to or more than 1;
and calling k register function functions through n register read-write functions, transmitting structural body assignment in the UVM configuration file to registers corresponding to the n register read-write functions through the k register function functions, wherein the m register read-write functions comprise the n register read-write functions, n is a positive integer smaller than or equal to m, and k is a positive integer.
In a second aspect, the present application provides an automatic configuration generating device of a UVM verification platform, the device comprising: the device comprises an acquisition unit, a generation unit, a configuration unit and a calling unit, wherein,
the acquisition unit is used for acquiring a user manual of a module to be verified in the UVM verification platform, wherein the user manual is used for describing information of various registers and table entries;
the generating unit is used for generating a UVM configuration file according to the user manual, and the UVM configuration file is used for transmitting configuration variable information;
the configuration unit is used for configuring m register read-write functions based on the UVM configuration file, wherein m is an integer which is greater than or equal to 1;
the calling unit is configured to call k register function functions through n register read-write functions, and transfer the structural body assignment in the UVM configuration file to a register corresponding to the n register read-write functions through the k register function functions, where n is a positive integer less than or equal to m, and k is a positive integer.
In a third aspect, the present application provides an electronic device comprising a processor, a memory, a communication interface and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the processor, the programs comprising instructions for performing the steps of the first aspect of the application.
In a fourth aspect, the present application provides a computer-readable storage medium storing a computer program for electronic data exchange, wherein the computer program causes a computer to execute some or all of the steps as described in the first aspect of the present application.
In a fifth aspect, the present application provides a computer program product, wherein the computer program product comprises a non-transitory computer readable storage medium storing a computer program operable to cause a computer to perform part or all of the steps described in the first aspect of the application. The computer program product may be a software installation package.
The implementation of the application has the following beneficial effects:
it can be seen that, the automatic configuration generating method and related equipment of the UVM verification platform described in the present application acquire a user manual of a module to be verified in the UVM verification platform, the user manual is used for describing information of various registers and table entries, a UVM configuration file is generated according to the user manual, the UVM configuration file is used for transmitting configuration variable information, m register read-write functions are configured based on the UVM configuration file, m is an integer greater than or equal to 1, k register function functions are called through n register read-write functions, structural body assignments in the UVM configuration file are transmitted to registers corresponding to the n register read-write functions through the k register function functions, the m register read-write functions include n register read-write functions, n is a positive integer less than or equal to m, k is a positive integer, automatic configuration of the UVM verification platform can be realized, that is, automatic generation of the configuration file required by the UVM verification platform is realized, the automatic configuration platform is used in combination with a register model, and automatic configuration can be realized.
Drawings
In order to more clearly illustrate the application or the technical solutions of the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it being obvious that the drawings in the description below are only some embodiments of the application, and that other drawings can be obtained from them without inventive effort for a person skilled in the art.
Fig. 1 is a schematic flow chart of an automatic configuration generation method of a UVM verification platform according to the present application;
fig. 2 is a schematic flow chart of another method for generating automatic configuration of UVM verification platform according to the present application;
fig. 3 is a schematic structural diagram of an electronic device according to the present application;
fig. 4 is a functional unit composition block diagram of an automatic configuration generating device of a UVM verification platform according to the present application.
Detailed Description
In order that the manner in which the application may be better understood, a more particular description of the application will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
The terms first, second and the like in the description and in the claims and in the above-described figures are used for distinguishing between different objects and not necessarily for describing a sequential or chronological order. Furthermore, the terms "comprise" and "have," as well as any variations thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those listed steps or elements but may include other steps or elements not listed or inherent to such process, method, article, or apparatus.
Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the application. The appearances of such phrases in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Those of skill in the art will explicitly and implicitly appreciate that the embodiments described herein may be combined with other embodiments.
In particular implementations, the electronic device to which the present application relates may be any electronic device that includes a universal verification methodology (universal verification methodology, UVM) verification platform, which may include, but is not limited to: smart phones, tablet computers, smart robots, smart projectors, conferencing devices, in-vehicle devices, wearable devices, servers, networking devices, computing devices, or other processing devices connected to wireless modems, as well as various forms of User Equipment (UE), mobile Stations (MSs), terminal devices (terminalservices), etc., without limitation.
Currently, in the related art UVM platform configuration issuing method, a configuration class related to a register model needs to be manually defined, and then a related configuration function is manually defined based on the register model.
In order to overcome the defects of the related art, please refer to fig. 1, the automatic definition and issuing of the whole configuration are realized by a script mode, the specific configuration can be realized by an automatic mode, namely, a user manual file is defined, a UVM configuration file is generated based on the user manual file, a register model is generated based on the UVM configuration file, a model read-write function is redefined, and the automatic issuing of the configuration is realized by using the model read-write function, which specifically comprises the following steps:
acquiring a user manual of a module to be verified in a UVM verification platform, wherein the user manual is used for describing information of various registers and table entries;
generating a UVM configuration file according to the user manual, wherein the UVM configuration file is used for transmitting configuration variable information, and the form of the UVM configuration file is a structural body variable;
configuring m register read-write functions based on the UVM configuration file, wherein m is an integer which is equal to or more than 1;
and calling k register function functions through n register read-write functions, transmitting structural body assignment in the UVM configuration file to registers corresponding to the n register read-write functions through the k register function functions, wherein the m register read-write functions comprise the n register read-write functions, n is a positive integer smaller than or equal to m, and k is a positive integer.
In the application, a script is adopted to generate a register mode and a UVM configuration class according to the same user manual, and then a configuration function can be generated by utilizing the script according to various registers of the configuration class; and on the basis of the register model, a register read-write function is defined, so that the automatic configuration issuing process can be realized, convenience and effectiveness are realized, and the verification efficiency is improved.
The present application will be described in detail below.
Referring to fig. 2, fig. 2 is a flow chart of an automatic configuration generating method of a UVM verification platform provided by the present application, which is applied to an electronic device, wherein the electronic device includes the UVM verification platform; as shown in the figure, the automatic configuration generation method of the UVM verification platform comprises the following steps:
201. and acquiring a user manual of a module to be verified in the UVM verification platform, wherein the user manual is used for describing information of various registers and table entries.
In the present application, the user manual may include an excel file, which may include one or more tables, which may be used to describe information of various types of registers (regs) and entries (memories), the names of the tables being names of the designed modules, and the designed modules may include register modules.
The module to be verified can be understood as a functional module designed by a designer, the user manual is used for describing functions of the functional module, and the specific form of the module to be verified can be a code.
For example, a user manual excel file may be defined for describing various types of register (reg) and entry (memory) information, where the names of the tables are the names of the designed modules, and the specific format of the definition is as follows:
wherein, base_addr is used to describe the base address of the module (refer to the actual address of the internal partition of the chip). offset_addr refers to the offset address relative to the inside of the module. name refers to the name of the register or entry definition. type refers to whether the type of register is reg or memory. depth refers to the number of registers or entries. width refers to the bit width size of a single register or entry. range refers to what is the range of each region if the register is divided into multiple regions within the bit wide range. field refers to the name of an internal variable of a divided area. default value refers to what is with respect to the default value of field. rw_attr refers to what the property of the change amount is, e.g. RW indicates writable and readable, RO indicates read-only and write-not, WO indicates write-only and read-not, etc.
202. And generating a UVM configuration file according to the user manual, wherein the UVM configuration file is used for transmitting configuration variable information.
In the present application, the UVM profile may be in the form of at least one of: integer variables, structure variables, etc., without limitation, in the form of UVM profiles as structure variable instances, corresponding structure variables may be generated for different modules based on a user manual, e.g., one module corresponds to a user manual, where the variables may be in the form of structure variables to store variable values to be transferred. The UVM profile may be used to communicate configuration variable information.
In the present application, a UVM _object profile (UVM profile) may be generated using a script according to a user manual for delivering configuration variable information. Defining a part of structure variable for each part of register according to the register information definition of a user manual, wherein the name of the structure variable is the name of the register or an item, and the variable in the structure is the field name of a specific bit width; if there is only one field name in the register, only the corresponding variable need be defined, and the register need not be defined in the form of a structure body.
In the specific implementation, a register model can be generated based on a user manual, and the register model has the function of accessing each address segment in the module through the name defined by the user manual, so that the address segment can be read and written conveniently.
By way of illustration, a functional function model (i.e., a register functional function) based on a register model can be defined, and the functional function model can provide functions of reading and writing registers and table entries, performing functions of reading and writing the registers of the module, and the like, so that the subsequent reading and writing tests of the registers are facilitated. For example, the defined function functions are mainly shown in the following table:
optionally, the step 202 of generating the UVM configuration file according to the user manual may include the following steps:
21. acquiring a target use case;
22. determining target configuration variable information to be transferred according to the target use case;
23. and generating the UVM configuration file according to the target configuration variable information and the user manual.
In the application, a use case refers to a description of how a system reacts to external requests in software engineering or system engineering, and is a technology for acquiring requirements through a use scene of a user. The target use case may be set by the user himself or by default.
In a specific implementation, a target use case can be obtained, the target configuration variable information to be transferred can be known through the target use case, and as different configuration variable information can correspond to different registers (structure body variables), a UVM configuration file can be generated according to the target configuration variable information and a user manual, and further, the transfer of the configuration variable information corresponding to the target use case can be realized.
203. And configuring m register read-write functions based on the UVM configuration file, wherein m is an integer which is equal to or more than 1.
In the application, because the form of the UVM configuration file is a structural body variable, different structural body variables correspond to different register read-write functions, and m register read-write functions can be configured based on the requirement of the UVM configuration file, wherein m is an integer which is greater than or equal to 1.
In the application, the UVM configuration file has the function of transmitting the values of the registers or the table entries by the defined variables through the mode of assignment and calling in other places, and realizing the one-key issuing process of configuration through the internal register read-write function. The new function is redefined in the register read-write function, and the variable with the default value in reg or memory is given as the initial value, so that when the uvm _object is created, the variable with the default value in the register has the initial value. Consistency is maintained with the initial values in the registers or entries.
204. And calling k register function functions through n register read-write functions, transmitting structural body assignment in the UVM configuration file to registers corresponding to the n register read-write functions through the k register function functions, wherein the m register read-write functions comprise the n register read-write functions, n is a positive integer smaller than or equal to m, and k is a positive integer.
According to the application, the automatic configuration can be realized for partial functions or all functions of the use case aiming at the UVM verification platform. Specifically, taking n register read-write functions as an example, the m register read-write functions include the n register read-write functions, k register function functions can be called through the n register read-write functions, structural body assignment in the UVM configuration file is transmitted to a register corresponding to the n register read-write functions through the k register function functions, n is a positive integer smaller than or equal to m, and k is a positive integer, so that automatic configuration of the UVM verification platform is realized, namely automatic generation of the configuration file required by the UVM verification platform is realized, and automatic issuing of configuration can be realized by combining the configuration file with a register model.
In the application, the configuration classes available for the register model and the UVM platform can be generated by defining the user manual of each module in a script mode, then the functions of the read-write register and the memory table entry are packaged by the register model, then the configuration methods of each register and the table entry are defined in the configuration classes, and finally, the automatic issuing of the configuration can be realized only by calling the methods. And no matter how many modules follow, a user manual of each module can be generated as long as the user manual of the module is defined, the automatic issuing of configuration is realized, the whole process is realized by a script, the efficiency is high, the convenience is high, and the verification efficiency is greatly improved.
Optionally, the step 204 of calling k register function functions through n register read-write functions may include the following steps:
41. determining target verification content of the target use case;
42. determining the n register read-write functions corresponding to the target verification content;
43. and calling the k register function functions through the n register read-write functions.
In the application, the target verification content of the target use case can be determined, and the target verification content can be set by a user or defaults by the system.
Then, corresponding n register read-write functions can be determined for the target verification content, for example, keyword extraction can be performed on the target verification content to obtain a target keyword, then according to a mapping relation between a preset keyword and the register read-write functions stored in advance, n register read-write functions corresponding to the target keyword are determined, k register function functions are called through the n register read-write functions, and further, corresponding register read-write functions can be called based on verification requirements of users, so that automatic configuration of a corresponding UVM verification platform is achieved.
Optionally, the method further comprises the following steps:
a1, determining a target variable value corresponding to a register function i, wherein the register function i is any register function in the k register functions;
a2, acquiring a target initial value corresponding to the register function i;
a3, allowing the register function i to be called when the target variable value is not equal to the target initial value.
In the application, taking the register function i as an example, the register function i is any register function in k register functions, the target variable value corresponding to the register function i can be determined, the target initial value corresponding to the register function i is obtained, when the target variable value is not equal to the target initial value, the register function i is allowed to be called, otherwise, when the target variable value is equal to the target initial value, the register function i is not allowed to be called, and unnecessary configuration time can be saved.
In a specific implementation, a register write function of a module can be defined again, when an attribute of rw exists in a register or an entry, the write function is required to be defined for configuration issuing, a variable defined in a UVM configuration file can be transferred by calling a predefined write function, and as a script can identify whether the register is reg or memory, a corresponding function can be selected, and then a structure body is transferred to a variable of value in the function, so that the issuing process of the variable to a register value is realized. Correspondingly, when all regs or memory to be written are defined in the function and the read-write function is defined, the initial value is judged first, and when the value of the variable is not equal to the initial value, the corresponding write function is called, so that unnecessary configuration time can be saved.
In the specific implementation, the configuration can be automatically issued only by creating the generated configuration file in the test case, then assigning values to be issued to each register or table entry, and calling an internal write function, thereby realizing the automatic generation of the configuration file required by the UVM verification platform.
Optionally, the method further comprises the following steps:
b1, configuring a printing information function, wherein the printing information function is used for printing variable information of a part of structures or all structures of the UVM configuration file in a structure printing mode;
and B2, calling the printing information function and executing a printing function.
In the application, a printing information function can be configured, and the printing information function can be used for printing variable information of a part of structures or all structures of the UVM configuration file in a printing structure mode, and then the printing information function is called to execute the printing function, so that the part of printing or all printing functions aiming at the UVM configuration file can be realized, thereby facilitating the checking of the values given by each register or table entry and facilitating the positioning problem.
In the specific implementation, a printing information function can be defined, and variable information of all structures is printed to the terminal in a printing structure mode, so that the value given by each register or table entry is conveniently checked, and the problem is conveniently located.
According to the application, the automatic issuing process of the register (reg) and the table entry (memory) is realized, the read-write function of the register is not required to be defined manually, the script automatically generates the configuration file, all variables are automatically defined according to a user manual, the portability is strong, and the method is suitable for all verification platforms built by UVM.
It can be seen that, according to the automatic configuration generating method of the UVM verification platform described in the present application, a user manual of a module to be verified in the UVM verification platform is obtained, the user manual is used for describing information of various registers and table entries, a UVM configuration file is generated according to the user manual, the UVM configuration file is used for transmitting configuration variable information, m register read-write functions are configured based on the UVM configuration file, m is an integer greater than or equal to 1, k register function functions are called through n register read-write functions, a structure assignment in the UVM configuration file is transmitted to a register corresponding to the n register read-write functions through the k register function functions, the m register read-write functions include n register read-write functions, n is a positive integer less than or equal to m, k is a positive integer, automatic configuration of the UVM verification platform can be achieved, namely automatic generation of the configuration file required by the UVM verification platform is achieved, the automatic configuration can be achieved by combining with the UVM register module.
In accordance with the above embodiment, referring to fig. 3, fig. 3 is a schematic structural diagram of an electronic device provided by the present application, as shown in the fig. 3, the electronic device includes a processor, a memory, a communication interface, and one or more programs, the electronic device includes a UVM verification platform, the one or more programs are stored in the memory and configured to be executed by the processor, and in the present application, the programs include instructions for performing the following steps:
acquiring a user manual of a module to be verified in the UVM verification platform, wherein the user manual is used for describing information of various registers and table entries;
generating a UVM configuration file according to the user manual, wherein the UVM configuration file is used for transmitting configuration variable information;
configuring m register read-write functions based on the UVM configuration file, wherein m is an integer which is equal to or more than 1;
and calling k register function functions through n register read-write functions, transmitting structural body assignment in the UVM configuration file to registers corresponding to the n register read-write functions through the k register function functions, wherein the m register read-write functions comprise the n register read-write functions, n is a positive integer smaller than or equal to m, and k is a positive integer.
Optionally, in said generating a UVM profile according to said user manual, the above procedure comprises instructions for:
acquiring a target use case;
determining target configuration variable information to be transferred according to the target use case;
and generating the UVM configuration file according to the target configuration variable information and the user manual.
Optionally, in the aspect that k register function functions are called through n register read-write functions, the program includes instructions for executing the following steps:
determining target verification content of the target use case;
determining the n register read-write functions corresponding to the target verification content;
and calling the k register function functions through the n register read-write functions.
Optionally, the above program further comprises instructions for performing the steps of:
determining a target variable value corresponding to a register function i, wherein the register function i is any register function in the k register functions;
acquiring a target initial value corresponding to the register function i;
and allowing the register function i to be called when the target variable value is not equal to the target initial value.
Optionally, the above program further comprises instructions for performing the steps of:
configuring a printing information function, wherein the printing information function is used for printing variable information of a part of structures or all structures of the UVM configuration file in a printing structure mode;
and calling the printing information function to execute the printing function.
It can be seen that, the electronic device described in the present application obtains a user manual of a module to be verified in a UVM verification platform, where the user manual is used to describe information of various registers and table entries, and generates a UVM configuration file according to the user manual, where the UVM configuration file is used to transfer configuration variable information, and based on the UVM configuration file, m register read-write functions are configured, where m is an integer greater than or equal to 1, k register function functions are called by the n register read-write functions, and structural body assignment in the UVM configuration file is transferred to registers corresponding to the n register read-write functions by the k register function functions, where the m register read-write functions include n register read-write functions, where n is a positive integer less than or equal to m, and k is a positive integer, so that automatic configuration of the UVM verification platform can be implemented, that is implemented, and automatic configuration issuing can be implemented by combining with a register model.
Fig. 4 is a block diagram of functional units of an automatic configuration generating apparatus 400 of a UVM verification platform according to the present application. The automatic configuration generation device 400 of the UVM verification platform includes: an acquisition unit 401, a generation unit 402, a configuration unit 403, and a calling unit 404, wherein,
the acquiring unit 401 is configured to acquire a user manual of a module to be authenticated in the UVM authentication platform, where the user manual is used to describe information of various registers and table entries;
the generating unit 402 is configured to generate a UVM profile according to the user manual, where the UVM profile is used to transfer configuration variable information;
the configuration unit 403 is configured to configure m register read-write functions based on the UVM configuration file, where m is an integer greater than or equal to 1;
the calling unit 404 is configured to call k register function functions through n register read-write functions, and transfer the structure assignment in the UVM configuration file to a register corresponding to the n register read-write functions through the k register function functions, where n is a positive integer less than or equal to m, and k is a positive integer.
Optionally, in the generating a UVM profile according to the user manual, the generating unit 402 is specifically configured to:
acquiring a target use case;
determining target configuration variable information to be transferred according to the target use case;
and generating the UVM configuration file according to the target configuration variable information and the user manual.
Optionally, in the aspect that the k register function functions are called by the n register read-write functions, the calling unit 404 is specifically configured to:
determining target verification content of the target use case;
determining the n register read-write functions corresponding to the target verification content;
and calling the k register function functions through the n register read-write functions.
Optionally, the apparatus 400 is further specifically configured to:
determining a target variable value corresponding to a register function i, wherein the register function i is any register function in the k register functions;
acquiring a target initial value corresponding to the register function i;
and allowing the register function i to be called when the target variable value is not equal to the target initial value.
Optionally, the apparatus 400 is further specifically configured to:
configuring a printing information function, wherein the printing information function is used for printing variable information of a part of structures or all structures of the UVM configuration file in a printing structure mode;
and calling the printing information function to execute the printing function.
It can be seen that, the automatic configuration generating device of the UVM verification platform described in the present application obtains a user manual of a module to be verified in the UVM verification platform, the user manual is used for describing information of various registers and table entries, a UVM configuration file is generated according to the user manual, the UVM configuration file is used for transmitting configuration variable information, m register read-write functions are configured based on the UVM configuration file, m is an integer greater than or equal to 1, k register function functions are called through n register read-write functions, a structure assignment in the UVM configuration file is transmitted to a register corresponding to the n register read-write functions through the k register function functions, the m register read-write functions include n register read-write functions, n is a positive integer less than or equal to m, k is a positive integer, automatic configuration of the UVM verification platform can be realized, that is, automatic generation of a configuration file required by the UVM verification platform is realized, the automatic configuration device is used in combination with a register model, and automatic configuration can be realized.
It may be understood that the functions of each program module of the automatic configuration generating device of the UVM verification platform according to the present embodiment may be specifically implemented according to the method in the foregoing method embodiment, and the specific implementation process may refer to the relevant description of the foregoing method embodiment and will not be repeated herein.
The present application also provides a computer storage medium storing a computer program for electronic data exchange, the computer program causing a computer to execute part or all of the steps of any one of the methods described in the above method embodiments, the computer including an electronic device.
The present application also provides a computer program product comprising a non-transitory computer readable storage medium storing a computer program operable to cause a computer to perform part or all of the steps of any one of the methods described in the method embodiments above. The computer program product may be a software installation package, said computer comprising an electronic device.
It should be noted that, for simplicity of description, the foregoing method embodiments are all described as a series of acts, but it should be understood by those skilled in the art that the present application is not limited by the order of acts described, as some steps may be performed in other orders or concurrently in accordance with the present application. Further, those skilled in the art will also appreciate that the embodiments described in the specification are all preferred embodiments, and that the acts and modules referred to are not necessarily required for the present application.
In the foregoing embodiments, the descriptions of the embodiments are emphasized, and for parts of one embodiment that are not described in detail, reference may be made to related descriptions of other embodiments.
In the several embodiments provided by the present application, it should be understood that the disclosed apparatus may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, such as the above-described division of units, merely a division of logic functions, and there may be additional manners of dividing in actual implementation, such as multiple units or components may be combined or integrated into another system, or some features may be omitted, or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, or may be in electrical or other forms.
The units described above as separate components may or may not be physically separate, and components shown as units may or may not be physical units, may be located in one place, or may be distributed over a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units described above, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable memory. Based on such understanding, the technical solution of the present application may be embodied in essence or a part contributing to the prior art or all or part of the technical solution in the form of a software product stored in a memory, comprising several instructions for causing a computer device (which may be a personal computer, a server or a network device, etc.) to perform all or part of the steps of the above-mentioned method of the various embodiments of the present application. And the aforementioned memory includes: a U-disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a removable hard disk, a magnetic disk, or an optical disk, or other various media capable of storing program codes.
Those of ordinary skill in the art will appreciate that all or a portion of the steps in the various methods of the above embodiments may be implemented by a program that instructs associated hardware, and the program may be stored in a computer readable memory, which may include: flash disk, read-Only Memory (ROM), random access Memory (Random Access Memory, RAM), magnetic disk or optical disk.
The foregoing has outlined rather broadly the more detailed description of the application in order that the detailed description of the principles and embodiments of the application may be implemented in conjunction with the detailed description of the application that follows, the examples being merely intended to facilitate an understanding of the method of the application and its core concepts; meanwhile, as those skilled in the art will have variations in the specific embodiments and application scope in accordance with the ideas of the present application, the present description should not be construed as limiting the present application in view of the above.
Claims (5)
1. An automatic configuration generation method of a UVM verification platform, the method comprising:
acquiring a user manual of a module to be verified in a UVM verification platform, wherein the user manual is used for describing information of various registers and table entries; the specific format of the user manual comprises: base_addr, offset_ addr, name, type, depth, width, range, field, default _value, rw_attr; base_addr is used to describe the base address of the module; offset_addr refers to the offset address relative to the module interior; name refers to the name of the register or entry definition; type refers to whether the type of the register is reg or memory; depth refers to the number of registers or entries; width refers to the bit width size of a single register or entry; range refers to how much each region is if the register is divided into multiple regions within the bit wide range; field refers to the name of an internal variable of the divided area; default value refers to what is with respect to the default value of field; rw_attr refers to what the property of the change amount is; a module corresponds to a user manual, wherein variables in the user manual are in the form of structural variables to store variable values to be transmitted; the module to be verified is a functional module designed by a designer; the user manual includes an excel file including one or more tables; the name of the table is the name of the designed module, which includes a register module;
generating a UVM configuration file according to the user manual, wherein the UVM configuration file is used for transmitting configuration variable information; the UVM profile comprises a UVM _object profile;
configuring m register read-write functions based on the UVM configuration file, wherein m is an integer which is equal to or more than 1;
k register function functions are called through n register read-write functions, structural body assignment in the UVM configuration file is transmitted to registers corresponding to the n register read-write functions through the k register function functions, the m register read-write functions comprise the n register read-write functions, n is a positive integer smaller than or equal to m, and k is a positive integer;
the method further comprises the steps of:
determining a target variable value corresponding to a register function i, wherein the register function i is any register function in the k register functions;
acquiring a target initial value corresponding to the register function i;
and when the target variable value is not equal to the target initial value, allowing the register function i to be called, wherein the register function i is specifically: defining all regs or memories to be written in the function, when defining the read-write function, firstly judging an initial value, and calling the corresponding write function when the value of the variable is not equal to the initial value;
the method further comprises the steps of:
defining a register write function of a module, and when the attribute of rw exists in a register or an item, issuing configuration by defining the write function, wherein the configuration comprises the following specific steps: calling a predefined write function to transfer in variables defined in the UVM configuration file;
wherein the generating a UVM profile according to the user manual comprises:
acquiring a target use case;
determining target configuration variable information to be transferred according to the target use case;
generating the UVM configuration file according to the target configuration variable information and the user manual;
wherein the calling k register function functions through n register read-write functions includes:
determining target verification content of the target use case;
the n register read-write functions corresponding to the target verification content are determined, specifically: extracting keywords from the target verification content to obtain target keywords, and determining n register read-write functions corresponding to the target keywords according to a mapping relation between the preset keywords and the register read-write functions, wherein the mapping relation is stored in advance;
and calling the k register function functions through the n register read-write functions.
2. The method according to claim 1, wherein the method further comprises:
configuring a printing information function, wherein the printing information function is used for printing variable information of a part of structures or all structures of the UVM configuration file in a printing structure mode;
and calling the printing information function to execute the printing function.
3. An automatic configuration generation device of a UVM verification platform, the device comprising: the device comprises an acquisition unit, a generation unit, a configuration unit and a calling unit, wherein,
the acquisition unit is used for acquiring a user manual of a module to be verified in the UVM verification platform, wherein the user manual is used for describing information of various registers and table entries; the specific format of the user manual comprises: base_addr, offset_ addr, name, type, depth, width, range, field, default _value, rw_attr; base_addr is used to describe the base address of the module; offset_addr refers to the offset address relative to the module interior; name refers to the name of the register or entry definition; type refers to whether the type of the register is reg or memory; depth refers to the number of registers or entries; width refers to the bit width size of a single register or entry; range refers to how much each region is if the register is divided into multiple regions within the bit wide range; field refers to the name of an internal variable of the divided area; default value refers to what is with respect to the default value of field; rw_attr refers to what the property of the change amount is; a module corresponds to a user manual, wherein variables in the user manual are in the form of structural variables to store variable values to be transmitted; the module to be verified is a functional module designed by a designer; the user manual includes an excel file including one or more tables; the name of the table is the name of the designed module, which includes a register module;
the generating unit is used for generating a UVM configuration file according to the user manual, and the UVM configuration file is used for transmitting configuration variable information; the UVM profile comprises a UVM _object profile;
the configuration unit is used for configuring m register read-write functions based on the UVM configuration file, wherein m is an integer which is greater than or equal to 1;
the calling unit is used for calling k register function functions through n register read-write functions, and transmitting structural body assignment in the UVM configuration file to registers corresponding to the n register read-write functions through the k register function functions, wherein the m register read-write functions comprise the n register read-write functions, n is a positive integer smaller than or equal to m, and k is a positive integer;
the device is also specifically for:
determining a target variable value corresponding to a register function i, wherein the register function i is any register function in the k register functions;
acquiring a target initial value corresponding to the register function i;
and when the target variable value is not equal to the target initial value, allowing the register function i to be called, wherein the register function i is specifically: defining all regs or memories to be written in the function, when defining the read-write function, firstly judging an initial value, and calling the corresponding write function when the value of the variable is not equal to the initial value;
the device is also specifically for:
defining a register write function of a module, and when the attribute of rw exists in a register or an item, issuing configuration by defining the write function, wherein the configuration comprises the following specific steps: calling a predefined write function to transfer in variables defined in the UVM configuration file;
wherein, in terms of the generating a UVM profile according to the user manual, the generating unit is specifically configured to:
acquiring a target use case;
determining target configuration variable information to be transferred according to the target use case;
generating the UVM configuration file according to the target configuration variable information and the user manual;
in the aspect of calling k register function functions through n register read-write functions, the calling unit is specifically configured to:
determining target verification content of the target use case;
the n register read-write functions corresponding to the target verification content are determined, specifically: extracting keywords from the target verification content to obtain target keywords, and determining n register read-write functions corresponding to the target keywords according to a mapping relation between the preset keywords and the register read-write functions, wherein the mapping relation is stored in advance;
and calling the k register function functions through the n register read-write functions.
4. An electronic device comprising a processor, a memory for storing one or more programs and configured to be executed by the processor, the programs comprising instructions for performing the steps in the method of claim 1 or 2.
5. A computer-readable storage medium, characterized in that a computer program for electronic data exchange is stored, wherein the computer program causes a computer to perform the method according to claim 1 or 2.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310691737.1A CN116432569B (en) | 2023-06-13 | 2023-06-13 | Automatic configuration generation method of UVM verification platform and related equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310691737.1A CN116432569B (en) | 2023-06-13 | 2023-06-13 | Automatic configuration generation method of UVM verification platform and related equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116432569A CN116432569A (en) | 2023-07-14 |
CN116432569B true CN116432569B (en) | 2023-10-20 |
Family
ID=87087600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310691737.1A Active CN116432569B (en) | 2023-06-13 | 2023-06-13 | Automatic configuration generation method of UVM verification platform and related equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116432569B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116757134B (en) * | 2023-08-17 | 2023-12-12 | 珠海星云智联科技有限公司 | UVM-based traffic shaping verification method and related equipment |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000640A (en) * | 2006-12-29 | 2007-07-18 | 深圳市明微电子有限公司 | Method for describing PCI interface configuration flow in IC verification |
CN109739699A (en) * | 2018-11-06 | 2019-05-10 | 电子科技大学 | A SPI Verification Method Based on UVM Verification Methodology |
CN112131829A (en) * | 2020-09-18 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | Verification method, system and related device of chip register |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9886335B2 (en) * | 2013-10-07 | 2018-02-06 | American Megatrends, Inc. | Techniques for validating functionality of backplane controller chips |
GB2519181B (en) * | 2014-03-31 | 2015-09-09 | Imagination Tech Ltd | Clock verification |
US9600384B2 (en) * | 2014-10-14 | 2017-03-21 | Cypress Semiconductor Corporation | System-on-chip verification |
US10372859B2 (en) * | 2017-03-09 | 2019-08-06 | Alphaics Corporation | System and method for designing system on chip (SoC) circuits using single instruction multiple agent (SIMA) instructions |
-
2023
- 2023-06-13 CN CN202310691737.1A patent/CN116432569B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000640A (en) * | 2006-12-29 | 2007-07-18 | 深圳市明微电子有限公司 | Method for describing PCI interface configuration flow in IC verification |
CN109739699A (en) * | 2018-11-06 | 2019-05-10 | 电子科技大学 | A SPI Verification Method Based on UVM Verification Methodology |
CN112131829A (en) * | 2020-09-18 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | Verification method, system and related device of chip register |
Also Published As
Publication number | Publication date |
---|---|
CN116432569A (en) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109977935B (en) | Text recognition method and device | |
WO2019085466A1 (en) | Association test method and system, application server, and computer readable storage medium | |
CN109639636A (en) | Business datum forwarding, business data processing method, device and electronic equipment | |
CN116432569B (en) | Automatic configuration generation method of UVM verification platform and related equipment | |
EP3989099A1 (en) | Chip design method and design apparatus, computer device, and storage medium | |
CN105827669A (en) | Virtual storage method, virtual storage equipment and virtual storage system for terminals | |
CN109800149A (en) | Application interface method for generating test case and server | |
CN105900039A (en) | Apparatus, system and method to provide platform support for multiple memory technologies | |
CN108038135A (en) | Electronic device, the method for multilist correlation inquiry and storage medium | |
CN113111378B (en) | Terminal, storage medium, annotation method and system, and pre-verification method and system | |
CN203366744U (en) | Wireless USB flash disk device supporting self-building of hot spot | |
CN108459910A (en) | A kind of method and apparatus for deleting resource | |
CN113535578A (en) | CTS (clear to send) testing method, device and testing equipment | |
CN116757134B (en) | UVM-based traffic shaping verification method and related equipment | |
CN106454884B (en) | For distinguishing the method and apparatus of wireless access point of the same name | |
CN109548000B (en) | System, method and computer equipment for sharing and purchasing communication service | |
WO2016023276A1 (en) | Data processing method and device for storage card | |
CN118863909A (en) | Authenticity verification method and device for physical store | |
CN108681594A (en) | File processing method and related device | |
CN112434233B (en) | Method and device for accelerating first screen rendering of secondary page | |
CN106201930A (en) | A kind of device port determines device, terminal and method | |
CN113836331A (en) | Image query method, device and storage medium | |
CN115242625B (en) | Service deployment method, device, computer equipment and readable storage medium | |
CN111228815A (en) | Method, apparatus, storage medium, and system for processing configuration table of game | |
CN114676439A (en) | Configuration-oriented dynamic structured data management method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |