JPH06243194A - Method and device for automatic logic circuit design - Google Patents

Method and device for automatic logic circuit design

Info

Publication number
JPH06243194A
JPH06243194A JP5028113A JP2811393A JPH06243194A JP H06243194 A JPH06243194 A JP H06243194A JP 5028113 A JP5028113 A JP 5028113A JP 2811393 A JP2811393 A JP 2811393A JP H06243194 A JPH06243194 A JP H06243194A
Authority
JP
Japan
Prior art keywords
digit
value
constant
logic circuit
digits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5028113A
Other languages
Japanese (ja)
Inventor
Akira Miyoshi
明 三好
Tamotsu Nishiyama
保 西山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP5028113A priority Critical patent/JPH06243194A/en
Publication of JPH06243194A publication Critical patent/JPH06243194A/en
Priority to US08/590,190 priority patent/US5903470A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To provide a method and a device for automatic logic circuit design, which generate a circuit having a small number of logic elements and that of logic stages at the time of generating both a multiplier which performs multiplication with a multiplier or a multiplicand being a constant and a circuit including the multiplier, and the multiplier which performs multiplication with a multiplier or a multiplicand being a constant. CONSTITUTION:It is retrieved whether the constant of a binary expressed number being the multiplicand continuously has digits whose values are '1' or not (S201); and if it continuously has them, the constant is converted to a redundant binary where the value of the digit one higher than the highest digit of them, the value of the lowest digit, and values of digits between them are '1', and '0' respectively (S202). Next, it is retrieved whether the constant has two adjacent two of digits whose values are '-1' and '0' or not ($204); and when it has them, they are converted to '0' and '-1' respectively (S205). When the number of digits whose values are not '0' of the multiplicand is reduced in this manner, a circuit to obtain partial products of only values which are not '0' is generated by a processing omitted in the figure.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、論理回路、特に、入力
された変数とあらかじめ定められた定数とを乗算する乗
算器、またはそのような乗算器を含む論理回路の自動設
計方法およびその装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a logic circuit, and more particularly to a multiplier for multiplying an input variable by a predetermined constant, or a method and apparatus for automatically designing a logic circuit including such a multiplier. It is about.

【0002】[0002]

【従来の技術】ディジタルデータを乗算する乗算器は、
単体のLSIとして用いられるほか、DSP(digital
signal processor)などのLSIへの内蔵用としても多
く用いられている。この種の乗算器や乗算器を含む論理
回路は、多くの場合自動設計装置を用いて設計される。
上記自動設計装置は、回路に要求される機能がハードウ
ェア記述言語等により表された機能記述情報が入力され
ると、これを、主として、機能のみが定義された仮想の
機能素子から成る回路を表す、内部表現形式の機能回路
情報に変換し、さらに、実際に存在する論理素子から成
る回路を示す論理回路情報に変換した後、特定のテクノ
ロジーで実装される実装素子が割り付けられた回路を示
す実装回路情報を生成するようになっている。上記機能
記述情報によって示される機能に乗算が含まれる場合に
は、例えば、あらかじめハードウェアマクロとしてライ
ブラリに登録された所定のビット幅(4、8、17、3
2ビットなど)の汎用的な乗算器が適用可能であれば、
それが割り付けられたり、ライブラリに登録されていな
い乗算器が必要な場合には、加算シフト型の乗算器など
を構成する論理回路が新たに生成されたりするようにな
っている。
2. Description of the Related Art A multiplier for multiplying digital data is
In addition to being used as a stand-alone LSI, DSP (digital
It is also often used for built-in LSI such as signal processor). In many cases, a multiplier or a logic circuit including the multiplier is designed by using an automatic design device.
When the function description information in which the function required for the circuit is represented by a hardware description language or the like is input, the automatic designing apparatus outputs the function description information mainly to a circuit including a virtual functional element in which only the function is defined. Express the function circuit information in the internal representation format, and then convert it to the logic circuit information that indicates the circuit that actually consists of the logic element, and then indicate the circuit to which the mounting element to be mounted by the specific technology is assigned. It is designed to generate mounted circuit information. When the function indicated by the function description information includes multiplication, for example, a predetermined bit width (4, 8, 17, 3) previously registered in the library as a hardware macro is used.
If a general-purpose multiplier (such as 2 bits) is applicable,
When it is allocated or a multiplier that is not registered in the library is required, a logic circuit that constitutes an addition shift type multiplier or the like is newly generated.

【0003】ところで、上記乗算器は、乗算ビット幅の
増大や用途の多様化等に伴い、一層の高速化や、回路規
模、チップ面積の低減が求められ、種々の乗算方法を適
用した回路方式が提案されている。例えば、乗算を高速
に実行する乗算方法として、2次の変形ブースのリコー
ド方式を用いた乗算方法が用いられている。この方法
は、部分積の数を約1/2に減らすことによって、乗算
速度の高速化や回路規模の低減を図るというものであ
る。
By the way, the above-mentioned multiplier is required to be further speeded up, the circuit scale and the chip area are reduced in accordance with the increase of the multiplication bit width and the diversification of applications, and the circuit system to which various multiplication methods are applied is required. Is proposed. For example, as a multiplication method for executing the multiplication at high speed, a multiplication method using the second-order modified Booth's recoding method is used. This method aims to increase the multiplication speed and reduce the circuit scale by reducing the number of partial products to about 1/2.

【0004】例えば、mビット幅の2進数Xと、nビッ
ト幅の2進数Yとを乗算する場合、2進数Xは以下のよ
うに表される。(但し、m、nは正の整数、X、Yは符
号なし整数) 但し、qは、mが偶数の場合q=m/2、奇数の場合q
=(m−1)/2また、mが偶数の場合のXm+1
m 、X-1、およびmが奇数の場合のXm 、X-1は、便
宜上の値で、Xm+1 =Xm =X-1=0 である。
For example, when multiplying a binary number X having an m-bit width by a binary number Y having an n-bit width, the binary number X is expressed as follows. (However, m and n are positive integers, X and Y are unsigned integers) However, q is q = m / 2 when m is an even number and q when it is an odd number.
= (M-1) / 2, X m + 1 when m is an even number,
X m, X -1, and X m, X -1 when m is an odd number, the convenience of values, a X m + 1 = X m = X -1 = 0.

【0005】そこで、XとYの積Pは、 となる。Therefore, the product P of X and Y is Becomes

【0006】すなわち、部分積の数は、q=m/2+1
個(mが偶数)、またはq=(m−1)/2+1個(m
が奇数)となり、また、部分積の総和を求める回路の論
理段数は、2入力加算器を2分木状に接続する場合、l
og2 (m/2+1)段(mが偶数)またはlog
2 ((m−1)/2+1)段(mが奇数)になる。ただ
し、部分積の数は上記のように低減されるものの、(−
2X2p+1+X2p+X2p-1)がとり得る値は、−2、−
1、0、1、または2であり、そのうちの−2または2
である場合に部分積を求めるためには、Yの値を1ビッ
ト左シフト処理を行う必要がある。これは部分積を求め
る回路の規模、および処理時間の増大を招く要因とな
る。
That is, the number of partial products is q = m / 2 + 1
(M is an even number), or q = (m-1) / 2 + 1 (m
Is an odd number), and the number of logic stages in the circuit for calculating the sum of partial products is l when two-input adders are connected in a binary tree shape.
og 2 (m / 2 + 1) stages (m is an even number) or log
2 ((m-1) / 2 + 1) stages (m is an odd number). However, although the number of partial products is reduced as described above, (-
2X 2p + 1 + X 2p + X 2p-1 ) can take values of -2,-
1, 0, 1, or 2, of which -2 or 2
If it is, to obtain the partial product, it is necessary to shift the value of Y by 1 bit to the left. This becomes a factor of increasing the scale of the circuit for obtaining the partial product and the processing time.

【0007】一方、乗算速度の高速化や回路規模の低減
は、上記のような乗算アルゴリズムの性能向上によるも
のに限らず、論理素子レベルでの回路の最適化などによ
っても図られている。より詳しくは、論理素子レベルの
回路情報をチップに実装される実装素子レベルの回路情
報に展開する際などに、回路の一部をより論理素子や論
理段数の少ない等価な回路に置換するなどして、冗長な
回路部分の削除等を行うようになっている。
On the other hand, the speeding up of the multiplication speed and the reduction of the circuit scale are not limited to the improvement of the performance of the multiplication algorithm as described above, but are also achieved by the optimization of the circuit at the logic element level. More specifically, when developing the circuit information at the logic element level into the circuit information at the mounting element level to be mounted on the chip, a part of the circuit is replaced with an equivalent circuit with a smaller number of logic elements or logic stages. The redundant circuit portion is deleted.

【0008】すなわち、例えば乗数が2のべき乗でない
定数である場合、乗数における値が0のビットに対応す
る部分積は全ビットの値が0になるので、そのような部
分積を生成する回路や、加算する回路は常に一定の信号
状態になる。そこで、従来の自動設計装置では、一旦、
乗数および被乗数が変数である乗算回路、すなわち部分
積数および部分積加算論理段数が一定数の乗算回路と、
乗数としての定数を発生させる回路とを生成した後、前
述のように論理素子レベルでの回路の最適化によって、
例えば常に信号レベルが一定になる論理素子の削除等を
行うようになっていた。
That is, for example, when the multiplier is a constant that is not a power of 2, the value of all bits of the partial product corresponding to a bit whose value is 0 in the multiplier becomes 0. Therefore, a circuit for generating such a partial product is used. , The adding circuit always has a constant signal state. Therefore, in the conventional automatic design device,
A multiplication circuit in which the multiplier and the multiplicand are variables, that is, a multiplication circuit in which the number of partial products and the number of partial product addition logic stages are constant,
After generating a circuit that generates a constant as a multiplier, by optimizing the circuit at the logic element level as described above,
For example, deletion of a logic element whose signal level is always constant has been performed.

