專利名稱:條件選擇加法器及進(jìn)行條件選擇加法運(yùn)算的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及集成電路裝置,更具體地講,涉及集成電路裝置中使用的二 進(jìn)制加法器。
背景技術(shù):
可將半導(dǎo)體集成電路(IC)劃分為標(biāo)準(zhǔn)IC和專用集成電路(ASIC)。 ASIC 是基于顧客需求為特定用途而制造的。全定制IC被設(shè)計(jì)和制造成按照用戶需 求的最終芯片(fmal chip)。半定制IC包括預(yù)先制造好的標(biāo)準(zhǔn)單元和門陣列及 通過(guò)在門陣列上將互連(interco皿ects)布線形成的期望的邏輯電路。進(jìn)行布置和布線來(lái)制造各種IC,使得制造的IC具有參數(shù)(例如適于用戶需求 的位寬)。因此,應(yīng)當(dāng)正確地定義頁(yè)元,以使編譯的寵單元可具有關(guān)于速度、 功率、面積和靈活性的高性能??赏ㄟ^(guò)轉(zhuǎn)換頁(yè)元將編譯的宏單元重構(gòu)為算法 邏輯單元(ALU)。頁(yè)元定義受用于電路實(shí)現(xiàn)的算法的影響。通常,通過(guò)行波進(jìn)位(ripple carry)算法、先行進(jìn)位(carry look-ahead)算法 或其它傳統(tǒng)算法來(lái)實(shí)現(xiàn)加法器。通過(guò)利用行波進(jìn)位算法實(shí)現(xiàn)的行波進(jìn)位加法 器通過(guò)從最低有效位(LSB)到最高有效位(MSB)將并行的兩個(gè)N位輸入(N為 自然數(shù))相加來(lái)順序計(jì)算進(jìn)位輸出最終求和結(jié)果。每一級(jí)(stage)在當(dāng)前級(jí)使用 由前一級(jí)產(chǎn)生的進(jìn)位輸入。例如,當(dāng)執(zhí)行兩個(gè)16位輸入的加法運(yùn)算時(shí),在行 波進(jìn)位加法器中出現(xiàn)16位單位延遲(unit delay)。通過(guò)利用先行進(jìn)位算法實(shí)現(xiàn)的先行進(jìn)位加法器通過(guò)對(duì)加法器中包括的頁(yè) 元分組以同時(shí)計(jì)算進(jìn)位來(lái)輸出最終求和結(jié)果,以通過(guò)減少加法器中出現(xiàn)的延 遲來(lái)提高加法器的速度。然而,當(dāng)位數(shù)增多時(shí),加法器的占有面積增加
發(fā)明內(nèi)容
根據(jù)本發(fā)明實(shí)施例的條件選擇加法器包括第一信號(hào)發(fā)生器、第二信號(hào)發(fā) 生器和求和電路。第一信號(hào)發(fā)生器被構(gòu)造為響應(yīng)一對(duì)要相加的操作數(shù)產(chǎn)生進(jìn) 位發(fā)生信號(hào)和進(jìn)位傳送信號(hào)。第二信號(hào)發(fā)生器被構(gòu)造為響應(yīng)進(jìn)位發(fā)生信號(hào)和 進(jìn)位傳送信號(hào)產(chǎn)生進(jìn)位輸入信號(hào)和塊進(jìn)位信號(hào)。該第二信號(hào)發(fā)生器包括從包 含最小頁(yè)元數(shù)的第一組至包含最大頁(yè)元數(shù)的第二組按升序布置的多組頁(yè)元。 如果該順序從第 一組到最后一組單調(diào)升,則該第二組可以是頁(yè)元的中間組或 頁(yè)元的最后一組。求和電路被構(gòu)造為響應(yīng)塊進(jìn)位信號(hào)、進(jìn)位傳送信號(hào)和進(jìn)位 輸入信號(hào)產(chǎn)生這對(duì)操作數(shù)的和。根據(jù)這些實(shí)施例中的一些實(shí)施例,求和電路 包括組旁通電路和求和單元。組旁通電路被構(gòu)造為響應(yīng)塊進(jìn)位信號(hào)和進(jìn)位傳 送信號(hào)產(chǎn)生進(jìn)位輸出信號(hào)。求和單元被構(gòu)造為響應(yīng)進(jìn)位輸入信號(hào)和進(jìn)位傳送 信號(hào)產(chǎn)生和數(shù)輸出信號(hào)。和數(shù)輸出信號(hào)和進(jìn)位輸出信號(hào)共同表示被提供給第 一信號(hào)發(fā)生器的那對(duì)操作數(shù)的和。根據(jù)本發(fā)明的另外的實(shí)施例,多組頁(yè)元中的每個(gè)頁(yè)元響應(yīng)于進(jìn)位發(fā)生信 號(hào)和進(jìn)位傳送信號(hào)的相應(yīng)位。此外,多組頁(yè)元中的每組中的最高有效頁(yè)元被 構(gòu)造為產(chǎn)生塊進(jìn)位信號(hào)的相應(yīng)位。組旁通電路其內(nèi)還可包括多個(gè)頁(yè)元,每個(gè) 頁(yè)元被構(gòu)造為接收由相應(yīng)的最高有效頁(yè)元產(chǎn)生的塊進(jìn)位信號(hào)的相應(yīng)位。
圖1是示出了才艮據(jù)本發(fā)明示例性實(shí)施例的條件選擇力口法器的框圖。圖2是示出了根據(jù)本發(fā)明示例性實(shí)施例的圖1的條件選擇加法器的進(jìn)位 發(fā)生單元中的頁(yè)元和組旁通單元中的塊頁(yè)元的框圖。圖3是示出了與圖1的條件選擇加法器相比的加法器的進(jìn)位發(fā)生單元中 的頁(yè)元和組旁通單元中的塊頁(yè)元的框圖。圖4A是示出了如何在圖2中的進(jìn)位發(fā)生單元中對(duì)頁(yè)元進(jìn)行分組的流程圖。圖4B是示出了如何在圖2中的進(jìn)位發(fā)生單元中布置包括剩余頁(yè)元的剩 余組的流程圖。圖5A是示出了如何在圖3中的進(jìn)位發(fā)生單元中對(duì)頁(yè)元進(jìn)行分組的流程圖。圖5B是示出了如何在圖3中的進(jìn)位發(fā)生單元中布置包括剩余頁(yè)元的剩 余組的流程圖。圖6是示出了與圖1的條件選擇加法器相比的加法器的進(jìn)位發(fā)生單元中 的頁(yè)元和組旁通單元中的塊頁(yè)元的框圖,在該加法器中包括剩余頁(yè)元的剩余 組挨著最后一組布置。圖7是示出了當(dāng)利用各種方法對(duì)進(jìn)位發(fā)生單元中的頁(yè)元進(jìn)行分組時(shí),塊 進(jìn)位BC的第 一 門延遲、進(jìn)位輸出COUT的第二門延遲、和數(shù)輸出SOUT的 第三門延遲和數(shù)據(jù)偏斜的對(duì)比結(jié)果的表格。
具體實(shí)施方式
現(xiàn)在,將參照附圖更充分地描述本發(fā)明的實(shí)施例,在附圖中示出了本發(fā) 明的實(shí)施例。然而,本發(fā)明可以以許多不同的形式實(shí)施,并且不應(yīng)被解釋為 局限于這里闡述的實(shí)施例。當(dāng)然,提供這些實(shí)施例使得本公開將徹底且完全, 這些實(shí)施例將會(huì)將本發(fā)明的范圍充分地傳達(dá)給本領(lǐng)域的技術(shù)人員。在該申請(qǐng) 中相同的標(biāo)號(hào)表示相同的元件。應(yīng)該理解,雖然會(huì)在這里使用術(shù)語(yǔ)第一、第二等來(lái)描述各種元件,但是 這些元件不應(yīng)被這些術(shù)語(yǔ)限制。使用這些術(shù)語(yǔ)將一個(gè)元件與另 一元件區(qū)分開 來(lái)。例如,第一元件可被稱為第二元件,同樣,第二元件可被稱為第一元件, 而不脫離本發(fā)明的范圍。如這里所使用的,術(shù)語(yǔ)"和/或"包括相關(guān)所列項(xiàng)中 的一個(gè)或多個(gè)的任意組合和全部組合。應(yīng)該理解,當(dāng)元件被稱作"連接"或"結(jié)合"到另一元件時(shí),該元件可 直接連接或結(jié)合到另一元件,或者可存在中間元件。相反,當(dāng)元件被稱作"直 接連接"或"直接結(jié)合"到另一元件時(shí),不存在中間元件。其它用來(lái)描述元 件之間的關(guān)系的詞應(yīng)當(dāng)以同樣的方式來(lái)解釋(例如,"在...之間"與"直接在... 之間","相鄰的"與"直接相鄰的,,,等)。這里所用的術(shù)語(yǔ)是出于描述具體實(shí)施例的目的,而不意圖限制本發(fā)明。 如這里所使用的,除非上下文明確指出,否則單數(shù)形式同樣意圖包括復(fù)數(shù)形 式。還應(yīng)該理解,術(shù)語(yǔ)"包括,,和/或"包含"(當(dāng)在這里使用時(shí))指明所述特 征、整體、步驟、操作、元件和/或組件的存在,但不排除存在或添加一個(gè)或 多個(gè)其它特征、整體、步驟、操作、元件、組件和/或它們的組。除非這里明確定義,否則這里所用的所有術(shù)語(yǔ)(包括技術(shù)和科學(xué)術(shù)語(yǔ))具 有的含義與本發(fā)明所屬領(lǐng)域的普通技術(shù)人員通常所理解的含義一樣。還應(yīng)該
理解,除非這里明確定義,否則術(shù)語(yǔ)(例如那些在通用詞典里所定義的術(shù)語(yǔ)) 應(yīng)當(dāng)被解釋為具有的含義與相關(guān)技術(shù)上下文中的含義一致,而不應(yīng)該以過(guò)于 理想化或過(guò)于正式的意義來(lái)解釋。圖1是示出了根據(jù)本發(fā)明示例性實(shí)施例的條件選擇加法器100的框圖。 參照?qǐng)D1,條件選擇加法器100包括進(jìn)位信號(hào)發(fā)生單元10、進(jìn)位發(fā)生單元20、 組旁通單元(group bypassing unit)30和求和單元40。進(jìn)位信號(hào)發(fā)生單元10基 于兩個(gè)N位輸入產(chǎn)生進(jìn)位發(fā)生信號(hào)GG和進(jìn)位傳送信號(hào)(carry propagation signal)PP。這里,例如,數(shù)字N可以是4、 8、 16、 32、 64和128中的一個(gè)。 進(jìn)位發(fā)生單元20基于進(jìn)位發(fā)生信號(hào)GG和進(jìn)位傳送信號(hào)PP產(chǎn)生塊進(jìn)位(block carry)BC和進(jìn)位輸入CIN。進(jìn)位發(fā)生單元20包括要被分組的N個(gè)頁(yè)元,如將 在下面參照?qǐng)D2進(jìn)行說(shuō)明的。組旁通單元30基于進(jìn)位傳送信號(hào)PP和塊進(jìn)位 BC產(chǎn)生進(jìn)位輸出COUT。求和單元40基于進(jìn)位傳送信號(hào)PP和進(jìn)位輸入CIN 產(chǎn)生N位和數(shù)輸出。進(jìn)位發(fā)生信號(hào)GG是按表達(dá)式1表示的兩個(gè)輸入的AND運(yùn)算的結(jié)果GG = Xi* Yi,其中,Xi和Yi是兩個(gè)輸入,""表示AND運(yùn)算。 (1) 進(jìn)位傳送信號(hào)PP是按表達(dá)式2表示的兩個(gè)輸入的異OR運(yùn)算的結(jié)果 PPi = Xi3 Yi,其中,"3"表示異OR運(yùn)算。 (2)和數(shù)輸出SOUT是按表達(dá)式3表示的運(yùn)算的結(jié)果SOUTi = Xi 3 Yi 3 CINi。 (3)圖2是示出了根據(jù)本發(fā)明示例性實(shí)施例的圖1的條件選擇加法器100的 進(jìn)位發(fā)生單元20中的頁(yè)元和組旁通單元30中的塊頁(yè)元(block leaf-cell)的框 圖。圖2示出了當(dāng)提供兩個(gè)32位輸入時(shí)圖1的條件選擇力口法器100的運(yùn)算。參照?qǐng)D2,進(jìn)位發(fā)生單元20包括頁(yè)元LC0至LC31。因此,進(jìn)位發(fā)生單 元20包括32個(gè)頁(yè)元。每個(gè)頁(yè)元接收基于兩個(gè)輸入產(chǎn)生的進(jìn)位發(fā)生信號(hào)PPi 和進(jìn)位傳送信號(hào)GGi。因此,LC0接收GG0和PP0, LC1接收GG1和PP1。 按第一方法對(duì)這32個(gè)頁(yè)元LC0至LC31進(jìn)行分組。每組中的頁(yè)元數(shù)從包括最 小頁(yè)元數(shù)的第一組至包括最大頁(yè)元數(shù)的最后一組按升序增加。在圖2中,第 四組G4包括的頁(yè)元數(shù)與第5組G5中包括的頁(yè)元數(shù)相同。在這種情況下,第 五組G5對(duì)應(yīng)于剩余組(remainder group)。每組中的頁(yè)元數(shù)從第 一組到最后一
組通常依次增大一個(gè)。因?yàn)槭S嗟捻?yè)元數(shù)沒有最后一組中的頁(yè)元數(shù)大,所以 剩余組包括未按升序分組的剩余頁(yè)元。因此,按照第一方法布置剩余組。下面將參照?qǐng)D4A和圖4B來(lái)描述第一方法。每個(gè)頁(yè)元LCi基于進(jìn)位發(fā)生信號(hào)GGi和進(jìn)位傳送信號(hào)PPi產(chǎn)生將要提供 給下一個(gè)頁(yè)元的進(jìn)位輸入CINi。每組中的最后一個(gè)頁(yè)元接收由前一頁(yè)元提供 的進(jìn)位輸入CINi、進(jìn)位發(fā)生信號(hào)GGi和進(jìn)位傳送信號(hào)PPi,從而產(chǎn)生塊進(jìn)位 BCj。在每組中的最后一個(gè)頁(yè)元中的每個(gè)產(chǎn)生塊進(jìn)位BCj信號(hào),并將塊進(jìn)位 BCj信號(hào)提供給塊頁(yè)元。每組中的最后一個(gè)頁(yè)元LC1、 LC4、 LC8、 LC13、 LC18、 LC24和LC31分別向圖2中的塊頁(yè)元BLC1、 BLC2、 BLC3、 BLC4、 BLC5、 BLC6和BLC7提供塊進(jìn)位BCj。組旁通單元30基于發(fā)送到組旁通單 元30中的塊頁(yè)元的塊進(jìn)位BCj并基于進(jìn)位傳送信號(hào)PPi產(chǎn)生進(jìn)位輸出。如圖2中所示,組旁通單元30包括的塊頁(yè)元數(shù)與進(jìn)位發(fā)生單元20中包 括的組數(shù)一樣多。雖然未在圖2中示出,但是向求和單元40提供在進(jìn)位發(fā)生 單元20中的頁(yè)元LC0至LC31產(chǎn)生的進(jìn)位輸入信號(hào)CINi,求和單元40對(duì)兩 個(gè)輸入執(zhí)行加法運(yùn)算以產(chǎn)生和數(shù)輸出SOUT。在圖2,在包括最大頁(yè)元數(shù)的第七組G7中出現(xiàn)最大門延遲。這里,塊進(jìn) 位BC的第一門延遲對(duì)應(yīng)于直到向塊頁(yè)元提供塊進(jìn)位BCi為止進(jìn)位發(fā)生信號(hào) GGi和進(jìn)位傳送信號(hào)PPi經(jīng)過(guò)的門的數(shù)量。因此,第一門延遲對(duì)應(yīng)于在進(jìn)位 發(fā)生單元20中包括最多頁(yè)元的最后一組中的頁(yè)元數(shù)。在圖2中,因?yàn)榈谄呓M G7包括對(duì)應(yīng)于最多頁(yè)元的7個(gè)頁(yè)元,所以第一門延遲對(duì)應(yīng)于7。進(jìn)位輸出COUT的第二門延遲對(duì)應(yīng)于直到產(chǎn)生進(jìn)位輸出COUT為止進(jìn)位 發(fā)生信號(hào)GGi和進(jìn)位傳送信號(hào)PPi經(jīng)過(guò)的門的數(shù)量。因此,在圖2中,當(dāng)向 第一組Gl中的頁(yè)元LCO輸入進(jìn)位發(fā)生信號(hào)GGO和進(jìn)位傳送信號(hào)PPO時(shí),因 為基于箭頭標(biāo)注的編號(hào)[1]至[8]來(lái)計(jì)算門的數(shù)量,所以第二門延遲對(duì)應(yīng)于9(8 加1)。當(dāng)分別向第二組G2的頁(yè)元LC2輸入進(jìn)位發(fā)生信號(hào)GG2和進(jìn)位傳送信 號(hào)PP2、向第三組G3的頁(yè)元LC5輸入進(jìn)位發(fā)生信號(hào)GG5和進(jìn)位傳送信號(hào)PP5 、 向第四組G4的頁(yè)元LC9輸入進(jìn)位發(fā)生信號(hào)GG9和進(jìn)位傳送信號(hào)PP9時(shí),第 二門延遲對(duì)應(yīng)于9。在圖2中,當(dāng)向頁(yè)元LC14輸入進(jìn)位發(fā)生信號(hào)GG14和進(jìn) 位傳送信號(hào)PP14時(shí),因?yàn)榛谌缂^所標(biāo)注的來(lái)計(jì)算門的數(shù)量,所以第二門 延遲對(duì)應(yīng)于8(7加1)。當(dāng)向第六組G6中的頁(yè)元LC19輸入進(jìn)位發(fā)生信號(hào)GG19
和進(jìn)位傳送信號(hào)PP19,向第七組G7中的頁(yè)元LC25輸入進(jìn)位發(fā)生信號(hào)GG25 和進(jìn)位傳送信號(hào)PP25時(shí),第二門延遲對(duì)應(yīng)于8。在圖2中,數(shù)據(jù)偏斜(data skew)對(duì)應(yīng)于從頁(yè)元LC25到塊頁(yè)元BLC7的塊 進(jìn)位BC的第一門延遲和從頁(yè)元LC0至塊頁(yè)元BLC7的塊進(jìn)位的第一門延遲 之間的差。因此,在圖2中,數(shù)據(jù)偏斜對(duì)應(yīng)于1(即8減7)?;诰幪?hào)[1]至[8] 計(jì)算得到門延遲為8,基于編號(hào)(1)至(7)計(jì)算得到門延遲為7。加法器的運(yùn)算 速度隨著數(shù)據(jù)偏斜的減小而變快。因此,數(shù)據(jù)偏斜可以是加法器的運(yùn)算速度 的測(cè)量因素。圖3是示出了與圖1的條件選擇加法器相比的加法器的進(jìn)位發(fā)生單元 110中的頁(yè)元和組旁通單元120中的塊頁(yè)元的框圖。在圖3中,雖然沒有示 出進(jìn)位信號(hào)發(fā)生單元和求和單元,但是進(jìn)位信號(hào)發(fā)生單元和求和單元與圖1 中的進(jìn)位信號(hào)發(fā)生單元10和求和單元40—樣。在圖3中,利用第二方法對(duì) 頁(yè)元進(jìn)行分組。圖3示出了當(dāng)提供兩個(gè)32位輸入時(shí)另一加法器的運(yùn)算。參照?qǐng)D3,進(jìn)4亍發(fā)生單元110包括8組即Gl至G8。每組中的頁(yè)元數(shù)分 別為2、 3、 4、 5、 6、 5、 4和3。因此,頁(yè)元先按升序再按降序分組。將參 照?qǐng)D5A和圖5B詳細(xì)描述第二方法。圖3中的加法器的運(yùn)算與圖2中的加法器的運(yùn)算相似,所以省略了詳細(xì) 的描述。在包括最大頁(yè)元數(shù)的第五組G5中出現(xiàn)塊進(jìn)位BC的第一門延遲。在 圖3中,因?yàn)榈谖褰MG5包括6個(gè)頁(yè)元(組中的最大頁(yè)元數(shù)),所以第一門延遲 對(duì)應(yīng)于6。因?yàn)榛谌缂^標(biāo)注的編號(hào)[1]至[9]來(lái)計(jì)算門的數(shù)量,所以輸出進(jìn) 位COUT的第二門延遲對(duì)應(yīng)于10(9加1)。在圖3的加法器中,數(shù)據(jù)偏斜對(duì)應(yīng)于6(即9減3)?;诰幪?hào)[1]至[9]計(jì)算得到門延遲為9,基于編號(hào)(1)至(3)計(jì)算 得到門延遲為3。因此,圖3的塊進(jìn)位BC的第一門延遲對(duì)應(yīng)于6,圖2的塊 進(jìn)位BC的第一門延遲對(duì)應(yīng)于7。此外,利用圖3的第二方法計(jì)算的數(shù)據(jù)偏斜 對(duì)應(yīng)于6,利用圖2的第一方法計(jì)算的數(shù)據(jù)偏斜對(duì)應(yīng)于1。結(jié)果,包括圖2的 進(jìn)位發(fā)生單元20和組旁通單元30的條件選擇加法器100會(huì)比包括圖3的進(jìn) 位發(fā)生單元110和組旁通單元120的加法器運(yùn)算得快。圖4A是示出了如何在圖2中的進(jìn)位發(fā)生單元中對(duì)頁(yè)元進(jìn)行分組的流程圖,圖4B是示出了如何在圖2中的進(jìn)位發(fā)生單元20中布置包括剩余頁(yè)元的剩余組的流程圖。參照?qǐng)D4A,選擇兩個(gè)輸入的位數(shù)(步驟S410)。設(shè)置GROUP 值為l,設(shè)置TOTAL值為0(步驟S420)。此夕卜,將GROUP值更新為前一GROUP 值加上1的值(步驟S430)。因此,每一組中的頁(yè)元數(shù)從第一組至最后一組按 升序增加。接著,將TOTAL值更新為前一 TOTAL值加上GROUP值的值(步 驟S440)。這里,將TOTAL值與在步驟S410選擇的位數(shù)進(jìn)行比較(步驟S450)。 當(dāng)TOTAL值小于位數(shù)時(shí),將得到的GROUP值設(shè)為GROUP值(步驟S460), 并將GROUP值更新為前一 GROUP值加上1的值(步驟S430)。當(dāng)TOTAL值 超過(guò)位數(shù)時(shí),結(jié)束所有的步驟。參照?qǐng)D4B,將剩余值REM(剩余組的頁(yè)元數(shù))設(shè)為位數(shù)減去在步驟S440 設(shè)置的TOTAL值的值(步驟S470)。這里,剩余值REM是未利用圖4A的步 驟進(jìn)行分組的頁(yè)元數(shù)。將剩余值REM與1進(jìn)行比較(步驟S480)。當(dāng)剩余值為 1時(shí),將包括這個(gè)頁(yè)元的剩余組布置在組中的第一位置(步驟S490)。將包括 多于1個(gè)頁(yè)元的剩余組布置在包括與剩余值一樣多的頁(yè)元的組的前面(步驟 S495)。在圖2的示例中,因?yàn)楫?dāng)選擇兩個(gè)32位輸入作為輸入時(shí),剩余值為5, 所以將包括5個(gè)頁(yè)元的剩余組G4布置在包括5個(gè)頁(yè)元的第五組G5的前面。圖5A是示出了如何在圖3中的進(jìn)位發(fā)生單元120中對(duì)頁(yè)元進(jìn)行分組的 流程圖,圖5B是示出了如何在圖3中的進(jìn)位發(fā)生單元中布置包括剩余頁(yè)元的 剩余組的流程圖,用于將圖3的加法器與根據(jù)本發(fā)明示例性實(shí)施例的圖2的 條件選擇加法器相比。參照?qǐng)D5A,選擇兩個(gè)輸入的位數(shù)(步驟S510)。設(shè)置 GROUP值為l,設(shè)置TOTAL值為O(步驟S520)。此外,將位數(shù)除以2(步驟 S530)。接著,將TOTAL值與在步驟S530計(jì)算出的值進(jìn)行比較(步驟S540)。 這里,當(dāng)計(jì)算出的值超過(guò)TOTAL值時(shí),將GROUP值更新為前一 GROUP值 加上1的值(步驟S550);當(dāng)計(jì)算出的值小于TOTAL值時(shí),將GROUP值更新 為前一 GROUP值減去1的值(步驟S560)。將在步驟S560計(jì)算得到的GROUP 值與1進(jìn)行比較(步驟S570)。當(dāng)GROUP值為1時(shí),結(jié)束所有的步驟。此外, 當(dāng)GROUP值大于1并且當(dāng)完成步驟S550時(shí),將TOTAL值更新為GROUP 值加上前一 TOTAL值的值(步驟S580)。接著,當(dāng)TOTAL值小于位數(shù)時(shí),將 得到的GROUP值設(shè)為GROUP值(步驟S595),步驟S595之后為步驟S540。 當(dāng)TOTAL值超過(guò)位數(shù)時(shí),結(jié)束所有的步驟。參照?qǐng)D5B,將剩余值設(shè)為位數(shù)減去在步驟S580設(shè)置的TOTAL值的值(步 驟S610)。這里,剩余值是未利用圖5A的步驟進(jìn)行分組的頁(yè)元數(shù)。將剩余值 與1進(jìn)行比較(步驟S620)。當(dāng)剩余值為1時(shí),將包括這個(gè)頁(yè)元的剩余組布置 在第一組的前面(步驟S630)。將包括多于1個(gè)頁(yè)元的剩余組布置在包括與剩
余值一樣多的頁(yè)元并按降序分組的組的前面(步驟S640)。在圖3的示例中, 因?yàn)樵诓襟ES580的TOTAL值為32,位數(shù)為32,所以剩余值為0。圖6是示出了與圖1的條件選擇加法器相比的加法器的進(jìn)位發(fā)生單元中 的頁(yè)元和組旁通單元中的塊頁(yè)元的框圖,在該加法器中包括剩余頁(yè)元的剩余 組挨著最后一組布置。參照?qǐng)D6,在包括最大頁(yè)元數(shù)的第六組G6出現(xiàn)塊進(jìn)位 BC的第一門延遲。在圖6中,因?yàn)榈诹MG6包括7個(gè)頁(yè)元(為最多頁(yè)元), 所以第一門延遲對(duì)應(yīng)于7。因?yàn)榛诎醇^標(biāo)注的編號(hào)[1]至[8]計(jì)算門的數(shù)量, 所以輸出進(jìn)位COUT的第二門延遲對(duì)應(yīng)于9(即8加1)。在圖6中,數(shù)據(jù)偏斜 對(duì)應(yīng)于3(即8減去5)。基于編號(hào)[1]至[8]計(jì)算得到門延遲為8,基于編號(hào)(l) 至(5)計(jì)算得到門延遲為5。因此,利用關(guān)于圖6描述的第三方法計(jì)算的數(shù)據(jù) 偏斜大于利用圖2的第一方法計(jì)算的數(shù)據(jù)偏斜。這里,基于圖4B的步驟布置 剩余組。圖7是示出了當(dāng)利用各種方法對(duì)進(jìn)位發(fā)生單元中的頁(yè)元進(jìn)行分組時(shí),塊 進(jìn)位BC的第 一 門延遲、進(jìn)位輸出COUT的第二門延遲、和數(shù)輸出SOUT的 第三門延遲和數(shù)據(jù)偏斜的對(duì)比結(jié)果的表格。這些方法包括隨機(jī)分組法、圖3 的升序/降序分組法、圖6的第一升序分組法和圖2的第二升序分組法。包括 剩余頁(yè)元的剩余組按照第 一升序法挨著最后一組布置,包括剩余頁(yè)元的剩余 組按照第二升序方法基于圖4B的步驟布置。按照?qǐng)D7中的隨機(jī)分組法,每一組中的頁(yè)元數(shù)為2、 4、 3、 5、 9、 4和5。 和數(shù)輸出SOUT的第三門延遲對(duì)應(yīng)于在輸入兩個(gè)輸入后直到輸出和數(shù)輸出 SOUT為止存在的門的數(shù)量。因此,用于和數(shù)輸出SOUT的第三門延遲為塊 進(jìn)位BC的第 一 門延遲加上2。與進(jìn)位傳送速度之間的差相關(guān)的數(shù)據(jù)偏斜是確定加法器的運(yùn)算速度的重 要因素。在按照升序分組法的條件選擇加法器中,剩余組中的剩余頁(yè)元布置 在組的特定位置。此外,根據(jù)本發(fā)明示例性實(shí)施例的圖1的條件選擇加法器 具有在圖3和圖6的其它的加法器中最小的數(shù)據(jù)偏斜。如上所述,條件選擇加法器和進(jìn)行條件選擇加法的方法可通過(guò)將進(jìn)位發(fā) 生單元中的頁(yè)元分組以將組按升序布置并將剩余組布置在特定位置而減少了 數(shù)據(jù)偏斜。因此,無(wú)需增加加法器的面積,可實(shí)現(xiàn)高性能,并可提高運(yùn)算速 度。雖然已經(jīng)詳細(xì)描述了本發(fā)明的示例性實(shí)施例及其優(yōu)點(diǎn),但是應(yīng)該理解,
在不脫離本發(fā)明范圍的情況下,在這里可進(jìn)行各種改變、替代和變更。
權(quán)利要求
1、一種條件選擇加法器,包括第一信號(hào)發(fā)生器,被構(gòu)造為響應(yīng)一對(duì)要相加的操作數(shù)產(chǎn)生進(jìn)位發(fā)生信號(hào)和進(jìn)位傳送信號(hào);第二信號(hào)發(fā)生器,被構(gòu)造為響應(yīng)進(jìn)位發(fā)生信號(hào)和進(jìn)位傳送信號(hào)產(chǎn)生進(jìn)位輸入信號(hào)和塊進(jìn)位信號(hào),所述第二信號(hào)發(fā)生器包括從包含最小頁(yè)元數(shù)的第一組至包含最大頁(yè)元數(shù)的第二組按升序布置的多組頁(yè)元;求和電路,被構(gòu)造為響應(yīng)塊進(jìn)位信號(hào)、進(jìn)位傳送信號(hào)和進(jìn)位輸入信號(hào)產(chǎn)生這對(duì)操作數(shù)的和。
2、 如權(quán)利要求1所述的條件選擇加法器,其中,所述求和電路包括組旁 通電路,所述組旁通電路被構(gòu)造為響應(yīng)塊進(jìn)位信號(hào)和進(jìn)位傳送信號(hào)產(chǎn)生進(jìn)位 輸出信號(hào)。
3、 如權(quán)利要求2所述的條件選擇加法器,其中,所述求和電路還包括求 和單元,所述求和單元被構(gòu)造為響應(yīng)進(jìn)位輸入信號(hào)和進(jìn)位傳送信號(hào)產(chǎn)生和數(shù) 輸出信號(hào);其中,和數(shù)輸出信號(hào)和進(jìn)位輸出信號(hào)總地代表這對(duì)操作數(shù)的和。
4、 如權(quán)利要求1所述的條件選擇加法器,其中,所述多組頁(yè)元中的每個(gè) 頁(yè)元響應(yīng)于進(jìn)位發(fā)生信號(hào)和進(jìn)位傳送信號(hào)的相應(yīng)位。
5、 如權(quán)利要求4所述的條件選擇加法器,其中,所述多組頁(yè)元的每組中的最高有效頁(yè)元被構(gòu)造為產(chǎn)生塊進(jìn)位信號(hào)的相應(yīng)位。
6、 如權(quán)利要求2所述的條件選擇加法器,其中,所述多組頁(yè)元中的每個(gè) 頁(yè)元響應(yīng)于進(jìn)位發(fā)生信號(hào)和進(jìn)位傳送信號(hào)的相應(yīng)位。
7、 如權(quán)利要求6所述的條件選擇加法器,其中,所述多組頁(yè)元中的每組 的最高有效頁(yè)元被構(gòu)造為產(chǎn)生塊進(jìn)位信號(hào)的相應(yīng)位。
8、 如權(quán)利要求7所述的條件選擇加法器,其中,所述組旁通電路其內(nèi)包 括多個(gè)頁(yè)元,每個(gè)頁(yè)元被構(gòu)造為接收塊進(jìn)位信號(hào)的相應(yīng)位。
9、 如權(quán)利要求1所述的條件選擇加法器,其中,所述第二組為最后一組。
10、 如權(quán)利要求1所述的條件選擇力。法器,其中,所述第二組為中間組; 其中,所述多組頁(yè)元的最后一組相對(duì)于所述中間組在其內(nèi)具有較小的頁(yè)元數(shù)。
11、 一種條件選擇加法器,包括進(jìn)位信號(hào)發(fā)生單元,被構(gòu)造為響應(yīng)兩個(gè)N位輸入產(chǎn)生進(jìn)位發(fā)生信號(hào)和進(jìn)位傳送信號(hào),N為自然數(shù);進(jìn)位發(fā)生單元,被構(gòu)造為響應(yīng)進(jìn)位發(fā)生信號(hào)和進(jìn)位傳送信號(hào)產(chǎn)生進(jìn)位輸 入和塊進(jìn)位,所述進(jìn)位發(fā)生單元包括分別包括至少一個(gè)頁(yè)元的至少一個(gè)組, 每個(gè)組中的頁(yè)元數(shù)從包括最小頁(yè)元數(shù)的第 一組至包括最大頁(yè)元數(shù)的最后一組 按升序增加;組旁通單元,纟皮構(gòu)造為響應(yīng)進(jìn)位傳送信號(hào)和塊進(jìn)位產(chǎn)生進(jìn)位輸出; 求和單元,被構(gòu)造為響應(yīng)進(jìn)位傳送信號(hào)和進(jìn)位輸入產(chǎn)生兩個(gè)N位輸入相 加結(jié)果的和數(shù)輸出。
12、 如權(quán)利要求11所述的條件選擇加法器,其中,所述進(jìn)位發(fā)生單元的 第一組中的頁(yè)元數(shù)對(duì)應(yīng)于2。
13、 如權(quán)利要求12所述的條件選擇加法器,其中,在從所述第一組至所 述最后 一組的所有組中的頁(yè)元數(shù)的總和T超過(guò)N之前,每組中的頁(yè)元數(shù)從所 述第一組至所述最后一組按升序增加1。
14、 如權(quán)利要求13所述的條件選擇力。法器,其中,包括M個(gè)頁(yè)元的剩 余組在M對(duì)應(yīng)于1時(shí)布置在組中的第一位置,其中,M對(duì)應(yīng)于N減去T。
15、 如權(quán)利要求14所述的條件選擇加法器,其中,剩余組在M大于1 時(shí)布置在包括與M—樣多的頁(yè)元的組的前面。
16、 如權(quán)利要求15所述的條件選擇加法器,其中,所述組旁通單元包括 的頁(yè)元的數(shù)量與所述進(jìn)位發(fā)生單元中包括的組的數(shù)量一樣多。
17、 如權(quán)利要求16所述的條件選擇加法器,其中,每個(gè)組中的最后的頁(yè) 元向所述組旁通單元中的每個(gè)頁(yè)元提供塊進(jìn)位。
18、 如權(quán)利要求11所述的條件選擇加法器,其中,進(jìn)位發(fā)生信號(hào)對(duì)應(yīng)于 所述兩個(gè)輸入的AND運(yùn)算的結(jié)果。
19、 如權(quán)利要求11所述的條件選擇加法器,其中,進(jìn)位傳送信號(hào)對(duì)應(yīng)于 所述兩個(gè)輸入的異OR運(yùn)算的結(jié)果。
20、 如權(quán)利要求19所述的條件選擇加法器,其中,所述求和單元的和數(shù) 輸出對(duì)應(yīng)于進(jìn)位傳送信號(hào)和進(jìn)位輸入的異OR運(yùn)算的結(jié)果。
21、 一種進(jìn)行條件選擇加法運(yùn)算的方法,包括以下步驟將N個(gè)頁(yè)元?jiǎng)澐譃榉謩e包括至少 一個(gè)頁(yè)元的至少 一個(gè)組,每個(gè)組中的頁(yè) 元數(shù)從包括最小頁(yè)元數(shù)的第一組至包括最大頁(yè)元數(shù)的最后一組按升序增大; 響應(yīng)兩個(gè)N位輸入產(chǎn)生進(jìn)位發(fā)生信號(hào)和進(jìn)位傳送信號(hào); 響應(yīng)進(jìn)位發(fā)生信號(hào)和進(jìn)位傳送信號(hào)產(chǎn)生進(jìn)位輸入和塊進(jìn)位; 響應(yīng)進(jìn)位傳送信號(hào)和塊進(jìn)位輸出進(jìn)位輸出; 響應(yīng)進(jìn)位傳送信號(hào)和進(jìn)位輸入對(duì)這兩個(gè)N位輸入求和。
22、 如權(quán)利要求21所述的方法,其中,第一組頁(yè)元中的頁(yè)元數(shù)對(duì)應(yīng)于2。
23、 如權(quán)利要求22所述的方法,其中,在從所述第一組至所述最后一組 的所有組中的頁(yè)元數(shù)的總和T超過(guò)N之前,每組中的頁(yè)元數(shù)從所述第 一組至 所述最后一組按升序增加1。
24、 如權(quán)利要求23所述的方法,其中,包括M個(gè)頁(yè)元的剩余組在M對(duì) 應(yīng)于1時(shí)布置在組中的第一位置,其中,M對(duì)應(yīng)于N減去T。
25、 如權(quán)利要求24所述的方法,其中,剩余組在M大于1時(shí)布置在包 括與M —樣多的頁(yè)元的組的前面。
26、 如權(quán)利要求25所述的方法,其中,通過(guò)利用與組的數(shù)量一樣多的組 旁通單元中的頁(yè)元輸出進(jìn)位輸出。
27、 如權(quán)利要求26所述的方法,其中,每個(gè)組中的最后的頁(yè)元向所述組 旁通單元中的每個(gè)頁(yè)元提供塊進(jìn)位。
28、 如權(quán)利要求21所述的方法,其中,進(jìn)位發(fā)生信號(hào)對(duì)應(yīng)于所述兩個(gè)輸 入的AND運(yùn)算的結(jié)果。
29、 如權(quán)利要求21所述的方法,其中,進(jìn)位傳送信號(hào)對(duì)應(yīng)于所述兩個(gè)輸 入的異OR運(yùn)算的結(jié)果。
30、 如權(quán)利要求29所述的方法,其中,所述求和的結(jié)果對(duì)應(yīng)于進(jìn)位傳送 信號(hào)和進(jìn)位輸入的異OR運(yùn)算的結(jié)果。
全文摘要
本發(fā)明公開了一種條件選擇加法器。該條件選擇加法器包括第一信號(hào)發(fā)生器、第二信號(hào)發(fā)生器和求和電路。第一信號(hào)發(fā)生器被構(gòu)造為響應(yīng)一對(duì)要相加的操作數(shù)產(chǎn)生進(jìn)位發(fā)生信號(hào)和進(jìn)位傳送信號(hào)。第二信號(hào)發(fā)生器被構(gòu)造為響應(yīng)進(jìn)位發(fā)生信號(hào)和進(jìn)位傳送信號(hào)產(chǎn)生進(jìn)位輸入信號(hào)和塊進(jìn)位信號(hào)。該第二信號(hào)發(fā)生器包括從包含最小頁(yè)元數(shù)的第一組至包含最大頁(yè)元數(shù)的第二組按升序布置的多組頁(yè)元。求和電路被構(gòu)造為響應(yīng)塊進(jìn)位信號(hào)、進(jìn)位傳送信號(hào)和進(jìn)位輸入信號(hào)產(chǎn)生這對(duì)操作數(shù)的和。求和電路可包括組旁通電路和求和單元。
文檔編號(hào)G06F7/507GK101118484SQ20071013911
公開日2008年2月6日 申請(qǐng)日期2007年7月25日 優(yōu)先權(quán)日2006年7月31日
發(fā)明者李光柱 申請(qǐng)人:三星電子株式會(huì)社