Page copy protected against web site content infringement by Copyscape
"Learning is the only process where all small n stupid questions are more worthy than the smarter ones". Put your Queries on--www.vlsifaqs.blogspot.com or mail me at vlsihelio@gmail.com Worthy visit: www.extremephysicaldesign.blogspot.com

BASIC STA Part-2

Timing Violations:
  • Setup or Hold violation:
  1. Leads to improper operation of the flip flop and the connected components, it can result in missed data or ignored actions.
  2. The output of the flip flop goes into a state of metastability in the case of Setup/Hold violations.
  • Recovery and Removal Violations :
  1. Violations of Preset and Clear signal with respect to the Clock.


Setup Time:

  • The time required for the input data to be stable before the triggering clock edge.
  • So, Set-up check establishes that the path is fast enough for the desired clock frequency.


Hold Time:

  • The time required for the data to remain stable after the triggering clock edge.
  • So, hold check ensures that the path is not too fast so that data is not passed through.


Why Setup & Hold?

  1. Setup & Hold times are because of the intrinsic delays of the flip flop. Intrinsic delays are the actual delays of the transistors inside the cell.
  2. Setup and Hold are the times required for charging the capacitances present inside in cell.

Delay of an Inverter:

t = Rp * C

The delay is decided by the resistance of Pmos and the output capacitance.

The product ‘RC’ is called the “TIME CONSTANT”. This determines the delay of the cell.


When Vo = Logic ‘1’ t = Rn * C

The delay is decided by the resistance of Nmos and the output capacitance.


How to remove Setup & Hold violations:

To solve setup violation

1. By optimizing and restructuring the combinational logic between the flops of design. In big designs, we dont do this by ourselves, generally tool does this for us. And what are the ways that tool follows for the same? We'll discuss that in next post.


2. By using “Tweak flops” to offer less setup delay. Since, Tweak launch-flop have better slew at the clock pin and this makes CK->Q of launch flop faster, so that it helps in fixing setup violations.

3. By using Useful- skews.


To solve Hold Violations

1. By adding delay/buffer cell. Since the simple buffer offers less delay, so we use special Delay cells whose functionality remains same, i.e. Y=A, but with more delay.

2. By providing delay to the launch flop clock.

3. Where the hold time requirement is huge, we can use Lock-up Latches also.


Few GOOGLIES for you:
  1. What is negative setup? And where we use that?
  2. In most of the design, generally memory block has very less time margin to meet setup or hold requirements. In that case how you'll be able to meet the timing?
Note: For more faqs, keep visiting http://vlsifaqs.blogspot.com

STA: Critical terms

  1. Critical path: The path between an input and an output with the maximum delay.
  2. Recovery time: It is the minimum time that an asynchronous control must be stable before the clock active-edge transition.
  3. Removal time: It is the minimum length of time that an asynchronous control must be stable after the clock active-edge transition.



Jitter : Variation in period from clock source (PLL)



Insertion Delay

  • The delay between the clock root pin and clock sink pin of the flip flop


Glitch- A glitch is a short-lived fault in a system.

  • An electrical pulse of short duration that is usually the result of a fault or design error, particularly in a digital circuit

Input Delay:


Output Delay:


Single Cycle Paths:

  • By default, static timing tools assume all timing paths to be single cycle paths


There could be exceptions defined to the above behavior:

  1. Multi-cycle paths
  2. False paths


Multi-Cycle Paths:

  • Those paths that require more than one clock period for execution are called as multi-cycle paths.
  • It’s essential that multi-cycle paths in the design be identified both for synthesis and STA.


False Paths:

  • A path that can never be sensitized in the actual circuit
  • These paths are those that are logically/functionally impossible
  • The goal in static timing analysis is to do timing analysis on all “true” timing paths, these paths are excluded from timing analysis.



Combinational Loop:


  • Most STA’s can’t leave combinational loops in the design, because a race condition will occur.
