clock buffer的作用
1 buffer是什么?
所謂增加buffer,buffer一般是幾級器件尺寸逐步增大的反相器或類似結(jié)構(gòu)的電路,以使得電阻在獲得所需的驅(qū)動(dòng)能力時(shí),在功耗延時(shí)積上也達(dá)到最優(yōu)。前后級的最佳驅(qū)動(dòng)比例在2.718左右。buffer實(shí)際就是兩個(gè)串聯(lián)的反相器,常用于時(shí)鐘路徑中,用于增加時(shí)鐘驅(qū)動(dòng)能力,使得時(shí)鐘clock具有良好的上升沿和下降沿。時(shí)鐘buffer本身是輸入負(fù)載較小,輸出驅(qū)動(dòng)能力較強(qiáng)。因此前級電路驅(qū)動(dòng)buffer容易,而buffer驅(qū)動(dòng)后級電路也比較容易。
2 不插buffer會(huì)發(fā)生什么情況
不插buffer會(huì)導(dǎo)致驅(qū)動(dòng)能力不夠,通常是兩種情況
第一種是輸出電流不夠,導(dǎo)致信號狀態(tài)異常,這常常發(fā)生在后級電路對輸入電流有要求的時(shí)候,另一種則是輸出電流不夠,導(dǎo)致信號上升下降沿太差,這常常發(fā)生在后級電路的輸入電容較大的情況。
驅(qū)動(dòng)能力強(qiáng):擺幅大,上升快
驅(qū)動(dòng)能力弱:擺幅下,上升慢

圖1:不同驅(qū)動(dòng)能力下的時(shí)鐘翻轉(zhuǎn)情況
3 驅(qū)動(dòng)能力
所謂驅(qū)動(dòng)能力,是指前級電路的輸出信號可以使得后級電路有效響應(yīng),這個(gè)有效的包含兩層意思:第一是前級輸出信號能被后級電路識別,第二是在規(guī)定的時(shí)間內(nèi)被后級電路識別。
4 應(yīng)用場景-1:通過插buffer減少負(fù)載數(shù)量
如圖所示,時(shí)鐘驅(qū)動(dòng)16個(gè)reg時(shí),負(fù)載很大,時(shí)鐘上升很慢,并且時(shí)鐘擺幅小,此時(shí)插入4個(gè)buffer。加buffer之前你的時(shí)鐘直接驅(qū)動(dòng)寄存器或者很多個(gè)寄存器。加buffer以后你的時(shí)鐘只驅(qū)動(dòng)buffer,而你的buffer會(huì)去驅(qū)動(dòng)寄存器。時(shí)鐘buffer本身是輸入負(fù)載較小,輸出驅(qū)動(dòng)能力較強(qiáng)的。而且通常會(huì)做成一個(gè)時(shí)鐘buffer網(wǎng)絡(luò)來驅(qū)動(dòng)設(shè)計(jì)里面全部的寄存器,并保證整個(gè)時(shí)鐘網(wǎng)絡(luò)上的信號有很好的transition,以及平衡從時(shí)鐘源到所有寄存器的insertion delay.寄存器的CK端接在時(shí)鐘上面, 在時(shí)鐘上加入buffer是在做時(shí)鐘樹的時(shí)候讓時(shí)鐘到每一個(gè)寄存器的CK端的SKEW盡可能的小,還有增加驅(qū)動(dòng)的功能。(圖中的16個(gè)寄存器為舉例數(shù)字,實(shí)際IC設(shè)計(jì)中并不一致。)

圖 2 :時(shí)鐘路徑buffer插入
5 應(yīng)用場景-2:減少連線負(fù)載
當(dāng)數(shù)據(jù)連線很長時(shí),連線負(fù)載電容很大,導(dǎo)致存在很大的延時(shí)。此時(shí)插入buffer將連線分割成幾個(gè)連線,每個(gè)buffer驅(qū)動(dòng)的負(fù)載較小,因此能夠有效減少延時(shí),雖然buffer本身也具有延時(shí),但是插buffer減少的連線延時(shí)明顯大于buffer自身延時(shí)就可以采用插buffer的方式。
6 插buffer減少延時(shí)的原理:
通過插buffer的方式減少了電路的負(fù)載電容,負(fù)載電容減少后,同樣電壓的情況下,對電容充電速度快(上升沿陡峭),同樣電容小時(shí)存儲(chǔ)的電容小,放電所需的時(shí)間短(下降沿陡峭)。一句話來說就是: 插buffer的方式減少了電路的負(fù)載電容,從而增大了電路驅(qū)動(dòng)能力。