Segmented Memory Timing Model Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for modeling timing in multi-bit buses introduce unnecessary pessimism, increasing complexity, database size, and cost, and are not applicable to memory compilers due to varying bit lengths across memory instances.

Innovation Solution

The approach involves segmenting buses into a fixed number of sub-buses based on physical architecture and user-defined accuracy, allowing for interpolation of timing models across characterized instances to generate efficient liberty timing files for SoC implementation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If timing is modeled for each bit of the bus, then timing accuracy is improved, but complexity, database size, and cost are dramatically increased

Engineering Contradiction:
Improvetiming accuracyVSAvoidmodel complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent divides the multi-bit bus into multiple segments, where each segment contains a subset of bits. Instead of characterizing timing for each individual bit, the bus is segmented into groups (e.g., 4-bit segments), and timing is characterized at the segment level. This segmentation reduces the number of timing models needed while maintaining sufficient accuracy for each segment, thereby reducing overall complexity and database size without completely sacrificing timing precision.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If timing is modeled for each bit of the bus, then timing accuracy is improved, but database size and liberty model size are dramatically increased

Engineering Contradiction:
Improvetiming accuracyVSAvoiddatabase size
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent segments the bus into multiple groups, reducing the number of individual timing models from one per bit to one per segment. For example, a 32-bit bus is divided into eight 4-bit segments, reducing the number of timing models by a factor of 8. This segmentation directly reduces the quantity of timing data stored in the database and liberty files, decreasing database size while preserving timing accuracy at the segment level.

Inventive Principle:
Principle #1Segmentation

3Device complexity

If conventional worst case timing model is used for multi-bit bus, then simplicity is maintained, but unnecessary pessimism is introduced in timing models

Engineering Contradiction:
Improvemodel simplicityVSAvoidtiming model accuracy
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent applies local quality by characterizing timing for each segment individually rather than using a single worst-case model for the entire bus. Each segment can have its own timing characteristics that reflect its actual performance, allowing for more accurate local timing analysis. This eliminates the unnecessary pessimism introduced by worst-case modeling while maintaining manageable complexity through segment-level rather than bit-level characterization.

Inventive Principle:
Principle #3Local quality

4Measurement precision

If timing is modeled for each bit of the bus, then timing detail is improved, but verification cost and generation cost are significantly increased

Engineering Contradiction:
Improvetiming detailVSAvoidverification efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the bus into manageable groups, reducing the verification effort from verifying each individual bit to verifying each segment. This segmentation maintains sufficient timing detail at the segment level while dramatically reducing the number of verification cases needed. The reduced model complexity and database size resulting from segmentation directly lower both generation cost and verification cost, improving productivity without sacrificing essential timing accuracy.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10521532B1Segmented memory instances
Publication Date: 2019.12.31 ARM LTD
  • US10521532B1 patent drawing
  • US10521532B1 patent drawing
  • US10521532B1 patent drawing

AI summary

Various implementations described herein refer to a method. The method may include selecting a target memory instance to characterize for timing file generation, determining a number of segments for the target memory instance based on user defined accuracy, and partitioning the target memory instance into the number of segments based on a physical architecture of the target memory instance. The method may also include generating test-bench data based on the number of segments and simulating the test-bench data, obtaining simulation data for the target memory instance associated with each segment in the number of segments, and generating a timing file by reporting timing data for each segment in the number of segments.