TWI776580B - Adders, arithmetic circuits, chips and computing devices - Google Patents
Adders, arithmetic circuits, chips and computing devices Download PDFInfo
- Publication number
- TWI776580B TWI776580B TW110124879A TW110124879A TWI776580B TW I776580 B TWI776580 B TW I776580B TW 110124879 A TW110124879 A TW 110124879A TW 110124879 A TW110124879 A TW 110124879A TW I776580 B TWI776580 B TW I776580B
- Authority
- TW
- Taiwan
- Prior art keywords
- adder
- bits
- input
- carry
- inputs
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7817—Specially adapted for signal processing, e.g. Harvard architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本公開涉及加法器、運算電路、晶片和計算裝置。公開了一種加法器,用於計算輸入的兩個數字之和,加法器具有分別表示兩個數字的兩個輸入,每個輸入被彼此對應地劃分為多個子部分, 多個子部分由低位到高位依次表示輸入的部分位,加法器包括:多個第一級加法模塊,每一個用於對兩個輸入的對應子部分進行求和;多個中間寄存器,每一個耦接到對應的第一級加法模塊,用於存儲兩個輸入的對應子部分的和數;一個或多個進位寄存器,每一個耦接到對應的第一級加法模塊,用於存儲兩個輸入的對應子部分的進位;以及第二級加法模塊,耦接到多個中間寄存器和一個或多個進位寄存器,用於對來自每個中間寄存器的和數與來自對應的前一個進位寄存器的進位進行求和。The present disclosure relates to adders, arithmetic circuits, chips, and computing devices. An adder is disclosed for calculating the sum of two numbers of inputs, the adder has two inputs representing the two numbers respectively, each input is divided into a plurality of sub-parts corresponding to each other, and the plurality of sub-parts are from low-order to high-order In order to represent the partial bits of the input, the adder includes: a plurality of first-stage addition modules, each of which is used to sum corresponding subsections of the two inputs; a plurality of intermediate registers, each of which is coupled to the corresponding first-stage an addition module for storing the sum of the corresponding subsections of the two inputs; one or more carry registers, each coupled to the corresponding first-level addition module, for storing the carry of the corresponding subsections of the two inputs; and a second stage addition module coupled to the plurality of intermediate registers and one or more carry registers for summing the sum from each intermediate register with the carry from the corresponding preceding carry register.
Description
本公開總體而言涉及數字電路。具體來說,涉及一種加法器,一種包括加法器的運算電路,以及晶片和計算裝置。The present disclosure generally relates to digital circuits. Specifically, it relates to an adder, an arithmetic circuit including the adder, and a chip and a computing device.
用於進行加法運算的加法器是許多運算電路的重要組成部分。在相關技術中,如果需要提高加法器的運算速度,通常會採用高速器件來實現加法器。Adders, which are used to perform addition operations, are an important part of many arithmetic circuits. In the related art, if the operation speed of the adder needs to be improved, a high-speed device is usually used to realize the adder.
根據本公開的一個方面,提供了一種加法器,其用於計算輸入的兩個數字之和,所述加法器具有分別表示所述兩個數字的兩個輸入,其中每個輸入被彼此對應地劃分為多個子部分,所述多個子部分由低位到高位依次表示所述輸入的部分位,並且所述加法器包括:多個第一級加法模塊,每個第一級加法模塊用於對所述兩個輸入的對應子部分進行求和;多個中間寄存器,每個中間寄存器耦接到對應的第一級加法模塊,用於存儲所述兩個輸入的對應子部分的和數;一個或多個進位寄存器,每個進位寄存器耦接到對應的第一級加法模塊,用於存儲所述兩個輸入的對應子部分的進位;以及第二級加法模塊,耦接到所述多個中間寄存器和所述一個或多個進位寄存器,用於對來自每個中間寄存器的和數與來自對應的前一個進位寄存器的進位進行求和。According to one aspect of the present disclosure, there is provided an adder for calculating the sum of two numbers of an input, the adder having two inputs respectively representing the two numbers, wherein each input is corresponding to each other Divided into a plurality of sub-parts, the plurality of sub-parts represent partial bits of the input sequentially from low bits to high bits, and the adder includes: a plurality of first-stage addition modules, each first-stage addition module is used to The corresponding subsections of the two inputs are summed; a plurality of intermediate registers, each of which is coupled to a corresponding first-stage addition module, is used to store the sum of the corresponding subsections of the two inputs; one or a plurality of carry registers, each carry register coupled to a corresponding first stage addition module for storing carry bits of corresponding sub-portions of the two inputs; and a second stage addition module coupled to the plurality of intermediate A register and the one or more carry registers for summing the sum from each intermediate register with the carry from the corresponding preceding carry register.
根據本公開的另一個方面,提供了一種加法器,其用於計算輸入的一個數字與預定的常數之和,所述加法器具有表示所述數字的一個輸入,所述輸入被劃分為多個子部分,所述多個子部分由低位到高位依次表示所述輸入的部分位,並且所述加法器包括:一個或多個第一級加法模塊,每個第一級加法模塊用於對所述輸入的對應子部分與所述常數的對應位進行求和;多個中間寄存器,每個中間寄存器耦接到對應的第一級加法模塊,用於存儲所述輸入的對應子部分與所述常數的對應位的和數;一個或多個進位寄存器,每個進位寄存器耦接到對應的第一級加法模塊,用於存儲所述輸入的對應子部分與所述常數的對應位的進位;以及第二級加法模塊,耦接到所述多個中間寄存器和所述一個或多個進位寄存器,用於對來自每個中間寄存器的和數與來自對應的前一個進位寄存器的進位進行求和。According to another aspect of the present disclosure, there is provided an adder for calculating the sum of a number of an input and a predetermined constant, the adder having an input representing the number, the input divided into a plurality of sub-numbers part, the plurality of sub-parts sequentially represent partial bits of the input from low bits to high bits, and the adder includes: one or more first-stage addition modules, each first-stage addition module is used for adding the input to the input. The corresponding subsections of the input are summed with the corresponding bits of the constant; a plurality of intermediate registers, each of which is coupled to the corresponding first-level addition module, is used to store the corresponding subsections of the input and the constants. a sum of corresponding bits; one or more carry registers, each of which is coupled to a corresponding first-stage addition module, for storing the carry of the corresponding subsection of the input and the corresponding bit of the constant; and A second-level addition module, coupled to the plurality of intermediate registers and the one or more carry registers, for summing the sum from each intermediate register with the carry from the corresponding preceding carry register.
根據本公開的另一個方面,提供了一種運算電路,其包括如上所述的加法器;以及耦接到所述加法器的輸入的前置組合邏輯模塊和耦接到所述加法器的輸出的後置組合邏輯模塊中的至少一者。According to another aspect of the present disclosure, there is provided an arithmetic circuit comprising an adder as described above; and a pre-combination logic module coupled to an input of the adder and a pre-combination logic module coupled to an output of the adder at least one of the post-combination logic modules.
根據本公開的另一個方面,提供了一種晶片,其包括如上所述的運算電路。According to another aspect of the present disclosure, there is provided a wafer including the arithmetic circuit as described above.
根據本公開的又一個方面,提供了一種計算裝置,其包括如上所述的晶片。According to yet another aspect of the present disclosure, there is provided a computing device comprising a wafer as described above.
通過以下參照圖式對本公開的示例性實施例的詳細描述,本公開的其它特徵及其優點將會變得更為清楚。Other features of the present disclosure and advantages thereof will become more apparent from the following detailed description of exemplary embodiments of the present disclosure with reference to the accompanying drawings.
下面將參照圖式來詳細描述本公開的各種示例性實施例。應注意到:除非另外具體說明,否則在這些實施例中闡述的部件和步驟的相對佈置、數字表達式和數值不限制本公開的範圍。Various exemplary embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. It should be noted that the relative arrangement of the components and steps, the numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present disclosure unless specifically stated otherwise.
以下對至少一個示例性實施例的描述實際上僅僅是說明性的,決不作為對本公開及其應用或使用的任何限制。也就是說,本文中的結構及方法是以示例性的方式示出,來說明本公開中的結構和方法的不同實施例。然而,本領域技術人員將會理解,它們僅僅說明可以用來實施的本公開的示例性方式,而不是窮盡的方式。此外,圖式不必按比例繪製,一些特徵可能被放大以示出具體組件的細節。The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the disclosure, its application or uses in any way. That is, the structures and methods herein are shown by way of example to illustrate various embodiments of the structures and methods in the present disclosure. Those skilled in the art will appreciate, however, that they are merely illustrative, and not exhaustive, of the ways in which the disclosure may be practiced. Furthermore, the drawings are not necessarily to scale and some features may be exaggerated to show details of particular components.
對於相關領域普通技術人員已知的技術、方法和設備可能不作詳細討論,但在適當情況下,所述技術、方法和設備應當被視為授權說明書的一部分。Techniques, methods, and devices known to those of ordinary skill in the relevant art may not be discussed in detail, but where appropriate, such techniques, methods, and devices should be considered part of the authorized description.
在這裡示出和討論的所有示例中,任何具體值應被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實施例的其它示例可以具有不同的值。In all examples shown and discussed herein, any specific value should be construed as illustrative only and not as limiting. Accordingly, other examples of exemplary embodiments may have different values.
在相關技術中,如果需要提高加法器的運算速度,通常會採用高速器件來實現加法器。但是,高速器件的面積較大、功耗較高,這導致加法器以及包括加法器的運算電路的面積和功耗相應增大,使得晶片的製造成本和功耗顯著增大。因此,期望以較低的製造成本和功耗來提高加法器的運算速度,因而需要一種改進的加法器。In the related art, if the operation speed of the adder needs to be improved, a high-speed device is usually used to realize the adder. However, high-speed devices have larger areas and higher power consumption, which lead to corresponding increases in the area and power consumption of the adder and the operation circuit including the adder, which significantly increases the manufacturing cost and power consumption of the chip. Therefore, it is desired to increase the operation speed of the adder with lower manufacturing cost and power consumption, and thus an improved adder is required.
圖1示出了根據本公開一個或多個示例性實施例的加法器100的示意圖。加法器100用於計算輸入的兩個數字之和。FIG. 1 shows a schematic diagram of an
如圖1所示,加法器100具有兩個輸入111、112和兩個輸出161、162。其中,兩個輸入111、112分別表示輸入的兩個數字,並且輸出161、162分別表示這兩個數字的求和結果的和數及進位。As shown in FIG. 1 , the
本領域技術人員應當理解,加法器100的輸入和輸出的配置不限於圖1所示的實施例。可以根據加法器的功能和運算電路的需要而適當地調整加法器100的輸入和輸出的配置,並相應地調整加法器100的各個模塊的配置。例如,在一些實施例中,加法器也可以僅具有一個輸出,即僅輸出求和結果的和數,而不輸出進位。Those skilled in the art should understand that the configuration of the input and output of the
如圖1所示,每個輸入111、112被彼此對應地劃分為N個子部分,這N個子部分由低位到高位依次表示該輸入的部分位。例如,輸入111由低位到高位被劃分為子部分111-1, 111-2, …, 111-N,輸入112由低位到高位被劃分為子部分112-1, 112-2, …, 112-N。As shown in FIG. 1 , each
具體而言,第一個子部分111-1和112-1分別表示輸入111和112的最低一位或多位,並且111-1和112-1所表示的位相同。相應地,第二個子部分111-2和112-2分別表示輸入111和112的比111-1和112-1高的一位或多位,並且111-2和112-2所表示的位相同。依此類推,第N個子部分111-N和112-N分別表示輸入111和112的最高一位或多位,並且111-N和112-N所表示的位相同。Specifically, the first subsections 111-1 and 112-1 represent the least significant one or more bits of the
其中,N應為大於或等於2的整數。即,每個輸入111、112至少具有兩個子部分。where N should be an integer greater than or equal to 2. That is, each
在一些實施例中,如圖1所示,表示輸入111和112的和數的輸出161被劃分為兩個子部分161-1、161-2。其中,161-1與輸入111和112的第一個子部分111-1和112-1對應,表示輸出161的最低一位或多位;161-2則與輸入111和112的其他子部分對應,表示輸出161的其他一位或多位。In some embodiments, as shown in Figure 1, the
本領域技術人員應當理解,本文中將輸入和輸出劃分為多個子部分只是為了便於描述各個子部分的不同的耦接關係,並不意指或暗示各個子部分之間必然被物理地分隔或隔斷。特別地,本領域技術人員應當理解,將輸入和輸出劃分為耦接關係不同的多個子部分並不需要在數字電路中引入額外的部件或產生額外的成本。It should be understood by those skilled in the art that the input and output are divided into multiple sub-sections herein only for the convenience of describing different coupling relationships of the sub-sections, and does not mean or imply that the sub-sections must be physically separated or partitioned. In particular, those skilled in the art will understand that dividing the input and output into multiple sub-sections with different coupling relationships does not require introducing additional components or incurring additional costs into the digital circuit.
如圖1所示,加法器100包括第一級加法模塊組120、中間寄存器組130、進位寄存器組140以及第二級加法模塊150。As shown in FIG. 1 , the
第一級加法模塊組120耦接到輸入111、112,包括多個第一級加法模塊120-1, 120-2, …, 120-N。每個第一級加法模塊120-1, 120-2, …, 120-N用於對兩個輸入111、112的對應子部分進行求和。The first-stage
例如,第一個第一級加法模塊120-1耦接到兩個輸入111、112的第一個子部分111-1和112-1,用於對111-1和112-1進行求和。For example, the first first stage summing module 120-1 is coupled to the first subsections 111-1 and 112-1 of the two
第一級加法模塊的數量與輸入的子部分的數量相等,並且每個第一級加法模塊的配置可以根據輸入的對應子部分的位數來確定。The number of the first-stage addition modules is equal to the number of input subsections, and the configuration of each first-stage addition module can be determined according to the number of bits of the input corresponding subsections.
第一級加法模塊組120的輸出耦接到中間寄存器組130和進位寄存器組140,將求和結果的和數與進位分別輸出到中間寄存器組130和進位寄存器組140。The outputs of the first-stage
中間寄存器組130包括多個中間寄存器130-1, 130-2, …, 130-N。每個中間寄存器130-1, 130-2, …, 130-N耦接到對應的第一級加法模塊120-1, 120-2, …, 120-N,用於存儲兩個輸入111、112的對應子部分的求和結果的和數。The
例如,第一個中間寄存器130-1耦接到第一個第一級加法模塊120-1,用於存儲111-1和112-1的求和結果的和數。即,第一個中間寄存器130-1與兩個輸入111、112的第一個子部分111-1和112-1對應,用於存儲兩個輸入111、112的由111-1和112-1所表示的最低一位或多位的求和結果的和數。For example, the first intermediate register 130-1 is coupled to the first first stage addition module 120-1 for storing the sum of the summation results of 111-1 and 112-1. That is, the first intermediate register 130-1 corresponds to the first subsections 111-1 and 112-1 of the two
中間寄存器的數量與輸入的子部分的數量相等,並且每個中間寄存器的配置可以根據輸入的對應子部分的位數來確定。The number of intermediate registers is equal to the number of input subsections, and the configuration of each intermediate register can be determined according to the number of bits of the input corresponding subsection.
進位寄存器組140包括多個進位寄存器140-1, 140-2, …, 140-N。每個進位寄存器140-1, 140-2, …, 140-N耦接到對應的第一級加法模塊120-1, 120-2, …, 120-N,用於存儲兩個輸入111、112的對應子部分的求和結果的進位。The
例如,第一個進位寄存器140-1耦接到第一個第一級加法模塊120-1,用於存儲111-1和112-1的求和結果的進位。即,第一個進位寄存器140-1用於存儲兩個輸入111、112的由111-1和112-1所表示的最低一位或多位的求和結果的進位。For example, the first carry register 140-1 is coupled to the first first stage addition module 120-1 for storing the carry of the summation results of 111-1 and 112-1. That is, the first carry register 140-1 is used to store the carry of the summation result of the least significant one or more bits of the two
進位寄存器的數量可以根據輸入的子部分的數量來確定。在圖1所示的實施例中,進位寄存器的數量與輸入的子部分的數量相等。在其他實施例中,進位寄存器的數量可以比輸入的子部分的數量少1。即,進位寄存器組140中可以不存在第N個進位寄存器140-N,不存儲兩個輸入111、112的由111-N和112-N所表示的最高一位或多位的求和結果的進位。The number of carry registers can be determined based on the number of subsections of the input. In the embodiment shown in Figure 1, the number of carry registers is equal to the number of input subsections. In other embodiments, the number of carry registers may be one less than the number of subsections of the input. That is, the Nth carry register 140-N may not exist in the
進位寄存器的數量可以根據需要來確定。在加法器100需要輸出兩個輸入111、112的求和結果的進位(即,加法器100包括輸出162)的實施例中,可以將進位寄存器的數量確定為與輸入的子部分的數量相等。在加法器100不需要輸出兩個輸入111、112的求和結果的進位(即,加法器100不包括輸出162)的實施例中,可以將進位寄存器的數量確定為比輸入的子部分的數量少1,從而使加法器100的額外成本減少。例如,在兩個輸入111、112分別具有兩個子部分的實施例中,加法器100可以僅包括一個進位寄存器。The number of carry registers can be determined as needed. In embodiments where the
進位寄存器僅用於存儲進位,因此每個進位寄存器可以由1比特寄存器來實現。The carry register is only used to store the carry bit, so each carry register can be implemented by a 1-bit register.
中間寄存器組130和進位寄存器組140的輸出耦接到第二級加法模塊150,將兩個輸入111、112的各個對應的子部分分別求和的結果(包括和數與進位)輸出到第二級加法模塊150。The outputs of the
第二級加法模塊150用於對來自每個中間寄存器的和數與來自對應的前一個進位寄存器的進位進行求和,從而得到兩個輸入111、112之和。The second
具體而言,第二級加法模塊150可以將從第一個中間寄存器130-1輸出的兩個輸入111、112的由111-1和112-1所表示的最低一位或多位的求和結果的和數輸出為兩個輸入111、112的求和結果的和數的對應最低一位或多位(即輸出161的子部分161-1)。Specifically, the second-
進一步地,第二級加法模塊150可以將從第二個中間寄存器130-2輸出的兩個輸入111、112的由111-2和112-2所表示的一位或多位的求和結果的和數與從第一個進位寄存器140-1輸出的兩個輸入111、112的由111-1和112-1所表示的最低一位或多位的求和結果的進位進行求和,而後將求和結果的和數輸出為兩個輸入111、112的和數的對應一位或多位,並且將求和結果的進位用於第二級加法模塊150中的進一步的運算。Further, the second-
依此類推,第二級加法模塊150可以將從第N個中間寄存器130-N輸出的兩個輸入111、112的由111-N和112-N所表示的最高一位或多位的求和結果的和數與從第N-1個進位寄存器140-N-1輸出的兩個輸入111、112的由111-N-1和112-N-1所表示的一位或多位的求和結果的進位進行求和,而後將求和結果的和數輸出為兩個輸入111、112的和數的對應最高一位或多位。And so on, the second-
進一步地,第二級加法模塊150可以將上述求和結果的進位與從第N個進位寄存器140-N輸出的兩個輸入111、112的由111-N和112-N所表示的最高一位或多位的求和結果的進位進行求和,而後將求和結果輸出為兩個輸入111、112的求和結果的進位,即輸出162。Further, the second-
本領域技術人員應當理解,第二級加法模塊150所執行的處理不限於以上所述的處理。可以根據加法器100的功能來確定第二級加法模塊150的配置。例如,在不需要輸出兩個輸入111、112的求和結果的進位(即加法器不包括輸出162)的實施例中,第二級加法模塊150可以不執行用於計算並輸出兩個輸入111、112的求和結果的進位的處理。Those skilled in the art should understand that the processing performed by the second-
第二級加法模塊150的輸出耦接到輸出161和162,輸出161和162分別表示兩個輸入111、112的求和結果的和數及進位。The output of the second
在一些實施例中,輸出161可以被劃分為兩個子部分:第一個子部分161-1,表示兩個輸入111、112的求和結果的和數的與111-1和112-1對應的最低一位或多位;以及第二個子部分161-2,表示兩個輸入111、112的求和結果的和數的其他一位或多位。In some embodiments, the
如圖1所示,在一些實施例中,第二級加法模塊150可以將第一個中間寄存器130-1的輸出直接耦接到輸出161的第一個子部分161-1。As shown in FIG. 1 , in some embodiments, the second
本領域技術人員應理解,本文中提到的寄存器可以是邊緣觸發寄存器(例如D類型觸發器)或準位觸發寄存器(例如鎖存器)。Those skilled in the art should understand that the registers mentioned herein may be edge-triggered registers (eg, D-type flip-flops) or level-triggered registers (eg, latches).
加法器100的計算速度主要依賴於第一級加法模塊組120和第二級加法模塊150的計算速度,而第一級加法模塊組120和第二級加法模塊150的計算速度與兩個輸入111、112的子部分的數量和位數有關。因此,可以適當地確定兩個輸入111、112的子部分的數量和位數,從而使加法器100的計算速度提高。The calculation speed of the
第一級加法模塊組120的整體計算延時由多個第一級加法模塊120-1, 120-2, …, 120-N中的計算延時最長的一個第一級加法模塊的計算延時來決定。每個第一級加法模塊120-1, 120-2, …, 120-N用於對兩個輸入111、112的對應子部分進行求和,該子部分的位數越多,則對應的第一級加法模塊的計算延時越長。The overall calculation delay of the first-stage
因此,第一級加法模塊組120的整體計算延時依賴於輸入111、112的多個子部分的位數中的最大位數。該最大位數越大,則第一級加法模塊組120的整體計算延時越長。Therefore, the overall computation delay of the first-stage
第二級加法模塊150用於對來自多個中間寄存器的和數與來自對應的前一個進位寄存器的進位進行求和。其中,第一個中間寄存器130-1的輸出即表示求和結果的和數的對應最低一位或多位。因此,第二級加法模塊150可以不對第一個中間寄存器130-1的輸出進行額外的處理。特別地,在一些實施例中,第二級加法模塊150也可以根據需要對第一個中間寄存器130-1的輸出進行一定的處理,但這種處理的耗時將遠少於第二級加法模塊150需要對其他中間寄存器和進位寄存器的輸出進行的如上所述的求和處理。也就是說,第二級加法模塊150的計算延時由如上所述的求和處理的計算延時來決定。The second
因此,第二級加法模塊150的計算延時可依賴於輸入111、112的多個子部分中的除了第一個子部分111-1、112-1之外的其他子部分的數量以及其位數之和。該其他子部分的數量越多,或者其位數之和越大,則第二級加法模塊150的計算延時越長。換言之,輸入111、112的子部分的數量越少,或者第一個子部分111-1、112-1的位數越大,則第二級加法模塊150的計算延時越短。Therefore, the calculation delay of the second
因此,期望減少兩個輸入111、112的多個子部分的位數中的最大位數。同時,期望減少輸入111、112的子部分的數量,並且期望增加第一個子部分的位數。Therefore, it is desirable to reduce the maximum number of bits in the number of bits of the subsections of the two
在一些實施例中,輸入111、112的第一個子部分111-1、112-1的位數大於或等於其他子部分的位數。在另一些實施例中,輸入111、112的多個子部分的位數基本相等。這有利於降低第一級加法模塊組120和第二級加法模塊150的計算延時,從而提高加法器100的計算速度,進而降低晶片的功耗算力比。In some embodiments, the number of bits of the first subsection 111-1, 112-1 of the
在一些實施例中,輸入111、112具有兩個子部分,並且第一個子部分111-1、112-1的位數大於或等於輸入111、112的位數的一半。這有利於在提高加法器100的計算速度的同時使得額外成本減少。In some embodiments, the
需要說明的是,本文中的“基本相等”的表述意指二者大致相等,但不必然嚴格地、精確地相等。本領域技術人員應當理解,這符合技術原理和工程實踐。例如,二者可以相差約5%或10%。在一些語境中,二者可以相差約15%或20%。It should be noted that the expression "substantially equal" herein means that the two are approximately equal, but not necessarily strictly and precisely equal. Those skilled in the art should understand that this is consistent with technical principles and engineering practice. For example, the two may differ by about 5% or 10%. In some contexts, the two may differ by about 15% or 20%.
圖2示出了根據本公開一個或多個示例性實施例的加法器200的示意圖。加法器200用於計算輸入的一個數字與預定的常數之和。FIG. 2 shows a schematic diagram of an
如圖2所示,加法器200具有一個輸入210和兩個輸出261、262。其中,輸入210表示輸入的數字,並且輸出261、262分別表示這個數字與預定的常數的求和結果的和數及進位。As shown in FIG. 2 , the
類似地,在一些實施例中,加法器200也可以僅具有一個輸出261,即僅輸出求和結果的和數,而不輸出進位。Similarly, in some embodiments, the
加法器200的配置與加法器100類似,並且可以根據該預定的常數而進行適當的調整。The configuration of the
如圖2所示,輸入210被劃分為N個子部分,這N個子部分由低位到高位依次表示該輸入的部分位。即,輸入210由低位到高位被劃分為子部分210-1, 210-2, …, 210-N。其中,N應為大於或等於2的整數。即,輸入210至少具有兩個子部分。As shown in FIG. 2 , the
在一些實施例中,如圖2所示,表示輸入210與該常數的和數的輸出261被劃分為兩個子部分261-1、261-2。其中,261-1與輸入210的第一個子部分210-1對應,表示輸出261的最低一位或多位;261-2則與輸入210的其他子部分210-2, …, 210-N對應,表示輸出261的其他一位或多位。In some embodiments, as shown in Figure 2, the
如圖2所示,加法器200包括第一級加法模塊組220、中間寄存器組230、進位寄存器組240以及第二級加法模塊250。As shown in FIG. 2 , the
第一級加法模塊組220耦接到輸入210,包括多個第一級加法模塊220-1, 220-2, …, 220-N。每個第一級加法模塊220-1, 220-2, …, 220-N用於對輸入210的對應子部分與該常數的對應位進行求和。The first-stage
每個第一級加法模塊220-1, 220-2, …, 220-N的配置可以與該常數的對應位相關。在一些實施例中,第一級加法模塊220-1, 220-2, …, 220-N的數量和配置可以至少部分地根據該常數來確定或調整。例如,對於輸入210的任一子部分,如果已知該預定常數的對應位全部為零,則可以不對該子部分與該常數的對應位進行求和,因此第一級加法模塊組220中可以不包括對應的第一級加法模塊。這有利於降低加法器200的製造成本。The configuration of each of the first stage addition modules 220-1, 220-2, . . . , 220-N may be related to the corresponding bit of the constant. In some embodiments, the number and configuration of the first stage addition modules 220-1, 220-2, . . . , 220-N may be determined or adjusted based at least in part on the constant. For example, for any subsection of the
例如,在一些實施例中,如果該常數較小(即較高位全部為零),則第一級加法模塊組220中可以僅包括一個第一級加法模塊,即僅包括與輸入210的第一個子部分210-1對應的第一個第一級加法模塊220-1。特別地,當該常數為1時,加法器200為自加1加法器,並且可以僅包括一個第一級加法模塊。For example, in some embodiments, if the constant is small (ie, the higher bits are all zeros), the first-stage
第一級加法模塊組220的輸出耦接到中間寄存器組230和進位寄存器組240,將求和結果(包括和數與進位)分別輸出到中間寄存器組230和進位寄存器組240。The outputs of the first-stage
中間寄存器組230包括多個中間寄存器230-1, 230-2, …, 230-N。如圖2所示,每個中間寄存器230-1, 230-2, …, 230-N耦接到對應的第一級加法模塊220-1, 220-2, …, 220-N,用於存儲輸入210的對應子部分與該常數的對應位的求和結果的和數。The
進位寄存器組240包括多個進位寄存器240-1, 240-2, …, 240-N。每個進位寄存器240-1, 240-2, …, 240-N耦接到對應的第一級加法模塊220-1, 220-2, …, 220-N,用於存儲輸入210的對應子部分與該常數的對應位的求和結果的進位。The
中間寄存器組230和進位寄存器組240的配置可以根據第一級加法模塊組220的配置進行適當的調整。例如,當第一級加法模塊組220中不包括與輸入210的任一子部分對應的第一級加法模塊時,中間寄存器組230中的對應的中間寄存器可以直接耦接到輸入210的該子部分,並且進位寄存器組240中可以不包括對應的進位寄存器。The configuration of the
在圖2所示的實施例中,進位寄存器的數量與輸入的子部分的數量相等。在其他實施例中,進位寄存器的數量可以比輸入的子部分的數量少1,即不存在第N個進位寄存器240-N。In the embodiment shown in Figure 2, the number of carry registers is equal to the number of input subsections. In other embodiments, the number of carry registers may be one less than the number of input subsections, ie there is no Nth carry register 240-N.
中間寄存器組230和進位寄存器組240的輸出耦接到第二級加法模塊250,將輸入210的各個子部分與所述常數的對應位分別求和的結果(包括和數與進位)輸出到第二級加法模塊250。The outputs of the
第二級加法模塊250用於對來自每個中間寄存器的和數與來自對應的前一個進位寄存器的進位進行求和,即對輸入210的各個子部分與該常數的對應位分別求和的結果(包括和數與進位)進行求和,從而得到輸入210與該常數之和。The second-
具體而言,第二級加法模塊250可以將從第一個中間寄存器230-1輸出的輸入210的由210-1所表示的最低一位或多位與該常數的對應最低一位或多位的和數輸出為輸入210與該常數的和數的對應最低一位或多位(即輸出261的子部分261-1)。Specifically, the second-
進一步地,第二級加法模塊250可以將從第二個中間寄存器230-2輸出的輸入210的由210-2所表示的一位或多位與該常數的對應一位或多位的和數與從第一個進位寄存器240-1輸出的進位進行求和,而後將求和結果的和數輸出為輸入210與該常數的和數的對應一位或多位,並且將求和結果的進位用於第二級加法模塊250中的進一步的運算。Further, the second-
依此類推,第二級加法模塊250可以將從第N個中間寄存器230-N輸出的輸入210的由210-N所表示的最高一位或多位與該常數的對應最高一位或多位的和數與從第N-1個進位寄存器240-N-1輸出的進位進行求和,而後將求和結果的和數輸出為輸入210與該常數的和數的對應最高一位或多位。And so on, the second-
進一步地,第二級加法模塊250可以將上述求和結果的進位與從第N個進位寄存器240-N輸出的進位進行求和,而後將求和結果輸出為輸入210與該常數的求和結果的進位(即輸出262)。Further, the second-
本領域技術人員應當理解,第二級加法模塊250所執行的處理不限於以上所述。可以根據加法器的功能來確定第二級加法模塊250的配置。例如,在加法器200不包括輸出262的實施例中,可以對第二級加法模塊250的配置及其所執行的處理進行相應的調整。Those skilled in the art should understand that the processing performed by the second-
第二級加法模塊250的輸出耦接到輸出261和262,輸出261和262分別表示輸入210與該常數的求和結果的和數及進位。The output of the second
在一些實施例中,輸出261可以被劃分為兩個子部分:第一個子部分261-1,表示輸入210與該常數的求和結果的和數的與210-1對應的最低一位或多位;以及第二個子部分261-2,表示輸入210與該常數的求和結果的和數的其他一位或多位。如圖2所示,在一些實施例中,第二級加法模塊250可以將第一個中間寄存器230-1的輸出直接耦接到輸出261的第一個子部分261-1。In some embodiments,
加法器200的計算速度主要依賴於第一級加法模塊組220和第二級加法模塊250的計算速度。The calculation speed of the
關於第二級加法模塊250,類似地,輸入210的子部分的數量越少,或者第一個子部分210-1的位數越大,則第二級加法模塊250的計算延時越短。因此,期望減少輸入210的子部分的數量,並且增加第一個子部分210-1的位數。Regarding the second
另一方面,與加法器100不同的是,在加法器200中,第一級加法模塊220-1, 220-2, …, 220-N的配置可以與該常數相關。如上所述,如果對於輸入210的某一子部分,該常數的對應位全部為零,則第一級加法模塊組220中可以不包括對應的第一級加法模塊。因此,第一級加法模塊組220的計算延時與這樣的子部分的位數無關,而僅依賴於輸入210的其他子部分(即,對於這些子部分,該常數的對應位不全部為零)的位數。具體而言,期望適當地增加對應於常數的全部為零的位的子部分的位數,並且期望減少其他子部分的位數中的最大位數。On the other hand, unlike the
在一些實施例中,輸入210的子部分的數量和每個子部分的位數至少部分地根據該常數來確定。例如,如果該常數較小(即該常數的較高位全部為零,例如該常數為1),則輸入210可以具有兩個子部分,使得該常數的與第二個子部分對應的位全部為零。例如,如果該常數中包括全部為零的連續多個位,則可以與這連續多個位的至少一部分對應地劃分出輸入210的一個子部分。In some embodiments, the number of subsections of
圖3示出了包括根據本公開一個或多個示例性實施例的加法器300的運算電路3000的一部分。FIG. 3 illustrates a portion of an
僅作為示例,在圖3中,加法器300示出為如圖1所示的用於計算輸入的兩個數字之和的加法器。但是,本領域技術人員應當理解,可以將加法器300替換為如圖2所示的用於計算輸入的一個數字與預定的常數之和的加法器,只需對運算電路3000進行適當的調整。For example only, in FIG. 3,
運算電路3000包括前一級寄存器3101、3102,加法器300,以及後一級寄存器3200。此外,在一些實施例中,運算電路3000還可以包括前置組合邏輯模塊3110和後置組合邏輯模塊3120。The
在一些實施例中,前一級寄存器3101、3102可以直接耦接到加法器300。在一些實施例中,前一級寄存器3101、3102可以經由前置組合邏輯模塊3110耦接到加法器300。在一些實施例中,加法器300可以直接耦接到後一級寄存器3200。在一些實施例中,加法器300可以經由後置組合邏輯模塊3120耦接到後一級寄存器3200。In some embodiments, the
本領域技術人員應當理解,前一級寄存器3101、3102和後一級寄存器3200的數量和配置不限於圖3中的實施例。例如,在一些實施例中,運算電路3000可以僅包括一個前一級寄存器3101,該前一級寄存器3101經由前置組合邏輯模塊3110來向加法器300提供兩個輸入311、312。Those skilled in the art should understand that the number and configuration of the previous-
僅作為示例,圖3示出了運算電路3000包括前置組合邏輯模塊3110和後置組合邏輯模塊3120的實施例。本領域技術人員應當理解,以下描述同樣可以適用於運算電路3000不包括前置組合邏輯模塊3110或後置組合邏輯模塊3120的實施例,只需進行適當的調整。For example only, FIG. 3 shows an embodiment in which the
加法器300與圖1所示的加法器100的配置類似。The
加法器300具有分別表示輸入的兩個數字的兩個輸入311、312,以及分別表示這兩個數字的求和結果的和數及進位兩個輸出361、362。其中,輸出361具有兩個子部分361-1、361-2。The
加法器300包括:第一級加法模塊組320,包括多個中間寄存器330-1, 330-2, …, 330-N的中間寄存器組330,進位寄存器組340,以及第二級加法模塊350。其中,在一些實施例中,第二級加法模塊350將第一個中間寄存器330-1的輸出直接耦接到輸出361的第一個子部分361-1。The
在運算電路3000中,用於前一級寄存器3101和3102、中間寄存器組330以及後一級寄存器3200的時鐘的頻率相同。因此,期望前置組合邏輯模塊3110和第一級加法模塊組320的運算能夠在一個時鐘週期內完成,並且第二級加法模塊350和後置組合邏輯模塊3120的運算能夠在一個時鐘週期內完成。In the
因此,期望第一級加法模塊組320的計算延時小於時鐘週期與前置組合邏輯模塊3110的計算延時之差,並且第二級加法模塊350的計算延時小於時鐘週期與後置組合邏輯模塊3120的計算延時之差。Therefore, it is expected that the calculation delay of the first-stage
關於第一級加法模塊組320,如上所述,在加法器300中,輸入311、312的多個子部分的位數中的最大位數越大,則第一級加法模塊組320的計算延時越長。因此,輸入311、312的多個子部分的位數中的最大位數的上限可以至少部分地根據時鐘週期與前置組合邏輯模塊3110的計算延時之差來確定。Regarding the first-stage
在一些實施例中,可以至少部分地根據時鐘週期與前置組合邏輯模塊3110的計算延時之差來確定加法器300的輸入311、312的多個子部分的位數中的最大位數。具體而言,可以將該最大位數確定為:使得第一級加法模塊組320的計算延時小於時鐘週期與前置組合邏輯模塊3110的計算延時之差。在一些實施例中,可以將該最大位數確定為:使得第一級加法模塊組320的計算延時基本等於時鐘週期與前置組合邏輯模塊3110的計算延時之差。In some embodiments, the maximum number of bits of the plurality of subsections of the
此外,在運算電路3000不包括前置組合邏輯模塊3110的實施例中,在一些示例中,至少部分地根據時鐘週期來確定加法器300的輸入311、312的多個子部分的位數中的最大位數。Furthermore, in embodiments in which
另一方面,在加法器300為圖2所示的用於計算輸入的一個數字與預定的常數之和的加法器的情況下,第一級加法模塊組320的計算延時還與該常數有關。如上所述,可以根據該常數來調整多個子部分的位數。On the other hand, when the
因此,在一些實施例中,可以首先根據時鐘週期與前置組合邏輯模塊3110的計算延時之差來確定加法器300的輸入的多個子部分的位數中的最大位數,進而根據該常數來調整多個子部分的位數。例如,如果該常數包括全部為零的連續多個位,則可以與這連續多個位對應地劃分出輸入的一個子部分,不管該子部分的位數是否大於該確定的最大位數。在一些實施例中,可以調整輸入的多個子部分的位數,使得不對應於該常數的全部為零的位的子部分中的最大位數基本等於該確定的最大位數。Therefore, in some embodiments, the maximum number of bits in the number of bits of the multiple sub-sections of the input of the
關於第二級加法模塊350,如上所述,在加法器300中,輸入311、312的子部分的數量越多,或者第一個子部分的位數越小,則第二級加法模塊350的計算延時越長。因此,加法器300的輸入311、312的第一個子部分的位數的下限可以至少部分地根據時鐘週期與後置組合邏輯模塊3120的計算延時之差來確定。With regard to the second-
在一些實施例中,至少部分地根據時鐘週期與後置組合邏輯模塊3120的計算延時之差來確定加法器300的輸入311、312的第一個子部分的位數。具體而言,可以將該第一個子部分的位數確定為:使得第二級加法模塊350的計算延時小於時鐘週期與後置組合邏輯模塊3120的計算延時之差。在一些實施例中,可以將該第一個子部分的位數確定為:使得第二級加法模塊350的計算延時基本等於時鐘週期與後置組合邏輯模塊3120的計算延時之差。In some embodiments, the number of bits of the first subsection of the
此外,在運算電路3000不包括後置組合邏輯模塊3120的實施例中,在一些示例中,至少部分地根據時鐘週期來確定加法器300的輸入311、312的第一個子部分的位數。Furthermore, in embodiments where the
另一方面,如上面所提到的,在一些實施例中,將輸入311、312的第一個子部分的位數確定為大於或等於其他子部分的位數。在一些實施例中,將輸入311、312的多個子部分的位數確定為基本相等。On the other hand, as mentioned above, in some embodiments, the number of bits of the first subsection of the
在一些實施例中,可以將以上所述的策略結合起來以確定加法器300的輸入311、312的子部分的數量和位數。In some embodiments, the strategies described above may be combined to determine the number and number of bits of subsections of the
例如,在一些實施例中,首先可以根據時鐘週期與前置組合邏輯模塊3110的計算延時之差以及時鐘週期與後置組合邏輯模塊3120的計算延時之差來確定加法器300的輸入311、312的第一個子部分的位數。例如,可以根據時鐘週期與前置組合邏輯模塊3110的計算延時之差來確定該第一個子部分的位數的上限,並且根據時鐘週期與後置組合邏輯模塊3120的計算延時之差來確定該第一個子部分的位數的下限。For example, in some embodiments, the
而後,如果確定的第一個子部分的位數大於或等於輸入311、312的位數的一半,則可以將輸入311、312的其他位劃分為第二個子部分。這樣,輸入311、312被劃分為兩個子部分,其中第一個子部分的位數大於或等於第二個子部分的位數。Then, if the determined number of bits of the first subsection is greater than or equal to half of the number of bits of the
如果確定的第一個子部分的位數小於輸入311、312的位數的一半,則可以將輸入311、312的其他位劃分為若干個子部分,使得這些子部分的數量盡可能少,並且每個子部分的位數均小於或等於確定的第一個子部分的位數。例如,可以將這些子部分的位數確定為與第一個子部分的位數基本相等。If the determined number of bits of the first subsection is less than half of the bits of the
在加法器300為圖2所示的用於計算輸入的一個數字與預定的常數之和的加法器200的情況下,可以進而根據該常數來調整子部分的數量和位數。例如,如果該常數包括全部為零的連續多個位,則可以與這連續多個位對應地劃分出輸入的一個子部分,不管該子部分的位數是否大於確定的第一個子部分的位數。When the
本領域技術人員應當理解,加法器的輸入的子部分的數量和位數的確定方式不限於以上所描述的具體實施例。可以獨立地或結合地採用本文所描述的各種策略,綜合考慮加法器和運算電路的功能、配置、面積、成本、速度、功耗等各種因素,來確定加法器的輸入的子部分的數量和位數。Those skilled in the art should understand that the manner of determining the number and the number of bits of the input subsections of the adder is not limited to the specific embodiments described above. The various strategies described in this paper can be used independently or in combination, taking into account various factors such as function, configuration, area, cost, speed, power consumption, etc. of the adder and arithmetic circuit to determine the number and digits.
與需要使用高速器件的相關技術相比,本公開以較低的成本和較低的功耗實現了加法器的運算速度的提升。Compared with the related art that needs to use high-speed devices, the present disclosure achieves an increase in the operation speed of the adder with lower cost and lower power consumption.
作為對比,圖4示出了包括根據相關技術的加法器4120的運算電路4000的一部分。In contrast, FIG. 4 shows a part of an
運算電路4000包括第一級寄存器4101、4102,前置組合邏輯模塊4110,加法器4120,第二級寄存器4200,後置組合邏輯模塊4210,以及第三級寄存器4300。The
其中,第一級寄存器4101、4102經由前置組合邏輯模塊4110和加法器4120耦接到第二級寄存器4200。第二級寄存器4200經由後置組合邏輯模塊4210耦接到第三級寄存器4300。The first-
可以看出,圖4所示的運算電路4000中的第一級寄存器4101和4102、第二級寄存器4200及第三級寄存器4300分別對應於圖3所示的運算電路3000中的前一級寄存器3101和3102、中間寄存器組330及後一級寄存器3200。相應地,運算電路4000中的前置組合邏輯模塊4110和後置組合邏輯模塊4210分別對應於運算電路3000中的前置組合邏輯模塊3110和後置組合邏輯模塊3120。It can be seen that the first level registers 4101 and 4102, the
本公開和相關技術的重要區別在於,圖4所示的相關技術的運算電路4000中的加法器4120耦接在第一級寄存器4101、4102和第二級寄存器4200之間,而圖3所示的本公開的運算電路3000中的加法器300跨中間寄存器組330耦接在前一級寄存器3101、3102和後一級寄存器3200之間。An important difference between the present disclosure and the related art is that the
在圖4所示的相關技術中,加法器4120僅能夠與前置組合邏輯模塊4110一起利用第一級寄存器4101、4102和第二級寄存器4200之間的時鐘週期進行運算。而在圖3所示的本公開的技術方案中,加法器300能夠與前置組合邏輯模塊3110和後置組合邏輯模塊3120一起利用前一級寄存器3101、3102和中間寄存器組330之間以及中間寄存器組330和後一級寄存器3200之間的兩個時鐘週期進行運算。在本公開的技術方案中,可以根據前置組合邏輯模塊3110和後置組合邏輯模塊3120的配置來對加法器300的配置進行適當的調整,從而更充分、更靈活地利用兩個時鐘週期的時間來完成加法運算。In the related art shown in FIG. 4 , the
此外,本領域技術人員應當理解,圖3所示的加法器300中的第一級加法模塊組320和第二級加法模塊350所執行的運算與圖4所示的加法器4120執行的運算實質上是等同的。換言之,加法器4120中也具有與加法器300中的第一級加法模塊組320和第二級加法模塊350等同或對應的模塊或單元。因此,與相關技術相比,加法器300中的第一級加法模塊組320和第二級加法模塊350的配置並未引入額外的成本。In addition, those skilled in the art should understand that the operations performed by the first-stage
也就是說,與圖4所示的相關技術相比,實現圖3所示的運算電路3000中的加法器300所需要的額外模塊或單元僅是進位寄存器組340。如上所述,進位寄存器組340中的每個進位寄存器均由1比特寄存器來實現,其製造成本較低。換言之,與圖4所示的相關技術相比,實現本公開的加法器的額外成本基本上僅僅是若干個1比特寄存器的製造成本。That is, compared with the related art shown in FIG. 4 , the additional module or unit required to implement the
因此,與相關技術相比,本公開所提出的加法器創造性地利用相鄰一級的時鐘週期來完成部分運算,從而以較低的成本有效地提高了加法器及包括加法器的運算電路的運算速度。Therefore, compared with the related art, the adder proposed by the present disclosure creatively utilizes the clock cycles of adjacent stages to complete some operations, thereby effectively improving the operations of the adder and the operation circuit including the adder at a lower cost. speed.
根據本公開的加法器及運算電路可以以軟件、硬件、軟件與硬件的結合等各種適當的方式實現。在一種實現方式中,一種晶片可以包括如上所述的運算電路,該晶片還可以包括在一種計算裝置中。The adder and the arithmetic circuit according to the present disclosure can be implemented in various appropriate manners, such as software, hardware, and a combination of software and hardware. In one implementation, a wafer may include the arithmetic circuitry described above, and the wafer may also be included in a computing device.
在說明書及權利要求中的詞語“前”、“後”、“頂”、“底”、“之上”、“之下”等,如果存在的話,用於描述性的目的而並不一定用於描述不變的相對位置。應當理解,這樣使用的詞語在適當的情況下是可互換的,使得在此所描述的本公開的實施例,例如,能夠在與在此所示出的或另外描述的那些取向不同的其他取向上操作。The words "front," "rear," "top," "bottom," "over," "under," etc. in the specification and claims, if present, are used for descriptive purposes and not necessarily to describe an invariant relative position. It is to be understood that the terms so used are interchangeable under appropriate circumstances such that the embodiments of the disclosure described herein are, for example, capable of other orientations than those illustrated or otherwise described herein. Operate up.
如在此所使用的,詞語“示例性的”意指“用作示例、實例或說明”,而不是作為將被精確複製的“模型”。在此示例性描述的任意實現方式並不一定要被解釋為比其它實現方式優選的或有利的。而且,本公開不受在上述技術領域、背景技術、發明內容或具體實施方式中所給出的任何所表述的或所暗示的理論所限定。As used herein, the word "exemplary" means "serving as an example, instance, or illustration" rather than as a "model" to be exactly reproduced. Any implementation illustratively described herein is not necessarily to be construed as preferred or advantageous over other implementations. Furthermore, the present disclosure is not to be bound by any expressed or implied theory presented in the preceding technical field, background, brief summary or detailed description.
如在此所使用的,詞語“基本上”意指包含由設計或製造的缺陷、器件或元件的容差、環境影響和/或其它因素所致的任意微小的變化。詞語“基本上”還允許由寄生效應、噪聲以及可能存在於實際的實現方式中的其它實際考慮因素所致的與完美的或理想的情形之間的差異。As used herein, the word "substantially" is meant to encompass any minor variation due to design or manufacturing imperfections, tolerances of devices or elements, environmental influences, and/or other factors. The word "substantially" also allows for differences from a perfect or ideal situation due to parasitics, noise, and other practical considerations that may exist in an actual implementation.
另外,前面的描述可能提及了被“連接”或“耦接”在一起的元件或節點或特徵。如在此所使用的,除非另外明確說明,“連接”意指一個元件/節點/特徵與另一種元件/節點/特徵在電學上、機械上、邏輯上或以其它方式直接地連接(或者直接通信)。類似地,除非另外明確說明,“耦接”意指一個元件/節點/特徵可以與另一元件/節點/特徵以直接的或間接的方式在機械上、電學上、邏輯上或以其它方式連結以允許相互作用,即使這兩個特徵可能並沒有直接連接也是如此。也就是說,“耦接”意圖包含元件或其它特徵的直接連結和間接連結,包括利用一個或多個中間元件的連接。Additionally, the preceding description may refer to elements or nodes or features being "connected" or "coupled" together. As used herein, unless expressly stated otherwise, "connected" means that one element/node/feature is electrically, mechanically, logically or otherwise directly connected (or directly connected) to another element/node/feature. communication). Similarly, unless expressly stated otherwise, "coupled" means that one element/node/feature can be mechanically, electrically, logically or otherwise linked, directly or indirectly, with another element/node/feature to allow interaction, even though the two features may not be directly connected. That is, "coupled" is intended to encompass both direct and indirect connections of elements or other features, including connections utilizing one or more intervening elements.
另外,僅僅為了參考的目的,還可以在本文中使用“第一”、“第二”等類似術語,並且因而並非意圖限定。例如,除非上下文明確指出,否則涉及結構或元件的詞語“第一”、“第二”和其它此類數字詞語並沒有暗示順序或次序。Also, terms like "first," "second," and the like may also be used herein for reference purposes only, and are thus not intended to be limiting. For example, the terms "first," "second," and other such numerical terms referring to structures or elements do not imply a sequence or order unless the context clearly dictates otherwise.
還應理解,“包括/包含”一詞在本文中使用時,說明存在所指出的特徵、整體、步驟、操作、單元和/或組件,但是並不排除存在或增加一個或多個其它特徵、整體、步驟、操作、單元和/或組件以及/或者它們的組合。It should also be understood that the term "comprising/comprising" when used herein indicates the presence of the indicated feature, integer, step, operation, unit and/or component, but does not preclude the presence or addition of one or more other features, Entities, steps, operations, units and/or components and/or combinations thereof.
在本公開中,術語“提供”從廣義上用於涵蓋獲得對象的所有方式,因此“提供某對象”包括但不限於“購買”、“製備/製造”、“佈置/設置”、“安裝/裝配”、和/或“訂購”對象等。In this disclosure, the term "providing" is used broadly to encompass all ways of obtaining an object, thus "providing something" includes, but is not limited to, "purchasing," "preparing/manufacturing," "arranging/arranging," "installing/ Assembly", and/or "Order" objects, etc.
本領域技術人員應當意識到,在上述操作之間的邊界僅僅是說明性的。多個操作可以結合成單個操作,單個操作可以分佈於附加的操作中,並且操作可以在時間上至少部分重疊地執行。而且,另選的實施例可以包括特定操作的多個實例,並且在其他各種實施例中可以改變操作順序。但是,其它的修改、變化和替換同樣是可能的。因此,本說明書和圖式應當被看作是說明性的,而非限制性的。Those skilled in the art will appreciate that the boundaries between the operations described above are merely illustrative. Multiple operations may be combined into a single operation, a single operation may be distributed among additional operations, and operations may be performed at least partially overlapping in time. Furthermore, alternative embodiments may include multiple instances of a particular operation, and the order of operations may be changed in other various embodiments. However, other modifications, changes and substitutions are equally possible. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
雖然已經通過示例對本公開的一些特定實施例進行了詳細說明,但是本領域的技術人員應該理解,以上示例僅是為了進行說明,而不是為了限制本公開的範圍。在此公開的各實施例可以任意組合,而不脫離本公開的精神和範圍。本領域的技術人員還應理解,可以對實施例進行多種修改而不脫離本公開的範圍和精神。本公開的範圍由所附權利要求來限定。While some specific embodiments of the present disclosure have been described in detail by way of examples, those skilled in the art will appreciate that the above examples are provided for illustration only, and are not intended to limit the scope of the present disclosure. The various embodiments disclosed herein may be combined arbitrarily without departing from the spirit and scope of the present disclosure. It will also be understood by those skilled in the art that various modifications may be made to the embodiments without departing from the scope and spirit of the present disclosure. The scope of the present disclosure is defined by the appended claims.
100:加法器 111,112:輸入 111-1~111-N:子部分 112-1~112-N:子部分 120:第一級加法模塊組 120-1~120-N:第一級加法模塊 130:中間寄存器組 130-1~130-N:中間寄存器 140:進位寄存器組 140-1~140-N:進位寄存器 150:第二級加法模塊 161,162:輸出 161-1,161-2:子部分 200:加法器 210:輸入 210-1~210-N:子部分 220:第一級加法模塊組 220-1~220-N:第一級加法模塊 230:中間寄存器組 230-1~230-N:中間寄存器 240:進位寄存器組 240-1~240-N:進位寄存器 250:第二級加法模塊 261,262:輸出 261-1,261-2:子部分 300:加法器 311,312:輸入 320:第一級加法模塊組 330:中間寄存器組 330-1~330-N:中間寄存器 340:進位寄存器組 350:第二級加法模塊 361,362:輸出 361-1,361-2:子部分 3000:運算電路 3101,3102:前一級寄存器 3110:前置組合邏輯模塊 3120:後置組合邏輯模塊 3200:後一級寄存器 4000:運算電路 4101,4102:第一級寄存器 4110:前置組合邏輯模塊 4120:加法器 4200:第二級寄存器 4210:後置組合邏輯模塊 4300:第三級寄存器100: Adder 111, 112: input 111-1~111-N: Subsections 112-1~112-N: Subsections 120: First-level addition module group 120-1~120-N: first-level addition module 130: Intermediate register bank 130-1~130-N: Intermediate register 140: Carry register group 140-1~140-N: carry register 150: Second-level addition module 161, 162: output 161-1, 161-2: Subsections 200: Adder 210: Enter 210-1~210-N: Subsections 220: First-level addition module group 220-1~220-N: first-level addition module 230: Intermediate register bank 230-1~230-N: Intermediate register 240: carry register group 240-1~240-N: carry register 250: Second-level addition module 261, 262: output 261-1, 261-2: Subsections 300: Adder 311, 312: Input 320: First-level addition module group 330: Intermediate register bank 330-1~330-N: Intermediate register 340: carry register group 350: Second-level addition module 361, 362: output 361-1, 361-2: Subsections 3000: Operational Circuits 3101, 3102: previous level register 3110: Front Combination Logic Module 3120: Post Combination Logic Module 3200: next level register 4000: Operational Circuit 4101, 4102: first level register 4110: Front Combination Logic Module 4120: Adder 4200: second level register 4210: Post Combination Logic Module 4300: The third level register
構成說明書的一部分的圖式描述了本公開的實施例,並且連同說明書一起用於解釋本公開的原理。The drawings, which form a part of the specification, illustrate embodiments of the disclosure and together with the description serve to explain the principles of the disclosure.
參照圖式,根據下面的詳細描述,可以更加清楚地理解本公開,其中:The present disclosure may be more clearly understood from the following detailed description with reference to the drawings, wherein:
圖1示出了根據本公開一個或多個示例性實施例的用於計算輸入的兩個數字之和的加法器的示意圖。FIG. 1 shows a schematic diagram of an adder for calculating the sum of two numbers of an input, according to one or more exemplary embodiments of the present disclosure.
圖2示出了根據本公開一個或多個示例性實施例的用於計算輸入的一個數字與預定的常數之和的加法器的示意圖。FIG. 2 shows a schematic diagram of an adder for calculating the sum of an input number and a predetermined constant according to one or more exemplary embodiments of the present disclosure.
圖3示出了包括根據本公開一個或多個示例性實施例的加法器的運算電路的一部分。3 illustrates a portion of an operational circuit including an adder according to one or more exemplary embodiments of the present disclosure.
圖4示出了包括根據相關技術的加法器的運算電路的一部分。FIG. 4 shows a part of an operation circuit including an adder according to the related art.
注意,在以下說明的實施方式中,有時在不同的圖式之間共同使用同一圖式標記來表示相同部分或具有相同功能的部分,而省略其重複說明。在一些情況中,使用相似的標號和字母表示類似項,因此,一旦某一項在一個圖式中被定義,則在隨後的圖式中不需要對其進行進一步討論。Note that, in the embodiments described below, the same drawing symbols are used in common between different drawings to denote the same parts or parts having the same function, and repeated descriptions thereof are omitted. In some cases, similar numbers and letters are used to denote similar items, so once an item is defined in one figure, it does not require further discussion in subsequent figures.
為了便於理解,在圖式等中所示的各結構的位置、尺寸及範圍等有時不表示實際的位置、尺寸及範圍等。因此,本公開並不限於圖式等所公開的位置、尺寸及範圍等。For ease of understanding, the position, size, range, and the like of each structure shown in the drawings and the like may not indicate the actual position, size, range, or the like. Therefore, the present disclosure is not limited to the positions, dimensions, ranges, and the like disclosed in the drawings and the like.
100:加法器 100: Adder
111,112:輸入 111, 112: input
111-1~111-N:子部分 111-1~111-N: Subsections
112-1~112-N:子部分 112-1~112-N: Subsections
120:第一級加法模塊組 120: First-level addition module group
120-1~120-N:第一級加法模塊 120-1~120-N: first-level addition module
130:中間寄存器組 130: Intermediate register bank
130-1~130-N:中間寄存器 130-1~130-N: Intermediate register
140:進位寄存器組 140: Carry register group
140-1~140-N:進位寄存器 140-1~140-N: carry register
150:第二級加法模塊 150: Second-level addition module
161,162:輸出 161, 162: output
161-1,161-2:子部分 161-1, 161-2: Subsections
Claims (16)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010711949.8 | 2020-07-22 | ||
CN202010711949.8A CN111708512A (en) | 2020-07-22 | 2020-07-22 | Adder, arithmetic circuit, chip, and computing device |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202143024A TW202143024A (en) | 2021-11-16 |
TWI776580B true TWI776580B (en) | 2022-09-01 |
Family
ID=72547409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110124879A TWI776580B (en) | 2020-07-22 | 2021-07-07 | Adders, arithmetic circuits, chips and computing devices |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN111708512A (en) |
TW (1) | TWI776580B (en) |
WO (1) | WO2022017179A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708512A (en) * | 2020-07-22 | 2020-09-25 | 深圳比特微电子科技有限公司 | Adder, arithmetic circuit, chip, and computing device |
CN113419704A (en) * | 2021-07-23 | 2021-09-21 | 北京源启先进微电子有限公司 | 49-bit adder, implementation method thereof, arithmetic circuit and chip |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1069353A (en) * | 1992-04-29 | 1993-02-24 | 黄上立 | Adder with preset carrying |
TW201134100A (en) * | 2010-03-26 | 2011-10-01 | Novatek Microelectronics Corp | (Xiu-accumulator) adder circuit and Xiu-accumulator circuit using the same |
CN110688086A (en) * | 2019-09-06 | 2020-01-14 | 西安交通大学 | Reconfigurable integer-floating point adder |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2604270B1 (en) * | 1986-09-22 | 1991-10-18 | Jutand Francis | BINARY ADDITIONER COMPRISING A FIXED OPERAND, AND PARALLEL-SERIAL BINARY MULTIPLIER COMPRISING SUCH AN ADDITIONER |
US7216141B2 (en) * | 2003-11-06 | 2007-05-08 | International Business Machines Corporaiton | Computing carry-in bit to most significant bit carry save adder in current stage |
CN102043604B (en) * | 2010-12-17 | 2012-07-04 | 中南大学 | Parallel feedback carry adder (PFCA) and realization method thereof |
CN111708512A (en) * | 2020-07-22 | 2020-09-25 | 深圳比特微电子科技有限公司 | Adder, arithmetic circuit, chip, and computing device |
-
2020
- 2020-07-22 CN CN202010711949.8A patent/CN111708512A/en active Pending
-
2021
- 2021-07-07 WO PCT/CN2021/104880 patent/WO2022017179A1/en active Application Filing
- 2021-07-07 TW TW110124879A patent/TWI776580B/en active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1069353A (en) * | 1992-04-29 | 1993-02-24 | 黄上立 | Adder with preset carrying |
TW201134100A (en) * | 2010-03-26 | 2011-10-01 | Novatek Microelectronics Corp | (Xiu-accumulator) adder circuit and Xiu-accumulator circuit using the same |
CN110688086A (en) * | 2019-09-06 | 2020-01-14 | 西安交通大学 | Reconfigurable integer-floating point adder |
Also Published As
Publication number | Publication date |
---|---|
WO2022017179A1 (en) | 2022-01-27 |
CN111708512A (en) | 2020-09-25 |
TW202143024A (en) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI776580B (en) | Adders, arithmetic circuits, chips and computing devices | |
Santoro et al. | SPIM: a pipelined 64* 64-bit iterative multiplier | |
CN101213749A (en) | Multi-bit programmable frequency divider | |
CN109542393B (en) | Approximate 4-2 compressor and approximate multiplier | |
JPS62256034A (en) | Pipeline computing unit | |
WO2022001414A1 (en) | Full adder, chip, and computing device | |
Dubey et al. | VLSI implementation of fast addition using quaternary signed digit number system | |
CN212723979U (en) | Adder, arithmetic circuit, chip, and computing device | |
Neeraja et al. | Design of an area efficient braun multiplier using high speed parallel prefix adder in cadence | |
WO2022088683A1 (en) | Computing chip, computation force board, and data processing device | |
Larsson et al. | Transition reduction in carry-save adder trees | |
US20050289210A1 (en) | Recursive carry-select topology in incrementer designs | |
US4523210A (en) | Fast error checked multibit multiplier | |
Wang et al. | A 1.25 GHz 32-bit tree-structured carry lookahead adder | |
US10249219B2 (en) | Chip and method for operating a processing circuit | |
James et al. | Performance analysis of double digit decimal multiplier on various FPGA logic families | |
Ravi | Design and implementation of Wallace tree multiplier using higher order compressors | |
WO2022166528A1 (en) | Chip placed in full-custom layout and electronic device for implementing mining algorithm | |
Anusha et al. | A comparative study of high speed CMOS adders using microwind and FPGA | |
Pritha et al. | Enhancing the Efficiency of Wallace Tree Multipliers Through Optimized ECSLA Design | |
Karunakaran et al. | Exploration on Power Delay Product of various VLSI Multiplier Architectures | |
Bhargav et al. | Guarded Low Power Hardware Implementations | |
Dharshini et al. | Implementation of a recursive segmented multiplier using Static Segmentation | |
Raghuram et al. | Design and Analysis of Power and Area Efficient 4–2 Compressor Circuit for Tree Multiplier | |
CN116166219A (en) | Configurable modular multiplier |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent |