Q471. What is the role of synchronizer?
The synchronizer is used to avoid metastability. It is a digital circuit which is used to convert asynchronous or signals from different clock domains into the receiver’s clock domain so that capturing would not cause any metastability issue. It provides sufficient time for the clock signal to settle down the metastable output in the receiver’s clock domain.
Q472. How latch and flip-flops are related?
When the two D lathes are connected back to back (as shown in Figure), it forms a flip-flop.
Here, one latch acts as a master flip-flop, other acts as slave flip-flop. As we know that latch is level sensitive and a flip-flop is an edge-sensitive device. The first latch is low level and the second latch is high level. It forms a rising edge sensitive D flip-flop. Latch consumes less power than a flip-flop. There are chances of glitches in latch is more than flip-flop.
Q473. The device delay is dependent on which factors?
The speed of the device is directly proportional to the following parameters:
1. Width of the device
2. Clock slew rate
3. Load capacitance
Q474. What is the difference between statistical and conventional STA?
The application of probability distribution in determining possible circuit
outcomes, for variation in the gate and interconnect timings is known as
statistical STA. It is different from conventional/deterministic/traditional STA
in the following ways:
- In statistical STA, there is no chance of miss paths, as it does not have any vectors.
- It can be used for circuit optimization.
- The run time is linear.
- It cannot handle spatial correlation within the die, which is possible in the case of deterministic STA.
- There are correlational problems while using statistical STA, it needs more corners to resolve design issues.
Q475. Enlist the major tools that are available for STA?
- Cadence Encounter
- Synopsys Primetime
- Altera Quartus II
- IBM Eins Timer
Q.476. What are all the items that are checked by static timing analysis ??
Static Timing Analysis is used to check mainly the setup and hold time checks. But it
also checks for the assumptions made during timing analysis to be holding true.
Mainly it checks for cells to be within the library characterization range for input
slope, output load capacitance. It also checks for integrity of clock signal and clock
waveform to guarantee the assumptions made regarding the clock waveforms. A
partial list of things it checks is here :
- Setup Timing
- Hold timing
- Removal and Recovery Timing on resets
- Clock gating checks
- Min max transition times
- Min/max fanout
- Max capacitance
- Max/min timing between two points on a segment of timing path.
- Latch Time Borrowing
- Clock pulse width requirements
Q.477. If hold violation exists in design, is it OK to sign off design? If not, why?
No you can not sign off the design if you have hold violations. Because hold violations
are functional failures. Setup violations are frequency dependent. You can reduce
frequency and prevent setup failures. Hold violations stemming from the same clock
edge race, are frequency independent and are functional failures because you can end
up capturing unintended data, thus putting your state machine in an unknown state.
Q.478. What are setup and hold checks for clock gating and why are they needed ?
The purpose of clock gating is to block the clock pulses and prevent clock toggling.
An enable signal either masks or unmasks the clock pulses with the help of an AND
gate. As it is clock signal which is in consideration here, care has to be taken such that
we do not change the shape of the clock pulse that we are passing through and we
don’t introduce any glitches in the clock pulse that we are passing through.
As you can see in the figure the enable signal has to setup in advance of the rising
edge of the clock in such a way that it doesn’t chop the rising edge of the clock. This is
called the clock gating setup or clock gating default max check.
Similarly the tuning off or going away edge of the enable(EN) signal has to happen
well past the turning off or going away edge of the clock, again to make sure it doesn’t
get chopped off. This is called the clock gating hold or clock gating default min check
Q.479. What determines the max frequency a digital design will work on. Why hold time is not included in the calculation for the above ?
Worst max margin will decide the max frequency a design will work on. As setup failure is frequency dependent. Hold failure is not frequency dependent hence it is not factored into the frequency calculation.
Q.480. One chip which came back after being manufactured fails setup test
and another one fails a hold test. Which one may still be used how and why ?
Setup failure is frequency dependent. If certain path fails setup requirement, you can reduce frequency and eventually setup will pass. This is because when you reduce frequency you provide more time for the flop/latch input data to meet setup. Hence we call setup failure a frequency dependent failure. While hold failure is not frequency dependent. Hold failure is functional failure.