CN105930242B - A kind of multi-core processor random verification method and device for supporting accurate memory access detection - Google Patents
A kind of multi-core processor random verification method and device for supporting accurate memory access detection Download PDFInfo
- Publication number
- CN105930242B CN105930242B CN201610299336.1A CN201610299336A CN105930242B CN 105930242 B CN105930242 B CN 105930242B CN 201610299336 A CN201610299336 A CN 201610299336A CN 105930242 B CN105930242 B CN 105930242B
- Authority
- CN
- China
- Prior art keywords
- core processor
- memory access
- verification
- accessing operation
- verified
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
The present invention proposes a kind of multi-core processor random verification method and its device for supporting accurate memory access detection, the method comprising the steps of 1, user in multi-core processor to be verified is constrained and is combined with instruction database, is generated there are the concurrent program of memory access conflict as verification vectors;Runtime verification vector, records the implementing result of verification vectors and the temporal information of accessing operation;Step 2, according to the implementing result and the temporal information of the accessing operation, storage consistency design Correctness checking is carried out, if the storage consistency design of the multi-core processor to be verified meets memory consistency model, performs step 3;Step 3, the temporal information of the verification vectors and the accessing operation is sent into instruction-level simulator, described instruction grade simulator performs the verification vectors according to the time sequencing of accessing operation, and result and the implementing result after multi-core processor analog simulation are compared, if comparison result is consistent, multi-core processor accidental validation is continued to execute.
Description
Technical field
The present invention relates to VLSI designs to verify field, more particularly to a kind of to support what accurate memory access detected
Multi-core processor random verification method and its device.
Background technology
The semanteme of the storage model of single core processor is very intuitive, i.e., it is right recently the read operation of any internal storage location will to be returned
The unit carries out the value that write operation is written, and hereafter write operation has then been uniquely determined to the result of same unit read operation.With
When emulation mode carries out accidental validation to single core processor, the reference that generally use reference model provides verification vectors performs knot
Fruit, by the way that the result that reference model provides and practical RTL (register-transfer level) implementing result are relatively sentenced
Break to mistake, for the serial program under single core processor environment, the result of each run has uniquely determining property, this to locate
Reason device accidental validation can be smoothed out.
Different from single core processor, chip multi-core processor uses shared memory systems, and multiple processor cores can be read and write
Same storage unit, this mean that multi-core processor share storage memory access event genetic sequence and its result can not uniquely,
Its correctness is determined that memory consistency model is as the hardware of chip multi-core processor and software, behaviour by memory consistency model
Make the interface of system and application program, the order requirements in specified in more detail shared memory systems between memory access event ensure system
The correctness of system, academia have carried out a large amount of research to the complexity for storing consistency checking, it is believed that multinuclear shares storage feelings
Access order of the correctness of concurrent program implementing result dependent on conflict operation in program under condition, and give concurrent program and hold
The correct standard of row:Acyclic (the bibliography of the digraph of concurrent program result represented with global sequence:Hu Weiwu,《Shared storage
System structure》, Higher Education Publishing House, 2001).Meanwhile academia also demonstrates and is not added with the storage consistency of any restrictions and tests
The problem of card is a problem of NP is difficult, this causes the verification of correctness of chip multi-core processor to become a great difficulty.
Then, scholar proposes in multi-core processor, every accessing operation has one execution time:This time from
It is operated into processor to start, terminate when being submitted to operation, the result of the operation in time sequence positioned at front can be by below
Observed by operation, only performing the time has between the operation of lap just there are the uncertainty of sequence, at multinuclear
Manage the execution time phase of the size limitation of the components such as action pane, access queue, write buffer and accessing operation when device is realized
The quantity of the operation of overlapping is also limited, therefore, when verification stores consistency, the derivation of order relation and performs figure middle ring
Detection can be limited in certain opereating specification, this allows multi-core processor storage consistency checking to be reduced to linearly
Time complexity (bibliography:Yunji Chen,etc."Fast Complete Memory Consistency
Verification",in Proceedings of the 15th IEEE International Symposium on
High-Performance Computer Architecture, 2009.), this conclusion to verify at multinuclear in practice
Reason device storage consistency is possibly realized, and multi-core processor concurrent program memory access sequence in limited range can be detected according to this method
Digraph it is whether acyclic, and judge accordingly multi-core processor storage consistency design it is whether correct.
However, the above method can not solve the result correctness comparison problem in multi-core processor simulating, verifying, even if
The digraph for demonstrating multi-core processor concurrent program memory access sequence is acyclic, can only also illustrate that multi-core processor storage consistency is set
Meter meets memory consistency model specification, and meet the multi-core processor memory access order in the case of memory consistency model specification and
As a result still can not uniquely, when access instruction is together with complicated order random combines more in concurrent program, this memory access
As a result nonuniqueness can cause implementing result State space explosion so that multi-core processor instructs when performing random simulation verification
The correctness of implementing result is difficult to judge.
Accidental validation technology is the important support technology in processor simulation verification flow, describe in Fig. 1 processor with
User's constraint 102 and instruction database 101 are combined by the common frame of machine verification method, are tested by generating the generation of engine 103 at random
Syndrome vector, the verification vectors of generation are respectively fed to perform in instruction-level simulator 104 and design and simulation environment 105 to be verified,
And implementing result is compared, the mistake in processor design can be detected when comparison result is inconsistent, at multinuclear
It manages for device, when access instruction is together with other complicated order random combines in concurrent program, the nonuniqueness of memory access result
Implementing result State-explosion problem can be caused so that results contrast link is difficult to complete during accidental validation, and it is difficult straight to cause
It connects and carries out multi-core processor simulating, verifying using traditional accidental validation technology, this problem is not resolved always.Verification at present
Multi-core processor common pattern is:Processor core each in multi-core processor is tested with tradition accidental validation technology first
Card, then simulating, verifying is carried out for the network-on-chip for connecting each processor core, finally multi-core processor system is stored
Consistency checking, this multi-core processor Validation Mode usually will appear design mistake escape phenomenon, particularly when multinuclear processing
Device storage consistency design is correct, and multinuclear, which intersects memory access and mixed with other instructions, to be performed when mistake can occur, and multi-core processor is tested
Card usually can not accurately detect and Wrong localization.
To sum up, in current multi-core processor simulating, verifying, the nonuniqueness of memory access result causes result phase Space Explosion
Problem so that results contrast link is difficult to complete during accidental validation, can not accurately be detected and Wrong localization, in multi-core processor core
During piece actual motion, since the randomness of scheduling and the shared storage memory access conflict of operating system causes concurrent program implementing result
It can not uniquely determine.
Invention content
In view of the deficiencies of the prior art, the present invention proposes a kind of multi-core processor accidental validation for supporting accurate memory access detection
Method and its device.
The present invention proposes a kind of multi-core processor random verification method for supporting accurate memory access detection, including:
Step 1, the user in multi-core processor to be verified is constrained and is combined with instruction database, generated by concurrent program
Device is generated there are the concurrent program of memory access conflict as verification vectors;It is run in multi-core processor simulated environment to be verified
The verification vectors record the implementing result of the verification vectors and the temporal information of accessing operation;
Step 2, according to the implementing result and the temporal information of the accessing operation, it is correct to carry out storage consistency design
Property inspection, if the multi-core processor to be verified storage consistency design meet memory consistency model, perform step
Rapid 3, it otherwise finds design mistake, stops this accidental validation and perform wrong debugging;
Step 3, the temporal information of the verification vectors and the accessing operation is sent into instruction-level simulator, described instruction
Grade simulator performs the verification vectors according to the time sequencing of accessing operation, and will be after result and multi-core processor analog simulation
Implementing result be compared, if comparison result is consistent, this accidental validation passes through, and it is random to continue to execute multi-core processor
Otherwise verification carries out wrong debugging.
It is further included before the step 1:
Step 11, global clock is set, for recording the temporal information of the accessing operation;
Step 12, the concurrent program generator is set, supports to generate the verification vectors by pseudo-random method;
Step 13, the entry time of every accessing operation and submission time are recorded and is written in file;
Step 14, by the file, storage consistency design Correctness checking is carried out;
Step 15, instruction-level simulator is improved, enables time sequencing of the described instruction grade simulator according to accessing operation
The verification vectors are performed, and implementing result and the implementing result after multi-core processor analog simulation are compared.
The step 14 includes the verification vectors memory access of the multi-core processor to be verified in detection limited range
Whether the digraph of sequence is acyclic, and judges whether the multi-core processor storage consistency design to be verified is correct.
The global clock includes the counter of setting one 64, and each timeticks increase 1 certainly since 0 moment.
Each processor core of the step 13 including monitoring the multi-core processor to be verified by gage system
The entry time and submission time of every accessing operation.
The present invention also proposes a kind of multi-core processor accidental validation device for supporting accurate memory access detection, including:
Verification vectors module is obtained, for user's constraint in multi-core processor to be verified to be combined with instruction database,
By concurrent program generator, generate there are the concurrent program of memory access conflict as verification vectors;It is handled in multinuclear to be verified
The verification vectors are run in device simulated environment, record the implementing result of the verification vectors and the temporal information of accessing operation;
Consistency check module is stored, for the temporal information according to the implementing result and the accessing operation, is carried out
Consistency design Correctness checking is stored, if the storage consistency design of the multi-core processor to be verified meets storage one
Cause property model, then into implementing result comparison module, otherwise find design mistake, stop this accidental validation and perform wrong tune
Examination;
Implementing result comparison module, for the temporal information of the verification vectors and the accessing operation to be sent into instruction-level
Simulator, described instruction grade simulator perform the verification vectors according to the time sequencing of accessing operation, and by result and multinuclear
Implementing result after processor simulation emulation is compared, if comparison result is consistent, this accidental validation passes through, and continues to hold
Otherwise row multi-core processor accidental validation carries out wrong debugging.
It is further included before the acquisition verification vectors module:
Global clock module is set, for setting global clock, for recording the temporal information of the accessing operation;
The concurrent program generator block is set, and for setting the concurrent program generator, support passes through pseudorandom
Method generates the verification vectors;
Entry time and submission time module, for recording the entry time of every accessing operation and submission time and being written
Into file;
It checks module, for passing through the file, carries out storage consistency design Correctness checking;
Improve instruction-level simulator module, for improving instruction-level simulator, enable described instruction grade simulator according to
The time sequencing of accessing operation performs the verification vectors, and by the execution knot after implementing result and multi-core processor analog simulation
Fruit is compared.
The verification vectors visit for checking module and including the multi-core processor to be verified in detection limited range
Whether the digraph for depositing sequence is acyclic, and judges whether the multi-core processor storage consistency design to be verified is correct.
The global clock includes the counter of setting one 64, and each timeticks increase 1 certainly since 0 moment.
The entry time includes monitoring the multi-core processor to be verified by gage system with submission time module
Each processor core every accessing operation entry time and submission time.
By above scheme it is found that the advantage of the invention is that:
The present invention proposes a kind of multi-core processor random verification method and its device for supporting accurate memory access detection, passes through
Comparison mechanism after global clock is set in accidental validation environment and is run, supports the accurate knot in multi-core processor accidental validation
Fruit is compared, and solves the problems, such as the accurate detection of mistake of long-standing problem multi-core processor accidental validation and positioning.
Description of the drawings
Fig. 1 is single core processor accidental validation system structure diagram in the prior art;
Fig. 2 is multi-core processor accidental validation environmental improvement flow example figure in the present invention;
Fig. 3 performs flow diagram for multi-core processor accidental validation in the present invention.
Specific embodiment
Present invention aim to address the precise results comparison problems in multi-core processor accidental validation, support multinuclear processing
The accurate detection of mistake and positioning of device accidental validation, in order to solve the above-mentioned technical problem, it is proposed that a kind of to support accurate memory access inspection
The multi-core processor random verification method and its device of survey.
In order to achieve the above object, the present invention proposes a kind of multi-core processor accidental validation side for supporting accurate memory access detection
Method and its device perform method two including multi-core processor accidental validation environmental improvement method and multi-core processor accidental validation
Point, it is achieved through the following technical solutions:
Multi-core processor accidental validation environmental improvement method, includes the following steps:
1. global clock is set in accidental validation test platform top-level module;
2. transforming the random generation engine in single core processor accidental validation environment as concurrent program generator, support to use
Pseudo-random method has the concurrent program of memory access conflict;
3. each processor core during setting is to multi-core processor to be verified in accidental validation test platform top-level module
The monitoring mechanism of accessing operation records the entry time of every accessing operation and submission time and is written in file;
4. increasing storage consistency design correctness testing mechanism in the results contrast of accidental validation environment, utilization is above-mentioned
The entry time of every accessing operation and the file of submission time are recorded, carries out storage consistency design Correctness checking;
5. improving instruction-level simulator, simultaneously stroke can be performed according to the accessing operation time sequencing recorded before this
Sequence, and result and the implementing result after multi-core processor analog simulation to be verified are compared.
Multi-core processor accidental validation performs method, includes the following steps:
1. user's constraint and instruction database are combined, by concurrent program generator, there is memory access with pseudo-random method generation
The concurrent program of conflict is as verification vectors;
2. running the aforementioned concurrent program for having memory access conflict in multi-core processor simulated environment to be verified, record is parallel
The implementing result of program and the temporal information of accessing operation;
3. according to the implementing result of aforementioned concurrent program and the temporal information of accessing operation, the design of storage consistency is being carried out just
True property inspection.If multi-core processor storage consistency different design to be verified closes the storage consistency mould of requirement profile requirement
Type then finds design mistake, stops this accidental validation and performs mistake debugging;Otherwise next step is continued to execute;
4. the temporal information of the aforementioned concurrent program for having memory access conflict and accessing operation is sent into instruction-level simulator, instruction
Grade simulator performs concurrent program, and result and multinuclear to be verified are handled according to the accessing operation time sequencing recorded before this
Implementing result after device analog simulation is compared, if comparison result is consistent, this analog simulation is verified, and continues to hold
Row multi-core processor accidental validation;If comparison result is inconsistent, design mistake is found, carry out wrong debugging.
The present invention is described in further detail with reference to the accompanying drawings and detailed description.
A kind of multi-core processor random verification method and its device for supporting accurate memory access detection, specific implementation flow include
Multi-core processor accidental validation environmental improvement flow and multi-core processor accidental validation perform flow two parts.
Multi-core processor accidental validation environmental improvement flow, as shown in Figure 2:
Step S201. sets global clock in accidental validation test platform top-level module.In the specific implementation, Ke Yi
In accidental validation test platform top-level module, the counter of setting one 64, each timeticks increase 1 certainly since 0 moment,
Global clock can be obtained;
Step S202. transform the random generation engine in single core processor accidental validation environment as concurrent program and generates
Device, support pseudo-random method have the concurrent program of memory access conflict.The memory address accessed in concurrent program is virtually
Location, and memory access conflict refers to the access to same physical memory address, needs in the actual motion of program identical memory access
Virtual address is mapped to same physical address, can just generate real conflict in this way, random in multi-core processor to be verified
There is no operating system support in verification environment, it in the specific implementation, can will be each in concurrent program in accidental validation environment
The code segment of process is assigned to different physical address, and the data segment of all processes is all assigned to identical physical address,
To generate real memory access conflict;
Step S203. each locates in being set in accidental validation test platform top-level module to multi-core processor to be verified
The monitoring mechanism of device core accessing operation is managed, record the entry time of every accessing operation and submission time and is written in file.
In the specific implementation, accidental validation test platform top-level module can monitor the visit of each processor core module by gage system
Information is deposited, such as:Monitoring of the setting to some processor core cache write operations, uses assign dcw_ in top-level module
Valid=top.cpu_core1......dcache_0.dcw_valid, other accessing operation listening modes can and so on;
Step S204. increases storage consistency design correctness testing mechanism in the results contrast of accidental validation environment,
Using the file of the above-mentioned entry time and submission time for recording every accessing operation, storage consistency design correctness inspection is carried out
It looks into.In the specific implementation, using multi-core processor concurrent program memory access sequence to be verified in traditional technique in measuring limited range
Digraph it is whether acyclic, and judge whether multi-core processor storage consistency design to be verified correct accordingly;
Step S205. improves instruction-level simulator, can be performed according to the accessing operation time sequencing recorded before this
Concurrent program, and result and the implementing result after multi-core processor analog simulation to be verified are compared.
Multi-core processor accidental validation performs flow, as shown in Figure 3:
User's constraint and instruction database are combined by step S301., by concurrent program generator, are generated with pseudo-random method
There is the concurrent program of memory access conflict as verification vectors;
Step S302. runs the aforementioned concurrent program for having memory access conflict in multi-core processor simulated environment to be verified,
Record the implementing result of concurrent program and the temporal information of accessing operation;
Step S303. store consistent according to the implementing result of aforementioned concurrent program and the temporal information of accessing operation
Property design Correctness checking;
Step S304. judges whether multi-core processor storage consistency design to be verified meets depositing for requirement profile requirement
Store up consistency model, if do not meet requirement profile requirement memory consistency model, find design mistake, stop this with
Machine verification performs, and carries out wrong debugging;Otherwise step S305 is performed;
The temporal information of the aforementioned concurrent program for having memory access conflict and accessing operation is sent into instruction level simulation by step S305.
Device;
Step S306. instruction-level simulators perform concurrent program according to the accessing operation time sequencing recorded before this, and will
As a result it is compared with the implementing result after multi-core processor analog simulation to be verified;
Step S307. judges whether aforementioned comparison result is consistent, if comparison result is consistent, performs step S308;Such as
Fruit comparison result is inconsistent, then finds design mistake, carries out wrong debugging;
This analog simulation of step 308 is verified, and continues to execute multi-core processor accidental validation.
The present invention also proposes a kind of multi-core processor accidental validation device for supporting accurate memory access detection, including:
Verification vectors module is obtained, for user's constraint in multi-core processor to be verified to be combined with instruction database,
By concurrent program generator, generate there are the concurrent program of memory access conflict as verification vectors;It is handled in multinuclear to be verified
The verification vectors are run in device simulated environment, record the implementing result of the verification vectors and the temporal information of accessing operation;
Consistency check module is stored, for the temporal information according to the implementing result and the accessing operation, is carried out
Consistency design Correctness checking is stored, if the storage consistency design of the multi-core processor to be verified meets storage one
Cause property model, then into implementing result comparison module, otherwise find design mistake, stop this accidental validation and perform wrong tune
Examination;
Implementing result comparison module, for the temporal information of the verification vectors and the accessing operation to be sent into instruction-level
Simulator, described instruction grade simulator perform the verification vectors according to the time sequencing of accessing operation, and by result and multinuclear
Implementing result after processor simulation emulation is compared, if comparison result is consistent, this accidental validation passes through, and continues to hold
Otherwise row multi-core processor accidental validation carries out wrong debugging.
It is further included before the acquisition verification vectors module:
Global clock module is set, for setting global clock, for recording the temporal information of the accessing operation;
The concurrent program generator block is set, and for setting the concurrent program generator, support passes through pseudorandom
Method generates the verification vectors;
Entry time and submission time module, for recording the entry time of every accessing operation and submission time and being written
Into file;
It checks module, for passing through the file, carries out storage consistency design Correctness checking;
Improve instruction-level simulator module, for improving instruction-level simulator, enable described instruction grade simulator according to
The time sequencing of accessing operation performs the verification vectors, and by the execution knot after implementing result and multi-core processor analog simulation
Fruit is compared.
The verification vectors visit for checking module and including the multi-core processor to be verified in detection limited range
Whether the digraph for depositing sequence is acyclic, and judges whether the multi-core processor storage consistency design to be verified is correct.
The global clock includes the counter of setting one 64, and each timeticks increase 1 certainly since 0 moment.
The entry time includes monitoring the multi-core processor to be verified by gage system with submission time module
Each processor core every accessing operation entry time and submission time.
Claims (10)
1. a kind of multi-core processor random verification method for supporting accurate memory access detection, which is characterized in that including:
Step 1, the user in multi-core processor to be verified is constrained and be combined with instruction database, by concurrent program generator,
It generates there are the concurrent program of memory access conflict as verification vectors;In multi-core processor simulated environment to be verified described in operation
Verification vectors record the implementing result of the verification vectors and the temporal information of accessing operation;
Step 2, according to the implementing result and the temporal information of the accessing operation, storage consistency design correctness inspection is carried out
It looks into, if the storage consistency design of the multi-core processor to be verified meets memory consistency model, performs step 3,
Otherwise it finds design mistake, stop this accidental validation and performs wrong debugging;
Step 3, the temporal information of the verification vectors and the accessing operation is sent into instruction-level simulator, described instruction grade mould
Intend device and perform the verification vectors according to the time sequencing of accessing operation, and by result and holding after multi-core processor analog simulation
Row result is compared, if comparison result is consistent, this accidental validation passes through, and continues to execute multi-core processor and tests at random
Otherwise card carries out wrong debugging;
Generation to be specifically included there are the concurrent program of memory access conflict as verification vectors wherein in step 1:In accidental validation environment
The middle code segment by process each in concurrent program is assigned to different physical address, and the data segment of all processes is all distributed
To identical physical address, to generate memory access conflict.
2. the multi-core processor random verification method of accurate memory access detection is supported as described in claim 1, which is characterized in that institute
It is further included before stating step 1:
Step 11, global clock is set, for recording the temporal information of the accessing operation;
Step 12, the concurrent program generator is set, supports to generate the verification vectors by pseudo-random method;
Step 13, the entry time of every accessing operation and submission time are recorded and is written in file;
Step 14, by the file, storage consistency design Correctness checking is carried out;
Step 15, instruction-level simulator is improved, described instruction grade simulator is enable to be performed according to the time sequencing of accessing operation
The verification vectors, and implementing result and the implementing result after multi-core processor analog simulation are compared.
3. the multi-core processor random verification method of accurate memory access detection is supported as claimed in claim 2, which is characterized in that institute
State step 14 include detection limited range in the multi-core processor to be verified the verification vectors memory access sequence it is oriented
Whether figure is acyclic, and judges whether the multi-core processor storage consistency design to be verified is correct.
4. the multi-core processor random verification method of accurate memory access detection is supported as claimed in claim 2, which is characterized in that institute
The counter that global clock includes setting one 64 is stated, each timeticks increase 1 certainly since 0 moment.
5. the multi-core processor random verification method of accurate memory access detection is supported as claimed in claim 2, which is characterized in that institute
Step 13 is stated to include monitoring every memory access behaviour of each processor core of the multi-core processor to be verified by gage system
The entry time and submission time of work.
6. a kind of multi-core processor accidental validation device for supporting accurate memory access detection, which is characterized in that including:
Verification vectors module is obtained, for user's constraint in multi-core processor to be verified to be combined with instruction database, is passed through
Concurrent program generator is generated there are the concurrent program of memory access conflict as verification vectors;It is imitated in multi-core processor to be verified
The verification vectors are run in true environment, record the implementing result of the verification vectors and the temporal information of accessing operation;
Consistency check module is stored, for the temporal information according to the implementing result and the accessing operation, is stored
Consistency designs Correctness checking, if the storage consistency design of the multi-core processor to be verified meets storage consistency
Model then into implementing result comparison module, otherwise finds design mistake, stops this accidental validation and performs wrong debugging;
Implementing result comparison module, for the temporal information of the verification vectors and the accessing operation to be sent into instruction level simulation
Device, described instruction grade simulator perform the verification vectors, and result and multinuclear are handled according to the time sequencing of accessing operation
Implementing result after device analog simulation is compared, if comparison result is consistent, this accidental validation passes through, and continues to execute more
Otherwise core processor accidental validation carries out wrong debugging;
Generation in verification vectors module is wherein obtained to specifically include as verification vectors there are the concurrent program of memory access conflict:With
The code segment of process each in concurrent program is assigned to different physical address in machine verification environment, and by the number of all processes
Identical physical address is all assigned to according to section, to generate memory access conflict.
7. the multi-core processor accidental validation device of accurate memory access detection is supported as claimed in claim 6, which is characterized in that institute
It states and is further included before obtaining verification vectors module:
Global clock module is set, for setting global clock, for recording the temporal information of the accessing operation;
The concurrent program generator block is set, and for setting the concurrent program generator, support passes through pseudo-random method
Generate the verification vectors;
Entry time and submission time module, for recording the entry time of every accessing operation and submission time and being written to text
In part;
It checks module, for passing through the file, carries out storage consistency design Correctness checking;
Instruction-level simulator module is improved, for improving instruction-level simulator, enables described instruction grade simulator according to memory access
The time sequencing of operation performs the verification vectors, and by the implementing result after implementing result and multi-core processor analog simulation into
Row compares.
8. the multi-core processor accidental validation device of accurate memory access detection is supported as claimed in claim 7, which is characterized in that institute
It states and checks that the verification vectors memory access sequence that module includes the multi-core processor to be verified in detection limited range has
It is whether acyclic to scheming, and judge whether the multi-core processor storage consistency design to be verified is correct.
9. the multi-core processor accidental validation device of accurate memory access detection is supported as claimed in claim 7, which is characterized in that institute
The counter that global clock includes setting one 64 is stated, each timeticks increase 1 certainly since 0 moment.
10. the multi-core processor accidental validation device of accurate memory access detection is supported as claimed in claim 7, which is characterized in that
The entry time includes monitoring each place of the multi-core processor to be verified by gage system with submission time module
Manage the entry time and submission time of every accessing operation of device core.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610299336.1A CN105930242B (en) | 2016-05-06 | 2016-05-06 | A kind of multi-core processor random verification method and device for supporting accurate memory access detection |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610299336.1A CN105930242B (en) | 2016-05-06 | 2016-05-06 | A kind of multi-core processor random verification method and device for supporting accurate memory access detection |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105930242A CN105930242A (en) | 2016-09-07 |
CN105930242B true CN105930242B (en) | 2018-07-06 |
Family
ID=56834366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610299336.1A Expired - Fee Related CN105930242B (en) | 2016-05-06 | 2016-05-06 | A kind of multi-core processor random verification method and device for supporting accurate memory access detection |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105930242B (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032879B (en) * | 2017-06-09 | 2021-08-20 | 展讯通信(上海)有限公司 | Multi-core processor memory access data detection and verification system and method |
EP3416254B1 (en) * | 2017-06-14 | 2020-04-22 | ABB Schweiz AG | Electronic protection device |
CN112364600B (en) * | 2019-07-25 | 2022-06-17 | 中国科学院软件研究所 | Processor micro-architecture design verification method |
CN110659172B (en) * | 2019-09-11 | 2022-12-27 | 上海高性能集成电路设计中心 | Instruction level checking method for microprocessor locking mechanism |
CN110598320B (en) * | 2019-09-11 | 2023-06-16 | 上海高性能集成电路设计中心 | Instruction set simulator calibration method based on hardware simulation accelerator |
CN111047499A (en) * | 2019-11-18 | 2020-04-21 | 中国航空工业集团公司西安航空计算技术研究所 | Large-scale dyeing array robustness verification method |
CN111047502B (en) * | 2019-11-21 | 2023-06-30 | 中国航空工业集团公司西安航空计算技术研究所 | Large-scale SIMT dyeing array verification method |
CN111400997B (en) * | 2020-03-26 | 2023-08-08 | 超睿科技(长沙)有限公司 | Processor verification method, system and medium based on synchronous execution |
CN115658414A (en) * | 2022-12-29 | 2023-01-31 | 中科亿海微电子科技(苏州)有限公司 | RISC-V architecture processor core-based function verification method and platform |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788919A (en) * | 2010-01-29 | 2010-07-28 | 中国科学技术大学苏州研究院 | Chip multi-core processor clock precision parallel simulation system and simulation method thereof |
CN101807144A (en) * | 2010-03-17 | 2010-08-18 | 上海大学 | Prospective multi-threaded parallel execution optimization method |
CN102789483A (en) * | 2012-06-30 | 2012-11-21 | 华为技术有限公司 | Data verification method, device and system |
CN102929686A (en) * | 2012-09-28 | 2013-02-13 | 杭州中天微系统有限公司 | Functional verification method of on-chip multi-core processor |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7979844B2 (en) * | 2008-10-14 | 2011-07-12 | Edss, Inc. | TICC-paradigm to build formally verified parallel software for multi-core chips |
CN104077226B (en) * | 2014-07-07 | 2015-05-13 | 西安交通大学 | Multithreaded program output uniqueness detection and evidence generation method based on program constraint building |
JP5920509B2 (en) * | 2015-03-19 | 2016-05-18 | 富士通株式会社 | Controller control program and controller control method |
-
2016
- 2016-05-06 CN CN201610299336.1A patent/CN105930242B/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788919A (en) * | 2010-01-29 | 2010-07-28 | 中国科学技术大学苏州研究院 | Chip multi-core processor clock precision parallel simulation system and simulation method thereof |
CN101807144A (en) * | 2010-03-17 | 2010-08-18 | 上海大学 | Prospective multi-threaded parallel execution optimization method |
CN102789483A (en) * | 2012-06-30 | 2012-11-21 | 华为技术有限公司 | Data verification method, device and system |
CN102929686A (en) * | 2012-09-28 | 2013-02-13 | 杭州中天微系统有限公司 | Functional verification method of on-chip multi-core processor |
Non-Patent Citations (1)
Title |
---|
片上多核处理器存储一致性验证;王朋宇等;《软件学报》;20100430;第21卷(第4期);正文第863-874页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105930242A (en) | 2016-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105930242B (en) | A kind of multi-core processor random verification method and device for supporting accurate memory access detection | |
CN111931445B (en) | Method, emulator and storage medium for debugging logic system design | |
CN109032879B (en) | Multi-core processor memory access data detection and verification system and method | |
US7788610B2 (en) | Random stimuli generation of memory maps and memory allocations | |
US8972785B2 (en) | Classifying processor testcases | |
CN115841089A (en) | System-on-chip verification platform and verification method based on UVM | |
CN103678115B (en) | The apparatus and method of the position of source code mistake are detected in mixed mode program | |
CN115130402B (en) | Cache verification method, system, electronic equipment and readable storage medium | |
CN112417798A (en) | Time sequence testing method and device, electronic equipment and storage medium | |
CN113486625A (en) | Chip verification method and verification system | |
Herdt et al. | On the application of formal fault localization to automated RTL-to-TLM fault correspondence analysis for fast and accurate VP-based error effect simulation-a case study | |
WO2015069869A1 (en) | Temporal logic robustness guided testing for cyber-physical sustems | |
CN114168200B (en) | System and method for verifying memory access consistency of multi-core processor | |
CN110765716A (en) | Method and system for checking simulation signal of digital product | |
Lei et al. | Post-silicon conformance checking with virtual prototypes | |
US7502966B2 (en) | Testcase generation via a pool of parameter files | |
Corteggiani et al. | HardSnap: Leveraging hardware snapshotting for embedded systems security testing | |
CN116167310A (en) | Method and device for verifying cache consistency of multi-core processor | |
Wang et al. | Detecting data races in interrupt-driven programs based on static analysis and dynamic simulation | |
US11295052B1 (en) | Time correlation in hybrid emulation system | |
Xiao et al. | An ISA-level accurate fault simulator for system-level fault analysis | |
CN110956007A (en) | Method and system for checking simulation signal of digital product | |
CN110765711A (en) | Method and system for checking simulation signal of digital product | |
Meng et al. | Functional verification of external memory interface IP core based on restricted random testbench | |
Stotland et al. | Standalone functional verification of multicore microprocessor memory subsystem units based on application of memory subsystem models |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180706 |
|
CF01 | Termination of patent right due to non-payment of annual fee |