What is useful skew and when we use it ?
If
there is a critical timing path and we are not able to meet timing on
that path by the different optimization technique. Than we take the help
of skew to meet the timing and this we call it as useful skew. This
technique generally we use in the timing critical paths and when we are
using this we should make sure that it is not affecting the other timing
paths.
How the useful skew can be achieved ?
We
can achieve the useful skew by using the macromodels. Let us consider
there is a timing path in which launch flop is FF1 and capture flop is
FF2 and there is a timing slack violation of -500 ps and it can only be
achieved only through the useful skew. So at the clk pin of FF1 we use
macromodel of -0.5 ns, it means we are telling the tool that in the
launch path there is already a clock insertion delay of -0.5 ns. So
while clock tree building tool will not add enough buffers in the launch
path, but in actual there is no such insertion delay of extra 0.5ns on
the launch path. So by this technique we will end up with a positive 0.5
ns slack and timing is met on that particular timing path.
What is preserve pin?
By using preserve pin the clock tree build beyond that pin is not disturbed and it is also called as the auto macro model.
What is the trigger edge skew ?
It is the difference between the max rise delays.
What is the difference between the local skew and global skew ?
The
skew between two talking flops is called as local skew and the
difference between the max insertion delay and min insertion delay is
called as global skew.
Is there any changes occurs after CTS in timing point of view ? If yes what is the reason ?
After
CTS timing changes occurs as skew comes into picture, if timing path
exhibits positive skew than it will be helpful for setup and if it is
negative skew than it is helpful for hold. During CTS as clock buffers
and inverters are added, tool disturbs the other cells and try to move
them which can be one of the reason for timing degradation.
After CTS which cells placement status is fixed and why ?
After
CTS all the cells present in clock paths are fixed like flops, ICG's,
clock buffers and inverters, clock muxes etc. because if the cells in
the clock path are moved than it may result in the change of skew.
What is the main motive to build clock tree ?
To achieve minimu skew.
To achieve minimum insertion delay
To achieve low dynamic power consumption
During CTS what percentage of power is consumed and why?
Around
40% of the power is consumed during CTS because clock signal is the
highest switching signal in the design which results in more dynamic
power consumption.
After CTS why we see false slacks in IN2REG and REG2OUT paths ? How we overcome it ?
In
IN2REG and REGOUT paths latency is not mentioned on the input and
output ports. So in IN2REG we see huge positive slacks and in REG2OUT
paths we see huge negative slack. So by using the "set_clock_latency"
latencies are applied properly.
For clock tree building why we prefer to use higher layer metals ?
As
we go to the higher layers the area capacitance reduces as height from
the base increases. Area capacitance and height are inversely
proportional so it leads to less area capacitance. Less capacitance will
results in less dynamic power consumption.
What is source latency and network latency ?
The
clock network delay from the top level clock port to the block level
clock port we call it as source latency and the network delay from the
block level clock port to the flop clock pin we call it as the network
latency.
What is CTS ? Why it is needed ?
Clock Tree Synthesis(CTS)
is a process in which all the clock nets are buffered with clock
inverters and clock buffers. It’s main motive is to achieve minimum
skew, less insertion delay and less dynamic power consumption.
What is an ideal/propagated clock ?
When clock is not seeing
any load than we call it as the ideal clock and when clock tree is build
the clocks are propagated and actual loads are seen.
From which stage do you see ideal / propagated clocks ?
Before clock tree building clock is ideal and once the clock tree is build the clock is propagated
How do you reduce insertion delay ?
We can reduce the insertion delays by clock grouping and by setting the proper values to max delay and min delay
Does CTS honor MCP & False Paths ?
Yes
What is Exclude Pin ?
If there is no need to minimize the skew than we put the exclude pin on that particular flop clock pins.
What is Preserve Pin ?
Preserve pin is also
called as automacro model. By defining preserve pin tool considers the
clcok tree build after that particular cell and dont disturb that clock
tree path and also tells the tool to build the
clock tree to the specified pin where the preserve pin is declared.
What is Leaf Pin ?
When leaf pin is set tool builds the clock tree only to that particular point
What is Clock Group ?
By adding clock groups we try to minimize the skew between 2 synchronous clocks
Difference b/w Clock tree and Clock Mesh ?
In clock tree depth
of clock buffers is unlimited and in clock mesh hardley one or two
clock cells are added before connecting to the sink pin.
What is the impact of Max Insertion Delay in CTS ?
Max insertion delay
is the natural insertion delay that is given by the top level guy for
the block levels and it indicates that the maximum this much inertion
delay should be achieved.
What is the impact of Min Insertion Delay in CTS ?
Minimum insertion delay can be changed by the block level guy based on how much skew is targeted in the block level.
Types of Latency ?
source latency and network latency
What is Source & Network Latency ?
The insertion delay
from the chip level clock port to the block level clcok port is called
source latency and the isertion delay from the block level clock port to
the clk pin of the flop is called as the
network latency
What is NDR ? Why do you use it ? Adv & Disadv of using it ?
NDR is the non
default rules which are set by the block level or top level people for
the particular block or chip respectively. These are mainly use to avoid
the crosstalk effect on the clk nets as clock
nets are the highest switching nets in the entire design. Advantage is
crosstalk effect is reduced and disadvantage is as the clock nets are
routed with double width and double spacing the no. of routing tracks
are reduced and which leads to congestion.
Which layers you use for CTS ? Why ?
Generally top layers are used for CTS because area capacitance reduce with that and leads to lower dynamic power consumption.
What is the impact of Max Skew in CTS ? Why is it needed ?
Max skew is nothing but the target skew that tool need to achieve while building the clock tree
What is Impact of Postive/Negative skew on hold ?
With positive skew hold timing degrades and with negative skew hold timing improves
What is Impact of Postive/Negative skew on Setup ?
With positive skew setup timing improves and with negative skew setup timing degrades
Why you want minimal skew in CTS ?
By achieving minimal skew it results in less switching as a result it leads to less power consumption
What is Skew balancing ?
Skew balancing is done in synchronous clock groups to achieve lesser skew
What is Skewing ? useful Skew optimization in CTS ?
Skewing is a
process to disturb the clcok paths for getting more skew. The approach
in which the critical timing paths timing is met by adding more positive
skew we call it as useful skew.
What is the impact of balancing clocks that are non-synchronous ?
In non-synchronous clock domains kew is not balanced as no data exchange is done in that case
Impact of CTS on power ?
CTS consumes 40% of
the total power and it is because clock net is the highest switching
net in the design so it leads to more dynamic power consumption
How do you reduce clock power ?
Clock power can be reduced by routing the clock nets in the higher layers.
Where do you generally place clock gaters to reduce power ?
Clock gaters are
generally placed near to the clock ports to reduce the power as clcok
gater will produce only the required clcok pulses
What is Clock Buffer ? How is it different from normal buffers ?
The buffers which
are used in the clock paths are referred as the clock buffers. Clock
buffers are having sharp rise and fall delays.
Freq vs Setup & Hold ?
With increase in frequency setup timing becomes critical and hold is independent of frequency
What is Virtual Clock ? Why it is used ?
Virtual
clcoks will not be having any physical clock ports and these are
imaginary clocks. To take into account the false slacks that we see in
the IN2REG and REG2OUT paths we define virtual clocks
What is Cloning ?
For
dynamic power reduction we use ICG cells and output of that ICG is feed
to the flops clock pins. If one ICG is used for gating than the density
of flops increases near to the ICG. To avoid that we define the min and
max fanout of ICG, based on that
No comments:
Post a Comment