JPS6279522A - デイジタル関数計算装置 - Google Patents

デイジタル関数計算装置

Info

Publication number
JPS6279522A
JPS6279522A JP22062385A JP22062385A JPS6279522A JP S6279522 A JPS6279522 A JP S6279522A JP 22062385 A JP22062385 A JP 22062385A JP 22062385 A JP22062385 A JP 22062385A JP S6279522 A JPS6279522 A JP S6279522A
Authority
JP
Japan
Prior art keywords
register
fetched
registers
bit
calculated
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
JP22062385A
Other languages
English (en)
Inventor
Yoshio Murata
村田 芳夫
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP22062385A priority Critical patent/JPS6279522A/ja
Publication of JPS6279522A publication Critical patent/JPS6279522A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、ベクトルの回転を利用して初等関数値を計
算する001’Ll)IO法を実現したディジタル関数
計算装置に関するものである。
〔従来の技術〕
00′PLDIO法について簡単に説明する。
点Pの直交座標(x、y)と極座標(R,θ)との間に
は次の関係がある。
X:11L−cosθ      ・・・・・・・旧・
・(1)y=R−sinθ      ・・・・・印・
・・・+21R,二J7Tp−・・・・・・・・・・・
屯θ工tan ’ (y/x)    ・・・・・・・
・・・・・(4)従って、極座標が与えられているとき
、何らかの方法で直交座標が求まれば上記の関係式より
cosθ、  sinθが求まる。また直交座標が与え
られているとき、何らかの方法で極座標が求まればta
n’(Y/X)が求められる。OOR,DIO法ではベ
クトルの回転を利用してこれを行なう方法である。
第7図に示すように点Pi+  ”i+1をとる。図に
おいて(xi+  Yi )e  (x1++I  Y
i++ )はそれぞれ点P+、Pi+1の直交座標+(
”is  θ1)。
(Ri+、+  oi+、)はそれぞれ点PI、P1+
1の極座標でありまたαiはRiとR1+、のなす角度
である。このとき Ri+1:Ri−J〒1】不=Ri @Ki    ・
・・曲用・・(5)θi+1:θ1−αi      
     −°−−−−−−°°(61δ′=tana
i          間・・曲・・(7)Ki=νG
〒7−        ・・・・・・・・・・・・(8
)の関係があり。
cosαx= 1/J西]五     ・・・・・・・
・・・・・(9)sinα1−6177口1印    
 ・・・・・・・・・・・・01であるから Xl−N=”i+1°cosθトH =RIHJ(cosθi −CO8α4 + s+nθ
IeCoSαi)”xi’Viδ1         
 ・・・・・・・・・・・・(IllYi+1”Ri+
+°sinθ重+1 =yI−Xi・δi        ・・・・・・・・
・・・・O3となる。またここで Z r ”” Z r+α1          ・・
・・・・・・・・・・0とおく。
すなわち点Pi+、は点P1をに倍して角αiだけ回転
させた点である。
このようKして、初期点P。を与え、 n回だけ上記の
ような回転を行って得られる点Pnについて・・・・・
・・・・・・・041 1′Ln−YL。・、H8K i −”O’ ”θ =
θ −Σαi−θ。−α      ・・・・・・・・
・・・・O9n    。
Xo二Kl(xoCO5a+yosinα)  ・・・
・・・・・・・・・Hyn−に+(yoCO5α−xo
sinα)  ・・・・・・・・・・・・αηzn−2
o+Σα1=zo+α     ・・・・・・・・・・
・・錦i=0 となる。
ただし α= Σ α・              ・川・・
・・・・・・■i=0 ココで、δ、 = 2−jすなわちα1=jan ’ 
・2 ’ととり、iを0より1ずつ増して上記の回転を
行なうと9式(III〜03は収束することが示される
従ってαiの方法によって X i−H= xi  + 2  ”  Yi    
              −−−−Gillyi+
1=y+−2’−xi−、−−−−03”i+1=zi
+αi         ・・・・・・・・・・・・翰
または xi+1=xi−2; −yi           
・・−−−・(241yj+1 ” Vi + 2 ’
 −z、       ・・・・・・・・・・・・(ハ
)zi−H=zi−αi          ””””
””■の回転を行なうことにより9式αe−+IlBの
結果を得ることができる。
なお、  α1=jan ’2 ’とすることは1回回
転する毎に1回転させる角度唱が減小していき、αiは
無限に0に近づくことを意味している。
今1  xo=l/K *  )’0=0ととり、  
zi→0となるように式QD〜■の回転を繰り返し行な
った場合を考える。この場合式錦よりα”  Zoとな
り、 従って式aS、aη、錦より xn=sinzol−轡・四・・(財)yn−CO3z
o−・・・・・・・・・・(至)となり、角度2゜の正
弦、および余弦が計算できる。
次に+  Xom  Yoを適当な値に、zo=0にと
り。
yn→0 となるように式OU〜@の回転を繰り返し行
なった場合には。
xn= K Jν+y’        ・・・・・・
・・・・・・(2)zo= Arctan (yo/x
o)      −−[)となり、ある種の平方根や逆
正接が求められたことになる。
従来この方法を実現した回路のブロック図を第8図に示
す。第8図において(11〜(3)は各々前記回転にお
けるXi+1 +  Yi+1 m  ”i+1の値を
計算する算術演算ユニット(Arithmetic L
ogic Unit :  以下ALUと称す)。(4
1,+51. +61はそれぞれXi+  yi。
ziを保持してお(レジスタ、 (71,(slはそれ
ぞれ2−i−xi、 ’ 2−i 、 yiを求めるた
めに使用される下方シフト機能を有するレジスタ、(9
)はjan’2’を格納しておく記憶素子、 α1〜Q
2はレジスタ(4)〜(8)に格納するデータを選択す
るセレクタ回路g  xo。
yo、zoは演算初期値である。
次に動作について説明する。
最初に演算初期値X。、yo、zoをα1〜Q3のセレ
クタ回路を介してレジスタ(4)〜(8)に設定する。
このときセレクタ回路aυ〜(13は初期値設定のため
それぞれX。、yo、zoを選択し、 レジスタ(4)
(7)はX。、 +51. +81はy。、(61は2
゜を取り込む。次に式G!11− asまたは式c!4
〜■におけるに0の回転としてALU (山まレジスタ
(4)と(81の餉を、  AI、U(2)はレジスタ
(5)と(7)の値を、またAi、U +31はレジス
タ(6)と記憶素子(9)から断み出されたtan’7
0の佃を式clLl−■または式@〜(2)に従って加
減算を行なう。
加算か減算のどちらを行なうかはレジスタ(61の符号
ビットにより決定する。すなわちレジスタ(6)の符号
が負ならば式on−aに従い、それ以外の場合は式@〜
@に従って各AI、U (1)〜(3)は加減算を行な
う。
こうして得られた計算値”IT  Vlm  ”Iはセ
レクタ回路Ql 〜Q3を介してツレぞレレジスタ+4
1. +71. +5)。
(8)および(6)に取り込まれる。
次にシフトレジスタ+71. (81を1ビツト下方に
シフトすることにより2’x1と21y、が得られる。
こうした後K ALU(1)はレジスタ(4]と+81
の値、 AL(J(2)はレジスタ(5)と(7)の1
]9人LU +31はレジスタ(6)と記憶素子から読
み出されたjan’2’  の飴とをレジスタ(6)の
符号、すなわちzlの符号に従って前述と同様に加減算
し、i−1の時の回転を行なう。
i = nの場合はシフトレジスタ(71,(81の下
方シフトをnとし、配憶素子(9)から読み出す値をj
 an=21とする以外は−F言1の動作を行ない、こ
れをデータの桁数と同数回繰り返すことによりレジスタ
(4)には式aeのX。が、レジスタ(5)Kは式(I
ηのynO値が、レジスタ(6)には式O8の2の値が
それぞれ格納される。
〔発明が解決しようとする問題点〕
従来のCORDIC法を用いたディジタル関数計算装置
は以上のような方法によっていたため、X。
y、zの桁数をnとしたときに2−”xH及び2−R・
y、(Rはnより小さい正の整数)を計算する場合した
がってCORDIC法では、基本クロックのサイの実行
時間を要する欠点がある。
〔問題点を解決するための手段〕
この発明は以上の欠点を解消するためになされたもので
式on、 a、 C141,(ホ)における2j・Xi
及び2l−y=を計算するためのシフト動作をバレルシ
スタを用いて行う。
〔作用〕
この発明により、  ALU (llとAI、U (2
1から送られる中間結果(2−(i−+)・xj−1t
2’ヒ1)・Vi−+)がバレルシフタによりiビット
シフトされ、2−i・Xi、  2 + 、y、が求め
られる。
〔実施例〕
第1図に本発明に従うディジタル関数計算装置例を示す
。第1図において+Iト(31はそれぞれxi+1 *
Yi+1*  zi+1を計算するために使用されるA
LU 。
(4a) 〜(5b)はそれぞれ*  Xi *  )
’i +  ”i t  21”i t2i、、を保持
してお(nビットのレジスタ、(9)は2’−1an2
−″を格納しておく記憶素子、  a1〜agはレジス
タ(4)〜(8)に取り込むデータを選択するセレクタ
回路、xo、yo、zoは関数計算のためのnビットの
初期値e  (13a)I(13b)は◎ビットからn
ビットまでのシフト機能を有するバレルシフタである。
またAはバレルシフタのシフト桁数ヲ与える16進表現
のmビットの制御信号である。
マス、バレルシフタ(13a) ?  (1sb)の構
成例を第2図に示す。
第2図において03はバレルシフタ、olはn−1個の
出力を有するデコーダ+  (16a)〜(161)は
AN[)ゲート、(17a)〜(17c)はORゲート
であり、■(n)〜■(o)は第3図におけるセレクタ
回路α・、aυのnビットの出力データで、咄)は最上
位ピッ)、I(。)は最下位ビットを示す。また第2図
のY(nl〜Y(。)は第1図におけるレジスタ(4b
)、 (5b)の入力端子に接続されるnビットのシフ
ト後のデータであり、  Y(nlは最上位ビット、Y
(o)は最下位ビットを示す。
さらに第2図のA。−Amはシフトさせたいビット数が
m桁の16進で表現された制御信号である。
第3図にバレルシフタ03のシンボル図ヲ、$4図にそ
の動作図を示し、第5図にバレルシフタo3で用いられ
ているデコーダαSのシンボル図ヲ、第6図にその動作
図を示す。
上記のように構成されたバレルシフタαlはシフト制御
信号^。−Amの示す数だけ久方データ幅)〜■(o)
が下方に算術シフトしたnビットの出力”(nl 〜Y
(olを得ることができる。
次に第1図の動作について説明する。
最初に初期値をレジスタ(4a)〜(5b)に設定する
ため、セレクタ回路01〜03はそれぞれ任意に設定さ
れたX。r Yor zoを選択し、さらにバレルシフ
タ(13a)、 (13b)はA=0の0ビツトシフト
データを出力しX。はレジスタ(4a) 、  (4h
)に、yoはレジスタ(5a) 、  (sb)に、z
oはレジスタ(6)に取り込まれる。次に式Cal+−
(ハ)または式C!41−28におけるi = 0番目
の回転として、  ALU(11はレジスタ(4a)と
(5b) 、  ALU +21はレジスタ(5a)と
(4b) ALU131はレジスタ(6)と記憶素子(
9)から読み出されたjan ’20の値とを従来の方
法と同様レジスタ(5b)またはレジスタ(61の符号
により2式C711−aまたは式&41−(至)に従っ
て加減算する。セレクタαυ〜α2はそれぞれ今計算し
て得られたxJ+ Yll  zlを選択し、さらにバ
レルシフタ(i3a) 、  (13b)はA−1の1
ビットシフトデータ2−1・X、を出力して、X、がレ
ジスタ(4a)に+2’・xlがレジスタ(4b)に+
Y1がレジx タ(5a)に+2”Ylがレジスタ(5
b)に、  Zlがレジスタ(61に取り込まれる。
その後に、  AI、U(1)はレジスタ(4a)と(
sb) 、  ALU+21はレジスタ(5a)と(4
b) 、  ALU +31はレジスタ(6)と記憶素
子(9)から読み出されたjan’2−1の値とを。
レジスタ(6)または(5b)の符号により式011〜
T23または式Q4〜(イ)に従って加減算する。こう
して得られたX2. Y2122はセレクタO1〜α2
を通りレジスタ(4a) 、 (sa) 、(6)に取
り込まれ、同時にバレルシフタ([3a)、 (13b
)はA==2の2ビツトシフトデータ2”X2および2
2・y2を出力して+2”x2はレジスタ(4b)に、
2−2・y2はレジスタ(5b)にそれぞれ取り込まれ
る。以下i−n番目の回転としてレジスタ(4b)、 
(5b)に取り込まれるバレルシフタの出力を2−(n
−1)・xn−4及び2(n−1)・Yn−1とし、記
憶素子(9)から読み出す値をtan ’2 (n−1
)とする以外は上記と同様の回転を繰り返すことにより
、レジスタ(4a)には式αGのXnをレジスタ(5a
)には式anのy。を、レジスタ(6)には式錦のZn
を計算することができる。
本発明では以上のような方法によるため、2−1・Xl
および2 r −Yiを計算するためのシフト動作によ
る時間を要さずに式c!11〜(ハ)または式C!(イ
)〜翰の近似計算を行なうことができる。
したがって0桁のX、  Y、  ZのOOR,DIO
計算がn回の動作で実現することができる。
〔発明の効果〕
以上のように本発明によれば、  0ORI)IO法を
用いたnビットのデジタル関数計算装置において。
そのベクトル回転の近似計算がn−Tの実行時間で求め
ることができる。
(nはx、y、zのビット数、Tは基本クロックのサイ
クルタイム)
【図面の簡単な説明】
第1図は本発明に従うディジタル関数計算回路の一実施
例のブロック図、第2図はバレルシフタの搗成例を示す
図、第3図はバレルシフタのシンボル図、第4図はバレ
ルシフタの動作図、第5図はデコーダのシンボル図、第
6図はデコーダノ動作図である。第7図は0OrLr)
 I O法におけるベクトルの回転を表わす図、第8図
は0ORD I O法を実現した従来のディジタル関数
計算回路の一実施例のブロック図である。 図中(x7. yi)、  (xl−H+ yi+、)
はそれぞれ点Pi r Pi+1の直交座標I (几1
1 θiL (”i+1+θ1+1)はそれぞれ点Pi
+ Pi+tの榛座標、αIはθiとθl+1のなす角
度、(1)〜(3)は演算ユニット、(4)〜(6)は
演算データを保持するレジスタ、 (71,(81は下
方シフト機aトを有するレジスタ、(91は回転角度の
逆正接を格納しておく記憶素子+ H〜α2はセレクタ
回路、xo、yo、zoは演算初期値、θ3はn−1ビ
ツトのシフト機能を有するバレルシフタ、 Q9はデコ
ーダ、αGはANDゲート、 a’nはORゲートであ
る。

Claims (1)

    【特許請求の範囲】
  1. ベクトルを逐次回転することにより三角関数、双曲関数
    等の初等関数を計算するCORDIC法を実現したいビ
    ットのディジタル関数計算装置において、そのベクトル
    回転の近似計算途中で逐次計算される直交座標点(x軸
    、y軸、z軸)の増分値を保持する3つのレジスタと、
    前記直交座標点の部分和を保持する3つのレジスタと、
    前記直交座標点の部分和を計算する3つの算術演算ユニ
    ットと、前記直交座標点の増分値を求めるために2のベ
    キ乗積を計算するnビットのバレルシフタとを備えたこ
    とを特徴とするディジタル関数計算装置。
JP22062385A 1985-10-03 1985-10-03 デイジタル関数計算装置 Pending JPS6279522A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22062385A JPS6279522A (ja) 1985-10-03 1985-10-03 デイジタル関数計算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22062385A JPS6279522A (ja) 1985-10-03 1985-10-03 デイジタル関数計算装置

Publications (1)

Publication Number Publication Date
JPS6279522A true JPS6279522A (ja) 1987-04-11

Family

ID=16753870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22062385A Pending JPS6279522A (ja) 1985-10-03 1985-10-03 デイジタル関数計算装置

Country Status (1)

Country Link
JP (1) JPS6279522A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6478323A (en) * 1987-06-30 1989-03-23 Nec Corp Arithmetic unit for trigonometric function using pseudo division system
US5060181A (en) * 1989-01-11 1991-10-22 Ricoh Company, Ltd. Cubic equation calculation apparatus and cubic curve coordinate data generation apparatus using the same
US6922451B1 (en) 1999-04-15 2005-07-26 Nec Corporation Frequency shifting circuit and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6478323A (en) * 1987-06-30 1989-03-23 Nec Corp Arithmetic unit for trigonometric function using pseudo division system
US5060181A (en) * 1989-01-11 1991-10-22 Ricoh Company, Ltd. Cubic equation calculation apparatus and cubic curve coordinate data generation apparatus using the same
US6922451B1 (en) 1999-04-15 2005-07-26 Nec Corporation Frequency shifting circuit and method

Similar Documents

Publication Publication Date Title
US7505587B2 (en) Elliptic curve cryptosystem apparatus, storage medium storing elliptic curve cryptosystem program, and elliptic curve cryptosystem arithmetic method
CN1017283B (zh) 坐标旋转数字计算机的复数乘法器
CN100536390C (zh) 一种椭圆曲线密码协处理器
US4945505A (en) Cordic apparatus and method for approximating the magnitude and phase of a complex number
US11922133B2 (en) Processor and method for processing mask data
JPH0470662B2 (ja)
US5957996A (en) Digital data comparator and microprocessor
JPH1021057A (ja) データ処理装置及びマイクロコンピュータ
CN108733349B (zh) 一种基于定点数的三角函数运算电路
JP2008304921A (ja) 改善されたモジュラー減少演算子
CN115801244A (zh) 用于资源受限处理器的后量子密码算法实现方法及系统
JPS6279522A (ja) デイジタル関数計算装置
JPH0346024A (ja) 浮動小数点演算器
US6766346B2 (en) System and method for computing a square of a number
CZ294898B6 (cs) Zapojení pro generování multiplikativní inverze nad konečným tělesem GF(p)
US20100023569A1 (en) Method for computerized arithmetic operations
CN117573069B (zh) Cordic算法芯片
SU1285464A1 (ru) Устройство дл делени
JP2654062B2 (ja) 情報処理装置
JPH04107732A (ja) デジタル関数計算装置
CN115879556A (zh) 量子模数运算方法、装置、介质及模数算术组件
JPS59168546A (ja) デジタル関数計算装置
Hellerman The power and efficiency of a computer system
CN117235423A (zh) 一种利用cordic实现角度计算的方法
SU1305671A1 (ru) Устройство дл вычислени функции @