Timing-Driven Gate Placement via Slack Pyramid Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing integrated circuit design tools fail to optimize the placement of movable gates effectively, as they typically consider only single gate placement and output a single optimal location, neglecting the overall area performance and signal integrity under a linear delay model.
Innovation Solution
The Pyramids utility optimizes the placement of movable gates by identifying and selecting gates based on selection criteria, generating delay and slack pyramids, mapping worst-case slack regions, and determining optimal locations for improved timing-driven placement.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If existing solutions consider only single gate placement, then the placement process is simple, but the overall area performance and signal integrity cannot be optimized
Solution Approach 1:
The patent segments the placement optimization into multiple independent stages: identifying movable gates, generating delay pyramids for each net, generating RAT surfaces, generating slack pyramids, determining worst-case slack regions, and mapping to placement regions. This segmentation allows complex multi-objective optimization to be broken down into manageable computational steps, resolving the contradiction between optimization precision and process complexity.
Solution Approach 2:
The patent introduces multiple dimensional representations including delay pyramids (spatial-dtemporal), RAT surfaces (time-domain), and slack pyramids (combined space-time). By transforming the single-point placement problem into multi-dimensional optimization spaces, the system can simultaneously optimize area performance and signal integrity without excessive computational complexity.
2Adaptability or versatility
If existing solutions output only one optimal placement location per movable gate, then the output is simple, but multiple optimal placements may be missed
Solution Approach 1:
The patent dynamically determines the number and location of optimal placements by analyzing the worst-case slack region mapping. Instead of fixed single-point output, the system adapts its output based on the calculated slack regions, potentially identifying multiple optimal placement locations within a region. This dynamic approach increases versatility while managing output complexity through region-based aggregation.
3Reliability
If timing-driven placement optimization is performed, then signal integrity improves, but the computational time increases
Solution Approach 1:
The patent performs preliminary actions by pre-calculating delay pyramids and RAT surfaces for all nets before final placement optimization. These pre-computed structures enable efficient subsequent slack region determination and mapping, significantly reducing the computational time required for the actual placement optimization while maintaining signal integrity improvements.
Solution Approach 2:
The patent changes the optimization parameters from single-point timing adjustments to region-based slack region mappings. By operating at the region level rather than individual gate level, and using slack region boundaries as optimization parameters, the system achieves signal integrity optimization with reduced computational complexity and time.
Data Source
AI summary
A method, data processing system and computer program product for optimizing the placement of logic gates of a subcircuit in a physical synthesis flow. A Pyramids utility identifies and selects movable gate(s) for timing-driven optimization. A delay pyramid and a required arrival time (RAT) surface are generated for each net in the selected subcircuit. A slack pyramid for each net is generated from the difference between the RAT surface and delay pyramid of each net. The slack pyramids are grown and tested using test points to generate a worst-case slack region based on a plurality of slack pyramids in the selected subcircuit. The worst-case slack region is mapped on a placement region and a set of coordinates representing the optimal locations of the movable element(s) in the placement region are determined and outputted.


