一種多軸運動加法器的設計_第1頁
一種多軸運動加法器的設計_第2頁
一種多軸運動加法器的設計_第3頁
一種多軸運動加法器的設計_第4頁
一種多軸運動加法器的設計_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

一種多軸運動加法器的設計

0超前進位加法器市政廳是許多系統的重要基本單元。串行進位加法器是最基本的加法器結構,整個電路的時延與全加器的數量成正比。全加器的最長延時路徑發生在產生和的輸出,這個路徑是全加器的3個輸入經過進位輸出再到和的輸出,所以不但要改進產生和的電路的速度,還要改進產生進位的電路的速度。超前進位加法器正是基于此設計的。為了進一步提高加法器的運算速度,本文引入了流水線的結構。18加法器件數的確定我們知道,加到第i位加法器的進位輸入信號是這兩個加法操作數第i位以前各位狀態的函數,所以第i位的進位輸入信號Ci-1可由Ai-1Ai-2…A1A0和Bi-1Bi-2…B1B0唯一確定。根據這個原理,就可以通過邏輯電路事先得出每一位全加器的進位輸入信號,而無需再從最低位開始向高位逐位傳遞進位信號,這就有效地提高了運算速度。超前進位加法器正是基于這方面考慮而設計的。超前進位加法器提高了運算速度,但它是以增加電路的復雜程度為代價換取的。8位超前進位加法器如果按下面推導的結構實現,則隨著加法操作數位數的提高,電路復雜程度急劇上升,具體公式如下:Pi=Ai⊕Bi(1)Gi=AiBi(2)Ci=Gi+PiCi?1(3)Si=Pi⊕Ci?1(4)Ρi=Ai⊕Bi(1)Gi=AiBi(2)Ci=Gi+ΡiCi-1(3)Si=Ρi⊕Ci-1(4)式中:i=0~7;Pi為傳遞函數;Gi為生成函數;Ci-1為低位進位;Ci為高位進位;Si為第i位和。從而可知:???????????P0=A0⊕B0P1=A1⊕B1?P7=A7⊕B7(5)???????????G0=A0B0G1=A1B1?G7=A7B7(6)C0=G0+P0C?1(7){Ρ0=A0⊕B0Ρ1=A1⊕B1?Ρ7=A7⊕B7(5){G0=A0B0G1=A1B1?G7=A7B7(6)C0=G0+Ρ0C-1(7)式中:C-1為最低位的全加器的進位輸入,始終使它處于低電平狀態,即固定取“0”值,?????????????????????????????C0=G0+P0C?1C1=G1+P1C0?C7=G7+P7C6=G7+P7(G6+P6C5)=G7+P7G6+P7P6C5=?=G7+P7G6+P7P6G5+?+P7P6?P1P0C?1(8){C0=G0+Ρ0C-1C1=G1+Ρ1C0?C7=G7+Ρ7C6=G7+Ρ7(G6+Ρ6C5)=G7+Ρ7G6+Ρ7Ρ6C5=?=G7+Ρ7G6+Ρ7Ρ6G5+?+Ρ7Ρ6?Ρ1Ρ0C-1(8)由式(8)看到,當加法操作數的位數達8位時,按這種超前進位設計電路,高位超前進位電路結構將變得相當的復雜,并且加法器件的運算速度極大地降低了。下面將討論基于流水線設計的8位加法器改進的電路結構,這種結構是基于2位超前進位加法器5級鎖存器4段流水線結構。28新型流水線結構的設計整個加法器的電路結構如圖1所示。圖1中的2位加法器電路結構完全相同,所有鎖存器(Latch)均由同一個時鐘源控制。在每一時鐘周期內,加法器完成2位操作數的加法運算,整個8位加法器的運算速度完全取決于2位加法器的運算速度,這樣就極大地提高了8位加法器的運算速度。考慮本設計是基于CMOS工藝的,于是在原有邏輯的基礎上,對于所用的門做了比較大的調整。圖1中每個2位超前進位加法器的電路結構如圖2所示。采用流水線結構后,設計的關鍵是流水線級數的考慮,因為這一方面要平衡各個流水段的長度,另一方面還要使最慢的流水線時間小于1個時鐘周期。流水段的本質是沒有真正減少每條指令的執行時間,而是增加了CPU的指令吞吐量,即單位時間完成的指令條數,吞吐量的增大意味著程序運行得更快,總的執行時間變短。但需要指出的是,流水線的延遲、不平衡以及附加開銷也限制了流水線的運用,因為流水線技術經常要對流水線附加一些控制,這樣就增加了開銷,使單條指令執行時間略有增加。由于流水線鎖存器件對時鐘周期增加了啟動時間和傳輸延遲,時鐘偏移也有這種作用,因此一旦時鐘周期很小,以至于與時鐘偏移和鎖存器附加開銷相當時,流水線就沒有用處了。顯然,流水線加法器中鎖存器的結構設計非常關鍵。下面討論具有異步置0功能的鎖存器結構設計。3鎖存器的邏輯功能圖3所示為流水線中所用的鎖存器結構。現就圖3設計的鎖存器討論數據的鎖存功能。當Clk=0,ResetN=0時,MP1截止,MN1截止,即傳輸門TG1截止,MP2導通,MP3截止,MN2導通,MN3導通,同時MP7、MN7導通,即傳輸門TG2導通,于是鎖存器被置為0;當Clk=1,ResetN=0時,MP1導通,MN1導通,即傳輸門TG1導通,顯然TG2截止,若此時D_out=0,則MP9導通,MP8也導通,MN8導通,MN9截止,輸出保持0狀態,若此時D_out=1,MP9截止,MN8導通,MN9導通,MP8導通,于是輸出保持1狀態;當Clk=1,ResetN=1時,MP1導通,MN1導通,即傳輸門TG1導通,傳輸門TG2截止,同時因為MP3和MN3截止,所以鎖存器的狀態是隨著D_in的變化而變化,不具有鎖存的功能;當Clk翻轉的瞬間,假設此時D_in=0,則MP4導通,從而MN3導通,又Clk翻轉瞬間,于是MP3導通,MN2導通,這樣鎖存器鎖存了D_in=0,當下一個時鐘到來以后,TG1截止,TG2導通,經過反相以后,輸出D_out=0,即鎖存器實現了鎖存功能;若當Clk翻轉的瞬間,假設此時D_in=1,則MN4導通,MN5導通,同時由于MP2導通,MP3導通,這樣鎖存器鎖存了D_in=1,當下一個時鐘到來以后,TG1截止,TG2導通,經過反相以后輸出D_out=1,即鎖存器實現了鎖存功能。圖4為用NC-Verilog對鎖存器邏輯功能的驗證,其部分.v的網表和testbench如下:`timescale1ns/1nsmodulelatch(clk,resetn,d_in,d_out);inputclk,resetn;inputd_in;outputd_out;cmosc1(net2,d_in,clk,clkn);…nand2na(net5,net2,resetn);…endmodulemodulenand2(y,a,b);…endmodule`timescale1ns/1nsmodulelatch_test;regclk,resetn;regd_in;wired_out;latchtest1(clk,resetn,d_in,d_out);initialbegind_in=1;resetn=0;clk=0;#100d_in=0;…#200$stop;endalways#50clk=~clk;endmodule由圖4可知,本文設計的鎖存器的邏輯功能是正確的。下面再對鎖存器電路進行HSPICE仿真,仿真波形見圖5。其鎖存器電路的部分網表如下:*latch_test_03272005-03-27-16:10.liblog018.lss.temp125.globalvddgnd.subcktnand2YABwp=0uwn=0u….endsXI1net2D_inClkClkNtransgatewp=0.96uwn=0.48u…XI12D_outnet7invwp=0.96uwn=0.48uVin1Clkgndpulse(01.80n0n0n1.25n2.5n)Vin2ClkNgndpulse(1.800n0n0n1.25n2.5n)Vin3D_ingndVin4ResetNvddvsourcevddgnd1.8v.tran0.01n6n.end由圖5可知,本文設計的鎖存器可以很好地實現鎖存功能,綜合圖4和圖5所示波形,可知本文設計的鎖存器無論在邏輯上還是在電路結構上都可以保證鎖存功能的實現,可以作為數據鎖存器用在本文所設計的8位流水線加法器中。4新型線索及挑戰a)本文提出的基于流水線結構的8位加法器,采用了5級鎖存器和4級流水線結構,使得一個8位加法數操作可以分成4個時鐘節拍完成,同時CPU在這期間可以進行其他的指令操作,極大地提高了CPU的數據吞吐量。b)必須看到,隨著流水線的引入,也帶來一些新的問題。例如:流水線的控制將增加一些附加的開銷;流水線每一節拍的合理劃分;兩級鎖存器之間的數據流最大傳遞時間必須小于1個時鐘周期,否則流水線引入就不會起到任何作用;流水線引入后,對于時鐘源的設計要求相對嚴格了,否則當時鐘偏移和流水線的控制及附加開

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論