1 buffer是什么?
所謂buffer,一般是幾級器件尺寸逐步增大的反相器或類似結構的電路,以使得電阻在獲得所需的驅動能力時,在功耗延時積上也達到最優。前后級的最佳驅動比例在2.718左右。buffer實際就是兩個串聯的反相器,常用于時鐘路徑中,用于增加時鐘驅動能力,使得時鐘clock具有良好的上升沿和下降沿。時鐘buffer本身是輸入負載較小,輸出驅動能力較強。因此前級電路驅動buffer容易,而buffer驅動后級電路也比較容易。
2 不插buffer會發生什么情況
不插buffer會導致驅動能力不夠,通常是兩種情況
第一種是輸出電流不夠,導致信號狀態異常,這常常發生在后級電路對輸入電流有要求的時候,另一種則是輸出電流不夠,導致信號上升下降沿太差,這常常發生在后級電路的輸入電容較大的情況。
驅動能力強:擺幅大,上升快
驅動能力弱:擺幅下,上升慢
![pYYBAGP-5d-AGYMNAAA3RS6cmKQ367.png](https://file.elecfans.com/web2/M00/95/26/pYYBAGP-5d-AGYMNAAA3RS6cmKQ367.png)
圖1:不同驅動能力下的時鐘翻轉情況
3 驅動能力
所謂驅動能力,是指前級電路的輸出信號可以使得后級電路有效響應,這個有效的包含兩層意思:第一是前級輸出信號能被后級電路識別,第二是在規定的時間內被后級電路識別。
4 應用場景-1:通過插buffer減少負載數量
如圖所示,時鐘驅動16個reg時,負載很大,時鐘上升很慢,并且時鐘擺幅小,此時插入4個buffer。加buffer之前你的時鐘直接驅動寄存器或者很多個寄存器。加buffer以后你的時鐘只驅動buffer,而你的buffer會去驅動寄存器。時鐘buffer本身是輸入負載較小,輸出驅動能力較強的。而且通常會做成一個時鐘buffer網絡來驅動設計里面全部的寄存器,并保證整個時鐘網絡上的信號有很好的transition,以及平衡從時鐘源到所有寄存器的insertion delay.寄存器的CK端接在時鐘上面, 在時鐘上加入buffer是在做時鐘樹的時候讓時鐘到每一個寄存器的CK端的SKEW盡可能的小,還有增加驅動的功能。(圖中的16個寄存器為舉例數字,實際IC設計中并不一致。
![poYBAGP-5eeAbFzyAABut_JMd-Y167.png](https://file.elecfans.com/web2/M00/94/A3/poYBAGP-5eeAbFzyAABut_JMd-Y167.png)
圖 2 :時鐘路徑buffer插入
5 應用場景-2:減少連線負載
當數據連線很長時,連線負載電容很大,導致存在很大的延時。此時插入buffer將連線分割成幾個連線,每個buffer驅動的負載較小,因此能夠有效減少延時,雖然buffer本身也具有延時,但是插buffer減少的連線延時明顯大于buffer自身延時就可以采用插buffer的方式。
6 插buffer減少延時的原理:
通過插buffer的方式減少了電路的負載電容,負載電容減少后,同樣電壓的情況下,對電容充電速度快(上升沿陡峭),同樣電容小時存儲的電容小,放電所需的時間短(下降沿陡峭)。一句話來說就是: 插buffer的方式減少了電路的負載電容,從而增大了電路驅動能力。
總之,數字電路中的buffer一般有兩個作用:
1.提高驅動能力
buffer是一種寬高比很大的mos管,寬高比大意味著電流大,驅動能力高。
在扇出很大的wire中插入buffer可以提高帶負載能力,常見于時鐘樹中。
2.確保信號時序正確
當一條wire很長時,延遲很大(delay正比于長度的平方,設長度為1,delay為1),這時在中間插入buffer,wire delay變為1/4+1/4=1/2,只要buffer delay小于1/2,則buffer的插入可以縮短wire delay。
當一條wire的延遲不大時,如果有hold violation(表現為數據到達過快,需要滯后到達),則插入buffer,利用buffer delay可以修正這個hold violation。
-
電路
+關注
關注
172文章
5966瀏覽量
172954 -
反相器
+關注
關注
6文章
311瀏覽量
43507 -
buffer
+關注
關注
2文章
120瀏覽量
30130
發布評論請先 登錄
相關推薦
評論