CN110705191A - Method for constructing polymorphic simulation verification environment - Google Patents

Method for constructing polymorphic simulation verification environment Download PDF

Info

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
Application number
CN201910859132.2A
Other languages
Chinese (zh)
Other versions
CN110705191B (en
Inventor
胡向东
计永兴
陈诚
李辉
陈雪城
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Integrated Circuits with Highperformance Center
Original Assignee
Shanghai Integrated Circuits with Highperformance Center
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Integrated Circuits with Highperformance Center filed Critical Shanghai Integrated Circuits with Highperformance Center
Priority to CN201910859132.2A priority Critical patent/CN110705191B/en
Publication of CN110705191A publication Critical patent/CN110705191A/en
Application granted granted Critical
Publication of CN110705191B publication Critical patent/CN110705191B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Method for constructing polymorphic simulation verification environment
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.
CN201910859132.2A 2019-09-11 2019-09-11 Method for constructing polymorphic simulation verification environment Active CN110705191B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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