JPH07191832A - 2進数2乗回路 - Google Patents

2進数2乗回路

Info

Publication number
JPH07191832A
JPH07191832A JP6298031A JP29803194A JPH07191832A JP H07191832 A JPH07191832 A JP H07191832A JP 6298031 A JP6298031 A JP 6298031A JP 29803194 A JP29803194 A JP 29803194A JP H07191832 A JPH07191832 A JP H07191832A
Authority
JP
Japan
Prior art keywords
bits
word
bit
sum
adder
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
JP6298031A
Other languages
English (en)
Inventor
Alain Pirson
ピソン アラン
Jean-Michel Bard
バール ジャン−ミシェル
Mohamed Daoudi
ダウーディ モハメッド
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.)
SGS THOMSON MICROELECTRONICS
STMicroelectronics SA
Original Assignee
SGS THOMSON MICROELECTRONICS
SGS Thomson Microelectronics SA
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 SGS THOMSON MICROELECTRONICS, SGS Thomson Microelectronics SA filed Critical SGS THOMSON MICROELECTRONICS
Publication of JPH07191832A publication Critical patent/JPH07191832A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/544Methods 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 for evaluating functions by calculation
    • G06F7/552Powers or roots, e.g. Pythagorean sums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/552Indexing scheme relating to groups G06F7/552 - G06F7/5525
    • G06F2207/5523Calculates a power, e.g. the square, of a number or a function, e.g. polynomials

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 本発明の目的は高速で小型化を図れる2進数
2乗回路を提供することである。 【構成】 x0 〜xn-1 のnビットの2進数Xを2乗す
る2乗回路は前処理回路を含み、当該回路はi及びjが
i≦jで0〜n−1で変化し、数Xのビットの全ての積
ij のグループを形成する。この前処理回路の出力
は各ワードが連続することによって形成されるようにワ
ードであり、先のワードを形成する後に積の前記グルー
プから残った積の中から選択された積の数Xのビットを
全ての積xij のグループを形成される。またこの前
処理回路はiがjから異なるときワードの重みi+j+
1に、又はi=jのとき重み2iに分類された前記連続
する各積xij を形成する。加算器は数Xの2乗とし
てワードを合計するために接続される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は以下に伝搬された[x
n-1 ,xn-1 ,・・・x0 ]のnビット2進数Xを2乗
する2乗回路に関する。
【0002】
【従来の技術】2進数Xを2乗するために、不揮発性メ
モリ(ROM)に記憶された2乗された数のテーブルが
共通にROMのアドレスライン上に提案される数Xに対
して使用される。nビットの数Xの2乗の全てを記憶す
るために、ROMのサイズは2nビットの2n ワードで
なければならない。そのようなROMのテーブルは特に
シリコン領域において大きくなる。
【0003】更に、ROMは長いアクセスタイムを有す
る。共通の技術において、ROMでの連続的なワードは
ほぼ50MHzの周波数でアクセスすることができな
い。
【0004】数Xを2乗するための他の方法は数Xに2
倍として供給される2進数乗算を用いることである。以
下説明するブース乗算として伝搬する従来の2進数乗算
の動作は各々小さな領域を使用し早いということで有効
である。
【0005】x020+x121+・・・ xi2i+・・・ xn-12n-1
よって十進数で表される2進数Xとy020+y121+・・・ y
i2i+・・・ yn-12n-1 によって十進数で表される2進数Y
を乗算することによって、積XYは積xij 2i+j の全
ての和に十進数で同じように得られ、xi =0又は1、
i =0又は1、かつi及びjは0とn−1の間で変化
する。
【0006】積xij (0又は1に等しい)は2進数
の積xyの有効な重みに相当し、L1〜Lnの数のnラ
インと右から左へ0〜2n−2の数の2n−1列を有す
るテーブルに配列される。
【0007】図1は例えば4ビットの数XとYを有する
テーブルを示す図である。重みkの列で、i+j=kで
あるような積xij の全ては有効的に配列される。そ
のテーブルは再現されるように満たされる。各積xi
j の値(0又は1)は数Xのビットxi と数Yのビット
j との間の論理ANDを定義する前処理回路によって
得られる。有効な重みのビットのワードLp に相当する
各ラインLp (p=1,2,・・・n)は各々ラインL
p のセルの内容によって構成される。所定の2進数積X
YはワードL1〜Lnの和によって得られる。
【0008】以下、交互に使用されるテーブルの“ライ
ン”と“ワード”のような項はテーブルの“セル”、
“項”や“ビット”である。
【0009】ワードL1〜Lnを合計するために、組に
よってワードを合計するための第1の直列の加算器、組
によって第1の直列の加算器の出力を合計するための第
2の直列の加算器を共通に使用する。図1の一例とし
て、第1の加算器はワードL1とL2を合計し、第2の
加算器はワードL3とL4を合計し、かつ第3の加算器
は第1と第2の加算器によって供給される結果を合計す
る。通常、n−1個の加算器はnのワードLを合計する
ために必要である。
【0010】ブース乗算が数Xを2乗するために使用さ
れるとき、図1の1つのテーブルはy'sをx'sで置き換
えることによって得られる。
【0011】図2Aは従来の加算器の和のセルを示す図
である。合計するための2つのワードの重みi,Ai
とBi の2つのビットは排他的なORゲート10に供給
され、出力はビットAi とBi の和Si を供給する。更
に、ゲート10には合計するための2つのワードの重み
i−1のビットを合計する先のセルによって生じる桁上
げビットCi −1が供給される。セルは3つのANDゲ
ート14の出力が供給されるORゲート12を介して次
のセルへ桁上げビットCi を供給する。第1のゲート1
4にはビットAi とBi が供給され、第2のゲートには
ビットAi とCi −1が供給され、第3のゲートにはビ
ットBi とCi −1が供給される。
【0012】pビットの加算器はp−1セルを含み、図
2Aの1つのような全加算器として伝搬し、かつ重み0
においてここで説明するいわゆる半加算器を含む。
【0013】ゲート12及び14は特有なスイッチング
タイムを有する。そして桁上げビットCi は入力Ai
i 及びCi −1が不変である後に短く不変である。同
じことが桁上げビットCi −1が先のセルの入力が不変
である後に短く不変値を有することが事実である。桁上
げビットは高い重みのセルへ重み0のセルから伝搬する
ことが言える。pビット加算器の出力の安定はpに比例
して伝搬タイムに等しい。
【0014】更に、第1の加算器の出力は第2の加算器
に供給され、第1の加算器の出力が不変であるとき第2
の加算器の出力は安定できる。縦続接続の加算器のセッ
トの最後の加算器の安定時間は加算器の数に応じて増加
する。
【0015】また、縦続接続の加算器を使用してブース
乗算のような回路の速度を増加するために、加算器のサ
イズや縦続接続の加算器の数を減らすことに有効であ
る。
【0016】図1のテーブルは使用される加算器を簡略
化するためにかつ安定時間を減らすために実現されるい
くつかの特性を有する。実に、テーブルのセルの多数は
空(0)である。ワードL3とL4を合計するために、
例えば5ビット加算器は通常必要とされる。しかし、ワ
ードL3の重み0と1のビットは0であり、ワードL4
の重み0〜2と4のビットは0である。ワードL3とL
4を合計する加算器で、出力S0 とS1 は強制的に0に
し、出力S2 は直接にワードL3の重み2(x20
のビットに接続される。重み3のビットを合計するため
に半加算器が使用され、重み4のビットを合計するため
にビットの1つが0であるので半加算器に類似するセル
が使用される。そして、5ビットの加算器を使用する代
わりに、2つの半加算器のみをもつ加算器が使用され
る。
【0017】
【発明が解決しようとする課題】図2Bは半加算器を示
す図である。合計される数のビットの1つが0になると
き、又はセルが第1の1(非桁上げビットが供給され
る)であるとき、セルの構成は簡略化される。ビットの
1つ、例えばBi が0であるときセルは0でないビット
i と先のセルによって供給される桁上げビットCi
1が供給される排他的ORゲート16を含む。ビットA
i とCi −1が供給されるANDゲート18は次のセル
に桁上げビットCi を供給する。加算器の第1のセルは
i=0を除いて同じ構成であり、ビットB0 は桁上げビ
ットCi −1の代わりにゲート16に供給される。図2
Bの構成は図2Aの構成のものより簡単でかつ早い。そ
して、可能とするたびにこのような構成を使用すること
は得策である。
【0018】本発明の目的はブース方法を基本とする特
に高速の2乗回路を提供することである。
【0019】本発明の更に他の目的は特に小さい領域を
占める2乗回路を提供することである。
【0020】
【課題を解決するための手段及び作用】これらの目的を
達成するために、本発明はnビットの2進数X,x0
n-1を2乗するための2乗回路を提供する。2乗回路
は数Xのビットの積xij (iとjは0〜n−1で変
化し、i≧jである)のセットを形成する前処理回路を
含む。各ワードが連続することによって形成されるよう
に前処理回路の出力はワードを供給し、先のワードの形
態後の積のセットから残る積の中で選択される積で可能
な限り十分である。もしiがjから異なり、又は重み2
iでもしi=jのとき、この連続の各積xij はワー
ドの重みi+j+1に分類される。加算器は数Xの2乗
としてワードを合計するために接続される。
【0021】本発明の実施例として、前処理回路は同じ
重みを有する2つのワードの2つのビットに相当する通
常の積の和を形成するために手段を含む。この和は2つ
のビットの1に供給され、他のビットは0に強制的にな
り、和の桁上げビットがワードの1つの通常0ビットに
伝搬される。
【0022】本発明の実施例に関して、前処理回路は和
によって変形されるビットの値と桁上げビットの伝搬を
直接に数Xのビットから形成される。
【0023】本発明の実施例に関して、回路はn+1ビ
ットのx0 −xn の示された数X'を2乗する。この目
的に、前処理回路はワードを形成するためにセットに加
算し、次の項:1はワードの重みn+1に分類し、xn
はワードの重み2nに分類し、iは0〜n−1に変わ
り、積xin の補数は各々ワードの重みi+n+1に
分類される。
【0024】
【実施例】以下、本発明の実施例を図面に基づいて説明
する。図3Aはグループ化された積の全ての組合せであ
る数Xを2乗したときの図1のテーブルを示す図であ
る。各列において、積xij ,xji の各組は積2
ij によって置き換えられる。積xij (0×0
又は1×1)はテーブルで表されるようにxi に等し
い。積xij の2による乗算は左に1つの列のシフト
する積になる。
【0025】図3Bはこれらの左シフトの結果を示す図
である。もしnが偶数であるときn/2+1ライン(本
実施例では3)のテーブルが得られ、nが奇数であると
き(n+1)/2ラインのテーブルが得られる。i<j
(又はj<i)であるので各積xij は重みi+j+
1の列に配列され、各項xk (積xkk に一致する)
は重み2kの列に配列される。
【0026】テーブルのラインに一致するワードLの和
は所定の2乗数X2 を構成する。直接ブース(Booth's
)方法を適用することによって得られる、もしnが偶
数であるならばn/2+1ワードを得、又はnが奇数で
あるならば(n+1)/2ワードを得るために、本発明
の最初のステップは合計されたワードを記録する。更
に、加算するワードは0(無又は0セルに相当する)で
ビットの大きい数を持つことが認識される。そして、加
算器の数が減らされるという事実から離れて全加算器を
含む加算器が使用可能である。よって、各加算器はより
早く、かつより小型である。
【0027】発明の見地はテーブルの付加セル、特にラ
インの最も外側のセルかつ全ラインをなくすることであ
る。
【0028】図3Cは発明のこの見地に関する図3Bの
テーブルの最適なステップを示す図である。前述のテー
ブルを示す図3Bにおいて、点線で囲まれた部分はこの
最適化を実行するするために変形された構成要素を示
す。図3Cのテーブルを得るために、ラインL2、列4
の項x12 はこの項の和及びラインL2、列4での項
1 *2 を供給するラインL3、列4の項x2 に置き換
えられる。表示「* 」は補数された数を示す。もちろ
ん、項x12 とx2 の和は桁上げビットx12を供
給する。桁上げビットはラインL2、列5に空セルに挿
入される。
【0029】本発明の他の見地に関して、和(例えば列
4でのx1 *2 )及び桁上げビット(例えば列5でのx
12 )は加算器によって得られないし、論理ゲートに
よって数Xのビット(x1 とx2 )から直接に、対応す
るセル(x12 とx2 )の値を合計する。これは直列
に接続された論理ゲートの数を減少し、回路の反応速度
を増加する。
【0030】図3Cのステップはテーブルのラインを省
くことを実現できるものである。加算器の使用は図3B
のテーブルから得られる回路に関して2乗される。
【0031】図3Dは図3Cのテーブルの最適なステッ
プを示す図である。図3Cのテーブルでの変形された構
成要素は点線で囲まれている。ラインL1、列2での項
01 はそれ自身の和及びラインL2、列2での項x1
に置き換えられる。項x0 *1 はラインL1、列2で
得られ、桁上げビットx01 は空セルを満たすライン
L2、列3に挿入される。前述のように、合計と桁上げ
ビットは直接に数Xのビットx0 とx1 から得られる。
【0032】この最適化はラインL2(ワードL2の)
右に表す付加の空セルを動かす。そして、ワードL1及
びL2を合計するために、4ビットの加算器は図3Cの
場合での5ビットの加算器の代わりに必要される。ワー
ドL1及びL2の重み3〜6のビットは加算器に供給さ
れ、ワードL1の重み0〜2のビットは直接に数X2
重み0〜2のビットを構成する。よって、この最適化は
サイズを小さくし、回路の反応時間が短くすることが実
現できる。
【0033】図4Aは図3Bのテーブルからわかる2乗
回路を示す図である。この回路は2乗される数Xのビッ
トを受信する前処理回路30を含む。これらの前処理回
路は図3Bのテーブルの0でない項(xij ,xk
のすべてを供給し、それらは直接にANDゲートによっ
て数Xのビットxから得られる。5ビットの加算器32
はワードL1及びL2の重み2〜6のビットを合計す
る。ワードL1の重み0〜1のビットは直接に2乗数X
2 の重み0〜1のビットとして供給される。4ビット加
算器34は加算器32の4つの最大重要な出力ビットの
ワードL3を合計し、少なくとも重要の2つの出力は直
接に2乗数X2 の重み2〜3のビットとして供給され
る。ワードL3の1つのビットを除くすべてのビットが
0であるので加算器34は半加算器のみを含む。
【0034】図4Bは図3Dの最適化のステップによっ
て提供される本発明に係る2乗回路の実施例を示す図で
ある。また2乗回路は数Xのビットが入力されて図3D
のテーブルの0でない項のすべてを供給する前処理回路
30を含む。これらの項は当業者であればテーブル(例
えば項x0 *1 はビットx1 とビットx0 の補数を受信
するANDゲートによって得られる)からわかる論理ゲ
ートの所望の組合せを介して直接に数Xのビットxから
得られる。ワードL1の重み0〜2のビットは数X2
重み0〜2のビットとして供給され、ワードL1及びL
2の重み3〜6のビットは数X2 の重み3〜7の5つの
残ったビットを供給するための加算器36によって加算
される。この実施例をもって、1つの加算器は図4Aの
実施例に比べて要求される。
【0035】前述の説明において、正の数Xが合計され
る。しかし、本発明はn+1ビット[xn ,xn-1 ,・
・・x0 ]の2進数X’を表すために提案され、ビット
nは表すビットである。表される数X’は積xi2i
(0〜n−1からレンジ幅i)と項−xn 2n の各和によ
って十進数で表される。この数は2乗されるとき十進数
で表される次の項の和が得られる。 −X2 、負の2進数X=[xn-1 ,xn-2 ,・・・x
0 ]の十進数で表される2乗、 −0〜n−1のレンジ幅iで項−xin2i+n+1 の和、
及び −項xn22n
【0036】もし“2's 補数”の従来の規定が示された
2進数を表すために提供されるならば2進数の補数はプ
ラス1の補数に等しいし、2乗数X2 は十進数で項X
2 、xn22n、2n+1の和、積(xin*2i+n+1 、0〜
n−1のレンジ幅iで表される。
【0037】図5Aは数X’は5ビット(4ビット+指
示ビット)を例としてこれらの項をグループ化するテー
ブルを示す図である。数X2 の項は列0〜6で図3Bの
テーブルで同じ方法で配列される。しかし、2つの付加
ライン(L4とL5)で、iが0〜n−1の間で変化す
るとき項(xin* は対応する列i+n+1で配列
される。項1は列n+1(5)であり、項xn (x4
は列2n(8)である。前述のように、所定の2乗X'2
はテーブルのラインを合計することによって得られる。
図5Aの配列は最適ではないがブース方法から直接得ら
れる配列より効果的である。
【0038】図5Bは図5Aのテーブルの最適なステッ
プを示す図である。数X2 に一致する項は図3Dに関す
る前述の説明によって最適化される。列8の項x4 は列
8の最初のラインの中に挿入される。それで、n/2+
2ラインは(もしnが偶数であるとき)付加される少な
くともn+1ラインをブース方法を用いて付加される。
【0039】図5Cは本発明に係る付加される最適化ス
テップを示すテーブルである。図5Bのテーブルで、こ
の最適化によって影響を及ぼす項は点線で囲まれてい
る。ラインL2、列5の項x12 は列5、ラインL2
〜L4(x12 ,(x04* ,1)の項の和に置
き換えられる。この和は図5CのテーブルにおいてS1
で表され、
【0040】S1=x04 XORx12 XORは排他的論理OR素子を表す。
【0041】この和の桁上げビットは列6の中に挿入さ
れる。この桁上げビットはラインL1,列6の項x2
3 に置き換えた和S2を形成するためにラインL1とL
2,列6の項(x23 ,x3 )に加算される。和S2
は次のように表される。
【0042】 S2=x2 *3 XORx12 OR(x04*
【0043】和S2の桁上げビットC2はラインL1,
列7の空セルに挿入される。桁上げビットC2は次のよ
うに表される。
【0044】C2=x3 (x2 OR(x04*
【0045】列5の項の和の桁上げビットは高い重みの
列(7)の空セルに伝搬される。そして、ラインL2の
重み6〜8のセルはなくされ、各々ラインL3の残った
項(x14* ,(x24* ,(x34*
受信する。それで、テーブルは2つのラインによって減
少される。
【0046】図6は図5Cの最適化によって提供される
発明に係る2乗回路の実施例を示す図である。この回路
は図4Bの1つと異なり、前処理回路30は図5Cのテ
ーブルの値を提供し、加算器36は図5Cの列3〜7の
項を合計する5ビット加算器である。列8の項はそれら
が2乗数が正になるのでいつも0である示すビットに相
当するので無視される。更に、5ビットの加算器36は
5ビットプラスの1つの桁上げビット上に和を通常供給
する。図6において、2乗数X'2の第9番目ビットを構
成する加算器36の桁上げビットは無視される。
【0047】nビット及び示すビットを有する2進数X
' は−2n と2n −1の間の十進数の値を有することが
できる。多くの場合で、例えばもしnビットの2つの正
の2進数の間の相違に相当するならば数X' は−(2n
−1)と2n −1の間だけの十進数の値を有し、この場
合X' の2乗は2nビットで表される。反対に、もし数
X' が値−2n を有することができるならば、この数の
2乗は2n+1ビットで表され、重み2nの列が考慮さ
れる。
【0048】図7A及び7Bはn=8ビットの正の数を
有して図3A及び3Dの最適なステップに相当するテー
ブルを示す図である。
【0049】図7Aにおいて、項は図3Bに示されたよ
うな一般的な規定を有する区分けされる。テーブルはブ
ース方法を使用することによって得られる8の代わりに
5ラインを含む。
【0050】図7Bにおいて、ラインの数は図3Cに係
る方法に関して4に減らされる。また、最も右の項は図
3Dに係って説明される方法でライン2,3の列4に除
かれる。ラインL1、列2の項x01 はそれ自身の和
及びラインL2、列2の項X1 に置き換えられる。ライ
ンL1、列3の項x02 はそれ自身の和及び列2で実
行される和の桁上げビットに置き換えられる。列3にお
いて、+を丸で囲んだものは排他的OR演算に相当す
る。ラインL1、列4の項x03 はラインL1〜L3
の列4の項の和及び列3で実行される和の桁上げビット
に置き換えられる。この和S0 は次のように表される。
【0051】 S0 =x03 XORx2 (x0 ORx1 *
【0052】和S0 は4つの項の和に相当するので2重
の桁上げビットは生じる。1つの桁上げビットx12
はラインL3,列5に挿入され、他の桁上げビットx0
23 は2つの各々空のセルにラインL4、列5に挿
入される。
【0053】もちろん、前述されているように、テーブ
ルのセルの中に挿入された和は加算器によって、直接に
論理回路によって数Xのビットから得られない。そし
て、例えば、ラインL4、列5の項x023 は各々
ビットx0 ,x2 及びx3 が供給される3入力ANDゲ
ートによって得られる。
【0054】図7Bのテーブルにおいて、ラインL4、
列10の項は先のラインの項に加算することによって除
かれ、列11に桁上げビットを挿入されることによって
除かれる。また、ラインL3、列12の項は先のライン
の項に加算することによって除かれ、ラインL2、列1
3の空セルに桁上げビットを挿入されることによって除
かれる。ラインの両端でセルを除くことによって、これ
らのラインに付加される加算器の構成は簡単にする。特
に、ラインの最も右の端でセルを除くことによって、加
算器のビットの数が減る。特なる効果的な最適化はテー
ブルのラインの右と左の端で可能な多くの項と同じよう
に除くことによって得られる。当業者は多くの方法でこ
れらの項を除くことができる。テーブルで示される項の
除去は一例のみで示される。実際は各列の項はシャッフ
ルされ、かつ各シャッフルはテーブルのセルを除くため
に項の別々の和を供給する。
【0055】図8は図7Bのテーブルの最適化によって
得られる発明に係る2乗回路の実施例の特別な効果を示
す図である。図7Bのテーブルの最初のラインの重み0
〜4の項は直接に供給するための2乗数の重み0〜4の
ビットとして供給される。
【0056】本発明に係る効果において、桁上げ保持加
算器は合計するために使用される。桁上げ保持加算器は
3つの入力と2つの出力をもつ加算器である。3つの入
力には加えられる3つの2進数が供給される。図2Aに
示すような従来の加算器のセルに同じである加算器の構
成要素のセルは加えられる3つの数の重みiのビットが
供給されるセルの入力Ci −1及び次のセルに接続され
ていないORゲート12の出力Ci を除く。排他的OR
ゲート10の出力Si は桁上げ保持加算器の第1の出力
Sを構成し、ORゲート12の出力Ci は桁上げ保持加
算器の第2の出力Cを構成する。更に、出力Cの重みは
1によって増加される。そのような加算器の効果は桁上
げビットの項の桁上げによって生じる所望の遅延がな
い。加算器の反応時間が排他的ORゲート10のスイッ
チング時間にほぼ等しい。
【0057】桁上げ保持加算器80の1つにはワードL
1〜L3の重み5〜14のビットが供給される。ワード
L3の重み12〜14の3つのビットが0であるので、
加算器80の対応する構成セルはただ単に2つのビット
を合計し、図2Bの1つのように簡単な構成を有しなけ
ればならない。第2の桁上げ保持加算器82には加算器
80の2つの出力及びワードL4の重み5〜9のビット
が供給される。ワードL4の重み10〜14のビットが
0であるので加算器82の対応するセルは図2Bの1つ
のように簡単な構成を有する。
【0058】次に、通常の加算器84(桁上げ保持機能
がない)は加算器82の出力を加算し、2乗数X2 の重
み5〜15のビットを供給する。
【0059】加算器80は10ビット加算器である。そ
の出力Sは10ビットを供給され、その出力Cは11ビ
ットに供給される。更に、加算器82は11ビットの加
算器であり、通常11ビット上に出力S及び13ビット
上に出力Cを供給する。これらの13ビットの11ビッ
ト出力のみが0で残ったビットに使用される。実際に、
図7Bの一例として、加算器82の出力Cの最後の3つ
のビットはいつも0である。これは0ビットとして加算
器84で半加算器を使用することによって加算器82,
84を簡略化することが実現でき、加算器82の対応す
るセルのゲート12,14を除くことが実現できる。
【0060】図9Aはx0 〜x7 のn=8のビットを有
する数X' と示すビットx8 における、図5Bのテーブ
ルに相当するテーブルを示す図である。図5A及び図5
Bに関する前述した説明のようにこのテーブルは一般的
な規則を用いて満たされる。
【0061】図9Bは図5Cに係る説明に従って図9A
のテーブルの最適化を示す図である。詳細に説明されな
い和によって、項は図9Aのライン5と6を持ち上げる
ためにラインで除去される。同じ列の項の和によって供
給され、桁上げビットを伝える項の新しい値はセルに書
込まれる。ラインL4、列9での和S1 はx34 XO
Rx08 によって表される。ラインL3、列10でこ
の和の桁上げビットC1 はx34 OR(x08*
によって表される。ラインL2、列10での和S2 はx
4 *5 XORx63 によって表され、ラインL3、列
11でのこの和の桁上げビットC2 はx4 *563
によって表される。
【0062】図10は図9Bの最適化によって得られる
発明に係る2乗回路の実施例を示す図である。この回路
は事実を除いて図8の回路に類似しており、加算器80
はワードL3の重み12の付加ビットをもって供給さ
れ、加算器82はワードL4の重み10〜15の6つの
付加ビットをもって供給される。もちろん、2乗回路の
前処理回路30は図8のそれらと異なる。図9Bのテー
ブルに示されて供給しなければならない論理的な機能は
別々の機能である。
【0063】本発明はテーブルを簡略化するための特別
な例を使用することによって説明する。もちろん、多く
の他の可能な例は列の項を適当にシャッフルすることや
特有な項を除くことによって当業者であれば見つけられ
る。
【0064】本発明の一実施例を示したが、変形や改
良、そして改善は当業者であれば容易にできる。そのよ
うな変形、改良や改善はこの提案の一部に含まれ、発明
の見地や技術的思想の範囲内である。更に、前述の説明
は一例にすぎず、これに限定されるものではない。本発
明は前述の特許請求の範囲の記載及びそれに同等の記載
に定義される。
【図面の簡単な説明】
【図1】2つの2進数を乗じるための従来の方法を示す
図である。
【図2A】加算器の構成セルを示す図である。
【図2B】加算器の構成セルを示す図である。
【図3A】本発明に係る正の数の2乗回路の最適なステ
ップを示す図である。
【図3B】本発明に係る正の数の2乗回路の最適なステ
ップを示す図である。
【図3C】本発明に係る正の数の2乗回路の最適なステ
ップを示す図である。
【図3D】本発明に係る正の数の2乗回路の最適なステ
ップを示す図である。
【図4A】図3Bのテーブルから実現される本発明に係
る2乗回路の実施例を示す図である。
【図4B】図3Dのテーブルから実現される本発明に係
る2乗回路の実施例を示す図である。
【図5A】本発明に係る示された数の2乗回路の最適な
ステップを示す図である。
【図5B】本発明に係る示された数の2乗回路の最適な
ステップを示す図である。
【図5C】本発明に係る示された数の2乗回路の最適な
ステップを示す図である。
【図6】図5Cのテーブルから実現される2乗回路の一
実施例を示す図である。
【図7A】本発明に係る正の数の2乗回路の最適化を最
初ステップの他の実施例を示す図である。
【図7B】本発明に係る正の数の2乗回路の最適化を最
終ステップの他の実施例を示す図である。
【図8】図7Bのテーブルから実現される2乗回路の有
効な実施例を示す図である。
【図9A】本発明に係る示された数の2乗回路の最適化
を最初ステップの他の実施例を示す図である。
【図9B】本発明に係る示された数の2乗回路の最適化
を最終ステップの他の実施例を示す図である。
【図10】図9Bのテーブルから実現される2乗回路の
有効な実施例を示す図である。
【符号の説明】
30 前処理回路 80,82 桁上げ保持加算器
フロントページの続き (72)発明者 ジャン−ミシェル バール フランス国, 38920 クロレ, アモー ドゥ ルアニェラン, リュ ヴィクト ール ユゴー, 259番地 (72)発明者 モハメッド ダウーディ フランス国, 38320 イーベン, リュ ジャン−ジャック ルソー, 10番地

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 x0 〜xn-1 のnビットの2進数Xを2
    乗する2乗回路において、 i及びjはi≦jで0〜n−1で変化し、各ワードが連
    続することによって形成されるようにワード(L0,L
    1・・・)を出力し、先のワードを形成する後に積の前
    記グループから残った積の中から選択された積の数Xの
    ビットを全ての積xij のグループを形成し、iがj
    から異なるときワードの重みi+j+1に、又はi=j
    のとき重み2iに分類された前記連続する各積xij
    を形成する前処理回路(30)と、 数Xの2乗としてワードの和を形成するために接続され
    る加算器とを含み、 前記前処理回路(30)は同じ重みを有する少なくとも
    2つのワードのビットに相当する通常の積の和を形成す
    るために手段を含み、前記和は前記同じ重みのビットの
    1つとして供給され、前記同じ重みの他のビットは強制
    的に0になり、和の桁上げビットはワード長を減らすた
    めにワードの1つの通常0ビットに伝搬されることを特
    徴とする2進数2乗回路。
  2. 【請求項2】 前記前処理回路は直接に数Xのビットか
    ら形成され、ビットの値は前記和及び前記桁上げビット
    の伝搬によって変形される請求項1に記載の2進数2乗
    回路。
  3. 【請求項3】 加算器は縦続接続された桁上げ保持加算
    器(80,82)を含む請求項2に記載の2進数2乗回
    路。
  4. 【請求項4】 n+1ビットのx0 〜xn の示された数
    X' を2乗する2乗回路において、 前記前処理回路(30)は、ワードの重み2n に配列さ
    れる1と、ワードの重み2nに配列し、iは0〜n−1
    に変わり、積xin の補数は各々ワードの重みi+n
    +1に分類されるxn からなる項を有する前記グループ
    を完成するための手段を含む請求項1〜3のいずれか1
    項に記載の2進数2乗回路。
  5. 【請求項5】 加算されるワードは、15個の有効ビッ
    トx0 ,0,x0 * 1 ,x0 (x1 XORx2 ),x0
    3 XORx2 (x0 ORx1 *),x04,x0
    5 ,x06 ,x07 ,x17 ,x27 ,x3
    7 ,x47 ,x57 ,x67 の第1のワード(L
    1)と、 14個の有効ビット0,0,0,0,0,x13 ,x
    14 ,x15 ,x16 ,x26 ,x4 *5 XO
    Rx63 ,x4 (x5 XORx6 ),x5 *6 ,x5
    6 の第2のワード(L2)と、 13個の有効ビット0,0,0,0,0,x12 ,x
    23 ,x24 ,x25 ,x35 ,x34 OR
    (x08* ,x4 *563 ,x456 の第
    3のワード(L3)と、 16個の有効ビット0,0,0,0,0,x02
    3 ,x3 ,0,x3 *4,x34 XORx08
    (x18* ,(x28* ,(x38*
    (x48* ,(x58* ,(x68* の第
    4のワード(L4)とを含み、4より高い特有の重みの
    ビットはワードの間でシャッフルされやすく、n=8の
    示された数を2乗する請求項4に記載の2進数2乗回
    路。
JP6298031A 1993-11-08 1994-11-08 2進数2乗回路 Pending JPH07191832A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9313589A FR2712410B1 (fr) 1993-11-08 1993-11-08 Circuit élévateur au carré de nombres binaires.
FR9313589 1993-11-08

Publications (1)

Publication Number Publication Date
JPH07191832A true JPH07191832A (ja) 1995-07-28

Family

ID=9452851

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6298031A Pending JPH07191832A (ja) 1993-11-08 1994-11-08 2進数2乗回路

Country Status (4)

Country Link
US (1) US5629885A (ja)
EP (1) EP0652507A1 (ja)
JP (1) JPH07191832A (ja)
FR (1) FR2712410B1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19709106A1 (de) * 1997-03-06 1998-09-10 Philips Patentverwaltung Rechenschaltung zum Berechnen eines Quadrats
US6018758A (en) * 1997-07-30 2000-01-25 Lucent Technologies Inc. Squarer with diagonal row merged into folded partial product array
US6260056B1 (en) * 1998-08-21 2001-07-10 Ati International Srl Circuit and method for fast squaring by breaking the square into a plurality of terms
US6460065B1 (en) * 1998-09-22 2002-10-01 Ati International Srl Circuit and method for partial product bit shifting
US6393453B1 (en) * 1998-09-22 2002-05-21 Ati International Srl Circuit and method for fast squaring
EP1006437A1 (en) * 1998-11-30 2000-06-07 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Digital value processor for estimating the square of a digital value
US6301598B1 (en) * 1998-12-09 2001-10-09 Lsi Logic Corporation Method and apparatus for estimating a square of a number
US6298368B1 (en) * 1999-04-23 2001-10-02 Agilent Technologies, Inc. Method and apparatus for efficient calculation of an approximate square of a fixed-precision number
ITTO20010818A1 (it) * 2001-08-17 2003-02-17 Telecom Italia Lab Spa Circuito per elevare a potenza.
US7003544B1 (en) * 2001-10-16 2006-02-21 Altera Corporation Method and apparatus for generating a squared value for a signed binary number
US11016732B1 (en) 2018-04-17 2021-05-25 Ali Tasdighi Far Approximate nonlinear digital data conversion for small size multiply-accumulate in artificial intelligence
US10884705B1 (en) 2018-04-17 2021-01-05 Ali Tasdighi Far Approximate mixed-mode square-accumulate for small area machine learning
US11144316B1 (en) 2018-04-17 2021-10-12 Ali Tasdighi Far Current-mode mixed-signal SRAM based compute-in-memory for low power machine learning
US11416218B1 (en) 2020-07-10 2022-08-16 Ali Tasdighi Far Digital approximate squarer for machine learning
US11467805B1 (en) 2020-07-10 2022-10-11 Ali Tasdighi Far Digital approximate multipliers for machine learning and artificial intelligence applications
US11615256B1 (en) 2019-12-30 2023-03-28 Ali Tasdighi Far Hybrid accumulation method in multiply-accumulate for machine learning
US11610104B1 (en) 2019-12-30 2023-03-21 Ali Tasdighi Far Asynchronous analog accelerator for fully connected artificial neural networks

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3610906A (en) * 1968-11-07 1971-10-05 Burroughs Corp Binary multiplication utilizing squaring techniques

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2591003B1 (fr) * 1985-11-29 1988-01-15 Trt Telecom Radio Electr Dispositif de sommation de carres

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3610906A (en) * 1968-11-07 1971-10-05 Burroughs Corp Binary multiplication utilizing squaring techniques

Also Published As

Publication number Publication date
EP0652507A1 (fr) 1995-05-10
US5629885A (en) 1997-05-13
FR2712410B1 (fr) 1996-02-09
FR2712410A1 (fr) 1995-05-19

Similar Documents

Publication Publication Date Title
JPH07191832A (ja) 2進数2乗回路
US5787029A (en) Ultra low power multiplier
Dadda Some schemes for parallel multipliers
US6029187A (en) Fast regular multiplier architecture
US5117385A (en) Table lookup multiplier with digital filter
US6938061B1 (en) Parallel counter and a multiplication logic circuit
US5880985A (en) Efficient combined array for 2n bit n bit multiplications
US6233597B1 (en) Computing apparatus for double-precision multiplication
US5504915A (en) Modified Wallace-Tree adder for high-speed binary multiplier, structure and method
EP0260515B1 (en) Digital multiplier architecture with triple array summation of partial products
WO1993022721A1 (en) Compact multiplier
US7308471B2 (en) Method and device for performing operations involving multiplication of selectively partitioned binary inputs using booth encoding
US5367477A (en) Method and apparatus for performing parallel zero detection in a data processing system
US3795880A (en) Partial product array multiplier
US6018758A (en) Squarer with diagonal row merged into folded partial product array
US5161119A (en) Weighted-delay column adder and method of organizing same
US5343417A (en) Fast multiplier
KR100302093B1 (ko) 교차형디지탈유한임펄스응답필터에서이진입력신호를탭계수와승산시키는방법및회로배열과교차형디지탈필터의설계방법
EP0416869B1 (en) Digital adder/accumulator
US5038315A (en) Multiplier circuit
US6065033A (en) Wallace-tree multipliers using half and full adders
US5299145A (en) Adder for reducing carry processing
US4545028A (en) Partial product accumulation in high performance multipliers
KR100308726B1 (ko) 고속 산술 장치에서 올림수 예견가산기 스테이지의 수를 감소시키는 장치 및 방법
US4348736A (en) Programmable logic array adder

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19980512

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20000704