后端面试--每日一题(059)
there are 2 same clock gating cell. The input of clk, output load-A and load-B are 100% same in electronic and physical. There is same X-talk to the instance and nets. Only difference is cntl-A and cntl-B.
Question: is the same path delay from clk to load-A and from clk to load-B? Why?
图示2个相同的clock gating,输入端clk到2个单元完全相同(电气特性和物理特性),输出端load-A和load-B也完全相同,唯一的不同就是cntl-A和cntl-B。请问,从clk到输出端load-A的延迟,与clk到load-B的延迟是否相同?为什么?
难度:4
不一定一样的吧,在single corner的模式下,应该会是一样的,但是如果是OCV模式,那就得看Ctrl_A和Ctrl_B到达gate的pin脚上的transition一样不一样咯.
为什么cntl-A 和cntl-B的transition不同会影响clk到output的路径的延迟?
一般来说clk2load 的delay是在另外输入恒定有效(比如都为1)的时候得到,要是有一个为0,那么输出就是0,就没有啥delay了。所以说考虑cntl-A and cntl-B的transition的时候,应该只考虑两个同时上升或者同时下降的情况。那么显然cntl-A and cntl-B的slew不同,肯定会影响到delay啊。
同意4楼的,赞一下
2,4楼的结论正确,但是解释不够清楚
按照lib里面的定义,clk到load之间的延迟由clk输入端的transition和load输出端的load决定,为什么与另一个输入端cntl有关?
我能想到的是,不同的slew造成两个AND gate上的overdrive不一样,这样drive current就不一样,对于同样的load,delay就不同。不过我char的and gate里面没有两个输入同时switch的arc,只有一个恒定,另一个上升或下降造成输出上升或下降的arc,在这等更好的解释了。
其实就是说,在OCV模式下,tool在计算每个cell的delay的时候,都是根据其所有的的input transition的最大值或者最小值去计算的,而ctrl-A上的transition要是比clk的大的情况下,clk-->load-A的max delay是根据ctrl-A的transition来计算的,min delay就是根据 min transition(ctrl-A, clk )来算的.这个方法对ctrl-B也成立.所以当ctrl-A和ctrl-B的transition不一样的时候,clk-->load-A和clk-->load-B的timing是会不一样的.特别是load-A和load-B一个做lunch一个做capture的时候,就很明显了...
PrimeTime里面把这个叫做Path Base Analysis (PBA)
与OCV关系不大
Path Base Analysis (PBA)原来是这个意思,以前看过这个概念,但是一点也不理解。
学习学习
额,觉得2楼有道理
PBA, 明白啥意思了,谢谢,学习了
我说的那段,不叫PBA吧.如果是PBA,在clk到gate的input transition一样的情况下,clk->load-A和clk->load-B的delay就应该是一样的啊,当然不能考虑SI的影响.
你以前说的不是PBA,所以我说与OCV关系不大
你现在说的PBA,正好与PT的解释相反!
因为.lib里面这个定义,是在其他input pins电平固定不变的前提下,得到的延迟信息。
如果是想得到当前信号的延迟信息,应该是在当前信号电平固定不变的情况下,由其他input pins最大的延迟信息决定其延迟
从电气特性角度来讲,delay肯定是不一样的,这就不需要讨论了。从PT timing角度,如果你time from CK to load-A or from CK to load-B, turn off coupling(xtalk),我感觉没有差别,但是如果你要只是time to load-A VS to load-B,那肯定不一样,而这个差别就取决于cntl-A和cntl-B了。PBA只是对同一个node的slew和delay而言的,而不会用一个AND门两个input node的最坏slew去同时代表两个input node的slew,这个问题不涉及timing window,PBA基本可以忽略。
认为ctrl-A, ctrl-B会影响load-A,load-B的transition, 但不会影响CLK的delay。
等详解。
如果是single corner+2个输入pin不同时跳转的话,clk2load的延迟肯定是一样的。实际上也是一样的,因为clk2out要有效,必须ctrl为1,要不clk传送不到out,所以肯定clk2load的延迟只存在于ctrl为1的情况下,为什么2个门的情况一摸一样为啥延迟不是一样的?
另外请教为什么在single corener, 2输入pin不同时跳转的情况下ctrl-A和ctrl-B的transition不同会影响clk2load的延迟?最好门级结构说明一下。非常感谢。
这个看.lib 的支持吧。如果lib里面只有A-Y信息,与B高低无关,那就没区别了。
反正是TLU 方式,看TLU如何定义。
一样的,因为两个en 信号必定满足clock gating check.所以两个信号在clk变化的时候必定是1或者是0的stable信号。
所以clk -->load(x)的delay和两个定值无关。
我靠,学习了。有道理,感觉跟计算removal合recovery的思路一样。
不会做
不明白,那哪个才是正确的答案呢
晕了!
When Prime Time analysis with graph's bouding timing:
Delay from clk to load-A calculate use input transition, which select the worst slew between clk transition and ctrl-A transition.
Delay from clk to load-B calculate use input transition, which select the worst slew between clk transition and ctrl-B transition.
when prime time analysis with path-base:
Delay from clk to load-A calculate use input transition, which selectclk transition.
Delay from clk to load-B calculate use input transition, which selectclk transition.
小弟有个问题,PT基于不同的分析方式可以得出不同的结果。但是实际的电路应该是只有一种时延结果是对的吧。我个人觉得还是与Cntl-A/B的输入transition有关吧。因为后面连接的是与门,与门由四个晶体管搭建而成,则输入的slew rate都会影响到输出的延时吧。
受教了
PBA GBA还是糊涂,不很明白啊,大侠们来讲一讲啊
求大侠讲解