Graph-Based Coherency Verification Tool Cycle Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current coherency verification methods for shared cache components in multiprocessor systems rely on simulation and code reviews, which are inefficient and may miss hardware issues due to incorrect graph construction, limiting state exploration and test case generation.
Innovation Solution
A self-checking tool generates all possible permutations of trace events from high-level description language test cases, ensuring the correctness of graph-based coherency verification tools by producing trace files that systematically check for cycles in the graph, thereby verifying the correctness of the graph-building program.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If simulation and code review methods are used for coherency verification, then verification can be performed, but efficiency is low and hardware issues may be missed
Solution Approach 1:
The verification system performs self-verification by automatically generating test cases and executing verification without requiring external code reviews or manual simulation setup. The system generates its own test stimuli and automatically checks coherency violations, making the verification process self-sufficient and highly efficient.
Solution Approach 2:
The system pre-generates all possible test cases and trace permutations before actual verification execution. By preparing comprehensive test scenarios in advance, the system ensures that all potential coherency violations are covered during verification, improving both reliability and efficiency.
2Adaptability or versatility
If graph-based verification is used, then state exploration can be performed, but incorrect graph construction may limit test case generation
Solution Approach 1:
The system incorporates feedback mechanisms where verification results are used to validate and refine the graph construction process. By continuously checking verification outcomes against expected coherency rules, the system can detect and correct graph construction errors, ensuring both adaptability and reliability.
Solution Approach 2:
The verification system dynamically adjusts the graph construction based on feedback from test execution and violation detection. The graph structure and test case generation are not static but adaptively refined during the verification process to improve accuracy and coverage.
3Measurement precision
If manual verification methods are used, then detailed analysis can be performed, but the process is time-consuming and error-prone
Solution Approach 1:
The system replaces manual mechanical verification processes with automated computational verification. Instead of human analysts manually examining traces and graphs, the system uses automated algorithms to perform detailed coherency checks, achieving both high precision and speed without human error.
Solution Approach 2:
The verification system changes key parameters such as trace permutation combinations and graph construction algorithms to optimize both analysis depth and execution speed. By systematically varying verification parameters, the system achieves comprehensive analysis without excessive time consumption.
Data Source
AI summary
Verification is provided of a functional correctness of a graph-based coherency verification tool for logic designs of arrangements of processors and processor caches, the graph-based coherency verification tool using trace files as input for verifying memory ordering rules of a given processor architecture for accesses to the caches, wherein nodes in a graph represent memory accesses and edges represent dependencies between them. The verifying includes (i) providing a specification of a test case for a self-checking tool, the test case comprising a sequence of statements in a high-level description language format, representing memory access events and system events; and (ii) generating trace files with the self-checking tool for the graph-based coherency verification tool by producing permutations of trace events, which are defined by the sequence of statements of the test case.


