加法器是如何實現(xiàn)的
verilog實現(xiàn)加法器,從底層的門級電路級到行為級,本文對其做出了相應的闡述。
1、一位半加器
所謂半加器就是有兩個輸入,兩個輸出,不考慮進位。其真值表如下:
?
由此,我們可以得到S=A^B,C=A&B。用相應的與門、異或門來實現(xiàn)半加器。
對應的Verilog代碼如下:
?
2、一位全加器
全加器包含三個輸入,兩個輸出,其中包含一個進位。
2.1 實現(xiàn)方式一
與半加器類似畫出其真值表,進一步通過畫卡諾圖得到相應的函數(shù)表達式。
S=A^ B^cin,co=(A&B)|(A&cin)|(B&cin)。
2.2 實現(xiàn)方式二
利用兩個半加器和一個或門實現(xiàn)全加器。其電路結(jié)構(gòu)圖如下:
?
?
?
3、多位加法器的實現(xiàn)
在數(shù)字信號處理的快速運算電路中常常用到多位數(shù)字量的加法運算,對于多位寬加法器的處理,我們以逐位進位加法器為例。
代碼和電路結(jié)構(gòu)框圖如下:
串行加法器限制了運行的速度,在實際應用中,我們一般用到并行加法器。大致可以分為以下幾類:進位旁路加法器、線性進位選擇加法器、平方根進位選擇加法器、超前進位加法器、對數(shù)超前進位加法器。并行加法器比串行加法器快得多,電路結(jié)構(gòu)也不太復雜,它的原理很容易理解。
4、行為級描述加法器
用Verilog HDL來描述加法器是相當容易的,只需要將運算表達式寫出就可以了。
一位全加器
?
八位加法器
?
這樣設(shè)計的加法器在行為仿真時是沒有延時的。借助綜合器,可以根據(jù)以上Verilog HDL源代碼將其自動綜合成典型的加法器電路結(jié)構(gòu)。綜合器有許多選項可供設(shè)計者選擇,以控制自動生成電路的性能。設(shè)計者可以考慮提高電路的速度,也可以考慮節(jié)省電路元件以減少電路占用硅片的面積。在FPGA的庫中或某工藝的ASIC庫中,都有參數(shù)化的加法器供設(shè)計者選用。
加法器的設(shè)計優(yōu)化
邏輯改造后,電路也應該相應地進行優(yōu)化設(shè)計,因為如果用普通的門電路來實現(xiàn)式(12)~(15)的邏輯,晶體管數(shù)目(面積)會增加。另外,在電路級也可以采用減少節(jié)點翻轉(zhuǎn)和寄生電容的方法來降低功耗。
式(12)~(15)中多處要用到同或門,設(shè)計中,我們用基于旁路的靜態(tài)邏輯[4]實現(xiàn)產(chǎn)生gs的同或門,如圖2。旁路邏輯通過由附加管形成的旁路,可以把“串并交錯”的電路結(jié)構(gòu)簡化為單一的串或者并的形式。它的電路和版圖都有很好的規(guī)整性,并且可以減小寄生電容。是兩種同或門N塊版圖不同部分的比較,(b)是基于旁路邏輯實現(xiàn)的,與(a)相比,少了一條金屬連線和兩個金屬接觸,使版圖變得十分規(guī)整,擴散區(qū)不會被隔斷。在拓撲上,兩條分支用公共的漏區(qū),達到最少的接觸孔和金屬互連,比“串并”和“并串”的晶體管配置方式規(guī)整,且寄生電容小。
加法器電路上的延遲值
旁路邏輯不能實現(xiàn)傳輸門,因而不能用傳輸門實現(xiàn)同或和異或,但是容易證明,三態(tài)門在速度和功耗方面都比傳輸門優(yōu)越。參照傳輸門的結(jié)合方式,我們用兩個三態(tài)反相器和一個反相器實現(xiàn)了同或門。
實現(xiàn)了式(13)括號內(nèi)的兩個同或邏輯,平均只需要1級門延時,而用普通門實現(xiàn)的“與非或與非”形式的同或門需要2級或3級門延時。由上面的同或門設(shè)計得到啟發(fā),根據(jù)形如式(13)的邏輯,設(shè)計了一個10管單元utiandor2。
該單元電路實現(xiàn)s=c0CK+0CKN,只要把式(12)~(15)中的括號部分從CK和CKN輸入,輸出就相應得到了s0~ s3 。僅當CKN=時,電路(a)兩邊均是三態(tài)反相器,構(gòu)成圖5(b)的同或門,兩個反相器交替導通,s=c0⊙CK ;當CKN=CK(發(fā)生幾率比較大),左邊P管和右邊N管,或者左邊N管和右邊P管交替導通,輸出s=CK,從而屏蔽了c0的變化??疾斓谝唤M4位CLA中的進位產(chǎn)生邏輯最復雜的s3,參考式(15),當g2,g1,g0均為0,p2,p1,p0均為1時,s3= gs3⊙c0,顯然這是一種特殊情況,即低位各位都不產(chǎn)生進位,但可以傳遞進位時,直接把c0傳至高位與gs同或即可產(chǎn)生和。c0在各位和生成邏輯的最后一級才加入,可以消除過早加入帶來的不必要的翻轉(zhuǎn)。左右兩塊交替導通,只存在下拉或上拉延時,有類似動態(tài)電路延遲小的優(yōu)點。僅用了10個晶體管,比常規(guī)門實現(xiàn)的積之和節(jié)省8個。
責任編輯:YYX
評論