例一起用于解釋本發(fā)明的技術(shù)方案,并不構(gòu)成對(duì)本發(fā)明技術(shù)方案的限制。
[0024] 圖1為本發(fā)明實(shí)施例提供的一種混合型加法器的結(jié)構(gòu)示意圖;
[0025] 圖2為圖1所示實(shí)施例中一種4位運(yùn)算單元的結(jié)構(gòu)示意圖;
[0026] 圖3為本發(fā)明實(shí)施例提供的另一種混合型加法器的結(jié)構(gòu)示意圖;
[0027] 圖4為圖3所示實(shí)施例中第一組合邏輯單元的輸入輸出示意圖;
[0028] 圖5為圖4所示第一組合邏輯單元的結(jié)構(gòu)示意圖;
[0029] 圖6為圖3所示實(shí)施例中進(jìn)位生成邏輯單元的輸入輸出示意圖;
[0030] 圖7為圖6所示進(jìn)位生成邏輯單元的結(jié)構(gòu)示意圖;
[0031] 圖8為圖3所示實(shí)施例中一種緩沖器的結(jié)構(gòu)示意圖;
[0032] 圖9為本發(fā)明實(shí)施例提供的一種高效混合型加法器的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0033] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明 的實(shí)施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中 的特征可以相互任意組合。
[0034] 在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中 執(zhí)行。并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順 序執(zhí)行所示出或描述的步驟。
[0035] 圖1為本發(fā)明實(shí)施例提供的一種混合型加法器的結(jié)構(gòu)示意圖。如圖1所示,本實(shí)施 例提供的混合型加法器100包括:運(yùn)算裝置110和進(jìn)位值生成裝置120 ;運(yùn)算裝置110包括 依次設(shè)置的第一 4位加法器111,N個(gè)4位運(yùn)算單元112,其中,第一 4位加法器111的進(jìn)位 值為0, N可以為1到7之間的整數(shù);本實(shí)施例提供的混合型加法器100用于執(zhí)行4*(N+1) 位加減法運(yùn)算,例如當(dāng)N為7時(shí),該混合型加法器100用于執(zhí)行32位加減法運(yùn)算。
[0036] 圖2為圖1所示實(shí)施例中一種4位運(yùn)算單元的結(jié)構(gòu)示意圖。如圖2所示,本實(shí)施例 提供的混合型加法器100中的每個(gè)4位運(yùn)算單元112包括兩個(gè)并行的第二4位加法器113 和第一進(jìn)位選擇單元114,其中一個(gè)第二4位加法器113的進(jìn)位值為0,另一個(gè)第二4位加 法器的進(jìn)位值為1,兩個(gè)第二4位加法器113的輸出端一一對(duì)應(yīng)的連接到第一進(jìn)位選擇單 元114的兩個(gè)數(shù)據(jù)輸入端,第一進(jìn)位選擇單元114包括兩個(gè)數(shù)據(jù)輸入端,一個(gè)進(jìn)位輸入端和 一個(gè)輸出端;每個(gè)4位運(yùn)算單元112用于根據(jù)第一進(jìn)位選擇單元114的進(jìn)位輸入端接收到 的進(jìn)位信號(hào),選擇兩個(gè)第二4位加法器113中一個(gè)生成的運(yùn)算結(jié)果,并將所選擇的運(yùn)算結(jié)果 通過輸出端輸出。本實(shí)施例提供中兩個(gè)并行的第二4位加法器113用于計(jì)算操作數(shù)的相同 位數(shù),例如同樣以N為7為例予以說明,第1個(gè)4位運(yùn)算單元112中的兩個(gè)第二4位加法器 113,均用于計(jì)算32位操作數(shù)的5~8位,第2個(gè)4位運(yùn)算單元112中的兩個(gè)第二4位加法 器113,均用于計(jì)算32位操作數(shù)的9~12位,依次類推。如圖2所示,用于對(duì)操作數(shù)的j到 i位進(jìn)行求和運(yùn)算,操作數(shù)為A [i : j]和B [i : j],輸入兩個(gè)第二4位加法器113的進(jìn)位值分別 為0和1,輸入第一進(jìn)位選擇單元114的進(jìn)位信號(hào)為Gp1:1,表示該4位運(yùn)算單元112的進(jìn)位 信號(hào)根據(jù)操作數(shù)的1到j(luò)-Ι位的進(jìn)位運(yùn)算獲取,該4位運(yùn)算單元112的輸出值根據(jù)操作數(shù)的 j到i位,以及輸入第一進(jìn)位選擇單元114的進(jìn)位信號(hào)為Gj_m得到,表示為:Result [i:j]。
[0037] 本實(shí)施例提供的混合型加法器100中的進(jìn)位值生成裝置120中設(shè)置有N個(gè)進(jìn)位值 輸出端121,該N個(gè)進(jìn)位值輸出端121--對(duì)應(yīng)的連接到N個(gè)第一進(jìn)位選擇單元114的進(jìn)位 輸入端,用于通過每個(gè)進(jìn)位值輸出端121向與該進(jìn)位值輸出端121連接的第一進(jìn)位選擇單 元114傳輸進(jìn)位信號(hào)。
[0038] 在本實(shí)施例中,通過對(duì)運(yùn)算裝置110中的每個(gè)4位運(yùn)算單元112設(shè)置兩個(gè)并行的 第二4位加法器113,可以同時(shí)計(jì)算進(jìn)位值分別為0和1時(shí)的兩個(gè)運(yùn)算結(jié)果,與此同時(shí),通 過進(jìn)位值生成裝置120生成與每個(gè)4位運(yùn)算單元112相對(duì)應(yīng)的進(jìn)位信號(hào),并將該進(jìn)位信號(hào) 傳輸給與其對(duì)應(yīng)的第一進(jìn)位選擇單元114,從而使得每個(gè)4位運(yùn)算單元112根據(jù)輸入第一 進(jìn)位選擇單元114的進(jìn)位裝置選擇已計(jì)算出的兩個(gè)運(yùn)算結(jié)果。也就是說,本實(shí)施例通過設(shè) 置冗余運(yùn)算的方式,在進(jìn)行運(yùn)算時(shí)分別計(jì)算進(jìn)位值的兩種情況,因此,在第一進(jìn)位選擇單元 114獲取到與其對(duì)應(yīng)的進(jìn)位信號(hào)時(shí),可以直接從計(jì)算出的運(yùn)算結(jié)果中二選一,即可將對(duì)應(yīng)操 作數(shù)相應(yīng)位數(shù)的運(yùn)算結(jié)果輸出。本實(shí)施例提供的混合型加法器100中4位運(yùn)算單元的結(jié)構(gòu) 減少了由進(jìn)位產(chǎn)生而帶來的硬件開銷,降低了運(yùn)算時(shí)延,在很大程度上提高了的運(yùn)算速率, 例如,在使用硬件描述語言和電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation,簡稱為: EDA)工具的支持下,在40納米(nm)工藝下可以達(dá)到2吉赫茲(GHz)的工作頻率。
[0039] 需要說明的是,本實(shí)施例中的第一 4位加法器111用于計(jì)算操作數(shù)的1~4位,由 于操作數(shù)的1~4位為最低位,進(jìn)位值恒為0,因此直接通過第一 4位加法器111進(jìn)行運(yùn)算 即可;另外,本實(shí)施例中的第一 4位加法器111和第二4位加法器113可以為相同的類型, 也可以為不同的類型,例如可以為4位串行加法器,也可以為4位并行加法器。
[0040] 在具體實(shí)現(xiàn)中,依次設(shè)置的第一 4位加法器111和N個(gè)4位運(yùn)算單元112中的每 一位與操作數(shù)的每一位之間一一對(duì)應(yīng),進(jìn)位值生成裝置120的第η個(gè)進(jìn)位值輸出端121用 于根據(jù)操作數(shù)的1到4η位輸出進(jìn)位信號(hào),1 < η < Ν,由于第η個(gè)4位運(yùn)算單元112用于計(jì) 算操作數(shù)的4η+1到4η+4位,因此需要獲取操作數(shù)的1到4η位所生成的進(jìn)位信號(hào);本實(shí)施 例提供中的進(jìn)位值生成裝置120可以采用稀疏樹型結(jié)構(gòu)設(shè)計(jì)進(jìn)位值生成裝置120,以產(chǎn)生 對(duì)應(yīng)于每個(gè)1~4η位的進(jìn)位信號(hào),其中,η為1到N之間的整數(shù),并且,進(jìn)位值輸出端121 所輸出的進(jìn)位信號(hào),還用于向下傳遞,以生成后續(xù)4位運(yùn)算單元112所需要的進(jìn)位信號(hào)。由 于本實(shí)施例采用4位加法器進(jìn)行求和運(yùn)算,相應(yīng)地,進(jìn)位值生成裝置120可以以操作數(shù)的每 4位為一組執(zhí)行進(jìn)位運(yùn)算,并將低4位的進(jìn)位運(yùn)算結(jié)果傳輸給更高位以執(zhí)行進(jìn)位運(yùn)算,采用 稀疏樹型結(jié)構(gòu)形成本實(shí)施例提供的進(jìn)位值生成裝置120時(shí),可以采用較少數(shù)量的邏輯門來 構(gòu)成進(jìn)位值生成裝置120,有利于減小版圖面積以及降低功耗。
[0041] 本實(shí)施例中提供的混合型加法器,通過運(yùn)算裝置和進(jìn)位值生成裝置同時(shí)進(jìn)行操作 數(shù)的求和運(yùn)算和進(jìn)位運(yùn)算,具體地,在進(jìn)位值生成裝置產(chǎn)生進(jìn)位值的同時(shí),運(yùn)算裝置中每個(gè) 4位運(yùn)算單元的兩路并行的第二4位加法器計(jì)算出進(jìn)位值為0和1時(shí)的兩個(gè)運(yùn)算結(jié)果,從而 在4位運(yùn)算單元的第一進(jìn)位選擇單元獲取到實(shí)際產(chǎn)生的進(jìn)位值時(shí),直接從上述兩路并行的 第二4位加法器獲取的運(yùn)算結(jié)果中選擇與該實(shí)際進(jìn)位值匹配的結(jié)果。本實(shí)施例提供的混合 型加法器,能夠在提高該混合型加法器運(yùn)算速率的同時(shí)保證具有較小的版圖面積,從而降 低功耗。
[0042] 需要說明的是,本實(shí)施例基于求和運(yùn)算和進(jìn)位運(yùn)算的運(yùn)算時(shí)間,采用4位加法器 構(gòu)成基本的求和運(yùn)算單元,使得求和運(yùn)算和進(jìn)位運(yùn)算的執(zhí)行周期相匹配,具有更好的并行 程度,以最大程度上降低混合型加法器100的延時(shí)。
[0043] 進(jìn)一步地,本實(shí)施例中的進(jìn)位值生成裝置120還包括第一控制信號(hào)輸入端Cinl,使 得混合型加法器100在該第一控制信號(hào)輸入端Cinl的輸入為0時(shí)執(zhí)行加法運(yùn)算,在該第一 控制信號(hào)輸入端的輸入為1時(shí)執(zhí)行減法運(yùn)算;具體地,實(shí)現(xiàn)減法運(yùn)算功能的關(guān)系表達(dá)式為: J 5 = J+5 +1,因此可以將操作數(shù)的被減數(shù)求反,再通過進(jìn)位輸入加1,例如使用異或門 對(duì)被減數(shù)求反,可以有效地整合加減操作,減法運(yùn)算的過程可用代碼描述為:assign B = Src2~ {32 {Cinl}}。代碼的具體含義是當(dāng)進(jìn)行減法操作時(shí)Cinl為1,操作數(shù)Src2與C inl異或 后即將Src2取反;當(dāng)進(jìn)行加法操作時(shí)Cinl為0,異或后操作數(shù)不變。
[0044] 圖3為本發(fā)明實(shí)施例提供的另一種混合型加法器的結(jié)構(gòu)示意圖。如圖3所示,具體 以N為7為例予以示出,即圖3所示混合型加法器100中具體包括7個(gè)4位運(yùn)算單元112, 該混合型加法器100用于進(jìn)行32位加減法運(yùn)算。
[0045] 本實(shí)施例提供一種進(jìn)位值生成裝置120的具體結(jié)構(gòu),該進(jìn)位值生成裝置120包括 7個(gè)組合邏輯模塊122,每個(gè)組合邏輯模塊122包括4對(duì)輸入端和1對(duì)輸出端,第η個(gè)組合 邏輯模塊122的4對(duì)輸入端對(duì)應(yīng)操作數(shù)的4η-3到4η位,每個(gè)組合邏輯模塊122包括第一、 第二和第三組合邏輯單元122a,第一、第二和第三組合邏輯單元122a分別包括2對(duì)輸入端 和1對(duì)輸出端,其中,第一和第二組合邏輯單元122a并聯(lián),第一組合邏輯單元122a的2對(duì) 輸入端和第二組合邏輯單元122a的2對(duì)輸入端作為組合邏輯模塊122的4對(duì)輸入端,第一 組合邏輯單元122a的1對(duì)輸出端和第二組合邏輯單元122a的1對(duì)輸出端--對(duì)應(yīng)的連接 到第三組合邏輯單元122a的2對(duì)輸入端;每個(gè)組合邏輯模塊122用于根據(jù)4對(duì)輸入端對(duì)應(yīng) 的操作數(shù),由第一和第二組合邏輯單元122a分別輸出第一信號(hào)和第二信號(hào),從而由第三組 合邏輯單元122a根據(jù)第一信號(hào)和第二信號(hào)輸出第三信號(hào),其中,第一、第二和