SlideShare a Scribd company logo
1 of 54
Common clock path pessimism removal (CPPR)
Let me quote "Winston S Churchill", who said “A pessimist
sees the difficulty in every opportunity; an optimist
sees the opportunity in every difficulty.”
So pessimism is not good, and so is true for a timing path
as well. :)
With On-Chip variation, we might introduce extra
pessimism in clock path, common to launch and capture
flop clock pins. How?
I will get back to this in below post (or may be next one).
Our job, is to remove this pessimism and make a timing
path analysis, close to a real one. How? I will get back to
this, as well, in follow-up post
Let's look into below image, to visualize how a real timing
path looks like, what is data arrival, data required and
slack. (for setup timing analysis)
S = library setup time, SU = setup uncertainty
And below images are the textual conversion of above
image. This is what you see in a standard timing report
(we will focus on clock path for now, as that's our point of
concern)
Let's structure the timing report in a understandable
format as below
Here, the first half becomes your data arrival time .....
(sentence continued after below image)
....(sentence continued from above) and the second half
becomes you data required time
PS : may for homework, take a timing path in your real
design, and see if the above makes sense
A timing report without real numbers, is like "A body
without skeleton" :).
Assuming below values for the cell and net delays (over
here, net delay is the value on xyz/a and cell delay is the
value on xyz/z)
Data arrival time in this case is 1.115ns (nothing complex,
just used a hand calculator)
Notice, b1 and b2 are common cells in launch and capture
path.
So while assuming numbers for capture clock path, the
delay values for these cells will remain same as shown
below.
With that said, data required time will be 1.143ns and ......
(continued after below image)
........ (continued from above) slack becomes +0.028ns
And I know, what it means for an STA engineer to see
that positive slack :)
NEWS FLASH : We didn't account for OCV yet :(
Let me give you sometime to absorb the above images, as
they tell depict many important things.
And I have seen this somewhere "If you want to walk
fast, walk alone. If you want to walk far, walk
together"
I want to go far :) Let's continue from this point in next
slide
We will take up an OCV graph with +20% and -20% as
derates (just to keep the calculations simple over here)
And we will use these OCV values (for now and usually its
the case) on clock path only.
Now, for a moment, look back to the last post for SLACK
calculation (for setup analysis).
To make these OCV values really helpful for us, we need
to pull-in the "data required time" and/or pull-out the
"data arrival time".
This will make a real worst-case analysis - meaning, if the
SLACK meets the above criteria, we can guarantee you,
the chip will function, no matter what.
By "pull-in", we mean, we will bring the capture clock
edge more towards the left hand side, as shown below (in
the bottom-right of image), and ....... (sentence continued
after below image)
.....(sentence continued from above), by the term "push-
out", we mean to push the launch clock, to the right side
(as shown in bottom left of below image)
For now, lets do only one thing i.e pull-in the capture
clock by 20%, i.e. every cell and net delay will be reduced
by 20%. Below 2 images show the same
So, if (for eg.), delay of cell b1/y was 0.043ns, after applying
OCV derates of 20%, the new delay of this cell will be
0.0344ns (no magic, I have used hand calculator :)), i,e,
reduced delay of this cell from its original value by 20%
And how does this affects the "data required time" and
"slack"....
OH MY GOD !!! (This is the real expression of an STA engineer,
when he applies derates and sees the negative slack)
Yes, the slack is -20ps. This chip will fail... We have to run it
with reduced frequency..We are not meeting specs...
blah...blah..blah..... which "by-the-way" are true words of an
STA engineer and his/her manager :)
And here enters an optimistic engineer, who follows exactly
what "Joseph Sugarman" believes in that "Each problem
has hidden in it an opportunity so powerful that it
literally dwarfs the problem. The greatest success
stories were created by people who recognized a
problem a turned it into an opportunity"
Even the above problem has a "CATCH", and the engineer who
identifies this catch (in his team) will, probably, have his back
'pat' and receive 'congratulations awards' :).
We saw negative slack being created due to OCV derates. But,
below is the catch
And let me give you a hint. Can you run at 2 different speed at
the same time instant ? Think ..... Think .....
If you are a real person with 2 eyes, 2 ears, 1 nose, 2 hands, and
2 legs, you can't :). It doesn't mean that animals can ... They
can't either ..... No living being on this earth can run at 2
different speeds at same time instant 't'
Circuits (non-living being) also behave in the same way ...
fortunately.
Look at the below image, and with the above calculations, we
are trying to say, that cell 'b1', which is in common path of
launch and capture clock, has 2 delays at same instant of time
't', i.e. 43ps and 34ps
It can either have 34ps or 43ps, but not both. So for our
calculations, either we take 43ps for both OR 34ps for both, in
the common clock path.
Now since, the algorithm has already done the calculations,
smart engineers came up with a simple solution, without
changing the algorithm.
What they did, they allowed the slack calculation to happen in a
traditional way, as we have shown in above image and last post,
AND, introduced a new term "Clock Path Pessimism Removal",
which says, remove the additional pessimism from final Slack
calculation.
Let's see how
Above launch clock common path has a delay of 128ps and
capture clock commonpath has a delay of 102.4ps.
So the additional pessimism is 25.6ps (again....used a hand
calculator ... I think i am pissing you off now, by saying that
everytime :))
The additional "25.6ps", we can either 1) add it in "Data
required time" OR 2) subtract from "Data arrival time" Why?
Because, we want the "delays" in common path to be same
Let's do 1) for this example and see what we get
There you go ..... without doing even a single ECO (Engineering
Change Order : For now, google this one, I will plan a seperate
post on this one) and using pure concepts, we were able to meet
this path and attain the required frequency.
You see that, That's the power of having strong basics ... You
save a lot of money, time, effort. That's what I call "SMART
WORK" :) "The pleasure of life is to work hard toward
your goals but a little bit smart and achieving them"
I would be now blessed by all STA people :).
For more, please refer to below courses
Circuit design & SPICE simulations
https://www.udemy.com/vlsi-academy-circuit-design/?couponCode=forSlideshare
Physical design flow
https://www.udemy.com/vlsi-academy-physical-design-flow/?couponCode=forSlideshare
Clock tree synthesis
https://www.udemy.com/vlsi-academy-clock-tree-synthesis/?couponCode=forSlideshare
Signal integrity
https://www.udemy.com/vlsi-academy-crosstalk/?couponCode=forSlideshare
VLSI – Essential concepts and detailed interview guide
https://www.udemy.com/vlsi-academy/?couponCode=forSlideshare
THANK YOU

