Testbench Chaining for Hierarchical Circuit Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The verification of downstream blocks in custom integrated circuit design is complicated due to differing verification strategies and data alignment issues among blocks designed by separate engineers, often located in different geographical locations, leading to difficulties in simulating and verifying the performance of hierarchical circuit designs.
Innovation Solution
A method is introduced to chain the testbenches of source and destination blocks by aggregating and mapping output measurements of source blocks to input values of destination blocks using a testbench mapping module, which includes descriptions of parameters and entries, and applies aggregation functions to align data across different verification conditions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If separate engineers verify different blocks under different verification strategies, then each block can be optimized for its specific requirements, but data alignment and integration become complicated
Solution Approach 1:
The patent introduces a testbench chaining mechanism that acts as an intermediary layer between source block testbenches and destination block testbenches. This mechanism includes a testbench description file that defines parameter mappings and a testbench chaining engine that automatically aligns data from multiple source testbenches to destination testbenches, resolving the data alignment complexity while preserving independent verification strategies
Solution Approach 2:
The patent transforms verification data by changing parameters through the testbench chaining process. It maps source parameters to destination parameters, aggregates measurements from multiple sources, and transforms the data format to match different verification strategies, enabling seamless integration without requiring uniform verification approaches
2Reliability
If blocks are verified under different corner conditions, then each block can be tested under its optimal conditions, but integrating verification results becomes difficult
Solution Approach 1:
The testbench chaining engine serves as a mediator that handles the integration of verification results from different corner conditions. It automatically matches source entries with destination entries based on parameter values, aggregates measurements across different test conditions, and produces unified verification results, making the integration process straightforward despite diverse verification strategies
Solution Approach 2:
The testbench description file and chaining mechanism provide a universal interface that works across different verification strategies and corner conditions. It supports multiple source testbenches with different parameter sets and maps them to a destination testbench, enabling a single unified process to handle diverse verification scenarios
3Adaptability or versatility
If measurements and variable names differ across blocks, then each block can use its own conventions, but data access and alignment become problematic
Solution Approach 1:
The testbench chaining mechanism performs parameter transformation by mapping source parameters to destination parameters. It reads the testbench description file to understand the parameter relationships, then automatically transforms measurement data and variable names from source block conventions to destination block conventions, preserving all information while enabling compatibility
Solution Approach 2:
The testbench description file acts as an intermediary specification that defines how measurements and variable names from different blocks should be mapped. This intermediate layer preserves the original naming conventions of each block while providing a standardized interface for integration, preventing information loss during data alignment
Data Source
AI summary
A selection of a source testbench is received from a user. The source testbench includes a description of one or more source parameters, a description of one or more source measurements, and a plurality of source entries, each of the source entries including a value for each of the one or more source parameters and each of the one or more source measurements. Furthermore, a selection of a destination testbench is received. The destination testbench includes a description of one or more destination parameters and a plurality of destination entries including a value for each of the one or more destination parameters. One or more source entries are matched with a destination entry. One or more source measurements of the matched one or more source entries are aggregated based on an aggregation function, and the aggregated source measurements are mapped to the matched source entry.


