Variable Cache Memory Masking Logic for Integrated Circuit Design

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing integrated circuit designs with variable cache memory sizes face challenges in validation efforts and cost due to the need for multiple cache size configurations, with redundant masking logic introducing timing delays and increasing integration testing complexity.

Innovation Solution

Incorporating masking logic within the cache memory to dynamically adjust address values based on cache size signals, allowing the cache controller to operate with various cache sizes while keeping the processor core design hardened and separate from cache memory, and using a software programmable register to configure cache sizes efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If user defined parameters are included in the cache controller design to specify cache size, then variable cache size is achieved, but validation effort and cost significantly increase

Engineering Contradiction:
Improvecache size variabilityVSAvoidvalidation effort
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent separates the cache controller design from the cache memory size configuration. The cache controller is designed once with generic interfaces, while cache size-specific logic is segmented into separate cache memory modules. This segmentation allows the controller to be validated once and reused across multiple cache size configurations without increasing validation effort.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache controller is designed as a universal component that can work with multiple cache size configurations through standardized interfaces. The same controller design serves multiple functions across different cache sizes, eliminating the need to validate each configuration separately and reducing overall validation effort while maintaining adaptability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If masking logic is provided in the cache controller to support variable cache size, then flexibility is achieved, but redundant logic increases overhead and timing delay

Engineering Contradiction:
Improvecache size flexibilityVSAvoidtiming delay
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent extracts the size-specific masking logic from the cache controller and relocates it to the cache memory module. This extraction removes redundant logic from the timing-critical cache controller path, eliminating unnecessary delays while preserving cache size flexibility through the relocated logic in the cache memory.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The cache memory interface acts as an intermediary between the cache controller and cache memory, handling size-specific masking operations. This intermediary approach allows the controller to operate with fixed, optimized timing while the interface translates generic controller commands into size-appropriate operations for the specific cache configuration.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If masking logic is located in timing critical paths to enable variable cache size, then adaptability is achieved, but path delay increases

Engineering Contradiction:
Improvecache size configurabilityVSAvoidaccess speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The masking logic is extracted from the timing-critical cache controller path and placed in the cache memory module. This relocation removes the source of delay from the critical access path, allowing the controller to operate at full speed while the extracted logic handles size-specific operations outside the timing constraint.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Cache size configuration is determined and configured in advance during system initialization or manufacturing, allowing the masking logic to be pre-configured for the specific cache size. This preliminary action eliminates the need for runtime masking decisions in the critical path, maintaining access speed while supporting variable cache sizes.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If cache controller design is parameterized for different cache sizes, then variable configuration is achieved, but core design cannot be hardened and reused

Engineering Contradiction:
Improvecache size parameterizationVSAvoiddesign reuse
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The cache controller is designed as a universal, size-agnostic component with standardized interfaces that work with multiple cache configurations. This universal design can be hardened once and reused across different product families and cache sizes, improving ease of manufacture while maintaining adaptability through the interface layer.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system is segmented into a universal cache controller portion and cache size-specific cache memory portions. The controller segment can be independently hardened and reused, while the cache memory segment is configured for specific sizes. This segmentation enables design reuse without sacrificing variable cache size capability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7533241B2Variable size cache memory support within an integrated circuit
Publication Date: 2009.05.12 ARM LTD
  • US7533241B2 patent drawing
  • US7533241B2 patent drawing
  • US7533241B2 patent drawing

AI summary

An integrated circuit 2 is provided with a cache memory 6 and a cache controller 10 coupled to the cache memory 6 via a cache memory interface 8. The cache controller supports different cache memory sizes. The cache memory 6 includes masking logic 14 responsive to cache memory size signals to form masked address values for use in accessing the cache memory 6. The cache controller 10 can be part of a processor core 4 which may be hardened in its design and yet able to cope with variable cache memory sizes since the masking logic 14 is provided within the cache memory 6 outside of the hardened periphery of the processor core 4.