《電子技術應用》
您所在的位置:首頁 > EDA與制造 > 設計應用 > 改進溢出判斷電路的設計與仿真研究
改進溢出判斷電路的設計與仿真研究
來源:電子技術應用2012年第5期
王 穎1,王瑞春2
1.深圳信息職業(yè)技術學院 電子與信息學院,廣東 深圳518055; 2.深圳信息職業(yè)技術學院 基礎部,廣東 深圳518055
摘要: 傳統(tǒng)數(shù)字芯片電路中,固定字長有符號數(shù)的加法或減法運算的溢出判斷需要等到加法/減法運算結束之后才能進行。以四位有符號數(shù)加法/減法運算溢出判斷邏輯為例提出一種改進的設計方式,能夠在加法/減法運算結束之前對操作數(shù)進行判斷,從而決定是否有溢出現(xiàn)象的發(fā)生。仿真發(fā)現(xiàn),改進后的電路無論在規(guī)模上還是在運算速度上都有很大改善。
中圖分類號: TP302.1
文獻標識碼: A
文章編號: 0258-7998(2012)05-0049-03
Research on design and simulation of an improved overflow judgment circuit
Wang Ying1,Wang Ruichun2
1.School of Electronic and Telecom Technology ,Shenzhen Institute of Information Technology,Shenzhen 518055,China; 2.Department of Basic Research, Shenzhen Institute of Information Technology,Shenzhen 518055,China
Abstract: In the typical overflow judgment circuit , the existence of overflow can not be judged until the operation is end. In this paper, an improved design is put forward. The improved design is based on the addition or subtraction of four-bit signed data. This improved circuit can judge the existence of overflow by view the operator before the end of the operation. The improved circuit is found better in the scale and delay time by simulation.
Key words : improvement;over-flow judgment;circuit design;simulation

    溢出現(xiàn)象的判斷是固定字長有符號加法運算中必須要進行的操作,傳統(tǒng)溢出現(xiàn)象的判斷要等到加法運算結果產生以后才能進行,本文電路設計能夠在加法運算開始之前通過對操作數(shù)的判斷而進行溢出預判,從而減少了整個加法/減法運算的時間。

    溢出現(xiàn)象有可能出現(xiàn)在有符號數(shù)的加法或減法運算中,在進行固定字長的有符號數(shù)加法或減法運算時,如果出現(xiàn)以下四種情況:正數(shù)與正數(shù)相加得到負數(shù)、正數(shù)減負數(shù)得到負數(shù)、負數(shù)減正數(shù)得到正數(shù)、負數(shù)加負數(shù)得到正數(shù),則認為有溢出現(xiàn)象產生。
1 傳統(tǒng)溢出判斷電路的設計[1]
    傳統(tǒng)溢出判斷電路的設計是建立在加法或減法運算已經產生結果的基礎上,如果用Overflag表示當前的運算方式,當Overflag取值為“1”時表示的是進行有符號數(shù)的加法或減法運算,當Overflag取值為“0”時表示的是進行無符號數(shù)的加法或減法運算。用Adder表示當前的運算方式是加法或者減法運算。當Adder取值為“1”時表示進行加法運算,當Adder取值為“0”時表示進行減法運算。用A[3]、B[3]和R[3]分別表示兩個操作數(shù)和加減法運算結果的最高位即符號位。用Overflow表示溢出結果,如果Overflow取值為“1”則表示產生了溢出;如果Overflow取值為“0”則表示沒有產生溢出。如果利用Carry-Lookahead Adder[2]算法來產生R[3],則結合對溢出產生條件的分析,可以得到溢出判斷電路圖如圖1所示。

2 具有預判功能的改進溢出判斷電路的設計
    具有預判功能的溢出判斷電路設計的原理是將Carry-Lookahead Adder[2]的算法與傳統(tǒng)溢出邏輯判斷邏輯算法相結合。如果將可能產生溢出的四種運算都轉換為加法運算,則在有可能產生溢出的四種運算情況下只要數(shù)值位向符號位產生進位或者符號位本身相加產生進位就可以判斷有溢出產生。因此在電路實現(xiàn)上需要有兩部分功能塊,一部分是判斷當前的運算是否為可能產生溢出的四種運算,將這部分功能塊稱為初步判斷功能塊;另一部分是判斷數(shù)值位的最高位有無向符號位產生進位或符號位本身相加有無進位產生,將這部分功能塊稱為進位判斷功能塊。最后需要將兩部分功能塊結合在一起成為完整的溢出預判電路。

2.2 進位判斷功能塊[2]
    在對溢出現(xiàn)象進行分析的過程中發(fā)現(xiàn),可能產生溢出的四種情況的運算最后都可以轉換為加法運算,具體分析如下:
    正數(shù)與正數(shù)相加,原本就是加法運算,所以毋須進行轉換。
    正數(shù)減負數(shù)相當于正數(shù)與同負數(shù)有相同絕對取值的正數(shù)進行相加。即只要將被減數(shù)轉換成與其本身有相同絕對取值的正數(shù)即可。
    負數(shù)減正數(shù)相當于負數(shù)與同正數(shù)有相同絕對取值的負數(shù)進行相加。即只要將被減數(shù)轉換成與其本身有相同絕對取值的負數(shù)即可。
    負數(shù)加負數(shù)本身就是加法運算,毋須進行轉換。
    假設A為加法或減法運算中的第一個操作數(shù)(被加數(shù)或被減數(shù)),B為第二個操作數(shù)(加數(shù)或減數(shù)),由以上分析可以發(fā)現(xiàn),A不需要做任何變換,而B要根據需要進行變換,變換后的數(shù)字用D進行表示。對B進行變換的算法為:首先判斷條件“A[3]=0且B[3]=1且Adder=0”或“A[3]=1且B[3]=0且Adder=0”是否成立,如果條件成立,則D的值等于對B做減1運算后再取反的數(shù)值,否則D=B。
    操作數(shù)B做了變換后,A與B的運算就轉換成A與D的加法運算,運算結果用R表示。通過前面的分析可以發(fā)現(xiàn)在可能產生溢出的四種運算情況下(即:正數(shù)與正數(shù)相加、負數(shù)與負數(shù)相加、正數(shù)與負數(shù)相減、負數(shù)與正數(shù)相減),只要A與D的加法運算的結果中符號位的符號與操作數(shù)符號相反就標志著產生了溢出。用Ci+1表示第i位向第i+1位產生的進位,則C3=1或C4=1且C3 和C4不能同時為1時標志著溢出的產生。
    通過對Carry-Lookahead Adder[2-3]的分析可以發(fā)現(xiàn)進位的產生不必等到加法運算結束,即:
  
    完整的電路圖如圖3所示。

    通過比較圖3與圖1的電路結構發(fā)現(xiàn),改進的溢出判斷邏輯電路圖在結構上要精簡許多。
2.4 邏輯驗證
    電路的功能驗證利用TSPICE實現(xiàn),仿真得到的波形如圖4所示。在仿真波形圖中,從上至下信號名依次為Overflag,Adder,A[3],A[2],A[1],A[0],B[3],B[2],B[1],B[0]和Overflow。通過分析仿真波形圖中輸入的A、B、Adder、Overflag共17組驗證數(shù)據與輸出信號Overflow的關系可以證明該電路能夠正確判斷溢出的產生情況。

 

 

2.5 延時比較
    Adder到Overflow的路徑為溢出判斷電路的關鍵路徑,通過仿真工具TSPICE分別計算兩種電路結構中關鍵路徑的延時,在相同的仿真條件下,改進溢出判斷電路中從Adder到Overflow的延時為11.697 ns,傳統(tǒng)溢出判斷電路中從Adder到Overflow的延時為12.232 ns。 
    本文在傳統(tǒng)溢出判斷電路的基礎上,提出一種改進的電路結構,在這種改進結構中,不必等到加減法運算結果的產生就能預先判斷有無溢出現(xiàn)象的發(fā)生。通過仿真發(fā)現(xiàn),這種結構在能夠實現(xiàn)所需的邏輯功能的基礎上減少了電路規(guī)模,并減少了傳輸延遲。
參考文獻
[1] 王穎.數(shù)字芯片溢出邏輯電路的設計與仿真研究[J].微計算機信息,2010,02(26):160-163.
[2] OMONDI A R.Computer arithematic systems-algorithms, architecture and implementation[M].Prentice-Hall,1994.
[3] PARHAMI B.Computer arithmetic-algorithms and hardware designs[M].Oxford University Press,2000.
[4] 劉杰,易茂祥.6加數(shù)并行加法器及擴展接口的研究[J].微電子學與計算機,2009,12(12):27-30.

此內容為AET網站原創(chuàng),未經授權禁止轉載。