CN110705191A - Method for constructing polymorphic simulation verification environment - Google Patents
Method for constructing polymorphic simulation verification environment Download PDFInfo
- Publication number
- CN110705191A CN110705191A CN201910859132.2A CN201910859132A CN110705191A CN 110705191 A CN110705191 A CN 110705191A CN 201910859132 A CN201910859132 A CN 201910859132A CN 110705191 A CN110705191 A CN 110705191A
- Authority
- CN
- China
- Prior art keywords
- environment
- module
- model
- real
- virtual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The invention relates to a method for constructing a polymorphic simulation verification environment, which comprises the following steps: defining excitation generation rules under the whole chip, realizing an excitation resource management and allocation mechanism, and managing and allocating resource spaces uniformly; defining an external unified interface parameter list of a script tool library to realize the analysis support of various input parameters and commands; when the environment needs the virtual model, the script library automatically generates the virtual model modeling of the design module; when the environment needs a real model, finding a corresponding real model in a verification model library; the virtual model or the real model is used for realizing the cutting or the replacement of the design module, and the change of the environment topological structure is completed; test validation is run with a test sequence provided by the command line based on the newly generated environmental topology design code and the environmental code. The invention can reduce the workload of development environment and excitation of the verifier.
Description
Technical Field
The invention relates to the technical field of microprocessing verification, in particular to a method for constructing a polymorphic simulation verification environment.
Background
With the increasing scale and complexity of integrated circuits, the functions of processor chips become more and more complex, and the corresponding verification work becomes more and more difficult. The verification personnel need to establish the simulation environment at the module level for verification and establish the simulation environment at the chip level for verification. In contrast to module-level analog simulation, a chip-level or system-level analog simulation environment involves a large number of design modules, as well as a large number of IPs. The current common simulation environment construction mode is to respectively construct a module-level simulation environment and a chip-level simulation environment and separately test the module-level simulation environment and the chip-level simulation environment, and the environment topological structure is relatively fixed. Firstly, higher requirements are put forward on the capability of verification personnel to construct a complex simulation environment; secondly, development and maintenance are costly.
In the prior art, in the environment verification with relatively small design scale, the influence of environment performance and resource utilization rate is relatively small or can be ignored. However, for very large scale designs involving billions or even billions of transistors, the environment and the excitation applicability have a significant impact on the verification process, mainly in terms of verification efficiency and resource utilization. However, the commonly used simulation environment has two drawbacks: firstly, module-level environment verification and chip-level simulation environments are mutually independent, and verification personnel respectively carry out verification; secondly, the incentives for the development of each environment are not compatible with each other, such as: resulting in a module-level environment stimulus that cannot function in a chip-level environment. This requires the development of corresponding stimuli for each environment separately, resulting in relatively inefficient verification.
Disclosure of Invention
The invention aims to solve the technical problem of providing a method for constructing a polymorphic simulation verification environment, which can reduce the workload of development environment and excitation of verifiers.
The technical scheme adopted by the invention for solving the technical problems is as follows: the method for constructing the polymorphic simulation verification environment comprises the following steps:
(1) defining excitation generation rules under the whole chip, realizing an excitation resource management and allocation mechanism, and managing and allocating resource spaces uniformly;
(2) defining an external unified interface parameter list of a script tool library to realize the analysis support of various input parameters and commands;
(3) when the environment needs the virtual model, the script library automatically generates the virtual model modeling of the design module; when the environment needs a real model, finding a corresponding real model in a verification model library;
(4) the virtual model or the real model is used for realizing the cutting or the replacement of the design module, and the change of the environment topological structure is completed;
(5) test validation is run with a test sequence provided by the command line based on the newly generated environmental topology design code and the environmental code.
In the step (1), uniform resource management logic is used for carrying out consistent resource allocation and management on the module level environment, and address spaces corresponding to respective cores are respectively managed in the real module level environment and the virtual module level environment.
In the step (1), the real module level environment and the virtual module level environment are configured to be in place at the same time for the chip level environment, the space addresses of the core accesses of the real module level environment and the virtual module level environment are different, automatic compatible adaptation can be achieved, and the space addresses of the core accesses of the real module level environment and the virtual module level environment are the same, so that the pseudo sharing of the Cache block is achieved due to the access granularity.
The step (2) specifically comprises the following steps:
(21) detecting whether a design module needs to be in place in an input command, and if so, judging whether a real model needs to be used; if not, judging whether a virtual model needs to be used;
(22) and analyzing the design codes, splitting the design instantiation array module needing to be related into a plurality of single instantiation modules, and checking the grammar rules of line width, splitting width and sign bit.
Advantageous effects
Due to the adoption of the technical scheme, compared with the prior art, the invention has the following advantages and positive effects: according to the invention, under the condition of the existing resources, a system resource mechanism for unified management is established, virtual and real models can be adopted to replace real designs to construct different simulation environments according to the requirements of users, and the self-adaption under different test and excitation environments is realized, so that the verification efficiency is improved, the requirements on the resources are reduced, the development environment and the excitation workload of verification personnel can be reduced, the verification personnel can focus on the verification more, and the verification progress is accelerated.
Drawings
FIG. 1 is a flow chart of the present invention;
fig. 2 is a configuration diagram of a real module-level environment and a virtual module-level environment in a chip-level environment.
Detailed Description
The invention will be further illustrated with reference to the following specific examples. It should be understood that these examples are for illustrative purposes only and are not intended to limit the scope of the present invention. Further, it should be understood that various changes or modifications of the present invention may be made by those skilled in the art after reading the teaching of the present invention, and such equivalents may fall within the scope of the present invention as defined in the appended claims.
The embodiment of the invention relates to a method for constructing a polymorphic simulation and verification environment, which relates to a reusable script library, a DUT (device under test), a VIP (very important person) model library, a Testbench and a test stimulus library. The DUT is a design code, the VIP model library is a library (short for: a verification model library or a real model library) composed of a verification unit with a self-developed design model function and a module-level verification environment, the Testbench is used for completing the initialization function of the whole environment, the reusable script library is a library formed by a series of scripts which are realized based on Python and have expandable, reusable and support dynamic parameters, and the stimulus library is a basic test set developed under different environments. As shown in fig. 1, the method comprises the steps of:
the first step is as follows: and defining an excitation generation rule under the whole chip, realizing an excitation resource management and allocation mechanism, and uniformly managing and allocating resource space.
For a module level environment, uniform resource management logic needs to be used for consistent resource allocation and management, so that adaptive test excitation can be generated conveniently. Such as: for multi-core processors, unified management of address space is required. The real PE (Processor element) module level environment and the VPE (virtual Processor element) module level environment can respectively manage the address space corresponding to each core and develop the test sequence corresponding to the core bit.
For the chip level environment, VPE and PE can be configured to be in place at the same time, and the space addresses of respective core access are different due to the reason of uniform resource allocation management based on the sequence developed by the two module level environments, so that the automatic compatible adaptation can be realized. Even if the address space is the same, the Cache block pseudo sharing is realized due to the access granularity, and the self-adaption is also satisfied, as shown in FIG. 2.
The second step is as follows: and defining an external unified interface parameter list of the script tool library to realize the analysis support of various input parameters and commands.
Step 2.1: detecting whether a design module in an input command needs to be in place or not, and if so, using a real model; if not, whether a dummy pattern is needed. The dummy model in this embodiment is an empty design module, which has no specific function and is used only for reducing the design scale. The real model in the present embodiment is an autonomously implemented module level environment or a vip (verification intelligent property) model.
Step 2.2: and analyzing the design codes, splitting the design instantiation array module needing to be related into a plurality of single instantiation modules, and checking the grammar rules such as line width, splitting width, sign bit and the like.
The third step: if the environment requires a virtual model, the virtual model modeling of the design module, i.e., the virtual model is generated, is automatically generated by the script. If the environment requires a real model, the corresponding real model needs to be found in the VIP library.
The fifth step: and (3) using a virtual model or a real model to realize the cutting or replacement of the design module and finish the change of the environment topological structure.
A sixth step: design code and environment code based on the newly generated topology results, run test validation with the test sequence provided by the command line.
The invention can realize the replacement of the design module by the virtual-real model on line according to the user command parameters, thereby being capable of quickly generating various required environments, dynamically adjusting the environment topological structure under the condition that the environment supports various parameter configuration, quickly generating the environment and further directly running the test. The invention realizes a unified management and distribution mechanism of the excitation resources, and the excitation developed in different environments can be subjected to self-adaptive test in other environments, thereby reducing the redevelopment cost; because the environment topological structure can be dynamically adjusted, the environment scale can be reduced as required, the use of test resources can be obviously reduced, and the verification progress is accelerated.
Claims (4)
1. A method for constructing a polymorphic simulation verification environment is characterized by comprising the following steps:
(1) defining excitation generation rules under the whole chip, realizing an excitation resource management and allocation mechanism, and managing and allocating resource spaces uniformly;
(2) defining an external unified interface parameter list of a script tool library to realize the analysis support of various input parameters and commands;
(3) when the environment needs the virtual model, the script library automatically generates the virtual model modeling of the design module; when the environment needs a real model, finding a corresponding real model in a verification model library;
(4) the virtual model or the real model is used for realizing the cutting or the replacement of the design module, and the change of the environment topological structure is completed;
(5) test validation is run with a test sequence provided by the command line based on the newly generated environmental topology design code and the environmental code.
2. The method according to claim 1, wherein in step (1), the uniform resource management logic is used for consistent resource allocation and management of the module-level environment, and the address spaces corresponding to the cores of the real module-level environment and the virtual module-level environment are managed respectively.
3. The method for constructing a polymorphic simulation verification environment according to claim 1, wherein in step (1), the real module-level environment and the virtual module-level environment are configured to be in place at the same time for the chip-level environment, and when the spatial addresses of the core accesses of the real module-level environment and the virtual module-level environment are different, an automatic compatibility can be realized, and when the spatial addresses of the core accesses of the real module-level environment and the virtual module-level environment are the same, the Cache block pseudo-sharing is realized due to the access granularity.
4. The method for building a polymorphic simulation verification environment according to claim 1, wherein the step (2) specifically comprises the steps of:
(21) detecting whether a design module needs to be in place in an input command, and if so, judging whether a real model needs to be used; if not, judging whether a virtual model needs to be used;
(22) and analyzing the design codes, splitting the design instantiation array module needing to be related into a plurality of single instantiation modules, and checking the grammar rules of line width, splitting width and sign bit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910859132.2A CN110705191B (en) | 2019-09-11 | 2019-09-11 | Method for constructing polymorphic simulation verification environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910859132.2A CN110705191B (en) | 2019-09-11 | 2019-09-11 | Method for constructing polymorphic simulation verification environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110705191A true CN110705191A (en) | 2020-01-17 |
CN110705191B CN110705191B (en) | 2023-03-31 |
Family
ID=69196163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910859132.2A Active CN110705191B (en) | 2019-09-11 | 2019-09-11 | Method for constructing polymorphic simulation verification environment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110705191B (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112447256A (en) * | 2020-12-24 | 2021-03-05 | 深圳市芯天下技术有限公司 | True modeling error injection verification method and device of memory, storage medium and terminal |
CN114510893A (en) * | 2022-02-17 | 2022-05-17 | 广东广纳芯科技有限公司 | Simulation method for generating filter circuit and waveform thereof |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5991529A (en) * | 1997-05-16 | 1999-11-23 | Sony Corporation | Testing of hardware by using a hardware system environment that mimics a virtual system environment |
CN106326056A (en) * | 2016-08-26 | 2017-01-11 | 中国电子科技集团公司第三十八研究所 | Reusable WISHBONE bus protocol verification platform and verification method thereof |
CN106940428A (en) * | 2016-01-04 | 2017-07-11 | 中兴通讯股份有限公司 | Chip verification method, apparatus and system |
CN107038280A (en) * | 2017-03-10 | 2017-08-11 | 烽火通信科技股份有限公司 | A kind of checking system and method for software and hardware cooperating simulation |
US9836372B1 (en) * | 2014-02-14 | 2017-12-05 | Maxim Integrated Products, Inc. | Device verification system with firmware universal verification component |
-
2019
- 2019-09-11 CN CN201910859132.2A patent/CN110705191B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5991529A (en) * | 1997-05-16 | 1999-11-23 | Sony Corporation | Testing of hardware by using a hardware system environment that mimics a virtual system environment |
US9836372B1 (en) * | 2014-02-14 | 2017-12-05 | Maxim Integrated Products, Inc. | Device verification system with firmware universal verification component |
CN106940428A (en) * | 2016-01-04 | 2017-07-11 | 中兴通讯股份有限公司 | Chip verification method, apparatus and system |
CN106326056A (en) * | 2016-08-26 | 2017-01-11 | 中国电子科技集团公司第三十八研究所 | Reusable WISHBONE bus protocol verification platform and verification method thereof |
CN107038280A (en) * | 2017-03-10 | 2017-08-11 | 烽火通信科技股份有限公司 | A kind of checking system and method for software and hardware cooperating simulation |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112447256A (en) * | 2020-12-24 | 2021-03-05 | 深圳市芯天下技术有限公司 | True modeling error injection verification method and device of memory, storage medium and terminal |
CN112447256B (en) * | 2020-12-24 | 2021-12-14 | 芯天下技术股份有限公司 | True modeling error injection verification method and device of memory, storage medium and terminal |
CN114510893A (en) * | 2022-02-17 | 2022-05-17 | 广东广纳芯科技有限公司 | Simulation method for generating filter circuit and waveform thereof |
Also Published As
Publication number | Publication date |
---|---|
CN110705191B (en) | 2023-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3754496B1 (en) | Data processing method and related products | |
CN106940428B (en) | Chip verification method, device and system | |
US8972958B1 (en) | Multistage development workflow for generating a custom instruction set reconfigurable processor | |
JP2017097862A (en) | System and method for generation of automatic request for base test case for safety critical software | |
CN109254905B (en) | Distributed parallel automatic test system based on workflow | |
US7788610B2 (en) | Random stimuli generation of memory maps and memory allocations | |
US20230153158A1 (en) | Method, apparatus, system, and storage medium for performing eda task | |
CN103294599B (en) | A kind of embedded software cross-beta method based on cloud | |
CN103955373A (en) | Design method of SDN (Software Defined Networking) application integration development environment | |
CN110705191B (en) | Method for constructing polymorphic simulation verification environment | |
CN113032963A (en) | Simulink model simulation acceleration method and device | |
Aksakalli et al. | Systematic approach for generation of feasible deployment alternatives for microservices | |
CN117667655A (en) | Verification system, verification method, electronic device, and storage medium | |
Menard et al. | Mocasin—rapid prototyping of rapid prototyping tools: A framework for exploring new approaches in mapping software to heterogeneous multi-cores | |
CN111580409B (en) | Fault simulation test method for real-time embedded system | |
CN112257362A (en) | Verification method, verification device and storage medium for logic code | |
US20030037319A1 (en) | Method and apparatus for partitioning and placement for a cycle-based simulation system | |
CN107729601B (en) | Method and device for configuring RAM in simulation process and computer storage medium | |
Wiesner et al. | Software‐in‐the‐loop simulation for developing and testing carbon‐aware applications | |
CN109739666A (en) | Striding course call method, device, equipment and the storage medium of singleton method | |
US11593547B1 (en) | Prediction and optimization of multi-kernel circuit design performance using a programmable overlay | |
US10409624B1 (en) | Data array compaction in an emulation system | |
US9892227B1 (en) | Systems, methods and storage media for clock tree power estimation at register transfer level | |
CN114115887A (en) | Adaptive scheduling with dynamic partition load balancing for fast partition compilation | |
Al-Wattar et al. | An efficient evolutionary task scheduling/binding framework for reconfigurable systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |