4位先行进位加法器_行波进位/超前进位加法器详解
行波進位加法器是串行執行的,其高位的運算要依賴低位的進位,所以當輸入數據的位數較多時,會形成很大的延遲并可能成為芯片的關鍵路徑。
采用超前進位加法器(也叫先行進位加法器)可以有效減小這種延遲。下面介紹超前進位加法器的設計原理。設二進制加法器第i位為Ai,Bi,輸出為Si,進位輸入為Ci,進位輸出為C(i+1),則有:
Si=Ai⊕Bi⊕Ci;
C(i+1)=Ai*Bi+Ai*Ci+Bi*Ci=Ai*Bi+(Ai+Bi)*Ci;
令:Gi=Ai*Bi, Pi=Ai+Bi;
則有:
C(i+1)=Gi+Pi*Ci;
當 Ai 和 Bi 都為1時,Gi=1,產生進位C(i+1)=1;
當 Ai 和 Bi 有一個為1時,Pi=1,傳遞進位C(i+1)=Ci;
說明:“*”表示與邏輯、“+”表示或邏輯、“⊕”表示異或邏輯。將Gi定義為進位產生信號,Pi定義為進位傳遞信號,Gi的優先級比Pi高。當Gi=1時,此時也有 Pi=1,無條件的產生進位,不管Ci是多少;當Gi=0而Pi=1時,進位輸出為Ci,跟Ci之前的邏輯有關;4bits超前進位加法器設計
以此類推,我們可以發現規律,2bit超前進位加法G、P值計算可以類推到4bit超前進位加法,4bit超前進位加法G、P值計算可以類推到16bit超前進位加法。比如2bit超前進位加法:
令C2=Gm+Pm·Cin,又因為:C2=G1+P1·C1=G1+P1·(G0+P0·C0) = G1+P1·G0+P1·P0·C0;Gm=G1+P1·G0;Pm=P1·P0;發現什么了嗎?由2bit超前進位加法的G、P值計算可以類推到4bit超前進位加法:
即,高2bit的G、P值和低2bit的G、P值計算分別如下:Gh=G3+P3·G2;Ph=P3·P2;Gl=G1+P1·G0;Pl=P1·P0;那么4bit超前進位加法的G、P值可類推出:G=Gh+Ph·Gl=(G3+P3·G2)+P3·P2(G1+P1·G0)=G3+P3·G2+P3·P2·G1+P3·P2·P1·G0;P=Ph·Pl=P3·P2·P1·P0;顯然與上文的計算結果一致,因此由2bit超前進位加法的G、P值計算可以類推到4bit超前進位加法。同樣,由4bit超前進位加法的G、P值計算可以類推到16bit超前進位加法。
4bits超前進位加法器的CLA的參考邏輯設計如下:
那么16bits的超前進位加法器如何設計?可以采用4個超前進位加法器級聯的辦法,缺點是該方法是超前進位+行波進位的組合設計,進位邏輯并不是最快的,因為可以采用上文提到的由4bit超前進位加法的G、P值計算可以類推到16bit超前進位加法。16bits超前進位加法器設計
同理,我們得到了4bits的超前進位加法器的Gm、Pm值后,可以例化4個4bits的超前進位加法器完成16bits超前進位加法器的設計,當然需要再次例化上圖所示的CLA_4的模塊,根據4個4bits的超前進位加法器的Gm、Pm值快速并行算出進位C16的值。
總結
以上是生活随笔為你收集整理的4位先行进位加法器_行波进位/超前进位加法器详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Word如何插入excel表格(Exce
- 下一篇: java 搭建企业应用框架_java培训