Cyclic Logic Retiming with Register Insertion for Higher Throughput
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cyclic structures in both synchronous and asynchronous circuits limit system performance, and existing optimization techniques such as slack-matching and re-timing have limitations, particularly when the structure is large, leading to potential reductions in performance or unintended changes in circuit functionality.
Innovation Solution
The method involves restructuring and re-timing the logic of cyclic structures by adding additional registers and replicating functional logic outside the cyclic portion, ensuring equivalent functionality and improving system performance without altering the circuit's functionality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If cyclic structures are used in logic circuits, then feedback functionality is achieved, but system performance is limited
Solution Approach 1:
The cyclic structure is segmented into two parts: a cyclic portion containing state-holding elements and a non-cyclic portion containing functional logic. This segmentation allows the cyclic portion to maintain feedback functionality while the non-cyclic portion can be optimized for performance without being constrained by the cycle time of the feedback loop.
Solution Approach 2:
Functional logic elements are extracted from the cyclic portion and placed in a non-cyclic portion. This extraction removes the performance-limiting feedback constraint from the functional logic, allowing it to operate at higher speeds while the cyclic portion maintains the necessary feedback functionality at a relaxed clock rate.
2Productivity
If optimization techniques like slack-matching or re-timing are applied to cyclic structures, then throughput is improved, but circuit functionality may be unintentionally altered
Solution Approach 1:
By segmenting the circuit into cyclic and non-cyclic portions with clear boundaries, the invention allows optimization techniques to be applied to the non-cyclic portion without affecting the functional integrity of the cyclic portion. The segmentation ensures that optimization does not inadvertently change circuit functionality.
Solution Approach 2:
The interface between the cyclic and non-cyclic portions acts as an intermediary that maintains functional equivalence. This interface ensures that the extracted functional logic in the non-cyclic portion produces the same results as the original cyclic structure, preventing unintended functionality changes while enabling performance optimization.
3Productivity
If additional state-holding elements are added to cyclic structures, then performance optimization is achieved, but circuit complexity increases
Solution Approach 1:
The invention segments the circuit so that state-holding elements are concentrated in the cyclic portion while functional logic is placed in the non-cyclic portion. This segmentation allows performance optimization through additional state elements without proportionally increasing overall circuit complexity, as the functional logic portion remains streamlined and can be optimized independently.
Data Source
AI summary
Apparatus, systems, and methods may operate to identify state holding elements and functional logic elements in an original cyclic structure, and to insert additional state holding elements or initial tokens in series with the identified functional logic elements to create a modified cyclic structure, wherein the additional state holding elements or initial tokens have substantially identical functionality to the original state holding elements. Other activities may include coupling additional functional logic elements to output nodes of the modified cyclic structure, wherein the additional functional logic elements have substantially identical functionality to the original functional logic elements. Additional apparatus, systems, and methods are disclosed.