【0009】[0009]

【発明が解決しようとする課題】しかしながら、従来の
自動設計装置においては、論理素子レベルでの回路の最
適化は、例えばあらかじめ設定された所定のパターンに
合致する回路部分だけが、より論理素子や論理段数の少
ない等価な回路に置換されることにより行われるため、
乗数または被乗数が定数である場合にこのような最適化
を行っても、必ずしも回路全体の論理素子数等が最少に
なるような回路を生成することはできないという問題点
を有していた。特に、部分積を加算するために2入力加
算器を2分木状に接続する場合、全ビットの値が0にな
る部分積の加算回路に関連する部分を省略すると、通
常、2分木のバランスが崩れるので、部分的な回路の置
換によって論理素子数や論理段数を最少にすることなど
が困難である。
However, in the conventional automatic design apparatus, the circuit optimization at the logic element level is performed only when the circuit portion matching the predetermined pattern set in advance has more logic elements or logic elements. Since it is performed by replacing with an equivalent circuit with a small number of logic stages,
Even if such optimization is performed when the multiplier or the multiplicand is a constant, there is a problem that it is not always possible to generate a circuit that minimizes the number of logic elements in the entire circuit. In particular, when two-input adders are connected in a binary tree form to add partial products, if a part related to the partial product adder circuit in which all the bit values are 0 is omitted, the binary tree is normally used. Since the balance is lost, it is difficult to minimize the number of logic elements and the number of logic stages by partially replacing the circuits.

【0010】本発明は上記の点に鑑み、乗数または被乗
数が定数である乗算を行う乗算器や乗算器を含む論理回
路を生成する場合に、論理素子数や論理段数が少ない回
路を生成できる論理回路の自動設計方法およびその装置
の提供を目的としている。
In view of the above points, the present invention is a logic capable of generating a circuit having a small number of logic elements and a low number of logic stages when generating a multiplier or a logic circuit including a multiplier for performing multiplication with a constant multiplier or multiplicand. It is intended to provide an automatic circuit design method and an apparatus therefor.

【0011】[0011]

【課題を解決するための手段】上記目的を達成するた
め、本発明は、定数である乗数と、被乗数との積を求め
る論理回路を示す情報を生成する論理回路の自動設計方
法であって、2進表現で表された第1の定数を、第1の
定数と等しい値で、値が非0である桁の数が第1の定数
よりも少ない、冗長2進表現で表された第2の定数に変
換する定数変換ステップと、第2の定数における値が非
0である桁に関してのみ、被乗数との部分積を求める部
分積演算回路を示す情報を生成する部分積演算回路情報
生成ステップと、部分積演算回路によって求められる部
分積の部分積和を求める部分積和演算回路を示す情報を
生成する部分積和演算回路情報生成ステップとを有する
ことを特徴としている。
In order to achieve the above object, the present invention is an automatic design method of a logic circuit for generating information indicating a logic circuit for obtaining a product of a constant multiplier and a multiplicand. A second constant represented by a redundant binary representation having a first constant represented by a binary representation and a value equal to the first constant and having a non-zero number of digits smaller than the first constant. A constant conversion step for converting into a constant and a partial product calculation circuit information generation step for generating information indicating a partial product calculation circuit for calculating a partial product with the multiplicand only for a digit whose value in the second constant is non-zero. , A partial product-sum operation circuit information generating step of generating information indicating a partial product-sum operation circuit for obtaining a partial product sum of partial products obtained by the partial product operation circuit.

【0012】また、定数である乗数と、被乗数との積を
求める論理回路を示す情報を生成する論理回路の自動設
計装置であって、2進表現で表された第1の定数を、第
1の定数と等しい値で、値が非0である桁の数が第1の
定数よりも少ない、冗長2進表現で表された第2の定数
に変換する定数変換手段と、第2の定数における値が非
0である桁に関してのみ、被乗数との部分積を求める部
分積演算回路を示す情報を生成する部分積演算回路情報
生成手段と、部分積演算回路によって求められる部分積
の部分積和を求める部分積和演算回路を示す情報を生成
する部分積和演算回路情報生成手段とを有することを特
徴としている。
Further, there is provided an automatic design device of a logic circuit for generating information indicating a logic circuit for obtaining a product of a multiplier which is a constant and a multiplicand, wherein a first constant represented by a binary expression is converted into a first constant. Constant conversion means for converting into a second constant represented by redundant binary representation, which has a value equal to the constant of, and has a number of non-zero digits smaller than that of the first constant; A partial product arithmetic circuit information generating means for generating information indicating a partial product arithmetic circuit for obtaining a partial product with a multiplicand, and a partial product sum of partial products obtained by the partial product arithmetic circuit only for a digit whose value is non-zero. And a partial product-sum operation circuit information generating means for generating information indicating the partial product-sum operation circuit to be obtained.

【0013】ここで、部分積演算回路情報、および部分
積和演算回路を示す情報を生成する際に、値が非0であ
る桁の数である非0桁数を求め、非0桁数が2以上であ
る場合に、非0桁数が略等分になるように定数を分割す
るようにしてもよい。
Here, when the partial product arithmetic circuit information and the information indicating the partial product sum arithmetic circuit are generated, the non-zero digit number, which is the number of digits whose value is non-zero, is obtained. When the number is 2 or more, the constant may be divided so that the non-zero digit number is approximately equal.

【0014】[0014]

【作用】上記の構成により、値が非0である桁の数が少
ない定数と、被乗数とを乗算する回路であって、かつ、
上記値が非0である桁に関してのみ、被乗数との部分積
を求める部分積演算回路を含む回路を示す回路情報が生
成される。また、定数が、非0桁数が略等分になるよう
に分割されると、部分積和演算回路は、バランスよい2
分木状に接続される。
With the above configuration, a circuit for multiplying a multiplicand by a constant having a small number of non-zero digits, and
Circuit information indicating a circuit including a partial product arithmetic circuit for obtaining a partial product with the multiplicand is generated only for a digit whose value is non-zero. Further, when the constant is divided so that the non-zero digit number becomes substantially equal, the partial product-sum operation circuit has a good balance of 2
It is connected like a branch tree.

【0015】[0015]

【実施例】【Example】

(第1実施例)以下、本発明の第1実施例を図1ないし
図8に基づいて説明する。図1は論理回路の自動設計装
置の構成を示すブロック図である。同図において、中央
処理装置(CPU)601は、回路の設計処理等を行う
ものである。記憶手段602は、設計処理に関するプロ
グラムやデータなどを記憶するものである。入出力装置
603は、例えばキーボードやCRTなどから成り、自
動設計システムに設計させようとする回路についての情
報などの入力や、中央処理装置601の設計処理結果で
ある回路情報、処理に関する各種情報などの出力を行う
ものである。上記各手段は、バスラインを介して接続さ
れている。
(First Embodiment) A first embodiment of the present invention will be described below with reference to FIGS. FIG. 1 is a block diagram showing the configuration of an automatic logic circuit designing apparatus. In the figure, a central processing unit (CPU) 601 is for performing circuit design processing and the like. The storage unit 602 stores programs and data relating to design processing. The input / output device 603 is composed of, for example, a keyboard and a CRT, and inputs information about a circuit to be designed by the automatic design system, circuit information as a design processing result of the central processing unit 601, and various information about processing. Is output. The above-mentioned means are connected via a bus line.

【0016】上記中央処理装置601は、図2に示すよ
うな設計処理を行う。まず、設計する乗算モジュールに
関する情報を入出力装置603から入力し、記憶手段6
02に格納する(S101)。上記乗算モジュールに関
する情報は、具体的には、例えば乗算モジュールを特定
するための情報、その乗算モジュールに対して入出力さ
れる2進表現の定数Aと、変数Xと、積Pとを示す情
報、これらのビット幅(桁数)m、n、および定数Aの
値を示す情報である。なお、以下の説明においては、混
同しない範囲で、乗算モジュールの語を上記情報等の乗
算モジュールに関する情報を示す意味でも用いる。
The central processing unit 601 carries out a design process as shown in FIG. First, information about the multiplication module to be designed is input from the input / output device 603, and the storage unit 6
02 (S101). The information regarding the multiplication module is, for example, information for identifying the multiplication module, information indicating a binary expression constant A input / output to / from the multiplication module, a variable X, and a product P. , Information indicating the bit width (number of digits) m, n, and the value of the constant A. In the following description, the term “multiplying module” is also used to indicate information about the multiplying module such as the above information to the extent that it is not confused.

【0017】次に、上記定数Aを、冗長2進表現で表さ
れ、定数Aと等値で、かつ、値が1または−1(非0)
であるビット(桁)の数が少ない定数A1に変換する
(S102)。その後、上記定数A1と変数Xとを乗算
する乗算モジュールの回路を示す回路情報を生成し、記
憶手段602に格納する(S103)。この処理では、
後述するように、定数A1における値が非0である桁に
ついてだけ部分積を生成するので、上記(S102)の
変換が行われることと相まって、部分積の数、および部
分積和を求める回路の論理段数が小さく抑えられる。
Next, the constant A is represented by a redundant binary expression, is equal to the constant A, and has a value of 1 or -1 (non-zero).
Is converted into a constant A1 having a small number of bits (digits) (S102). After that, circuit information indicating the circuit of the multiplication module that multiplies the constant A1 and the variable X is generated and stored in the storage unit 602 (S103). In this process,
As will be described later, since the partial product is generated only for the digit whose value in the constant A1 is non-zero, the number of partial products and the circuit for calculating the partial product sum are combined with the conversion in (S102). The number of logic stages can be kept small.

