JPH03156530A - 絶対値演算回路 - Google Patents

絶対値演算回路

Info

Publication number
JPH03156530A
JPH03156530A JP1296783A JP29678389A JPH03156530A JP H03156530 A JPH03156530 A JP H03156530A JP 1296783 A JP1296783 A JP 1296783A JP 29678389 A JP29678389 A JP 29678389A JP H03156530 A JPH03156530 A JP H03156530A
Authority
JP
Japan
Prior art keywords
output
bit
absolute value
input
elements
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
JP1296783A
Other languages
English (en)
Inventor
Tadayoshi Nakayama
忠義 中山
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP1296783A priority Critical patent/JPH03156530A/ja
Publication of JPH03156530A publication Critical patent/JPH03156530A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は2の補数コードをサイン・絶対値コードに変換
するために必要な絶対値演算回路に関するものである。
〔従来の技術〕
2の補数コードをサイン・絶対値コードに変換するには
、第3図に示す構成の回路で変換を行う。
同図において、端子301から入力されたサインビット
は、そのままの値で端子304ヘサインビツトとして出
力されると共に、絶対値演算を行うブロック303にも
与えられる。一方、2の補数コードからサインビットを
除いた情報nビットが端子302より入力され、前記絶
対値演算ブロック303に与えられる。絶対値演算ブロ
ック303は入力されたサインビット及びnビットの情
報をもとに絶対値を演算し、それを端子305へnビッ
トの情報として出力する。本発明は、この絶対値演算ブ
ロックの回路構成に関するものである。従来、絶対値演
算回路は第4図のように構成されていた。同図において
401はサインビットを入力する端子、402はサイン
ビットを除いた2の補数コード(nビット)を入力する
端子、403はnビットのデータを反転する反転回路、
404はnビットのデータに1を加算する加算回路、4
05はセレクタ、406は演算された絶対値(nビット
)を出力する端子である。
以下、実例を挙げて第4図の回路の動作説明を行う、説
明のためnw4とする。まず第1の例として、0110
0(+12)という2の補数コードについて考える。
この01100という5ビツトの情報において、先頭の
ビット0はサインビットであり、端子401に入力され
、セレクタ405の切替端子に与えれる。一方、この5
ビツトの情報01100からサインビットを除いた残り
の4ビツトの情報1100は端子402から入力され、
反転回路403へ与えられると共にセレクタ405にも
与えられる。該セレクタ405は入力端子402からの
信号と加算器404からの信号を選択するものであるが
、現在、切替端子にはサインビットとしてOが入力され
ており、そのため入力端子402からの信号が選択され
るようになっている。よって、前記セレクタ405の出
力信号は1100であり、この値が絶対値として端子4
06に出力される。この1100を絶対値として見たと
きの値は12(10進)であり、入力信号の絶対値と等
しいことが確認出来る。
次に第2の例として10100(−12)という2の補
数コードについて考える。この5ビツトの情報ではサイ
ンビットが1であり、この情報が負であることを示して
いる。前述のようにサインビットは端子401から入力
され、セレクタ405の切替端子に与えられる。該セレ
クタ405は切替端子の信号が1なので加算器404の
信号を選択するように働く、一方、5ビツトの情報10
100からサインビットを除いた4ビツトの情報010
0が端子402へ入力され、反転回路403へ与えられ
る。該反転回路403は入力された4ビツトの情報01
00の各ビットを反転した1011を出力し、加算器4
04へ送る。
該加算器404で1011に1が加算されその結果得ら
れる1100が加算器404の出力としてセレクタ40
5へ送られる。ここで、該セレクタ405は加算器40
4の出力を選択し1100を出力し、最終的に1100
が端子406から出力される。この値1100も絶対値
として見ると12(10進)であり、入力信号(−12
)の絶対値に等しいことがわかる。
〔発明が解決しようとしている課題〕
しかしながら、上記従来の絶対値演算回路は、反転回路
、セレクタ以外に加算回路を必要とするので、回路規模
が大きくコストが高い。
また、使用する素子の数が多くなるため信頼性が低下す
る。
さらに、上述の如き加算回路は他の反転回路セレクタに
対してスピードが遅く、演算時間が長くかかるという欠
点があった。
〔課題を解決するための手段〕
上記課題を解決するために、本発明によれば、2の補数
コードで表わされた入力データの絶対値を演算して出力
する絶対値演算回路において、入力される2の補数コー
ドの形式を、Sをサインビットとし、nを自然数として
、5anarl−t・・・a2 a、のn+1ビットデ
ータとするとき、前記サインビットが0か否かを判定す
る第1の判定手段と、前記an〜a、の各ビットに関し
て、当該ビットより下位のビットが全て0であるか否か
を判定する第2の判定手段と、前記an’−=83の各
ビットの反転信号を出力するか非反転信号を出力するか
を選択する選択手段と、前記第1、第2の判定手段の判
定結果に基づいて前記選択手段を制御する制御手段とを
備える。
(作 用) 本発明の絶対値演算回路では、入力される2の補数コー
ドの形式を、Sをサインビットとし、nを自然数として
、Sa yl a n−+・・・a2 alのn+1ビ
ットデータとするとき、制御手段は、a、、〜a、の各
ビットに関して、第1の判定手段によってサインビット
が0と判定された場合、または、第2の判定手段によっ
て、当該ビットより下位のビットが全て0であると判定
された場合は、非反転18号を出力するように選択手段
を制御し、それ以外の場合は、反転信号を出力するよう
に選択手段を制御する。
〔実施例〕
本発明の絶対値演算回路は以下に述べる絶対値演算のた
めのハードウェアアルゴリズムを忠実にハード化したも
のである。
まず説明の準備として、下記のように記号を定める。
S a n a n−1・・” 82 a’ 1:  
(n+1)ビットの入力信号、Sはサインビット b 111) n−+ ・・” 1) x 1) l:
上記入力信号の絶対値演算出力 jnjn−1・・・1,1゜ (anan−1・・・al a、)の2の補数dndn
−1・・・dl  d。
:  (an an−1”’Jlx a I)から1を
減じた値 上記記号を用いて従来の絶対値演算アルゴリズムを表わ
すと次のようになる。
くアルゴリズム1〉 ここで(an・al)の2の補数(trl・”tt)は
(Ljn−+  ・・・j!jl)−1niin−t 
 ・・・azat)  + 1又は、(t、、t=+ 
・・・ht+)= (anan−t −azat )か
ら求められる。(d7・・・dl)は(an・・・at
)から1を減じた値であり、その算出には、同期式ダウ
ンカウンタ等に使われている一1演算アルゴリズムが通
用できる。以下にそれを示す。
〈−1演算のアルゴリズム〉 d、  =il。
for i=2 t 。
くアルゴリズム2〉 for    1=1 t。
nd 上記アルゴリズムから、ただちに2の補数演算の、アル
ゴリズムが導出できる。
く2の補数演算のアルゴリズム〉 t、=]、”al for    1=2 t 。
nd 上記アルゴリズム2に2の補数演算のアルゴリズムを代
入すると、 くアルゴリズム3〉 tor    t=t t。
nd 一方、従来の絶対値演算アルゴリズムは次のように書き
直すことができる。
nd 上記アルゴリズム3を整理すると、 くアルゴリズム4〉 b、  ” al for    i=2    to    nnd このアルゴリズム4が本発明の基本であり、これをフロ
ーチャートで示すと第5図のようになる。
以下では、第5図のフローチャートについて説明する。
同図において、S a、l ayl−1”’82 a 
I +  bnbn−1・−b2b、は上述のアルゴリ
ズム中と同じものを表わしている。また、iはり、S、
B、から上位へ何ビット目のデータかを表わすサフィッ
クスであり、dは着目するビット8凰より下位のビット
(a 1−1a t−z・・・at)がすべてOである
ときには1、そうでなければ0となるlビットの変数で
ある。
まず最初にステップ5501で初期設定としてd=1.
i=1とする。次にステップ5502でり、S、B、を
非反転で出力するためbl 111118゜(i=1)
とする。次のステップ5503で前回より1つ上位のビ
ットの処理を行う準備としてlをインクリメントする。
ステップ504では、dとa l−1の反転(Mt−1
)とのAND演算を行い、その結果をdにまた代入して
いる。
次にステップ505では、S=1であるか否かと、d=
1であるか否かとを判断し、いずれかであれば、ステッ
プ5506に進み、alを非反転のまま出力(b+ −
at ) L/、いずれでもなければ、ステップS50
フに進み、a、を反転して出力(bl =aI)する。
ここで、ステップ5505で、d=1とは、ステップ5
501の初期値と、ステップ5504の式より、ii 
I 〜a l−1が全て1、すなわち、a。
〜a l−1が全て0のことであるから、第5図のフロ
ーチャートが前述のアルゴリズム4をみたしていること
が分かる。
ステップ3508では、所定のビット数の処理が終了し
たかを判断し、まだであればステップ5503に戻り、
終了していれば処理を終える。
以上、第5図のフローチャートの説明を行ったが、以下
では、アルゴリズム4を忠実にハードウェア化した回路
についての実施例の説明を行う。
第1図は本発明の第1の実施例のブロック構成図である
同図において、105は2の補数コードで表わされた5
ビツトの入力データのサインビットが入力される端子、
101〜104は同じ入力データからサインビットを除
く4ビツトのデータがそれぞれ入力される端子、110
は入力されたサインビットを反転するNOT素子、11
1〜113は入力データ中の着目する、ある1ビツトの
信号よりも下位のビットがすべて0であることを検出す
るNOR素子、121〜123は着目する当該信号が、
非反転で出力される条件を検出するためのOR素子、1
31〜133は着目する当該信号の反転信号を出力する
際に必要となる反転信号を得るためのNOT素子、14
1〜143は前記着目信号の反転信号と非反転信号を入
力に持ち、該着目信号を非反転で出力する条件が検出さ
れると、非反転信号を選択し、そうでなければ反転信号
を選択するように動作するセレクタ、151〜154は
絶対値に変換された値を出力する端子である(但し、出
力端子151は入力端子101より入力された信号をそ
のまま出力する)。
次に、入力データの実例を挙げて第1図の動作説明を行
う。
まず01100(+12)という5ビツトの入力データ
について考える。
この場合、サインビットがOであるから、N。
T素子110の出力は1となる。これより、NOR素子
111〜113の出力に関わりなく、OR素子121〜
123の出力はすべて1となり、セレクタ141〜14
3はすべて非反転信号を選択し出力する。この結果、b
+ −at  (i=1゜2.3,4.)となり、11
00が出力される。
この値は入力データの絶対値に等しい。
次に、10100(−12)という入力データについて
考える。
この場合、サインビットが1でNOT素子110の出力
は0となるから、OR素子121〜123の出力は前段
NOR素子111〜113の出力と等しくなる。該NO
R素子の出力は入力信号a r 、a2+  as に
よフて定まり、a重=0゜a2 =O,a3=1である
から、NOR素子111.112,113の各出力は1
,1.Oとなる。これよりOR素子121,122,1
23の各出力も1,1.Oとなり、セレクタ141,1
42は入力信号の非反転信号をセレクタ143は入力信
号の反転信号を出力する。
この結果、k)+ =a+  (1=1.2.3)。
b、=j14となり1100が出力される。この値もや
はり入力データ(−12)の絶対値(12)に等しい。
〔他の実施例〕
本発明の第2の実施例のブロック構成を第2図に示す。
同図において第1図と同一のものには、同一の番号が付
しである。ここで、211〜214は入力データを反転
するNOT素子、221はa、より下位のビットである
a2とa、が共に0であることを検出するためのAND
素子、222はa4より下位のビットであるal+82
およびa。
がすべてOであることを検出するためのAND素子、2
41〜243はそれぞれ入力データ中の着目するビット
82〜a4を反転あるいは非反転信号にして出力するた
めのEX−OR素子である。
次に、入力データの実例を挙げて第2図の動作説明を行
う。
まず、01100(+12)という入力データについて
考える。
この場合、サインビットが0であるから、N。
T素子110の出力は1となる。これよりOR素子12
1〜123の出力はすべてlになり、EX−OR素子2
41〜243に入力される。EX−OR素子は一方の入
力がlのと籾、他方の入力が反転されて出力されるとい
う性質がある。前記EX−OR素子241〜243の他
方の入力には、端子102〜104から入力されたa2
〜a4が、NOT素子212〜214で反転されて接続
されている。従って、a2〜a4はNOT素子212〜
214、EX−OR素子241〜243で2重に反転さ
れて、最終的にはそのままの値で出力される。一方、端
子101から入力されたalはNOT素子211及び2
15で2重に反転されるので出力はもとの値と等しい、
よって、b4 b3 t)2 bl =a4a3 a2
 al =1100(12)となり、入力データ(+1
2)の絶対値に等しい。
次に10100(−12)という入力データについて考
える。
この場合、サインビットが1でNOT素子110の出力
はOとなるから、OR素子122〜123の出力は前段
のAND素子221〜222の出力と等しくなり、OR
素子121の出力はNOT素子211の出力に等しくな
る。今、端子103.102,101には100という
データが入力されているから、NOT素子213゜21
2.211の出力は011となっている。
これよりAND素子222. 221の出力はそれぞれ
0.1となり、さらにOR素子123゜122.121
の出力は0,1.1となる。よって、a4のみ反転出力
で、他の信号(a3+82+a、)はすべて2重反転、
すなわち非反転出力となり−b4 b、b、b、=a4
 as  a、a、=1100(12)になる、これは
入力データ(−12)の絶対値(12)に等しい。
〔発明の効果〕
2の補数コードで表わされたn+1ビットのデータS 
a n a n−+・・・a2 aIの絶対値を演算す
る回路を構成する場合、従来は反転回路、1を加えるた
めの加算回路、セレクタを必要とし、しかも、それらを
従属に接続しなければならなかまたが、本発明によれば
、入力データ中の各ビットに対して、該ビットより下位
のビットがすべてOかあるいはサインビットが0である
かを判定し、その結果で該ビットの反転、非反転出力を
制御することにより絶対値演算回路を構成できるため、
従来の絶対値演算回路に比べて素子数が少なくなり、コ
ストダウンができ、信頼性も向上するという効果がある
また、上記の構成により、演算速度が速くなるという効
果がある。
【図面の簡単な説明】
第1図は本発明の第1の実施例のブロック構成を表わす
図、 第2図は本発明の第2の実施例のブロック構成を表わす
図、 第3図は2の補数コードをサイン絶対値コードに変換す
る回路のブロック図、 第4図は従来の絶対値演算回路の例を表わすブロック図
、 第5図は絶対値の演算のフローチャートである。 図中、 101〜105,301,302,401゜402は入
力端子、 110、  111. 131 〜133 。 214はNOT素子、 121〜123はOR素子、 141〜143,405はセレクタ、 151〜154. 304. 305゜出力端子、 221.222はAND素子、 241〜243はEX−OR素子、 303は絶対値演算回路、 403は反転回路、 404は加算回路である、 11〜 06は 牛10 胃40

Claims (1)

  1. 【特許請求の範囲】 2の補数コードで表わされた入力データの絶対値を演算
    して出力する絶対値演算回路であって、 入力される2の補数コードの形式を、Sをサインビット
    とし、nを自然数として、Sa_na_n_−_1…a
    _2a_1のn+1ビットデータとするとき、前記サイ
    ンビットが0か否かを判定する第1の判定手段と、 前記a_n〜a_2の各ビットに関して、当該ビットよ
    り下位のビットが全て0であるか否かを判定する第2の
    判定手段と、 前記a_n〜a_2の各ビットの反転信号を出力するか
    非反転信号を出力するかを選択する選択手段と、 前記第1、第2の判定手段の判定結果に基づいて前記選
    択手段を制御する制御手段とを有することを特徴とする
    絶対値演算回路。
JP1296783A 1989-11-14 1989-11-14 絶対値演算回路 Pending JPH03156530A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1296783A JPH03156530A (ja) 1989-11-14 1989-11-14 絶対値演算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1296783A JPH03156530A (ja) 1989-11-14 1989-11-14 絶対値演算回路

Publications (1)

Publication Number Publication Date
JPH03156530A true JPH03156530A (ja) 1991-07-04

Family

ID=17838079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1296783A Pending JPH03156530A (ja) 1989-11-14 1989-11-14 絶対値演算回路

Country Status (1)

Country Link
JP (1) JPH03156530A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0580982A (ja) * 1991-09-19 1993-04-02 Nec Corp 絶対値回路

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6484331A (en) * 1987-09-28 1989-03-29 Toshiba Corp Absolute value circuit

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6484331A (en) * 1987-09-28 1989-03-29 Toshiba Corp Absolute value circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0580982A (ja) * 1991-09-19 1993-04-02 Nec Corp 絶対値回路

Similar Documents

Publication Publication Date Title
JPH07193509A (ja) サーモメータ・バイナリ・エンコード方法
JPH0428180B2 (ja)
US5148161A (en) Digital signal processor for fixed and floating point data
JPH03156530A (ja) 絶対値演算回路
JPH07118654B2 (ja) 算術演算装置
JPS6116110B2 (ja)
JP2558739B2 (ja) 絶対値回路
JPH0653818A (ja) 多数ビットグレイコードカウンタ
JP2536490B2 (ja) ランレングス符号化装置
JP2599984B2 (ja) 入力データのピーク値検出回路
JP2844971B2 (ja) ディジタル符号処理システム
JPH07109369B2 (ja) 平均値検出回路
JP3213982B2 (ja) 除算回路
JP2907276B2 (ja) 演算処理装置
JPS6399623A (ja) 有限体の演算回路
JPS585838A (ja) シフト回路
JPS60214120A (ja) Ad変換回路
JP2733915B2 (ja) 並列バイナリ信号1/2フルスケール設定回路
JP3374205B2 (ja) シリアルデータインターフェイス装置
JPS6374308A (ja) デイジタル演算回路
JPH07120964B2 (ja) 伸張回路
JPS61274425A (ja) デイジタル圧縮回路
JPS6124851B2 (ja)
JPH0319526A (ja) 雑音低減装置
JPS6190519A (ja) プログラマブル・アップダウン・カウンタ