In-cycle Resource Sharing for Microprocessor High-Level Synthesis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current resource sharing techniques in microprocessor design are limited to temporal mutual exclusiveness, where resources are shared across multiple clock cycles, whereas in-cycle sharing is necessary for efficient high-level synthesis, particularly in pipelined designs where cycle behavior is fixed.

Innovation Solution

The method involves constructing a graph representing logical operations, assigning weights based on node differences, enumerating weighted cliques, and replacing these cliques with multiplexers to enable resource sharing within the same clock cycle, allowing for the sharing of resources among operations that do not conflict.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If current resource sharing techniques are used, then resources can be shared across multiple clock cycles, but resource sharing cannot occur within the same clock cycle

Engineering Contradiction:
Improveresource sharing capabilityVSAvoidin-cycle operation execution
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The invention segments the resource sharing problem into two distinct dimensions: temporal segmentation (across clock cycles) and spatial segmentation (within the same clock cycle). By constructing a conflict graph that identifies operations sharing the same resource within a cycle, the patent enables spatial segmentation of resource allocation, allowing multiple non-conflicting operations to share resources simultaneously without temporal overlap.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from one-dimensional temporal resource sharing to two-dimensional resource sharing by adding the spatial dimension (within-cycle sharing). The conflict graph approach enables operations to be shared across both time (different cycles) and space (same cycle, different operation instances), effectively utilizing the fourth dimension of resource allocation.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If more resources are allocated to operations, then operational capacity increases, but area consumption increases

Engineering Contradiction:
Improveoperational capacityVSAvoidcircuit area
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The invention makes resources universal by enabling them to serve multiple operations within the same clock cycle, not just across different cycles. The conflict graph identifies operations that can share the same resource instance, allowing a single resource to perform multiple functions simultaneously for different operation instances, thereby reducing the total number of resources needed while maintaining operational capacity.

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

Solution Approach 2:

The patent merges multiple operation instances that share the same resource into a single resource allocation. By identifying operations with identical resource requirements through the conflict graph, the invention combines their resource demands into one shared resource, reducing area consumption while preserving the ability to execute all operations.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If resources are shared across multiple clock cycles, then resource utilization improves, but timing constraints are more difficult to satisfy

Engineering Contradiction:
Improveresource utilizationVSAvoidtiming constraint satisfaction
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

The invention segments resource sharing into intra-cycle and inter-cycle components. By first identifying all operations that can share resources within the same cycle using the conflict graph, then handling inter-cycle sharing separately, the patent resolves timing constraints at each level independently, avoiding the complexity of simultaneous multi-cycle timing analysis.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary identification of within-cycle resource sharing opportunities using the conflict graph before finalizing the scheduling and binding process. This preliminary action captures all possible intra-cycle sharing scenarios, allowing the subsequent timing analysis to focus only on inter-cycle dependencies, thereby simplifying timing constraint satisfaction.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9858373B2In-cycle resource sharing for high-level synthesis of microprocessors
Publication Date: 2018.01.02 BEIJING ZITIAO NETWORK TECH CO LTD
  • US9858373B2 patent drawing
  • US9858373B2 patent drawing
  • US9858373B2 patent drawing

AI summary

A graph is constructed, having a plurality of nodes representing a plurality of logical operations and a plurality of edges connecting those of the plurality of nodes which do not conflict. A weight, including a width difference between end nodes of each of the edges, is assigned to each edge. Weighted cliques are enumerated, each including at least two of the nodes. Each of the weighted cliques is replaced with a single one of the logical operations and a multiplexer, to obtain a plurality of multiplexer-operation groups, such that each logical operation in one of the multiplexer-operation groups can be shared within a same clock cycle of a digital electronic integrated circuit.