| ||
1、create generated clock时,怎么指定master pin呢?
-source master_pin 就是生成这个generated clock的源clock的pin。它可以是source clock,也可以是generated clock
与此相关的是另一个概念是
-master_clock clock 是生成这个generated clock的最源头的那个clock。一般情况下,可以不使用这个选项。当有多个源clock到达这个generated clock,工具无法主动判断时,才被要求使用这个选项。
2、请问 ICC中的 well filler 和 tap cell 是什么意思,两者有什么区别?为啥在insert tap cell时,还需要选择layer ?
Tap cells are a special nonlogic cell with well and substrate ties. 它只针对于没有substrate和well tap的stdcell library。一般来讲,在floorplan阶段,也就是preplacement阶段就要加tap cells,它有距离的规则要求需要满足。
Well filler是routing 完后,为了避免well的gap造成的space violation而加的weill filler cells。对一般的工艺来讲,加普通的filler cells即可解决问题
针对不同的工艺,需要设计前先了解它的库中所包含的special cells
3、什么叫useful skew?
概念上来讲useful skew就是有些datapath延迟较大,而处于同一时钟树中的寄存器中的时钟延时相对较小时,可以迁就延时长的datapath,增加寄存器的时钟延迟并不影响时钟树的功能,这种方法就是时钟树的有用偏差(useful skew)。
4、时钟树的动态平衡:
某个特定点的insertion delay随着参考点的delay而变化。在无法预知(又不想特别指定)参考点的insertion delay的情况下,想让特定点与之平衡时使用
5、skew : 對designer來說越低越好, 但對apr來說meet timing就好 (但designer不會接受你這種說法)
/6、latency : DC時用來constraint的command, 實際用到的機率不大, 因為過長的latency會造成一堆不必要的delay/buffer, 但我印象中latency在designer那邊有別的concern (但我忘了)
7、input delay: 可以跟output delay一起討論,input 決定輸入的driving, output決定loading
8、Stacked via:落在一起的VIA,可以跳过中间几层layer,连接上下层
9、Initial Placement : 依據你的選項(timing driven, congestion driven)做cell placement,在我的認知裡面這樣做不會對cell做任何opt (cell sizing / buf insertion)
10、什么是insertion delay?
clock的latency 又被称为insertion delay,包括clock source insertion delay和clock network insertion delay两部分。
11、关于 clock_uncertainty的设置 :在讨论区的 FAQ上看到CTS前的 hold的 uncertainty预估如下,
想问一下 hold分析为什么不考虑 jitter的影响呢
preCTS,hold: uncertainty = 预估的clock skew
答: jitter可以简单的理解为不同的时钟周期时钟边沿到达的差别。而hold检查是在同一拍,相同时钟边沿的检查。所以hold检查中不需要考虑jitter
12、在ICC中的select选项中By name toolbar下面的 Leafcells 与Leafpins是什么意思?与普通的cell有什么不同呢?
13、ICC中cell type 的cover ,tap,Double/Triple Height是指什么,什么作用?
14、ICC在跑place_opt的过程中会输出很多优化过程的信息,那个design rule cost 是什么意思?看到它有时是几十,有时又是0,ICC是根据这个值来优化么?
15、看foundry文档时出现缩写:PD,PS,AS,AD,SA,SB。没找到全称,是不是很基本的名词?还有一个T/O?
16、不知道library中什么情况下的setup或hold为负值??
DFF可以简单的看成是两个latch串联在一起构成的,前一个latch低电平有效,后一个latch高电平有效。(这里就是指时钟的低电平和高电平)
正常的数据传输要求在高电平来之前数据已经传到后一个latch的输入端,所以数据比时钟要先到一个latch的delay1,这段时间就是setup。之所以setup会出现负值,是因为DFF内部的CLK是经过一定的逻辑才给到latch的,也许这段逻辑的delay2已经大于了latch的delay1,这是的setup=delay1-delay2,就是负值。
17、请教一下local skew的概念。文档里说是 the skew between the clock
inputs of neighboring filp-flops. 还是没太弄清楚是什么意思。想知道这个local skew 和global skew有什么区别。或者说这个参数的存在作用。
local skew 指的是一个时钟树里有数据交互的节点之间的clock skew。
globle skew指的是时钟树里所有节点之间的clock skew。
对于hold为负的情况类似,是因为像SDFF这种数据也要经过一段逻辑才能传到latch,这样旧数据的保持时间是要减去这段逻辑的延迟的,就可能出现负值了。