JPS633329B2 - - Google Patents

Info

Publication number
JPS633329B2
JPS633329B2 JP54117565A JP11756579A JPS633329B2 JP S633329 B2 JPS633329 B2 JP S633329B2 JP 54117565 A JP54117565 A JP 54117565A JP 11756579 A JP11756579 A JP 11756579A JP S633329 B2 JPS633329 B2 JP S633329B2
Authority
JP
Japan
Prior art keywords
function value
register
input
signal line
counter
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.)
Expired
Application number
JP54117565A
Other languages
Japanese (ja)
Other versions
JPS5640930A (en
Inventor
Yoshihiro Kasuya
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.)
NEC Corp
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP11756579A priority Critical patent/JPS5640930A/en
Publication of JPS5640930A publication Critical patent/JPS5640930A/en
Publication of JPS633329B2 publication Critical patent/JPS633329B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • G06F1/035Reduction of table size

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 本発明は符号化された変数に対する関数の値を
求める関数値発生装置に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a function value generation device for determining the value of a function for an encoded variable.

特定の関数、例えば三角関数あるいは双曲線関
数等に関する数値計算は、電子計算機等による算
術演算に欠くことのできない基本機能の一つであ
る。またミニコンコンピユータ、マイクロコンピ
ユータ等で制御された数値制御装置あるいはグラ
フイツクデイスプレイ装置等でも幾何座標を扱う
ことにおいて上記関数を含んだ演算が度々実施さ
されるところである。
Numerical calculations regarding specific functions, such as trigonometric functions or hyperbolic functions, are one of the basic functions essential for arithmetic operations by electronic computers and the like. In addition, calculations involving the above-mentioned functions are often performed in numerical control devices or graphic display devices controlled by minicomputers, microcomputers, etc. when handling geometric coordinates.

このため、関数値発生即ちある与えられた数値
に対し関数の値を求めるための手順および処理機
構の簡素化、高速化が重要である。
Therefore, it is important to simplify and speed up the procedure and processing mechanism for generating a function value, that is, finding the value of a function for a given numerical value.

従来から行なわれている関数値発生の方法に
は、ソフトウエア的な手法に良く適合することか
ら比較的多く採用されているものに、関数を入力
変数に関する多項式に展開して数値計算するもの
がある。この方法は、予じめ記憶しておくべきデ
ータが少量であるという利点があるものの、近似
計算であるため、精度の高い解を得るには高次の
項にまで亘つて繰返し計算を行なう必要がありそ
れだけ処理時間が長くかかり高速性に欠けるもの
である。また初等関数を求める方法として良く知
られたCORDICアルゴリズムによれば、フアー
ムウエア、ハードウエア化に良く適合するが、解
の収束性等の問題もあり処理時間が長くかかりや
はり高速性を要求される装置に用いるには不向き
である。
Among the conventional methods of generating function values, one that is relatively widely adopted because it is well suited to software methods is to expand the function into a polynomial regarding input variables and perform numerical calculations. be. Although this method has the advantage of requiring only a small amount of data to be memorized in advance, since it is an approximate calculation, it is necessary to perform repeated calculations even for high-order terms in order to obtain highly accurate solutions. However, it takes a long processing time and lacks high speed. In addition, the CORDIC algorithm, which is well known as a method for finding elementary functions, is well suited for hardware and firmware implementation, but it also has problems with solution convergence, takes a long processing time, and still requires high speed. It is not suitable for use in equipment.

一方LSI技術の進歩によりROM等の記憶装置
で大容量かつ安価なものが提供されるようになつ
たため、入力の数が比較的少ない場合には、必要
とされる関数値の全てを予じめROM等に記憶さ
せておくことも行なわれる。しかしこの方法では
入力の数が多い場合、例えば入力変数が16ビツト
の2進符号の精度で表わされるとすれば、必要と
する全ての関数値を記憶するのにほぼ65Kワード
もの大記憶容量のROM等が必要で、経済的にも
実用に供することは困難である。
On the other hand, advances in LSI technology have made it possible to provide large-capacity and inexpensive storage devices such as ROM, so when the number of inputs is relatively small, all required function values can be stored in advance. It may also be stored in a ROM or the like. However, if the number of inputs is large, for example if the input variables are represented with 16-bit binary precision, this method requires approximately 65K words of memory to store all the required function values. It requires ROM, etc., and is economically difficult to put into practical use.

本発明の目的は、上記事情に鑑み、比較的精度
の高い入力変数に対する関数値の発生を簡単な装
置構成で高速に行なわしめ、かつ必要な記憶装置
の容量を軽減せしめる関数値発生装置を提供する
ことにある。
In view of the above circumstances, it is an object of the present invention to provide a function value generation device that can generate function values for relatively highly accurate input variables at high speed with a simple device configuration, and that can reduce the required storage capacity. It's about doing.

本発明によれば、二進符号化された入力変数に
対する関数値を繰返し計算して求める装置とし
て、前記入力変数を表わす複数の二値入力信号の
上位(あるいは下位)から順に1または複数ビツ
トずつを一組として順次取出す手段と、前記取出
された入力信号の組番号を順次計数するカウンタ
と、前記カウンタの出力信号および前記計数され
た組番号に属す入力信号とで番地付けされた関数
値記憶装置と、繰返し計算による結果を累積する
レジスタと、前記関数値記憶装置の出力信号およ
び前記レジスタの出力信号を入力して、予じめ決
められた組合せによる加減乗除演算を施し再び前
記レジスタへの入力とする関数値演算装置とを具
備し、前記関数値記憶装置には前記各組毎にその
組に属す入力信号の表わす数値に対する関数値を
前記番地付けに従つて予じめ記憶しておき、前記
カウンタが計数する毎に、前記レジスタへ累積さ
れた数値と、前記関数値記憶装置から読出される
関数値とから、前記カウンタの計数した組番号ま
での全ての組に属す入力信号の表わす数値に対す
る関数値を前記関数値演算装置で算出し、これを
前記レジスタへ累積する手順を繰返して、前記入
力変数に対する関数値を得ることを特徴とする関
数値発生装置が得られる。
According to the present invention, as a device for repeatedly calculating and obtaining a function value for a binary encoded input variable, one or more bits are sequentially calculated from the upper (or lower) of a plurality of binary input signals representing the input variable. means for sequentially taking out the input signals as one set; a counter for sequentially counting the group numbers of the input signals taken out; and a function value memory that is addressed by the output signal of the counter and the input signal belonging to the counted group number. A device, a register for accumulating the results of repeated calculations, an output signal of the function value storage device, and an output signal of the register are inputted, and addition, subtraction, multiplication, and division operations are performed according to a predetermined combination, and the results are returned to the register. a function value calculation device as an input, and the function value storage device stores in advance, for each group, a function value corresponding to a numerical value represented by an input signal belonging to the group according to the addressing. , representing input signals belonging to all groups from the numerical value accumulated in the register and the function value read from the function value storage device to the group number counted by the counter every time the counter counts; A function value generating device is obtained in which the function value for the input variable is obtained by repeating the procedure of calculating a function value for a numerical value using the function value calculation device and accumulating it in the register.

要約すれば、本発明は入力変数を表わす2値入
力信号を複数個の組に分け、各組毎にその組に属
す入力信号に対する関数値を記憶しておき、これ
ら記憶された関数値より繰返し計算により元の入
力変数に対する関数値を復元することを特徴とす
る。
In summary, the present invention divides binary input signals representing input variables into a plurality of sets, stores function values for the input signals belonging to each set for each set, and repeatedly calculates the function values from these stored function values. It is characterized by restoring the function value for the original input variable through calculation.

本発明は、複数個の変数の和に関する関数が、
これら個々の変数に関する関数の四則演算として
表現できる関数族について適用し得るものであ
る。
The present invention provides that a function related to the sum of a plurality of variables is
This method can be applied to a family of functions that can be expressed as four arithmetic operations of functions regarding these individual variables.

本発明は、複数個に分けられた入力信号の組、
従つてそれぞれがより少ない組合せから成る数値
に対し関数値を記憶させるため、ROM等の記憶
装置の容量を大巾に軽減できること、並びに繰返
し計算に適するため装置構成が簡単となる等の効
果がある。
The present invention provides a set of input signals divided into a plurality of parts,
Therefore, since function values are stored for numerical values each consisting of a smaller number of combinations, the capacity of storage devices such as ROM can be greatly reduced, and since it is suitable for repeated calculations, the device configuration can be simplified. .

次に図面を参照して本発明を詳細に説明する。 Next, the present invention will be explained in detail with reference to the drawings.

第1図は本発明の第一の実施例を示すブロツク
図であり、一例として三角関数の正弦・余弦関数
値発生装置の構成を示す。
FIG. 1 is a block diagram showing a first embodiment of the present invention, and shows, as an example, the configuration of a trigonometric sine/cosine function value generator.

本実施例では、0θ<πなる範囲の入力変数
θ(単位はラジアン)に対する正弦関数値を発生
するものとするが、ここで記憶装置を効率良く使
用するため、入力変数θをmビツトの2進整数X
によつて次のような関係で符号化して、改めてX
を入力変数として扱う。即ち X=(2m/π)θ …(1) X=bn-12m-1+bn-22m-2+…+b121+b020 ただしbi=0または1(i=0,…,m−1) である。さらに入力変数Xを表わすビツトをrビ
ツトずつn個の組に分ける。即ち m=nr であり、もしmがrの倍数でなければ、Xのビツ
トの上位に適当に常に0なるビツトを付加して考
えて、上記関係を満すようにする。そして各組に
属すビツトの表わすn個の変数X1,…,Xoを次
のように定義する。即ち であり、明らかに、 X=X1+X2+…+Xo である。さらに Y0=0 Yk=X1+X2+…+Xk k=1,…,n のように書き表わして、三角関数の加法定理を用
いれば、 sinYk=sin(Yk-1+Xk) =sinYk-1cosXk+cosYk-1sinXk …(3) cosYk=cos(Yk-1+Xk) =cosYk-1cosXk−sinYk-1sinXk …(4) なる漸化式が成立する。(2),(3)式は、kを1から
nまで変化させて繰返し計算することによつて最
終的に、 sinX=sinYo cosX=cosYo として、入力変数Xに対する正弦・余弦関数値が
得られることを示す。
In this example, it is assumed that a sine function value is generated for the input variable θ (in radians) in the range 0θ<π, but in order to use the storage device efficiently, the input variable θ is hexadecimal integer
Then encode it with the following relationship and rewrite X
is treated as an input variable. That is, X = ( 2 m / π ) θ ... ( 1 ) i=0,...,m-1). Furthermore, the bits representing the input variable X are divided into n groups of r bits each. That is, m=nr, and if m is not a multiple of r, a bit that is always 0 is appropriately added to the upper bits of X so that the above relationship is satisfied. Then, n variables X 1 , . . . , X o represented by bits belonging to each set are defined as follows. That is, Obviously, X=X 1 +X 2 +...+X o . Furthermore , if we write it as Y 0 = 0 Y k = X 1 + ) = sinY k-1 cosX k + cosY k-1 sinX k …(3) cosY k = cos (Y k-1 +X k ) = cosY k-1 cosX k −sinY k-1 sinX k …(4) The formula holds true. Equations (2) and (3) are finally calculated by changing k from 1 to n and calculating the sine/cosine function value for the input variable X as sinX=sinY o cosX=cosY o . Show what you can get.