【0018】記憶手段602に格納された回路情報は、
入出力装置603に出力される(S104)。以下、上
記(S102)の定数変換処理、および(S103)の
回路情報生成処理を詳細に説明する。(S102)の定
数変換処理では、図3に示すような処理が行われる。
The circuit information stored in the storage means 602 is
It is output to the input / output device 603 (S104). Hereinafter, the constant conversion process of (S102) and the circuit information generation process of (S103) will be described in detail. In the constant conversion process of (S102), the process as shown in FIG. 3 is performed.

【0019】まず、定数Aの中で2桁以上連続して値が
1である箇所を検索し(S201)、そのような箇所が
存在しなければ、値が非0である桁を減らすことはでき
ないので、単に、定数Aを各桁の符号ビットの値が全て
0(正)で各桁の絶対値ビットの値が定数Aの各桁の値
と等しい冗長2進表現の定数A1に変換して(S20
6)、メインルーチンにリターンする。
First, the constant A is searched for a portion having a value of 1 continuously for two digits or more (S201), and if there is no such portion, the number of digits having a non-zero value cannot be reduced. Since it cannot be done, simply convert the constant A into a redundant binary representation constant A1 in which the value of the sign bit of each digit is all 0 (positive) and the value of the absolute value bit of each digit is equal to the value of each digit of the constant A. (S20
6) Return to the main routine.

【0020】一方、2桁以上連続して値が1である箇所
があれば、(S202)に移行して、そのような全ての
箇所について、下記(1)式の左辺に対応する2進表現
を右辺に対応する冗長2進表現に変換した定数αを生成
する。ここで、k≧1、l≧0なる整数k、lについ
て、定数Aにおける2k+l の桁から2l の桁までの各桁
の値が全て1であるとする。
On the other hand, if there is a portion where the value is 1 continuously for two digits or more, the process proceeds to (S202), and for all such portions, the binary representation corresponding to the left side of the following equation (1). Is converted into a redundant binary representation corresponding to the right side to generate a constant α. Here, for integers k and l such that k ≧ 1 and l ≧ 0, it is assumed that the values at each digit from the digit of 2 k + l to the digit of 2 l in the constant A are all 1.

【0021】(2k +2k-1 +…+21 +20 )・2l =(2k+1 +(−20 ))・2l ……(1) 具体的には、例えばk=5の場合、上記(1)式は
(2)式のようになる。 111111・2l =100000T・2l ……(2) ここで、記号Tは、冗長2進表現において、その桁の符
号ビット、および絶対値ビットが共に1、(すなわちそ
の桁の値が−1)であることを示す。すなわち、2進表
現の数値の並び“111111”は、冗長2進表現の数
値の並び“100000T”に変換される。
(2 k +2 k-1 + ... +2 1 +2 0 ) · 2 l = (2 k + 1 + (− 2 0 )) · 2 l (1) Specifically, for example, k = 5 In the case of, the above equation (1) becomes like the equation (2). 111111 · 2 l = 100000T · 2 l (2) Here, in the redundant binary representation, the symbol T is both the sign bit and the absolute value bit of that digit are 1 (that is, the value of that digit is −1. ) Is shown. That is, the sequence of numerical values "111111" in binary representation is converted into the sequence of numerical values "100000T" in redundant binary representation.

【0022】この変換処理によって、数値1が連続する
k+1桁の数値の並びBが、1桁の数値1と、連続する
k桁の数値0と、1桁の数値Tとの並びB’に変換さ
れ、変換前後の値が非0である桁の数NZ(B)、NZ
(B’)はkの値に係らず(3)式のようになる。 NZ(B)≧NZ(B’)=2 ……(3) 次に、さらに定数αの中の数値の並びが“11”である
箇所(なお、数値1が3桁以上連続していることはな
い。)を検索し(S203)、そのような箇所が存在し
なければ(S204)に移行する一方、存在すれば(S
202)に戻り、以下、存在しなくなるまで上記変換を
繰り返して新たな定数αを生成した後に、(S204)
に移行する。
By this conversion processing, the sequence B of k + 1 digit numerical values in which the numerical value 1 is continuous is converted into the sequence B'of 1 digit numerical value 1, the continuous k digit numerical value 0, and the 1 digit numerical value T. And the number of digits whose values before and after conversion are non-zero NZ (B), NZ
(B ') is as shown in equation (3) regardless of the value of k. NZ (B) ≧ NZ (B ′) = 2 (3) Next, the part where the numerical value sequence in the constant α is “11” (note that the numerical value 1 is continuous for 3 or more digits). No.) is searched for (S203), and if such a location does not exist (S204), the process proceeds to (S204).
After returning to 202), the above conversion is repeated until it does not exist to generate a new constant α, and then (S204).
Move to.

【0023】(S204)では、上記のようにして生成
された定数αの中で、数値の並びが“T1”である個所
を検索し、そのような箇所が存在しなければ、定数αを
そのまま定数A1として(S207)メインルーチンに
リターンする。一方、そのような箇所があれば、(S2
05)に移行して、下記(4)式に示すように上記数値
の並び“T1”を“0T”に変換した定数A1を生成す
る。すなわち、定数αにおける2l+1 の桁と2l の桁の
数値の並びが“T1”であるとすると、その数値の並び
“T1”は、一般に(−21 +20 )・2l で表現され
るから、 (−21 +20 )・2l =(−20 )・2l ……(4) なお、上記(4)式を(2)式と同じ表現で表すと
(5)式のようになる。
In (S204), the constant α generated as described above is searched for a place where the numerical sequence is "T1", and if there is no such place, the constant α is left as it is. As the constant A1 (S207), the process returns to the main routine. On the other hand, if there is such a place, (S2
Moving to 05), a constant A1 is generated by converting the above sequence of numerical values "T1" into "0T" as shown in the following expression (4). That is, if the sequence of the numerical values of the 2 l + 1 digit and the 2 l digit in the constant α is “T1”, the numerical sequence “T1” is generally (−2 1 +2 0 ) · 2 l . Since it is expressed, (-2 1 +2 0 ) · 2 l = (− 2 0 ) · 2 l (4) When the above expression (4) is expressed by the same expression as the expression (2), (5) It becomes like a formula.

