Register File Slicing for Automatic Port Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processor design techniques are cumbersome and costly due to the difficulty in modifying or customizing processors for specific applications, as they require extensive changes in logic and verification processes, and lack flexible software tool generation.

Innovation Solution

The system allows for the automatic generation of register files and software tools using a formal language, enabling partial updates to register files without reading the entire value, and optimizing hardware cost by dividing the register file into slices, which reduces the number of read and write ports needed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a processor is designed with more features to cover all applications, then the processor can accommodate more applications, but the hardware cost increases, power consumption increases, and fabrication difficulty increases

Engineering Contradiction:
Improveprocessor feature coverageVSAvoidfabrication difficulty
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The register file is divided into multiple slices, each slice containing a subset of register entries. This segmentation allows the processor to access and modify only the necessary portions of the register file for specific applications, reducing the overall hardware complexity and fabrication difficulty while maintaining the ability to support multiple applications through configurable slice activation.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If traditional processors are modified for specific applications, then the processor can be optimized for particular applications, but the modification process is difficult, time-consuming, and costly

Engineering Contradiction:
Improveapplication-specific optimizationVSAvoidmodification time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The register file is pre-configured with multiple slices that can be selectively activated based on application requirements. This preliminary structuring of the register file into configurable slices allows for rapid application-specific customization without requiring time-consuming modifications to the core processor architecture, as the slices are already in place and can be enabled or disabled as needed.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If the processor modification process is automated, then the flexibility, speed, and reliability of verification improve, but new verification tools must be developed

Engineering Contradiction:
Improveverification speedVSAvoidverification tool complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The register file slice architecture provides a universal framework that can be verified using existing verification tools while enabling automated configuration for different applications. The standardized slice structure and interface allow the same verification methodology to be applied across different application scenarios, eliminating the need for completely new verification tools while maintaining high verification speed and reliability.

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

4Ease of operation

If a register file is accessed entry by entry, then each entry can be individually updated, but the number of read and write ports required increases hardware cost

Engineering Contradiction:
Improveindividual entry update capabilityVSAvoidhardware cost
Core Design Contradiction:
Ease of operationVSEase of manufacture

Solution Approach 1:

The register file is segmented into multiple slices, each with its own read and write ports. This segmentation allows the system to use fewer total ports by activating only the slices that are currently needed for a given operation, rather than requiring every possible register entry to have independent ports. The slice-based approach maintains individual entry update capability while reducing overall hardware cost through port sharing across slices.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9448801B2Automatic register port selection in extensible processor architecture
Publication Date: 2016.09.20 CADENCE DESIGN SYST INC
  • US9448801B2 patent drawing
  • US9448801B2 patent drawing
  • US9448801B2 patent drawing

AI summary

This document discusses, among other things, systems and methods to access n consecutive entries of a register file in a single operation using a register file entry index consisting of B bits, wherein B is less than the binary logarithm of a depth of the register file, which corresponds to the number of entries in the register file, and to automatically select, for a set of register arguments for the n consecutive entries, between a register port for each argument requiring a register port or one or more shared register ports for the set of register arguments according to description of an instruction set architecture associated with the register file.