CN113705150A - Method and equipment for generating coverage group - Google Patents

Method and equipment for generating coverage group Download PDF

Info

Publication number
CN113705150A
CN113705150A CN202110838255.5A CN202110838255A CN113705150A CN 113705150 A CN113705150 A CN 113705150A CN 202110838255 A CN202110838255 A CN 202110838255A CN 113705150 A CN113705150 A CN 113705150A
Authority
CN
China
Prior art keywords
coverage
bin
information
point
generating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110838255.5A
Other languages
Chinese (zh)
Inventor
朱旭涛
唐治龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei Yixin Electronic Technology Co ltd
Original Assignee
Hefei Yixin Electronic Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hefei Yixin Electronic Technology Co ltd filed Critical Hefei Yixin Electronic Technology Co ltd
Priority to CN202110838255.5A priority Critical patent/CN113705150A/en
Publication of CN113705150A publication Critical patent/CN113705150A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The application relates to a method and equipment for generating a coverage group, wherein the method comprises the steps of obtaining a configuration file, recording one or more entries in the configuration file, and enabling at least one first entry to contain information corresponding to a functional point of the coverage group, wherein the functional point comprises a coverage point or an intersection point; and extracting information corresponding to each first entry to generate an overlay group code. By the method, the problems that the acquisition efficiency and accuracy of the covering group code are low and inconvenience is brought to engineering test due to the fact that the covering group is written manually at present are solved.

Description

Method and equipment for generating coverage group
Technical Field
The present application relates generally to the field of integrated circuit verification. More particularly, the present application relates to a method, apparatus, and computer-readable storage medium for generating coverage groups.
Background
With the increasing complexity of the scale design of integrated circuits, the scale of integrated circuits is gradually increasing, and the functional verification at the code level is becoming an important test for the design of integrated circuits. At present, a stochastic verification method based on the syntax of systemvverilog (a language for hardware design and verification that combines hardware description language HDL with modern high-level verification language HVL) is widely popularized in functional verification, and systemvverilog can provide a coverage group (coverage) method and represent functional coverage conditions by the collection rate of bins therein, so that the completeness of functional verification under the stochastic verification method can be ensured by the coverage group (coverage). In the process of performing functional verification on the integrated circuit by using the generated coverage group, a verification engineer needs to express function point information according to a corresponding grammar rule to complete collection of the function test points. However, in the random verification process, if the verification of a more complicated module is involved, a verification engineer is required to write a large number of corresponding function coverage groups. The manual writing covering group mode has the advantages that on one hand, the workload is large and the efficiency is low for a verification engineer, on the other hand, omission or repeated writing is easy to occur, and the conditions of missed testing and missed covering in the testing process are caused. Therefore, in order to verify that an engineer needs to write a function overlay set, a method for generating the overlay set quickly and accurately is needed to improve the engineering test efficiency.
Disclosure of Invention
In order to solve at least the technical problems described in the above background art, the present application records the related information of the function points in the configuration file, so that the user can conveniently sort and summarize the information of the function points to reduce the error or omission. When the corresponding overlay group code needs to be generated, the information corresponding to at least the first entry in the configuration file can be automatically extracted to generate the overlay group code only by filling the function point information into the configuration file by a user. By the method, the configuration file can be automatically detected and the corresponding covering group code can be generated, the writing process of the covering group code does not need human participation any more, the obtained covering group code has high accuracy, and the engineering test efficiency is favorably improved.
According to a first aspect of the present application, there is provided a method of generating a coverage group according to the first aspect of the present application, comprising: acquiring a configuration file, wherein one or more entries are recorded in the configuration file, and at least one first entry comprises information corresponding to a functional point of a coverage group, wherein the functional point comprises a coverage point or a cross point; and extracting information corresponding to each first entry to generate an overlay group code.
According to the first method for generating a coverage group of the first aspect of the present application, there is provided the second method for generating a coverage group of the first aspect of the present application, wherein extracting information corresponding to each of the first entries to generate a coverage group code includes: extracting first information recorded by a first field in each first entry and second information recorded by at least one second field, wherein the first information comprises keyword information, the second information comprises a function point name, a variable name corresponding to the function point, a variable bit width and a bin associated with the function point; and matching the first information with the specified keyword, and if the matching is successful, generating a corresponding coverage group code according to the first information and the second information.
According to the first or second method for generating a coverage group of the first aspect of the present application, there is provided a third method for generating a coverage group of the first aspect of the present application, matching first information with a specified keyword, comprising: matching the first information with the specified keywords corresponding to the coverage points; and/or matching the first information with the specified keywords corresponding to the intersection points.
According to a third method for generating a coverage group of the first aspect of the present application, there is provided the fourth method for generating a coverage group of the first aspect of the present application, wherein each second field corresponds to one second information.
According to one of the second to fourth methods of generating a coverage group of the first aspect of the present application, there is provided a fifth method of generating a coverage group of the first aspect of the present application, wherein the second information includes: the name of the coverage point, the name of the variable corresponding to the coverage point, the bit width of the variable, and the bin associated with the coverage point.
According to a fifth method for generating a coverage group of the first aspect of the present application, there is provided the sixth method for generating a coverage group of the first aspect of the present application, wherein the second information further includes: user-defined coverage weight information, coverage condition information, and annotation information.
According to a fifth method for generating a coverage group of the first aspect of the present application, there is provided the seventh method for generating a coverage group of the first aspect of the present application, if the second field for recording the bin associated with the coverage point records: a number or a plurality of numbers, wherein any two numbers in the plurality of numbers are separated by a first separator; in the covering group code, a bin is generated from each digit, the bin value being equal to the corresponding digit.
According to a fifth method for generating a coverage group of the first aspect of the present application, there is provided the eighth method for generating a coverage group of the first aspect of the present application, if the second field for recording the bin associated with the coverage point records: one or more first data intervals, wherein any two of the first data intervals are separated by a first separator; in generating the coverage group code, a bin is generated from each first data interval, the bin value being equal to the range indicated by the first data interval.
According to a fifth method for generating a coverage group of the first aspect of the present application, there is provided the ninth method for generating a coverage group of the first aspect of the present application, if the second field for recording the bin associated with the coverage point records: a first byte consisting of a bit width key, a wildcard character and a number; a bin expressed by SV syntax is generated from the first byte when generating the cover group code.
According to a fifth method for generating a coverage group of the first aspect of the present application, there is provided the tenth method for generating a coverage group of the first aspect of the present application, if the second field for recording the bin associated with the coverage point records: a first sequence comprising at least two digits, the digits being connected by a hopping designation symbol; a bin expressed by SV syntax is generated according to the first sequence when generating the cover set code.
According to a fifth method for generating a coverage group of the first aspect of the present application, there is provided the eleventh method for generating a coverage group of the first aspect of the present application, if the second field for recording the bin associated with the coverage point records: at least one first data set, wherein the first data set comprises second data intervals and digits, and the second data intervals and the digits are separated by combined bin designation symbols; in generating the overlay group code, a bin is generated from each of the first data sets, the bin value being equal to the second data interval and the number contained in the first data set.
According to one of the seventh to eleventh methods of generating a coverage group of the first aspect of the present application, there is provided the twelfth method of generating a coverage group of the first aspect of the present application, if the second field for recording the bin associated with the coverage point records: and the first separator enumerates the data, the first data interval, the first byte, the first sequence and/or the second data interval which are separated by the first separator into one bin when the covering group code is generated.
According to a fifth method for generating a coverage group of the first aspect of the present application, there is provided the thirteenth method for generating a coverage group of the first aspect of the present application, if the second field for recording the bin associated with the coverage point records: and generating a corresponding SV grammar expressed bin according to the data range when the covering group code is generated by the key words of the individual bins and the corresponding data range, wherein the bin value is equal to the data range.
According to a fifth method for generating a coverage group of the first aspect of the present application, there is provided the method for generating the coverage group of the fourteenth aspect of the present application, if the second field for recording the bin associated with the coverage point records: a multi-bin enumeration key and a corresponding enumeration number; then a number of bins equal to the number of enumerated digits are generated when generating the overlay group code.
According to a fifth method for generating a coverage group of the first aspect of the present application, there is provided the method for generating the coverage group of the fifteenth aspect of the present application, if the second field for recording the bin associated with the coverage point records: variable bit key words and corresponding variable bit width numbers and bin value numbers; generating a bin expressed in SV syntax according to the variable bit width number and the bin value number when generating the cover group code.
According to a fifth method for generating a coverage group of the first aspect of the present application, there is provided the sixteenth method for generating a coverage group of the first aspect of the present application, wherein the second information includes: the name of the intersection, the name of the overlay variable corresponding to the intersection, the bit width of the variable, and the bin associated with the intersection.
According to a sixteenth method for generating a coverage group of the first aspect of the present application, there is provided the seventeenth method for generating a coverage group of the first aspect of the present application, wherein the second information further includes: user-defined cross-weight information, cross-condition information, and annotation information.
According to a sixteenth method of generating a coverage group of the first aspect of the present application, there is provided the eighteenth method of generating a coverage group of the first aspect of the present application, if the second field for recording the bin associated with the intersection is recorded with: a first statement based on the SV syntax, wherein the first statement is used for representing a combination of an ignored coverage type and a coverage point; the first statement is copied into the overlay group code.
According to an eighteenth method of generating a coverage group of the first aspect of the present application, there is provided the nineteenth method of generating a coverage group of the first aspect of the present application, if the second field for recording the bin associated with the intersection is recorded with: a second delimiter, wherein the second delimiter is used for separating any two first sentences; then a plurality of first statements separated by the second delimiter are each enumerated in generating the overlay group code.
According to one of the first to nineteenth methods of generating a coverage group of the first aspect of the present application, there is provided the method of generating a coverage group according to the twentieth of the first aspect of the present application, further comprising: and matching the first information of the first item with the specified keyword corresponding to the coverage group name, and if the matching is successful, taking the first information of the first item as the coverage group name in the coverage group code.
A method of generating a coverage group according to a twentieth of the first aspect of the present application provides a method of generating a coverage group according to a twenty-first of the first aspect of the present application, further comprising: and matching the information corresponding to the second entry in the configuration file with the specified keyword corresponding to the global variable name, and if the matching is successful, taking the information corresponding to the second entry as the global variable name in the covering group code.
According to a twentieth or twenty-first method of generating coverage groups of the first aspect of the present application, there is provided a twenty-second method of generating coverage groups according to the first aspect of the present application, further comprising: and matching the information corresponding to the third entry in the configuration file with the specified keyword corresponding to the file name, and if the matching is successful, taking the information corresponding to the third entry as the file name corresponding to the coverage group code.
A twenty-third method of generating a coverage group according to the first aspect of the present application is provided, further comprising: and matching the information corresponding to the fourth entry in the configuration file with the specified keyword corresponding to the annotation content, and if the matching is successful, writing the information corresponding to the fourth entry serving as the annotation content into the overlay group code.
According to one of the first to twenty-third methods of generating coverage groups of the first aspect of the present application, there is provided a method of generating coverage groups according to twenty-fourth of the first aspect of the present application, the configuration file employing an excel template.
According to one of the first to twenty-fourth methods for generating a coverage group of the first aspect of the present application, there is provided a twenty-fifth method for generating a coverage group of the first aspect of the present application, wherein the configuration file is detected using a Perl script.
According to a second aspect of the present application, there is provided an apparatus for generating a coverage group according to the second aspect of the present application, comprising a processor and a memory, the memory storing a computer program which, when executed by the processor, implements one of the methods of generating a coverage group of the first aspect of the present application.
According to a third aspect of the present application, there is provided a computer readable storage medium according to the third aspect of the present application, having stored thereon a computer program which, when executed, implements one of the methods of generating a coverage group of the first aspect of the present application.
Drawings
The above and other objects, features and advantages of exemplary embodiments of the present application will become readily apparent from the following detailed description read in conjunction with the accompanying drawings. Several embodiments of the present application are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar or corresponding parts and in which:
FIG. 1 is a schematic flow chart diagram of a method of generating coverage groups in accordance with an embodiment of the present application;
FIG. 2 is a flowchart illustrating a method for extracting information corresponding to each entry in a configuration file to generate an overlay group code according to an embodiment of the present disclosure;
FIG. 3 is a flowchart illustrating a method for extracting information related to a function point according to an embodiment of the present disclosure;
FIG. 4 is a schematic illustration of a configuration file according to an embodiment of the present application;
FIG. 5 is a schematic diagram of an apparatus to generate coverage groups according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some, but not all, embodiments of the present application. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application. It should be understood that the terms "first," "second," "third," and "fourth," etc. in the claims, description, and drawings of the present application are used for distinguishing between different objects and not for describing a particular order. The terms "comprises" and "comprising," when used in the specification and claims of this application, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It is also to be understood that the terminology used in the description of the present application herein is for the purpose of describing particular embodiments only, and is not intended to be limiting of the application. As used in the specification and claims of this application, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should be further understood that the term "and/or" as used in the specification and claims of this application refers to any and all possible combinations of one or more of the associated listed items and includes such combinations. As used in this specification and the claims, the terms "if," if, "and" if "may be interpreted contextually as" when.
In actual engineering tests, the function points in the coverage group (Covergroup) comprise basic coverage points (CoverPoint) and cross points (CrossPoint), and the syntax of the adopted coverage group is usually not too complex and is relatively single. In view of this, the user may fill in the configuration file corresponding content, i.e. collect the function point information in the configuration file, for example, the configuration file may be a form file in an Excel format. The overlay group code is then automatically generated by the script based on the configuration file. In an application scenario, the Perl script may be used to detect the aforementioned configuration file to generate an overlay group code corresponding to the configuration file. It should be noted that, in the technical solution of the present application, the format selection of the configuration file and the language selection of the script may be arbitrary, and the proposed Excel format and Perl script are only used as examples, and the present application does not limit this. Through the mode of generating the coverage group in the application, the working efficiency of the user in the coverage rate collection can be effectively improved, and meanwhile, the condition of omitting the coverage points caused by human factors can be reduced. Specific embodiments of the present application are described in detail below with reference to the accompanying drawings.
FIG. 1 illustrates a flow diagram of a method of generating coverage groups in an embodiment in accordance with the application.
First, step S101 is executed to obtain a configuration file, where the configuration file may include one or more entries, and at least one entry includes information corresponding to a function point of a coverage group. The functional points may include, by way of example, overlay points or intersection points. Next, step S102 is executed to extract information corresponding to each entry and generate an overlay group code. A mapping relationship exists between the configuration file and the generated overlay group code, and a user fills in the configuration file according to a convention format and then automatically generates an overlay group code, namely an overlay group (coverage) code based on systemvverilog syntax (hereinafter abbreviated as SV syntax).
The description will be given by taking the coverage point (CoverPoint) and the intersection point (CrossPoint) as an example. And filling the relevant information of the coverage points and the intersection points into a configuration file by a user, namely automatically detecting the relevant information of the functional points by the script and generating corresponding coverage group codes. In one application scenario, the aforementioned configuration file may take the form, for example, in table 1 below.
TABLE 1
Figure BDA0003177953140000081
As an example, a plurality of entry information items are described in table 1, where a first line (Template) represents a Template of a configuration file, and a second line may record, for example, a function point (overlay point or intersection point) and related information thereof. In an application scenario, the keyword information of the function point may be recorded in the 1 st column of the second row. For example, the overlay point keyword ("CoverPoint") is in the 1 st column of the second row, and the 2 nd to 8 th columns of the second row may record the information related to the overlay point. For example, a keyword ("CrossPoint") of the intersection is recorded in the third row, column 1, and the information related to the intersection may be recorded in columns 2 to 8 of the third row. The information related to the coverage point may include a name of the coverage point (CvpName), a name of a variable corresponding to the coverage point (smpvvariable), a bit width of the variable of the coverage point (VrbW), a bin associated with the coverage point (userdeffbins), Weight information of the bin corresponding to the coverage point (Weight), coverage condition information (Iff), and Comment information (Comment). The information related to the intersection may include: cross point name (CRSName), cross point corresponding variable name (CrsCvps), variable bit width (VrbW), cross point associated bin (userdeffbins), cross point corresponding bin Weight information (Weight), cross condition information (Iff), and Comment information (Comment). That is, in the configuration file, information of one functional point (overlay point or cross point) is recorded per line. Further, a plurality of function points may be included in the configuration file. For example, while the second row in Table 1 above records a coverage point and the third row records an intersection, it will be appreciated that more rows may be added to record more coverage points or intersections in Table 1
In addition to the above information indicating the coverage points and intersections, the configuration file may also include an item name, such as TopTestPlan shown in the fourth row of Table 1, which is typically not specifically processed when generating the coverage group code. The configuration file also includes the overlay group name, Chapter as shown in the fifth row of Table 1. In a general verification environment, coverage rates of multiple coverage groups need to be collected, so a script supports data tables of multiple configuration files, each data table may correspond to one coverage group, and a character string filled after Chapter is used to generate a name of a coverage group, for example, the fifth row filling content is Chapter: DEM _ cvgrp _0, where the character string DEM _ cvgrp _0 represents a specific overlay group name, and when an overlay group code is generated, the overlay group code may be written into the code by "overlay cvgrp _ DEM _ cvgrp _ 0". The configuration file also includes a package handle, such as the PktHd entry in the sixth row of table 1, since the variables of the coverage group that are normally collected in the verification environment are all from other components (components), the characters after the PktHd can be uniformly added to the code of the coverage group at the time of the code generated by the script. For example, the sixth row of fill content is PktHd: pkt, the character pkt may be uniformly added to the code when generating the overlay code.
Further, the file format in table 1 above is only a simple example of a configuration file format, and those skilled in the art may adopt files with different formats or forms according to requirements. For example, the user may record the function points in columns instead of rows according to the filling habit.
The foregoing describes an exemplary representation manner of a configuration file in the present application, and a process of generating a corresponding overlay group code according to function point information contained in an entry of the configuration file will be described next. In the present application, the script may be used to detect the configuration file, so as to write the function point information recorded in the configuration file into the overlay group file (or overlay group code).
In one implementation scenario, the automatic generation of SystemVerilog-syntax-based overlay group code from scripts can take the following format:
(1) overlay point or cross point names;
(2) the name of the variable to be covered, or the name of the coverage point to be crossed;
(3) coverage condition information or cross condition information;
(4) the bin enumeration associated with the coverage point or the bin enumeration associated with the intersection point, and the corresponding weight information.
For example, an overlay group code of the form:
Figure BDA0003177953140000091
Figure BDA0003177953140000101
in the above coverage group code, the first line coverage indicates the coverage group name "covPort", and the second line "cover _ kid" indicates the coverage point name, as shown in the above format (1); coverage pkt indicates the variable name "kid" to be covered, as shown in the above format (2); overlay condition information or cross condition information (as shown in the above format (3)) may be written in the second line (the above code does not contain the corresponding condition information). The third to fifth rows indicate the bin with which the coverage point is associated or the information of the bin with which the intersection is associated, and the sixth row indicates the coverage point weight information or the intersection weight information, as shown in the above-described format (4).
The manner in which the corresponding overlay group code is generated according to the configuration file is described in the foregoing, and the following will explain the scheme of the present application in detail with reference to different cases.
Fig. 2 shows a flow of a method for generating an overlay group code according to information corresponding to each entry in the foregoing configuration file in an embodiment of the present application.
In an application scenario, as shown in fig. 2, the method S102 for generating the coverage group code by extracting information corresponding to each entry in the foregoing configuration file may include the following steps: step 201 is executed to extract first information recorded in a first field in each entry in the foregoing configuration file, and second information recorded in at least one second field (e.g., information in second row, column 2 to column 8 in table 1), where the first information may include key information, for example, the key information includes a function point key (e.g., an overlay point key in second row, column 1 in table 1), and the second information may include a function point name, a variable name corresponding to the function point, a variable bit width, and a bin associated with the function point. Next, step S202 is executed to match the first information with the specified keyword, and if the matching is successful, a corresponding overlay group code is generated according to the first information and the second information. Further, the matching the first information with the specified keyword may include matching the first information with the specified keyword corresponding to the overlay point, and matching the first information with the specified keyword corresponding to the intersection point. The scheme of the present application will be described next separately from the keyword matching process of the coverage point and the intersection point.
Fig. 3 shows a flowchart of a method for extracting information related to a function point.
As shown in fig. 3, taking the above table 1 as an example, after the configuration file is obtained, step S301 is executed to determine the number of valid rows and columns in the configuration file (at least the rows or columns in which the contents in the above formats (1) - (4) are recorded). Then, step S302 is executed to traverse all the valid rows of the configuration file line by line, and read the information recorded in the 1 st column in each row, so as to facilitate the subsequent judgment of the keyword information. The 1 st column of the configuration file, which records the related information of the functional point, may store the key information of the overlay point or the intersection point, and when the key information of the overlay point is recorded, steps S303 and S304 are executed; when the keyword information of the intersection is recorded, steps S305 and S306 are performed. This will be explained in the following cases.
In the foregoing traversal process, step S303 is executed to perform coverage point keyword matching. If the information related to the coverage point is stored in the valid row according to the keyword in the column 1, sequentially reading the information in each next column in the row, and executing step S304 to obtain the information related to the coverage point according to the data storage sequence in the configuration file. For example, the overlay point name CvpName may be obtained from the 2 nd column of the second row of table 1, the variable name SvVariable corresponding to the overlay point may be obtained from the 3 rd column, the variable bit Width may be obtained from the 4 th column, the bin Bins associated with the overlay point may be obtained from the 5 th column, the user-defined overlay point Weight information Weight may be obtained from the 6 th column, the overlay condition information Iff may be obtained from the 7 th column, and the overlay point Comment information Comment may be obtained from the 8 th column, so that the information related to the overlay point, that is, the information corresponding to the second field described above may be obtained through this process. By the above method, the content of the second information included in the second field can be acquired, and if information such as numbers and data intervals is recorded in the second field for recording bins associated with the overlay points, one or more bins in the overlay group code corresponding to the System Verilog syntax can be automatically generated according to a predetermined rule. This part of the content will be described in detail in the following.
In another application scenario, as shown in fig. 3, in the process of traversing, after step S305 is executed, matching is performed according to the keyword in the 1 st column and the specified keyword, and it is determined that the information related to the intersection is recorded in the effective row, step S306 is executed, and the information in each next column in the row is sequentially read. For example, according to the data storage order in the configuration file, the intersection name CrsName may be obtained from the 2 nd column of the third row in table 1, the variable name CrsCvpNms corresponding to the intersection may be obtained from the 3 rd column, the variable bit Width may be obtained from the 4 th column, the bin bits associated with the user intersection may be obtained from the 5 th column, the user-defined intersection Weight information Weight may be obtained from the 6 th column, the intersection condition information Iff may be obtained from the 7 th column, and the intersection Comment information Comment may be obtained from the 8 th column.
The above description describes a manner of acquiring the related information of each function point in the configuration file, and an agreed manner of generating the overlay group code according to the related information of the function point. The generation process of the cover group code in the present application will be described in detail below according to an example of practical application.
Fig. 4 shows a schematic diagram of a configuration file in an embodiment according to the application.
As shown in fig. 4, the user inputs information related to the relevant coverage points and intersections according to the configuration file format to obtain a corresponding configuration file, for example, an Excel table shown in fig. 4. By using the traversing mode of the configuration file, the information recorded in the configuration file can be acquired.
In an application scenario, as shown in fig. 4, in the configuration file, it is detected that "CoverPoint" is recorded in the 1 st column in the 11 th row (e.g., the first column in fig. 4 is a row number), and the column is matched with a keyword of a coverage point, so as to determine that information of the coverage point is recorded in the row, and then, content of second information, that is, information related to the coverage point, is continuously acquired. Specifically, the information related to the coverage point in the 11 th row includes: the method comprises the steps of acquiring an overlay point name cov _ base _ a from a column 2, acquiring a variable name var _ a corresponding to the overlay point from a column 3, acquiring a variable bit width 32 from a column 4, acquiring a bin value associated with a user overlay point from a column 5 as "0, 1", acquiring user-defined overlay point weight information 2 from a column 6, acquiring overlay condition information as rst _ sel ═ 0 from a column 7, and acquiring overlay point annotation information as 0: value 01: value 1 from a column 8. After the information related to the overlay point is obtained, the information may be sequentially written into the overlay group code in a corresponding manner. For example, from the information recorded in this line 11, the following code can be generated:
Figure BDA0003177953140000121
in the above codes, the coverage point name cov _ base _ a obtained from the 2 nd column of the configuration file is written into the label sheetThe underlined location, i.e., the name in the code corresponding to the partially covered group; writing the variable name var _ a corresponding to the coverage point acquired from the 3 rd column into the code marked by double underline
Figure BDA0003177953140000122
The position is the variable name corresponding to the coverage point; the variable bit width obtained from the 4 th column may not be processed; the detected "0, 1" of the bin associated with the user coverage point is obtained from the 5 th column, processed, and then written into the position in the third row and the fourth row in the code (which is only an exemplary illustration here, since there are many cases where the information recorded in the bin associated with the coverage point or the intersection point exists, the description will not be made here, and the details will be set forth in the following contents); the user-defined overlay weight information 2 obtained from column 6 is written in the location marked by the dotted line, i.e.
Figure BDA0003177953140000131
The content portion of (a); in the overlay group code, the aforementioned bin generated from the information recorded in the bin associated with the overlay point and the code generated from the weight information are written in a brace; the name rst _ sel ═ 0 of the global variable which is obtained from the 7 th column and is used for writing into the wire frame
Figure BDA0003177953140000132
The position of (a); writing the annotation information 0: value 01: value 1 for acquiring the coverage point from the 8 th column into the wavy line in the code
Figure BDA0003177953140000133
The position of the label is preceded by "//", thereby indicating that the content is annotation information.
The above description explains a manner in which the script generates the cover group code from the related information of the cover point recorded in the detection configuration file, and the manner in which the cover group code is generated from the related information of the intersection point is similar to the above-described manner, and the description will be continued in the following specific example.
Of the second information mentioned in the foregoing, the information recorded in the bin associated with the overlay point will correspond to the bin or enumerated bin expressed by the SV syntax, and the information recorded in the bin associated with the cross point will generate the corresponding bin, and the manner in which the corresponding code for the bin is generated will be explained in detail next.
For the content recorded in the bin associated with the coverage point includes a plurality of different situations, the code generation modes corresponding to the different situations are respectively explained:
in the first case, the second field for recording the bin associated with the coverage point records: a number or a plurality of numbers, wherein any two numbers in the plurality of numbers are separated by a first separator; in generating the overlay group code, a bin is generated from each number, the bin value being equal to the corresponding number.
For example, if a number "0" is recorded in the second field for recording the bin associated with the coverage point, the bin corresponding to the number generator is bin b0 ═ 0.
As an example, a plurality of numbers may be recorded simultaneously in the second field for recording the bin associated with the coverage point, and the different numbers are separated by a first separator, the first separator being a comma ",". For example, the coverage point in column 5 of row 12 in FIG. 4 is associated with a bin value of "0, 1". Including two numbers, each number forms a corresponding bin. An example of code is as follows:
Figure BDA0003177953140000134
Figure BDA0003177953140000141
in the above code, bin b0 of the coverage point and its bin value 0 are recorded in the third row and are represented by bins b0 ═ {0}, and then bin b1 of the coverage point and its bin value 1 in the fourth row are represented by bins b1 ═ {1 }. As an example, if the numbers recorded in the bins associated with the recording coverage points are separated by "a first separator", e.g., "0, 1", then when the coverage group code is generated using the SV syntax, a bin is generated from the number 0, with a bin value of 0; another bin is generated from the number 1, with a bin value of 1. The script generates different bins when it detects the first delimiter ", e.g. in the above example, 0 and 1 are divided into two lines, i.e. if a first delimiter is detected, it reopens one line; it is understood that if there are 2 first separators, then 3 rows may be divided and corresponding 3 bins may be generated, and if there are 3 first separators, then 4 rows may be divided and corresponding 4 bins may be generated.
In the second case, the second field for recording the bin associated with the coverage point records: one or more first data intervals, wherein any two of the first data intervals are separated by a first separator; in generating the coverage group code, a bin is generated from each first data interval, the bin value being equal to the range indicated by the first data interval.
For example, a first data interval "1: 3" is recorded in the second field for recording the bin associated with the coverage point, wherein two numbers in the first data interval are marked by a colon ": "divide, the code that generates the corresponding bin according to the first digit interval is bins b0 { [1:3] }.
In addition, on the basis that the first data interval is recorded in the second field, the second field can also comprise at least one number, and the first data interval is separated from the number by a first separator. By way of example, as in line 13 in fig. 4, the information of the coverage point includes: the method includes acquiring a coverage point name cov _ base _ bin _1 from the 2 nd column, acquiring a variable name var _ a corresponding to the coverage point from the 3 rd column, acquiring a variable bit width of 32 from the 4 th column, acquiring a bin associated with the user coverage point from the 5 th column as "1: 3, 5", acquiring user-defined coverage point weight information of 2 from the 6 th column, acquiring coverage condition information of rst _ sel ═ 0 from the 7 th column, and acquiring coverage point annotation information of not cont value with diffins from the 8 th column.
Generating a corresponding overlay group code according to the information includes:
//not cont value with diff bins
cov_base_bin_1:coverpoint pkt.var_a iff(pkt.rst_sel==0){
bins b0={[1:3]};
bins b1={5};
option.weight=2;}
note information of the coverage point is recorded in the first line, and the name of the coverage point, the name of a variable corresponding to the coverage point, and coverage condition information are recorded in the second line in a set order. In the above code, when the bin b0 of the coverage point and the data sections 1 to 3 thereof are recorded in the third row, the corresponding bin b0 is represented by { [1:3] }. In addition to the data section, when a single number 5 is recorded and the data section is separated by a comma (i.e., the first separator), a bin b1 corresponding to the coverage point and its bin value 5 are generated from the number 5 in addition to the bin corresponding to the data section, and this bin b1 is represented by {5 }.
In summary, in the second field for recording the bin associated with the coverage point, if it is assumed that "at least two numbers, or at least two data intervals, or a combination of numbers and data intervals are spaced apart", then when generating the code, "," can be used to distinguish between the bins.
The manner in which one or more digits, one or more data intervals, at least one data interval, and at least one digit are recorded in the second field for recording the bin associated with the coverage point and the coverage group code is generated based on the contents is described above, and a case in which a digit with a designated symbol or wildcard is recorded in the second field for recording the bin associated with the coverage point will be described next.
In a third case, the second field for recording the bin associated with the coverage point records: at least one first data set, wherein the first data set comprises second data intervals and digits, and the second data intervals and the digits are separated by combined bin designation symbols; in generating the overlay group code, a bin is generated from each of the first data sets, the bin value being equal to the second data interval and the number contained in the first data set.
For example, in line 14 of FIG. 4, the second field for recording bins associated with coverage points records a first data set { [1:3] |5}, wherein the designated symbol "|" separates the second data intervals 1-3 from the number 5 and lists the second data intervals and numbers in "{ }". When the configuration file is detected, when "{ }" is detected, a second data interval [1:3] and a number 5, which are separated by "|", in the "{ }" are combined into one bin, and a corresponding generated coverage group code is as follows:
//not cont value with one bins
cov_base_bin2:coverpoint pkt var_a iff{pkt.rst_se1==0){
bins b0={[1:3],5}
}
by way of example, a number and data interval, a number and a number, or a data interval and a data interval may be combined by "|" to generate one bin when generating the overlay group code. In the code, the content following "//" in the first row indicates that the coverage point annotation information is "not cont value with one bins", and the second row sequentially indicates that the coverage point name base _ bin2, the variable name var _ a corresponding to the coverage point, and the coverage condition information rst _ se1 are 0.
In a fourth case, the second field for recording the bin associated with the coverage point records: the bit width key, wildcard, and number.
In one application scenario, if a bit width key (e.g., "4' b"), a wildcard (e.g., "are"), and a number are recorded in the second field for recording a bin associated with a coverage point and combined as a first byte, a bin corresponding to the first byte and expressed by SV syntax is generated from the first byte in the coverage group code.
For example, "3 ' b1, 3 ' b 1" is recorded in the bin in the 17 th row in fig. 4, if it is detected that the bit width key "3 ' b", wildcard "? "and number" 1 ", the corresponding code may be generated from the number with wildcards in the bin, the code generated by" 3 'b 1 "may be in the form of wildcard bins b0 ═ 3' b1, and the code generated by" 3 'b 1 "may be in the form of wildcard bins b1 ═ 3' b1, and the code may be expressed as follows:
Figure BDA0003177953140000161
in the embodiment, two first bytes, respectively "3 'b 1 and 3' b 1", are recorded in the bin of the coverage point recorded in the 17 th row, and the two first bytes are separated by a first separator (e.g., "), so that when the coverage group code is automatically generated, a corresponding bin is generated according to each first byte.
In a fifth case, the second field for recording the bin associated with the coverage point records: a first sequence comprising at least two digits, the digits being connected by a transition designation symbol (e.g., "═ >").
In some application scenarios, it may be necessary to cover a sequence of changes in a certain variable value to identify a certain function, and thus also include the case where the numbers in the bin jump, for example, a sequence of changes from 0 to 1 to 2, which may be expressed in the form of "0 ═ 1 ═ 2".
For example, in fig. 4, two first sequences, "0 ═ 1" and "1 ═ 3" are recorded in the bin associated with the corresponding coverage point in the 18 th row, respectively, and represent a first sequence that jumps from 0 to 1 and a first sequence that jumps from 1 to 3, and the two first sequences are separated by a first separator and "partition", and when the first sequence is automatically generated, the corresponding bin expressed by SV syntax, respectively, bins, bin b0 ═ 0 ═ 1} and bin b1 ═ 1 ═ 3} are generated from the first sequence when the first sequence is detected. The coverage group code generated from the first sequence is as follows:
Figure BDA0003177953140000171
as can be seen from the above, if the first delimiter, e.g., "is recorded in the second field for recording the bin associated with the coverage point, when generating the coverage group code, the data, the first data interval, the first byte, the first sequence, and/or the second data interval separated by the first delimiter are listed as one bin, respectively, and then the coverage group code corresponding to the bin is generated by the SV syntax.
In addition to the above five cases, the following special cases are also included:
in a sixth case, the second field for recording the bin associated with the coverage point records: individual bin keys and corresponding data ranges.
For example, the individual bin key Split is defined in this application, the corresponding data range is indicated by the bracket "()", the data range in "()" being the individual bin or the value of the individual bin to be generated. For example, where Split (0:7) is recorded in line 15 of the figure, then the corresponding coverage group code is generated from the individual bin key and the corresponding data range as follows:
Figure BDA0003177953140000172
Figure BDA0003177953140000181
the above overlay group code is generated in such a way that an individual bin key (split) and a corresponding data range (0:7) are recorded in the second field where the bin associated with the record overlay point is obtained, and one bin is generated in the overlay group code, the bin value being equal to the data range ([0:7 ]).
In a seventh case, the second field for recording the bin associated with the coverage point records: a multi-bin enumeration key (one-hot) and a corresponding enumeration number. For example, for an 8-bit address bus, then one _ hot (8) can be recorded in this bin. For more bit variables that want to write code in the above form, the enumeration workload increases as the bit width increases, and for simplification, the multi-bin enumeration key may be defined as one _ hot, and the number may be filled with "()" after the key one _ hot is enumerated with parentheses. The following records the code generated corresponding to one _ hot (32) recorded in the corresponding bin of row 16 in fig. 4:
Figure BDA0003177953140000182
Figure BDA0003177953140000191
specifically, in the code, in addition to the information such as the coverage point annotation information and the coverage point name in the first line and the second line, the enumeration of a plurality of bins is started in the parenthesis in the third line, and since the number filled in the parenthesis () after the multi-bin enumeration key one _ hot can be detected to be 32, the 32 bins are enumerated correspondingly, 32 represents the bit number information required to be enumerated in the bin value of each generated bin, and the bit corresponding to the bin can be recorded after h.
In an eighth case, the second field for recording the bin associated with the coverage point records: a variable bit key (One host wildcard) and corresponding variable bit width number, bin value number.
In some application scenarios, it may be necessary to cover the situation where all bits of a variable have 1, such as a 4-bit wide variable, and care is taken that all bits of the variable have 1, which can be represented by the above-mentioned wildcard (e.g., ". And defining a keyword One _ hot _ wildcard _0() corresponding to the condition that 0 needs to be covered, thereby generating a corresponding covering group code.
For example, One _ hot _ wildcard _0(3) and One _ hot _ wildcard _1(3) are recorded in lines 19 and 20, respectively, of fig. 4. If the bit width number of the variable in One _ hot _ wildcard _0(3) is 3 and it is necessary to cover all bits with 0, then when detecting the One _ hot _ wildcard _0() and the number 3 in the brackets, 3 bins will be generated when generating the cover group code, and the bin values in each bin are 3 'b 0, 3' b 0? 3' b 0. In the process of generating the overlay group code, a bin expressed in SV syntax is generated according to the variable bit width number and the bin value number, and the One _ hot _ wildcard _0(3) and the One _ hot _ wildcard _1(3) can generate the corresponding overlay group code as follows:
Figure BDA0003177953140000201
in the bins listed in the foregoing codes, the 4-bit wide variable has a first bit, a second bit, a third bit and a fourth bit in order from the low bit to the high bit, where "3 'b 0" indicates that the first bit has 0, and "3' b 0? "indicates that the second bit has a presence of 0," 3' b0 "indicates that the third bit has a presence of 0. "3 'b 1" indicates that the first bit has an occurrence of 1, "3' b 1? "indicates that the second bit has a 1 occurrence," 3' b1 "indicates that the third bit has a 1 occurrence.
The above is some cases of generating the corresponding coverage group code for the coverage point related information, and the following will describe in detail the manner of generating the coverage group code from the related information of the intersection point.
The configuration file may further include information related to the intersection, extract information corresponding to each entry in the configuration file, and generate the overlay group code. The information related to the intersection includes first information including the aforementioned intersection key and second information which may include an intersection name, a variable name corresponding to the intersection, a variable bit width, and a bin associated with the intersection. In addition to this, the second information may further include user-defined cross-weight information, cross-condition information, and comment information. The process of generating the corresponding overlay group code according to the information such as the name of the intersection, the name of the variable corresponding to the intersection, the bit width of the variable, and the like in the second information is similar to the above-mentioned overlay point, and will not be described in detail here.
In the process of generating the cover group code, if the second field for recording the bin associated with the intersection point records: based on a first statement of the SV syntax, the first statement is copied into the corresponding overlay group code. As an example, the first statement is used to indicate some combinations that need to be ignored when crossing coverage type and coverage point, for example, if two combinations of coverage _ kind ═ 0 and coverage _ port ═ 0 and coverage _ kind ═ 1 and coverage _ port ═ 1 are ignored, this can be indicated by the following first statement:
ignore_bins bin0=binsof(cover_kind)intersect{0}&&binsof(cover_port).intersect{0};
ignore_bins bin1=binsof(cover_kind)intersect{1}&&binsof(cover_port)intersect{1};
wherein bin0 indicates bins corresponding to ignore cover _ kind ═ 0 and cover _ port ═ 0; bin1 indicates the bin corresponding to ignore cover _ kind ═ 1 and cover _ port ═ 1. It can be seen that a plurality of contents to be ignored recorded in the second field for recording the bin associated with the intersection point can pass; "(referred to as a second delimiter)" is spaced apart so that different bins are generated corresponding to each other when the overlay group code is generated.
As shown in fig. 4, contents to be ignored, that is, an align _ bins ba ═ binder f (cov _ base _ a) inter {0} and an align _ bins ba ═ binder {0} & & binder f (cov _ base _ b) inter {0} are recorded in the 24 th and 25 th rows, respectively.
From this content, the overlay group code can be generated as follows:
Figure BDA0003177953140000221
further, if the record in the second field for recording the bin associated with the intersection or overlay point is empty, no corresponding bin is generated, but other information for that functional point needs to be written in the overlay group code. In an application scenario, if the information in the bin associated with the recording intersection in line 23 in fig. 4 is empty, other related intersection names, weight information, etc. are written into the code directly according to the aforementioned method, but the code segment does not contain the corresponding bin value information. For example, based on the information about the intersection recorded in the 23 rd row, the following code form may be generated:
//base cross
cross_base_ab:cross cov_base_a,cov_base_b{
option.weight=4;}
the convention manner or the generation rule for generating the corresponding overlay group code according to the configuration file in the present application is described in detail above. It is understood that the aforementioned convention and generation rules are exemplary and not limiting, and can be adjusted by one skilled in the art according to actual needs.
Besides the above description of the bin and the like information associated with the function point in the second information, the method also comprises detecting the information of the item name, the overlay group name and the like recorded in the configuration file, and writing the contents into the overlay group code. In one implementation scenario, as recorded in line 7 in fig. 4, topteplan: DEM, recording the overlay group name Chapter in line 8: DEM _ cvgrp _ 0. If the topteplan item, namely the item name, is detected, and the name is acquired as DEM, and the overlay group name Chapter item is acquired, and the name is acquired as DEM _ cvgrp _0, these contents are written into the code. For example, based on the detection of the aforementioned TopTestPlan: DEM and Chapter: DEM _ cvgrp _0, which will be written into the code as covergroup cvgrp _ DEM _ cvgrp _0, which is usually at the beginning of the code segment. In addition, the packet handle recorded in the 9 th line in fig. 4, i.e., PktHd: pkt, the script will directly write the content into the code when generating the code, such as "pkt.
According to the method for generating the coverage group, the information in the configuration file can be detected by the script only by filling the information of the functional points to be covered or crossed into the configuration file by the user, and the corresponding coverage group code is automatically generated, so that the accuracy and the generation efficiency of the coverage group code are effectively improved, and the reliable guarantee is provided for improving the engineering test efficiency.
While the method for generating the coverage group is described above in its entirety, according to another aspect of the present application, embodiments of the present application further provide an apparatus for generating the coverage group, whose internal structure diagram may be as shown in fig. 5. The equipment is computer equipment and comprises a processor, an internal memory, a communication interface, a display screen and an input device which are connected through a system bus. The processor of the computer equipment is used for providing calculation and control capability, and various varieties such as a CPU, a singlechip, a DSP or an FPGA can be selected. The memory of the computer device comprises a nonvolatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The steps described in the above-described method embodiments may be performed when the computer program is executed. The internal memory provides an environment for the operation of an operating system and computer programs in the non-volatile storage medium. The communication interface of the computer device is used for carrying out wired or wireless communication with an external terminal, and the wireless communication can be realized through WIFI, an operator network, NFC (near field communication) or other technologies. The computer program is executed by a processor to implement a method of generating a coverage group. The display screen of the computer equipment can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer equipment can be a touch layer covered on the display screen, a key, a track ball or a touch pad arranged on the shell of the computer equipment, an external keyboard, a touch pad or a mouse and the like.
Those skilled in the art will appreciate that the architecture shown in fig. 5 is merely a block diagram of some of the structures associated with the aspects of the present application, and is not intended to limit the computing devices of the present application, as a particular computing device may include more or less components than those shown, or may combine certain components, or have a different arrangement of components.
According to yet another aspect of the present application, an embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored, and the computer program, when executed by a processor, implements the method for generating the coverage group in the above embodiment. The storage medium may include various conventional storage media such as a nonvolatile and/or volatile memory.
It is noted that for the sake of brevity, this application describes some methods and embodiments thereof as a series of acts and combinations thereof, but those skilled in the art will appreciate that the aspects of the application are not limited by the order of the acts described. Accordingly, one of ordinary skill in the art will appreciate that certain steps may be performed in other sequences or simultaneously, in accordance with the disclosure or teachings herein. Further, those skilled in the art will appreciate that the embodiments described herein are capable of alternative embodiments, i.e., acts or modules referred to herein are not necessarily required for the implementation of the solution or solutions described herein. In addition, the description of some embodiments of the present application is also focused on different schemes. In view of the above, those skilled in the art will understand that portions that are not described in detail in one embodiment of the present application may also be referred to in the related description of other embodiments.
In particular implementation, based on the disclosure and teachings of the present application, one of ordinary skill in the art will appreciate that the several embodiments disclosed in the present application may be implemented in other ways not disclosed herein. For example, as for the units in the foregoing embodiments of the electronic device or apparatus, the units are split based on the logic function, and there may be another splitting manner in the actual implementation. Also for example, multiple units or components may be combined or integrated with another system or some features or functions in a unit or component may be selectively disabled. The connections discussed above in connection with the figures may be direct or indirect couplings between the units or components in terms of connectivity between the different units or components. In some scenarios, the aforementioned direct or indirect coupling involves a communication connection utilizing an interface, where the communication interface may support electrical, optical, acoustic, magnetic, or other forms of signal transmission.
While the preferred embodiments of the present application have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all alterations and modifications as fall within the scope of the application. It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.

Claims (10)

1. A method of generating a coverage group, comprising:
acquiring a configuration file, wherein one or more entries are recorded in the configuration file, and at least one first entry comprises information corresponding to a functional point of a coverage group, wherein the functional point comprises a coverage point or a cross point;
and extracting information corresponding to each first entry to generate an overlay group code.
2. The method of claim 1, wherein extracting information corresponding to each first entry generates an overlay group code, comprising:
extracting first information recorded by a first field in each first entry and second information recorded by at least one second field, wherein the first information comprises keyword information, the second information comprises a function point name, a variable name corresponding to the function point, a variable bit width and a bin associated with the function point;
and matching the first information with the specified keyword, and if the matching is successful, generating a corresponding coverage group code according to the first information and the second information.
3. The method of claim 2,
if the second field for recording the bin associated with the coverage point records: a number or a plurality of numbers, wherein any two numbers in the plurality of numbers are separated by a first separator;
in the covering group code, a bin is generated from each digit, the bin value being equal to the corresponding digit.
4. The method according to claim 2 or 3,
if the second field for recording the bin associated with the coverage point records: one or more first data intervals, wherein any two of the first data intervals are separated by a first separator;
in generating the coverage group code, a bin is generated from each first data interval, the bin value being equal to the range indicated by the first data interval.
5. The method according to any one of claims 2 to 4,
if the second field for recording the bin associated with the coverage point records: a first byte consisting of a bit width key, a wildcard character and a number; a bin expressed by SV syntax is generated from the first byte when generating the cover group code.
6. The method according to any one of claims 2 to 5,
if the second field for recording the bin associated with the coverage point records: a first sequence comprising at least two digits, the digits being connected by a hopping designation symbol;
a bin expressed by SV syntax is generated according to the first sequence when generating the cover set code.
7. The method according to any one of claims 2 to 6,
if the second field for recording the bin associated with the coverage point records: the individual bin key and the corresponding data range,
then, when generating the overlay group code, corresponding SV syntax-expressed bins are generated according to the data range, with bin values equal to the data range.
8. The method according to any one of claims 2 to 7,
if the second field for recording the bin associated with the coverage point records: a multi-bin enumeration key and a corresponding enumeration number;
then a number of bins equal to the number of enumerated digits are generated when generating the overlay group code.
9. The method according to any one of claims 2 to 8,
if the second field for recording the bin associated with the coverage point records: variable bit key words and corresponding variable bit width numbers and bin value numbers;
generating a bin expressed in SV syntax according to the variable bit width number and the bin value number when generating the cover group code.
10. An apparatus for generating a coverage group, comprising a processor and a memory, the memory storing a computer program which, when executed by the processor, implements the method of any one of claims 1 to 9.
CN202110838255.5A 2021-07-23 2021-07-23 Method and equipment for generating coverage group Pending CN113705150A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110838255.5A CN113705150A (en) 2021-07-23 2021-07-23 Method and equipment for generating coverage group

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110838255.5A CN113705150A (en) 2021-07-23 2021-07-23 Method and equipment for generating coverage group

Publications (1)

Publication Number Publication Date
CN113705150A true CN113705150A (en) 2021-11-26

Family

ID=78650362

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110838255.5A Pending CN113705150A (en) 2021-07-23 2021-07-23 Method and equipment for generating coverage group

Country Status (1)

Country Link
CN (1) CN113705150A (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5642521A (en) * 1993-06-22 1997-06-24 Casio Computer Co., Ltd. Data processing apparatus for extracting and processing arbitrary records from a file
CN105302573A (en) * 2015-11-20 2016-02-03 浪潮集团有限公司 Method for establishing function point matching setting automation platform for function verification platform
CN108897724A (en) * 2018-07-03 2018-11-27 天津芯海创科技有限公司 Function schedule determines method and device
US20190121932A1 (en) * 2017-10-20 2019-04-25 Mentor Graphics Corporation Covergroup network analysis
US20190340327A1 (en) * 2018-03-10 2019-11-07 Synopsys, Inc. Automatic definition and extraction of functional coverage metric form emulation-based verification
GB2577102A (en) * 2018-09-14 2020-03-18 Advanced Risc Mach Ltd Generation of code coverage information during testing of a code sequence
US20200158781A1 (en) * 2018-11-20 2020-05-21 Micron Technology, Inc. Automated verification code generation based on a hardware design and design data
CN112560390A (en) * 2020-12-23 2021-03-26 海光信息技术股份有限公司 Method, device and equipment for automatically generating ignore bin in cross coverage point

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5642521A (en) * 1993-06-22 1997-06-24 Casio Computer Co., Ltd. Data processing apparatus for extracting and processing arbitrary records from a file
CN105302573A (en) * 2015-11-20 2016-02-03 浪潮集团有限公司 Method for establishing function point matching setting automation platform for function verification platform
US20190121932A1 (en) * 2017-10-20 2019-04-25 Mentor Graphics Corporation Covergroup network analysis
US20190340327A1 (en) * 2018-03-10 2019-11-07 Synopsys, Inc. Automatic definition and extraction of functional coverage metric form emulation-based verification
CN108897724A (en) * 2018-07-03 2018-11-27 天津芯海创科技有限公司 Function schedule determines method and device
GB2577102A (en) * 2018-09-14 2020-03-18 Advanced Risc Mach Ltd Generation of code coverage information during testing of a code sequence
US20200158781A1 (en) * 2018-11-20 2020-05-21 Micron Technology, Inc. Automated verification code generation based on a hardware design and design data
CN112560390A (en) * 2020-12-23 2021-03-26 海光信息技术股份有限公司 Method, device and equipment for automatically generating ignore bin in cross coverage point

Similar Documents

Publication Publication Date Title
CN111124479B (en) Method and system for analyzing configuration file and electronic equipment
CN112364637B (en) Sensitive word detection method and device, electronic equipment and storage medium
KR20180105546A (en) Element-noun reference numeral acquiring method for acquiring element-noun reference numeral of claim-element-noun
US20080126768A1 (en) Method and apparatus for aiding verification of circuit, and computer product
CN116256621B (en) Method and device for testing core particle, electronic equipment and storage medium
CN113467868A (en) Method and device for creating equipment resources
JP4093489B2 (en) Observation apparatus, observation method, and program
JP2003131931A (en) Method and device for scheduling, generating and processing document comprising blocks of information
CN113705150A (en) Method and equipment for generating coverage group
CN107704567A (en) A kind of analytic method of binary file, device, equipment and storage medium
CN110287338B (en) Industry hotspot determination method, device, equipment and medium
CN112566005B (en) Audio chip testing method and device, electronic equipment and storage medium
WO2023273637A1 (en) Fault detection method and apparatus
CN107305522A (en) The apparatus and method detected for the repetition collapse to application program
CN113419959A (en) Method and equipment for generating coverage rate verification report
JP3141428B2 (en) Numerical value search apparatus and method
CN114490390A (en) Test data generation method, device, equipment and storage medium
JP2005275858A (en) Drawing input device and drawing input program
JP5621145B2 (en) Document check device, document check program, and document check method
JP4558369B2 (en) Information extraction system, information extraction method, and computer program
US7756655B2 (en) Observation apparatus, observation method and program
CN112613257A (en) Verification method, verification device, electronic equipment and computer-readable storage medium
CN113158607B (en) SystemVerilog overlay set generation method and device
CN112597756B (en) Method, device, equipment and storage medium for generating operation statement report
CN107329896A (en) A kind of analysis method and system of the program crashing based on BE

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