【0024】 T1・2l =0T・2l ……(5) この変換処理によって、定数A1における値が非0であ
る桁の数NZ(A1)は、さらに少なくなり、下記
(6)式のようになる。 NZ(A1)≦m/2+1 (mは偶数) ≦(m−1)/2+1 (mは奇数) ……(6) 以下、NZ(A1)が(6)式のようになることについ
て説明する。(1) 桁数mが偶数(例えばm=8)の
場合(1a) NZ(A)=m/2の場合、つまり、定
数Aの内半分が数値1で半分が数値0の場合NZ(A
1)が最大になるのは、例えば、(7−1)、(7−
2)式のように数値0と数値1が交互に表れ、2桁以上
連続した数値1の並びが存在しない場合である。この場
合、(S202)、(S205)の処理は行われないの
で、NZ(A)=NZ(A1)=m/2になる。
T1 · 2 l = 0T · 2 l (5) By this conversion process, the number of digits NZ (A1) in which the value of the constant A1 is non-zero is further reduced, and the following formula (6) Like NZ (A1) ≤ m / 2 + 1 (m is an even number) ≤ (m-1) / 2 + 1 (m is an odd number) (6) Hereinafter, it will be described that NZ (A1) is as in the equation (6). . (1) When the number of digits m is an even number (for example, m = 8) (1a) When NZ (A) = m / 2, that is, when half of the constant A is the numerical value 1 and half is the numerical value 0 NZ (A
1) becomes maximum, for example, (7-1), (7-
This is a case where the numerical value 0 and the numerical value 1 appear alternately as in the formula (2), and there is no arrangement of the numerical value 1 having two or more consecutive digits. In this case, since the processes of (S202) and (S205) are not performed, NZ (A) = NZ (A1) = m / 2.

【0025】 01010101 ……(7−1) 10101010 ……(7−2) (1b) NZ(A)=m/2+1の場合 NZ(A1)が最大になるのは、例えば、1箇所の2桁
以上連続した数値1の並びが存在し、他は数値0と数値
1が交互に表れるような場合である。
01010101 ...... (7-1) 10101010 ...... (7-2) (1b) When NZ (A) = m / 2 + 1 NZ (A1) is maximized, for example, in two digits at one location. The above is a case where there is a continuous sequence of numerical values 1 and the other numerical values 0 and 1 appear alternately.

【0026】 11010101 ……(8−1) 10101011 ……(8−2) (8−1)式は、(7−1)式の最上位にある数値0を
数値1に置き換えたもの、(8−2)式は、(7−2)
式の最下位にある数値0を数値1に置き換えたものであ
る。これらを上記のように変換すると、(9−1)、
(9−2)式のようになる。したがって、このときNZ
(A1)=m/2+1となる。
11010101 (8-1) 101011 (8-2) Equation (8-1) is obtained by substituting the numerical value 0 at the top of the equation (7-1) with the numerical value 1, (8 The formula -2) is (7-2)
The numerical value 0 at the bottom of the expression is replaced with the numerical value 1. Converting these as above, (9-1),
It becomes like the formula (9-2). Therefore, at this time NZ
(A1) = m / 2 + 1.

【0027】 10T010101 ……(9−1) 01010110T ……(9−2) なお、(7−1)、(7−2)式において、数値0の箇
所のうちの1箇所を数値1に置き換える際に、(8−
1)、(8−2)式とは異なるように置き換えた代えた
場合には、必ず1つの3桁連続の数値1の並びが生じ
る。したがって、m/2+1個の数値1のうち、1箇所
の3桁連続する数値1の並び(111)が(100T)
に変換され、値が非0である箇所が1箇所減るため、N
Z(A1)=m/2+1−1=m/2になる。 (1c) NZ(A)=m/2+2以上の場合 この場合、連続した数値1の並びをさらに増やすことに
なり、その数値1の並びが、1個の数値1と1個の数値
Tに置き換えられるだけである。
10T010101 (9-1) 0101110T (9-2) When replacing one of the numerical values 0 with the numerical value 1 in the equations (7-1) and (7-2), To (8-
In the case of substituting it differently from the equations (1) and (8-2), a sequence of numerical values 1 of three consecutive digits always occurs. Therefore, among the m / 2 + 1 number 1s, the sequence (111) of the number 1 consecutive 3 digits at one place is (100T).
Is converted to, and the number of non-zero values is reduced by one, so N
Z (A1) = m / 2 + 1-1 = m / 2. (1c) When NZ (A) = m / 2 + 2 or more In this case, the sequence of consecutive numerical values 1 is further increased, and the sequence of numerical values 1 is replaced with one numerical value 1 and one numerical value T. You can only be

【0028】したがって、mが偶数の場合、NZ(A
1)がm/2+1を超えることはない。 (2) 桁数mが奇数(例えばm=7)の場合 (2a) NZ(A)=(m+1)/2の場合 NZ(A1)が最大になるのは、例えば、(10−1)
式のように1箇所の2桁以上連続した数値1の並びが存
在し、他は数値0と数値1が交互に表れるような場合
や、(10−2)式のように数値0と数値1が交互に表
れるような場合である。
Therefore, if m is an even number, NZ (A
1) never exceeds m / 2 + 1. (2) When the number of digits m is an odd number (for example, m = 7) (2a) When NZ (A) = (m + 1) / 2 The maximum value of NZ (A1) is, for example, (10-1)
As in the formula, there is a sequence of numerical values 1 that are continuous in two digits or more, and in other cases, numerical value 0 and numerical value 1 appear alternately, or as in formula (10-2), numerical value 0 and numerical value 1 This is the case when appears alternately.

【0029】 0101011 ……(10−1) 1010101 ……(10−2) (10−2)式においては、連続した数値1の並びがな
いため、(S202)、(S205)の処理は行われな
い。したがって、NZ(A)=NZ(A1)=(m+
1)/2になる。また(10−1)においては、(S2
02)の処理によって(11)式に示される並びにな
り、やはり、NZ(A)=NZ(A1)=(m+1)/
2になる。
[0101] (10-1) 1010101 (10-2) In the formula (10-2), since there is no continuous sequence of the numerical value 1, the processes of (S202) and (S205) are performed. Absent. Therefore, NZ (A) = NZ (A1) = (m +
1) / 2. Further, in (10-1), (S2
By the processing of 02), the sequence shown in the equation (11) is obtained, and again NZ (A) = NZ (A1) = (m + 1) /
It becomes 2.

【0030】010110T ……(11) (2b) NZ(A)=(m+1)/2+1の場合 NZ(A1)が最大になるのは、例えば、2箇所の2桁
の連続した数値1の並びを有し、他は数値0と数値1が
交互に現れるような場合である。より具体的な例として
は、(12)式に示すように、(10−1)式の最上位
にある数値0を数値1に置き換えた並びである。
010110T (11) (2b) In the case of NZ (A) = (m + 1) / 2 + 1 NZ (A1) is maximized when, for example, two consecutive 2-digit numerical values 1 are arranged. The other case is that the numerical value 0 and the numerical value 1 appear alternately. As a more specific example, as shown in the expression (12), the numerical value 0 at the top of the expression (10-1) is replaced by the numerical value 1.

【0031】1101011 ……(12) (12)式においては、(S202)の処理が2回行わ
れることによって(13)、(13’)式のようにな
り、さらに(S205)の処理によって(13”)式の
ようになる。 10T0110T ……(13) 10T10T0T ……(13’) 100T0T0T ……(13”) したがって、このときのNZ(A1)は、NZ(A1)
=(m−1)/2+1となる。 (2c) NZ(A)=m/2+2以上の場合 この場合、連続した数値1の並びをさらに増やすことに
なり、その数値1の並びが、1個の数値1と1個の数値
Tに置き換えられるだけである。
1101011 (12) In the equation (12), the processing of (S202) is performed twice to obtain equations (13) and (13 '), and further by the processing of (S205), 13T) is expressed as follows: 10T0110T (13) 10T10T0T (13 ') 100T0T0T (13 ") Therefore, NZ (A1) at this time is NZ (A1).
= (M-1) / 2 + 1. (2c) In the case of NZ (A) = m / 2 + 2 or more In this case, the sequence of consecutive numerical values 1 is further increased, and the sequence of numerical values 1 is replaced with one numerical value 1 and one numerical value T. You can only be

【0032】したがって、mが奇数の場合、NZ(A
1)が(m−1)/2+1を超えることはない。したが
って、(S202)、(S205)の処理によって変換
される、定数A1における値が非0である桁の数NZ
(A1)は、定数Aの桁数mが偶数および奇数である場
合、それぞれ前記(6)式のようになる。
Therefore, if m is an odd number, NZ (A
1) never exceeds (m-1) / 2 + 1. Therefore, the number NZ of digits whose value in the constant A1 is non-zero, which is converted by the processing of (S202) and (S205)
When the number of digits m of the constant A is an even number and an odd number, (A1) is expressed by the equation (6).

【0033】また、前記(S103)の回路情報生成処
理では、図4に示すような処理が行われる。まず、上記
定数A1が被乗数、変数が乗数となるようにする(S4
01)。ここで、乗数と被乗数の区別は、以下の処理に
おける便宜上のものである。次に、記憶手段602に格
納されている乗算モジュールを選択する(S402)。
なお、最初は、乗算モジュールは1つだけなのでそれが
選択されるが、後述する処理によって乗算モジュールが
分割されると、複数の乗算モジュールが記憶手段602
に格納されるので、そのうちの1つが選択される。
Further, in the circuit information generation processing of (S103), the processing shown in FIG. 4 is performed. First, the constant A1 is set to be a multiplicand and the variable is set to be a multiplier (S4).
01). Here, the distinction between the multiplier and the multiplicand is for convenience in the following processing. Next, the multiplication module stored in the storage unit 602 is selected (S402).
At first, since there is only one multiplication module, it is selected, but when the multiplication module is divided by the processing described later, a plurality of multiplication modules are stored in the storage unit 602.
One of them is selected.

【0034】選択された乗算モジュールについて、定数
A1における値が非0である桁の数NZ(A1)をカウ
ントし(S403)、NZ(A1)>1であるかどうか
を判定する(S404)。より具体的には、例えばNZ
(A1)から数値2を減算し、減算結果が負でないかど
うかを判定する。NZ(A1)>1であれば、(S40
5)に移行して、例えば図5に示す乗算モジュールを、
図6に示す2つの乗算モジュールとそれらから出力され
る部分積を加算する加算回路に置き換える。なお、図
5、6および以下の説明において、例えばA1(m−
1:0)は定数A1における2m-1 の桁から20 の桁ま
での値を示す。
For the selected multiplication module, the number of digits NZ (A1) whose value in the constant A1 is non-zero is counted (S403), and it is determined whether NZ (A1)> 1 (S404). More specifically, for example, NZ
The numerical value 2 is subtracted from (A1), and it is determined whether the subtraction result is not negative. If NZ (A1)> 1, (S40
5), for example, the multiplication module shown in FIG.
It replaces with the two multiplication modules shown in FIG. 6 and the addition circuit which adds the partial products output from them. In addition, in FIGS. 5 and 6 and the following description, for example, A1 (m-
1: 0) indicates the value from 2 m-1 digit in the constant A1 to 2 0 digit.

【0035】より詳しくは、図7に示すように、まず、
上記NZ(A1)/2を超えない最大の整数Qを求め
(S701)、値が非0である桁の数が20 の桁から数
えてQ個目となる桁を求める(S702)。そのような
桁が例えば2k の桁とすると、次に、下記(14)式に
示すように、定数A1(m−k:0)を定数A1(m−
1:k+1)とA1(k:0)とに分割し(S70
3)、さらに(15)式に示すように、それぞれの定数
と変数Xとを乗算する乗算モジュール、および加算回路
から成る回路に置き換える(S704)。ここで、上記
加算回路としては、例えば IEEE trans. on computer p
165-170,1984に記載されている冗長2進数加算回路が適
用できる。
More specifically, as shown in FIG. 7, first,
The maximum integer Q that does not exceed NZ (A1) / 2 is obtained (S701), and the Qth digit is obtained by counting the number of nonzero digits from 2 0 (S702). If such a digit is, for example, a digit of 2 k , then the constant A1 (m−k: 0) is changed to the constant A1 (m− as shown in the following equation (14).
1: k + 1) and A1 (k: 0) (S70
3) Further, as shown in the equation (15), it is replaced with a circuit including a multiplication module for multiplying each constant and the variable X, and an addition circuit (S704). Here, as the addition circuit, for example, IEEE trans. On computer p
The redundant binary number addition circuit described in 165-170, 1984 can be applied.

【0036】 A1(m−1:0) =A1(m−1:k+1)・2k+1 +A1(k:0)・20 …(14) P=A1(m−1:0)・X =A1(m−1:k+1)・X・2k+1 +A1(k:0)・X…(15) なお、Qの値は、上記に限らず、NZ(A1)/2以上
の最小整数や、QまたはNZ(A1)−QがNZ(A
1)/2以上の最小の2のべき乗数となるようにしても
よい。
[0036] A1 (m-1: 0) = A1 (m-1: k + 1) · 2 k + 1 + A1 (k: 0) · 2 0 ... (14) P = A1 (m-1: 0) · X = A1 (m−1: k + 1) · X · 2 k + 1 + A1 (k: 0) · X (15) The value of Q is not limited to the above, and is a minimum integer of NZ (A1) / 2 or more. Or Q or NZ (A1) -Q is NZ (A
The minimum power of 2 may be 1) / 2 or more.

【0037】一方、上記(S404)でNZ(A1)≦
1であると判定されると、(S406)に移行して、乗
算モジュールを部分積生成回路に置き換える。詳しく
は、乗数A1における値が非0である桁を検出し、例え
ば、その桁が2j の桁でその桁の値がA1(j)とする
と、下記(16)式に示すように、A1(j)・2j
変数Xとをの積を求める、XORゲートなどから成る論
理回路に置き換える。
On the other hand, in the above (S404), NZ (A1) ≦
If it is determined to be 1, the process proceeds to (S406) and the multiplication module is replaced with the partial product generation circuit. Specifically, if a digit whose value in the multiplier A1 is non-zero is detected and, for example, that digit is a digit of 2 j and the value of that digit is A1 (j), as shown in the following equation (16), A1 (J) Replaced by a logic circuit including an XOR gate, etc., which calculates the product of 2 j and the variable X.

【0038】 A1(j)= 1のとき、 X(n−1:0)・2j A1(j)=−1のとき、−X(n−1:0)・2j ……(16) (S405)、(S406)の処理の後、記憶手段60
2にまだ乗算モジュールが格納されているかどうかを判
定し(S407)、格納されていれば、さらに上記(S
402)に戻って同様の処理を繰り返す。すなわち、乗
算モジュールの分割処理が再帰的に行われて、図8に示
すように、部分積生成回路1001と、2分木状に接続
された加算回路1002とから成る回路に変換される。
When A1 (j) = 1, X (n−1: 0) · 2 j When A1 (j) = − 1, −X (n−1: 0) · 2 j (16) After the processing of (S405) and (S406), the storage unit 60
It is determined whether or not the multiplication module is still stored in 2 (S407), and if so, the above (S407).
Returning to 402), the same processing is repeated. That is, the division processing of the multiplication module is recursively performed, and as shown in FIG. 8, it is converted into a circuit including a partial product generation circuit 1001 and an addition circuit 1002 connected in a binary tree shape.

【0039】上記のように、定数における値が非0であ
る桁の数を減らした後、残った非0である桁に対してだ
け、その桁を約1/2に分割しながら部分積生成回路と
加算回路とに変換するので、部分積の数、および部分積
和を求める回路の論理段数が小さく抑えられる。しか
も、上記値が非0である桁の値は、−1、0、1の3通
りだけなので、何れの値についての部分積を求める場合
でもシフト処理を必要としないため、一層、回路規模を
低減し、かつ高速化を図ることができる。
As described above, after reducing the number of non-zero digits in the constant, only for the remaining non-zero digits, the partial product is generated while dividing the digits into about 1/2. Since the number of partial products and the number of logical stages of the circuit for obtaining the partial product sum are suppressed to be small, since the conversion is performed by the circuit and the adding circuit. Moreover, since there are only three digit values of -1, 0, and 1 in which the above value is non-zero, shift processing is not required to obtain a partial product for any value, so that the circuit scale is further increased. It is possible to reduce and speed up.

【0040】なお、上記の例では、冗長2進表現の部分
積を求める部分積生成回路を適用する例を示したが、
(17)式に示すように、2進表現の部分積を求める部
分積生成回路を適用するようにしてもよい。ここで、n
otは各桁の論理反転を示す。 A1(j)=1 のとき、X(n−1:0)・2j A1(j)=−1のとき、not(X(n−1:0)・2j )+1…(17) (17)式は、A1(j)=−1のときには、被乗数X
の各桁を論理反転し、最下位桁に数値1を加算すること
によって2の補数をとることを示し、部分積はすべて2
進数で出力される。
In the above example, the partial product generation circuit for obtaining the partial product of the redundant binary representation is applied.
As shown in the expression (17), a partial product generation circuit for obtaining a partial product in binary representation may be applied. Where n
ot indicates the logical inversion of each digit. When A1 (j) = 1, X (n−1: 0) · 2 j A1 (j) = − 1, not (X (n−1: 0) · 2 j ) +1 (17) ( Equation 17 is such that when A1 (j) = − 1, the multiplicand X
It is shown that the two's complement is taken by logically inverting each digit of, and adding the numerical value 1 to the least significant digit.
It is output as a decimal number.

【0041】この場合、部分積の加算回路には、従来よ
り知られている桁上げ保存形で加算を実行するワラス・
ツリーを使用した加算方法が適用できる。これは、4入
力2出力の加算回路を構成し、桁上げ保存加算を実行す
るようになっていて、上記冗長2進加算回路と同等の演
算を行うことができる。なお、詳細は、例えば電子情報
通信学会誌ICD89−128に記載されているので省
略する。 (第2実施例)本発明の第2実施例として、定数Aを定
数A1に変換する定数変換処理の他の例を図9ないし図
11に基づいて説明する。
In this case, the adder circuit for the partial products includes a Wallace
The addition method using a tree can be applied. This constitutes an adder circuit with four inputs and two outputs and carries out carry save addition, and can perform the same operation as the redundant binary adder circuit. The details are described in, for example, ICD89-128 of the Institute of Electronics, Information and Communication Engineers, and therefore omitted. (Second Embodiment) As a second embodiment of the present invention, another example of the constant conversion processing for converting the constant A into the constant A1 will be described with reference to FIGS.

【0042】図9に示す定数変換処理では、値1の連続
する桁を検索したりすることなく、各桁ごとに所定の処
理を行うことにより、図2の(S102)の処理と同じ
結果を得ることができる。まず、(S301)では、定
数Aにおける各桁ごとの値A(i)を、下記(表1)に
基づいて中間桁上げC(i)と中間和S(i)とに分割
する。ここで、中間桁上げC(i)と中間和S(i)と
は、下記(18)式に示す関係を有する値で、A(i)
およびC(i)は2進表現数、S(i)は冗長2進表現
数である。
In the constant conversion process shown in FIG. 9, the same result as the process of (S102) of FIG. 2 is obtained by performing a predetermined process for each digit without searching for consecutive digits of the value 1. Obtainable. First, in (S301), the value A (i) for each digit in the constant A is divided into an intermediate carry C (i) and an intermediate sum S (i) based on the following (Table 1). Here, the intermediate carry C (i) and the intermediate sum S (i) are values having a relationship shown in the following equation (18), and A (i)
And C (i) is a binary representation number, and S (i) is a redundant binary representation number.

【0043】[0043]

【表1】 [Table 1]

【0044】 A(i)=C(i)・2+S(i) ……(18) すなわち、上記C(i)とS(i)との値は、値A
(i)と、その1桁上位の値A(i+1)とに応じて決
定され、A(i)が0である場合には、C(i)=0、
S(i)=0となる。一方A(i)が1である場合に
は、A(i+1)=0であれば、C(i)=0、S
(i)=1となり、A(i+1)=1であれば、C
(i)=1、S(i)=Tとなる。
A (i) = C (i) · 2 + S (i) (18) That is, the values of C (i) and S (i) above are the values A
(I) and its one digit higher value A (i + 1), and if A (i) is 0, then C (i) = 0,
S (i) = 0. On the other hand, if A (i) is 1, and if A (i + 1) = 0, then C (i) = 0, S
(I) = 1, and if A (i + 1) = 1, then C
(I) = 1 and S (i) = T.

【0045】具体的には、図10に示すように分割され
る。例えば、定数Aの最下位桁の数値1は、1桁上位の
数値が1であるから、(C(0),S(0))=(1,
T)に分割される。次に、(S302)で、中間和Sと
中間桁上げCとを加算して、冗長2進表現の定数αを算
出する。ここで、上記(18)式に示すように、C
(i)はS(i)よりも21 だけ重み付けされているの
で、例えば2i の桁の加算については、(19)式のよ
うになる。
Specifically, it is divided as shown in FIG. For example, for the numerical value 1 of the lowest digit of the constant A, since the numerical value of 1 digit higher is 1, (C (0), S (0)) = (1,
T). Next, in (S302), the intermediate sum S and the intermediate carry C are added to calculate the redundant binary representation constant α. Here, as shown in the above equation (18), C
Since (i) is weighted by 2 1 more than S (i), for example, the addition of the digit of 2 i is as in equation (19).

【0046】 α(i)=S(i)+C(i−1) ……(19) すなわち、各中間和S(i)は、それぞれ1桁下位から
の中間桁あげC(i−1)と加算されて定数α(i)と
なる。なお、この加算は、冗長2進加算により行われ
る。上記処理により、図2の(S202)の処理と同じ
く、非0である桁の数を減らした定数αが得られる。な
お、前記第1実施例と同様に上記処理を繰り返し行うよ
うにしてもよい。
Α (i) = S (i) + C (i−1) (19) That is, each intermediate sum S (i) is one digit lower than the intermediate digit C (i−1). It is added to form a constant α (i). Note that this addition is performed by redundant binary addition. By the above-mentioned processing, the constant α in which the number of non-zero digits is reduced is obtained as in the processing of (S202) in FIG. The above process may be repeated as in the first embodiment.

【0047】(S303)では、上記(S301)と同
様に、定数αにおける各桁ごとの値α(i)を、中間桁
上げR(i)と中間和B(i)とに分割する。但し、分
割の際の規則としては、下記(表2)が用いられ、(α
(i+1),α(i))=(T,1)であれば、(B
(i),R(i))=(1,T)、それ以外であれば、
(B(i),R(i))=(0,α(i))となる。
In (S303), the value α (i) for each digit in the constant α is divided into an intermediate carry R (i) and an intermediate sum B (i), as in (S301). However, the following (Table 2) is used as a rule for division, and (α
If (i + 1), α (i)) = (T, 1), then (B
(I), R (i)) = (1, T), otherwise,
(B (i), R (i)) = (0, α (i)).

【0048】[0048]

【表2】 [Table 2]

【0049】さらに、(S304)では、上記(S30
2)と同様に、中間桁上げRと中間和Bとを加算して、
図11に示すように、(S205)の処理と同じく、数
値の並び“T1”が“0T”に変換された冗長2進表現
の定数A1を算出する。
Further, in (S304), the above (S30
Similar to 2), add intermediate carry R and intermediate sum B,
As shown in FIG. 11, as in the process of (S205), the redundant binary representation constant A1 in which the numerical sequence “T1” is converted to “0T” is calculated.

【0050】[0050]

【発明の効果】以上説明したように、本発明によれば、
部分積を求める回路が少なく、しかも部分積和を求める
加算回路がバランスよい2分木状に接続された回路が形
成されるので、回路面積の低減や、乗算速度の高速化を
容易に図ることができるという効果を奏する。
As described above, according to the present invention,
Since there are few circuits for obtaining partial products, and a circuit in which adder circuits for obtaining partial product sums are connected in a well-balanced binary tree is formed, it is possible to easily reduce the circuit area and increase the multiplication speed. There is an effect that can be.

【図面の簡単な説明】[Brief description of drawings]

【図1】第1実施例の論理回路の自動設計装置の構成を
示すブロック図である。
FIG. 1 is a block diagram showing a configuration of an automatic logic circuit designing apparatus according to a first exemplary embodiment.

【図2】同、設計処理のメインルーチンを示すフローチ
ャートである。
FIG. 2 is a flowchart showing a main routine of the designing process.

【図3】同、定数変換処理を示すフローチャートであ
る。
FIG. 3 is a flowchart showing constant conversion processing of the same.

【図4】同、乗算モジュールの回路情報生成処理を示す
フローチャートである。
FIG. 4 is a flowchart showing a circuit information generation process of the multiplication module.

【図5】同、分割処理前の乗算モジュールの例を示す説
明図である。
FIG. 5 is an explanatory diagram showing an example of a multiplication module before division processing.

【図6】同、分割処理後の乗算モジュールの例を示す説
明図である。
FIG. 6 is an explanatory diagram showing an example of a multiplication module after the same division processing.

【図7】同、乗算モジュール置き換え処理を示すフロー
チャートである。
FIG. 7 is a flowchart showing a multiplication module replacement process of the same.

【図8】同、生成される回路の例を示すブロック図であ
る。
FIG. 8 is a block diagram showing an example of a circuit to be generated.

【図9】第2実施例における定数変換処理を示すフロー
チャートである。
FIG. 9 is a flowchart showing constant conversion processing in the second embodiment.

【図10】同、被乗数を分割する第1の処理の例を示す
説明図である。
FIG. 10 is an explanatory diagram showing an example of first processing for dividing the multiplicand.

【図11】同、被乗数を分割する第2の処理の例を示す
説明図である。
FIG. 11 is an explanatory diagram showing an example of second processing for dividing the multiplicand.

【符号の説明】[Explanation of symbols]

601 中央処理装置 602 記憶手段 603 入出力装置 1001 部分積生成回路 1002 加算回路 601 central processing unit 602 storage means 603 input / output device 1001 partial product generation circuit 1002 addition circuit

Claims (26)

【特許請求の範囲】[Claims] 【請求項1】 定数である乗数と、被乗数との積を求め
る論理回路を示す情報を生成する論理回路の自動設計方
法であって、 2進表現で表された第1の定数を、第1の定数と等しい
値で、値が非0である桁の数が第1の定数よりも少な
い、冗長2進表現で表された第2の定数に変換する定数
変換ステップと、 第2の定数における値が非0である桁に関してのみ、被
乗数との部分積を求める部分積演算回路を示す情報を生
成する部分積演算回路情報生成ステップと、 部分積演算回路によって求められる部分積の部分積和を
求める部分積和演算回路を示す情報を生成する部分積和
演算回路情報生成ステップと、 を有することを特徴とする論理回路の自動設計方法。
1. A method of automatically designing a logic circuit for generating information indicating a logic circuit for obtaining a product of a multiplier, which is a constant, and a multiplicand, wherein a first constant expressed in binary representation is converted into a first constant. A constant conversion step of converting to a second constant represented in redundant binary representation, which has a value equal to the constant of and has a number of non-zero values smaller than that of the first constant; A partial product arithmetic circuit information generating step for generating information indicating a partial product arithmetic circuit for obtaining a partial product with a multiplicand, and a partial product sum of partial products obtained by the partial product arithmetic circuit only for a digit whose value is non-zero. A partial product-sum operation circuit information generating step of generating information indicating a desired partial product-sum operation circuit, and a logic circuit automatic designing method.
【請求項2】 請求項1の論理回路の自動設計方法であ
って、 定数変換ステップは、 第1の定数における2桁以上連続して値が1である連続
桁を検出する連続桁検出ステップと、 上記連続桁の最上位桁よりも1桁上位の桁の値を1に変
換し、連続桁の最下位桁を除く全桁の値を0に変換し、
連続桁の最下位桁の値を−1に変換する連続桁変換ステ
ップと、 を有することを特徴とする論理回路の自動設計方法。
2. The method for automatically designing a logic circuit according to claim 1, wherein the constant converting step includes a continuous digit detecting step of detecting a continuous digit having a value of 1 continuously for two digits or more in the first constant. , Converts the value of the digit one digit higher than the most significant digit of the consecutive digits to 1, and converts the value of all digits except the least significant digit of consecutive digits to 0,
A continuous digit conversion step of converting the value of the least significant digit of continuous digits to -1, and a method for automatically designing a logic circuit.
【請求項3】 請求項2の論理回路の自動設計方法であ
って、 定数変換ステップは、さらに、 連続桁変換ステップによって変換された定数における、
隣り合う上位桁および下位桁の値が、それぞれ−1、お
よび1である隣接桁を検出する隣接桁検出ステップと、 上記隣接桁の上位桁の値を0に変換し、下位桁の値を−
1に変換する隣接桁変換ステップと、 を有することを特徴とする論理回路の自動設計方法。
3. The method for automatically designing a logic circuit according to claim 2, wherein the constant converting step further comprises: in the constant converted by the continuous digit converting step,
Adjacent digit detection step of detecting adjacent digits whose adjacent upper digits and lower digits are -1 and 1, respectively, and converting the value of the upper digits of the adjacent digits into 0 and changing the value of the lower digits to-.
An adjacent digit conversion step of converting into 1 is provided, and an automatic designing method of a logic circuit.
【請求項4】 請求項3の論理回路の自動設計方法であ
って、 連続桁変換ステップを、2桁以上連続して値が1である
連続桁がなくなるまで繰り返した後に、隣接桁検出ステ
ップ、および隣接桁変換ステップを実行することを特徴
とする論理回路の自動設計方法。
4. The method for automatically designing a logic circuit according to claim 3, wherein the consecutive digit conversion step is repeated until there are no consecutive digits having a value of 1 continuously for at least two digits, and then an adjacent digit detection step, And a method of automatically designing a logic circuit, which comprises performing an adjacent digit conversion step.
【請求項5】 請求項1の論理回路の自動設計方法であ
って、 定数変換ステップは、 第1の定数における各桁の値を、中間桁上げにおけるそ
の桁よりも1桁上位の桁の値と、中間和におけるその桁
の値とに分割する値分割ステップと、 中間桁上げと、中間和とを加算する加算ステップと、 を有することを特徴とする論理回路の自動設計方法。
5. The method for automatically designing a logic circuit according to claim 1, wherein in the constant conversion step, the value of each digit in the first constant is a digit one digit higher than the digit in the intermediate carry. And a value division step of dividing into a value of the digit in the intermediate sum, an addition step of adding the intermediate carry and the intermediate sum, and an automatic designing method of a logic circuit.
【請求項6】 請求項5の論理回路の自動設計方法であ
って、 値分割ステップは、第1の定数における各桁の値が1
で、かつその桁よりも1桁上位の桁の値が1である場合
に、中間桁上げにおけるその桁よりも1桁上位の桁の値
を1とし、中間和におけるその桁の値を−1とすること
を特徴とする論理回路の自動設計方法。
6. The method for automatically designing a logic circuit according to claim 5, wherein in the value dividing step, the value of each digit in the first constant is 1.
And the value of the digit one digit higher than that digit is 1, the digit of the digit one digit higher than that digit in the intermediate carry is set to 1, and the value of that digit in the intermediate sum is -1. A method for automatically designing a logic circuit, characterized by:
【請求項7】 請求項6の論理回路の自動設計方法であ
って、 定数変換ステップを、各桁の値が1で、かつその桁より
も1桁上位の桁の値が1である桁がなくなるまで繰り返
すことを特徴とする論理回路の自動設計方法。
7. The method for automatically designing a logic circuit according to claim 6, wherein the constant conversion step is carried out in such a manner that the digit of each digit is 1 and the digit of the digit one digit higher than the digit is 1. A method for automatically designing a logic circuit characterized by repeating until there is no more.
【請求項8】 請求項5の論理回路の自動設計方法であ
って、 定数変換ステップは、さらに、 加算ステップの加算結果を、さらに中間桁上げにおける
その桁よりも1桁上位の桁の値と、中間和におけるその
桁の値とに分割する値再分割ステップと、 再分割ステップによって得られた中間桁上げと、中間和
とを加算する再加算ステップと、 を有することを特徴とする論理回路の自動設計方法。
8. The method for automatically designing a logic circuit according to claim 5, wherein the constant conversion step further includes adding the result of the adding step to a value of a digit one digit higher than the digit in the intermediate carry. , A value re-dividing step of dividing the value into the value of the digit in the intermediate sum, an intermediate carry obtained by the re-dividing step, and a re-adding step of adding the intermediate sum. Automatic design method.
【請求項9】 請求項8の論理回路の自動設計方法であ
って、 値再分割ステップは、前記加算ステップの加算結果にお
ける各桁の値が1で、かつその桁よりも1桁上位の桁の
値が−1である場合に、中間桁上げにおけるその桁より
も1桁上位の桁の値を1とし、中間和におけるその桁の
値を−1とすることを特徴とする論理回路の自動設計方
法。
9. The method for automatically designing a logic circuit according to claim 8, wherein the value subdivision step has a value of 1 in each digit in the addition result of the addition step, and is a digit one digit higher than the digit. If the value of is -1, the value of the digit one digit higher than the digit in the intermediate carry is set to 1, and the value of the digit in the intermediate sum is set to -1. Design method.
【請求項10】 請求項1の論理回路の自動設計方法で
あって、さらに、 第2の定数における値が非0である桁の数である非0桁
数を求める非0桁数カウントステップと、 非0桁数が1であるか、または2以上であるかを判定す
る判定ステップと、 非0桁数が2以上である場合に、第2の定数を所定の桁
で分割する桁分割ステップと、 を有し、 部分積和演算回路情報生成ステップでは、上記分割され
た各定数と、被乗数との積を加算する部分積和演算回路
を示す情報が生成され、 部分積演算回路情報生成ステップでは、非0桁数が1で
ある場合に、非0桁の値と被乗数との積を求める部分積
演算回路を示す情報が生成されるとともに、 上記非0桁数カウントステップ、判定ステップ、桁分割
ステップ、部分積和演算回路情報生成ステップ、および
部分積演算回路情報生成ステップは、桁分割ステップで
分割された定数に対して、再帰的に実行されることを特
徴とする論理回路の自動設計方法。
10. The method for automatically designing a logic circuit according to claim 1, further comprising a non-zero digit number counting step of obtaining a non-zero digit number which is the number of digits in which the value in the second constant is non-zero. A determination step of determining whether the non-zero digit number is 1 or 2 or more, and a digit division step of dividing the second constant by a predetermined digit when the non-zero digit number is 2 or more In the partial product sum arithmetic circuit information generating step, information indicating a partial product sum arithmetic circuit that adds the product of each of the divided constants and the multiplicand is generated, and the partial product arithmetic circuit information generating step Then, when the number of non-zero digits is 1, information indicating a partial product arithmetic circuit for calculating the product of the value of non-zero digits and the multiplicand is generated, and the non-zero digit number counting step, the determination step, the digit Division step, partial product-sum operation circuit information generation step And partial product calculating circuit information generating step, the divided constants digits dividing step, the automatic design method of a logic circuit characterized in that it is performed recursively.
【請求項11】 請求項10の論理回路の自動設計方法
であって、 上記第2の定数を分割する所定の桁は、分割された各定
数における非0桁数の差の絶対値が最小となるような桁
であることを特徴とする論理回路の自動設計方法。
11. The method for automatically designing a logic circuit according to claim 10, wherein a predetermined digit dividing the second constant has a minimum absolute value of a difference of non-zero digits in each of the divided constants. A method for automatically designing a logic circuit, which is characterized in that
【請求項12】 請求項1の論理回路の自動設計方法で
あって、 部分積演算回路情報生成ステップは、第2の定数におけ
る各桁の値が、1である場合には、被乗数をそのまま出
力する回路を示す情報を生成する一方、−1である場合
には、被乗数における各桁の値を符号反転して出力する
回路を示す情報を生成することを特徴とする論理回路の
自動設計方法。
12. The method for automatically designing a logic circuit according to claim 1, wherein the partial product calculation circuit information generating step outputs the multiplicand as it is when the value of each digit in the second constant is 1. On the other hand, when the value is -1, the information indicating the circuit for outputting the signal by inverting the value of each digit in the multiplicand is generated, and the method for automatically designing the logic circuit.
【請求項13】 請求項1の論理回路の自動設計方法で
あって、 部分積演算回路情報生成ステップは、第2の定数におけ
る各桁の値が、1である場合には、被乗数をそのまま出
力する回路を示す情報を生成する一方、−1である場合
には、被乗数における各桁の値を論理反転するととも
に、最下位桁に値1を加算して出力する回路を示す情報
を生成することを特徴とする論理回路の自動設計方法。
13. The method for automatically designing a logic circuit according to claim 1, wherein the partial product arithmetic circuit information generating step outputs the multiplicand as it is when the value of each digit in the second constant is 1. On the other hand, when it is -1, the value of each digit in the multiplicand is logically inverted, and the information showing the circuit which outputs the value by adding 1 to the least significant digit is generated. A method of automatically designing a logic circuit characterized by.
【請求項14】 定数である乗数と、被乗数との積を求
める論理回路を示す情報を生成する論理回路の自動設計
装置であって、 2進表現で表された第1の定数を、第1の定数と等しい
値で、値が非0である桁の数が第1の定数よりも少な
い、冗長2進表現で表された第2の定数に変換する定数
変換手段と、 第2の定数における値が非0である桁に関してのみ、被
乗数との部分積を求める部分積演算回路を示す情報を生
成する部分積演算回路情報生成手段と、 部分積演算回路によって求められる部分積の部分積和を
求める部分積和演算回路を示す情報を生成する部分積和
演算回路情報生成手段と、 を有することを特徴とする論理回路の自動設計装置。
14. An automatic design apparatus for a logic circuit, which generates information indicating a logic circuit for obtaining a product of a multiplier, which is a constant, and a multiplicand, wherein a first constant expressed in a binary representation is converted into a first constant. A constant conversion means for converting into a second constant represented by redundant binary representation, which has a value equal to the constant of, and has a number of non-zero digits smaller than that of the first constant; A partial product arithmetic circuit information generating means for generating information indicating a partial product arithmetic circuit for obtaining a partial product with a multiplicand, and a partial product sum of partial products obtained by the partial product arithmetic circuit An apparatus for automatically designing a logic circuit, comprising: partial-sum-of-sum arithmetic circuit information generating means for generating information indicating a partial-sum-of-sum arithmetic circuit to be obtained.
【請求項15】 請求項14の論理回路の自動設計装置
であって、 定数変換手段は、 第1の定数における2桁以上連続して値が1である連続
桁を検出する連続桁検出手段と、 上記連続桁の最上位桁よりも1桁上位の桁の値を1に変
換し、連続桁の最下位桁を除く全桁の値を0に変換し、
連続桁の最下位桁の値を−1に変換する連続桁変換手段
と、 を有することを特徴とする論理回路の自動設計装置。
15. The logic circuit automatic designing device according to claim 14, wherein the constant conversion means is a continuous digit detecting means for detecting a continuous digit having a value of 1 continuously for two digits or more in the first constant. , Converts the value of the digit one digit higher than the most significant digit of the consecutive digits to 1, and converts the value of all digits except the least significant digit of consecutive digits to 0,
A continuous digit converting means for converting the value of the least significant digit of continuous digits into -1, and an automatic design device for a logic circuit, comprising:
【請求項16】 請求項15の論理回路の自動設計装置
であって、 定数変換手段は、さらに、 連続桁変換手段によって変換された定数における、隣り
合う上位桁および下位桁の値が、それぞれ−1、および
1である隣接桁を検出する隣接桁検出手段と、 上記隣接桁の上位桁の値を0に変換し、下位桁の値を−
1に変換する隣接桁変換手段と、 を有することを特徴とする論理回路の自動設計装置。
16. The apparatus for automatically designing a logic circuit according to claim 15, wherein the constant converting means further comprises: a constant converted by the continuous digit converting means; Adjacent digit detection means for detecting 1 and adjacent digits that are 1, and converting the value of the upper digit of the adjacent digit into 0 and the value of the lower digit
An automatic design device for a logic circuit, comprising: an adjacent digit converting means for converting into 1;
【請求項17】 請求項16の論理回路の自動設計装置
であって、 連続桁変換手段は、2桁以上連続して値が1である連続
桁がなくなるまで上記変換を繰り返し、その後に、隣接
桁検出手段、および隣接桁変換手段が上記検出および変
換を行うことを特徴とする論理回路の自動設計装置。
17. The automatic logic circuit designing apparatus according to claim 16, wherein the continuous digit converting means repeats the above conversion until there are no continuous digits having a value of 1 continuously for two digits or more, and thereafter, the adjacent digits are adjacent to each other. An automatic design device for a logic circuit, characterized in that a digit detection means and an adjacent digit conversion means perform the detection and conversion.
【請求項18】 請求項14の論理回路の自動設計装置
であって、 定数変換手段は、 第1の定数における各桁の値を、中間桁上げにおけるそ
の桁よりも1桁上位の桁の値と、中間和におけるその桁
の値とに分割する値分割手段と、 中間桁上げと、中間和とを加算する加算手段と、 を有することを特徴とする論理回路の自動設計装置。
18. The apparatus for automatically designing a logic circuit according to claim 14, wherein the constant conversion means sets the value of each digit in the first constant to a digit one digit higher than the digit in the intermediate carry. And an adder for adding the intermediate carry and the intermediate sum, and the value dividing means for dividing the value into the value of the digit in the intermediate sum.
【請求項19】 請求項18の論理回路の自動設計装置
であって、 値分割手段は、第1の定数における各桁の値が1で、か
つその桁よりも1桁上位の桁の値が1である場合に、中
間桁上げにおけるその桁よりも1桁上位の桁の値を1と
し、中間和におけるその桁の値を−1とすることを特徴
とする論理回路の自動設計装置。
19. The apparatus for automatically designing a logic circuit according to claim 18, wherein the value dividing means has a value of 1 for each digit in the first constant and a value of a digit one digit higher than the digit. When it is 1, the value of the digit one digit higher than the digit in the intermediate carry is set to 1, and the value of the digit in the intermediate sum is set to -1.
【請求項20】 請求項19の論理回路の自動設計装置
であって、 定数変換手段は、各桁の値が1で、かつその桁よりも1
桁上位の桁の値が1である桁がなくなるまで上記変換を
繰り返すことを特徴とする論理回路の自動設計装置。
20. The automatic logic circuit designing device according to claim 19, wherein the constant converting means has a value of 1 in each digit and 1 more than that digit.
An automatic design apparatus for a logic circuit, characterized in that the above conversion is repeated until there is no digit whose upper digit is 1.
【請求項21】 請求項18の論理回路の自動設計装置
であって、 定数変換手段は、さらに、 加算手段の加算結果を、さらに中間桁上げにおけるその
桁よりも1桁上位の桁の値と、中間和におけるその桁の
値とに分割する値再分割手段と、 再分割手段によって得られた中間桁上げと、中間和とを
加算する再加算手段と、 を有することを特徴とする論理回路の自動設計装置。
21. The logic circuit automatic design device according to claim 18, wherein the constant conversion means further sets the addition result of the addition means to a value of a digit one digit higher than the digit in the intermediate carry. , A value re-dividing means for dividing the value into the value of the digit in the intermediate sum, an intermediate carry obtained by the re-dividing means, and a re-adding means for adding the intermediate sum. Automatic design equipment.
【請求項22】 請求項21の論理回路の自動設計装置
であって、 値再分割手段は、前記加算手段の加算結果における各桁
の値が1で、かつその桁よりも1桁上位の桁の値が−1
である場合に、中間桁上げにおけるその桁よりも1桁上
位の桁の値を1とし、中間和におけるその桁の値を−1
とすることを特徴とする論理回路の自動設計装置。
22. The logic circuit automatic design device according to claim 21, wherein the value subdivision means has a value of 1 in each digit in the addition result of the addition means, and a digit one digit higher than the digit. Value of -1
, The value of the digit that is one digit higher than the digit in the intermediate carry is 1, and the value of that digit in the intermediate sum is -1.
A logic circuit automatic designing device characterized by the following.
【請求項23】 請求項14の論理回路の自動設計装置
であって、さらに、 第2の定数における値が非0である桁の数である非0桁
数を求める非0桁数カウント手段と、 非0桁数が1であるか、または2以上であるかを判定す
る判定手段と、 非0桁数が2以上である場合に、第2の定数を所定の桁
で分割する桁分割手段と、 を有し、 部分積和演算回路情報生成手段は、上記分割された各定
数と、被乗数との積を加算する部分積和演算回路を示す
情報を生成し、 部分積演算回路情報生成手段は、非0桁数が1である場
合に、非0桁の値と被乗数との積を求める部分積演算回
路を示す情報を生成するとともに、 上記非0桁数カウント手段、判定手段、桁分割手段、部
分積和演算回路情報生成手段、および部分積演算回路情
報生成手段を、桁分割手段で分割された定数に対して、
再帰的に起動する制御手段を有することを特徴とする論
理回路の自動設計装置。
23. The automatic logic circuit designing device according to claim 14, further comprising a non-zero digit number counting means for determining a non-zero digit number, which is the number of digits whose value in the second constant is non-zero. Determination means for determining whether the non-zero digit number is 1 or 2 or more, and digit dividing means for dividing the second constant by a predetermined digit when the non-zero digit number is 2 or more And the partial product-sum operation circuit information generating means generates information indicating a partial product-sum operation circuit for adding the product of each of the divided constants and the multiplicand, and the partial product operation circuit information generating means Generates information indicating a partial product arithmetic circuit that obtains the product of the non-zero digit value and the multiplicand when the non-zero digit number is 1, and the non-zero digit number counting means, the determination means, and the digit division. Means, partial product sum arithmetic circuit information generating means, and partial product arithmetic circuit information generating means The divided constants in means,
An automatic design device for a logic circuit, which has control means for starting recursively.
【請求項24】 請求項23の論理回路の自動設計装置
であって、 上記第2の定数を分割する所定の桁は、分割された各定
数における非0桁数の差の絶対値が最小となるような桁
であることを特徴とする論理回路の自動設計装置。
24. The logic circuit automatic designing apparatus according to claim 23, wherein the predetermined digit dividing the second constant has a minimum absolute value of a difference in the number of non-zero digits in each of the divided constants. An automatic design device for logic circuits, which is characterized by such a digit.
【請求項25】 請求項14の論理回路の自動設計装置
であって、 部分積演算回路情報生成手段は、第2の定数における各
桁の値が、1である場合には、被乗数をそのまま出力す
る回路を示す情報を生成する一方、−1である場合に
は、被乗数における各桁の値を符号反転して出力する回
路を示す情報を生成することを特徴とする論理回路の自
動設計装置。
25. The automatic logic circuit designing apparatus according to claim 14, wherein the partial product arithmetic circuit information generating means outputs the multiplicand as it is when the value of each digit in the second constant is 1. An automatic logic circuit designing device is characterized in that when it is -1, information indicating a circuit to be output is generated by inverting the value of each digit in the multiplicand.
【請求項26】 請求項14の論理回路の自動設計装置
であって、 部分積演算回路情報生成手段は、第2の定数における各
桁の値が、1である場合には、被乗数をそのまま出力す
る回路を示す情報を生成する一方、−1である場合に
は、被乗数における各桁の値を論理反転するとともに、
最下位桁に値1を加算して出力する回路を示す情報を生
成することを特徴とする論理回路の自動設計装置。
26. An automatic logic circuit designing apparatus according to claim 14, wherein the partial product calculation circuit information generating means outputs the multiplicand as it is when the value of each digit in the second constant is 1. On the other hand, when it is -1, while logically inverting the value of each digit in the multiplicand,
An automatic logic circuit designing device characterized by generating information indicating a circuit for adding a value 1 to the least significant digit and outputting the result.
JP5028113A 1993-02-17 1993-02-17 Method and device for automatic logic circuit design Pending JPH06243194A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5028113A JPH06243194A (en) 1993-02-17 1993-02-17 Method and device for automatic logic circuit design
US08/590,190 US5903470A (en) 1993-02-17 1996-01-23 Method and apparatus for automatically designing logic circuit, and multiplier

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5028113A JPH06243194A (en) 1993-02-17 1993-02-17 Method and device for automatic logic circuit design

Publications (1)

Publication Number Publication Date
JPH06243194A true JPH06243194A (en) 1994-09-02

Family

ID=12239763

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5028113A Pending JPH06243194A (en) 1993-02-17 1993-02-17 Method and device for automatic logic circuit design

Country Status (1)

Country Link
JP (1) JPH06243194A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0642093A2 (en) * 1993-09-02 1995-03-08 Matsushita Electric Industrial Co., Ltd. Method and apparatus for automatically designing a multiplier circuit
JP2016157233A (en) * 2015-02-24 2016-09-01 国立大学法人広島大学 Lvq neural network

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0642093A2 (en) * 1993-09-02 1995-03-08 Matsushita Electric Industrial Co., Ltd. Method and apparatus for automatically designing a multiplier circuit
EP0642093A3 (en) * 1993-09-02 1996-03-13 Matsushita Electric Ind Co Ltd Method and apparatus for automatically designing a multiplier circuit.
EP1475699A2 (en) * 1993-09-02 2004-11-10 Matsushita Electric Industrial Co., Ltd. Multiplier
JP2016157233A (en) * 2015-02-24 2016-09-01 国立大学法人広島大学 Lvq neural network

Similar Documents

Publication Publication Date Title
EP0149248B1 (en) Method and apparatus for division using interpolation approximation
US5222037A (en) Floating-point processor for performing an arithmetic operation on fixed-point part data with high speed rounding of a result
JP2972498B2 (en) Automatic logic circuit design method, system and device thereof, and multiplier
CN111936965A (en) Random rounding logic
US6223197B1 (en) Constant multiplier, method and device for automatically providing constant multiplier and storage medium storing constant multiplier automatic providing program
US5282156A (en) Leading one anticipator and floating point addition/subtraction apparatus employing same
US6847986B2 (en) Divider
JP2840169B2 (en) Automatic logic circuit design method and apparatus
JP4273071B2 (en) Divide and square root calculator
US5903470A (en) Method and apparatus for automatically designing logic circuit, and multiplier
JPH07234778A (en) Arithmetic circuit
KR100627993B1 (en) Three input split-adder
JPH06243194A (en) Method and device for automatic logic circuit design
US11494165B2 (en) Arithmetic circuit for performing product-sum arithmetic
US7051062B2 (en) Apparatus and method for adding multiple-bit binary-strings
US20100030836A1 (en) Adder, Synthesis Device Thereof, Synthesis Method, Synthesis Program, and Synthesis Program Storage Medium
KR20060078258A (en) Division arithmetic unit of variable radix
JP3112662B2 (en) Multiplier
JP2777265B2 (en) High radix square root arithmetic unit
JP2000010763A (en) Division circuit
JP2537876B2 (en) Rounding circuit
JP2608090B2 (en) High radix non-restoring divider
Andersen et al. A systolic ON-LINE non-restoring division scheme
JP2518532B2 (en) Subtractor shift type divider
JPH0637592A (en) Method for designing digital filter