1. Field of the Invention
The present invention relates to a squarer, and more particularly to an extendable squarer.
2. Description of the Related Art
Square operations have been widely applied in VLSI circuits, communication systems and radar systems. Earlier, multipliers have been applied to execute the square operations. Due to the complicated operating systems or integrated circuits, hundreds of thousands of multipliers are required. This would cause the increase of costs.
In order to resolve the problem, square operation technology and circuits have been developed.
In addition, the Booth encoding method is also applied for square operations. For example, before the Booth encoding method performs square operations for 8-bit data, the 8-bit data are shown as below:
−b727+b626+ . . . +b020=B326+B224+B122+B020
This formula can be simplified as below:
(P023+C0)+(P123+C1)24+(P223+C2)28+C3212
wherein P and C are represented by the following formulas:
Ci=Bi×Bi i=1, . . . ,4
Pi=(−b725−2i+b624−2i+ . . . +b2+220+b2i+120)×Bi i=0, . . . ,2
These prior art methods require a great size of the circuit. This requirement conflicts with the trend of integration of circuits.
Accordingly, the present invention is directed to an extendable squarer for effectively reducing the size of circuits.
The present invention is also directed to a method of square operation for the extendable squarer described above for data square operation.
The present invention discloses an extendable squarer for performing a square operation of a n-bit data. The n is a positive integer not equal to 0. The extendable squarer comprises a bit expanding circuit and a plurality of operating units. The bit expanding circuit has n−1 bit expanding output terminals for outputting corresponding bit expanding data, wherein an ith bit expanding data is
wherein bn−1, bj and bj+1 represent a n−1th, jth and i+1th bit codes of the n-bit data, and i, j and k are positive integers. The plurality of operating units receives the bit codes of the n-bit data according to a binary weight. Except for an operating unit receiving a bit code of a most-significant bit, input terminals of the operating units coupled to the bit expanding output terminals corresponding thereto for receiving the bit expanding data. Each of the operating units multiplies the bit expanding data with the bit code and with square of 2 and adding a square value of the bit code so as to generate an operator.
In the embodiment of the present invention, the extendable squarer further comprises an add operation unit for receiving output of the operating unit, and operating the output of the operating units as below:
In some embodiments, the extendable squarer further comprises a decoder for generating the bit codes according to the binary weight.
The present invention also discloses a method of square operation for operating a square value of n-bit data. The n comprises n bit codes and is a positive integer. The method comprises generating n−1 bit expanding data, wherein an ith bit expanding data is
wherein bn−1, bj and bj+1 represent a n−1th, jth and i+1th bit codes of the n-bit data, and i, j and k are positive integers. Except for an operating unit receiving a bit code of a most-significant bit, each of the bit codes multiplies with one of the bit expanding data for generating a plurality of calculations. The calculations is multiplied with 2 and adding square values of the bit codes corresponding thereto for generating a plurality of operators. The square values of the n-bit data are generated by operating the operators according to the following formula:
wherein Si represents an operator generated from the operating unit receiving the ith bit code; Cn−1 represents an operator generated from the operating unit receiving the bit code of the most-significant bit, which is equal to square of the bit code of the most-significant bit.
Accordingly, the present invention applies the formulas. The operating units generate the operators according to the bit codes and the bit expanding data corresponding thereto so as to generate the square values of the n-bit data. By these formulas, the extendable squarer of the present invention can be effectively reduced. The size of the whole system, therefore, also shrinks.
In order to make the aforementioned and other objects, features and advantages of the present invention understandable, a preferred embodiment accompanied with figures is described in detail below.
Following are the descriptions of square operations for 4-bit and 8-bit data.
A formula describing 4-bit data is shown below:
B=−b323+b222+b121+b020
wherein b represents the bit codes of the 4-bit data; the subscripts represent the bit of the bit codes. The square operation for the 4-bit data can be shown as the matrix in
Formula (1) can be simplified as below:
S0+S122+S224+C026
wherein S and C can be represented as formula (2):
Sj=(Pj22+Cj) j=0, . . . ,2 (2)
Ci=bi×bi i=0, . . . ,2
wherein Pj is defined as below:
Pi=(−b322−i+b221−i+bi+120)×bi i=0, . . . ,2
wherein a part of the formula is represented by BEi, and Pi is shown in formula (3):
Pi=BEi×bi (3)
Following are the descriptions of the square operation for 8-bit data. A formula describing 8-bit data is shown below:
B=−b727+b626+b525+b424+b323+b222+b121+b020
The square operation for the 8-bit data can be shown as the matrix in
This formula can be simplified as below:
S0+S122+S224+S326+S428+S5210+S6212+C7214
wherein S and C can be represented as below:
S=(Pj22+Cf) j=b 0, . . . ,6
Ci=bi×bi i=0, . . . ,7
wherein Pj is defined as below:
Pi=(−b726−i+b625−i+ . . . +b221−i+bi+120)×bi i=0, . . . ,6
wherein a part of the formula is represented by BEi, and Pi is shown in formula (3):
B=bn−12n−1+bn−22n−2+ . . . +b020
Step S610 generates n−1 bit expanding data BE, the ith expanding data BE can be shown as below:
In step S620, every bit expanding data multiplies with the bit code corresponding thereto so as to generate calculations P as shown in formula (3). In step S630, every calculation P multiplies square of 2 and then adds the square of the bit code corresponding thereto so as to generate the operator S as shown below:
Sj=(Pj22+Cj) j=0, . . . ,n−2
Ci=bi×bi i=0, . . . ,n−1
Step S640 generates the result of the square operation of the n-bit data according to the all operators S as below:
The bit code of the most-significant bit of the n-bit data can represent the symbolic bit for determining whether the n-bit data are positive or not. If the n-bit data are negative, the bit expanding data BE should be reverse prior to operation.
Referring to
Although the 16-bit extendable squarer in
Accordingly, the extendable squarer designed in accordance with the square operation of the present invention can execute n-bit square operations. The present invention directly squares the n-bit data for designing the extendable squarer. The costs of the extendable squarer thus decline. In addition, the extendable squarer can adopt module technology so as to shrink the size of the circuit. Accordingly, the costs of the whole system are down.
Although the present invention has been described in terms of exemplary embodiments, it is not limited thereto. Rather, the appended claims should be constructed broadly to include other variants and embodiments of the invention which may be made by those skilled in the field of this art without departing from the scope and range of equivalents of the invention.