Register Pull-Out for Macro Circuit Block Placement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern circuit designs face significant challenges in meeting aggressive timing requirements due to high placement difficulty of nets with macro circuit blocks as drivers, leading to increased processing time and unreliable placement processes, especially when resources on the target IC are heavily utilized.
Innovation Solution
A method is implemented to determine the placement difficulty of nets by calculating the difficulty of both the driver and loads, and if it exceeds a threshold, a register is pulled from the driver to an external location, modifying the circuit design to change internal logic and bypass the register, allowing for more flexible placement and routing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If registers are kept within macro circuit blocks, then circuit functionality is maintained, but placement difficulty increases and timing requirements cannot be met
Solution Approach 1:
The patent extracts registers from macro circuit blocks and relocates them to external locations on the device. This is achieved by identifying nets with high placement difficulty, selecting registers within those nets, and moving them outside the original macro block boundaries. The extraction resolves the contradiction by reducing placement complexity while maintaining circuit functionality through proper net connectivity preservation.
Solution Approach 2:
The patent segments the circuit design by separating registers from their parent macro circuit blocks. This segmentation allows independent optimization of macro block placement and register placement, enabling the placement tool to achieve better timing closure by positioning registers at optimal locations independent of macro block constraints.
2Productivity
If more resources are utilized on the target IC, then circuit functionality is enhanced, but placement difficulty and processing time increase
Solution Approach 1:
The patent performs preliminary register extraction and relocation before the main placement process. By pre-identifying nets with high placement difficulty and moving their associated registers to external locations, the patent prepares the circuit design in advance, reducing the computational burden and processing time during the actual placement phase when resources are heavily utilized.
3Device complexity
If register locations are constrained within macro blocks, then internal logic is simplified, but wirelength increases and signal delays worsen
Solution Approach 1:
The patent applies local quality by allowing different parts of the circuit to have different register placement strategies. Registers within macro blocks remain in place when placement difficulty is low, while registers in nets with high placement difficulty are extracted and relocated to optimal external locations. This localized approach minimizes wirelength and signal delays only where necessary, without unnecessarily complicating the overall circuit architecture.
Data Source
AI summary
Register pull-out for sequential circuit blocks may include determining, using computer hardware, a net of a circuit design having a driver that is a macro circuit block driving a plurality of loads and determining, using the computer hardware, a placement difficulty of the net based upon a type of the driver and number and type of the plurality of loads. In response to determining that the placement difficulty of the net exceeds a threshold placement difficulty, the computer hardware is capable of modifying the circuit design by pulling a register from the driver to a location on a device external to the driver and changing internal logic of the driver based upon the pulled register.


