Integrated Circuit Generator Provider Interface

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The integrated circuit design process is complicated by the need to physically locate components across multiple levels of hierarchy, leading to cumbersome and error-prone wiring of ports, especially when instantiating components like SRAM in register files, which requires accounting for unrelated test ports and complicates parameterization.

Innovation Solution

A software system and interface, referred to as a provider, enables the integrated circuit generator to instantiate a logical interface for components, allowing physical instantiation at the SoC-level, simplifying the design by omitting unnecessary port wiring and encapsulating logic within a reusable API for parameterization across hierarchy levels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If components are physically located across multiple levels of hierarchy with explicit port wiring, then connectivity and functionality are ensured, but device complexity and error-proneness increase significantly

Engineering Contradiction:
Improveconnectivity reliabilityVSAvoiddesign complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a provider interface as an intermediary layer between components and their physical instantiations. This provider interface acts as a mediator that handles port wiring and connectivity management automatically, eliminating the need for manual port-by-port wiring across hierarchy levels. The provider interface receives requests from blocks for components and automatically establishes the necessary connections, thereby reducing design complexity while maintaining connectivity reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the design process into two distinct levels: a first-level design where blocks request components through provider interfaces without worrying about physical location or port wiring, and a second-level design where the integrated circuit generator resolves provider interfaces to specific physical instantiations. This segmentation allows each level to focus on its specific task, reducing overall design complexity while ensuring proper connectivity through the structured two-level approach.

Inventive Principle:
Principle #1Segmentation

2Reliability

If all ports of components are wired explicitly at the block level, then complete connectivity is achieved, but the design process becomes cumbersome and time-consuming

Engineering Contradiction:
Improveconnectivity completenessVSAvoiddesign time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by having blocks request provider interfaces at the first-level design stage without needing to specify or wire individual ports. The provider interface is instantiated and configured in advance, with its ports and connections automatically resolved later by the integrated circuit generator. This preliminary setup eliminates the time-consuming manual port wiring process while ensuring complete connectivity is achieved through automated resolution at the second level.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The provider interface implements self-service by automatically managing its own port wiring and connectivity establishment. When a block requests a provider interface, the system automatically instantiates the provider and configures its ports based on the component specification and hierarchy requirements. This self-service mechanism eliminates the need for manual port-by-port wiring, significantly reducing design time while maintaining connectivity completeness through automated configuration.

Inventive Principle:
Principle #25Self-service

3Manufacturing precision

If components are parameterized for physical location, then manufacturing precision is improved, but design flexibility and reusability decrease

Engineering Contradiction:
Improvecomponent placement precisionVSAvoiddesign reusability
Core Design Contradiction:
Manufacturing precisionVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamics by making the provider interface resolution process adaptable and flexible. At the first-level design stage, provider interfaces are defined with placeholder parameters that can be resolved to different physical locations depending on the specific instantiation context. The integrated circuit generator dynamically resolves these provider interfaces to specific physical components and locations based on the second-level design requirements. This dynamic resolution mechanism allows the same first-level design to be reused across multiple contexts with different physical placements, maintaining both manufacturing precision and design reusability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent utilizes parameter changes by allowing provider interface parameters to be resolved differently at different hierarchy levels. The provider interface definition contains parameters that are initially abstract at the block level and are progressively resolved to specific physical values at the SoC level. This parameter transformation from abstract to concrete allows the design to maintain flexibility during development while achieving precise manufacturing specifications during implementation. The same provider interface can be instantiated multiple times with different parameter resolutions for different physical locations.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20240211665A1Integrated circuit generator using a provider
Publication Date: 2024.06.27 SIFIVE INC
  • US20240211665A1 patent drawing
  • US20240211665A1 patent drawing
  • US20240211665A1 patent drawing

AI summary

A system may provide a placeholder for a component in a block of a first-level integrated circuit design without wiring at least one port of the component. The system may determine a mapping to a provider interface in the block. The system may invoke an integrated circuit generator to generate a second-level integrated circuit design based on the first-level integrated circuit design. The generator when executed replaces the provider interface with the component including wiring ports of the component, including the at least one port, in the second-level integrated circuit design according to the mapping. In some implementations, an application program interface may enable a provider to communicate with the generator. The provider can utilize the API to instantiate the provider interface and determine the mapping.