STA Concept 9

Interface Analysis and Robust Verification

Section1: IO Interfaces

<Question why we need generated clocks and esp why div by 1 generated clock> **On-Chip Variation** image image image image image image image image **Time Borrowing** image image image **Data to Data Checks** image <READ ABOUT CAN WE GIVE MCP HOLD -1 , IF YES, HOW DOES IT BEHAVE> **ClockGating Checks** **Power Management** In this section, we focus on the tradeoffs for power dissipated in the logic portion of the design. As described in Chapter 3, the power dissipated in the logic portion of the design is comprised of leakage power and the active power. In general, there are two considerations for managing the power contribu tions from the digital logic comprised of standard cells and memory mac ros: • To minimize the total active power of the design. A designer would ensure that the total power dissipation stays within the available power limit. There may be different limits for different operating modes of the design. In addition, there can also be different lim its from different power supplies used in the design. • To minimize the power dissipation of the design in standby mode. This is an important consideration for battery operated devices (for example, cell phone) where the goal is to minimize the power dissipation in standby mode. The power dissipation in standby mode is leakage power plus any power dissipation for the logic that is active in standby mode. As discussed above, there may be other modes such as sleep mode, with different constraints on power **Active power: 1. Clock Gating**: As described in Chapter 3, clock activity at the flip-flops contributes to a significant component of the total power. A flip-flop dissipates power due to clock toggle even when the flip-flop output does not switch. image **2.Active power: Power Gating**: image image **Leakage Power: 3. Multi Vt cells**: the multi Vt cells are used to trade off speed with leakage. The high Vt cells have less leakage, though these are slower than the standard Vt cells which are faster but have higher leak age. Similarly, the low Vt cells are faster than standard Vt cells but the leak age is also correspondingly higher. In most designs, the goal is to minimize the total power while achieving the desired operational speed. Even though leakage can be a significant component of the total power, implementing a design with only high Vt cells to reduce leakage can increase the total power even though the leak age contribution may be reduced. This is because the resulting design im plementation may require many more (or higher strength) high Vt cells to achieve the required performance. **The increase in equivalent gate count can increase the active power much more than the reduction in leakage power due to use of high Vt cells. However, there are scenarios where the leakage is a dominant component of the total power; in such cases, a de sign with high Vt cells can result in reduction of the total power**. The above trade-off between cells with different Vt in terms of their speed and leak age needs to be utilized suitably since it is dependent on the design and its switching activity profile. Two scenarios of a high performance block are illustrated below where the implementation approach can be different de pending on whether the block is very active or has low switching activity. **High Performance Block with High Activity** This scenario is of a high performance block with high switching activity and the power is dominated by the active power. For such blocks, focus sing only on reducing leakage power can cause the total power to increase even though the leakage contribution may be minimized. In such cases, the initial design implementation should use standard Vt (or low Vt) cells to meet the desired performance. After the required timing is achieved, the cells along the paths which have positive timing slack can be changed into high Vt cells so that the leakage contribution is reduced while still meeting the timing requirement. Thus, in the final implementation, the standard Vt (or low Vt) cells are used only along the critical or hard to achieve timing paths, whereas cells along the non-critical timing paths can be high Vt cells. **High Performance Block with Low Activity** This scenario is of a high performance block with very low switching activ ity so that the leakage power is a significant component of the total power. Since the block has low activity, the active power is not a major component for the total power of the design. For such blocks, the initial implementa tion attempts to use only high Vt cells in the combinational logic and flip flops. An exception is the clock tree which is always active and therefore is built with standard Vt (or low Vt) cells. After the initial implementation with only high Vt cells, there may be some timing paths where the re quired timing cannot be achieved. The cells along such paths are then re placed with standard Vt (or low Vt) cells to achieve the required timing performance. **Well Bias**: image **SignOff Methodology**: STA can be run for many different scenarios. The three main variables that determine a scenario are: • Parasitics corners (RC interconnect corners and operating condi tions used for parasitic extraction) • Operating mode • PVTcorner image image Based upon the interconnect R and C for various corners described above, an interconnect corner with larger C results in smaller R and a corner with smaller C results in larger R. Thus, the R partially compensates for the C across various interconnect corners. This implies that no single corner maps to an extreme value (worst-case or best-case) for path delay for all types of nets. The path delay using Cworst / Cbest corners is extreme only for short nets while RCworst / RCbest corners is extreme only for long nets. image **Statstical Static Timing Analysis** In practice, the WCS or BCF for the process and operating corner condi tions typically used during the STA correspond to the extreme 3s corners2. The timing libraries are based upon the process corner models provided by the foundry and characterized with the operating conditions which result in the corresponding corner for the timing values of the cells. For example, the best-case fast library is characterized using fast process models, highest power supply and lowest temperature. The sigma here refers to standard deviation of an independent variable modeled statistically. **Process and Interconnect Variations** image The local process variations are one of the variations intended to be cap tured in the analysis using OCV modeling, described in Section 10.1. Since statistical timing models normally include the local process variations, the OCV analysis using statistical timing models should not include the local process variation in the OCV setting image image image image **Common fixes** Large Delays and Transition Times Onekey item is to check for unusually large values for the delays or transi tion times along the data path. Some of these can be due to: • High-fanout nets: Nets which are not buffered properly. • Longnets: Nets which need buffer insertion in between. • Low strength cells: Cells which may not have been replaced be cause these are labeled as don’t touch in the design. • Memorypaths:Paths thattypically fail due to large setup times on memoryinputs and large output delays on memory outputs Path Still Not Meeting Timing If the data path appears to have good strong cells and if the path is still fail ing timing, one needs to examine the pins where the routing delay and wireload is high. This can be the next source of improvement. Maybe the cells can be moved closer andconsequently the wireload andthe wire rout ing delay can be decreased What if Timing Still Cannot be Met Onecan utilize useful skew to help close the timing. Useful skew is where one purposely imbalances the clock trees, especially the launch and cap ture clock paths of a failing path so that the timing passes on that path. It typically means that the capture clock can be delayed so that the clock at the capture flip-flop arrives later when the data is ready. This does assume that there is enough slack on the succeeding data paths, that is, the data path for the next stage of flip-flop to flip-flop paths. The reverse can also be attempted, that is, the launch clock path can be made shorter so that the data from the launch flip-flop is launched earlier to help meet the setup timing. Once again this can only be done if the pre ceding stage of flip-flop to flip-flop paths have the extra slack to give away. Useful skew techniques can be used to fix both setup and hold violations. Onedisadvantage of this technique is that if the design has multiple modes of operation, then useful skew can potentially cause a problem in another mode. Checking Clock Domain Crossing Tools are available to ensure that all clock domain crossings in a design are valid. These tools may also have the capability to automatically generate the necessary false path specifications. Such tools may also be able to iden tify illegal clock domain crossing, that is, cases where data is crossing two different clock domains without any clock synchronization logic. In such cases, the tools may provide the capability to automatically insert suitable clock synchronization logic where required. Note that not all asynchro nous clock domain crossings require clock synchronizers. The requirement depends upon the nature of the data and whether it needs to be captured on the next cycle or a few cycles later. An alternate way of checking asynchronous clock crossings using STA is to set a large clock uncertainty that is equal to the period of the sampling clock. This ensures that there will at least be some violations based upon which one can determine the appropriate path exceptions, or add the clock synchronization logic to the design.
Written on July 6, 2026