Beruflich Dokumente
Kultur Dokumente
(or)
b. Mention any 3 different types of violations possible during Synthesis or PD process & briefly explain them. Solution: Setup time Violation: If setup time is Ts for a flip-flop and if data is not stable before 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 below figure) before active clock edge, then it's a Setup violation.
Hold time violation: If hold time is Th for a flip flop and if data is not stable after Th time from active edge of the clock , there is a hold violation at that flipflop. So if data is changing in the non-shaded area (in the above figure) after active clock edge, then it's a Hold violation. Maximim transition time violation The transition time of a net is the longest time required for its driving pin to change logic values. Transition time is decided on the basis of rise time and fall time. This constraint (max_transition) is based on the library data. For the nonlinear delay model (NLDM), output transition time is a function of input transition and output load. Way to calculate: CMOS delay model: Transition Time = Drive R X Load C Non-linear delay model: Transition Time from table lookup and interpolation/extrapolation. It can make the transition time of each net less than the max_transition value (defined in the library file) by adding a buffer at the output of driving gate. It can vary with the operating frequency of a cell. Since this parameter is based on rise/fall time and rise/fall time is the time required to charge/discharge input capacitance load of the pin. Now if operating frequency vary, the capacitive load vary as per relationship of Xc=1/C . If multiple clocks launch the same paths, the most restrictive value is used. If your design uses multiple technology libraries and each has a different default_max_transition value, synthesis tools uses the smallest max_transition value globally across the design. max_transition is available only for input pin.
2. a. What do the following acronyms stand for i) DFT ii)ATPG iii)PVT Solution: i. ii. iii. DFT : Design For Test ATPG : Automatic Test Pattern Generation PVT : Process Voltage Temperature
Solution: report_constraints allviolations is the command to find the maximum transition It is fixed using compile_incremental design
Hold Analysis: When a hold check is performed, two things need to be considered: Minimum Delay along the data path and source clock Maximum Delay along the clock path from source to sink If the difference between the data path and the clock path is negative, then a timing violation has occurred. Data path is: CLK->FF1/CLK ->FF1/Q ->Inverter /Inverter->Inverter/->FF2/D *** Assume inverter to inverter minimum wire delay is tmin=1ns *** Delay in Data path = min(wire delay to the clock input of FF1) + min(Clk-to-Q delay of FF1) + 2*min(cell delay of inverter) + min(3 wire delay- "Q of FF1-to-inverter" , inverter to inverter and "inverter-to-D of FF2") Td = 1+9+2(6)+(1+1+1)=25ns *** Assume inverter to inverter to FF2/Clk maximum wire delay is tmax=3ns *** Clock path is: CLK -> buffer -> inverter -> FF2/CLK Clock path Delay = max(wire delay from CLK to Buffer input)+ max(wire delay from Buffer output to inverter input) + max(cell delay of Buffer) + max(cell delay of inverter) + max(wire delay from inverter output to FF2/CLK pin) + (hold time of FF2) Tclk = 3+3+9+9+3+2 = 29 ns Hold Slack = Td - Tclk = 25ns -29ns = -4ns Since Hold Slack is Negative, So there is hold Violation. Setup Analysis: When a setup check is performed, we have to consider two thingsParameswara Rao P, Vamsi N, Sandeep N
Maximum Delay along the data path and clock latency to source Minimum Delay along the clock path from source to sink If the difference between the clock path and the data path is negative, then a timing violation has occurred. Data path is: CLK->FF1/CLK ->FF1/Q ->Inverter /Inverter->Inverter/->FF2/D Delay in Data path = max (wire delay to the clock input of FF1) + max(Clk-to-Q delay of FF1) +2*max(cell delay of inverter) + max(3 wire delay- "Q of FF1-to-inverter" , inverter to inverter and "inverter-to-D of FF2") =Td = 2+11+(9+9)+(2+2+2) = 37ns setup time has to be checked at the next clock cycle. *** For that assume clock period is 15ns *** Clock path is: CLK-> buffer->inverter -> FF2/CLK Clock path Delay = (Clock period) + min (wire delay from CLK to Buffer input) + min (wire delay from Buffer output to inverter input) + min(cell delay of Buffer) + min(cell delay of inverter) + min(wire delay from inverter output to FF2/CLK pin) - (Setup time of FF2) Tclk = 15+2+2+5+6+2-4=28ns Setup Slack = Tclk - Td = 28ns - 37ns = -9ns. Since Setup Slack is negative -> Setup violation. One of the possible to solution to overcome setup time violation in the circuit is, take the bigger clock period. Tclk=25+2+2+5+6+2-4=38ns Setup Slack = Tclk - Td = 38ns - 37ns = 1ns Since Setup Slack is positive -> No Setup violation. False Path: In a false path, there is a logical connection from one point to another. Because of the way the logic is designed, this path can never control the timing. Multy Cycle Path: A Multi-cycle path in a design is a Register-to-Register path, through some combinational logic where if the source register changes, the path will require N number of clock cycles (where N>1) before the computation is propagated to the destination register. Case Studies : If there was a class to attend and if the student is late by 2min then he will miss the class where as if it was the lecturer who is late then there is no problem. Comparing this with launch and capture paths. If the launch path is running late then there would be a problem.
3. a. Why do we need the function attribute in the .lib files. Explain this with an example. Solution: Synthesis is a process which converts RTL to gate level netlist. Libraries are very much essential in this process of synthesis. Design compiler during this process of synthesis, while converting RTL to Synthesis, DC maps the functionality of the RTL and infers a suitable logic for that corresponding functionality. In this process of inferring suitable gate, the tool matches the RTL functionality to the functionality mentioned in the library and corresponding cell matching the functionality is inferred. Hence function attribute is very much essential to infer correct cell matching the functionality of the logic during synthesis. Logical attributes is also used in STA. b. Does crosstalk increase or decrease as we move from 32nm to 28nm? Which of the following could be an adverse consequence of crosstalk? Identify all applicable effects from the list below i. Excessive power consumption ii. Glitching iii. Some paths slow down iv. Some paths speed up v. Cross correlation between sequential elements vi. Logical disturbance in RAM cells Solution: Cross Talk: Switching of the signal in one net can interfere neighbouring net due to cross coupling capacitance. If capacitance is less Cross Talk is less. If capacitance is more Cross Talk is more C=eA/D Distance between two wires are less in 28 nm as compared to 32nm So that capacitance is high in 28 nm, so cross talk is also high in 28 nm it is not applicable to Cross correlation between sequential elements 4. a. A SOC approaching tapeout has run into hold violations after routing. There were no violations before routing. Which of these causes would have contributed to this? i. The parasitics on the data signals are lower than expected ii. The parasitics on the data signals are higher than expected iii. The post route clock skew does not correlate well to preroute clock uncertainty iv. Input_delay and output_delay increased after routing
5. a. Explain the following terms with pictures and equations/inequalities i. Setup violation ii. Hold violation iii. Clock Skew
b. A design has been synthesized for 300MHz. However, after place and route, the results of Primetime indicate that there is a lot of positive slack. The smallest positive slack is 0.4ns. What is the frequency that this design can run at now? 300 MHz 3.3ns clock. 0.4ns slack => 2.9ns clock (344.8 MHz) Solution: Approx 350Mhz (ok) c. Identify areas of potential congestion in floor plan below. In areas with high congestion, is the correlation to post layout routing better or worse when compared to less congested areas?
Solution:
7. a. Explain the following commands i. Compile incremental used in DC ii. Report_delay_calculation used in PT iii. Create_mw_lib used in ICC Solution: i. Incremental compile Specifies to attempt only incremental improvements to the gate structure of a design. Portions of a design that are already mapped are exempt from logic-level optimization, and the resulting design should be the same (if no improvements can be made) or better in terms of its design constraints. Implementations for DesignWare operators are reselected in an incremental compile run
ii.
iii.
b. An SOC has a built in Voltage regulator. This Voltage regulator takes a digital code and outputs a voltage level accordingly. There is a bug in that block and all the voltages have shifted up by 15-20%. Think through all the consequences and list them factors to consider are: i. ii. iii. iv. v. Library characterization Speed of the circuits Setup, hold violations Power consumption Reliability
Solution: 1. Library characterization If It will be there in within tolerance limit it will allow that range of voltage, why because in characterization has less entries in corner cases. 2. Speed of the circuit Increases 3. Setup, hold violations It will get worst hold violation, and no setup violation. 4. Power consumption High 5. Reliability Low
8. a. In synthesis, what are the pros and cons of ungrouping hierarchy? How does ungrouping differ from flatten? Solution:
Solution: