Professional Documents
Culture Documents
Too much optimism or too much pessimism can negatively impact one’s
progress. There should always be a balance.
The above line holds equally true even in the world of VLSI industry.😂 A little
pessimism is not dangerous but is helpful in meeting the timing of a design. The
closest example I can come up with to explain this scenario is that If someone is
able to succeed when the circumstances are slightly against him, he will
definitely perform well when the circumstances are in favor. A slightly
pessimistic constraints are provided to the tool so that we don’t get to see any
surprises in silicon. But remember that anything in excess is bad. Any extra
pessimism in the timing analysis increases the effort of tool to fix the critical
timing paths and can negatively impact the other parameters like power and
area. On the other hand, optimism in timing analysis might result in the silicon
failure. It is therefore necessary to remove extra pessimism and optimism from
timing analysis.
Timing engineers add pessimism to the design with the help of derates. Derates
are applied on the launch clock path and capture clock path. Derate value is
decided based on the guidelines and suggestions of the library vendor according
to the previous fabrication experience and PVT conditions. With the refinement
of the fabrication process, the value of derates becomes less pessimistic.
Consider a Register to Register timing path as shown in the figure below. Let’s
say all the cells shown below have a delay of 1ns. Now, to model On-chip
variation, 10% of derate is applied. Due to the derate application the best delay
value of the cell is 0.9ns and worst delay value is 1.1ns. Let’s consider Tclk as
3.5ns and Tsetup = 0.6ns
To make condition more pessimistic for setup analysis, launch path is delayed
(worst delay value) and the capture path is advanced (best delay value).
Worst scenario for setup analysis:
Launch path delay: 1.1 + 1.1 + 1.1 + 1.1 + 1.1 + 1.1 = 6.6ns
Capture path delay: 0.9 + 0.9 + 0.9 + 0.9 + 3.5 - 0.6 = 6.5ns
But if you notice the two common buffers present in the clock path have different
delay values in launch clock path (1.1) and capture clock path (0.9). How can a
same cell have two different delay values at the same time. Taking two delay
values for the same cell adds extra pessimism to the design which needs to be
adjusted. The adjusted value is called as CPPR value.
Consider one value for the common cells in the common path, say, 1.1ns. The
revised equations would be
Launch path delay: 1.1 + 1.1 + 1.1 + 1.1 + 1.1 + 1.1 = 6.6ns
Capture path delay: 1.1 + 1.1 + 0.9 + 0.9 + 3.5 - 0.6 = 6.9ns
The setup slack in without CPPR adjustment was -0.1ns but after doing the CPPR
adjustment the setup slack value is +0.4ns. There was an extra undue pessimism
added in the first case which was removed in the second case. As you can see that
the slack value is -ve in the first case with extra pessimism and is +ve when the
extra pessimism is removed. If the extra pessimism would not have adjusted, the
path would have violated and the tool would have needed more time to fix this
path, unnecessarily.
References:
https://anysilicon.com/introduction-chip-variation-ocv
https://www.eetimes.com/removing-pessimism-and-optimism-in-timing-
analysis
http://vlsi-soc.blogspot.com/2013/05/common-path-pessimism.html
Note: My sole purpose is to share knowledge. If you find any discrepancy in the
content, feel free to comment or inbox me. Thanks.
We couldn't process your request. Try again, or contact our support team.
By signing up, you will create a Medium account if you don’t already have one. Review our Privacy Policy for more information about our privacy
practices.
Search
ANKIT MAHAJAN
22 Followers
Follow
Varshini
Recognizing
Handwritten
Digits with Scikit…
Chambba
How To Purchase
SWP Tokens On
The Hotbit…
Colonials
Play-and-Earn
Mechanisms
TechPLus Media
NASA Selects
Microchip to
Develop Next-G…
Help Status Writers Blog Careers
Privacy Terms About Knowable