More Related Content

What's hot

2019 5 testing and verification of vlsi design_fault_modeling
2019 5 testing and verification of vlsi design_fault_modeling2019 5 testing and verification of vlsi design_fault_modeling
2019 5 testing and verification of vlsi design_fault_modelingUsha Mehta
 
13 static timing_analysis_4_set_up_and_hold_time_violation_remedy
13 static timing_analysis_4_set_up_and_hold_time_violation_remedy13 static timing_analysis_4_set_up_and_hold_time_violation_remedy
13 static timing_analysis_4_set_up_and_hold_time_violation_remedyUsha Mehta
 
VLSI Design Methodologies
VLSI Design MethodologiesVLSI Design Methodologies
VLSI Design MethodologiesKeshav
 
VLSI-Physical Design- Tool Terminalogy
VLSI-Physical Design- Tool TerminalogyVLSI-Physical Design- Tool Terminalogy
VLSI-Physical Design- Tool TerminalogyMurali Rai
 
14 static timing_analysis_5_clock_domain_crossing
14 static timing_analysis_5_clock_domain_crossing14 static timing_analysis_5_clock_domain_crossing
14 static timing_analysis_5_clock_domain_crossingUsha Mehta
 
01 Transition Fault Detection methods by Swetha
01 Transition Fault Detection methods by Swetha01 Transition Fault Detection methods by Swetha
01 Transition Fault Detection methods by Swethaswethamg18
 
Physical design
Physical design Physical design
Physical design Mantra VLSI
 
Multi mode multi corner (mmmc)
Multi mode multi corner (mmmc)Multi mode multi corner (mmmc)
Multi mode multi corner (mmmc)shaik sharief
 
Vlsi physical design automation on partitioning
Vlsi physical design automation on partitioningVlsi physical design automation on partitioning
Vlsi physical design automation on partitioningSushil Kundu
 
Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...
Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...
Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...VLSI SYSTEM Design
 
