Beruflich Dokumente
Kultur Dokumente
More
"Setup and Hold Time Violation" : Static Timing Analysis (STA) basic (Part 3b) | VLSI Concepts
Next Blog
VLSI Concepts
You will find the basics of VLSI design in this place.
Home Content VLSI BASIC STA & SI Extraction & DFM Vlsi Interview Questions VLSI Glossary VLSI Forum Recommended Book About Us
Translate page
"Setup and Hold Time Violation" : Static Timing Analysis (STA) basic (Part 3b)
Index Chapter1 Introduction Part2 Part6a Chapter2 Static Timing Analysis Part3a Part6b Part3b Part6c Part3c Part7a Chapter3 Signal Integrity Part4a Part7b Part4b Part7c Part4c Part 8 Part5a
Am azon Search
Part1 Part5b
Static Timing analysis is divided into several parts: Part1 -> Timing Paths Part2 -> Time Borrowing Part3a -> Basic Concept Of Setup and Hold Part3b -> Basic Concept of Setup and Hold Violation Part3c -> Practical Examples for Setup and Hold Time / Violation Part4a -> Delay - Timing Path Delay Part4b -> Delay - Interconnect Delay Models Part4c -> Delay - Wire Load Model Part5a -> Maximum Clock Frequency Part5b -> Examples to calculate the Maximum Clock Frequency for different circuits. Part 6a -> How to solve Setup and Hold Violation (basic example) Part 6b -> Continue of How to solve Setup and Hold Violation (Advance examples) Part 6c -> Continue of How to solve Setup and Hold Violation (more advance examples) Part 7a -> Methods for Increase/Decrease the Delay of Circuit (Effect of Wire Length On the Slew) Part 7b -> Methods for Increase/Decrease the Delay of Circuit (Effect of Size of the Transistor On the Slew) Part 7c -> Methods for Increase/Decrease the Delay of Circuit (Effect of Threshold voltage On the Slew) Part 8 -> 10 ways to fix Setup and Hold Violation.
Popular Posts Subscribe To VLSI EXPERT
Total Pageview s
825,266
Posts Comments
Here we will discuss how to calculate the Setup and Hold Violation for a design. Till now we have discussed setup and hold violation with respect to the single flipflop, now lets extend this to 2 flip flop. In the following fig there are 2 flipflops (FF1 and FF2).
"Timing Paths" : Static Timing Analysis (STA) basic (Part 1) "Examples Of Setup and Hold time" : Static Timing Analysis (STA) basic (Part 3c) "Setup and Hold Time Violation" : Static Timing Analysis (STA) basic (Part 3b) "Setup and Hold Time" : Static Timing Analysis (STA) basic (Part 3a) "Time Borrowing" : Static Timing Analysis (STA) basic (Part 2)
http://www.vlsi-expert.com/2011/04/static-timing-analysis-sta-basic-part3b.html#.U1-UU1WSwkw
Synopsys Design
1/7
4/29/2014
"Setup and Hold Time Violation" : Static Timing Analysis (STA) basic (Part 3b) | VLSI Concepts
Synopsys Design Constraints (SDC) Basics Antenna Effects Basic of Timing Analysis in Physical Design Delay - "Interconnect Delay Models" : Static Timing Analysis (STA) basic (Part 4b) "Delay - Timing path Delay" : Static Timing Analysis (STA) basic (Part 4a)
Recent Visitors
Few important things to note down hereData is launching from FF1/D to FF1/Q at the positive clock edge at FF1/C. At FF2/D , input data is coming from FF1/Q through a combinational logic. Data is capturing at FF2/D, at the positive clock edge at FF2/C. So I can say that Launching Flip-Flop is FF1 and Capturing Flip-Flop is FF2. So Data path is FF1/C --> FF1/Q --> FF2/D For a single cycle circuit- Signal has to be propagate through Data path in one clock cycle. Means if data is launched at time=0ns from FF1 then it should be captured at time=10ns by FF2. So for Setup analysis at FF2, Data should be stable "Ts" time before the positive edge at FF2/C. Where "Ts" is the Setup time of FF2. If Ts=0ns, then , data launched from FF1 at time=0ns should arrive at D of FF2 before or at time=10ns. If data takes too long ( greater then 10ns) to arrive (means it is not stable before clock edge at FF2) , it is reported as Setup Violation. If Ts=1ns, then, data launched from FF1 at time=0ns should arrive at D of FF2 before or at time=(10ns-1ns)=9ns. If data takes too long (greater then 9ns) to arrive (means it is not stable before 1ns of clock edge at FF2), it is reported as Setup Violation. For Hold Analysis at FF2, Data should be stable "Th" time after the positive edge at FF2/C. Where "Th" is the Hold time of FF2. Means there should not be any change in the Input data at FF2/D between positive edge of clock at FF2 at Time=10ns and Time=10ns+Th. To satisfy the Hold Condition at FF2 for the Data launched by FF1 at 0ns, the data launched by FF1 at 10ns should not reach at FF2/D before 10ns+Th time. If Th=0.5ns, then we can say that the data launched from FF1 at time 10ns does not get propagated so soon that it reaches at FF2 before time (10+0.5)=10.5ns ( Or say it should reach from FF1 to FF2 with in 0.5ns). If data arrive so soon (means with in 0.5ns from FF1 to FF2, data can't be stable at FF2 for time=0.5ns after the clock edge at FF2), its reported Hold violation. With the above explanation I can say 2 important points: 1. Setup is check ed at next clock edge. 2. Hold is check ed at same clock edge. Setup Check timing can be more clear for the above Flip-flop combination with the help of following explanation.
A visitor from Bangalore, Karnataka arrived from google.co.in and viewed ""Examples Of Setup and Hold time" : Static Timing Analysis basic (Part A visitor (STA) from Bangalore, 3c) |VLSI Concepts" Karnataka left ""Time 1 min ago Borrowing" : Static Timing Analysis (STA) basic (Part 2) |VLSI Concepts" via A visitor from Indore, 1 vlsi-expert.blogspot.com Madhya min ago Pradesh arrived from in.yhs4.search.yahoo.com and viewed "CMOS A visitor BASIC from Bangalore, LOGIC |VLSI Karnataka arrived from Concepts" 2 mins ago vlsi-expert.com and viewed ""Timing Paths" : Static Timing Analysis (STA) A visitor from Mumbai, basic (Part 1) |VLSI Maharashtra arrived from Concepts" 7 mins ago google.co.in and viewed ""Setup and Hold Time Violation" : Static Timing Analysis basic (Part A visitor (STA) from Hyderabad, 3b) |VLSI Concepts" 10 Andhra Pradesh viewed mins ago "Clock Reconvergence
In the above fig you can see that the data launched by FF1/D ( at launch edge) reaches at FF2/D after a specific delay ( CLK-to-Q delay + Conminational Logic Delay) well before the setup time requirement of Flip-Flop FF2, so there is no setup violation. From the Fig its clear that if Slack= Required Time - Arrival time < 0 (-ive) , then there is a Setup violation at FF2. Hold Check timing can be more clear with the help of following circuit and explanation.
Pessimism (CRP) basic |VLSI Concepts" 22 Dun, mins A visitor from Dehra ago Blog Archive Uttaranchal viewed ""Examples Of Setup and 2014 Hold time" : Static Timing 2013 Analysis (STA) basic (Part 2012 A visitor from Bangalore, 3c) |VLSI Concepts" 23 Karnataka mins ago viewed "VLSI 2011 Concepts: Content" 24 mins September ago A visitor from Chennai, August Tamil Nadu viewed "Fixing May Setup and Hold Violation : April Static Timing Analysis "Setup and H (STA) Basic ( Part 6a) A visitor from United |VLSI Concepts" 25 mins Kingdom left ""Setup and ago Hold Time Violation" : "Setup and H Static Timing Analysis (STA) basic (Part 3b) Real-time view Menu
March February 2010 2008
http://www.vlsi-expert.com/2011/04/static-timing-analysis-sta-basic-part3b.html#.U1-UU1WSwkw
2/7
4/29/2014
"Setup and Hold Time Violation" : Static Timing Analysis (STA) basic (Part 3b) | VLSI Concepts
Am azon Deal
In the above fig you can see that there is a delay in the CLK and CLKB because of the delay introduced by the series of buffer in the clock path. Now Flip-flop FF2 has a hold requirement and as per that data should be constant after the capture edge of CLKB at Flip-flop FF2. You can see that desired data which suppose to capture by CLKB at FF2.D should be at Zero (0) logic state and be constant long enough after the CLKB capture edge to meet hold requirement but because of very short logic delay between FF1/Q and FF1/D, the change in the FF1/Q propagates very soon. As a result of that there occurs a Hold violation. This type of violation (Hold Violation) can be fixed by shortening the delay in the clock line or by increasing the delay in the data path. Setup and Hold violation calculation for the single clock cycle path is very easy to understand. But the complexity increases in case of multi-cycle path ,Gated clock, Flip-flop using different clocks, Latches in place of Flip-Flop. We will discuss all these later sometime.
Maven O Summer se
vlsitraining.c
<<< Previous
Next >>>
Excellent (2)
Good (2)
Interesting (0)
25 comments:
Anonymous February 2, 2012 at 2:57 AM should not the launch edge be the second rising edge of CLK, since hold checks are done for the same clock cycle? Reply Replies your VLSI Hi, I didn't get you question very clearly. Please elaborate it. February 7, 2012 at 10:18 AM
Anonymous May 19, 2012 at 9:20 AM dear clock checks ideally should be done at the rising or capturing edge of clock b only.. but sir has written and shown in the diagram that the data is arriving at the ff2 d before the clock b and it is in the transition region..which is a hold violation and we l loose data.. at the end sir has written that to avoid it.. either decrease the buffers in the clock path or increase the delay in the data so that the data arrives at or before the capturing edge of the clock b.. just to show the
http://www.vlsi-expert.com/2011/04/static-timing-analysis-sta-basic-part3b.html#.U1-UU1WSwkw
3/7
4/29/2014
"Setup and Hold Time Violation" : Static Timing Analysis (STA) basic (Part 3b) | VLSI Concepts
hold violation sir has made the same in the diagram Reply
Anonymous February 15, 2012 at 4:42 PM I think there is misprint in hold time analysis Reply Replies your VLSI February 16, 2012 at 12:10 AM
Anonymous April 29, 2012 at 12:46 PM 3rd Paragraph from last. It has" because of very short logic delay between FF1/Q and FF1/D" Its FF2/D
your VLSI
power PufF! June 13, 2012 at 10:38 PM Thank you so much for the excellent tutorial, sir! Can you please correct the misprint in the original post just in case readers do not see the comment? Thanks again! Reply
Sravan Tekuru July 13, 2012 at 12:38 AM hi , do u have nay idea about datapulse violations Reply
jigs October 26, 2012 at 10:20 AM is setup and hold time for given input slew is constant? Reply
jigs October 26, 2012 at 10:21 AM i:e Ts+Th=constant Reply Replies your VLSI Hi Jigs, For a particular FF, these numbers are always constant. October 26, 2012 at 12:00 PM
Anonymous March 14, 2013 at 5:00 PM sir i don't understand.. setup check at next clock edge and hold check at same clock edge.. while launching and capturing edge are different.. plz explain
http://www.vlsi-expert.com/2011/04/static-timing-analysis-sta-basic-part3b.html#.U1-UU1WSwkw
4/7
4/29/2014
Reply Replies your VLSI
"Setup and Hold Time Violation" : Static Timing Analysis (STA) basic (Part 3b) | VLSI Concepts
Clock edge at Launching FF - considered as launching edge but when this edge reaches capturing FF, it become Capturing Edge. Now in setup and hold we are talking every thing on the Capturing FF, means every thing is related to Capturing edge. I hope you got my point. Still If some confusion, please write in detail about your confusion. Reply
Anonymous March 26, 2013 at 7:56 PM Thank you sir, I got your point.. Reply
Anonymous May 14, 2013 at 8:30 PM Hi VLSI Expert, You have mentioned that we need to reduce the delay of the clock to avoid the hold time violation right. Could you please clarify me if you are talking about reducing the CLKB clock width? Reply
Anonymous October 4, 2013 at 9:18 AM In the Hold Check Timing diagram, it looks like the first transition of FF2/D (1 > 0) happens at about the same time as the first rising edge of CLKB. So this will result in setup violation (and maybe hold violation too), even before we get to the second rising edge of CLKB. Reply
mrmittal January 21, 2014 at 5:21 PM Can you please elaborate why setup check at next clock edge and hold check at same clock edge ? from CLK1 .. We check both at next clock edge and calculate also like that but why we say diffrently? Please elaborate Reply Replies Anonymous February 23, 2014 at 11:46 PM Data can arrive at the following flip flop only at the next clock edge. At T1, FF1 generated its output to data D1, whereas FF2 was processing FF1's output to data D0. FF2 will be able to process FF1's output to D1 only at the next clock edge, T2 = T1 + T(clk). Hold analysis is done only after the data has already arrived, and so naturally for the same clock cycle. As for the figures posted above, I think the one for Hold Time is perhaps erroneous, since T(launch) and T(capture) must be at the same clock cycle. I've already posted a comment below, highlighting the same. Awaiting yourVLSI's reply! Reply
Anonymous February 23, 2014 at 11:40 PM In the Hold Time diagram, the Capture edge has been shown one clock cycle after Launch edge, whereas it should be at the same clock edge (delayed by buffers). The Set-up Time diagram, too uses the same clock edges, which though, is correct. Reply Replies your VLSI February 24, 2014 at 1:51 PM
For the same data Capture and launch edges are always one clock cycle. But for analysis purpose of Hold - you analysis the whole concept at the same edge. I would say - check the pic more closely and you will crack this figure also. Reply
http://www.vlsi-expert.com/2011/04/static-timing-analysis-sta-basic-part3b.html#.U1-UU1WSwkw
5/7
4/29/2014
"Setup and Hold Time Violation" : Static Timing Analysis (STA) basic (Part 3b) | VLSI Concepts
Follow ers
http://www.vlsi-expert.com/2011/04/static-timing-analysis-sta-basic-part3b.html#.U1-UU1WSwkw
6/7
4/29/2014
"Setup and Hold Time Violation" : Static Timing Analysis (STA) basic (Part 3b) | VLSI Concepts
Follow by Em ail
Email address...
http://www.vlsi-expert.com/2011/04/static-timing-analysis-sta-basic-part3b.html#.U1-UU1WSwkw
7/7