WO2023207965A1 - Chip verification method and platform - Google Patents
Chip verification method and platform Download PDFInfo
- Publication number
- WO2023207965A1 WO2023207965A1 PCT/CN2023/090561 CN2023090561W WO2023207965A1 WO 2023207965 A1 WO2023207965 A1 WO 2023207965A1 CN 2023090561 W CN2023090561 W CN 2023090561W WO 2023207965 A1 WO2023207965 A1 WO 2023207965A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- component
- verification
- result data
- result
- Prior art date
Links
- 238000012795 verification Methods 0.000 title claims abstract description 223
- 238000000034 method Methods 0.000 title claims abstract description 122
- 230000008569 process Effects 0.000 claims abstract description 78
- 230000004044 response Effects 0.000 claims abstract description 18
- 230000005284 excitation Effects 0.000 claims abstract description 12
- 238000012360 testing method Methods 0.000 claims abstract description 5
- 238000001514 detection method Methods 0.000 claims description 12
- 230000015654 memory Effects 0.000 claims description 8
- 230000001419 dependent effect Effects 0.000 abstract description 2
- 239000003795 chemical substances by application Substances 0.000 description 48
- 230000006870 function Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000001934 delay Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
Definitions
- the present disclosure relates to the field of chip verification technology, and specifically relates to a chip verification method and platform.
- Chip verification is a key step in the design process of digital IC (integrated circuit, integrated circuit), which can usually be achieved using various verification platforms, such as UVM (Universal Verification Methodology, universal verification method) verification platform.
- UVM Universal Verification Methodology, universal verification method
- the verification time is longer, resulting in a longer chip development cycle.
- embodiments of the present disclosure provide a chip verification method and platform, electronic equipment, and storage media.
- embodiments of the present disclosure provide a chip verification platform, including: an incentive data component configured to generate incentive data based on a use case to be tested and send the incentive data to the component to be verified; a counting control component configured to Configured to detect and count the target signals of the result data output by the component to be verified in real time during the verification process, and in response to the number of the target signals meeting the preset conditions, determine that the verification of the use case to be tested is completed; the target Signal represents a time-series dependent signal of the resulting data.
- the counting control component is configured to: determine an expected number of the result data based on the use case to be tested in advance; and in response to the number of the target signals reaching the expected number, determine the target signal The quantity meets the preset conditions.
- the chip verification platform further includes: a reference model component configured to receive the stimulus data and output corresponding expected result data; a comparison component configured in the verification environment for performing During the verification process, the result data output by the component to be verified is compared with the expected result data in real time to obtain a comparison result corresponding to the result data; in response to an error in the comparison result of the result data, stop The verification process.
- a reference model component configured to receive the stimulus data and output corresponding expected result data
- a comparison component configured in the verification environment for performing During the verification process, the result data output by the component to be verified is compared with the expected result data in real time to obtain a comparison result corresponding to the result data; in response to an error in the comparison result of the result data, stop The verification process.
- the result data includes a data signal and a timing signal
- the expected result data includes an expected data signal and an expected timing signal
- the comparison component is configured to: compare the data signal of the result data with the Compare the expected data signal of the expected result data to obtain the first result; compare the timing signal of the result data with the expected timing signal of the expected result data to obtain the second result; according to the first result The comparison result corresponding to the result data is determined with the second result.
- the stimulus data component includes: a data generation component, configured outside the verification environment, for generating the stimulus data based on the use case to be tested; a stimulus component, configured in the verification environment, for receiving the stimulus data and sending the stimulus data to the component to be verified; wherein the data generation component is configured to send the stimulus data to the reference model component, and the Reference model components are deployed outside the verification environment.
- the comparison component is configured as an output proxy component.
- the chip verification platform further includes: a configuration agent component, configured in the verification environment, for generating and sending configuration information to the component to be verified according to the incentive data; a coverage detection component, Configured in the verification environment, used to detect the configuration information, and determine the functional coverage information of the use case to be tested based on the configuration information.
- a configuration agent component configured in the verification environment, for generating and sending configuration information to the component to be verified according to the incentive data
- a coverage detection component Configured in the verification environment, used to detect the configuration information, and determine the functional coverage information of the use case to be tested based on the configuration information.
- embodiments of the present disclosure provide a chip verification method, including: generating incentive data based on use cases to be tested, and sending the incentive data to components to be verified; and detecting the components to be verified in real time during the verification process.
- the target signals of the output result data are counted; the target signal represents the timing related signal of the result data; in response to the number of the target signals meeting the preset condition, it is determined that the verification of the use case to be tested is completed.
- determining that the verification of the use case to be tested is completed in response to the number of target signals meeting a preset condition includes: determining the expected amount of result data based on the use case to be tested in advance; responding to The number of the target signals reaches the expected number, and it is determined that the number of the target signals meets the preset condition.
- the method of the present disclosure further includes: sending the stimulus data to a reference model component to obtain the expected result data output by the reference model component; during the verification process, transmitting the stimulus data to the reference model component in real time.
- the result data output by the component to be verified is compared with the expected result data to obtain a comparison result corresponding to the result data; in response to an error in the comparison result of the result data, the verification process is stopped.
- the result data includes data signals and timing signals
- the expected result data includes expected data signals and expected timing signals; during the verification process, all the output signals of the component to be verified are output in real time.
- Comparing the result data with the expected result data to obtain a comparison result corresponding to the result data includes: comparing a data signal of the result data with an expected data signal of the expected result data to obtain a first result; Compare the timing signal of the result data with the expected timing signal of the expected result data to obtain a second result; determine the comparison result corresponding to the result data based on the first result and the second result.
- generating stimulus data based on the use case to be tested and sending the stimulus data to the component to be verified includes: a data generating component outside the verification environment will generate the stimulus data based on the use case to be tested.
- the data is sent to the stimulus component in the verification environment, and in the verification environment, the stimulus component sends the stimulus data sent to the component to be verified;
- sending the stimulus data to the reference model component to obtain the expected result data output by the reference model component includes: the data generation component sending the stimulus data to the verification environment The reference model component outside the verification environment sends the expected result data to the verification environment.
- the result data output by the component to be verified is compared with the expected result data in real time to obtain a comparison result corresponding to the result data, including:
- the output agent component receives the result data and the expected result data respectively, and compares the result data with the expected result data in real time to obtain the comparison result.
- the method of the present disclosure further includes: in the verification environment, detecting the configuration information of the stimulus data sent to the component to be verified, and determining the use case to be tested based on the configuration information Functional coverage information.
- the target signal includes one or more of a valid signal, a ready signal, a line start signal, and a line end signal.
- an embodiment of the present disclosure provides an electronic device, including: a processor; and a memory storing computer instructions, the computer instructions being used to cause the processor to execute the method according to any embodiment of the second aspect. .
- an embodiment of the present disclosure provides a storage medium storing computer instructions, and the computer instructions are used to cause a computer to execute the method according to any embodiment of the second aspect.
- the chip verification platform of the disclosed embodiment includes an incentive data component and a counting control component.
- the incentive data component is used to generate incentive data based on the use case to be tested and send the incentive data to the component to be verified.
- the counting control component is used to perform the verification during the verification process. , detect and count the target signals of each result data output by the component to be verified in real time, and in response to the number of target signals meeting the preset conditions, it is determined that the verification of the use case to be tested is completed.
- the processing progress of the stimulus data can be accurately detected, and the end time of the verification process can be accurately determined, which not only avoids verification failure caused by early ending, but also avoids the reduction of verification efficiency caused by long delays, and improves chip verification efficiency.
- FIG. 1 is a schematic structural diagram of the UVM verification platform in related technologies.
- Figure 2 is a schematic structural diagram of a chip verification platform according to some embodiments of the present disclosure.
- Figure 3 is a flow chart of a chip verification method according to some embodiments of the present disclosure.
- Figure 4 is a flow chart of a chip verification method according to some embodiments of the present disclosure.
- Figure 5 is a flow chart of a chip verification method according to some embodiments of the present disclosure.
- Figure 6 is a flow chart of a chip verification method according to some embodiments of the present disclosure.
- Figure 7 is a schematic structural diagram of a chip verification platform according to some embodiments of the present disclosure.
- Figure 8 is a structural block diagram of an electronic device according to some embodiments of the present disclosure.
- Figure 1 shows the structural schematic diagram of the traditional UVM (Universal Verification Methodology) verification platform. The following is a brief description of the chip verification process in conjunction with Figure 1.
- UVM Universal Verification Methodology
- the platform architecture mainly includes: incentive generation component (Sequence), input agent component (Input agent), output agent component (Output agent), and component to be verified (DUT, device under test) , reference model component (reference model) and scoreboard (Scoreboard).
- incentive generation component Sequence
- input agent component Input agent
- output agent component Output agent
- component to be verified DUT, device under test
- reference model component reference model
- scoreboard scoreboard
- the stimulus generation component is used to generate stimulus data for the use case to be tested (Case). For example, taking ISP (Image Signal Processing, Image Signal Processing) chip verification as an example, the stimulus data generated by the stimulus generation component can be randomly generated image data.
- ISP Image Signal Processing, Image Signal Processing
- the input agent component is used to send stimulus data to the component to be verified in a certain time sequence based on the relevant configuration information required by the component to be verified.
- the stimulus data takes a single frame of image data as an example.
- the input agent component can send the pixel data included in the image to the component to be verified frame by frame according to a predetermined timing sequence.
- the component to be verified represents an RTL (register-transfer level) design component that is completely consistent with the chip functional module. It can process the received stimulus data according to the preset function and output the processed execution result data to Output proxy component.
- RTL register-transfer level
- the output agent component is used to detect the output data of the component to be verified and send the output execution result data to the scoreboard.
- the reference model component represents a reference model corresponding to the expected functionality of the component to be verified.
- the input agent component sends stimulus data to the reference model component, and the reference model sends the resulting expected outcome data to the scoreboard.
- the scoreboard receives expected result data sent by the reference model component and actual execution data forwarded by the output agent component. By running the result data and comparing whether the two are consistent, you can determine whether the function of the component to be verified is realized, that is, the verification result of the component to be verified is obtained.
- the start and end of the verification are generally controlled through the object mechanism. That is, the verification starts when the stimulus generation component sends the stimulus data, and ends when the stimulus data is sent or delayed for a period.
- this method is difficult to apply to complex chip verifications with a large amount of calculations, such as ISP.
- the amount of stimulus data is huge. For example, for 720p image data, the output will generate 1280*720 pixel data. From the time the stimulus data is sent to the output data of the component to be verified, The time is difficult to know accurately. If each use case to be tested is for a certain fixed resolution image data, it may be possible to obtain a roughly accurate delay period through multiple experiments. However, the resolution of the image data generated by different use cases to be tested will vary. They are all different and it is difficult to obtain the delay period by means of experiments.
- the delay period is set to be short, the verification will end early and the verification will fail; conversely, if the delay period is set to be long, the verification time will be lengthened and verification efficiency will be reduced. It can be seen from this that the UVM verification platform in related technologies is not complete and the chip verification is not robust.
- the embodiments of the present disclosure provide a chip verification platform and method, electronic equipment, and storage media, aiming to reasonably determine the verification end time of chip verification and improve the accuracy and robustness of the verification platform.
- FIG. 2 shows an image of the structural principle of the chip verification platform in some embodiments of the present disclosure.
- the chip verification platform in some embodiments of the present disclosure will be described below with reference to FIG. 2 .
- the chip verification platform of the present disclosure includes a stimulus data component 100 , an input agent component 200 , a component to be verified 300 , a reference model component 400 , a comparison component 500 and a counting control component 800 .
- the stimulus data component 100 is used to generate stimulus data according to the use case to be tested, and send the stimulus data to the input agent component 200.
- the input agent component 200 sends the stimulus data to the component to be verified 300 and the reference model component in time sequence based on the set configuration information. 400.
- the component to be verified 300 sends the processed result data to the comparison component 500
- the reference model component 400 sends the processed expected result data to the comparison component 500 .
- the comparison component 500 compares the result data and the expected result data to obtain the comparison result of the use case to be tested.
- the input agent component 200 inputs stimulus data to the component to be verified 300 one by one in time sequence.
- the result data output by the component to be verified 300 is also output one by one in time sequence.
- the stimulus data component 100 generates The complete stimulus data represents a frame of image data of 1280 pixels*720 pixels, so the input agent component 200 inputs each pixel data to the component to be verified 300 pixel by pixel. After the component 300 to be verified processes each pixel data, it also outputs the result data corresponding to each pixel data pixel by pixel.
- the counting control component 800 is set up in the verification environment.
- the counting control component 800 is used to detect and count the target signal in the result data output by the component 300 to be verified in real time. That is, every time the counting control component 800 detects Once the target signal is reached, 1 can be added to the previous count result.
- the function of the target signal is to perform statistics on each result data. Therefore, in an actual implementation scenario, the target signal may be a signal related to timing statistics included in the result data, that is, the timing described in this disclosure. Relevant signals.
- the Valid/Ready (valid signal/ready signal) handshake mechanism is a common data communication protocol for chip verification. Its basic principle is that when the upper-level module (sender) sets the Valid signal high, it indicates that data has been successfully sent to the lower-level module (receiver). ), the lower-level module sets the Ready signal high to indicate that it is ready to receive data. Therefore, when the result data output by the component 300 to be verified includes a Valid signal or a Ready signal, it means that the pixel data corresponding to the result data has been processed.
- the counting control component 800 can detect the Valid signal or the Ready signal in each result data output by the to-be-verified component 300, that is, the Valid signal or the Ready signal can be used as the target signal.
- the counting control component 800 detects a target signal, it means that one pixel data has been processed and the corresponding result data is output. Therefore, the counting control component 800 can add 1 on the basis of the previous statistical result, and so on, until the target When the statistical number of signals reaches the preset conditions, it can be determined that the verification is over.
- the stimulus data generated by a use case to be tested represents a frame of image data of 1280*720 pixels, that is, the component 300 to be verified needs to process a total of 1280*720 pixel data, and the corresponding output is 1280*720 result data.
- the counting control component 800 can detect the target signal of each result data in real time. When the target signal is detected once, the counting result can be increased by 1 until the counting result reaches 1280*720, and the target signal to be measured can be determined. The verification process of the use case ends.
- the counting control component 800 can send an end signal to the incentive data component 100, thereby controlling the incentive data component 100 to end data generation and sending (drop objection), and the entire verification process stops.
- the target signal is not limited to the Valid signal (valid signal) or Ready signal (preparation signal) in the above example, and can also be any other timing-related signal suitable for marking the number of result data, such as a row start signal, Line end signal, frame start signal, frame end signal, etc., this disclosure does not limit this.
- the Valid signal and the Ready signal are more versatile and can be applied to various types of Chip verification.
- the chip verification method of the disclosed example includes:
- the use case to be tested can be understood as a task (case) for functional verification of the component to be verified 300.
- the incentive data component 100 can generate different incentive data.
- a use case to be tested indicates that the component 300 to be verified is used to denoise an image.
- the excitation data component 100 can randomly generate the image data of the image to be denoised, that is, the excitation data, according to the relevant configuration information of the use case to be tested. , and sends the excitation data to the input agent component 200, and then the input agent component 200 sends each pixel data pixel by pixel to the component to be verified 300 according to the corresponding time sequence.
- the component to be verified 300 processes each received pixel data in turn, obtains the result data corresponding to the pixel data, and outputs it.
- the counting control component 800 detects the target signal in the result data output by the verification component 300. When the target signal is detected once, the counting result can be increased by 1, so that the data processing progress of the verification component 300 can be processed in real time. statistics.
- the counting control component 800 continues to detect the number of target signals output by the component 300 to be verified until the number of target signals meets the preset conditions, that is, it proves that the stimulus data generated for the use case to be tested has been All processing is completed and the verification process can be ended.
- the process of determining that the number of target signals meets preset conditions includes:
- the stimulus data generated based on the use case to be tested represents a frame of image data of 1280 pixels*720 pixels, so it can be determined that the expected number of result data corresponding to the stimulus data is 1280*720.
- the counting control component 800 continues to detect and count the number of target signals in the output result data.
- the number of target signals reaches 1280*720, it means that the stimulus All pixel data in the data has been processed, so the validation process for the use case under test is complete.
- the count control component 800 may send a request to the stimulus data component. 100 sends an end signal, thereby controlling the incentive data component 100 to end data generation and sending (drop objection), and the entire verification process stops.
- the processing progress of the stimulus data can be accurately detected, and the end of the verification process can be accurately determined. time, not only to avoid early termination leading to verification failure, but also to avoid long delays leading to reduced verification efficiency.
- the disclosed method can be applied to any chip verification scenario and is not limited by chip type, thereby improving the robustness of the verification platform.
- the scoreboard in the traditional chip verification method, the scoreboard often starts to compare the expected result data output by the reference model component and the execution result data sent by the output agent component after the use case to be tested is completely processed.
- the stimulus data represents image data of 1280*720 pixels.
- the component to be verified needs to process all 1280*720 pixel data to obtain the execution result data, and then the scoreboard uses the execution results Compare the data with the expected result data output by the reference model component to confirm whether they are consistent.
- the process of processing one frame of image data is very long, which can reach several hours or even dozens of hours, resulting in a long waiting time for data comparison.
- the chip verification method of the disclosed example also includes:
- the incentive data generated by the incentive data component 100 is configured by the input agent component 200 and sent to the reference model component 400.
- the reference model component 400 processes the incentive data and outputs expected result data.
- the comparison component 500 receives the expected result data output by the reference model component 400 and the result data output by the component to be verified 300 .
- the comparison is not performed until the component 300 to be verified outputs all the result data. Instead, each received result data is compared with the corresponding expected result data in real time.
- the excitation data represents a frame of image data of 1280 pixels*720 pixels.
- the expected results corresponding to all pixel data can be obtained, that is, the number of expected results. according to.
- the component to be verified 300 processes the pixel data pixel by pixel, thereby outputting the result data corresponding to each pixel data pixel by pixel.
- the comparison component 500 receives a piece of result data, it immediately compares the result data with the expected result data corresponding to the pixel data, and obtains a comparison result between the two without waiting for all pixel data to be processed.
- the comparison component 500 compares each result data with the corresponding expected result data in real time, thereby determining the comparison result between the two. If the comparison results between the two are consistent, it means that the processing function of the pixel data of the component 300 to be verified is correct, and the verification process continues, waiting for the comparison result of the next result data. If the comparison results between the two are inconsistent, it means that there is an error in the processing function of the pixel data of the component 300 to be verified, and the verification process can be stopped immediately and an error is reported.
- the result data can be compared in real time without waiting for all the stimulus data processing to be completed. Therefore, when an error in the comparison result is found, the verification process will be stopped immediately to report an error, and there is no need to spend a lot of time finding the error location and error.
- error codes can be determined by tracing back fewer waveforms, improving chip verification efficiency.
- timing signal errors may not have much impact on the current components of the RTL design, but may have a fatal impact on lower-level components. As the RTL design gradually improves, timing errors may cause errors in the entire chip process. .
- the comparison component 500 not only compares the data signals of the result data, but also compares the timing signals of the result data, which will be described below with reference to the embodiment of FIG. 6 .
- the comparison component 500 performs data comparison and obtains the comparison result, including:
- each time the comparison component 500 receives a result data output by the component 300 to be verified it compares the data signal included in the result data with the expected data signal of the expected result data, thereby obtaining two results. the first result.
- the comparison component 500 simultaneously compares the timing signals included in the result data with the expected timing signals of the expected result data to obtain the second result. Then combine the first result and the second result result, determine the comparison result corresponding to the result data.
- the timing detection model can be pre-configured in the comparison component 500, and the timing detection model can be used to compare the timing signals of the result data to determine whether the output timing and output quantity of the timing signal of the result data are correct, that is, obtain Second result.
- the first result represents the correctness of the data signal of the result data
- the second result represents the correctness of the timing signal of the result data
- the comparison result obtained by combining the two includes both the data signal and the timing signal. result.
- FIG. 7 shows a schematic structural diagram of a verification platform in some embodiments of the present disclosure. The embodiments of the present disclosure will be further described below in conjunction with FIG. 7 .
- the incentive data component 100 is split into a data generation component 110 and an incentive component 120, and the data generation component 110 is separated from the verification outside the environment.
- the data generation component 110 is separated from the verification environment, that is, the stimulus data is generated outside the verification environment. In this way, when the stimulus data needs to be modified, only the data generation component needs to be modified. 110 can be recompiled. There is no need to recompile the entire verification environment and RTL, which shortens verification time.
- the data generation component 110 since the data generation component 110 is separated from the verification environment, it means that the component is no longer limited to compilation using the System Verilog hardware design language, and can be compiled using other programming languages, such as python, perl, C++, etc., which shortens the time It reduces configuration time and is more suitable for some scenarios where it is difficult to generate data using the System Verilog hardware design language, greatly reducing development time.
- the incentive component 120 in the verification environment no longer has the function of data generation, but only forwards data. That is, the data generation component 110 located outside the verification environment produces The stimulus data is generated and sent to the stimulus component 120 in the verification environment, and the stimulus component 120 sends the stimulus data to the input agent component 200.
- the reference model component 400 can also be separated from the verification environment.
- the advantages of this are: first, since both the data generation component 110 and the reference model component 400 are separated from the verification environment, the generated stimulus data does not need to be forwarded by the input agent component 200 and can be directly generated by the data generation component 110 outside the verification environment.
- the reference model component 400 can perform the work and provide expected result data for the subsequent comparison process earlier; secondly, since the reference model component 400 separates the verification model, the verification The excitation component 120 and the input agent component 200 in the environment do not need to consider the process of sending data to the reference model component 400 and avoid calling the transmission data interface. At the same time, the verification environment reduces component modules and improves the compilation speed of the verification environment.
- the data generation component 110 generates stimulus data outside the verification environment, and directly sends the stimulus data to the reference model component 400 outside the verification environment.
- the reference model component 400 obtains expected result data through data processing, and sends the expected result data to the verification Environment.
- the data comparison function of the scoreboard and the above-mentioned timing signal comparison function are integrated into the output agent component In 510, that is, the output agent component 510 is used to realize all the functions of the comparison component 500 in Figure 2.
- the comparison function of data signals and timing signals is integrated into the output agent component 510, and the output agent component 510 is recompiled.
- the efficiency of chip verification can be improved and shortened. Validation cycle.
- the disclosed example provides a separate configuration agent component 210 in the verification environment for data input of the component 300 to be verified.
- the input agent component 200 is used to receive the stimulus data forwarded by the stimulus component 120, and send the stimulus data pixel by pixel to the component to be verified 300 according to a preset timing sequence.
- the function of the configuration agent component 210 is to provide configuration parameters for data processing of the component to be verified 300.
- the configuration parameters may include register configuration parameters of the component to be verified 300, processing parameters for pixel data, etc.
- the corresponding functions of the configuration agent component 210 can be integrated into the input In the proxy component 200 , the purpose of setting up and configuring the proxy component 210 separately in this disclosure is to better detect the function coverage information of the use case to be tested and the component 300 to be verified.
- the verification platform of the present disclosure example is provided with a coverage detection component 700 in the verification environment.
- the coverage detection component 700 is used to detect in real time the configuration information of the incentive data configured by the configuration agent component 210.
- the configuration can reflect the function coverage of the component to be verified 300 in the incentive data.
- the coverage detection component 700 can detect the register configuration parameters of the configuration agent component 210, and by detecting the register configuration, it can reflect the function coverage of the component to be verified 300 during the verification process.
- the coverage detection component 700 can record the execution status of each coverage point (Cover Point) in real time according to the configuration information of the stimulus data, thereby obtaining functional coverage information.
- the functional coverage information can reflect the functional coverage of the component to be verified 300 by the use case to be tested. If the coverage is very low, it means that the use case to be tested cannot properly verify the complete function of the component to be verified 300, so the incentive data needs to be readjusted. That is the process of modifying the incentive data mentioned above.
- the functional coverage information obtained through the coverage detection component 700 can effectively guide the targeted modification of the stimulus data of the use case to be tested and improve the chip verification efficiency.
- the agent components need to be determined according to the RTL design of the component to be verified 300 and the reference model component 400 , such as the input agent component 200 , the configuration agent component 210 and the output agent component 510 .
- the counting control component 800 and the coverage detection component 700 are constructed at the same level as the proxy component, and then each of the aforementioned functional components can be instantiated according to the environment variable (Env). Then build the incentive component 120 and the verification environment, and finally build the executable files of the data generation component 110 and the reference model component 400 to complete the construction of the verification platform.
- Component 120 and data generation component 110 may be implemented by a computer.
- the data generation component 110 generates stimulus data and sends the stimulus data to the reference model component 400.
- the reference model component 400 processes the stimulus data to obtain expected result data, and sends the expected result data to the output in the verification environment.
- Agent component 510 Agent component 510.
- the data generation component 110 sends the stimulus data to the stimulus component 120 in the verification environment, and the stimulus component 120 forwards the stimulus data to the input agent component 200 and the configuration agent component 210 respectively.
- the input agent component 200 and the configuration agent component 210 send the incentive data to the component to be verified 300 in time sequence.
- the coverage detection component 700 detects the configuration information output by the configuration agent component 210, records the execution status of each coverage point, and obtains functional coverage information. .
- the component to be verified 300 processes the stimulus data one by one according to the time sequence, and outputs the corresponding result data to the output agent component 510.
- the output agent component 510 performs real-time processing on the data signals and time series signals of the received result data based on the expected result data obtained in advance. Compare and obtain the comparison results corresponding to the result data.
- the counting control component 800 detects the target signal in the result data in real time and makes statistics. When the target signal data meets the preset conditions, it sends a stop signal to the excitation component 120 and the entire verification process stops.
- the processing progress of the stimulus data can be accurately detected, and the end of the verification process can be accurately determined. time, not only to avoid early termination leading to verification failure, but also to avoid long delays leading to reduced verification efficiency.
- the disclosed method can be applied to any chip verification scenario and is not limited by chip type, thereby improving the robustness of the verification platform. There is no need to wait for all stimulus data processing to be completed, and the result data can be compared in real time. When an error in the comparison result is found, the verification process will be stopped immediately and an error will be reported.
- the error code can be discovered immediately without the need for a large number of traceback waveform operations, which improves chip verification efficiency.
- comparing the result data with the expected result data not only the data signals are compared, but also the timing signals are compared to ensure the accuracy of the timing signals and improve the accuracy of chip verification.
- embodiments of the present disclosure provide an electronic device, including: a processor; and a memory storing computer instructions, and the computer instructions are used to cause the processor to execute the chip verification method of any of the above embodiments.
- embodiments of the present disclosure provide a storage medium that stores computer instructions, and the computer instructions are used to cause the computer to execute the chip verification method of any of the above embodiments.
- FIG. 8 shows a schematic structural diagram of an electronic device 600 suitable for implementing the method of the present disclosure.
- the electronic device shown in FIG. 8 the corresponding functions of the above-mentioned processor and storage medium can be realized.
- the electronic device 600 includes a processor 601 that can perform various appropriate actions and processes according to programs stored in the memory 602 or loaded into the memory 602 from the storage part 608 .
- various programs and data required for the operation of the electronic device 600 are also stored.
- the processor 601 and the memory 602 are connected to each other via a bus 604.
- An input/output (I/O) interface 605 is also connected to bus 604.
- the following components are connected to the I/O interface 605: an input section 606 including a keyboard, a mouse, etc.; an output section 607 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., speakers, etc.; and a storage section 608 including a hard disk, etc. ; and a communication section 609 including a network interface card such as a LAN card, a modem, etc.
- the communication section 609 performs communication processing via a network such as the Internet.
- Driver 610 is also connected to I/O interface 605 as needed.
- Removable media 611 such as magnetic disks, optical disks, magneto-optical disks, semiconductor memories, etc., are installed on the drive 610 as needed, so that a computer program read therefrom is installed into the storage portion 608 as needed.
- the above method process may be implemented as a computer software program.
- embodiments of the present disclosure include a computer program product including a computer program tangibly embodied on a machine-readable medium, the computer program including program code for performing the above-described method.
- the computer program may be downloaded and installed from the network via communication portion 609 and/or installed from removable media 611 .
- each block in the flowchart or block diagrams may represent a module, segment, or portion of code that contains one or more components for implementing the specified logical function. Executable instructions. It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown one after another may actually execute substantially in parallel, or they may sometimes execute in the reverse order, depending on the functionality involved.
- each block of the block diagram and/or flowchart illustration, and combinations of blocks in the block diagram and/or flowchart illustration can be implemented by special purpose hardware-based systems that perform the specified functions or operations. , or can be implemented using a combination of specialized hardware and computer instructions.
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)
- Tests Of Electronic Circuits (AREA)
Abstract
The present disclosure relates to the technical field of chip verification, and particularly provides a chip verification method and platform. The chip verification platform comprises: an excitation data component, configured to generate excitation data on the basis of a case under test and send the excitation data to a component to be verified; and a counting control component, configured to detect and count, in real time, in a verification process, a target signal of each piece of result data output by the component to be verified, and determine, in response to the fact that the number of the target signals meets a preset condition, that verification of the case under test is finished, the target signal representing a timing dependent signal of the result data. According to embodiments of the present disclosure, the chip verification efficiency is improved.
Description
相关申请的交叉引用Cross-references to related applications
本申请要求于2022年04月29日提交的、申请号为2022104732395的中国专利申请的优先权,该申请以引用的方式并入本文中。This application claims priority from the Chinese patent application with application number 2022104732395, submitted on April 29, 2022, which is incorporated herein by reference.
本公开涉及芯片验证技术领域,具体涉及一种芯片验证方法及平台。The present disclosure relates to the field of chip verification technology, and specifically relates to a chip verification method and platform.
芯片验证是数字IC(integrated circuit,集成电路)设计过程中的关键步骤,通常可利用各类验证平台实现,例如UVM(Universal Verification Methodology,通用验证方法)验证平台。相关技术中,在利用验证平台进行芯片验证时,验证时间较长,导致芯片研发周期拉长。Chip verification is a key step in the design process of digital IC (integrated circuit, integrated circuit), which can usually be achieved using various verification platforms, such as UVM (Universal Verification Methodology, universal verification method) verification platform. In related technologies, when using a verification platform for chip verification, the verification time is longer, resulting in a longer chip development cycle.
发明内容Contents of the invention
为提高芯片验证效率,本公开实施方式提供了一种芯片验证方法及平台、电子设备、存储介质。In order to improve chip verification efficiency, embodiments of the present disclosure provide a chip verification method and platform, electronic equipment, and storage media.
第一方面,本公开实施方式提供了一种芯片验证平台,包括:激励数据组件,被配置为基于待测用例生成激励数据,并将所述激励数据发送至待验证组件;计数控制组件,被配置为在验证过程中,实时检测所述待验证组件输出的结果数据的目标信号并计数,并且响应于所述目标信号的数量满足预设条件,确定所述待测用例验证结束;所述目标信号表示所述结果数据的时序相关信号。In a first aspect, embodiments of the present disclosure provide a chip verification platform, including: an incentive data component configured to generate incentive data based on a use case to be tested and send the incentive data to the component to be verified; a counting control component configured to Configured to detect and count the target signals of the result data output by the component to be verified in real time during the verification process, and in response to the number of the target signals meeting the preset conditions, determine that the verification of the use case to be tested is completed; the target Signal represents a time-series dependent signal of the resulting data.
在一些实施方式中,所述计数控制组件被配置为:预先基于所述待测用例确定所述结果数据的预期数量;响应于所述目标信号的数量达到所述预期数量,确定所述目标信号的数量满足预设条件。In some embodiments, the counting control component is configured to: determine an expected number of the result data based on the use case to be tested in advance; and in response to the number of the target signals reaching the expected number, determine the target signal The quantity meets the preset conditions.
在一些实施方式中,所述的芯片验证平台,还包括:参考模型组件,被配置为接收所述激励数据,并输出对应的预期结果数据;对比组件,被配置于验证环境中,用于在所述验证过程中,实时将所述待验证组件输出的所述结果数据与所述预期结果数据进行对比,得到所述结果数据对应的对比结果;响应于所述结果数据的对比结果错误,停止所述验证过程。In some embodiments, the chip verification platform further includes: a reference model component configured to receive the stimulus data and output corresponding expected result data; a comparison component configured in the verification environment for performing During the verification process, the result data output by the component to be verified is compared with the expected result data in real time to obtain a comparison result corresponding to the result data; in response to an error in the comparison result of the result data, stop The verification process.
在一些实施方式中,所述结果数据包括数据信号和时序信号,所述预期结果数据包括预期数据信号和预期时序信号;所述对比组件被配置为:将所述结果数据的数据信号与所述预期结果数据的预期数据信号进行对比,得到第一结果;将所述结果数据的时序信号与所述预期结果数据的预期时序信号进行对比,得到第二结果;根据所述第一结果
和所述第二结果确定所述结果数据对应的所述对比结果。In some embodiments, the result data includes a data signal and a timing signal, and the expected result data includes an expected data signal and an expected timing signal; the comparison component is configured to: compare the data signal of the result data with the Compare the expected data signal of the expected result data to obtain the first result; compare the timing signal of the result data with the expected timing signal of the expected result data to obtain the second result; according to the first result The comparison result corresponding to the result data is determined with the second result.
在一些实施方式中,所述激励数据组件包括:数据生成组件,被配置于所述验证环境之外,用于基于所述待测用例生成所述激励数据;激励组件,被配置于所述验证环境中,用于接收所述激励数据,并将所述激励数据发送至所述待验证组件;其中,所述数据生成组件被配置为将所述激励数据发送至所述参考模型组件,所述参考模型组件被配置于所述验证环境之外。In some implementations, the stimulus data component includes: a data generation component, configured outside the verification environment, for generating the stimulus data based on the use case to be tested; a stimulus component, configured in the verification environment, for receiving the stimulus data and sending the stimulus data to the component to be verified; wherein the data generation component is configured to send the stimulus data to the reference model component, and the Reference model components are deployed outside the verification environment.
在一些实施方式中,所述对比组件被配置为输出代理组件。In some embodiments, the comparison component is configured as an output proxy component.
在一些实施方式中,所述的芯片验证平台,还包括:配置代理组件,被配置于验证环境中,用于根据所述激励数据生成并向所述待验证组件发送配置信息;覆盖检测组件,被配置于所述验证环境中,用于检测所述配置信息,并根据所述配置信息确定所述待测用例的功能覆盖率信息。In some embodiments, the chip verification platform further includes: a configuration agent component, configured in the verification environment, for generating and sending configuration information to the component to be verified according to the incentive data; a coverage detection component, Configured in the verification environment, used to detect the configuration information, and determine the functional coverage information of the use case to be tested based on the configuration information.
第二方面,本公开实施方式提供了一种芯片验证方法,包括:基于待测用例生成激励数据,并将所述激励数据发送至待验证组件;在验证过程中,实时检测所述待验证组件输出的结果数据的目标信号并计数;所述目标信号表示所述结果数据的时序相关信号;响应于所述目标信号的数量满足预设条件,确定所述待测用例验证结束。In a second aspect, embodiments of the present disclosure provide a chip verification method, including: generating incentive data based on use cases to be tested, and sending the incentive data to components to be verified; and detecting the components to be verified in real time during the verification process. The target signals of the output result data are counted; the target signal represents the timing related signal of the result data; in response to the number of the target signals meeting the preset condition, it is determined that the verification of the use case to be tested is completed.
在一些实施方式中,所述响应于所述目标信号的数量满足预设条件,确定所述待测用例验证结束,包括:预先基于所述待测用例确定所述结果数据的预期数量;响应于所述目标信号的数量达到所述预期数量,确定所述目标信号的数量满足预设条件。In some embodiments, determining that the verification of the use case to be tested is completed in response to the number of target signals meeting a preset condition includes: determining the expected amount of result data based on the use case to be tested in advance; responding to The number of the target signals reaches the expected number, and it is determined that the number of the target signals meets the preset condition.
在一些实施方式中,本公开所述的方法,还包括:将所述激励数据发送至参考模型组件,得到所述参考模型组件输出的预期结果数据;在所述验证过程中,实时将所述待验证组件输出的所述结果数据与所述预期结果数据进行对比,得到所述结果数据对应的对比结果;响应于所述结果数据的对比结果错误,停止所述验证过程。In some embodiments, the method of the present disclosure further includes: sending the stimulus data to a reference model component to obtain the expected result data output by the reference model component; during the verification process, transmitting the stimulus data to the reference model component in real time. The result data output by the component to be verified is compared with the expected result data to obtain a comparison result corresponding to the result data; in response to an error in the comparison result of the result data, the verification process is stopped.
在一些实施方式中,所述结果数据包括数据信号和时序信号,所述预期结果数据包括预期数据信号和预期时序信号;所述在所述验证过程中,实时将所述待验证组件输出的所述结果数据与所述预期结果数据进行对比,得到所述结果数据对应的对比结果,包括:将所述结果数据的数据信号与所述预期结果数据的预期数据信号进行对比,得到第一结果;将所述结果数据的时序信号与所述预期结果数据的预期时序信号进行对比,得到第二结果;根据所述第一结果和所述第二结果确定所述结果数据对应的所述对比结果。In some embodiments, the result data includes data signals and timing signals, and the expected result data includes expected data signals and expected timing signals; during the verification process, all the output signals of the component to be verified are output in real time. Comparing the result data with the expected result data to obtain a comparison result corresponding to the result data includes: comparing a data signal of the result data with an expected data signal of the expected result data to obtain a first result; Compare the timing signal of the result data with the expected timing signal of the expected result data to obtain a second result; determine the comparison result corresponding to the result data based on the first result and the second result.
在一些实施方式中,所述基于待测用例生成激励数据,并将所述激励数据发送至待验证组件,包括:验证环境之外的数据生成组件将基于所述待测用例生成的所述激励数据发送至验证环境中的激励组件,在所述验证环境中,所述激励组件将所述激励数据发
送至所述待验证组件;所述将所述激励数据发送至参考模型组件,得到所述参考模型组件输出的预期结果数据,包括:所述数据生成组件将所述激励数据发送至验证环境之外的参考模型组件,所述验证环境之外的参考模型组件将所述预期结果数据发送至所述验证环境。In some embodiments, generating stimulus data based on the use case to be tested and sending the stimulus data to the component to be verified includes: a data generating component outside the verification environment will generate the stimulus data based on the use case to be tested. The data is sent to the stimulus component in the verification environment, and in the verification environment, the stimulus component sends the stimulus data sent to the component to be verified; sending the stimulus data to the reference model component to obtain the expected result data output by the reference model component includes: the data generation component sending the stimulus data to the verification environment The reference model component outside the verification environment sends the expected result data to the verification environment.
在一些实施方式中,所述在所述验证过程中,实时将所述待验证组件输出的所述结果数据与所述预期结果数据进行对比,得到所述结果数据对应的对比结果,包括:在所述验证环境中,输出代理组件分别接收所述结果数据和所述预期结果数据,并且实时将所述结果数据与所述预期结果数据进行对比,得到所述对比结果。In some embodiments, during the verification process, the result data output by the component to be verified is compared with the expected result data in real time to obtain a comparison result corresponding to the result data, including: In the verification environment, the output agent component receives the result data and the expected result data respectively, and compares the result data with the expected result data in real time to obtain the comparison result.
在一些实施方式中,本公开所述的方法,还包括:在验证环境中,检测发送至所述待验证组件的所述激励数据的配置信息,并根据所述配置信息确定所述待测用例的功能覆盖率信息。In some implementations, the method of the present disclosure further includes: in the verification environment, detecting the configuration information of the stimulus data sent to the component to be verified, and determining the use case to be tested based on the configuration information Functional coverage information.
在一些实施方式中,所述目标信号包括有效信号、准备信号、行开始信号、行结束信号中的一种或多种。In some embodiments, the target signal includes one or more of a valid signal, a ready signal, a line start signal, and a line end signal.
第三方面,本公开实施方式提供了一种电子设备,包括:处理器;存储器,存储有计算机指令,所述计算机指令用于使所述处理器执行根据第二方面任意实施方式所述的方法。In a third aspect, an embodiment of the present disclosure provides an electronic device, including: a processor; and a memory storing computer instructions, the computer instructions being used to cause the processor to execute the method according to any embodiment of the second aspect. .
第四方面,本公开实施方式提供了一种存储介质,存储有计算机指令,所述计算机指令用于使计算机执行根据第二方面任意实施方式所述的方法。In a fourth aspect, an embodiment of the present disclosure provides a storage medium storing computer instructions, and the computer instructions are used to cause a computer to execute the method according to any embodiment of the second aspect.
本公开实施方式的芯片验证平台,包括激励数据组件和计数控制组件,激励数据组件用于基于待测用例生成激励数据,并将激励数据发送至待验证组件,计数控制组件用于在验证过程中,实时检测待验证组件输出的每个结果数据的目标信号并计数,并且响应于目标信号的数量满足预设条件,确定待测用例验证结束。本公开实施方式中,可以准确对激励数据的处理进度进行检测,并且准确确定验证流程的结束时间,既避免提早结束导致验证失败,又避免延时较长导致验证效率降低,提高芯片验证效率。The chip verification platform of the disclosed embodiment includes an incentive data component and a counting control component. The incentive data component is used to generate incentive data based on the use case to be tested and send the incentive data to the component to be verified. The counting control component is used to perform the verification during the verification process. , detect and count the target signals of each result data output by the component to be verified in real time, and in response to the number of target signals meeting the preset conditions, it is determined that the verification of the use case to be tested is completed. In the disclosed embodiment, the processing progress of the stimulus data can be accurately detected, and the end time of the verification process can be accurately determined, which not only avoids verification failure caused by early ending, but also avoids the reduction of verification efficiency caused by long delays, and improves chip verification efficiency.
为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly explain the specific embodiments of the present disclosure or the technical solutions in the prior art, the drawings that need to be used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings in the following description The drawings illustrate some embodiments of the present disclosure. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without exerting creative efforts.
图1相关技术中的UVM验证平台的结构原理图。Figure 1 is a schematic structural diagram of the UVM verification platform in related technologies.
图2是根据本公开一些实施方式中芯片验证平台的结构原理图。
Figure 2 is a schematic structural diagram of a chip verification platform according to some embodiments of the present disclosure.
图3是根据本公开一些实施方式中芯片验证方法的流程图。Figure 3 is a flow chart of a chip verification method according to some embodiments of the present disclosure.
图4是根据本公开一些实施方式中芯片验证方法的流程图。Figure 4 is a flow chart of a chip verification method according to some embodiments of the present disclosure.
图5是根据本公开一些实施方式中芯片验证方法的流程图。Figure 5 is a flow chart of a chip verification method according to some embodiments of the present disclosure.
图6是根据本公开一些实施方式中芯片验证方法的流程图。Figure 6 is a flow chart of a chip verification method according to some embodiments of the present disclosure.
图7是根据本公开一些实施方式中芯片验证平台的结构原理图。Figure 7 is a schematic structural diagram of a chip verification platform according to some embodiments of the present disclosure.
图8是根据本公开一些实施方式中电子设备的结构框图。Figure 8 is a structural block diagram of an electronic device according to some embodiments of the present disclosure.
下面将结合附图对本公开的技术方案进行清楚、完整地描述。所描述的实施方式是本公开一部分实施方式,而不是全部的实施方式。基于本公开中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本公开保护的范围。此外,下面所描述的本公开不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。The technical solution of the present disclosure will be clearly and completely described below with reference to the accompanying drawings. The described embodiments are some, but not all, of the embodiments of the present disclosure. Based on the embodiments in this disclosure, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of this disclosure. In addition, the technical features involved in different embodiments of the present disclosure described below can be combined with each other as long as they do not conflict with each other.
图1中示出了传统的UVM(Universal Verification Methodology,通用验证方法)验证平台的结构原理图,下面结合图1对芯片验证的过程进行简述。Figure 1 shows the structural schematic diagram of the traditional UVM (Universal Verification Methodology) verification platform. The following is a brief description of the chip verification process in conjunction with Figure 1.
如图1所示,在UVM验证环境中,平台架构主要包括:激励产生组件(Sequence)、输入代理组件(Input agent)、输出代理组件(Output agent)、待验证组件(DUT,device under test)、参考模型组件(reference model)以及计分板(Scoreboard)。As shown in Figure 1, in the UVM verification environment, the platform architecture mainly includes: incentive generation component (Sequence), input agent component (Input agent), output agent component (Output agent), and component to be verified (DUT, device under test) , reference model component (reference model) and scoreboard (Scoreboard).
激励产生组件用于产生针对待测用例(Case)的激励数据,例如以ISP(Image Signal Processing,图像信号处理)芯片验证为例,激励产生组件所产生的激励数据可以为随机产生的图像数据。The stimulus generation component is used to generate stimulus data for the use case to be tested (Case). For example, taking ISP (Image Signal Processing, Image Signal Processing) chip verification as an example, the stimulus data generated by the stimulus generation component can be randomly generated image data.
输入代理组件用于根据待验证组件所要求的相关配置信息,将激励数据按照一定的时序发送至待验证组件。例如激励数据以单帧图像数据为例,输入代理组件可以按照预定的时序将图像所包括的像素数据逐帧发送至待验证组件。The input agent component is used to send stimulus data to the component to be verified in a certain time sequence based on the relevant configuration information required by the component to be verified. For example, the stimulus data takes a single frame of image data as an example. The input agent component can send the pixel data included in the image to the component to be verified frame by frame according to a predetermined timing sequence.
待验证组件表示与芯片功能模块完全一致的RTL(register-transfer level,寄存器传输级)设计组件,其可对接收到的激励数据按照预设功能进行处理,并将处理后的执行结果数据输出至输出代理组件。The component to be verified represents an RTL (register-transfer level) design component that is completely consistent with the chip functional module. It can process the received stimulus data according to the preset function and output the processed execution result data to Output proxy component.
输出代理组件用于检测待验证组件的输出数据,并将输出的执行结果数据发送至计分板。The output agent component is used to detect the output data of the component to be verified and send the output execution result data to the scoreboard.
参考模型组件表示与待验证组件的预期功能相对应的参照模型,输入代理组件将激励数据发送至参考模型组件,从而参考模型将得到的预期结果数据发送至计分板。The reference model component represents a reference model corresponding to the expected functionality of the component to be verified. The input agent component sends stimulus data to the reference model component, and the reference model sends the resulting expected outcome data to the scoreboard.
计分板可接收到参考模型组件发送的预期结果数据和输出代理组件转发的实际执
行结果数据,通过对比两者是否一致,即可确定待验证组件的功能是否实现,也即得到待验证组件的验证结果。The scoreboard receives expected result data sent by the reference model component and actual execution data forwarded by the output agent component. By running the result data and comparing whether the two are consistent, you can determine whether the function of the component to be verified is realized, that is, the verification result of the component to be verified is obtained.
在上述传统UVM验证过程中,对于一个待测用例的验证过程,一般是通过objection机制来控制验证的开始和结束。也即,以激励产生组件发送激励数据作为验证开始,在激励数据发送完成或者延时一段周期后作为验证结束,但是,这种方式对于例如ISP等计算量大的复杂芯片验证难以适用。In the above-mentioned traditional UVM verification process, for the verification process of a use case to be tested, the start and end of the verification are generally controlled through the object mechanism. That is, the verification starts when the stimulus generation component sends the stimulus data, and ends when the stimulus data is sent or delayed for a period. However, this method is difficult to apply to complex chip verifications with a large amount of calculations, such as ISP.
以ISP芯片验证为例,激励数据的数据量庞大,例如对于720p的图像数据,其输出就会产生1280*720个像素数据,从激励数据发送完毕到待验证组件的输出数据输出完毕,之间的时间难以准确得知。若每个待测用例均是针对某一固定分辨率图像数据而言,或许可以通过多次试验的方式得到大致上准确的延时周期,但是,不同待测用例所产生的图像数据的分辨率各不相同,难以利用试验的手段得到延时周期。Taking ISP chip verification as an example, the amount of stimulus data is huge. For example, for 720p image data, the output will generate 1280*720 pixel data. From the time the stimulus data is sent to the output data of the component to be verified, The time is difficult to know accurately. If each use case to be tested is for a certain fixed resolution image data, it may be possible to obtain a roughly accurate delay period through multiple experiments. However, the resolution of the image data generated by different use cases to be tested will vary. They are all different and it is difficult to obtain the delay period by means of experiments.
因此,若是设置的延时周期较短,将会导致验证提前结束,造成验证失败;反之,若是设置的延时周期很长,则会导致验证时间被拉长,降低验证效率。由此可知,相关技术中的UVM验证平台的完备性不高,芯片验证的鲁棒性不佳。Therefore, if the delay period is set to be short, the verification will end early and the verification will fail; conversely, if the delay period is set to be long, the verification time will be lengthened and verification efficiency will be reduced. It can be seen from this that the UVM verification platform in related technologies is not complete and the chip verification is not robust.
针对上述相关技术存在的缺陷,本公开实施方式提供了一种芯片验证平台及方法、电子设备、存储介质,旨在合理确定芯片验证的验证结束时间,提高验证平台的准确性和鲁棒性。In view of the shortcomings of the above related technologies, the embodiments of the present disclosure provide a chip verification platform and method, electronic equipment, and storage media, aiming to reasonably determine the verification end time of chip verification and improve the accuracy and robustness of the verification platform.
图2示出了本公开一些实施方式中芯片验证平台的结构原理图像,下面结合图2对本公开一些实施方式中的芯片验证平台进行说明。FIG. 2 shows an image of the structural principle of the chip verification platform in some embodiments of the present disclosure. The chip verification platform in some embodiments of the present disclosure will be described below with reference to FIG. 2 .
如图2所示,在一些实施方式中,本公开示例的芯片验证平台包括激励数据组件100、输入代理组件200、待验证组件300、参考模型组件400、对比组件500以及计数控制组件800。As shown in FIG. 2 , in some embodiments, the chip verification platform of the present disclosure includes a stimulus data component 100 , an input agent component 200 , a component to be verified 300 , a reference model component 400 , a comparison component 500 and a counting control component 800 .
激励数据组件100用于根据待测用例产生激励数据,并将激励数据发送至输入代理组件200,输入代理组件200基于设定的配置信息将激励数据按时序发送至待验证组件300和参考模型组件400。待验证组件300将处理得到的结果数据发送至对比组件500,参考模型组件400将处理得到的预期结果数据发送至对比组件500。对比组件500根据结果数据和预期结果数据进行对比,得到待测用例的对比结果。The stimulus data component 100 is used to generate stimulus data according to the use case to be tested, and send the stimulus data to the input agent component 200. The input agent component 200 sends the stimulus data to the component to be verified 300 and the reference model component in time sequence based on the set configuration information. 400. The component to be verified 300 sends the processed result data to the comparison component 500 , and the reference model component 400 sends the processed expected result data to the comparison component 500 . The comparison component 500 compares the result data and the expected result data to obtain the comparison result of the use case to be tested.
可以理解,在芯片验证过程中,输入代理组件200向待验证组件300输入激励数据是按照时序逐个进行输入,同样,待验证组件300输出的结果数据也是按照时序逐个输出。It can be understood that during the chip verification process, the input agent component 200 inputs stimulus data to the component to be verified 300 one by one in time sequence. Similarly, the result data output by the component to be verified 300 is also output one by one in time sequence.
以ISP芯片验证为例,在一个示例中,激励数据组件100根据一个待测用例产生的
完整激励数据表示的是一帧1280像素*720像素的图像数据,从而输入代理组件200逐像素将每个像素数据输入至待验证组件300中。待验证组件300对每个像素数据进行处理之后,也是逐像素输出每个像素数据对应的结果数据。Taking ISP chip verification as an example, in one example, the stimulus data component 100 generates The complete stimulus data represents a frame of image data of 1280 pixels*720 pixels, so the input agent component 200 inputs each pixel data to the component to be verified 300 pixel by pixel. After the component 300 to be verified processes each pixel data, it also outputs the result data corresponding to each pixel data pixel by pixel.
因此,本公开实施方式中,在验证环境中设置计数控制组件800,计数控制组件800用于实时检测待验证组件300输出的结果数据中的目标信号并计数,也即,计数控制组件800每检测到1次目标信号,即可在前次计数结果上加1。Therefore, in the embodiment of the present disclosure, the counting control component 800 is set up in the verification environment. The counting control component 800 is used to detect and count the target signal in the result data output by the component 300 to be verified in real time. That is, every time the counting control component 800 detects Once the target signal is reached, 1 can be added to the previous count result.
可以理解,目标信号的作用是用于对每个结果数据进行统计,因此,在实际实施场景中,目标信号可以是结果数据中包括的与时序统计相关的信号,也即本公开所述的时序相关信号。It can be understood that the function of the target signal is to perform statistics on each result data. Therefore, in an actual implementation scenario, the target signal may be a signal related to timing statistics included in the result data, that is, the timing described in this disclosure. Relevant signals.
例如,Valid/Ready(有效信号/准备信号)握手机制是芯片验证通用的数据通信协议,其基本原理是,当上级模块(发送方)置高Valid信号表示已经成功发送数据给下级模块(接收方),下级模块置高Ready信号表示已经做好接收数据的准备。因此,当待验证组件300输出的结果数据中包括Valid信号或者Ready信号时,即可表示该结果数据对应的像素数据已经被处理完成。For example, the Valid/Ready (valid signal/ready signal) handshake mechanism is a common data communication protocol for chip verification. Its basic principle is that when the upper-level module (sender) sets the Valid signal high, it indicates that data has been successfully sent to the lower-level module (receiver). ), the lower-level module sets the Ready signal high to indicate that it is ready to receive data. Therefore, when the result data output by the component 300 to be verified includes a Valid signal or a Ready signal, it means that the pixel data corresponding to the result data has been processed.
本公开一些实施方式中,计数控制组件800即可检测待验证组件300输出的每个结果数据中的Valid信号或者Ready信号,也即Valid信号或者Ready信号即可作为目标信号。当计数控制组件800检测到一次目标信号时,表示一个像素数据被处理完成并输出对应的结果数据,从而计数控制组件800即可在前次统计结果的基础上加1,以此类推,直至目标信号的统计数量达到预设条件,则可以确定验证结束。In some embodiments of the present disclosure, the counting control component 800 can detect the Valid signal or the Ready signal in each result data output by the to-be-verified component 300, that is, the Valid signal or the Ready signal can be used as the target signal. When the counting control component 800 detects a target signal, it means that one pixel data has been processed and the corresponding result data is output. Therefore, the counting control component 800 can add 1 on the basis of the previous statistical result, and so on, until the target When the statistical number of signals reaches the preset conditions, it can be determined that the verification is over.
仍以ISP芯片验证为例,一个待测用例所产生的激励数据表示一帧1280像素*720像素的图像数据,也即待验证组件300共需处理1280*720个像素数据,对应输出1280*720个结果数据。在验证过程中,计数控制组件800即可实时检测每个结果数据的目标信号,当检测到一次目标信号,即可将计数结果加1,直至计数结果达到1280*720,即可确定针对待测用例的验证流程结束。Still taking ISP chip verification as an example, the stimulus data generated by a use case to be tested represents a frame of image data of 1280*720 pixels, that is, the component 300 to be verified needs to process a total of 1280*720 pixel data, and the corresponding output is 1280*720 result data. During the verification process, the counting control component 800 can detect the target signal of each result data in real time. When the target signal is detected once, the counting result can be increased by 1 until the counting result reaches 1280*720, and the target signal to be measured can be determined. The verification process of the use case ends.
在计数控制组件800确定验证流程结束时,计数控制组件800即可向激励数据组件100发送结束信号,从而控制激励数据组件100结束数据产生和发送(drop objection),整个验证流程停止。When the counting control component 800 determines that the verification process is over, the counting control component 800 can send an end signal to the incentive data component 100, thereby controlling the incentive data component 100 to end data generation and sending (drop objection), and the entire verification process stops.
当然,可以理解,目标信号并不局限于上述示例中的Valid信号(有效信号)或者Ready信号(准备信号),还可以是其他任何适于标记结果数据数量的时序相关信号,例如行开始信号、行结束信号、帧开始信号、帧结束信号等等,本公开对此不作限制。但是,也可以理解,Valid信号和Ready信号具有更好的通用性,可以适用各种类型的
芯片验证。Of course, it can be understood that the target signal is not limited to the Valid signal (valid signal) or Ready signal (preparation signal) in the above example, and can also be any other timing-related signal suitable for marking the number of result data, such as a row start signal, Line end signal, frame start signal, frame end signal, etc., this disclosure does not limit this. However, it can also be understood that the Valid signal and the Ready signal are more versatile and can be applied to various types of Chip verification.
在图2所示的验证平台的基础上,本公开一些实施方式提供了一种芯片验证方法,下面结合图3进行说明。On the basis of the verification platform shown in Figure 2, some embodiments of the present disclosure provide a chip verification method, which will be described below in conjunction with Figure 3.
如图3所示,在一些实施方式中,本公开示例的芯片验证方法包括:As shown in Figure 3, in some implementations, the chip verification method of the disclosed example includes:
S310、基于待测用例生成激励数据,并将激励数据发送至待验证组件。S310. Generate incentive data based on the use case to be tested, and send the incentive data to the component to be verified.
本公开实施方式中,待测用例可以理解为对待验证组件300进行功能验证的任务(case),针对不同的待测用例,激励数据组件100可以生成不同的激励数据。In the embodiment of the present disclosure, the use case to be tested can be understood as a task (case) for functional verification of the component to be verified 300. For different use cases to be tested, the incentive data component 100 can generate different incentive data.
例如一个示例中,某个待测用例表示利用待验证组件300对图像进行去噪处理,激励数据组件100可根据待测用例的相关配置信息随机产生待去噪图像的图像数据,也即激励数据,并将激励数据发送至输入代理组件200,然后输入代理组件200按照相应的时序逐像素将每个像素数据发送至待验证组件300中。For example, in one example, a use case to be tested indicates that the component 300 to be verified is used to denoise an image. The excitation data component 100 can randomly generate the image data of the image to be denoised, that is, the excitation data, according to the relevant configuration information of the use case to be tested. , and sends the excitation data to the input agent component 200, and then the input agent component 200 sends each pixel data pixel by pixel to the component to be verified 300 according to the corresponding time sequence.
S320、在验证过程中,实时检测待验证组件输出的每个结果数据的目标信号并计数。S320. During the verification process, detect and count the target signal of each result data output by the component to be verified in real time.
仍以上述示例为例,待验证组件300依次对接收到的每个像素数据进行处理,得到该像素数据对应的结果数据并输出。如图2所示,计数控制组件800对待验证组件300输出的结果数据中的目标信号进行检测,当检测到一次目标信号即可将计数结果加1,从而实时对待验证组件300的数据处理进度进行统计。Still taking the above example as an example, the component to be verified 300 processes each received pixel data in turn, obtains the result data corresponding to the pixel data, and outputs it. As shown in Figure 2, the counting control component 800 detects the target signal in the result data output by the verification component 300. When the target signal is detected once, the counting result can be increased by 1, so that the data processing progress of the verification component 300 can be processed in real time. statistics.
S330、响应于目标信号的数量满足预设条件,确定待测用例验证结束。S330. In response to the number of target signals meeting the preset conditions, it is determined that the verification of the use case to be tested is completed.
本公开实施方式中,计数控制组件800在验证过程中,持续检测待验证组件300输出的目标信号的数量,直到目标信号的数量满足预设条件,也即证明针对待测用例产生的激励数据已经全部处理完成,验证流程可以结束。In the embodiment of the present disclosure, during the verification process, the counting control component 800 continues to detect the number of target signals output by the component 300 to be verified until the number of target signals meets the preset conditions, that is, it proves that the stimulus data generated for the use case to be tested has been All processing is completed and the verification process can be ended.
具体而言,如图4所示,在一些实施方式中,确定目标信号的数量满足预设条件的过程,包括:Specifically, as shown in Figure 4, in some embodiments, the process of determining that the number of target signals meets preset conditions includes:
S331、预先基于待测用例确定结果数据的预期数量。S331. Determine the expected quantity of result data in advance based on the use case to be tested.
S332、响应于目标信号的数量达到预期数量,确定目标信号的数量满足预设条件。S332. In response to the number of target signals reaching the expected number, determine that the number of target signals meets the preset condition.
例如一个示例中,基于待测用例所产生的激励数据表示一帧1280像素*720像素的图像数据,从而可确定该激励数据对应的结果数据的预期数量为1280*720。For example, in one example, the stimulus data generated based on the use case to be tested represents a frame of image data of 1280 pixels*720 pixels, so it can be determined that the expected number of result data corresponding to the stimulus data is 1280*720.
结合前述过程,在待验证组件300持续对激励数据进行处理过程中,计数控制组件800持续检测输出的结果数据中的目标信号数量并计数,当目标信号的数量达到1280*720,即表示该激励数据中所有像素数据均处理完成,因此可以确定针对待测用例的验证流程结束。Combined with the foregoing process, while the component to be verified 300 continues to process the stimulus data, the counting control component 800 continues to detect and count the number of target signals in the output result data. When the number of target signals reaches 1280*720, it means that the stimulus All pixel data in the data has been processed, so the validation process for the use case under test is complete.
在计数控制组件800确定验证流程结束时,计数控制组件800即可向激励数据组件
100发送结束信号,从而控制激励数据组件100结束数据产生和发送(drop objection),整个验证流程停止。When the count control component 800 determines that the verification process is complete, the count control component 800 may send a request to the stimulus data component. 100 sends an end signal, thereby controlling the incentive data component 100 to end data generation and sending (drop objection), and the entire verification process stops.
通过上述可知,本公开实施方式中,在芯片验证流程中,通过检测待验证组件DUT输出的结果数据中的目标信号数量,可以准确对激励数据的处理进度进行检测,并且准确确定验证流程的结束时间,既避免提早结束导致验证失败,又避免延时较长导致验证效率降低。并且,本公开方法可适用于任何芯片验证场景,不受芯片类型限制,提高验证平台的鲁棒性。As can be seen from the above, in the embodiments of the present disclosure, during the chip verification process, by detecting the number of target signals in the result data output by the component to be verified DUT, the processing progress of the stimulus data can be accurately detected, and the end of the verification process can be accurately determined. time, not only to avoid early termination leading to verification failure, but also to avoid long delays leading to reduced verification efficiency. Moreover, the disclosed method can be applied to any chip verification scenario and is not limited by chip type, thereby improving the robustness of the verification platform.
参见图1所示,在传统芯片验证方法中,计分板对于参考模型组件输出的预期结果数据和输出代理组件发送的执行结果数据的对比,往往是在对待测用例完全处理完成之后才开始对比。例如一个示例中,激励数据表示1280像素*720像素的图像数据,在传统验证过程中,待验证组件需要将1280*720个像素数据全部处理完成,得到执行结果数据,然后计分板利用执行结果数据和参考模型组件输出的预期结果数据进行对比,确认两者是否一致。但是,对于ISP芯片来说,处理一帧图像数据的过程是很长的,可以达到几小时甚至几十小时,导致数据对比需要等待的时间很长。As shown in Figure 1, in the traditional chip verification method, the scoreboard often starts to compare the expected result data output by the reference model component and the execution result data sent by the output agent component after the use case to be tested is completely processed. . For example, in one example, the stimulus data represents image data of 1280*720 pixels. In the traditional verification process, the component to be verified needs to process all 1280*720 pixel data to obtain the execution result data, and then the scoreboard uses the execution results Compare the data with the expected result data output by the reference model component to confirm whether they are consistent. However, for ISP chips, the process of processing one frame of image data is very long, which can reach several hours or even dozens of hours, resulting in a long waiting time for data comparison.
另外,在此过程中,当某个像素数据出现报错时,则需要在Verdi(自动化调试系统)上回追波形图,找出存在错误的代码。但是对于例如ISP芯片产生的庞大数据量,该过程十分耗时耗力,并且需要等数据处理完成才可以开始找BUG(错误),ISP芯片处理一帧图像的时间也非常长,导致验证效率低下。In addition, during this process, when an error occurs in a certain pixel data, you need to trace back the waveform chart on Verdi (automated debugging system) to find out the erroneous code. However, for the huge amount of data generated by the ISP chip, for example, this process is very time-consuming and labor-intensive, and you need to wait for the data processing to be completed before you can start looking for bugs (errors). The ISP chip also takes a very long time to process one frame of image, resulting in low verification efficiency. .
基于此,如图5所示,在一些实施方式中,本公开示例的芯片验证方法,还包括:Based on this, as shown in Figure 5, in some implementations, the chip verification method of the disclosed example also includes:
S510、将激励数据发送至参考模型组件,得到参考模型组件输出的预期结果数据。S510. Send the stimulus data to the reference model component to obtain the expected result data output by the reference model component.
结合图2所示的验证平台,激励数据组件100产生的激励数据,通过输入代理组件200配置后发送至参考模型组件400,参考模型组件400对激励数据处理后输出预期结果数据。Combined with the verification platform shown in Figure 2, the incentive data generated by the incentive data component 100 is configured by the input agent component 200 and sent to the reference model component 400. The reference model component 400 processes the incentive data and outputs expected result data.
S520、在验证过程中,实时将待验证组件输出的每个结果数据与对应的预期结果数据进行对比,得到结果数据对应的对比结果。S520. During the verification process, compare each result data output by the component to be verified with the corresponding expected result data in real time to obtain a comparison result corresponding to the result data.
在本公开实施方式中,对比组件500接收到参考模型组件400输出的预期结果数据和待验证组件300输出的结果数据。但是,本公开实施方式中,并非是等到待验证组件300将所有结果数据全部输出之后才进行对比,而是实时对接收到的每个结果数据,与对应的预期结果数据进行对比。In the embodiment of the present disclosure, the comparison component 500 receives the expected result data output by the reference model component 400 and the result data output by the component to be verified 300 . However, in the embodiment of the present disclosure, the comparison is not performed until the component 300 to be verified outputs all the result data. Instead, each received result data is compared with the corresponding expected result data in real time.
例如一个示例中,激励数据表示一帧1280像素*720像素的图像数据,参考模型组件400对图像数据进行处理,即可得到所有像素数据对应的预期结果,也即预期结果数
据。而待验证组件300逐像素对像素数据进行处理,从而逐像素输出每个像素数据对应的结果数据。对比组件500在接收到一个结果数据时,立即将该结果数据与该像素数据对应的预期结果数据进行对比,得到两者的对比结果,无需等到所有像素数据全部处理完成。For example, in an example, the excitation data represents a frame of image data of 1280 pixels*720 pixels. By processing the image data with reference to the model component 400, the expected results corresponding to all pixel data can be obtained, that is, the number of expected results. according to. The component to be verified 300 processes the pixel data pixel by pixel, thereby outputting the result data corresponding to each pixel data pixel by pixel. When the comparison component 500 receives a piece of result data, it immediately compares the result data with the expected result data corresponding to the pixel data, and obtains a comparison result between the two without waiting for all pixel data to be processed.
S530、响应于结果数据的对比结果错误,停止验证过程。S530. In response to an error in the comparison result of the result data, stop the verification process.
本公开实施方式中,对比组件500实时对比每个结果数据与对应的预期结果数据,从而确定两者的对比结果。若两者对比结果一致,则说明待验证组件300对该像素数据的处理功能正确,验证流程继续进行,等待下一个结果数据的对比结果。若两者对比结果不一致,则说明待验证组件300对该像素数据的处理功能存在错误,则可以马上停止验证过程并报错。In the embodiment of the present disclosure, the comparison component 500 compares each result data with the corresponding expected result data in real time, thereby determining the comparison result between the two. If the comparison results between the two are consistent, it means that the processing function of the pixel data of the component 300 to be verified is correct, and the verification process continues, waiting for the comparison result of the next result data. If the comparison results between the two are inconsistent, it means that there is an error in the processing function of the pixel data of the component 300 to be verified, and the verification process can be stopped immediately and an error is reported.
通过上述可知,本公开实施方式中,无需等待全部的激励数据处理完成,即可实时对结果数据进行对比,从而在发现对比结果错误时,立刻停止验证流程报错,无需耗费大量时间查找出错位置和回追波形,仅需通过回追较少的波形即可确定错误代码,提高芯片验证效率。It can be seen from the above that in the embodiment of the present disclosure, the result data can be compared in real time without waiting for all the stimulus data processing to be completed. Therefore, when an error in the comparison result is found, the verification process will be stopped immediately to report an error, and there is no need to spend a lot of time finding the error location and error. By tracing back waveforms, error codes can be determined by tracing back fewer waveforms, improving chip verification efficiency.
如图1所示,在传统的芯片验证方法中,计分板进行数据对比的过程中,仅针对数据信号进行对比,而忽视了对时序信号进行对比。待验证组件300输出的结果数据中,时序信号的错误或许对RTL设计的当前组件无太大影响,但是可能对下级组件产生致命影响,随着RTL设计逐渐完善,时序错误可能导致芯片整个流程出错。As shown in Figure 1, in the traditional chip verification method, during the data comparison process on the scoreboard, only the data signals are compared, while the timing signals are ignored. In the result data output by the component 300 to be verified, timing signal errors may not have much impact on the current components of the RTL design, but may have a fatal impact on lower-level components. As the RTL design gradually improves, timing errors may cause errors in the entire chip process. .
因此,本公开实施方式中,对比组件500不仅对结果数据的数据信号进行对比,还需要对结果数据的时序信号进行对比,下面结合图6实施方式进行说明。Therefore, in the embodiment of the present disclosure, the comparison component 500 not only compares the data signals of the result data, but also compares the timing signals of the result data, which will be described below with reference to the embodiment of FIG. 6 .
如图6所示,在一些实施方式中,本公开示例的芯片验证方法中,对比组件500进行数据对比,得到对比结果的过程,包括:As shown in Figure 6, in some embodiments, in the chip verification method of the present disclosure, the comparison component 500 performs data comparison and obtains the comparison result, including:
S610、对于每个结果数据,将该结果数据的数据信号与对应的预期结果数据的预期数据信号进行对比,得到第一结果。S610. For each result data, compare the data signal of the result data with the expected data signal of the corresponding expected result data to obtain the first result.
S620、将该结果数据的时序信号与对应的预期结果数据的预期时序信号进行对比,得到第二结果。S620: Compare the timing signal of the result data with the expected timing signal of the corresponding expected result data to obtain the second result.
S630、根据第一结果和第二结果确定结果数据对应的对比结果。S630. Determine the comparison result corresponding to the result data according to the first result and the second result.
结合图2所示,本公开实施方式中,对比组件500每接收到一个待验证组件300输出的结果数据时,将结果数据包括的数据信号与预期结果数据的预期数据信号进行对比,从而得到两者的第一结果。在此基础上,对比组件500同时将结果数据包括的时序信号与预期结果数据的预期时序信号进行对比,得到第二结果。然后综合第一结果和第二结
果,确定该结果数据对应的对比结果。As shown in FIG. 2 , in the embodiment of the present disclosure, each time the comparison component 500 receives a result data output by the component 300 to be verified, it compares the data signal included in the result data with the expected data signal of the expected result data, thereby obtaining two results. the first result. On this basis, the comparison component 500 simultaneously compares the timing signals included in the result data with the expected timing signals of the expected result data to obtain the second result. Then combine the first result and the second result result, determine the comparison result corresponding to the result data.
在一些实施方式中,可以在对比组件500中预先配置时序检测模型,利用时序检测模型对结果数据的时序信号进行对比,从而确定结果数据的时序信号的输出时序和输出数量是否正确,也即得到第二结果。In some embodiments, the timing detection model can be pre-configured in the comparison component 500, and the timing detection model can be used to compare the timing signals of the result data to determine whether the output timing and output quantity of the timing signal of the result data are correct, that is, obtain Second result.
可以理解,第一结果表示的是结果数据的数据信号的正确性,第二结果表示的是结果数据的时序信号的正确性,从而综合两者得到的对比结果同时包括对数据信号和时序信号的结果。当两者其中任一存在错误时,则表示结果数据的对比结果为错误,基于前述实施方式停止验证流程并报错。反之,若两者均为正确结果时,则表示结果数据的对比结果正确,继续执行验证流程。It can be understood that the first result represents the correctness of the data signal of the result data, and the second result represents the correctness of the timing signal of the result data, so that the comparison result obtained by combining the two includes both the data signal and the timing signal. result. When there is an error in either of the two, it means that the comparison result of the result data is an error, and the verification process is stopped based on the foregoing implementation method and an error is reported. On the contrary, if both results are correct, it means that the comparison result of the result data is correct, and the verification process continues.
通过上述可知,本公开实施方式中,在对结果数据与预期结果数据对比时,不仅针对数据信号进行对比,同时对时序信号进行对比,保证时序信号的准确性,提高芯片验证的准确性。From the above, it can be seen that in the embodiment of the present disclosure, when comparing the result data with the expected result data, not only the data signals are compared, but also the timing signals are compared to ensure the accuracy of the timing signals and improve the accuracy of chip verification.
图7示出了本公开一些实施方式中的验证平台的结构原理图,下面结合图7对本公开实施方式进一步说明。FIG. 7 shows a schematic structural diagram of a verification platform in some embodiments of the present disclosure. The embodiments of the present disclosure will be further described below in conjunction with FIG. 7 .
在一些实施方式中,相较于图2实施方式的验证平台,在图7示例中,将激励数据组件100拆分为数据生成组件110和激励组件120,并且,将数据生成组件110分离出验证环境之外。In some embodiments, compared with the verification platform of the embodiment of Figure 2, in the example of Figure 7, the incentive data component 100 is split into a data generation component 110 and an incentive component 120, and the data generation component 110 is separated from the verification outside the environment.
这是由于,在芯片验证过程中需要预先配置验证环境,而在芯片验证时,针对不同的待测用例需要配置不同的激励数据,尤其对于ISP芯片等复杂芯片,在验证过程中修改激励数据是非常常见且频繁的。而在例如图1所示的传统UVM平台中,由于产生激励数据的激励产生组件被配置于验证环境中,因此修改激励数据时,需要对整个验证环境进行重新编译,编译过程耗时耗力,导致整个验证流程效率低下。This is because the verification environment needs to be pre-configured during the chip verification process, and during chip verification, different stimulus data needs to be configured for different use cases to be tested. Especially for complex chips such as ISP chips, it is necessary to modify the stimulus data during the verification process. Very common and frequent. In the traditional UVM platform shown in Figure 1, for example, since the stimulus generation component that generates stimulus data is configured in the verification environment, when modifying the stimulus data, the entire verification environment needs to be recompiled. The compilation process is time-consuming and labor-intensive. This leads to inefficiency in the entire verification process.
而在本公开图7示例的实施方式中,将数据生成组件110分离于验证环境之外,也即激励数据在验证环境之外产生,这样,当需要修改激励数据时,仅仅需要对数据生成组件110进行重新编译即可,无需对整个验证环境和RTL进行重新编译,缩短验证时间。In the embodiment illustrated in Figure 7 of the present disclosure, the data generation component 110 is separated from the verification environment, that is, the stimulus data is generated outside the verification environment. In this way, when the stimulus data needs to be modified, only the data generation component needs to be modified. 110 can be recompiled. There is no need to recompile the entire verification environment and RTL, which shortens verification time.
另外,由于数据生成组件110分离于验证环境之外,则表示该组件不再受限于采用System Verilog硬件设计语言编译,可以使用其他编程语言进行编译,例如python、perl、C++等,这样更加缩短了配置时间,同时更加适用于部分利用System Verilog硬件设计语言难以产生数据的场景,大大缩减开发时间。In addition, since the data generation component 110 is separated from the verification environment, it means that the component is no longer limited to compilation using the System Verilog hardware design language, and can be compiled using other programming languages, such as python, perl, C++, etc., which shortens the time It reduces configuration time and is more suitable for some scenarios where it is difficult to generate data using the System Verilog hardware design language, greatly reducing development time.
参见图7所示,在本公开实施方式中,验证环境内的激励组件120则不再具有数据产生的功能,而是仅仅进行数据转发。也即,位于验证环境之外的数据生成组件110产
生激励数据,并将激励数据发送至验证环境中的激励组件120,激励组件120将激励数据发送至输入代理组件200。Referring to FIG. 7 , in the embodiment of the present disclosure, the incentive component 120 in the verification environment no longer has the function of data generation, but only forwards data. That is, the data generation component 110 located outside the verification environment produces The stimulus data is generated and sent to the stimulus component 120 in the verification environment, and the stimulus component 120 sends the stimulus data to the input agent component 200.
在一些实施方式中,继续参照图7所示,由于将数据生成组件110分离出了验证环境,因此,同样也可以将参考模型组件400分离出验证环境。这样做的好处在于:首先,由于数据生成组件110和参考模型组件400均分离出验证环境,从而产生的激励数据无需经过输入代理组件200转发,可在验证环境之外,由数据生成组件110直接发送至参考模型组件400,这样在验证流程开始之前,参考模型组件400即可执行工作,较早地为后续的对比过程提供预期结果数据;其次,由于参考模型组件400分离出验证模型,从而验证环境内的激励组件120和输入代理组件200无需考虑向参考模型组件400发送数据的过程,避免调用传输数据接口,同时验证环境减少了组件模块,提高验证环境的编译速度。In some embodiments, as shown in FIG. 7 , since the data generation component 110 is separated from the verification environment, the reference model component 400 can also be separated from the verification environment. The advantages of this are: first, since both the data generation component 110 and the reference model component 400 are separated from the verification environment, the generated stimulus data does not need to be forwarded by the input agent component 200 and can be directly generated by the data generation component 110 outside the verification environment. Sent to the reference model component 400, so that before the verification process starts, the reference model component 400 can perform the work and provide expected result data for the subsequent comparison process earlier; secondly, since the reference model component 400 separates the verification model, the verification The excitation component 120 and the input agent component 200 in the environment do not need to consider the process of sending data to the reference model component 400 and avoid calling the transmission data interface. At the same time, the verification environment reduces component modules and improves the compilation speed of the verification environment.
数据生成组件110在验证环境之外产生激励数据,并且在验证环境之外直接将激励数据发送至参考模型组件400,参考模型组件400通过数据处理得到预期结果数据,并将预期结果数据发送至验证环境中。The data generation component 110 generates stimulus data outside the verification environment, and directly sends the stimulus data to the reference model component 400 outside the verification environment. The reference model component 400 obtains expected result data through data processing, and sends the expected result data to the verification Environment.
在一些实施方式中,如图7所示,相较于图1所示的传统UVM验证平台,本公开实施方式中将计分板的数据对比功能以及上述的时序信号对比功能集成于输出代理组件510中,也即利用输出代理组件510实现图2中对比组件500的全部功能。In some implementations, as shown in Figure 7, compared to the traditional UVM verification platform shown in Figure 1, in the implementation of the present disclosure, the data comparison function of the scoreboard and the above-mentioned timing signal comparison function are integrated into the output agent component In 510, that is, the output agent component 510 is used to realize all the functions of the comparison component 500 in Figure 2.
这是考虑到,由于参考模型组件400已经分离出验证模型,因此不必在计分板中执行数据信号的对比。另外,通过本公开上述实施方式可知,本公开不仅对结果数据的数据信号进行对比,还对时序信号进行对比,而计分板对于时序信号的对比过程非常繁琐。This is taken into account that since the reference model component 400 has separated out the verification model, comparison of the data signals does not have to be performed in the scoreboard. In addition, it can be seen from the above-mentioned embodiments of the present disclosure that the present disclosure not only compares the data signals of the result data, but also compares the timing signals, and the comparison process of the timing signals by the scoreboard is very cumbersome.
因此,本公开实施方式中,将数据信号和时序信号的对比功能集成于输出代理组件510中,对输出代理组件510重新编译,在实现上述对比功能的基础上,可以提高芯片验证的效率,缩短验证周期。Therefore, in the embodiment of the present disclosure, the comparison function of data signals and timing signals is integrated into the output agent component 510, and the output agent component 510 is recompiled. On the basis of realizing the above comparison function, the efficiency of chip verification can be improved and shortened. Validation cycle.
在一些实施方式中,如图7所示,本公开示例在验证环境中为待验证组件300的数据输入设置单独的配置代理组件210。In some implementations, as shown in FIG. 7 , the disclosed example provides a separate configuration agent component 210 in the verification environment for data input of the component 300 to be verified.
输入代理组件200用于接收激励组件120转发的激励数据,并且按照预设的时序将激励数据逐像素发送至待验证组件300。配置代理组件210的作用是对待验证组件300的数据处理提供配置参数,配置参数可包括待验证组件300的寄存器配置参数、针对像素数据的处理参数等。The input agent component 200 is used to receive the stimulus data forwarded by the stimulus component 120, and send the stimulus data pixel by pixel to the component to be verified 300 according to a preset timing sequence. The function of the configuration agent component 210 is to provide configuration parameters for data processing of the component to be verified 300. The configuration parameters may include register configuration parameters of the component to be verified 300, processing parameters for pixel data, etc.
当然,本领域技术人员可以理解,配置代理组件210的相应功能可以集成于输入
代理组件200中,而本公开单独设置配置代理组件210的目的在于,可以更好地检测待测用例对待验证组件300的功能覆盖信息。Of course, those skilled in the art can understand that the corresponding functions of the configuration agent component 210 can be integrated into the input In the proxy component 200 , the purpose of setting up and configuring the proxy component 210 separately in this disclosure is to better detect the function coverage information of the use case to be tested and the component 300 to be verified.
具体而言,如图7所示,本公开示例的验证平台,在验证环境中设置有覆盖检测组件700,覆盖检测组件700用于实时检测配置代理组件210配置的激励数据的配置信息,该配置信息可反映激励数据对待验证组件300的功能覆盖情况,例如,覆盖检测组件700可以检测配置代理组件210的寄存器配置参数,通过检测寄存器配置情况,反映验证过程中对待验证组件300的功能覆盖情况。覆盖检测组件700可以根据激励数据的配置信息实时记录各个覆盖点(Cover Point)的执行情况,从而得到功能覆盖率信息。Specifically, as shown in Figure 7, the verification platform of the present disclosure example is provided with a coverage detection component 700 in the verification environment. The coverage detection component 700 is used to detect in real time the configuration information of the incentive data configured by the configuration agent component 210. The configuration The information can reflect the function coverage of the component to be verified 300 in the incentive data. For example, the coverage detection component 700 can detect the register configuration parameters of the configuration agent component 210, and by detecting the register configuration, it can reflect the function coverage of the component to be verified 300 during the verification process. The coverage detection component 700 can record the execution status of each coverage point (Cover Point) in real time according to the configuration information of the stimulus data, thereby obtaining functional coverage information.
功能覆盖率信息可以反映待测用例对待验证组件300的功能覆盖情况,若覆盖率很低,则说明待测用例无法较好地对待验证组件300的完整功能进行验证,从而需要重新调整激励数据,也即上述的修改激励数据的过程。换句话说,本公开实施方式中,通过覆盖检测组件700得到的功能覆盖率信息,可以有效指导对待测用例的激励数据进行有针对地修改,提高芯片验证效率。The functional coverage information can reflect the functional coverage of the component to be verified 300 by the use case to be tested. If the coverage is very low, it means that the use case to be tested cannot properly verify the complete function of the component to be verified 300, so the incentive data needs to be readjusted. That is the process of modifying the incentive data mentioned above. In other words, in the embodiment of the present disclosure, the functional coverage information obtained through the coverage detection component 700 can effectively guide the targeted modification of the stimulus data of the use case to be tested and improve the chip verification efficiency.
结合图7所示,下面对本公开实施方式中的芯片验证平台的搭建和验证流程进行说明。With reference to FIG. 7 , the construction and verification process of the chip verification platform in the embodiment of the present disclosure will be described below.
如图7所示,首先需要根据待验证组件300的RTL设计和参考模型组件400确定代理组件,例如输入代理组件200、配置代理组件210和输出代理组件510。其次构建与代理组件同级别的计数控制组件800和覆盖检测组件700,然后就可以根据环境变量(Env)将前述的各个功能组件实例化。之后构建激励组件120和验证环境,最后构建数据生成组件110和参考模型组件400的可执行文件,完成验证平台的构建。本公开提到的待验证组件300、参考模型组件400、输入代理组件200、配置代理组件210、输出代理组件510、计数控制组件800、覆盖检测组件700、激励数据组件100、对比组件500、激励组件120和数据生成组件110可以通过计算机实现。As shown in FIG. 7 , firstly, the agent components need to be determined according to the RTL design of the component to be verified 300 and the reference model component 400 , such as the input agent component 200 , the configuration agent component 210 and the output agent component 510 . Secondly, the counting control component 800 and the coverage detection component 700 are constructed at the same level as the proxy component, and then each of the aforementioned functional components can be instantiated according to the environment variable (Env). Then build the incentive component 120 and the verification environment, and finally build the executable files of the data generation component 110 and the reference model component 400 to complete the construction of the verification platform. The component to be verified 300, the reference model component 400, the input agent component 200, the configuration agent component 210, the output agent component 510, the counting control component 800, the coverage detection component 700, the stimulus data component 100, the comparison component 500, and the stimulus mentioned in this disclosure Component 120 and data generation component 110 may be implemented by a computer.
在验证过程中,数据生成组件110产生激励数据,并将激励数据发送至参考模型组件400,参考模型组件400对激励数据进行处理得到预期结果数据,并将预期结果数据发送至验证环境中的输出代理组件510。During the verification process, the data generation component 110 generates stimulus data and sends the stimulus data to the reference model component 400. The reference model component 400 processes the stimulus data to obtain expected result data, and sends the expected result data to the output in the verification environment. Agent component 510.
同时,数据生成组件110将激励数据发送至验证环境中的激励组件120,激励组件120将激励数据分别转发至输入代理组件200和配置代理组件210。输入代理组件200和配置代理组件210将激励数据分别按照时序发送至待验证组件300,同时覆盖检测组件700检测配置代理组件210输出的配置信息,记录各个覆盖点的执行情况,得到功能覆盖率信息。
At the same time, the data generation component 110 sends the stimulus data to the stimulus component 120 in the verification environment, and the stimulus component 120 forwards the stimulus data to the input agent component 200 and the configuration agent component 210 respectively. The input agent component 200 and the configuration agent component 210 send the incentive data to the component to be verified 300 in time sequence. At the same time, the coverage detection component 700 detects the configuration information output by the configuration agent component 210, records the execution status of each coverage point, and obtains functional coverage information. .
待验证组件300按照时序逐一对激励数据进行处理,并输出对应的结果数据至输出代理组件510,输出代理组件510基于预先得到的预期结果数据实时对接收到的结果数据的数据信号和时序信号进行对比,得到该结果数据对应的对比结果。同时,计数控制组件800实时检测结果数据中的目标信号并统计,当目标信号数据满足预设条件时,向激励组件120发送停止信号,整个验证流程停止。The component to be verified 300 processes the stimulus data one by one according to the time sequence, and outputs the corresponding result data to the output agent component 510. The output agent component 510 performs real-time processing on the data signals and time series signals of the received result data based on the expected result data obtained in advance. Compare and obtain the comparison results corresponding to the result data. At the same time, the counting control component 800 detects the target signal in the result data in real time and makes statistics. When the target signal data meets the preset conditions, it sends a stop signal to the excitation component 120 and the entire verification process stops.
通过上述可知,本公开实施方式中,在芯片验证流程中,通过检测待验证组件DUT输出的结果数据中的目标信号数量,可以准确对激励数据的处理进度进行检测,并且准确确定验证流程的结束时间,既避免提早结束导致验证失败,又避免延时较长导致验证效率降低。并且,本公开方法可适用于任何芯片验证场景,不受芯片类型限制,提高验证平台的鲁棒性。无需等待全部的激励数据处理完成,即可实时对结果数据进行对比,从而在发现对比结果错误时,立刻停止验证流程报错,可以马上发现错误代码,无需大量的回追波形操作,提高芯片验证效率。在对结果数据与预期结果数据对比时,不仅针对数据信号进行对比,同时对时序信号进行对比,保证时序信号的准确性,提高芯片验证的准确性。As can be seen from the above, in the embodiments of the present disclosure, during the chip verification process, by detecting the number of target signals in the result data output by the component to be verified DUT, the processing progress of the stimulus data can be accurately detected, and the end of the verification process can be accurately determined. time, not only to avoid early termination leading to verification failure, but also to avoid long delays leading to reduced verification efficiency. Moreover, the disclosed method can be applied to any chip verification scenario and is not limited by chip type, thereby improving the robustness of the verification platform. There is no need to wait for all stimulus data processing to be completed, and the result data can be compared in real time. When an error in the comparison result is found, the verification process will be stopped immediately and an error will be reported. The error code can be discovered immediately without the need for a large number of traceback waveform operations, which improves chip verification efficiency. . When comparing the result data with the expected result data, not only the data signals are compared, but also the timing signals are compared to ensure the accuracy of the timing signals and improve the accuracy of chip verification.
在一些实施方式中,本公开实施方式提供了一种电子设备,包括:处理器;和存储器,存储有计算机指令,计算机指令用于使处理器执行上述任意实施方式的芯片验证方法。In some embodiments, embodiments of the present disclosure provide an electronic device, including: a processor; and a memory storing computer instructions, and the computer instructions are used to cause the processor to execute the chip verification method of any of the above embodiments.
在一些实施方式中,本公开实施方式提供了一种存储介质,存储有计算机指令,计算机指令用于使计算机执行上述任意实施方式的芯片验证方法。In some embodiments, embodiments of the present disclosure provide a storage medium that stores computer instructions, and the computer instructions are used to cause the computer to execute the chip verification method of any of the above embodiments.
具体而言,图8示出了适于用来实现本公开方法的电子设备600的结构示意图,通过图8所示电子设备,可实现上述处理器及存储介质相应功能。Specifically, FIG. 8 shows a schematic structural diagram of an electronic device 600 suitable for implementing the method of the present disclosure. Through the electronic device shown in FIG. 8 , the corresponding functions of the above-mentioned processor and storage medium can be realized.
如图8所示,电子设备600包括处理器601,其可以根据存储在存储器602中的程序或者从存储部分608加载到存储器602中的程序而执行各种适当的动作和处理。在存储器602中,还存储有电子设备600操作所需的各种程序和数据。处理器601和存储器602通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。As shown in FIG. 8 , the electronic device 600 includes a processor 601 that can perform various appropriate actions and processes according to programs stored in the memory 602 or loaded into the memory 602 from the storage part 608 . In the memory 602, various programs and data required for the operation of the electronic device 600 are also stored. The processor 601 and the memory 602 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
The following components are connected to the I/O interface 605: an input section 606 including a keyboard, a mouse, etc.; an output section 607 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., speakers, etc.; and a storage section 608 including a hard disk, etc. ; and a communication section 609 including a network interface card such as a LAN card, a modem, etc. The communication section 609 performs communication processing via a network such as the Internet. Driver 610 is also connected to I/O interface 605 as needed. Removable media 611, such as magnetic disks, optical disks, magneto-optical disks, semiconductor memories, etc., are installed on the drive 610 as needed, so that a computer program read therefrom is installed into the storage portion 608 as needed.
特别地,根据本公开的实施方式,上文方法过程可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行上述方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。In particular, according to embodiments of the present disclosure, the above method process may be implemented as a computer software program. For example, embodiments of the present disclosure include a computer program product including a computer program tangibly embodied on a machine-readable medium, the computer program including program code for performing the above-described method. In such embodiments, the computer program may be downloaded and installed from the network via communication portion 609 and/or installed from removable media 611 .
附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operations of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code that contains one or more components for implementing the specified logical function. Executable instructions. It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown one after another may actually execute substantially in parallel, or they may sometimes execute in the reverse order, depending on the functionality involved. It will also be noted that each block of the block diagram and/or flowchart illustration, and combinations of blocks in the block diagram and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or operations. , or can be implemented using a combination of specialized hardware and computer instructions.
显然,上述实施方式仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本公开创造的保护范围之中。
Obviously, the above-mentioned embodiments are only examples for clear explanation and are not limitations of the embodiments. For those of ordinary skill in the art, other different forms of changes or modifications can be made based on the above description. An exhaustive list of all implementations is neither necessary nor possible. The obvious changes or modifications derived therefrom are still within the protection scope of the present invention.
Claims (17)
- 一种芯片验证平台,其特征在于,包括:A chip verification platform, which is characterized by including:激励数据组件,被配置为基于待测用例生成激励数据,并将所述激励数据发送至待验证组件;The stimulus data component is configured to generate stimulus data based on the use case to be tested, and send the stimulus data to the component to be verified;计数控制组件,被配置为在验证过程中,实时检测所述待验证组件输出的结果数据的目标信号并计数,并且响应于所述目标信号的数量满足预设条件,确定所述待测用例验证结束;所述目标信号表示所述结果数据的时序相关信号。A counting control component configured to detect and count target signals of the result data output by the component to be verified in real time during the verification process, and in response to the number of the target signals meeting a preset condition, determine verification of the use case to be tested End; the target signal represents the timing-related signal of the result data.
- 根据权利要求1所述的芯片验证平台,其特征在于,所述计数控制组件被配置为:The chip verification platform according to claim 1, characterized in that the counting control component is configured to:预先基于所述待测用例确定所述结果数据的预期数量;Determine the expected amount of result data in advance based on the use case to be tested;响应于所述目标信号的数量达到所述预期数量,确定所述目标信号的数量满足预设条件。In response to the number of target signals reaching the expected number, it is determined that the number of target signals satisfies a preset condition.
- 根据权利要求1或2所述的芯片验证平台,其特征在于,还包括:The chip verification platform according to claim 1 or 2, further comprising:参考模型组件,被配置为接收所述激励数据,并输出对应的预期结果数据;A reference model component configured to receive the stimulus data and output corresponding expected result data;对比组件,被配置于验证环境中,用于在所述验证过程中,实时将所述待验证组件输出的所述结果数据与所述预期结果数据进行对比,得到所述结果数据对应的对比结果;响应于所述结果数据的对比结果错误,停止所述验证过程。A comparison component, configured in the verification environment, used to compare the result data output by the component to be verified with the expected result data in real time during the verification process to obtain a comparison result corresponding to the result data. ; In response to an error in the comparison result of the result data, the verification process is stopped.
- 根据权利要求3所述的芯片验证平台,其特征在于,所述结果数据包括数据信号和时序信号,所述预期结果数据包括预期数据信号和预期时序信号;所述对比组件被配置为:The chip verification platform according to claim 3, wherein the result data includes a data signal and a timing signal, and the expected result data includes an expected data signal and an expected timing signal; the comparison component is configured to:将所述结果数据的数据信号与所述预期结果数据的预期数据信号进行对比,得到第一结果;Compare the data signal of the result data with the expected data signal of the expected result data to obtain a first result;将所述结果数据的时序信号与所述预期结果数据的预期时序信号进行对比,得到第二结果;Compare the timing signal of the result data with the expected timing signal of the expected result data to obtain a second result;根据所述第一结果和所述第二结果确定所述结果数据对应的所述对比结果。The comparison result corresponding to the result data is determined based on the first result and the second result.
- 根据权利要求3或4所述的芯片验证平台,其特征在于,所述激励数据组件包括:The chip verification platform according to claim 3 or 4, characterized in that the stimulus data component includes:数据生成组件,被配置于所述验证环境之外,用于基于所述待测用例生成所述激励数据;A data generation component configured outside the verification environment and used to generate the stimulus data based on the use case to be tested;激励组件,被配置于所述验证环境中,用于接收所述激励数据,并将所述激励数据发送至所述待验证组件; An excitation component, configured in the verification environment, is used to receive the excitation data and send the excitation data to the component to be verified;其中,所述数据生成组件被配置为将所述激励数据发送至所述参考模型组件,所述参考模型组件被配置于所述验证环境之外。Wherein, the data generation component is configured to send the stimulus data to the reference model component, and the reference model component is configured outside the verification environment.
- 根据权利要求5所述的芯片验证平台,其特征在于,所述对比组件被配置为输出代理组件。The chip verification platform according to claim 5, wherein the comparison component is configured as an output proxy component.
- 根据权利要求1至4任一项所述的芯片验证平台,其特征在于,还包括:The chip verification platform according to any one of claims 1 to 4, further comprising:配置代理组件,被配置于验证环境中,用于根据所述激励数据生成并向所述待验证组件发送配置信息;A configuration agent component, configured in the verification environment, is used to generate and send configuration information to the component to be verified according to the incentive data;覆盖检测组件,被配置于所述验证环境中,用于检测所述配置信息,并根据所述配置信息确定所述待测用例的功能覆盖率信息。A coverage detection component is configured in the verification environment, used to detect the configuration information, and determine the functional coverage information of the use case to be tested based on the configuration information.
- 一种芯片验证方法,其特征在于,包括:A chip verification method, characterized by including:基于待测用例生成激励数据,并将所述激励数据发送至待验证组件;Generate stimulus data based on the use case to be tested and send the stimulus data to the component to be verified;在验证过程中,实时检测所述待验证组件输出的结果数据的目标信号并计数;所述目标信号表示所述结果数据的时序相关信号;During the verification process, the target signal of the result data output by the component to be verified is detected in real time and counted; the target signal represents the timing-related signal of the result data;响应于所述目标信号的数量满足预设条件,确定所述待测用例验证结束。In response to the number of the target signals meeting the preset condition, it is determined that the verification of the use case under test is completed.
- 根据权利要求8所述的方法,其特征在于,所述响应于所述目标信号的数量满足预设条件,确定所述待测用例验证结束,包括:The method according to claim 8, characterized in that, in response to the number of the target signals meeting a preset condition, determining that the verification of the use case to be tested is completed, including:预先基于所述待测用例确定所述结果数据的预期数量;Determine the expected amount of result data in advance based on the use case to be tested;响应于所述目标信号的数量达到所述预期数量,确定所述目标信号的数量满足预设条件。In response to the number of target signals reaching the expected number, it is determined that the number of target signals satisfies a preset condition.
- 根据权利要求8或9所述的方法,其特征在于,还包括:The method according to claim 8 or 9, further comprising:将所述激励数据发送至参考模型组件,得到所述参考模型组件输出的预期结果数据;Send the stimulus data to the reference model component to obtain the expected result data output by the reference model component;在所述验证过程中,实时将所述待验证组件输出的所述结果数据与所述预期结果数据进行对比,得到所述结果数据对应的对比结果;During the verification process, compare the result data output by the component to be verified with the expected result data in real time to obtain a comparison result corresponding to the result data;响应于所述结果数据的对比结果错误,停止所述验证过程。In response to the comparison result of the result data being erroneous, the verification process is stopped.
- 根据权利要求10所述的方法,其特征在于,所述结果数据包括数据信号和时序信号,所述预期结果数据包括预期数据信号和预期时序信号;所述在所述验证过程中,实时将所述待验证组件输出的所述结果数据与所述预期结果数据进行对比,得到所述结果数据对应的对比结果,包括:The method according to claim 10, wherein the result data includes a data signal and a timing signal, and the expected result data includes an expected data signal and an expected timing signal; during the verification process, all data are processed in real time. Compare the result data output by the component to be verified with the expected result data to obtain a comparison result corresponding to the result data, including:将所述结果数据的数据信号与所述预期结果数据的预期数据信号进行对比,得到第一结果;Compare the data signal of the result data with the expected data signal of the expected result data to obtain a first result;将所述结果数据的时序信号与所述预期结果数据的预期时序信号进行对比,得到第 二结果;Compare the timing signal of the result data with the expected timing signal of the expected result data to obtain the first 2 results;根据所述第一结果和所述第二结果确定所述结果数据对应的所述对比结果。The comparison result corresponding to the result data is determined based on the first result and the second result.
- 根据权利要求10或11所述的方法,其特征在于,所述基于待测用例生成激励数据,并将所述激励数据发送至待验证组件,包括:The method according to claim 10 or 11, characterized in that generating stimulus data based on the use case to be tested and sending the stimulus data to the component to be verified includes:验证环境之外的数据生成组件将基于所述待测用例生成的所述激励数据发送至验证环境中的激励组件,在所述验证环境中,所述激励组件将所述激励数据发送至所述待验证组件;The data generation component outside the verification environment sends the stimulus data generated based on the use case to be tested to the stimulus component in the verification environment. In the verification environment, the stimulus component sends the stimulus data to the Components to be verified;所述将所述激励数据发送至参考模型组件,得到所述参考模型组件输出的预期结果数据,包括:The step of sending the stimulus data to the reference model component and obtaining the expected result data output by the reference model component includes:所述数据生成组件将所述激励数据发送至验证环境之外的参考模型组件,所述验证环境之外的参考模型组件将所述预期结果数据发送至所述验证环境。The data generation component sends the stimulus data to a reference model component outside the verification environment, and the reference model component outside the verification environment sends the expected result data to the verification environment.
- 根据权利要求12所述的方法,其特征在于,所述在所述验证过程中,实时将所述待验证组件输出的所述结果数据与所述预期结果数据进行对比,得到所述结果数据对应的对比结果,包括:The method according to claim 12, characterized in that, during the verification process, the result data output by the component to be verified is compared with the expected result data in real time to obtain the corresponding result data The comparison results include:在所述验证环境中,输出代理组件分别接收所述结果数据和所述预期结果数据,并且实时将所述结果数据与所述预期结果数据进行对比,得到所述对比结果。In the verification environment, the output agent component receives the result data and the expected result data respectively, and compares the result data with the expected result data in real time to obtain the comparison result.
- 根据权利要求8至13任一项所述的方法,其特征在于,还包括:The method according to any one of claims 8 to 13, further comprising:在验证环境中,检测发送至所述待验证组件的所述激励数据的配置信息,并根据所述配置信息确定所述待测用例的功能覆盖率信息。In the verification environment, the configuration information of the stimulus data sent to the component to be verified is detected, and the functional coverage information of the use case to be tested is determined based on the configuration information.
- 根据权利要求8至14任一项所述的方法,其特征在于,The method according to any one of claims 8 to 14, characterized in that,所述目标信号包括有效信号、准备信号、行开始信号、行结束信号中的一种或多种。The target signal includes one or more of a valid signal, a preparation signal, a line start signal, and a line end signal.
- 一种电子设备,其特征在于,包括:An electronic device, characterized by including:处理器;processor;存储器,存储有计算机指令,所述计算机指令用于使所述处理器执行根据权利要求8至15任一项所述的方法。A memory storing computer instructions for causing the processor to execute the method according to any one of claims 8 to 15.
- 一种存储介质,其特征在于,存储有计算机指令,所述计算机指令用于使计算机执行根据权利要求8至15任一项所述的方法。 A storage medium, characterized in that computer instructions are stored, and the computer instructions are used to cause a computer to execute the method according to any one of claims 8 to 15.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210473239.5 | 2022-04-29 | ||
CN202210473239.5A CN114912413A (en) | 2022-04-29 | 2022-04-29 | Chip verification method and platform |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023207965A1 true WO2023207965A1 (en) | 2023-11-02 |
Family
ID=82764682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2023/090561 WO2023207965A1 (en) | 2022-04-29 | 2023-04-25 | Chip verification method and platform |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114912413A (en) |
WO (1) | WO2023207965A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117271248A (en) * | 2023-11-23 | 2023-12-22 | 成都市楠菲微电子有限公司 | IO interface testing method and device and UVM verification environment |
CN117291145A (en) * | 2023-11-24 | 2023-12-26 | 之江实验室 | Verification method and system of system on chip and electronic device |
CN117971721A (en) * | 2024-03-28 | 2024-05-03 | 北京微核芯科技有限公司 | Module verification method and device of multi-core processor and electronic equipment |
CN118277265A (en) * | 2024-04-09 | 2024-07-02 | 沐曦科技(成都)有限公司 | Graphic verification system |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114912413A (en) * | 2022-04-29 | 2022-08-16 | 上海阵量智能科技有限公司 | Chip verification method and platform |
CN117494638B (en) * | 2023-11-09 | 2024-06-18 | 摩尔线程智能科技(上海)有限责任公司 | Verification method and verification platform for chip functions, electronic equipment and storage medium |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8832622B1 (en) * | 2011-11-23 | 2014-09-09 | Marvell International Ltd. | Coverage scoreboard |
CN112579381A (en) * | 2020-12-28 | 2021-03-30 | 杭州德旺信息技术有限公司 | UVM-based UART bus UVM verification system and method |
CN113238962A (en) * | 2021-06-09 | 2021-08-10 | 宁波阿库网络技术有限公司 | Method and apparatus for testing computer program |
CN113392620A (en) * | 2021-06-25 | 2021-09-14 | 上海阵量智能科技有限公司 | Chip prototype verification method and device, computer equipment and storage medium |
CN113742202A (en) * | 2020-05-29 | 2021-12-03 | 上海商汤智能科技有限公司 | AI chip verification system, method, device and storage medium |
CN114912413A (en) * | 2022-04-29 | 2022-08-16 | 上海阵量智能科技有限公司 | Chip verification method and platform |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6584487B2 (en) * | 2017-12-20 | 2019-10-02 | キヤノン株式会社 | Information processing apparatus, control method thereof, and program |
CN113312879B (en) * | 2021-07-28 | 2021-11-09 | 北京燧原智能科技有限公司 | Chip circuit function verification system, method, device and storage medium |
-
2022
- 2022-04-29 CN CN202210473239.5A patent/CN114912413A/en active Pending
-
2023
- 2023-04-25 WO PCT/CN2023/090561 patent/WO2023207965A1/en unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8832622B1 (en) * | 2011-11-23 | 2014-09-09 | Marvell International Ltd. | Coverage scoreboard |
CN113742202A (en) * | 2020-05-29 | 2021-12-03 | 上海商汤智能科技有限公司 | AI chip verification system, method, device and storage medium |
CN112579381A (en) * | 2020-12-28 | 2021-03-30 | 杭州德旺信息技术有限公司 | UVM-based UART bus UVM verification system and method |
CN113238962A (en) * | 2021-06-09 | 2021-08-10 | 宁波阿库网络技术有限公司 | Method and apparatus for testing computer program |
CN113392620A (en) * | 2021-06-25 | 2021-09-14 | 上海阵量智能科技有限公司 | Chip prototype verification method and device, computer equipment and storage medium |
CN114912413A (en) * | 2022-04-29 | 2022-08-16 | 上海阵量智能科技有限公司 | Chip verification method and platform |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117271248A (en) * | 2023-11-23 | 2023-12-22 | 成都市楠菲微电子有限公司 | IO interface testing method and device and UVM verification environment |
CN117271248B (en) * | 2023-11-23 | 2024-02-09 | 成都市楠菲微电子有限公司 | IO interface testing method and device and UVM verification environment |
CN117291145A (en) * | 2023-11-24 | 2023-12-26 | 之江实验室 | Verification method and system of system on chip and electronic device |
CN117971721A (en) * | 2024-03-28 | 2024-05-03 | 北京微核芯科技有限公司 | Module verification method and device of multi-core processor and electronic equipment |
CN117971721B (en) * | 2024-03-28 | 2024-06-28 | 北京微核芯科技有限公司 | Module verification method and device of multi-core processor and electronic equipment |
CN118277265A (en) * | 2024-04-09 | 2024-07-02 | 沐曦科技(成都)有限公司 | Graphic verification system |
Also Published As
Publication number | Publication date |
---|---|
CN114912413A (en) | 2022-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023207965A1 (en) | Chip verification method and platform | |
US6609221B1 (en) | Method and apparatus for inducing bus saturation during operational testing of busses using a pattern generator | |
CN108874686B (en) | Memory parameter adjusting method, device and equipment | |
JPH11282713A (en) | Microcomputer, electronic equipment and debug system | |
WO2024078164A1 (en) | Method and apparatus for measuring signal delay of chip tester, and computer device | |
US12086022B2 (en) | Bus monitoring device and method, storage medium, and electronic device | |
CN117454811A (en) | Verification method and device for design to be tested | |
CN115691648A (en) | Memory reliability testing method and device, storage medium and electronic equipment | |
CN116663490A (en) | Verification method, platform, device and medium of asynchronous memory chip | |
CN116319475A (en) | Signal analysis method, device, equipment and storage medium | |
US20050108596A1 (en) | Method of verifying circuitry used for testing a new logic component prior to the first release of the component | |
CN113407408B (en) | Data transmission rule verification method, device, equipment and storage medium | |
CN117236277B (en) | Method and device for checking register and electronic equipment | |
JP3152205B2 (en) | Logic simulation apparatus and method, and recording medium recording control program therefor | |
US7673121B2 (en) | Circuit for monitoring a microprocessor and analysis tool and inputs/outputs thereof | |
CN117093353B (en) | Interrupt control method and device, electronic equipment and readable storage medium | |
CN117131821B (en) | Chip verification method, device, electronic equipment and storage medium | |
CN114444423B (en) | Data processing method and system based on verification platform and electronic equipment | |
CN116991651B (en) | Error injection method, system on chip, computer equipment and storage medium | |
CN117783842B (en) | Delay correction processing method, system and platform for boundary scan test | |
CN116339608B (en) | Data sampling method, system, chip, device and storage medium | |
US7496792B2 (en) | Repeat digital message transmission between a microprocessor monitoring circuit and an analyzing tool | |
US20240329135A1 (en) | Testing multi-cycle paths using scan test | |
CN113986708A (en) | Performance test method, system, device, electronic equipment and storage medium | |
JP3329221B2 (en) | LSI test equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23795397 Country of ref document: EP Kind code of ref document: A1 |