在数字标准单元库中,有CLKBUF*BUF* 这两类缓冲器,一般时钟树综合时,会使用CLKBUF(或CLKINV等)而不是BUF,为什么呢?这两者有何区别呢?

结论

先说结论:

The CLKBUF cell provides the logical buffer of a single input (A), with balanced delays for clock signals.

另外:CLKBUF的功耗会比BUF略大,延迟也会稍大。

延迟比较

查看手册“CSM 180nm CH018IC SC7 Ultra High Density Base RVT Standard Cell Library Databook”:

CLKBUF的延时:
image-20240727144656053

BUF的延时:
image-20240727144839795

可看出确实是CLKBUF的延迟比较平均,而BUF的延时在上升沿和下降沿的延迟差别较大。

电路比较

比较CLKBUFX1(左)和 BUFX1(右):

image-20240727145157420

查看电路,发现两者电路结构是一样的,唯一不同的地方是pmos的栅宽不同:

image-20240727145313247

功耗比较

查看标准单元库.lib文件:

image-20240727145709526

...

image-20240727145736946

从上图中可以看到,CLKBUF的功耗总体上是要比BUF要大。毕竟CLKBUF的pmos栅宽变大了,这一点也并不奇怪。

参考

  • CSM 180nm CH018IC SC7 Ultra High Density Base RVT Standard Cell Library Databook