Basic synthesis flow and commands in digital VLSI
Basic synthesis flow and commands in digital VLSIBasic synthesis flow and commands in digital VLSI
Basic synthesis flow and commands in digital VLSISurya Raj
 
Design for testability and automatic test pattern generation
Design for testability and automatic test pattern generationDesign for testability and automatic test pattern generation
Design for testability and automatic test pattern generationDilip Mathuria
 
Vlsi physical design
Vlsi physical designVlsi physical design
Vlsi physical designI World Tech
 

What's hot (20)

2019 5 testing and verification of vlsi design_fault_modeling
2019 5 testing and verification of vlsi design_fault_modeling2019 5 testing and verification of vlsi design_fault_modeling
2019 5 testing and verification of vlsi design_fault_modeling
 
13 static timing_analysis_4_set_up_and_hold_time_violation_remedy
13 static timing_analysis_4_set_up_and_hold_time_violation_remedy13 static timing_analysis_4_set_up_and_hold_time_violation_remedy
13 static timing_analysis_4_set_up_and_hold_time_violation_remedy
 
Static_Time_Analysis.pptx
Static_Time_Analysis.pptxStatic_Time_Analysis.pptx
Static_Time_Analysis.pptx
 
Powerplanning
PowerplanningPowerplanning
Powerplanning
 
VLSI Design Methodologies
VLSI Design MethodologiesVLSI Design Methodologies
VLSI Design Methodologies
 
VLSI-Physical Design- Tool Terminalogy
VLSI-Physical Design- Tool TerminalogyVLSI-Physical Design- Tool Terminalogy
VLSI-Physical Design- Tool Terminalogy
 
Placement.pdf
Placement.pdfPlacement.pdf
Placement.pdf
 
14 static timing_analysis_5_clock_domain_crossing
14 static timing_analysis_5_clock_domain_crossing14 static timing_analysis_5_clock_domain_crossing
14 static timing_analysis_5_clock_domain_crossing
 
On-Chip Variation
On-Chip VariationOn-Chip Variation
On-Chip Variation
 
01 Transition Fault Detection methods by Swetha
01 Transition Fault Detection methods by Swetha01 Transition Fault Detection methods by Swetha
01 Transition Fault Detection methods by Swetha
 
Physical design
Physical design Physical design
Physical design
 
Multi mode multi corner (mmmc)
Multi mode multi corner (mmmc)Multi mode multi corner (mmmc)
Multi mode multi corner (mmmc)
 
Vlsi physical design automation on partitioning
Vlsi physical design automation on partitioningVlsi physical design automation on partitioning
Vlsi physical design automation on partitioning
 
