why CTS?
Logical proximity does not mean physical proximity of related flops.Interconnect delays will degrade the quality of clock signal.Clock are treated as ideal during synthesis.
To meet the specified clock skew and insertion delay.
CTS specification:
Clock tree synthesis has the following clock tree synthesis specifications:
- Target transition delay
- Target load capacitance
- Target fanout
Clock tree
Path from the clock source to clock sink pins of the flops or macro cells.
Clock tree begins from SDC specified clock source and ends at astro-defined stop pins.
Stop pins are
Sync pins: clock pins of the sequential circuit and macro cells.
Sequential cells’ clock port with trigger edge information contained in library.
Ignore pins: Ignore pins are the stop points of the clock tree.Clock tree synthesis does not balance delays for ignore pins.
For eg
Sequential gate’s non-clock port, such as set/reset,Logic gate’s output pin without a connection to a net.
Clock tree is constructed by inverter and buffers available in the library.
Clock tree synthesis has the following clock tree constraints:
- Maximum transition delay-It limits the maximum transition delay time each clock net may have.
- Maximum load capacitance-It limits the load capacitance (wire and pin) each buffer in the clock tree may drive.
- Maximum fanout-It limits the fanout each buffer in the clock tree may drive.
- Maximum buffer level-It is important to understand that this constraint will be applied per gate level; that is, if your clock tree has several serial gating cells, each sub tree can have up to "rule maximum buffer levels" levels.Another thing to note is that when the maximum of levels is reached, clock tree synthesis will stop any further processing
Optimization in CTS:
- Buffer sizing and gate sizing-all gating cells in the clock tree will be sized to their largest available drive strength before any other processing is done.
- Delay insertion
- Buffer gate relocation-With this parameter, all gating cells in the clock tree will be moved to be located at the center of their fanout
- Dummy load
- level adjustment
Effect of CTS:
clock buffers are added.
Congestion may increase.
Non clock tree cells may be moved to less ideal locations.
Can introduce new timing and max trans/cap violations.
Reconnect the scan chains:
Scan chains are disconnected prior to placement to allow placement to focus on functional paths.
Reconnect scan chains so that they are included for hold time fixing.Different ordering based on placement to minimize routing resources.
After CTS actual clock network delay can be calculated instead of ideal values from SDC.
Clock tree optimization:
Perform additional clock tree optimization as necessary to further improve clock skew and insertion delay before routing.
what will you do if setup is till violating when clock tree is perfectly balanced?
Useful skew optimization is performed.It fixes setup timing violation using positive slack in the pipeline through clock push/pull.
Post route optimization should not be performed when useful skew CTO was executed.Post route CTO focuses on balancing skew which will undo the useful skew optimization.
If clock is skewed intentionally to improve setup slack then it is known as
useful skew.