You are on page 1of 25
swan, 12:11 PM VLSI Physical Design: sta What's MCMM MCMM stands for: Multi-Corner Multi-Mode (static timing analysis ) What's a Mode ‘A mode is defined by a set of clocks, supply voltages, timing constraints, and libraries. It can also have annotation data, such as SDF or parasitcs files. Many chip have multiple modes such as functional modes, test mode, sleep mode, and etc. What's a Corner ‘Acomer is defined as a set of libraries characterized for process, voltage, and temperature variations. Corners are not dependent on functional settings; they are meant to capture variations in the manufacturing process, along with expected variations in the voltage and temperature of the environment in which the chip will operate. Example: Mult-made multi-comer (MMMC) analysis refers to performing STA across multiple operating modes, PVT comers and parasitic interconnect comers at the same time, For example, consider a DUA that has four operating modes (Normal, Sloop, Scan shift, Jtag), and is being analyzed at three PVT comers (WCS, BCF, WCL) and three parasitic interconnect comers (Typical, Min C, Min RC) PVT comer! wes BC wel, Parasitic corners Typical 1 Nomalslespiscan | 2 Nomalsleep/scan 3.Nommallsleep shifvdtag shift Min c 4 not required SNonmalsleep 6 not required Min RC T: not required ENormalisieep 9 not required There are a total of thirty six possible scenarios at which all timing checks, such as setup, hold, slew, and clock gating checks can be performed. Running STA for all thirty six scenarios at the same time can be prohibitive in terms of runtime depending upon the size of the design. It is possible that a scenario may not be necessary as it may be included within another scenario, or a scenario may not be required. For example, the designer may determine that scenarios 4, 6, 7 and 9 are not relevant and thus are not required. Also, it may not be necessary to run all modes in one commer, such as Scan shift or Jtag modes may not be needed in scenario 5. STA could be run on a single scenario or ‘on multiple scenarios concurrently if multi-mode multicomer capability is available. Posted by X2 VLSI at §:49.PM No comments: ‘Sephysicaldesign blogspot comsearehabel/sta 4125 sarin, 12:11 PM VLSI Physical Design: sta Tuesday, August 23,2016 MCMM: Multi-Corner Multi-Mode What is MMM? MCNIM stands for: Mult-Comer Multi-Mode (static timing analysis used in the design of digital ICs) What's a Mode ‘Amode is defined by a set of clocks, supply voltages, timing constraints, and libraries. It can also have annotation data, such as SDF or parasitic fle. Many chip have multiple modes such as functional modes, test mode, sleep mode, and etc. What's a Corner ‘A.comer is defined as a set of libraries characterized for process, voltage, and temperature variations, Corners are not dependent on functional settings; they are meant to capture variations in the ‘manufacturing process, along with expected variations in the voltage and temperature of the environment in which the chip will operate. xample: Multi-mode multi-corner (MMMC) analysis refers to performing STA across multiple operating modes PVT comers and pratt tecannes cores are sare tne, For example, coneder@ DUA at hes fur operating modes Normal Sleep, Sean shift stag) an being ante at tron PVT cores (HGS, BCR, WEL) and Bron paren siarsamect enna Type, hy Mi RO) PVT comer wes BCF wer Parasitic corners Typical 1 Nommalisleep/scan | 2 Normal/sieep/scan | 3:Normalisleep shiftiJtag shift & not required ENormalsleep 6: not required 7 not required &Nomalsleep not required ‘There are a total of thirty six possible scenarios at which all timing checks, such as setup, hold, slew, and clock gating checks can be performed. Running STA forall thity six scenarios at the same time can be prohibitive in terms of runtime depending upon the size of the design. Its possible that a scenario may not be necessary as it may be included within another scenario, or a ‘scenario may not be required. For example, the designer may determine that scenarios 4, 6, 7 and 9 are not relevant and thus are nat required. Also, it may not be necessary to run all modes in one comer, such as Scan shift or Jiag modes may not be needed In scenario 5. STA could be run on a single scenario or on multiple scenarios concurrently if mult= ‘mode multicomer capability is available. Postd by X2 VLSI al 4:07.PM No comments ‘Sephysicaldesign blogspot comsearehabel/sta 2128 sarin, 12:11 PM VLSI Physical Design: sta Lele sta Saturday, August 20, 2016 setup time and hold time + setup time isthe minimum amount of time input (0) must be stable before the clock edge. + hold time is the minimum amount of time input (D) must be stable after the clock edge. Both setup and hold time for a flip-flop is specified in the library, 1.1 setup tme data should be stable before the clock edge ‘+ sotup time is the amount of time the synchronous input (D) must show up, and be stable before the capturing edge of clock. + this is so that the data can be stored successfully in the storage device. ‘+ setup violation can be fixed by either slowing down the clock (increase the period ) or by decreasing the delay of the data path logic. Cycle 1 cycle 2 I setup time — a BRTom Whew baat 4 preiowscyce 7K _carentae | Ux Delay of sow logie 1 ' i on 1 rT ‘ ++} Data arrives late ‘Setup Violation 1 Fjous 02 Source Target setup information lib ‘ephysicaldesign blogspot comsearchabel/sta 25 swan, 12:11 PM VLSI Physical Design: sta 0 timing related_pin 2 NCK": timing_type : setup_ris fall_constrain ("0 000932129, 0.0331496, 0.146240 index_2 ("0 000932129, 0.0331496, 0.146240" values ("0.0 49386", \ "0.047993, 0.048403, 0.06 ' \ "9 .082503,0.082207,0.094815"); 4.2 Hold Time ‘+ data should be stable after the clock edge ‘+ hold time is the amount of ime the synchronous input (D) stays long enough after the capturing edge of clock so that the data can be stored successfully in the storage device. + hold violation can be fixed by increasing the delay of the data path or by decreasing the clock uncertainty (skew) f specified in the design, ‘ephysicaldesign blogspot comsearchabel/sta 478 sarin, 12:11 PM VLSI Physical Design: sta i | Hold time te Clock 1 ' 14 a D2 : New Data arie.caiiy Hold Violation Cer ear Source Target velated_pin 2 ONCK": Hold Information timing () { timing type : hold_rising; fall_constraint (Hold 33) { index_1 ("0.000932129,0.0331496, 0.146240"); index_2 ("0 000932129, 0.0331496, 0.146240"); values ("-0.013960,-0.014316,-0.023648", "-0.016951,-0.015219,-0.034272", "0.108006,0.110026,0.090834") ; Posted by X2 VLSI at 11:12AM 1 comment: Labels sta ‘ephysicaldesign blogspot comsearchabel/sta swan, 12:11 PM VLSI Physical Design: sta Tuesday, August 2, 2016 Interconnect Delay --> Net delay + Cell Delay Ima digital design, a wire connecting pins of standard cells and blocks is referred to as a NET. A Net has only one driver has number of fanout cells or blocks can travel on multiple of metal layers of the chip. "Net Delay" refers to the total time needed to charge to discharge all ofthe parasitic ( Capacitance / Resistance / Inductance) of a given net. So we can say that net delay is a function of - Net Resistance = Net Capacitance = Net Topology Now to calculate the NET delay, the wires are modeled in diferent ways and there are different way to do the calculation, Practically, when you are applying a particular delay model in a design, then you have to apply that to all cells ina particular library. You cannot mix delay models within a single library. There are a few recommendations provided by experts or experienced designer regarding the application of a Particular Delay model in a design and that depends on, = technology of the design - At what stage you are, and or say at what stage you want to apply a delay model how accurately you want to calculate the model Note: Ideally Till the physical wire is not present in your design, you cannot calculate the net delay. Reason is .. if wire is not present, you have no idea about widthi/length of the wires. So you can not calculate the accurate values of parasitic or say delay value of the wire, But here main point is. accurate value , means there is possiblity of inaccurate or say approximate value of delay value before physical laying of wire in a design. There are several delay models. Those which can provide more accurate result, takes more run time to do the calculation, and those which are fast provides less accurate value of delay. Here are a few of them, most popular delay models, = Lumped Capacitor Model - Lumped RC Model - Distributed RC Mode! -pi RC Network “TRC Network -RLC Model - Wire Load Model - Elmore Delay Model - Transmission Line Model Posted by Xz VLSI at 19.02,AM No comments: Lele sta ‘Sephysicaldesign blogspot comsearchabel/sta sarin, 12:11 PM VLSI Physical Design: sta STA: Delay -- Timing Path Delay Questions: have a doubt regarding how delay is calculated alone a path . | think there are two ways 1)to calculate max delay and min delay, we keep adding max delays and min delays of all cells, (buffer/inverterimax)rom start point to end point respectively 2)In other way, we caloulate path delay for rising edge and falling edge separately. We apply a rise edge at start point and keep adding cell delay. cell delay depends upon input transition and output fanout. so now we have two path delay values for rise edge and falling edge. greater one is considered as Max delay and smaller one is min delay. Which one is correct? Short Ans is... both are correct and you have to use both, So here are a few details. ‘As we have mention that for setup and hold calculation, you have to calculate the delay of the timing path ( capture path or launch path), Now in a circuit there are 2 major type of Delay. 4. CELL DELAY Timing delay between an input pin and an output pin ofa cell call delay information is contained in the library of the cell. ¢.g- lef file 2. NET DELAY interconnect delay between a driver pin and a load pin. To calculate the NET delay generally you require 3 most important information. - Characteristics of the Driver Cell ( which is driving the particular net) - Load charactorstic of the receiver cell. ( which is driven by the net) RC (resistance capacitance } value of the net. (it depends on several factor - which we will discuss later) Both the delay can be calculated by multiple ways. It depends at what stage you require this information with in the design, e.g During pre layout or post layout or during Signaff timing. As per the stage you are using this, you can use different ways to calculate these delay. Sometime you require accurate numbers and sometime approximate numbers are also sufficient. Now let's discuss this with previous background and then we will discuss few new concepts: 0.15 ~ O12 04 \ 0.21 ‘, ~ - 8 ons ‘01 ar os Now the above, to delay the Growl bo ator calling, Delay = 0.5+0.04+0.62+0.2140.83+0.15+1.0140.12+0.57=4.05ns ( if all the delay in ns) Now let's add few more values in this. As we know that every gate and net has max and min value, s0 in that case we can find out the max delay and min delay. ( on what basis these max. dolay or min delay we are calculating .. we wil discuss after that) mi) Goa oos ane sso ores saa once e908 tor08 or ‘ephysicaldesign blogspot com‘searchabel/sta 128 sarin, 12:11 PM VLSI Physical Design: sta so in the above example, first value is max value and 2nd value is min value. So Delay(max) =0.5+0.04+0.62+0.21+0,85+0.15+1.01+0.12+0.57=4.05ns Delay(min}=0.4+0.03+0.6+0.18+0.8+0.1+0.8+0.140.5=3.5ins Now let's see what is the meaning of min and max delay. The delay of a cell or net depends on various parameters. Few of them are listed below: + library setup time, + library delay model + extemal delay + cell load characteristic + coll drive characteristic + operating condition (PVT) + Wire load model + effective call output load + input skew + back annotated delay any of these parameter vary, the delay very accordingly. Few of them are manually exclusive. and in what case we have to consider the effect of only one parameter at a time. If that’s the cease, then for STA, we calculated the delay in both the condition and then categorize them in worst (max delay) condition or the best condition (min delay). E.g if a cell has different delay for rise edge and fall edge. Then we are sure that in delay calculation we have to use only one value. So as per their value, we can categorize fall and rise of all the collin the max and min bucket. ‘Ans finally we come up with max delay and min delay Library delay models PVT operating conditions Net delay Cell delay | > ~, po — mY - Ne - y Gellload _[- Doriedorbackanriatod Sevaceistes | detailed parasitic data Inputslew —Gottarve | characteristics Etective 4 a cell output } >o ‘ok * i Coll load Wire load Back-annotated ‘characterises models delay (SDF) The way the delay is calculated also depends which tool are you using for STA or delay calculation. Cadence may have different algorithm from Synopsys and same is the case of other vendor tools like Mentor , and all. But in general the basic or say concepts always remain same Here is an example about the circuit, and you want to caleulate the delay. ‘Sephysicaldesign blogspot comsearchabel/sta 8125 ‘worn, 10:41 B VLSI Physica Des: ta UFFI UOR4 D Qe \ Patht N\ cK UNAND6 UBUE2 UFE3 \ UNANDO Path2 UOR2 In the above diagram, we have 2 paths between UFF1 and UFF3. So whenever we are doing setup and hold analysis, these path willbe the part of launch path (arrival time), so lets assume we want to calculate the max and min value of delay between UFF1 and UFF3. Informations Read more » Post by XZVLSI at 00.AM 1 comment: Lele ota Inesday, July 27, 2016, Basic Static Timing Analysis : "Setup and Hold Time" What is Setup and Hold Time? To understand the origin of the Setup and Hold time concepts first understand it with respect to @ system as shown in the fig. An input DIN and external clack CLK are buffered and passed through combinational logic before they reach a synchronous input and a clock input of a D {lipflop (positive edge triggered). Now to capture the data correctly at D flip flop, data should be present at the time of positive edge of clock signal at the C pin Note: Here we are assuming D flip flop is ideal so Zero hold and setup time for tis. ‘ephysicaldesign blogspot comsearchabel/sta snare, 12 VLSI Physical Design: sta ToGe) Tin) 4 a a DIN it 1 ! iz Comb Log PH» py ; t- >t 1 DIN Input of System CLK = Clack of system pa DIN= Propagation delay of INL ‘pe Clk = Propagation delay of Clk ‘Te= SetLp time of O flop “Th= Holdtime of Dripttop ‘Ts{in}= Setup Time of System “THin) = Hola Time of System There maybe only 2 condition Tpd DIN > Tpd ik For capture the data at the same time when Clock signal (positive clock edge) reaches at pin C, you have to apply the input Data at pin DIN "Ts(in clock edge at pin CLK. = in other word, at DIN pin, data should stable “Ts(in}" time before the positive clock edge at CLK pin. - This time “T(s)in” is know as the setup time of the system, (Tpd DIN - Tpd Ck)" time before the positive Tpd DIN < Tpd Cik - For capture the data at the same time when clock signal (positive clock edge ) reaches at pin C, input data at pin DIN should no change before "Th(in) = Tpd Clk = Tpd DIN" time, Ifit will change, positive clock edge at Pin C will capture the next data, = in other word, at DIN pin, Data should be stable "Thin)" time after the positive clock edge at CLK pin = Ths time "Th(in)" is know as Hold Time of the System. For the above condition it looks that both the condition can't exist at the same time and you are Fight. But we have to consider a few more things in ths. - Worst case and best case (max delay and min delay) because of environment condition or because of PVT, we can do this analysis for the worst cease (max delay) and best case (min delay) also. - shortest path or longest path (min delay and max delay) + if combinational logic has multiple paths, we have to do this analysis for the shortest path (min delay) and longest path (max delay) also ‘So we can say that above condition can be ike this. = Tpd DIN (max) > Tpd Cik (min) + setup time == Tp DIN (max) - Tpd Clk (min) + Tpd DIN (min) < Tpd Cik (max) hold time == Tpd Clk (max) - Tpd DIN (min) ‘or example for combinational logic delays are: ‘Sephysicaldesign blogspot comsearehabelista 10125 swan, 12:11 PM VLSI Physical Design: sta data path (max, min) = (Sns, 4ns) clock path (max, min) = (4.5ns, 4.1ns) then setup time = 5 - 4.1 = 0.9ns hold time = 4.5 - 4 = 0.5ns, Now similar type of explanation we can give for a D flip-lop. There is a combinational logic between C and Q, between D and Q of the fipflop, There are different delays in those ‘combinational logic and based on there max and min value, a flpflop has setup and hold time. (One circuitry ofthe positive edge triggered D flip is shown below. Fel There are different ways for making the D flip‘Nop, Like by JK flip-flop, master slave fiplop, Using 2 D type latches etc. Since the intemal circuitry is different for each type of fiplop, setup and hold time is different for every fip-iop. Definition: ‘Setup Time: = setup time is the minimum amount of time the data signal should be held steady before the Clock event so that the data are reliably sampled by the clock. This applied to synchronous ireuits such as fiplop ~ or in short I can say that amount of time the Synchronous input (D) must be stable before the active edge of the clock - The time when the input data is available and stable before the clock pulse is applied is called setup time, Hold Time: = Hold time is the minimum amount of time the data signal should be held steady after the clock event so that the data are reliably sampled. This applies to synchronous circults such as the fpflop ~ or in short I can say that amount of time the synchronous input (D) must be stable after active ledge of the clock - the time after clock pulse where data input is held stable is called hold time. ‘ephysicaldesign blogspot comsearehlabel/sta 1128 sarin, 12:11 PM VLSI Physical Design: sta Setup, Hold Time No tha D changing D changing setup and hold violation: in simple language- If setup time is Ts for a liplop and if data is not stable before the Ts time from active edge of the Clock, there is a Setup violation at that flipflop. So if data is changing in the non-shaded area ( in the above figure) before active clock edge, then i's a setup violation. ‘And if hold time is Th fora fipflop and if data is not stable after Th time from active edge of the clock, there is a hold violation at that fipflop. So if data is changing in the non-shaded area (in the above figure) after active clock edge, then it's a hold violation Posted by X2 VLSI at 11:24PM No comments: Labels sta Friday, July 8, 2016 Static Timing Analysis: Timing Paths Static Timing Analysis is a method of validating the timing performance of a design by checking all possible paths for timing violations under worst-case conaitions. It considers the worst possible delay through each logic element, but not the logical operation of the circuit. In comparison to circuit simulation, static timing analysis is faster ~ itis faster because it does not need to simulate multiple test vectors. ‘more thorough -- It is more therough because it checks the worst-case timing for all possible logic conditions, not just those sensitized by a particular set of test vectors. (Once Again Note Those Thing: Static Timing Analysis checks the design only for proper timing, not for correct logical functionally. Static Timing Analysis seeks to answer the question, “Will the correct data be present at the data input of each synchronous device when the clock edge arrives, under all possible conditions?” In static timing analysis, the word static alludes to the fact that this timing analysis is carried out in an input independent manner. It locates the worst-case delay ofthe circuit over all possible input ‘Sephysicaldesign blogspot comsearchabel/sta 12108 swan, 12:11 PM VLSI Physical Design sta combinations. There are huge of numbers of logic paths inside a chip of complex design. The advantage of STA is that it performs timing analysis on all possible paths ( whether they are real or potential false paths) However, itis worth noting that STA is not suitable for all design styles. Ithas proven efficient only {or fully synchronous designs. Since the majority of chip design is synchronous, it has become a mainstay of chip design over the last few decades. The Way STA is performed on a given circu: To check a design for violations or say to perform STA there are there are 3 main steps: Design is broken down into sets of timing paths. Calculates the signal propagation delay along each path, ‘And checks for violations of timing constrains inside the design and at the inputloutput Interface, The STA tool analyzes ALL paths from each and every startpoint fo each and every endpoint and ‘compares it against the constraint that (should) exist for that path. All path should be constrained, ‘most paths are constrained , most paths are constrained by the definition of the period of the clock, and the timing characteristics of the primary inputs and outputs of the circuit, Before we start this we should know a few key concepts in STA method: timing path, arrive time, required time, slack and critical path Lets talk about these one by one in detail Timing Paths Timing Paths can be divided by as per the type of signals ( e.g. clock signal, data signal, etc) Type of Paths for timing analysis - Data Path = Clock Path = Clock Gating Path ~ Asynchronous Path Each Timing Path has a "start point” and an “end point". Definition of Start Point and End Point vary as per the type of the timing path-. The Start Point is a place in the design where data is launched by a clock edge. The data is propagated through combinational logic in the path and then captured at the endpoint by another clock edge. Startpoint and Endpoint are diferent for each type of paths. It's very important to understand this, clearly to understand and analysing the Timing Analysis Report and Fixing the timing violation. = Data Path - Start Point Input Port of the Design ( because the input data can be launched from some external source) Clock Pin of the flip-floplatchimemory ( sequential cell) = End Point Data Input Pin ofthe flp-lop/latch/sequential cell) Output Port of the design (because the output data can be captured by some external sink). ~ Clock Path = Start Point Input Port of the design ~ End Point ‘SelReseUClear Pin ofthe flip-flop /latchisequential cell Data Paths: ‘ephysicaldesign blogspot comsearchabel/sta 1925 swan, 12:11 PM VLSI Physical Design sta It we use all the combinational of2 types of Stating Point and 2 types of End Point, we can say that there are that there are 4 types of ming paths on the basis of Start Point and End Poin. = Input PinvPort to Register (ip-op). - Input Pin/port to Output Pin/Port Register (ip-lop) to Resister (flip-flop) ~ Register (flp-flop) to output pinipor. Please see the following fig: ck PATH1 - starts at an input port and ends atthe data input of a sequential element,input porto register) PATH? - starts at he clock pin of @ sequential element and ends a the data input of @ sequential element. ( register to register ) PATHS - starts atthe clock pin ofa sequential elament and ends at an output port (Register to output port) PATHS - starts at an input port and ends at an output port. ( Input port to output port). Clock Path: Please check the following fig: ‘Sephysicaldesign blogspot comsearchabel/sta 14128 swan, 12:11 PM VLSI Physical Design: sta Inthe above fig its very clear that for the clock path the starts from the input portipin of the design which is specific for the Clock input and the end point is the clock pin of sequential element. In between the Start point and the end point there may be lots of bufferslinvertersiclock divider. Posted by X2 VLSI at 5:09 PM No comment Labels sta Saturday, July 2,2016 setup and hold time violations Fe \ Seu Hota Few important things to note down here - Data is launched from FF1/D to FF1/Q at the positive clock edge at FFAIC. At FF2ID, input data is coming from FF1/Q through a conbinational logic. Data Is capturing at FFID, at the positive clock edge at FF2/C. So | can say that launching flip-flop is FF1 and capturing Mip-lop is FF2. So data path is FFIIC ~> FF1IQ => FF2ID For a single cycle circuit, Signal has to be propagate through data path in ona clack eye. Means if data is launched at time = Ons from FF1 then it should be captured at time = 10 ns by Fra So for setup analysis at FF2, data should be stable "Ts" time before the positive edge at FF2IC. Where “Ts time is the setup time of FF2. ~ If Ts = Ons, then, data launched from FF1 at time = Ons should arrive at D of FF2 before or at time = 10ns. If data takes too long ( greater than “Ons) to arrive ( means it is not stable before clock edge ‘at FF2), itis reported as setup violation HTS = ns, then, data launched from FF1 at ime Ins should arrive at D of FF2 before or at ‘ephysicaldesign blogspot comsearchabel/sta swan, 12:11 PM VLSI Physical Design: sta time = (10ns - 1ns) = Ons . If data takes too long (greater than Qns) to arrive ( means itis not stable before 1 ns of clock edge al FF2), its reported as setup violation, For hold analysis at FF2, data should be stable "Th" time after the positive edge at FF2IC, where his 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 at FFT at Ons, the data launched by FF1 at 10ns should not reach at FF2/D before 10ns + Th ~ If Th = 0.5 ns, then we can say that the data launched from FF1 at time 10ns does not get propagated so soon that itreaches at FF2 before time (10+0.5) = 10.5ns ( or say it should reach from FF 1 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 above explanation, there is 2 important things; 1. Setup is checked at next clock edge. 2. Hold is checked at same clock edge ‘Setup check timing can be more clear for the abave fip-lop combination with the help of following explanation. Sas: in Required time : Fipslop FF2 setup time requirement lew 1 a Fr2.0 ! ! Combinational ee logic delay Data capture - event at FF2 CLKt0-2 | _— delay of FFA FFAL.D Data launch | event at FEY 7 —_ ouK t t t t Launch edge Capture edge In the above fig you can see that data launched at FF1/D ( at launch edge) reaches at FF2/D after a specific delay ( CLK-to- delay + Combinational Logic Delay) well bafare the setup time: requirement of Flip-Flop FF2, so there is no setup violation, From the fig ts clear that if Slack = Required Time - Arrival Time < 0 (-ve) , then there is a setup Violation at FF2. Hold Check Timing can be more clear with the help of following circuit and explanation ‘Sephysicaldesign blogspot comisearehlabelista 16125 sarin, 12:11 PM VLSI Physical Design: sta Hop PES held Desivad data | time requirement ——— napture event st Fe ‘ Incorrect data cap PP2 Short logic.» dak me dalay =f) ) Hold Violation CLKAs8 aH ea deloy of FEL it ! i Data launch FELD D avert at FF a I | Late capture deat I due to Bute aK In the above fig you can see that there is @ delay in the OLK and CLKB because of delay introduced by the serious 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 alter the CLKB capture edge to meet hold requirement but because of very short of logic delay between FF1/Q and FF1/D, the change in the FF4/Q propagates very soon. AS a result of that there occurs a Hold violations. This type of violation (hold violation)can be fixed by shorting 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 mult-cycle path, Gated clock, flip-flop using different ‘Sephysicaldesign blogspot comsearchabel/sta 1108 swan, 12:11 PM VLSI Physical Design: sta clocks, latches in place of Flip-Flop, Posted by Xe VLSI at 11:34AM 1 comment: Lele sta Monday, June 20, 2018 Specifying the Maximum Transition Constraint Maximum transition constraints can come from a user input, library, and library pin. User-specified ‘maximum transition constraints are expressed with the main library derate and slew threshold of PrimeTime. The set_max transition command sets a maximum limit on the transition time for all specified pins, ports, designs, or clocks. When specified on clocks, pins in the clock domain are constrained. Within a clock domain, you can optionally restrict the constraint further to only clock paths or data paths, and to only rising or falling transitions, During constraint checking on a pin or pot, the most restrictive constraint specified on a design, pin, port, clock (ifthe pin or port is in that clock domain), or ibrary is considered. This is also true where multiple clocks launch the same path, The set_max_transition command places the max_transition attribute, which is a design rule constraint, on a specified objects. In Prime Time, the slews and maximum transition constraint attributes are reported in the local threshold and derate of each pin or library, To view the maximum transition constraint evaluations, use the report_constraint -max transition ‘emd. Prime Time reports all constraints and slews in the threshold and derate of the pin of the cell instance, and the violations are sorted on the absolute values (that is, they are expressed in that of design threshold and derate ). You can also use the report_constraint command to report constraint calculations only for maimum capacitance and maximum transition for a specified port or pin list. Use the object ist option to specify a lst of pins or ports in the current design that you ‘want to display constraint related information. To see the port maximum transition limit, sue the report_port -design_rule command, To see the default maximum transition setting for the current design, sue the report_design command. To undo maximum transition limits previously set on ports , pins, designs, or clocks, use remove_max transition. setting a maximum transition limit. To set a maximum transition limit of 2.0 units on the ports of OUT”, enter pt_sholl> set_max transition 2.0 [get_ports “OUT™) To set the default maximum transition limit of §.0 units on the current design, enter pl_shell> set_max transition 5.0 fourrent_design] To set the maximum transition limit of 4.0 on all pins in the CLK1 clock domain , for rising transitions in data paths only, enter ‘Sephysicaldesign blogspot comsearchabel/sta 18125 swan, 12:11 PM VLSI Physical Design: sta p\_shell> set_max transition 4.0 (get_clocks CLK{1] -data_path ~ise Posted by X2 VLSI at 10:58 AM No comments: Labots sta Friday, June 17,2016 specifying the timing derating factors Timing derating factors model the effects of varying operating conditions by adjusting the delay values calculated for the individual timing ares of a block. By default, the timing derating factors are 1.0 and the tool does not adjust the calculated delay values. To set derating factors, use the set_timing_derate cmd and specify the following information: the derating factor whether the derating factor is for early or late delays by using the -early or -ate options. Optionally , you can apply the derating factor to ~ Specific leat-level instance, hierarchical instance, or library cell by specifying the object, By default, it applies to the current block. ~Rise o fal delays only by using the -rise or “fall options, by default, it applies to both rise and fall delays. -- clock or data paths only by using the -clack or data options by default, it applies to both clock and data path ~ net delays, cell delays, or cell timing checks by using the -net_delay, -cell delay, or cell_check option. by default, it applies to all three. A speciic comet by using the -comers option. By default, it applies to the current comer. The following example reduces all minimum delay by 10 percent and increase all maximum, delays by 20 percent for the current cornet: icc_shell> set_timing_derate -early 0.9 late 1.2 To report the derating factors, use the roport_timing_derate cmd. By default, the cmd reports the derating factors for all comers. To report the derating factors for specific corners, use the -comet option. To reset the derating factors to 1.0, use the reset_timing_derate cmd. By default, the cmd resets the derating factors for the current corner for the current block and all its instances. To reset the derating factors for specific corners, use the -corners option. To reset the derating factors for specific objects, specify the objects Posted by X2 VLSI at 223.PM 2 comments: Lele sta June 18, 2018 How can | selectively reset the global timing derate values? Questions: have set the following global timing derate values: pt_shell>set_timing_derate ~ate 1.05, ‘Sephysicaldesign blogspot comsearchabel/sta 19125 swan, 12:11 PM VLSI Physical Design: sta p\_sheli>set_timing_derate -early 0.95 Now, I want to reset the timing derate values on a specific instance, for example, Ut; pt_shell> reset_timing_derate [get_cells U1} ‘why is this command not resetting the timing derate values on the instance? Answer: The following emds set the timing derate values globally on the entire current design: pt_shell>set_timing_derate -late 1.05, pt_sholl>set_timing_derate -early 0.95 pA_shell> report_timing_derate a Rise Fall Late Early Late Early Late Esty Late 095 105 098 1.05 098 1.05. 09s 405 Resetting derate values on instance U1 of the design only resets the timing derate values specifically set earlier on instance U1 but does not override the global timing derate settings: pt_shell> set_tming_derate 1,55 -cell_delay -late [get_cells U1] pt_sholl> set_tming_derate 0.55 pt_shell> report_timing_derate [get_colls U1] — pate Celiesnus «O55 O55 185 OSS 185 ass 155 Cot tay Lene reel ing_cerate PL shabrepor ining erate get eo Ut ise rl ise ra my Late ay Late ay Late Early Late celle Cal olay In condusion, te togel_iming_derate cn eny rsa the ting dora values ao Seow the scape where thay wore sl The ca dos nt overdo the bring deat ales set sa higher cope Pos dby Xz VLSI at 1:98,M No comments Label: ta Tuesday, June 14,2016 Constraints for PVT Corners Normally BestWorst PVT means the FastesVSlowest operating condition of the circult typical Best(fastest) PVT is (process: fast, voltage: low, temperature: low} while worst (slowest) PVT is ‘ephysicaldesign blogspot comsearchabel/sta 20128 swan, 12:11 PM VLSI Physical Design: sta {process: slow, voltage: high, temperature: high } However, recent technology process encounters inverse temperature effect, where cells might function faster at certain high temperature than low temperature, Thus itis Suggested that you consult with the cell library provider on what PVT is fastest & slowest. Notes: The process fast means, that all transistors on the chip have combination of parameters which gives the minimum cell delay. Also, We should know about RC corners, The width and thickness of wires (metal) are also may vary from chip to chip (even on one chip:), So, for the setup check, we should use RCWorst ‘comer for extraction and one of PVT comers that gives you the max cell delay. Posted by X2 VLSI at 1: 08,AM No comments: Lele sta Monday, June 13, 2016 Explanation of Deration and OCV 1) Derating is simply another way of adding margin to the design. This allows you to scale all delays by a certain percentage to increase margin. This is not an SOC constraint, but a variable to set within the tool run script. 2) OCV Is a timing mode (lke a single or BC/WC). This allows you to use variation from the libraries in performing timing checks for ensuring worst case scenarios, Posted by X2 VLSI at 11:21,PM 1 comment: Lele sta Sunday, June 12,2016 How to fix max transition time violations? ‘The max transition time is one of the three Design Rules ( max fanout, max transition, max capacitance). It is much more important than setupyhold timing. ‘As we all know, in STA, the delay of each std. cells is calculated from looking up the NLDM ( non- linear delay model) tables which is defined in library. These tables are two factors: input transition time, and output load, The result of table is the delay value of cell under certain transition and ‘output load. If the input transition of output load is out of range is within but not the values in NDLM, interpolation is utilized to calculate. If the input transition or output load is out of range of NLOM , ext-nterpolation is used to calculation. But itis natural the result would be rather in-accurate, ‘Sephysicaldesign blogspot comsearchabel/sta 21128 swan, 12:11 PM VLSI Physical Design: sta So the STA will be rather in-accurale, Timing analysis is ur-believable. Now, you can understand how important max tran is. one more reason of fing max transition violation is that bigger transition will result in bigger pe power consumption, — The margin in 30% of max transition is allowed. For example, ifthe constraint of max transition is 1 ns, then 1.3 ns is allowed. Posted by X2 VLSI at 1:52PM No comments: Saturday, June 1, 2016 PVT Corners Generally in most user environments, the process, voltage, and the temperature (PVT) point is. specified by referring to a predefined operating condition in a specific timing library. The library ‘operating condition provides the system with values for P, V, and T, and these then are used to caloulate derating parameters and other aspects of the analysis, However, these are situations when there are no predefined operating conditions in the user timing libraries or the pre-existing operating conditions are not consistent with the user's operating environment. Posted by Xz VLSI at 1:08 PM No comments: On-Chip Variation Delay Analysis During timing analysis, the tool uses the on-chip variation(OCV) mode to perform timing, which models the effects of variation in operating conditions across the chip. This mode performs a conservative timing analysis by simultaneously applying minimum and maximum delays to different paths. For a setup check, the tool uses maximum delays for the launch clock path and data path and minimum delays for the capture clock path, as shown in the following figure. ‘Sephysicaldesign blogspot com‘searehlabelista 22128 sarin, 12:11 PM VLSI Physical Design: sta Figure 4-1 On-Chip Variation for Setup Analysis === Maxam dobay ata === pe Minka Detay Posted by Xz VLSI at :98.PM) No comments Lebel: ta Monday, October 5, 2015 slack The amount of time by which a violation is avoided is called the slack For example, for a setup constarnt, ita signal must reach a cell input at no later than 8ns and is determined to arrive at 5 ns, the slack is 3 ns. A slack of 0 means that the constraint is just barely satisfied. A. negative slack indicates a timing violation, Posted by Xz VLSI at ‘No comments: Labels sta constraint checking Afier PT determines the timing paths and calculates the path delays, it can check for violations of timing constraints, such as setup and hold constraints. ‘Assetup constraint specifies how much te is necessary for data to be available at the input of a sequential device before the clock edge that captures the data in the device, This constraint enfores a maximum delay on the data path relative to the clock path ‘Ahold constraint specifies how much time is necessary for data to be stable at the input of a squential device after the clock edge that captures the data in the device. This constraint enfores, {@ minimum delay on the data path relative to the clock path. In addition to setup and hold constraints, PT can also check recoverylremoval constraints, data- to-data constraints, clock-gating setup/hold constraints, and minimum pulse width for clock signals. ‘ephysicaldesign blogspot comsearchabel/sta 20128 sarin, 12:11 PM VLSI Physical Design: sta Posted by X2 VLSI at 2:55AM No comments Wednesday, September 30, 2015, Timing Exceptions When certain paths are not intended to operate according to the default setup/nold behavior assumed by PT, you shoul specify those paths as timing exceptions. Othenwise, PT might incorrectly report those paths as having timing violations. PT lets you specify the following types of timing exceptions: ‘ false path -A path that is never sensitzed due to the logic configuration, expected data sequence, or operating mode. Multcycte Path — A path designed to take more than one clock cycle from launch to capture. * Minimumimaximum delay path ~ A path that must meet a delay constraint that you specify ity as.a time value, Posted by X2 VLSI at 10:20AM No comments: Lael sta setup and hold checks ‘ephysicaldesign blogspot comsearchabel/sta 24128, sarin, 12:11 PM VLSI Physical Design: sta Data path FFI a Fre coe Sg > ake (compra AI, g _ (oge \ ‘Setup launch Hold a - check ~~ aehect ClKrr2 Notes, ‘Assume thatthe flip“lops are defined in the technology library to have a minimum setup time 1.0, time units and a minimum hold time of 0.0 time units, The clock period is defined in PT to be 10 time units. (The time unit size, such as ns or ps, is specified in the technology library). By Default, PT assumes that signals are to be propagated through each data path in one clock cycle. Therefore, when PT performs a setup check, it verifies that the data path delay is small enough so that data launched from FF1 reaches FF2 within one clock cycle, and arrives at least 4.0 time unit before the data gets captured by the next clock edge at FF2. Ifthe data path delay is too long, itis reported as a timing violation. For this setup check, PT considers the longest possible delay along the data path and the shortest possible delay along the clock path between FFI and Ff2. When PT performs a hold check, it verifies that the data launched from FF1 reaches FF2 no sooner than the capture clack edge for the previous clack cycle. This check ensures that the data already existing at the input of FF2 remains stable long enough after the clock edge that captures data for the previous cycle. For this hold check, PT considers the shortest possible delay along the data path and the longest possible delay along the clock path between FF and FF2. A hold Violation can occur ifthe clock path has a long delay. ‘ephysicaldesign blogspot comsearchabel/sta 25125,

You might also like