Background technology
Chip design realization is roughly divided into front end logic design synthesis and two parts of back-end physical design synthesis.Wherein,
It is multiple that back-end physical design realization includes clock tree synthesis, placement-and-routing, power consumption analysis, physical verification and manufacturability design etc.
Step.In a chip design, definition, exploitation, synthesis, the integrated and verification of front end logic are no doubt important.But with semiconductor
The development of manufacturing process, chip piece will go flow, and then volume production, and its rear end physical Design, which is realized, seems very crucial.
For the correctness for ensureing chip functions and realizing, verification will pass through realizes process in entirely designing for chip.Test
Card is the correctness for confirming designed circuit function in the design process.Verification can pass through software emulation (Software
Simulation), hardware accelerator verification (Hardware Emulation) and formal verification (Formal Verification)
The methods of carry out, it is the work to be done before flow.
Software emulation refers to utilize simulation excitation, by simulation software, to SoC architecture progress functional verification.Software
Emulation is divided into front-end simulation and rear end emulation.Front-end simulation refers to emulate the RTL code of SoC, main to verify system knot
The correctness of structure function.Rear end emulation refers to utilize timing information file (Standard Delay File, sdf), to SoC's
Gate level netlist (Gate Level Netlist) is emulated, and the main correctness verified architecture and realized, emphasis is verification
Whether sequential restrains.
As the development of SoC design technological means and more and more diversified application demand, SoC architecture are more and more multiple
Miscellaneous, chip-scale is more and more huger.The simulating, verifying difficulty of super large-scale integration gate level netlist is increasing, is consumed
Time is increasingly longer, the serious progress for hindering verification work, is the work of designer and verification personnel very headache.
For example, using the server of a 64 core 128G memories as verification platform, verification target is about 100,000,000 gate leves
SoC netlists, matching timing message file, emulation tool compilation process need about 40 minutes;During simulation run, processor is read simultaneously
Performing an instruction needs about 5 minutes.So, the program of 100 registers of a configuration, about 250 instructions are performed, rear imitate needs
20 hours of offer.It is not difficult to find out, the simulation velocity of super large-scale integration gate level netlist is very slowly, it is necessary to there is method to add
The fast process, improves verification efficiency.
The content of the invention
In order to solve the problems, such as that the simulation velocity of super large-scale integration gate level netlist is very slow, the present invention proposes
A kind of accelerated method of super large-scale integration gate level netlist emulation, can shorten super large-scale integration with high degree
The simulation time of gate level netlist, improves verification efficiency.
A kind of accelerated method of super large-scale integration gate level netlist emulation proposed by the present invention, including
Step 1, the proving program progress to integrated circuit modules is individually designed, and screens effective register and carry out
Configuration forms the simulation excitation simplified;
Step 2, register is configured, using the simulation excitation simplified, emulation is carried out to the rtl code of SOC and is tested
Card, sets critical registers and material time point, obtains and preserve output valve of the critical registers in material time point;
Step 3, output valve and initial value are filtered out not in the output valve of material time point according to the critical registers preserved
Same critical registers;
Step 4, after gate level netlist simulation run starts, after integrated circuit respective modules are completed to reset and in work
In the preceding time, assignment is carried out to the critical registers screened in step 3 using the output valve of the critical registers of acquisition, so
After continue gate level netlist simulation work.
Preferably, the critical registers described in step 2 are the functional configuration registers of circuit modules;The pass
At the time of key time point is that the functional configuration register configuration of circuit modules finishes.
Preferably, after the output valve critical registers different from initial value are filtered out in step 3, according to the life of gate level netlist
Name rule, non-initialization value is assigned a value of by each output valve of the critical registers.
Preferably, it is follow-up various emulation is carried out based on the state to test after critical registers output valve successfully obtains in step 2
After the work of card starts, in the time after integrated circuit respective modules are completed to reset and before operation, acquisition is utilized
The output valve of critical registers carries out assignment to corresponding register, instead of register configuration process.
Proving program progress of the present invention to integrated circuit modules is individually designed, and screens effective register and carry out
Configuration forms the simulation excitation simplified, and can easily complete very much a degree of netlist emulation and accelerate work;Critical registers
After output valve successfully captures, the follow-up various work that simulating, verifying is carried out based on the state, can be omitted a series of registers
The process of configuration, high degree shorten the simulation time of super large-scale integration gate level netlist, improve verification efficiency.
Embodiment
In order to make technical scheme and advantage more easily understand, below in conjunction with specific implementation case and attached drawing,
The present invention is described in further detail.
The accelerated method of a kind of super large-scale integration gate level netlist emulation of the present invention, as shown in Figure 1 including following
Step:
Step 1, the proving program progress to integrated circuit modules is individually designed, and screens effective register and carry out
Configuration forms the simulation excitation simplified;
Due to the limitation of time, super large-scale integration gate level netlist simulating, verifying target is mainly critical path or pass
Key IP, verification SoC are after rear end design is realized, whether path meets sequential, and whether IP can normally start.Normal conditions,
Gate level netlist simulating, verifying is all the simulation excitation using the most simple basis of different submodules.Complicated simulation excitation, such as greatly
Data carrying and calculating of scale etc., usually use in RTL level software emulation or hardware accelerator simulating, verifying stage.
Emulated for super large-scale integration gate level netlist, it is necessary to simplify simulation excitation, improve the validity of program.Essence
Simple principle is as follows:
(1) independence of module verification is improved.When front-end simulation is verified or returns verification, designer would generally will be more
A module, the simulation excitation of multiple functions are integrated into a proving program.But in gate level netlist simulating, verifying, it is necessary to simplify
Simulation excitation, individually verifies modules as far as possible, reduces unnecessary block coupled in series verification.So can be with the multiple moulds of parallel proof
Block, improves work efficiency.
(2) when verifying IP, do not configure for register of this authentication function without influence, do not configure and initialization value phase
Same register.The validity of proving program can be so improved, reduces idle work.
(3) when verifying data path, the data volume of transmission is as far as possible few.Because a large amount of, repeatability verification work should
Carried out on the verification platform of speed, such as hardware accelerator.When gate level netlist emulates, it is necessary to the clear and definite master of the verification
Syllabus, i.e., whether chip back-end realization meets timing requirements, covers more paths as far as possible.
The step is a relatively independent and simple step, be can be used alone, and improves gate leve net to a certain extent
The simulation velocity of table.
Step 2, register is configured, using the simulation excitation simplified, emulation is carried out to the rtl code of SOC and is tested
Card, sets critical registers and material time point, obtains and preserve output valve of the critical registers in material time point;
Whether the simulation excitation after verification is simplified in terms of this step 1 is correct, on the other hand obtains material time point as early as possible
When, the output of critical registers.Critical registers are needed with the basis for selecting difference identifying object of material time point and different verifications
Depending on asking.Under normal conditions, critical registers are the functional configuration registers of integrated circuit modules.Material time point is collection
At the time of being finished into the functional configuration register configurations of circuit modules.If identifying object is autonomous Design research and development or source generation
Code is open as it can be seen that the module belonging to functional configuration register is generally easy to position.Equally, according to the design hand of identifying object
Volume, is generally easily determined material time point, such as at the time of identifying object function is enabled, or identifying object initialization is completed
Moment.
Step 3, output valve and initial value are filtered out not in the output valve of material time point according to the critical registers preserved
Same critical registers;
According to the naming rule of gate level netlist, each output valve of these registers is assigned a value of non-initialization value.Separately
Outside, due in logic synthesis and physics realization, electric design automation (Electronic Design Automation) work
Tool can delete the non-loaded circuit in part according to actual functional capability situation optimization circuit.So according to the true of last gate level netlist
Situation, deletes the register being not present.
Here, illustrating why the step selects the critical registers output valve by rtl simulation acquisition and changed
The reason for critical registers output valve being directly acquired when writing, rather than being emulated from gate level netlist:
(1) rtl simulation speed is fast, so the speed of the buffer status obtained is also fast, it is efficient.
(2) since circuit is after physics realization, actual cell is far more than rtl description included in gate level netlist
Unit.So using emulator obtain a certain layer register information when, it is necessary to processing data volume it is huge, then therefrom sieve again
Select required information very difficult.Even, according to the experience of designer, when design scale is too big, simulation software at present
It is difficult to support directly to obtain the state for specifying register from gate level netlist.
Step 4, at the beginning of gate level netlist simulation run, using the critical registers of acquisition output valve to step
The critical registers screened in rapid 3 carry out assignment, then proceed by gate level netlist simulation work.
Assignment is carried out to the critical registers screened in step 3 using the output valve of the critical registers of acquisition, is made whole
A gate level netlist reaches the state that register configuration is completed, so as to continue subsequent authentication work, high degree shortens emulation
Run time.The assignment of critical registers is realized usually using force command statements in the step.Under normal circumstances, integrated
Circuit respective modules are completed to assign after resetting and to the critical registers screened in step 3 in the time before operation
Value, but if authentication module has special functional requirement, then need, in emulation, to navigate to more accurate time point, then
Perform the assignment of buffer status.
The step eliminates the gate level netlist simulation process of register configuration.The reasonability of this patent method processing is to establish
On the basis of the gate level netlist simulating, verifying of register configuration at least once has been correctly completed.Herein, " register configuration
Process " is finger processor instruction fetch, execute instruction, the process of the function register of configuration verification module.
As shown in Fig. 2, traditional simulation process is required to initialization and the configuration of register before each simulating, verifying,
The present invention is after critical registers output valve successfully obtains in step 2, the follow-up various works that simulating, verifying is carried out based on the state
Work is when starting, and is carried out assignment using the output valve of the critical registers of acquisition to corresponding register and is replaced register configuration mistake
Journey, each gate level netlist simulating, verifying work can be omitted a series of process of register configurations, and high degree shortens super
The simulation time of large scale integrated circuit gate level netlist, improves verification efficiency.
In order to preferably be illustrated to technical solution of the present invention, the present embodiment is directed to the SoC gate level netlists of about 100,000,000,
Matching timing message file, verification processing device complete the function of reading and writing data using DDR3 controllers.Wherein, the verification being related to
Point includes processor from flash instruction fetch, configures the register of DDR3 controllers, after DDR3 controllers complete initialization, writes
Enter 5 data and read to compare, terminate emulation.The instrument that software emulation uses is the VCS of synopsys companies.This patent is realized
Comprise the following steps that:
Step L1, simplifies the simulation excitation of DDR3 controller register configurations, improves the validity of proving program.Depositing
In the header file of device configuration, the register that input value is not equal to 0x0000_0000 is found;In simulation excitation, only these are posted
Storage is configured.
Step L2, the DDR3 controller register configuration simulation excitations simplified using step L1, to the rtl code of SoC
Emulated.Simulation run to DDR3 controller initialization completion signals it is effective when suspend.From the hierarchy of objectivies, i.e. DDR3 controllers
Interior register configuration module, wins the current output valve of all registers and preservation.
Step L3, from the information of step L2 preservations, filters out the register different from initial value.In this example, DDR3 controls
The initial value of device register processed is 0, only uses the register for looking for save value to be 1., will according to the naming rule of gate level netlist
The output valve force of each (bit) register that save value is 1 is 1, and deletes the deposit being not present after back-end realization
Device.
Step L4, deletes the configurator of DDR3 controller registers, after gate level netlist simulation run starts, treats that DDR3 is controlled
Device processed is completed after resetting, and before processor is to DDR3 read-write operations, utilizes the output valve of the critical registers of acquisition
Assignment is carried out to the critical registers screened in step 3.So far, processor can read instruction, directly be controlled using DDR3
Device, starts write-read data verification.
If during unused this method, DDR3 controllers configuration register totally 300, processor need to perform 415 instructions and complete
The configuration of DDR3 controllers, about 35 hours of simulation run time.If the emulation of simplifying using only step 1 in this patent method swashs
After encouraging, DDR3 controllers configuration register totally 120, processor need to perform the configuration that DDR3 controllers are completed in 231 instructions, imitate
True about 20 hours of run time, time shorten 42.3%.If after completely using this patent method, the configuration of DDR3 controllers is posted
Storage totally 1, processor need to perform the configuration that DDR3 controllers are completed in 44 instructions, about 4 hours of simulation run time, time
Shorten 82.8%.
The above, is only the embodiment in the present invention, but protection scope of the present invention is not limited thereto, and is appointed
What be familiar with the people of the technology disclosed herein technical scope in, it will be appreciated that the conversion or replacement expected, should all cover
Within the scope of the present invention, therefore, protection scope of the present invention should be subject to the protection domain of claims.