Chapter1.slides
Chapter1.slidesChapter1.slides
Chapter1.slides
 
Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...
Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...
Define Width and Height of Core and Die (http://www.vlsisystemdesign.com/PD-F...
 
ZERO WIRE LOAD MODEL.pptx
ZERO WIRE LOAD MODEL.pptxZERO WIRE LOAD MODEL.pptx
ZERO WIRE LOAD MODEL.pptx
 
Basic synthesis flow and commands in digital VLSI
Basic synthesis flow and commands in digital VLSIBasic synthesis flow and commands in digital VLSI
Basic synthesis flow and commands in digital VLSI
 
Spyglass dft
Spyglass dftSpyglass dft
Spyglass dft
 
Design for testability and automatic test pattern generation
Design for testability and automatic test pattern generationDesign for testability and automatic test pattern generation
Design for testability and automatic test pattern generation
 
Vlsi physical design
Vlsi physical designVlsi physical design
Vlsi physical design
 

Similar to Common clock path pessimism removal

Dc8c4f010f40.hanoi.towers
Dc8c4f010f40.hanoi.towersDc8c4f010f40.hanoi.towers
Dc8c4f010f40.hanoi.towersSumedha
 
Quantum Computation and Information
Quantum Computation and InformationQuantum Computation and Information
Quantum Computation and InformationXequeMateShannon
 
The describing function
The describing functionThe describing function
The describing functionkatamthreveni
 
Guida Uso V Teng
Guida Uso V TengGuida Uso V Teng
Guida Uso V TengJacekKupras
 
CUDA by Example : Constant Memory and Events : Notes
CUDA by Example : Constant Memory and Events : NotesCUDA by Example : Constant Memory and Events : Notes
CUDA by Example : Constant Memory and Events : NotesSubhajit Sahu
 
Day 12 cp-galileo's ramp
Day 12 cp-galileo's rampDay 12 cp-galileo's ramp
Day 12 cp-galileo's rampstephm32
 
griffm3_ECSE4540_Final_Project_Report
griffm3_ECSE4540_Final_Project_Reportgriffm3_ECSE4540_Final_Project_Report
griffm3_ECSE4540_Final_Project_ReportMatt Griffin
 
Practical Digital Image Processing 5
Practical Digital Image Processing 5Practical Digital Image Processing 5
Practical Digital Image Processing 5Aly Abdelkareem
 
Simple Pendulum Experiment and Automatic Survey Grading using Computer Vision
Simple Pendulum Experiment and Automatic Survey Grading using Computer VisionSimple Pendulum Experiment and Automatic Survey Grading using Computer Vision
Simple Pendulum Experiment and Automatic Survey Grading using Computer VisionAnish Patel
 
Beyond the Callback: Yield Control with Javascript Generators
Beyond the Callback: Yield Control with Javascript GeneratorsBeyond the Callback: Yield Control with Javascript Generators
Beyond the Callback: Yield Control with Javascript GeneratorsDarren Cruse
 
Quantum computing non technical intro
Quantum computing   non technical introQuantum computing   non technical intro
Quantum computing non technical introEstrapadus, LLC
 
Study of a Gear-Rack and links System: Equations, configuration and CAD design
Study of a Gear-Rack and links System: Equations, configuration and CAD designStudy of a Gear-Rack and links System: Equations, configuration and CAD design
Study of a Gear-Rack and links System: Equations, configuration and CAD designPietro Galli
 
For Loops and Nesting in Python
For Loops and Nesting in PythonFor Loops and Nesting in Python
For Loops and Nesting in Pythonprimeteacher32
 
A Simple 3D Graphics Engine Written in Python and Allegro
A Simple 3D Graphics Engine Written in Python and AllegroA Simple 3D Graphics Engine Written in Python and Allegro
A Simple 3D Graphics Engine Written in Python and Allegrosnowfarthing
 
Time brings all things to pass
Time brings all things to passTime brings all things to pass
Time brings all things to passKamil Witecki
 
Virtual Method Table and accident prevention
Virtual Method Table and accident preventionVirtual Method Table and accident prevention
Virtual Method Table and accident preventionAndrey Karpov
 
96000707 gas-turbine-control
96000707 gas-turbine-control96000707 gas-turbine-control
96000707 gas-turbine-controlMowaten Masry
 

Similar to Common clock path pessimism removal (20)

Signal Integrity (SI glitch)
Signal Integrity (SI glitch)Signal Integrity (SI glitch)
Signal Integrity (SI glitch)
 
Nested Loops
Nested LoopsNested Loops
Nested Loops
 
Dc8c4f010f40.hanoi.towers
Dc8c4f010f40.hanoi.towersDc8c4f010f40.hanoi.towers
Dc8c4f010f40.hanoi.towers
 
Quantum Computation and Information
Quantum Computation and InformationQuantum Computation and Information
Quantum Computation and Information
 
The describing function
The describing functionThe describing function
The describing function
 
Guida Uso V Teng
Guida Uso V TengGuida Uso V Teng
Guida Uso V Teng
 
CUDA by Example : Constant Memory and Events : Notes
CUDA by Example : Constant Memory and Events : NotesCUDA by Example : Constant Memory and Events : Notes
CUDA by Example : Constant Memory and Events : Notes
 
Day 12 cp-galileo's ramp
Day 12 cp-galileo's rampDay 12 cp-galileo's ramp
Day 12 cp-galileo's ramp
 
CODch1Slides.ppt
CODch1Slides.pptCODch1Slides.ppt
CODch1Slides.ppt
 
griffm3_ECSE4540_Final_Project_Report
griffm3_ECSE4540_Final_Project_Reportgriffm3_ECSE4540_Final_Project_Report
griffm3_ECSE4540_Final_Project_Report
 
Practical Digital Image Processing 5
Practical Digital Image Processing 5Practical Digital Image Processing 5
Practical Digital Image Processing 5
 
Simple Pendulum Experiment and Automatic Survey Grading using Computer Vision
Simple Pendulum Experiment and Automatic Survey Grading using Computer VisionSimple Pendulum Experiment and Automatic Survey Grading using Computer Vision
Simple Pendulum Experiment and Automatic Survey Grading using Computer Vision
 
Beyond the Callback: Yield Control with Javascript Generators
Beyond the Callback: Yield Control with Javascript GeneratorsBeyond the Callback: Yield Control with Javascript Generators
Beyond the Callback: Yield Control with Javascript Generators
 
Quantum computing non technical intro
Quantum computing   non technical introQuantum computing   non technical intro
Quantum computing non technical intro
 
Study of a Gear-Rack and links System: Equations, configuration and CAD design
Study of a Gear-Rack and links System: Equations, configuration and CAD designStudy of a Gear-Rack and links System: Equations, configuration and CAD design
Study of a Gear-Rack and links System: Equations, configuration and CAD design
 
For Loops and Nesting in Python
For Loops and Nesting in PythonFor Loops and Nesting in Python
For Loops and Nesting in Python
 
A Simple 3D Graphics Engine Written in Python and Allegro
A Simple 3D Graphics Engine Written in Python and AllegroA Simple 3D Graphics Engine Written in Python and Allegro
A Simple 3D Graphics Engine Written in Python and Allegro
 
Time brings all things to pass
Time brings all things to passTime brings all things to pass
Time brings all things to pass
 
Virtual Method Table and accident prevention
Virtual Method Table and accident preventionVirtual Method Table and accident prevention
Virtual Method Table and accident prevention
 
96000707 gas-turbine-control
96000707 gas-turbine-control96000707 gas-turbine-control
96000707 gas-turbine-control
 

Recently uploaded

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 

Recently uploaded (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 

Common clock path pessimism removal

  • 1. Common clock path pessimism removal (CPPR)
  • 2. Let me quote "Winston S Churchill", who said “A pessimist sees the difficulty in every opportunity; an optimist sees the opportunity in every difficulty.”
  • 3. So pessimism is not good, and so is true for a timing path as well. :) With On-Chip variation, we might introduce extra pessimism in clock path, common to launch and capture flop clock pins. How? I will get back to this in below post (or may be next one). Our job, is to remove this pessimism and make a timing path analysis, close to a real one. How? I will get back to this, as well, in follow-up post
  • 4. Let's look into below image, to visualize how a real timing path looks like, what is data arrival, data required and slack. (for setup timing analysis)
  • 5.
  • 6. S = library setup time, SU = setup uncertainty And below images are the textual conversion of above image. This is what you see in a standard timing report (we will focus on clock path for now, as that's our point of concern)
  • 7.
  • 8.
  • 9. Let's structure the timing report in a understandable format as below
  • 10.
  • 11. Here, the first half becomes your data arrival time ..... (sentence continued after below image)
  • 12.
  • 13. ....(sentence continued from above) and the second half becomes you data required time
  • 14.
  • 15. PS : may for homework, take a timing path in your real design, and see if the above makes sense A timing report without real numbers, is like "A body without skeleton" :). Assuming below values for the cell and net delays (over here, net delay is the value on xyz/a and cell delay is the value on xyz/z)
  • 16.
  • 17. Data arrival time in this case is 1.115ns (nothing complex, just used a hand calculator)
  • 18.
  • 19. Notice, b1 and b2 are common cells in launch and capture path. So while assuming numbers for capture clock path, the delay values for these cells will remain same as shown below. With that said, data required time will be 1.143ns and ...... (continued after below image)
  • 20.
  • 21. ........ (continued from above) slack becomes +0.028ns
  • 22.
  • 23. And I know, what it means for an STA engineer to see that positive slack :)
  • 24. NEWS FLASH : We didn't account for OCV yet :( Let me give you sometime to absorb the above images, as they tell depict many important things. And I have seen this somewhere "If you want to walk fast, walk alone. If you want to walk far, walk together" I want to go far :) Let's continue from this point in next slide
  • 25. We will take up an OCV graph with +20% and -20% as derates (just to keep the calculations simple over here)
  • 26.
  • 27. And we will use these OCV values (for now and usually its the case) on clock path only. Now, for a moment, look back to the last post for SLACK calculation (for setup analysis). To make these OCV values really helpful for us, we need to pull-in the "data required time" and/or pull-out the "data arrival time".
  • 28. This will make a real worst-case analysis - meaning, if the SLACK meets the above criteria, we can guarantee you, the chip will function, no matter what.
  • 29.
  • 30. By "pull-in", we mean, we will bring the capture clock edge more towards the left hand side, as shown below (in the bottom-right of image), and ....... (sentence continued after below image)
  • 31.
  • 32. .....(sentence continued from above), by the term "push- out", we mean to push the launch clock, to the right side (as shown in bottom left of below image)
  • 33.
  • 34. For now, lets do only one thing i.e pull-in the capture clock by 20%, i.e. every cell and net delay will be reduced by 20%. Below 2 images show the same
  • 35.
  • 36.
  • 37. So, if (for eg.), delay of cell b1/y was 0.043ns, after applying OCV derates of 20%, the new delay of this cell will be 0.0344ns (no magic, I have used hand calculator :)), i,e, reduced delay of this cell from its original value by 20% And how does this affects the "data required time" and "slack"....
  • 38.
  • 39. OH MY GOD !!! (This is the real expression of an STA engineer, when he applies derates and sees the negative slack) Yes, the slack is -20ps. This chip will fail... We have to run it with reduced frequency..We are not meeting specs... blah...blah..blah..... which "by-the-way" are true words of an STA engineer and his/her manager :)
  • 40. And here enters an optimistic engineer, who follows exactly what "Joseph Sugarman" believes in that "Each problem has hidden in it an opportunity so powerful that it literally dwarfs the problem. The greatest success stories were created by people who recognized a problem a turned it into an opportunity" Even the above problem has a "CATCH", and the engineer who identifies this catch (in his team) will, probably, have his back 'pat' and receive 'congratulations awards' :).
  • 41. We saw negative slack being created due to OCV derates. But, below is the catch
  • 42.
  • 43. And let me give you a hint. Can you run at 2 different speed at the same time instant ? Think ..... Think ..... If you are a real person with 2 eyes, 2 ears, 1 nose, 2 hands, and 2 legs, you can't :). It doesn't mean that animals can ... They can't either ..... No living being on this earth can run at 2 different speeds at same time instant 't'
  • 44. Circuits (non-living being) also behave in the same way ... fortunately. Look at the below image, and with the above calculations, we are trying to say, that cell 'b1', which is in common path of launch and capture clock, has 2 delays at same instant of time 't', i.e. 43ps and 34ps
  • 45.
  • 46. It can either have 34ps or 43ps, but not both. So for our calculations, either we take 43ps for both OR 34ps for both, in the common clock path.
  • 47. Now since, the algorithm has already done the calculations, smart engineers came up with a simple solution, without changing the algorithm. What they did, they allowed the slack calculation to happen in a traditional way, as we have shown in above image and last post, AND, introduced a new term "Clock Path Pessimism Removal", which says, remove the additional pessimism from final Slack calculation. Let's see how
  • 48.
  • 49. Above launch clock common path has a delay of 128ps and capture clock commonpath has a delay of 102.4ps. So the additional pessimism is 25.6ps (again....used a hand calculator ... I think i am pissing you off now, by saying that everytime :)) The additional "25.6ps", we can either 1) add it in "Data required time" OR 2) subtract from "Data arrival time" Why? Because, we want the "delays" in common path to be same Let's do 1) for this example and see what we get
  • 50.
  • 51.
  • 52. There you go ..... without doing even a single ECO (Engineering Change Order : For now, google this one, I will plan a seperate post on this one) and using pure concepts, we were able to meet this path and attain the required frequency. You see that, That's the power of having strong basics ... You save a lot of money, time, effort. That's what I call "SMART WORK" :) "The pleasure of life is to work hard toward your goals but a little bit smart and achieving them" I would be now blessed by all STA people :).
  • 53. For more, please refer to below courses Circuit design & SPICE simulations https://www.udemy.com/vlsi-academy-circuit-design/?couponCode=forSlideshare Physical design flow https://www.udemy.com/vlsi-academy-physical-design-flow/?couponCode=forSlideshare Clock tree synthesis https://www.udemy.com/vlsi-academy-clock-tree-synthesis/?couponCode=forSlideshare Signal integrity https://www.udemy.com/vlsi-academy-crosstalk/?couponCode=forSlideshare VLSI – Essential concepts and detailed interview guide https://www.udemy.com/vlsi-academy/?couponCode=forSlideshare