夏宇聞第五章_第1頁
夏宇聞第五章_第2頁
夏宇聞第五章_第3頁
夏宇聞第五章_第4頁
夏宇聞第五章_第5頁
已閱讀5頁,還剩9頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第五章 基本運算邏輯和它們的VerilogHDL模型-第五章 基本運算邏輯和它們的Verilog HDL模型前言復雜的算法數字邏輯電路是由基本運算邏輯、數據流動控制邏輯和接口邏輯電路所構成的。對基本運算邏輯的深入了解是設計復雜算法邏輯系統電路結構的基本功。雖然Verilog 硬件描述語言能幫助我們自動地綜合出極其復雜的組合和時序電路,并幫助我們對所設計的電路進行全面細致的驗證,但對于速度要求很高的特殊數字信號處理電路,其結構還是由設計者來定奪。為了提高算法的運算速度除了提高制造工藝技術外,邏輯結構設計是最重要的環節。而設計出結構合理的基本運算組合電路是算法邏輯結構設計的基礎,只有深入理解復雜組

2、合電路的許多基本特點,才有可能通過電路結構的改進來提高算法邏輯系統的基本時鐘速度,為結構合理的高速復雜算法的數字邏輯系統的構成打下堅實的基礎。這部分知識應該是數字系統和計算機結構課程講述的內容,為了使同學們能熟練地把學過的基礎知識運用到設計中去,有必要在這里把提高加法器、乘法器速度的電路結構原理和方法簡單地復習一下,并把流水線設計的概念也在這一章中引入。希望同學們能靈活地把這些電路結構的基本概念應用到設計中,來提高設計的水平。5.1 加法器在數字電路課程里我們已學習過一位的加法電路,即全加器。它的真值表很容易寫出,電路結構也很簡單僅由幾個與門和非門組成。XiYiCi-1SiCi00000001

3、10010100110110010101011100111111表5.1 一位全加器的真值表表中Xi 、Yi 表示兩個加數,Si 表示和,Ci-1 表示來自低位的進位、Ci 表示向高位的進位。從真值表很容易寫出邏輯表達式如下:Ci = Xi Yi + Yi Ci-1 + Xi Ci-1 Si = Xi Ci + Yi Ci + Ci-1 Ci + Xi Yi Ci-1 全加器和Si的表達式也可以表示為: Si = Pi Ci 其中Pi = Xi Yi (5.1) Ci = Pi·Ci-1 + Gi 其中Gi = Xi·Yi (5.2) 5.2式就是進位遞推公式。參考清華大學

4、出版社出版的劉寶琴老師編寫的數字電路與系統,可以很容易地寫出超前進位形成電路的邏輯,在這里不再詳細介紹。 在數字信號處理的快速運算電路中常常用到多位數字量的加法運算,這時需要用到并行加法器。并行加法器比串行加法器快得多,電路結構也不太復雜。它的原理很容易理解。現在普遍采用的是Carry-Look-Ahead-Adder加法電路(也稱超前進位加法器),只是在幾個全加器的基礎上增加了一個超前進位形成邏輯,以減少由于逐位進位信號的傳遞所造成的延遲。下面的邏輯圖表示了一個四位二進制超前進位加法電路。 A2 B2 A1 B1 A0 B0 C2 三位超前進位加法器 C-1 S2 S1 S00全加器Y1 X

5、1S1 P0 G0 C0 P1 G1 C1 P2 G2 C2 P3 G3C-1 超前進位加法器 全加器Y0 X0S0全加器Y2 X2S2全加器Y3 X3S3圖5.1 由四個一位全加器組成的超前進位四位加法器P* G*P* G*同樣道理,十六位的二進制超前進位加法電路可用四個四位二進制超前進位加法電路再加上超前進位形成邏輯來構成。同理,依次類推可以設計出32位和64位的加法電路。0四位全加器Y47 X47S47P*0G*0C*0 P*1G*1C*1 P*2G*2C*2 P*3 G*3C-1 超前進位加法器 P* G*四位全加器Y03 X03S03四位全加器Y811 X811S811四位全加器Y1