GOOD ONE:
If i am not defining the False or Multicycle paths or Combinational Loops or Input/Output Delay in my constraint file (.sdc). In that case, what can be the effects you will find in your reports? (Analyze this one by one.)

Note: For more faqs, keep visiting http://vlsifaqs.blogspot.com

Clock skews (timing skew):

  • Clock signal in synchronous circuits arrives at different components at different times.




Clock skew = clock insertion delay of FF1 - clock insertion delay of FF2

Reasons for the Skew:

  1. Wire-interconnect length
  2. Temperature variations
  3. Variation in intermediate devices
  4. Capacitive coupling
  5. Material imperfections


Two Types of Clock Skew:

  1. Negative skew
  2. Positive skew

Positive skew:

  • Occurs when the clock reaches the receiving register later than it reaches the register sending data to the receiving register.

Negative skew:

  • Is the opposite:- the receiving register gets the clock earlier than the sending register.

BASIC STA Part-1

Timing Analysis:

Timing analysis is necessary to calculate the design’s system performance, describes the chips specification, accounts for chip pad loading, helps in achieving clock speed and above all of the reasons, determines if the chip works in two contrast places, like Sahara and Switzerland.


Types of timing analysis:

1. Dynamic timing analysis (DTA)

2. Static timing analysis (STA)

Dynamic Timing Analysis (Gate level Simulation):

A series of vectors over a time are applied during a simulation run, simulation calculates the logic value and delays over that time. So, in that manner we check the design’s functionality with time.


Static Timing Analysis:

Static timing analysis is a method for determining if a circuit meets timing constraints without having to simulate.

So, it validates the design for desired frequency of operation, without checking the functionality of the design.


Comparison of Analysis

Dynamic timing

  1. Requires exhaust set of vectors
  2. Checks for both functional and timing problems
  3. Requires more resources like run time, CPU memory, etc.
  4. Can work with any type of Logic either synchronous or asynchronous
  5. Slower as compared to STA.
  6. Easy to learn

Static timing

  1. Doesn't requires any set of vectors.
  2. Checks for timing only.
  3. Requires fewer resources than DTA.
  4. Restricted to synchronous part of the design only.
  5. Faster as compared to DTA.
  6. Difficult to learn


Why Static timing Analysis?

  1. To analyze the timing relationships of a given circuit to verify that the circuit works at the specified frequency (verification).
  2. 100 % path coverage is possible because no design specific pattern is required.
  3. You can’t achieve the clock speed without it.
  4. All paths are assumed critical.
  5. Process variation across die can be modeled.
  6. Constraints and reports are concise and easy to interpret.
  7. It can detect other serious problems like glitches, slow paths and clock skew.

Note: This analysis is done to provide the engineer feedback in order to help modify the design and/or modify the constraints to improve the timing quality of the design.


Place of STA in the ASIC Flow



STA involves three main steps:

  1. Design is broken down into sets of timing paths.
  2. Delay of each path is calculated.
  3. Path delays are checked to see if timing constraints have been met.

But first some Basic STA concepts:

Timing Paths:


Each path has a startpoint and an endpoint

  1. Startpoints:

Input ports (A, Q)

Clock pins of sequential devices (CLk)

  1. Endpoints:

Output ports (D, Z)

Data input pins of sequential devices (D)


Basic Timing Paths

Generally recognizes five types of default timing paths:

  1. Clock to setup
  2. Clock to pad
  3. Pad to pad
  4. Pad to set up

Clock to setup:

A clock to setup path starts at flip flop clock inputs, propagates through the flip flop Q out put and any number of levels of combinational logic, and ends at non clock flip flop register inputs.


Clock to pad:

It starts at a clock input of a flip-flop, propagates through the flip-flop Q output and any number of levels of combinational logic, and ends at an output pad.

Pad to Pad :

A pad to pad path starts at an input of the chip, propagates through one or more levels of combinational logic, and end at an output pad of the chip.


Pad to Setup:

A pad to setup path starts at an input pad of chip and ends at flip flop input.