この計算で必要なものは、各変数X1,…,Xo
に対する正弦・余弦関数値のみである。なお上記
説明でsinX等の表記は(1)式の関係の下で sinX=sinθ 等と定義し、以下の説明においても同様である。
This calculation requires each variable X 1 ,...,X o
Only sine and cosine function values for . Note that in the above explanation, the expressions such as sinX are defined as sinX=sinθ, etc. under the relationship of equation (1), and the same applies in the following explanation.

以下説明を簡単にするため、一例として入力変
数Xの精度を16ビツト、入力変数を表わす入力信
号を4ビツトずつ4組に分けるものとする。即ち m=16、r=4、n=4 とする。
To simplify the explanation below, it is assumed, as an example, that the precision of the input variable X is 16 bits, and that the input signals representing the input variables are divided into four groups of 4 bits each. That is, m=16, r=4, n=4.

第1図を参照すれば、1は入力変数Xを表わす
入力信号を複数個の組に分け順次取出す手段であ
り、並列入出力端子を有する16ビツトのシフトレ
ジスタである。2は2ビツトのカウンタ、3は関
数値記憶装置、4は関数値演算装置、5はレジス
タ、6は2ビツトのカウンタ、7はOR回路、8
は遅延回路である。
Referring to FIG. 1, reference numeral 1 denotes means for dividing the input signal representing the input variable X into a plurality of sets and sequentially taking out the signals, and is a 16-bit shift register having parallel input/output terminals. 2 is a 2-bit counter, 3 is a function value storage device, 4 is a function value calculation device, 5 is a register, 6 is a 2-bit counter, 7 is an OR circuit, 8
is a delay circuit.

101は入力変数Xを供給する16ビツトの入力
信号線であり、シフトレジスタ1の並列入力信号
線へ接続される。102はシフトレジスタ1の下
位4ビツトの並列出力信号線であり、関数値記憶
装置3の一部の番地信号線へ接続される。201
はカウンタ2の出力信号線であり、関数値記憶装
置3の残りの一部の番地信号線へ接続される。3
01は関数値記憶装置3の出力信号線であり、関
数値演算装置4の一方の入力信号線へ接続され
る。401は関数値演算装置4の出力信号線であ
り、レジスタ5の入力信号線へ接続される。50
1はレジスタ5の出力信号線であると同時に、本
関数値発生装置で求められた関数値を出力する出
力信号線であり、関数値演算装置4の他方の入力
信号線へ接続される。601は第一のパルス信号
を印加する制御信号線であり、シフトレジスタ1
のシフトパルス入力信号線およびカウンタ6のク
ロツク入力信号線へ接続される。602はカウン
タ6のキヤリー信号を伝える信号線であり、カウ
ンタ2のクロツク入力信号線およびOR回路7の
一方の入力信号線へ接続される。701は第二の
パルス信号を印加する制御信号線であり、カウン
タ2,6およびレジスタ5のリセツト入力信号線
およびシフトレジスタ1のセツト入力信号線およ
びOR回路7の他方の入力信号線に接続される。
702はOR回路7の出力信号線であり、遅延回
路8の入力信号線へ接続される。801は遅延回
路8の出力信号線であり、レジスタ5のセツト入
力信号線へ接続される。
Reference numeral 101 is a 16-bit input signal line that supplies input variable X, and is connected to the parallel input signal line of shift register 1. 102 is a parallel output signal line for the lower four bits of the shift register 1, which is connected to a part of the address signal line of the function value storage device 3. 201
is an output signal line of the counter 2, and is connected to the remaining address signal lines of the function value storage device 3. 3
01 is an output signal line of the function value storage device 3, and is connected to one input signal line of the function value calculation device 4. 401 is an output signal line of the function value calculation device 4, and is connected to an input signal line of the register 5. 50
Reference numeral 1 denotes an output signal line of the register 5 as well as an output signal line for outputting the function value obtained by the present function value generation device, and is connected to the other input signal line of the function value calculation device 4. 601 is a control signal line to which a first pulse signal is applied, and the shift register 1
It is connected to the shift pulse input signal line of the counter 6 and the clock input signal line of the counter 6. A signal line 602 transmits the carry signal of the counter 6, and is connected to the clock input signal line of the counter 2 and one input signal line of the OR circuit 7. 701 is a control signal line for applying a second pulse signal, and is connected to the reset input signal line of counters 2 and 6 and register 5, the set input signal line of shift register 1, and the other input signal line of OR circuit 7. Ru.
702 is an output signal line of the OR circuit 7 and is connected to an input signal line of the delay circuit 8. Reference numeral 801 denotes an output signal line of the delay circuit 8, which is connected to the set input signal line of the register 5.

シフトレジスタ1はシフトパルスの印加により
1ビツトずつ下位ビツトへシフトされ、従つて4
つのシフトパルス毎に変数X1,…,X4を表わす
入力信号を取出すことができる。カウンタ6は2
ビツトで前記4つのシフトパルスを計数し、その
都度キヤリー信号を1つ出力する。カウンタ2は
前記キヤリー信号を計数する。即ちカウンタ2は
変数X1,…,X4を表わす入力信号がシフトレジ
スタ1より順次取出されるのに同期して、その組
番号を計数するもので2ビツトを有す。関数値記
憶装置3はシフトレジスタ1の4ビツトの出力信
号およびカウンタ2の2ビツトの出力信号により
番地付けされる64ワードのROMであり、各変数
X1,…,X4に関する正弦関値および余弦関数値
をそれぞれ前記番地付けに対応する各ワードの上
位半分および下位半分に記憶したものである。さ
らに具体的には一例として変数Xk(k=1,…,
4)に関し、Xk/24(k-1)+16(k−1)番地の一
ワードの上位半分にsinXkの値を、下位半分に
cosXkの値を記憶させておく。sinXk、cosXk等の
値は予じめ他の計算手段で求められたものであつ
て、一例として本装置で発生する関数値と同じ精
度を有する浮動小数点型式で表わされたものであ
る。
Shift register 1 is shifted one bit at a time to the lower bit by applying a shift pulse, and therefore 4 bits are shifted to lower bits.
An input signal representing the variables X 1 , ..., X 4 can be taken for every shift pulse. counter 6 is 2
The four shift pulses are counted in bits and one carry signal is output each time. A counter 2 counts the carry signals. That is, the counter 2 counts the set number in synchronization with the input signals representing the variables X 1 , . . . , X 4 being taken out sequentially from the shift register 1, and has 2 bits. The function value storage device 3 is a 64-word ROM that is addressed by the 4-bit output signal of the shift register 1 and the 2-bit output signal of the counter 2.
The sine and cosine function values for X 1 , . . . , X 4 are stored in the upper half and lower half of each word corresponding to the addressing, respectively. More specifically, as an example, the variable X k (k=1,...,
Regarding 4), set the value of sinX k in the upper half of one word at address X k /2 4(k-1) +16(k-1) and in the lower half.
Remember the value of cosX k . The values of sinX k , cosX k, etc. are obtained in advance by other calculation means, and are expressed in floating point format with the same precision as the function values generated by this device, for example. .

レジスタ5は繰返し計算により遂時算出される
関数値即ち(3),(4)式におけるsinXk-1、cosXk-1
値を累積するもので、関数値記憶装置3の記憶型
式と同じようにして、上位半分に正弦関数値を、
下位半分に余弦関数値を記憶するもので、かつ予
じめ決められた初期値即ちsinY0(=0)および
cosY0(=1)の値をセツトできるものである。
また、出力信号線301,401および501の
それぞれには上位半分の信号に正弦関数値が、下
位半分の信号に余弦関数値が伝えられる。
The register 5 is for accumulating the function values finally calculated by repeated calculations, that is, the values of sinX k-1 and cosX k-1 in equations (3) and (4), and has the same storage format as the function value storage device 3. In this way, the sine function value is placed in the upper half,
The cosine function value is stored in the lower half, and the predetermined initial value is sinY 0 (=0) and
The value of cosY 0 (=1) can be set.
Further, to each of the output signal lines 301, 401, and 501, a sine function value is transmitted to the upper half signal, and a cosine function value is transmitted to the lower half signal.

関数値演算装置4の具体的な構成を第2図に示
す。
A specific configuration of the function value calculation device 4 is shown in FIG.

第2図において、41,42,43および44
は乗算回路、45は加算回路、46は減算回路で
あり、それぞれ記憶された関数値の型式即ち上記
一例では浮動小数点型式にて演算を行なうもので
ある。3011および3012はそれぞれ関数値記
憶装置3の出力信号線301の上位半分および下
位半分の信号線である。信号線3011は乗算回
路41および44の一方の入力信号線へ接続され
る。
In Figure 2, 41, 42, 43 and 44
numeral 45 is a multiplication circuit, numeral 45 is an addition circuit, and numeral 46 is a subtraction circuit, each of which performs an operation in the format of the stored function value, that is, in the above example, a floating point format. 301 1 and 301 2 are the upper half and lower half signal lines of the output signal line 301 of the function value storage device 3, respectively. Signal line 301 1 is connected to one input signal line of multiplication circuits 41 and 44 .

信号線3012は乗算回路42および43の一
方の入力信号線へ接続される。5011および5
012はそれぞれレジスタ5の出力信号線501
の上位半分および下位半分の信号線である。信号
線5011は乗算回路42および44の他方の入
力信号線へ接続される。信号線5012は乗算回
路41および43の他方の入力信号線へ接続され
る。402,403,404および405はそれ
ぞれ乗算回路41,42,43および44の出力
信号線である。出力信号線402および403は
加算回路45のそれぞれの入力信号線に接続され
る。出力信号線404および405は減算回路4
6のそれぞれの入力信号線に接続される。401
および4012はそれぞれ加算回路45および減
算回路46の出力信号線であり、関数値演算装置
4の出力信号線401の上位半分および下位半分
を形成する。即ち関数値演算装置4は関数値記憶
装置3から読出されるsinXk、cosXkの値と、レ
ジスタ5へ累積されたsinYk-1、cosYk-1の値とを
入力して、第3および(4)式による演算を行なうも
のである。
Signal line 301 2 is connected to one input signal line of multiplication circuits 42 and 43. 501 1 and 5
01 and 2 are the output signal lines 501 of register 5, respectively.
These are the upper half and lower half signal lines. Signal line 501 1 is connected to the other input signal line of multiplication circuits 42 and 44 . Signal line 501 2 is connected to the other input signal line of multiplication circuits 41 and 43. 402, 403, 404 and 405 are output signal lines of multiplication circuits 41, 42, 43 and 44, respectively. Output signal lines 402 and 403 are connected to respective input signal lines of adder circuit 45. Output signal lines 404 and 405 are subtraction circuit 4
6 input signal lines. 401
1 and 401 2 are output signal lines of the addition circuit 45 and the subtraction circuit 46, respectively, and form the upper half and lower half of the output signal line 401 of the function value calculation device 4. That is, the function value calculation device 4 inputs the values of sinX k and cosX k read from the function value storage device 3 and the values of sinY k-1 and cosY k-1 accumulated in the register 5, and calculates the third and (4).

再び第1図において、OR回路7は第二のパル
ス信号およびカウンタ6の出力信号を共に遅延回
路8へ印加させるためにある。遅延回路8は関数
値記憶装置3の読出し時間および関数値演算装置
4の演算時間の分だけ印加されパルス信号を遅延
させるためにある。
Referring again to FIG. 1, OR circuit 7 is provided to apply both the second pulse signal and the output signal of counter 6 to delay circuit 8. The delay circuit 8 is provided to delay the pulse signal by applying an amount corresponding to the reading time of the function value storage device 3 and the calculation time of the function value calculation device 4.

次に第1図および第2図を参照して動作の説明
を行なう。
Next, the operation will be explained with reference to FIGS. 1 and 2.

入力変数Xを信号線101へ供給し、同時に第
二のパルス信号を制御信号線701へ印加すれ
ば、入力変数Xはシフトレジスタ1へセツトさ
れ、かつその下位4ビツト即ち変数X0を表わす
信号が出力信号線102へ出力される。また第二
のパルス信号はカウンタ2および6をリセツト
し、レジスタ5へ初期値sinY0、cosY0をセツト
する。このとき関数値記憶装置3からはシフトレ
ジスタ1およびカウンタ2の出力信号により指示
される番地からsinX1、cosX1の値を読み出し関
数値演算装置4へ供給する。関数値演算装置4で
は前記sinX1、cosX1の値およびレジスタ5の出
力信号sinY0、cosY0の値を受けて、第(2),(3)式
によるところのsinY1、cosY1の値を得て、再び
レジスタ5へ供給する。ここで第二のパルス信号
はOR回路7を通過し、遅延回路8で前記sinY1
cosY1の値が算出されるまで遅延させられ、レジ
スタ5へ印加され、このタイミングでレジスタ5
の内容はsinY1、cosY1の値に更新される。次に
第一のパルス信号を連鈍して4個制御信号線60
1へ印加すると、シフトレジスタ1の出力信号線
102へは変数X2を表わす信号が出力される。
またカウンタ6の出力信号線602へ1個のキリ
ー信号が発生され、カウンタ2が1つ計数され
る。このとき関数値記憶装置3からは、sinX2
cosX2の値が読出され、レジスタ5の内容sinY1
cosY1と合せて関数値演算装置4でsinY2、cosY2
が得られる。前記キヤリー信号はOR回路7およ
び遅延回路8を通過し、前記sinY2、cosY2の値
を再びレジスタ5へ更新してセツトさせる。以下
第一のパルス信号の印加を繰返して、シフトレジ
スタ1から変数X4を表わす信号まで取出したと
き、レジスタ5へはsinY4、cosY4即ち求めると
ころのsinX、cosXの値が得られ、出力信号線5
01を通じて取出すことができる。
If input variable X is supplied to signal line 101 and a second pulse signal is applied to control signal line 701 at the same time, input variable X is set to shift register 1, and its lower 4 bits, that is, a signal representing variable is output to the output signal line 102. The second pulse signal also resets the counters 2 and 6 and sets the initial values sinY 0 and cosY 0 in the register 5. At this time, the values of sinX 1 and cosX 1 are read from the function value storage device 3 from the address indicated by the output signals of the shift register 1 and the counter 2 and supplied to the function value calculation device 4. The function value calculation device 4 receives the values of the sinX 1 and cosX 1 and the output signals sinY 0 and cosY 0 of the register 5, and calculates the values of sinY 1 and cosY 1 according to equations (2) and (3). and supplies it to the register 5 again. Here, the second pulse signal passes through the OR circuit 7, and the delay circuit 8 outputs the sinY 1 ,
It is delayed until the value of cosY 1 is calculated and applied to register 5, and at this timing register 5
The contents of are updated to the values of sinY 1 and cosY 1 . Next, the first pulse signal is serially slowed down to four control signal lines 60.
1, a signal representing the variable X 2 is output to the output signal line 102 of the shift register 1.
Also, one kill signal is generated to the output signal line 602 of the counter 6, and the counter 2 counts by one. At this time, from the function value storage device 3, sinX 2 ,
The value of cosX 2 is read, and the contents of register 5 sinY 1 ,
In addition to cosY 1 , function value calculation device 4 calculates sinY 2 and cosY 2
is obtained. The carry signal passes through the OR circuit 7 and the delay circuit 8, and the values of sinY 2 and cosY 2 are updated and set in the register 5 again. Thereafter , when the application of the first pulse signal is repeated and the signal representing the variable signal line 5
It can be taken out through 01.