6、215 X1215S1215圖5.2 由四個四位全加器組成的超前進位十六位加法器在實現算法時(如卷積運算和快速富里葉變換),常常用到加法運算,由于多位并行加法器是由多層組合邏輯構成,加上超前進位形成邏輯雖然減少了延遲,但還是有多級門和布線的延遲,而且隨著位數的增加延遲還會積累。由于加法器的延遲,使加法器的使用頻率受到限制,這是指計算的節拍(即時鐘)必須要大于運算電路的延遲,只有在輸出穩定后才能輸入新的數進行下一次運算。如果設計的是32位或64位的加法器,延遲就會更大。為了加快計算的節拍,可以在運算電路的組合邏輯層中加入多個寄存器組來暫存中間結果。也就是采用數字邏輯設計中常用的流水線( pipe

7、 line ) 辦法,來提高運算速度,以便更有效地利用該運算電路,我們在本章的后面還要較詳細地介紹流水線 結構的概念和設計方法。我們也可以根據情況增加運算器的個數,以提高計算的并行度。用Verilog HDL來描述加法器是相當容易的,只需要把運算表達式寫出就可以了,見下例。module add_4( X, Y, sum, C);input 3 : 0 X, Y;output 3: 0 sum;output C;assign C, Sum = X + Y;endmodule而16位加法器只需要擴大位數即可,見下例:module add_16( X, Y, sum, C);input 15 : 0

8、 X, Y;output 15 : 0 sum;output C;assign C, Sum = X + Y;endmodule這樣設計的加法器在行為仿真時是沒有延時的。借助綜合器,可以根據以上Verilog HDL源代碼自動將其綜合成典型的加法器電路結構。綜合器有許多選項可供設計者選擇,以便用來控制自動生成電路的性能。設計者可以考慮提高電路的速度,也可以考慮節省電路元件以減少電路占用硅片的面積。綜合器會自動根據選項為你挑選一種基本加法器的結構。有的高性能綜合器還可以根據用戶對運算速度的要求插入流水線結構,來提高運算器的性能。可見在綜合工具的資源庫中存有許多種基本的電路結構,通過編譯系統的分析

9、,自動為設計者選擇一種電路結構,隨著綜合器的日益成熟它的功能將越來越強。然后設計者還需通過布局布線工具生成具有布線延遲的電路,再進行后仿真,便可知道該加法器的實際延時。根據實際的延遲便可以確定使用該運算邏輯的最高頻率。若需要重復使用該運算器,則需要在控制數據流動的狀態機中為其安排必要的時序。 5.2 乘法器乘法電路:在數字信號處理中經常需要進行乘法運算,乘法器的設計對運算的速度有很大的影響。本節討論兩個二進制正數的乘法電路和運算時間延遲問題以及怎樣用VerilogHDL模型來表示乘法運算。還將討論當用綜合工具生成乘法運算電路時,怎樣來控制運算的時間延遲。設兩個n位二進制正數X和Y: X : X

10、 n-1···X1 X0 Y : Y n-1··· Y1Y0 則X和Y的乘積Z有2n位:并且式中YiX稱為部分積,記為P i,有顯然,兩個一位二進制數相乘遵循如下規則: 0×0=0; 0×1=0; 1×0=0; 1×1=1因此YiXj 可用一個與門實現,記Pi.j = Yi X j例:兩個四位二進制數X和Y相乘。 被乘數: X3 X2 X1 X0 ×) 乘 數: Y3 Y2 Y1 Y0 _ Y0X3 Y0X2 Y0X1 Y0X0 Y1X3 Y1X2 Y1X1 Y1X0 Y2X3 Y2X

11、2 Y2X1 Y2X0 Y3X3 Y3X2 Y3X1 Y3X0 _ 乘積: Z7 Z6 Z5 Z4 Z3 Z2 Z1 Z0快速乘法器常采用網格形式的迭帶陣列結構,圖 5.3示出兩個四位二進制數相乘的結構圖,圖中每一個乘法單元MU的邏輯圖如圖 5.4 所示,即每一個MU由一個與門和一個全加器構成。事實上,圖5.3中第一行的每個MU可用一個與門實現,每一行最右邊一個MU中的全加器可用半加器實現。圖5.3實現乘法的最長延時為1個與門的傳輸延時加上八個全加器的傳輸延時。假設每個全加器產生和與產生進位的傳輸延時相同,并且均相當4個與門的傳輸延時,則圖5.3逐位進位并行乘法器的最長延時為1+8×

12、4=33個門的傳輸延時。M UM UM UM UM UM UM UM UM UM UM UM UM UM UM UM U0 Y3 X0 Y3 X1 Y3 X2 Y3 X3 Y2 X0 Y2 X1 Y2 X2 Y2 X3 Y1 X0 Y1 X1 Y1 X2 Y1 X3 Y0 X3 0 Y0 X2 0 Y0 X1 0 Y0 X0 0 000Z7 Z6 Z5 Z4 Z3 Z2 Z1 Z0圖5.3 逐位進位并行乘法器與門Y0 X0 與門Y0 X2 與門Y0 X1 與門Y0 X3 與門Y1 X3 M UY2 X2 與門Y2 X3 M UY3 X2 M UY1 X2 M UY2 X1 M UY3 X0 M

13、 UY1 X1 M UY2 X0 M UY1 X0 M UY3 X1 A2 B2 A1 B1 A0 B0 C2 三位超前進位加法器 C-1 S2 S1 S0與門Y3 X300 Z7 Z7 Z7 Z6 Z5 Z4 Z3 Z2 Z1 Z0圖5.5 進位節省乘法器 與門 A BC0 全加器 Ci 圖5.4 乘法單元(MU)S Yi Xj SkC IC 0PijSk+1為了提高乘法運算速度可以改為圖5.5 所示的進位節省乘法器(Carry-Save Multiplier)。圖中用了一個三位的超前進位加法器,九個圖5.4所示的乘法單元,七個與門。顯然,圖5.5中第二行的乘法單元中全加器可改為半加器。圖5

14、.5 執行一次乘法運算的最長延時為1 個與門的傳輸延時加上3個全加器的傳輸延時,再加上三位超前進位加法器的傳輸延時。設三位超前進位加法器的傳輸延時為5個門的傳輸延時,則最長延時為1+3×4+1×5=18的傳輸延時。節省乘法運算時間的關鍵在于每個乘法單元的進位輸出向下斜送到下一行,故有進位節省乘法器之稱。 根據加法器類似的道理,八位的二進制超前進位乘法電路可用兩個四位二進制超前進位乘法電路再加上超前進位形成邏輯來構成。同理,依次類推可以設計出16位、32位和64位的乘法電路。用Verilog HDL來描述乘法器是相當容易的,只需要把運算表達式寫出就可以了,見下例。module

15、 mult_4( X, Y, Product);input 3 : 0 X, Y;output 7 : 0 Product;assign Product = X * Y;endmodule而8位乘法器只需要擴大位數即可,見下例:module mult_8( X, Y, Product);input 7 : 0 X, Y;output 15 : 0 Product;assign Product = X * Y;endmodule這樣設計的乘法器在行為仿真時是沒有延時的。借助綜合器,可以根據以上Verilog HDL源代碼自動將其綜合成典型的乘法器電路結構。綜合器有許多選項可供設計者選擇,以便用來

16、控制自動生成電路的性能。設計者可以考慮提高速度,也可以考慮節省電路元件以減少電路占用硅片的面積。綜合器會自動根據選項和約束文件為你挑選一種基本乘法器的結構。有的高性能綜合器還可以根據用戶對運算速度的要求插入流水線結構,來提高運算器的性能。隨著綜合工具的發展,其資源庫中將存有越來越多種類的基本電路結構,通過編譯系統的分析,自動為設計者選擇一種更符合設計者要求的電路結構。然后設計者通過布局布線工具生成具有布線延遲的電路,再進行后仿真,便可精確地知道該乘法器的實際延時。根據實際的延遲便可以確定使用該運算邏輯的最高頻率。若需要重復使用該運算器,便可以根據此數據在控制數據流動的狀態機中為其安排必要的時序

17、。所以借助于硬件描述語言和綜合工具大大加快了計算邏輯電路設計的過程。5.3 比較器數值大小比較邏輯在計算邏輯中是常用的一種邏輯電路,一位二進制數的比較是它的基礎。下面列出了一位二進制數比較電路的真值表:XY(X > Y)(X >= Y)(X = Y)(X <= Y) (X < Y)(X != Y)00011100010001111011000111011100從真值表很容易寫出一位二進制數比較電路的布爾表達式如下: (X > Y) = X·( Y)(X < Y) = ( X)·Y(X = Y) = (X) ·(Y) + X

18、83;Y也很容易畫出邏輯圖。位數較多的二進制數比較電路比較復雜,以前我們常用7485型四位數字比較器來構成位數較多的二進制數比較電路,如8位、16位、24位、32位的比較器。同學們可以參考清華大學出版社劉寶琴老師編寫的“數字電路與系統”中,有關多位并行比較器的設計的章節,在這里不再詳細介紹。用Verilog HDL來設計比較電路是很容易的。下面就是一個位數可以由用戶定義的比較電路模塊:module compare_n ( X, Y, XGY, XSY, XEY);input width-1:0 X, Y;output XGY, XSY, XEY;reg XGY, XSY, XEY;parame

19、ter width = 8;always ( X or Y ) / 每當X 或Y 變化時 begin if ( X = = Y ) XEY = 1; / 設置X 等于Y的信號為1 else XEY = 0; if (X > Y) XGY = 1; / 設置X 大于Y的信號為1 else XGY = 0; if (X < Y) XSY = 1; / 設置X 小于Y的信號為1 else XSY = 0; endendmodule綜合工具能自動把以上原代碼綜合成一個八位比較器。如果在實例引用時分別改變參數width值為16和32綜合工具就能自動把以上原代碼分別綜合成16位和32位的比較器

20、。5.4 多路器多路選擇器(Multiplexer)簡稱多路器,它是一個多輸入、單輸出的組合邏輯電路,在數字系統中有著廣泛的應用。它可以根據地址碼的不同,從多個輸入數據中選取一個,讓其輸出到公共的輸出端。在算法電路的實現中多路器常用來根據地址碼來調度數據。我們可以很容易地寫出一個有兩位地址碼,可以從四組輸入信號線中選出一組通過公共輸出端輸出的功能表。地址1地址0輸入1輸入2輸入3輸入4 輸出001000輸入1010100輸入2100010輸入3110001輸入4可以很容易地寫出它的布爾表達式,也很容易畫出邏輯圖,但是當地址碼比較長,比如有12位長,而且每組輸入信號位數較寬(如位寬為8)信號組的

21、數目又較多時,再加上又需多路選擇使能控制信號時,其邏輯電路的基本單元需要量是較大的,如畫出邏輯圖來就顯得很復雜,電路具體化后不易于理解,(同學們可以參考閻石老師主編的“數字電子技術基礎”教材,復習多路選擇器的概念)。用Verilog HDL來設計多路選擇器電路是很容易的。下面就是帶使能控制信號的數據位寬可以由用戶定義的八路數據選擇器模塊:module Mux_8( addr,in1, in2, in3, in4, in5, in6, in7, in8, Mout, nCS);input 2:0 addr;input width-1 in1, in2, in3, in4, in5, in6, i

22、n7, in8;output width-1 Mout;parameter width = 8;always (addr or in1 or in2 or in3 or in4 or in5 or in6 or in7 or in8) begin if (!ncs) case(addr) 3b000: Mout = in1; 3b001: Mout = in2; 3b010: Mout = in3; 3b011: Mout = in4; 3b100: Mout = in5; 3b101: Mout = in6; 3b110: Mout = in7; 3b111: Mout = in8; end

23、case else Mout = 0; end endmodule綜合工具能自動把以上原代碼綜合成一個數據位寬為8的八路選一數據多路器。如果在實例引用時分別改變參數width值為16和32,綜合工具就能自動把以上原代碼分別綜合成數據寬度為16位和32位的八選一數據多路器。5.5 總線和總線操作總線是運算部件之間數據流通的公共通道。在硬線邏輯構成的運算電路中只要電路的規模允許,我們可以比較自由地來確定總線的位寬,因此可以大大提高數據流通的速度。適當的總線的位寬,配合適當并行度的運算邏輯和步驟能顯著地提高專用信號處理邏輯電路的運算能力。各運算部件和數據寄存器組可以通過帶控制端的三態門與總線的連接。

24、通過對控制端電平的控制來確定在某一時間片段內,總線歸哪兩個或哪幾個部件使用(任何時間片段只能有一個部件發送,但可以有幾個接收)。用Verilog 來描述總線和總線操作是非常簡單的。下面就是一個簡單的與總線有接口的模塊是如何對總線進行操作的例子:module SampleOfBus( DataBus, link_bus,write );inout 11:0 DataBus; / 總線雙向端口input link_bus; / 向總線輸出數據的控制電平reg 11:0 outsigs;assign DataBus = (link_bus) ? outsigs : 12 h zzz ; /當link

25、_bus為高電平時通過總線把存在outsigs的計算結果輸出always (posedge write) /每當write信號上跳沿時 begin /接收總線上數據并乘以五 outsigs <= DataBus * 5; /把計算結果存入outsigs endendmodule通過以上例子我們可以理解使這個總線連接模塊能正常工作的最重要的因素是與其他模塊的配合,如:何時提供write信號?此時DataBus上數據是否已正確提供?何時提供link_bus電平?輸出的數據是否能被有效地利用?控制信號的相互配合由同步狀態機控制的開關陣列控制。在第七章里我們將詳細介紹如何用Verilog HDL

26、來設計復雜的同步狀態機并產生精確同步的開關控制信號來控制數據的正確流動。5.6 流水線(pipeline)流水線(pipe-line)設計技術: 流水線的設計方法已經在高性能的、需要經常進行大規模運算的系統中得到廣泛的應用,如CPU(中央處理器)等。目前流行的CPU,如intel的奔騰處理器在指令的讀取和執行周期中充分地運用了流水線技術以提高它們的性能。高性能的DSP(數字信號處理)系統也在它的構件(building-block functions)中使用了流水線設計技術。通過加法器和乘法器等一些基本模塊,本節討論了有關流水線的一些基本概念,并對采用兩種不同的設計方法:純組合邏輯設計和流水線設

27、計方法時,在性能和邏輯資源的利用等方面的不同進行了比較和權衡。 流水線設計的概念:所謂流水線設計實際上就是把規模較大、層次較多的組合邏輯電路分為幾個級,在每一級插入寄存器組暫存中間數據。K級的流水線就是從組合邏輯的輸入到輸出恰好有K個寄存器組(分為K級,每一級都有一個寄存器組)上一級的輸出是下一級的輸入而又無反饋的電路。圖5.6表示了如何將把組合邏輯設計轉換為相同組合邏輯功能的流水線設計。這個組合邏輯包括兩級。第一級的延遲是T1和T3兩個延遲中的最大值;第二級的延遲等于T2的延遲。為了通過這個組合邏輯得到穩定的計算結果輸出,需要等待的傳播延遲為max(T1,T3)+T2個時間單位。在從輸入到輸

28、出的每一級插入寄存器后,流水線設計的第一級寄存器所具有的總的延遲為T1與T3時延中的最大值加上寄存器的Tco(觸發時間)。同樣,第二級寄存器延遲為T2的時延加上Tco。采用流水線設計為取得穩定的輸出總體計算周期為: max(max(T1,T3)+Tco,(T2+Tco)流水線設計需要兩個時鐘周期來獲取第一個計算結果,而只需要一個時鐘周期來獲取隨后的計算結果。開始時用來獲取第一個計算結果的兩個時鐘周期被稱為采用流水線設計的首次延遲(latency)。對于CPLD來說,器件的延遲如T1、T2和T3相對于觸發器的Tco要長得多,并且寄存器的建立時間Tsu也要比器件的延遲快得多。只有在上述關于硬件時延

29、的假設為真的情況下,流水線設計才能獲得比同功能的組合邏輯設計更高的性能。圖5.6 組合邏輯設計轉化為流水線設計采用流水線設計的優勢在于它能提高吞吐量(throughput)。假設T1、T2和T3具有同樣的傳遞延遲Tpd。對于組合邏輯設計而言,總的延遲為2*Tpd。對于流水線設計來說,計算周期為(Tpd+Tco)。前面提及的首次延遲(latency)的概念實際上就是將(從輸入到輸出)最長的路徑進行初始化所需要的時間總量;吞吐延遲則是執行一次重復性操作所需要的時間總量。在組合邏輯設計中,首次延遲和吞吐延遲同為2*Tpd。與之相比,在流水線設計中,首次延遲是2*(Tpd+Tco),而吞吐延遲是Tpd

30、+Tco。如果CPLD硬件能提供快速的Tco,則流水線設計相對于同樣功能的組合邏輯設計能提供更大的吞吐量。典型的富含寄存器資源的CPLD器件(如Lattice的ispLSI 8840)的Tpd為8.5ns,Tco為6ns。流水線設計在性能上的提高是以消耗較多的寄存器資源為代價的。對于非常簡單的用于數據傳輸的組合邏輯設計,例如上述例子,將它們轉換成流水線設計可能只需增加很少的寄存器單元。隨著組合邏輯變得復雜,為了保證中間的計算結果都在同一時鐘周期內得到,必須在各級之間加入更多的寄存器。如果需要在CPLD中實現復雜的流水線設計,以獲取更優良的性能,具有豐富寄存器資源的CPLD結構并且具有可預測的延

31、遲這兩大特點的FPGA是一個很有吸引力的選擇。流水線加法器與組合邏輯加法器的比較采用流水線技術可以在相同的半導體工藝的前提下通過電路結構的改進來大幅度地提高重復多次使用的復雜組合邏輯計算電路的吞吐量。下面是一個n位全加器的例子,如圖5.7所示為實現該加法功能需要三級電路:(1)加法器輸入的數據產生器和傳送器;(2)數據產生器和傳送器的超前進位部分;(3)數據產生、傳送功能和超前進位三者求和部分。圖5.7 n位全加器的方程式 進位的產生和傳遞 n nnn超前進位單元 n-1求和單元 nnSn+1 Cn+1C-1Pn+1Gn+1an+1bn+1Cout(a) n 位純組合邏輯全加器圖5.8 n 位

32、純組合邏輯全加器(a) 改進為 n位流水線全加器 (b)進位的產生和傳遞 n n寄存器寄存器 n n超前進位單元 n n寄存器 n-1寄存器寄存器寄存器寄存器超前進位單元 n-1 n寄存器 n寄存器 n nan+1bn+1c-1C -1C -1Cn+2Cn+2Cn+2Cn+2Pn+1Gn+1(b) n位流水線全加器 Sn+1在n位組合邏輯全加器中插入三層寄存器或寄存器組,將它轉變為n位流水線全加器,如圖5.8(b)所示。由于進位C-1既是第一級邏輯的輸入,又是第二級邏輯輸入,因此將C-1進位改為流水線結構時需要使用兩級寄存器。同樣地,發生器輸出在作為求和單元的輸入之前,也要多次插入寄存器。作為

33、求和單元的輸出,進位Cout要達到同一流水線的級別也需要插入兩層寄存器。若用擁有840個宏單元和312個有寄存能力I/O單元的Lattice ispLSI8840分別來實現16位組合邏輯全加器和16位流水線全加器并比較它們的運行速度, 對于16位組合邏輯全加器, 共用了34個宏單元。執行一次計算需經過3個GLB層,每次計算總延遲為45.6ns。而16位流水線全加器共用了81個宏單元。執行一次計算只需經過1個GLB層,每次計算總延遲為15.10ns(但第一次計算需要多用三個時鐘周期),吞吐量約增加了三倍。流水線乘法器與組合邏輯乘法器的比較:首先,我們使用一個4*4乘法器的例子來說明部分積乘法器的

34、基本概念。然后,通過一個復雜得多的6*10乘法器來比較流水線乘法器和組合邏輯乘法器這兩個不同設計方法的實現在性能上有何差異。如圖5.9所示,4*4乘法器可以被分解為部分積的向量和(或稱加權和),比如說是16個1*1乘法器輸出的向量和。這里并沒有直接在4*4乘法器的每一級都插入寄存器以達到改為流水線結構的目的,而是將其分割為1*4乘法器來產生所有的部分積向量。這樣分割的結果是形成了兩級的流水線設計,相對1*1乘法器的組合具有更短的首次延遲,而吞吐延遲相同。每一級的流水線求和用圖5.8(b)所示的流水線加法器來實現。我們用一個類似圖5.9中的4*4、但更為復雜的6*10流水線乘法器來比較流水線乘法

35、器與非流水線乘法器之間性能上的差異。如圖5.10所示,該6*10流水線乘法器采用6個10位乘法器來實現1*10乘法-a0 * b9:0, a1 * b9:0, a2 * b9:0, a3 * b9:0 , a4 * b9:0, a5 * b9:0 。由于ai非0即1,那么1*10乘法器的結果是b9:0 或0。這表示下一級的兩個輸入不是b9:0 就是0。這六個多路器的輸出被兩兩一組分成三個相互獨立的組合,并分別用一個3層的流水線加法器加起來。每一組的兩個多路輸入的下標號差為3。在這個例子里,這些組是如下組織的:a5,a2,a4,a1,a3,a0。a5,a2意味著第一個多路器的輸出M(10位)和第四個多路器的輸出N(10位)是流水線加法器O的輸入。同樣地,其余的兩組分別用流

溫馨提示

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

評論

0/150

提交評論