后端面试--每日一题(071)
时间:10-02
整理:3721RD
点击:
问题由szp9912收集提供,特此感谢!
What is cloning and buffering? where we will use it?
什么叫克隆和缓冲,什么情况下用到这2种技术?
难度:3
What is cloning and buffering? where we will use it?
什么叫克隆和缓冲,什么情况下用到这2种技术?
难度:3
cloning是在有多个sink的情况下,不改变逻辑功能把当前cell复制一份,分别驱动下一级的cell,这样可以减少当前单元的负载,从而获得更好的时序,有时是为了placement的考虑,譬如几个sink的方向不同,缺点是会增加上一级的负载
buffering是在不改变信号的情况下对信号再生,提高它的驱动能力,通常是两级反相器构成,可以提高电路的运行速度,有时也用来当延时单元,特点是不会增加上一级的负载
在多个sink的时序都比较紧的情况下适合用cloning,如果sink对timing的要求区别挺大的,可以用buffering,一部分时序较紧的由上一级直接驱动,剩下的可以加一级buffer后驱动
clone 就是复制一份 ,驱动下面,buffer就是加buffer,interver pair,
clone在处理多fanout的时候有用 , buffer只能处理单个net,
icg clone 就是为了分担 clock tree的load, 使得clock tree做的更好,timing更容易满足,
edi里面叫 ckCloneGate,
icc里面叫 split_clock_nets ,
问两个问题啊
(1)为什么加入buffer后不会增加上一级负载呢,上一级负载不是等于 原来的负载+加入的buffer负载
(2) 时序较紧 是什么意思呢 是指setup还是指hold;如果是setup较紧,可以插入buffer(起增大驱动能力作用)来解决啊,如果是hold较紧 也可以插入buffer(起延时作用)