16ビツトの精度の入力変数Xに対し全ての
sinX、cosXの値を記憶するためには65536ワード
のROMが必要であるのに対し、本実施例におけ
る関数値記憶装置3は64ワードであるため、約
1000分の1なる大巾な記憶容量の軽減が達成され
る。
For an input variable X with 16-bit precision, all
In order to store the values of sinX and cosX, 65536 words of ROM are required, whereas the function value storage device 3 in this embodiment has 64 words, so approximately
A huge reduction in storage capacity of 1/1000th is achieved.

第3図は第1図の入力変数Xを表わす16ビツト
の入力信号から4ビツトずつ4組の入力信号を順
次取出す手段1の第二の実施例を示す回路図であ
る。同一参照番号は同一構成要素を示すものであ
る。11は16ビツトのレジスタであり、制御信号
線701へ印加される第二のパルス信号により入
力信号線101へ供給される入力変数Xをセツト
する。12は選択回路である。103,104,
105および106はレジスタ11の出力信号線
であり、それぞれ上位から順に4ビツトずつの出
力信号を取出し、選択回路12へ供給する。選択
回路12はカウンタ2の出力信号線201を受
け、カウンタ2の指示によつて前記出力信号線1
03,104,105あるいは106の信号のい
ずれか一組を選択して出力信号線102へ出力す
る。
FIG. 3 is a circuit diagram showing a second embodiment of the means 1 for sequentially taking out four sets of input signals of 4 bits each from the 16-bit input signal representing the input variable X shown in FIG. Like reference numbers indicate like components. Reference numeral 11 denotes a 16-bit register, which sets the input variable X supplied to the input signal line 101 in response to the second pulse signal applied to the control signal line 701. 12 is a selection circuit. 103, 104,
Reference numerals 105 and 106 are output signal lines of the register 11, and output signals of 4 bits each are taken out in order from the higher order, and are supplied to the selection circuit 12. The selection circuit 12 receives the output signal line 201 of the counter 2 and selects the output signal line 1 according to an instruction from the counter 2.
One set of signals 03, 104, 105, or 106 is selected and output to the output signal line 102.

即ち本実施例によれば入力変数Xを表わす入力
信号から変数X1,…,X4を表わす入力信号を順
次かつ高速に取出すことができる。
That is, according to this embodiment, the input signals representing the variables X 1 , . . . , X 4 can be sequentially and rapidly extracted from the input signal representing the input variable X.

第4図は本発明の第三の実施例を説明するた
め、正弦・余弦関数値発生装置の一部の回路図を
示すものである。第一の実施例と対比して説明す
れば、 m=16、r=1、n=16 即ち、入力変数Xの16ビツトの入力信号から順
に1ビツトずつ従つて16組の入力信号を取出すも
のとする。
FIG. 4 shows a circuit diagram of a part of a sine/cosine function value generator for explaining a third embodiment of the present invention. To explain this in comparison with the first embodiment, m = 16, r = 1, n = 16. That is, 16 sets of input signals are taken one bit at a time from the 16-bit input signal of the input variable X. shall be.

第1図と同一参照番号のものは同一構成要素で
あり、全く同様にして構成されるものは図面を簡
略にするため省略した。
Components with the same reference numbers as those in FIG. 1 are the same components, and components configured in exactly the same way have been omitted to simplify the drawing.

2′は4ビツトのカウンタ、31は3値状態を
有するROM、32は3値状態を有する固定レジ
スタ、33はインバータである。
2' is a 4-bit counter, 31 is a ROM having a ternary state, 32 is a fixed register having a ternary state, and 33 is an inverter.

102′はシフトレジスタ1の下位1ビツトの
出力信号線であり、ROM31のチツプイネーブ
ル信号線およびインバータの入力信号線へ接続さ
れる。201′はカウンタ2′の4ビツトの出力信
号線であり、ROM31の番地信号線へ接続され
る。302および303はそれぞれROM31お
よび固定レジスタ32の出力信号線であり、関数
値記憶装置3の出力信号線301へワイヤード
ORにして接続される。304はインバータ33
の出力信号線で、固定レジスタ32のチツプイネ
ーブル信号線へ接続される。
Reference numeral 102' denotes an output signal line of the lower one bit of the shift register 1, which is connected to the chip enable signal line of the ROM 31 and the input signal line of the inverter. 201' is a 4-bit output signal line of the counter 2', which is connected to the address signal line of the ROM 31. 302 and 303 are output signal lines of the ROM 31 and fixed register 32, respectively, and are wired to the output signal line 301 of the function value storage device 3.
Connected with OR. 304 is an inverter 33
The output signal line is connected to the chip enable signal line of the fixed register 32.

ここで第(2)式は Xk=0または2k-1 k=1,…,16 と書き表される。即ち sinXk=sin0またはsin2k-1 cosXk=cos0またはcos2k-1 であり、sin0、cos0の値は各変数X1,…,X16
ついて共通であることが利用される。
Here, equation (2) is written as X k =0 or 2 k-1 k = 1,...,16. That is, sinX k = sin0 or sin2 k-1 cosX k = cos0 or cos2 k-1 , and it is utilized that the values of sin0 and cos0 are common to each variable X 1 , . . . , X 16 .

即ちROM31へはカウンタ2′の指示する番
地、即ちk−1番地の1ワードへsin2k-1
cos2k-1の値をそれぞれ上位半分、下位半分に書
込んでおく。ROM31は16ワードである。固定
レジスタ32へはsin0(=0)、cos0(=0)なる
定数を固定して記憶しておく。
That is, to the ROM 31, sin2 k-1 is sent to one word at the address indicated by the counter 2', that is, address k-1.
Write the values of cos2 k-1 in the upper half and lower half, respectively. ROM31 has 16 words. Constants sin0 (=0) and cos0 (=0) are fixed and stored in the fixed register 32.

第二のパルス信号によりシフトレジスタ1へセ
ツトされた入力変数Xの入力信号はその下位から
順に1ビツトずつ第一のパルス信号に同期して、
出力信号線102′へ出力され、また第二のパル
ス信号によりセツトされたカウンタ2′は第一の
パルス信号に同期して、取出された入力信号の組
番号を計数しかつROM31の番地を指示する。
このときシフトレジスタ1の出力信号即変数Xk
を表わす1ビツトが1のときROM31から
sin2k-1、cos2k-1の値を、0のとき個定レジスタ
32からsin0、cos0の値を読み出し、それぞれ出
力信号線302あるいは303へ出力される。出
力信号線302および303はワイヤードORの
関係でそのいずれか一方の信号を出力信号線30
1へ伝える。即ち出力線301へ得られる値は
sinXk、cosXkである。他の構成要素による動作
は第一の実施例におけるものと全く同様であるの
で省略する。
The input signal of the input variable
The counter 2', which is output to the output signal line 102' and set by the second pulse signal, counts the group number of the input signal taken out and indicates the address of the ROM 31 in synchronization with the first pulse signal. do.
At this time, the output signal of shift register 1 is an immediate variable X k
When 1 bit representing 1 is 1, from ROM31
When the values of sin2 k-1 and cos2 k-1 are 0, the values of sin0 and cos0 are read from the individual register 32 and output to the output signal line 302 or 303, respectively. The output signal lines 302 and 303 are in a wired OR relationship, so one of the signals is sent to the output signal line 30.
Tell 1. That is, the value obtained to the output line 301 is
sinX k and cosX k . The operations of the other components are completely the same as those in the first embodiment, and will therefore be omitted.

本実施例によれば、入力変数Xを表わす入力信
号から1ビツトずつ取出す場合には、各変数X1
…,Xoに対する共通の関数値sin0、cos0を共用
して記憶させることにより、さらにROMの記憶
容量を半減させる効果がある。
According to this embodiment, when extracting one bit from the input signal representing the input variable X, each variable X 1 ,
By sharing and storing the common function values sin0 and cos0 for ..., X o , there is an effect of further halving the storage capacity of the ROM.

以上実施例より類推して明らかなように、本発
明は他の三角関数あるいは双曲線関数の値を発生
させるためにも適用できる。上記実施例で、入力
変数Xに連続する数値を供給すれば連続した正
弦・余弦関数値が同時に得られるため、円弧発生
装置としても利用できるものである。
As is clear by analogy from the above embodiments, the present invention can also be applied to generating values of other trigonometric functions or hyperbolic functions. In the above embodiment, if continuous numerical values are supplied to the input variable X, continuous sine and cosine function values can be obtained at the same time, so it can also be used as an arc generator.

以上の説明により、本発明の効果は関数値記憶
装置の記憶容量を大幅に軽減でき、また繰返し計
数の回数は高々入力変数のビツト長までであり、
高速な関数値発生が可能となることである。
As explained above, the effect of the present invention is that the storage capacity of the function value storage device can be significantly reduced, and the number of repeated counting is at most the bit length of the input variable.
It is possible to generate function values at high speed.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の第一の実施例を説明するため
の正弦・余弦関数値発生装置の構成を示すブロツ
ク図、第2図は関数値演算装置の具体的な構成を
示す回路図、第3図は入力信号を複数個の組に分
けて取出す手段およびその周辺部の第二の実施例
を示す回路図、第4図は第三の実施例を説明する
ための正弦・余弦関数値発生装置の一部構成を示
す回路図である。図において、 1……入力信号を複数個の組に分け取出す手
段、11……入力変数Xのレジスタ、12……選
択回路、2,2′……入力信号の組番号を計数す
るカウンタ、3……関数値記憶装置、31……
ROM、32……固定レジスタ、33……インバ
ータ、4……関数値演算装置、41,42,4
3,44……乗算回路、45……加算回路、46
……減算回路、5……繰返し計算の結果を累積す
るレジスタ、6……カウンタ、7……OR回路、
8……遅延回路である。
FIG. 1 is a block diagram showing the configuration of a sine/cosine function value generator for explaining the first embodiment of the present invention, FIG. 2 is a circuit diagram showing the specific configuration of the function value calculation device, and FIG. Figure 3 is a circuit diagram showing a second embodiment of the means for dividing and extracting input signals into a plurality of sets and its peripheral parts, and Figure 4 is a sine/cosine function value generation diagram for explaining the third embodiment. FIG. 2 is a circuit diagram showing a partial configuration of the device. In the figure, 1... Means for dividing and extracting input signals into a plurality of groups, 11... Register for input variable X, 12... Selection circuit, 2, 2'... Counter for counting group numbers of input signals, 3 ...Function value storage device, 31...
ROM, 32...Fixed register, 33...Inverter, 4...Function value calculation device, 41, 42, 4
3, 44...Multiplication circuit, 45...Addition circuit, 46
...Subtraction circuit, 5...Register for accumulating the results of repeated calculations, 6...Counter, 7...OR circuit,
8...Delay circuit.

Claims (1)

【特許請求の範囲】[Claims] 1 二進符号化された入力変数に対する関数値を
繰返し計算して求める装置にして、前記入力変数
を表わす複数の二値入力信号の上位(あるいは下
位)から順に1または複数ビツトずつを一組とし
て順次取出す手段と、前記取出された入力信号の
組番号を順次計数するカウンタと、前記カウンタ
の出力信号および前記計数された組番号に属す入
力信号とで番地付けされた関数値記憶装置と、繰
返し計算による結果を累積するレジスタと、前記
関数値記憶装置の出力信号および前記レジスタの
出力信号を入力して、予じめ決められた組合せに
よる加減乗除演算を施し再び前記レジスタへの入
力とする関数値演算装置とを具備し、前記関数値
記憶装置には、前記各組毎にその組に属す入力信
号の表わす数値に対する関数値を前記番地付けに
従つて予じめ記憶しておき、前記カウンタが計数
する毎に、前記レジスタへ累積された数値と前記
関数値記憶装置から読出される関数値とから、前
記カウンタの計数した組番号までの全ての組に属
す入力信号の表わす数値に対する関数値を前記関
数値演算装置で算出し、これを前記レジスタへ累
積する手順を繰返して、前記入力変数に対する関
数値を得ることを特徴とする関数値発生装置。
1. A device that repeatedly calculates a function value for a binary-encoded input variable, and uses one or more bits as a set in order from the upper (or lower) of a plurality of binary input signals representing the input variable. a counter for sequentially counting the set numbers of the input signals taken out; a function value storage device addressed by the output signals of the counter and the input signals belonging to the counted set numbers; A register that accumulates calculation results, and a function that inputs the output signal of the function value storage device and the output signal of the register, performs addition, subtraction, multiplication, and division operations according to a predetermined combination, and inputs the result to the register again. the function value storage device stores in advance, for each group, a function value corresponding to a numerical value represented by an input signal belonging to the group according to the addressing, and the function value storage device every time the counter counts, the function value for the numerical value represented by the input signal belonging to all the groups from the numerical value accumulated in the register and the function value read from the function value storage device up to the group number counted by the counter. A function value generation device, characterized in that the function value for the input variable is obtained by repeating a procedure of calculating the function value in the function value calculation device and accumulating the calculated value in the register.
JP11756579A 1979-09-13 1979-09-13 Function value generator Granted JPS5640930A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11756579A JPS5640930A (en) 1979-09-13 1979-09-13 Function value generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11756579A JPS5640930A (en) 1979-09-13 1979-09-13 Function value generator

Publications (2)

Publication Number Publication Date
JPS5640930A JPS5640930A (en) 1981-04-17
JPS633329B2 true JPS633329B2 (en) 1988-01-22

Family

ID=14714952

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11756579A Granted JPS5640930A (en) 1979-09-13 1979-09-13 Function value generator

Country Status (1)

Country Link
JP (1) JPS5640930A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4942253A (en) * 1972-03-06 1974-04-20
JPS4977546A (en) * 1972-11-27 1974-07-26
JPS513143A (en) * 1974-06-25 1976-01-12 Nippon Soken

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4942253A (en) * 1972-03-06 1974-04-20
JPS4977546A (en) * 1972-11-27 1974-07-26
JPS513143A (en) * 1974-06-25 1976-01-12 Nippon Soken

Also Published As

Publication number Publication date
JPS5640930A (en) 1981-04-17

Similar Documents

Publication Publication Date Title
US3813529A (en) Digital high order interpolator
US3569684A (en) Sine-cosine generator comprised of a diode array
JPS633329B2 (en)
US3644724A (en) Coded decimal multiplication by successive additions
JPS633330B2 (en)
US4323978A (en) Arithmetic element based on the DDA principle
US3469253A (en) Data conversion system
US3039688A (en) Digital incremental computer
EP0067862B1 (en) Prime or relatively prime radix data processing system
SU813286A1 (en) Device for spectrum analysis
CN117573069B (en) CORDIC algorithm chip
JPS58151644A (en) Digital operating device
CN112463215B (en) Data processing method, device, computer readable storage medium and computer equipment
SU840920A1 (en) Computing unit of digital network model for solving differential equations
JPS633331B2 (en)
US3235846A (en) Data processing system
SU881741A1 (en) Digital logarithmic converter
SU841052A1 (en) Shift register-based storage device
SU1104510A1 (en) Digital device for calculating sine-cosine dependences
SU1119006A1 (en) Device for dividing numbers
SU896631A1 (en) Device for quick fourier transform of a series with zero elements
SU847319A1 (en) Device for taking logarithms of binary number files
SU1056183A1 (en) Device for dividing numbers
SU1640709A1 (en) Device for fast fourier transforms
SU734669A1 (en) Converter of proper binary fraction into binary-decimal fraction and integer binary-decimal numbers into binary numbers