JPH0433071B2 - - Google Patents

Info

Publication number
JPH0433071B2
JPH0433071B2 JP60057483A JP5748385A JPH0433071B2 JP H0433071 B2 JPH0433071 B2 JP H0433071B2 JP 60057483 A JP60057483 A JP 60057483A JP 5748385 A JP5748385 A JP 5748385A JP H0433071 B2 JPH0433071 B2 JP H0433071B2
Authority
JP
Japan
Prior art keywords
value
approximate
function
data
binary number
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 - Lifetime
Application number
JP60057483A
Other languages
Japanese (ja)
Other versions
JPS61216025A (en
Inventor
Masayuki Tanaka
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 JP60057483A priority Critical patent/JPS61216025A/en
Publication of JPS61216025A publication Critical patent/JPS61216025A/en
Publication of JPH0433071B2 publication Critical patent/JPH0433071B2/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

Description

【発明の詳細な説明】 「産業上の利用分野」 この発明は二進数Yに対する関数fの近似値を
生成する近似関数値生成回路に関すする。
DETAILED DESCRIPTION OF THE INVENTION "Field of Industrial Application" The present invention relates to an approximate function value generation circuit that generates an approximate value of a function f for a binary number Y.

「従来の技術」 従来、この種の近似関数値生成回路は、内容と
して指定アドレスに対する近似関数値をたくわえ
たメモリを用意し、関数値を求めたい値でそのメ
モリのアドレス指定を行い、内容を読出すことに
より近似関数値を求める第1の方式のものと、関
数値を計算により求めるための計算用ハードウエ
アを用いる第2の方式のものとが一般的であつ
た。
``Prior Art'' Conventionally, this type of approximate function value generation circuit prepares a memory in which the approximate function value for a specified address is stored, addresses the memory with the value for which the function value is to be found, and writes the contents. The first method, which obtains approximate function values by reading, and the second method, which uses calculation hardware to obtain the function values by calculation, have been common.

また特開昭57−204931号公報の文献には入力デ
ータの任意の関数を発生するデジタル非線形変換
器が開示されており、さらに特開昭59−109975号
公報の文献には、所定関数に従い時間的に変化す
る関数値を所定周期ごとに出力する関数発生装置
が開示されている。
Furthermore, the document of JP-A No. 57-204931 discloses a digital nonlinear converter that generates an arbitrary function of input data, and the document of JP-A-59-109975 discloses a digital nonlinear converter that generates an arbitrary function of input data. 2. Description of the Related Art A function generating device is disclosed that outputs a function value that changes periodically at predetermined intervals.

「発明が解決しようとする問題点」 前者の第1の方式は関数値を求めようとする数
値の桁数が増大するにつれ、必要とするメモリの
アドレス指定数が指数関数的に増大する、これに
伴つて必要なメモリ容量も又指数関数的に増大す
るという欠点があつた。
``Problems to be Solved by the Invention'' In the first method, as the number of digits of the numerical value for which the function value is to be determined increases, the number of required memory addresses increases exponentially. The disadvantage is that the required memory capacity also increases exponentially.

一方、後者の第2の方式によれば近似関数値を
得るまでの時間が大であり、又近似関数値生成シ
ーケンスも複雑となりがちであるという欠点があ
つた。
On the other hand, the latter second method has disadvantages in that it takes a long time to obtain the approximate function value, and the approximate function value generation sequence tends to be complicated.

また従来の技術で引用した「非線形変換器」や
「関数発生装置」の手法によれば確かに前述の基
本的問題は解決される。しかしながら、これらの
手法が近似である以上、精度保証の問題が常につ
きまとう。ところで精度保証をする上において、
少しでも方式上の基本精度が高い方が精度保証が
し易いのは当然である。すなわち方式上の基本精
度の高さによりメモリや乗算器/加算器のビツト
幅が狭くて済んだりする。また実際の値として設
定された誤差範囲内であることの保証の必要が無
かつたとしても、精度が高いというのはそれ自体
望ましいことと言える。前述の非線形変換器や関
数発生装置の従来技術は、いずれも基本的手法と
して、この発明の記号を用いれば f(Y)=f(y0+y1) ≒f^(y0)+f^(1)(y0)・y1 注:メモリのビツト幅は有限であることから一
般にはf(y0),f(1)(y0)は正確には求まらず、有
限ビツト幅で表現可能な真値に近いf^(y0)+f^(1)
(y0)(近似値)で代用することになる。
Moreover, the above-mentioned basic problem can certainly be solved by the methods of "nonlinear converter" and "function generator" cited in the prior art. However, since these methods are approximations, there is always the problem of ensuring accuracy. By the way, in order to guarantee accuracy,
Naturally, it is easier to guarantee accuracy if the basic accuracy of the method is even slightly higher. In other words, due to the high basic precision of the system, the bit width of the memory and multiplier/adder can be narrow. Further, even if there is no need to guarantee that the actual value is within a set error range, high accuracy is desirable in itself. In all of the conventional techniques of nonlinear converters and function generators mentioned above, if the symbol of this invention is used as a basic method, f(Y)=f(y 0 +y 1 ) ≒f^(y 0 )+f^( 1) (y 0 )・y 1 Note: Since the bit width of memory is finite, generally f(y 0 ) and f(1)(y 0 ) cannot be determined accurately, but with a finite bit width. f^(y 0 ) + f^(1) close to the representable true value
(y 0 ) (approximate value) will be substituted.

なる関係を用いており、第3図に示すような近似
手法によつていることになる。一見常識的な手法
と思われるこの点に精度向上のための余地が残さ
れているのであり、本発明は正にこの余地を改善
すべき問題点と捕らえ、その精度向上の解決を主
眼としたものである。
This is based on the approximation method shown in FIG. 3. This seems to be a common sense method at first glance, but there remains room for improvement in accuracy.The present invention regards this room as a problem that should be improved, and focuses on solving this problem to improve accuracy. It is something.

「問題点を解決するための手段」 この発明によれば二進数Yから重みの重い値y0
を持つ第一の部分及び重みの軽い値y1を持つ第二
の部分が取出され、その第一の部分をアドレスと
してメモリが読み出される。そのメモリには前記
y0にそのy0の最下位ビツトの重みω0の1/2の値 ω0/2を加えた値y0+ω0/2における関数fの近似値
f^ (y0+ω0/2)と、その第一次微係数の近似値f^(1)(
y0 +ω0/2)とがそれぞれ第一のデータ及び第二のデ ータとして記憶されてある。前記読み出された第
二の部分の値y1からそのy1の最上位ビツトを反転
することによりy1−ω0/2の計算結果を2の補数表 現による符号付二進数y1′が減算手段で生成され、
この符号付二進数y1′及び前記読み出された第二
のデータは乗算手段で互に乗算されて補正値が計
算され、この補正値と前記読み出された第一のデ
ータは加算手段で加算されて補正演算が行われ、
前記二進数Yの関数fに対する近似関数値が出力
される。
"Means for Solving Problems" According to this invention, a heavily weighted value y 0 is obtained from a binary number Y.
The first part with the value y 1 and the second part with the light weight value y 1 are taken out, and the memory is read out using the first part as an address. That memory has the above
Approximate value of the function f at the value y 0 + ω 0 /2, which is the sum of y 0 and 1/2 value ω 0 /2 of the weight ω 0 of the least significant bit of y 0
f^ (y 0 + ω 0 /2) and its first derivative approximate value f^(1) (
y 00 /2) are stored as first data and second data, respectively. By inverting the most significant bit of y 1 from the value y 1 of the second part read out, the calculation result of y 1 −ω 0 /2 is expressed as a signed binary number y 1 ' in two's complement representation. generated by subtractive means,
This signed binary number y 1 ′ and the read second data are multiplied together by a multiplier to calculate a correction value, and this correction value and the read first data are combined by an adder. are added and a correction calculation is performed,
An approximate function value for the function f of the binary number Y is output.

一般に、データXがX=x+Δxにおける関数
gの近似値を求めるのに際し、 g(X)1=g(x+Δx)≒g(x)+g(1)(x)

Δx なる形で近似計算を行う場合、Δxの絶対値が小
さければ小さい程近似精度は高くなる。
Generally, when finding the approximate value of a function g where the data X is X=x+Δx, g(X)1=g(x+Δx)≒g(x)+g(1)(x)

When performing approximate calculations in the form Δx, the smaller the absolute value of Δx, the higher the approximation accuracy.

本発明によれば、 f(Y)=f(y0+y1) =f[(y0+ω0/2)+(y1−ω0/2)] =f[(y0+ω0/2)+y1′] ≒f^(y0+ω0/2)+f^1(1)(y0+ω0/2)・
y1′ 注:メモリのビツト幅は有限であることから一
般にはf(y0+ω0/2),f(1)(y0+ω0/2)は正確
には 求まらず、有限ビツト幅で表現可能な真値に近い
値 f^(y0+ω0/2),f^(1)(y0+ω0/2)(近似値) で代用することになる。
According to the invention, f(Y)=f( y0 + y1 )=f[( y0 + ω0 /2)+( y1ω0 /2)]=f[( y0 + ω0 /2) )+y 1 ′] ≒f^(y 00 /2)+f^ 1 (1)(y 00 /2)・
y 1 ′ Note: Since the bit width of memory is finite, generally f(y 0 + ω 0 /2) and f(1)(y 0 + ω 0 /2) cannot be determined accurately; Values f^ (y 0 + ω 0 /2) and f^(1) (y 0 + ω 0 /2) (approximate values), which are close to the true value and can be expressed in width, are substituted.

なる関数を用いて近似計算を行つており、これを
巧妙にデジタル二進演算に適用した形となつてい
る。すなわち、例えば下記の計算を行う場合、ビ
ツト反転で済ませてしまうなどしているといつた
点である。
Approximate calculations are performed using the following functions, and this is cleverly applied to digital binary operations. That is, for example, when performing the following calculation, it is said that it is done by reversing the bits.

y1′=y1−ω0/2 こゝで前述のΔxに相当する部分に関し、「従来
の技術」で説明した手法と、本発明の手法を比較
すると、 Δx=y1…「従来技術の手法」 Δx=y1′…「本発明の手法」 であり、とり得る値の範囲は、前者が |y1|<ω0 であるのに対し、後者が y1′=y1−ω0/2より |y1′|≦ω0/2 となり、本発明による手法の方が精度の上で優れ
ていることが判る。つまり、本手法は第4図に示
すような近似手法によつており、このことは精度
が高いという事実に合致したイメージを与えてい
る。本発明ではy1′を求める場合、どうして単な
るビツト反転により減算が可能であり、しかも、
その結果が符号付二進数として得られるのか、と
いう点について簡単に説明すれば、まずy1のとり
得る値の範囲は、 0≦y1<ω0 である。またy1は重みω0の位置に0を補つてこ
れを符号と考えれば、2の補数表現による符号付
二進数とみなすことができる。第5図に示すよう
に、y1における重みω0/2の位置は最上位ビツ
トの位置であることから、ω0/2を減じるという操 作は最上位ビツトの位置から1を減ずるというこ
とであり、つまりビツト反転の操作である。この
とき、減算の結果であるy1′のとり得る値の範囲
は −ω0/2≦y1′≦ω0/2 であり、結果としてω0/2の位置、すなわち最上位 ビツトの位置が符号を表すことになる。よつて単
なるビツト反転により減算が可能であり、その結
果を符号付二進数として得ることができる。
y 1 ′=y 1 −ω 0 /2 Now, regarding the portion corresponding to Δx mentioned above, when comparing the method explained in “Prior art” with the method of the present invention, Δx=y 1 … “Prior art Δx=y 1 ′..."method of the present invention", and the range of possible values is |y 1 |<ω 0 for the former, while y 1 ′=y 1 −ω for the latter. From 0/2 , |y 1 ′|≦ω 0 /2, and it can be seen that the method according to the present invention is superior in accuracy. In other words, this method relies on an approximation method as shown in FIG. 4, which gives an image consistent with the fact that the accuracy is high. In the present invention, when calculating y 1 ', how is it possible to perform subtraction by simply reversing the bits?
To briefly explain whether the result can be obtained as a signed binary number, the range of possible values of y 1 is 0≦y 10 . Furthermore, if y 1 is supplemented with 0 at the position of weight ω 0 and considered as a sign, it can be regarded as a signed binary number expressed in two's complement. As shown in Figure 5, the position of the weight ω 0 /2 in y 1 is the position of the most significant bit, so the operation of subtracting ω 0 /2 means subtracting 1 from the position of the most significant bit. Yes, in other words, it is a bit inversion operation. At this time, the range of possible values of y 1 ', which is the result of subtraction, is -ω 0 /2≦y 1 '≦ω 0 /2, and the result is the position of ω 0 /2, that is, the position of the most significant bit. will represent the sign. Therefore, subtraction is possible by simple bit inversion, and the result can be obtained as a signed binary number.

「実施例」 次にこの発明について図面を参照して説明す
る。第1図はこの発明の一実施例の近似関数値生
成回路を示す。メモリ10は二進数の数値Yの第
一の部分(重みの重い値y0)を線1を介しアドレ
ス指定入力し、これに応じて読み出されたデータ
中の第一のデータを線101に、第二のデータを
線102にそれぞれ出力するものである。前記第
一のデータは前記y0と、そのy0の最下位ビツトの
重みω0の1/2の値ω0/2を加えた値y0+ω0/2に
おける 関数fの近似値f^(y0+ω0/2)であり、第二のデー タはy0+ω0/2における関数fの微係数の近似値f^(1) (y0+ω0/2)である。減算器40は線2を介して 供給される数値Yの第二の部分(重みの軽い値
y1)の最上位ビツトを反転し、y1−ω0/2の計算結 果を2の補数表現による符号付二進数y1′として
線401に出力するものであり、乗算器20は線
401よりの二進数y1′を、又メモリ10からの
第二のデータを受け、これらを互に乗ずることに
より数値Yの補正値を計算して線201に出力す
るものであり、加算器30はメモリ10からの第
一のデータ及び乗算器20からの補正値を受け、
両者を加算することにより補正を行い、最終結果
である数値Yの近似関数値を出力するものであ
る。
"Example" Next, the present invention will be described with reference to the drawings. FIG. 1 shows an approximate function value generation circuit according to an embodiment of the present invention. The memory 10 inputs the first part of the binary value Y (value y 0 with heavy weight) through the line 1, and accordingly inputs the first data among the read data onto the line 101. , and second data to the lines 102, respectively. The first data is the approximate value f^ of the function f at the value y 0 + ω 0 /2, which is the sum of y 0 and the value ω 0 /2, which is 1/2 of the weight ω 0 of the least significant bit of y 0. (y 00 /2), and the second data is an approximate value f^(1) (y 0 +ω 0 /2) of the differential coefficient of the function f at y 00 /2. The subtractor 40 is connected to the second part (the less weighted value) of the numerical value Y supplied via line 2.
The most significant bit of y 1 ) is inverted and the calculation result of y 1 −ω 0 /2 is output as a signed binary number y 1 ' in two's complement representation to line 401. The adder 30 receives the binary number y 1 ' of receiving the first data from the memory 10 and the correction value from the multiplier 20;
Correction is performed by adding the two, and the final result, which is the approximation function value of the numerical value Y, is output.

以下実例によりこの実施例の動作を説明する
が、解り易さのため、近似逆数生成回路として関
数fはf:y−1/yであり、数値Yが符号付二進 数で2の補数により負の値を表現するもので、必
ず正規化されているものとし、メモリ10にはア
ドレス入力y0に対し、第一のデータとして関数f
の近似値1/(y0+ω0/2)の近似値が12ビツト で、第二のデータとして関数fの第一次微係数の
−1/(y0+ω0/2)2の近似値が10ビツトでそれぞ れ格納され、数値Yの第一の部分y0を先頭(上
位)から5ビツト、第二の部分y1を第6〜第9ビ
ツトとした場合について説明する。
The operation of this embodiment will be explained below using an example.For ease of understanding, the function f is f:y-1/y as an approximate reciprocal generator, and the numerical value Y is a signed binary number and is negative by two's complement. It is assumed that the value is always normalized, and the memory 10 has the function f
The approximate value of 1/(y 0 + ω 0 /2) is 12 bits, and the second data is the approximate value of -1/(y 0 + ω 0 /2) 2 of the first derivative of the function f. A case will be explained in which the first part y 0 of the numerical value Y is stored as 5 bits from the top (higher), and the second part y 1 is stored as 6th to 9th bits.

この場合メモリ10は数値Yの先頭から5ビツ
トの値y0によりアドレス指定されるが、数値Yが
正規化されている場合には、符号ビツトの値がS
であるとした時、第2ビツトは必ずであること
から、実際には先頭ビツトはアドレス指定には用
いる必要がなく、第2ビツト目からの4ビツトに
よりアドレス指定を行うものとする。この様子と
メモリ10の記憶内容とを第2図に示す。
In this case, the memory 10 is addressed by the value y0 of the first five bits of the number Y, but if the number Y is normalized, the value of the sign bit is S.
Since the second bit is always required, the first bit does not actually need to be used for addressing, and the four bits starting from the second bit are used for addressing. This situation and the contents stored in the memory 10 are shown in FIG.

ここでは初めに数値Yが符号付二進数0,
10011010…の場合について順に各部の動作を説明
する。まず数値Yの第一の部分y0を規定する第2
〜第5ビツトの値1001が線1を介してメモリ10
をアドレス指定し、これを受けたメモリ10は二
進値0,10011の逆数の近似値である符号付二進
値001,101011110を数値Yの初期近似逆数(第一
のデータ)として線101に出力すると共に、関
数f:y→1/yの二進値0,10011における第一次 の微係数の近似値101,0010101を第二のデータ
(符号付二進値)として線102に出力する。減
算器40は数値Yの第二の部分y1である値0,
00001010の下位4ビツトとして値1010を線2を介
し受け、その最上位ビツト1を反転して0として
線401に符号付二進値0,00000010の下位4ビ
ツトとしての値0010を出力する。乗算器20はこ
の値0010を線401を介し受け、又関数f:y→
1/yの、二進値0,10011における第一次の微係数 の近似値(第二のデータ)101,0010101を線10
2を介して受け、両者を乗算することにより数値
Yの初期近似逆数の補正値.111110100を符号付
二進数として線201に出力する。最後に加算器
30は線101を介し数値Yの初期近似逆数(第
一のデータ)001,101011110を受け、又線201
を介し数値Yの初期近似逆数の補正値.
111110100を受け、必要に応じ符号の拡張を施し
て加算することにより所望の数値Yの近似逆数
001,101010011を符号付二進数として線301よ
り出力する。
Here, initially the number Y is a signed binary number 0,
The operation of each part will be explained in order for the case of 10011010.... First, the second part that defines the first part y 0 of the numerical value Y
~5th bit value 1001 is sent to memory 10 via line 1
The memory 10 receives the address and writes the signed binary values 001, 101011110, which are approximate values of the reciprocals of the binary values 0, 10011, to the line 101 as the initial approximate reciprocal (first data) of the numerical value Y. At the same time, the approximate value 101, 0010101 of the first-order differential coefficient at the binary value 0, 10011 of the function f:y→1/y is output as second data (signed binary value) to the line 102. . The subtractor 40 subtracts the value 0, which is the second part y 1 of the number Y.
The value 1010 as the lower 4 bits of 00001010 is received via line 2, and the most significant bit 1 is inverted to 0, and the value 0010 as the lower 4 bits of the signed binary value 0,00000010 is output on line 401. Multiplier 20 receives this value 0010 via line 401, and also receives function f:y→
The approximate value (second data) of the first differential coefficient of 1/y at the binary value 0, 10011 (second data) 101, 0010101 is the line 10
2 and multiplying both to obtain a corrected value of the initial approximate reciprocal of the number Y. 111110100 is output on line 201 as a signed binary number. Finally, the adder 30 receives the initial approximate reciprocal (first data) 001, 101011110 of the numerical value Y via the line 101, and
A correction value of the initial approximate reciprocal of the numerical value Y.
111110100, add it with sign extension as necessary to obtain the approximate reciprocal of the desired value Y
001, 101010011 are output from line 301 as signed binary numbers.

次に数値Yが符号付二進数1,00100101…の場
合について順に各部の動作を説明する。まず数値
Yの第一の部分y0を規定する第2〜第5ビツトの
値0010が線1を介してメモリ10をアドレス指定
し、これを受けたメモリ10は線101に二進値
1,00101の逆数の近似値(第一のデータ)であ
る符号付二進値110,110100001をYの初期近似逆
数として出力すると共に線102には、関数f:
y→1/yの、二進値1,00101における第一次の微 係数の近似値(第二のデータ)110,1001100を符
号付二進値として出力する。減算器40は数値Y
の第二の部分y1である値0,00000101の下位4ビ
ツトとして値0101を線2を介し受け、その最上位
ビツトを反転して線401に符号付二進値1,
11111101の下位4ビツトとしての値1101を出力す
る。乗算器20はこの値を線401を介し受け、
又関数f:y→1/yの、二進値1,00101における 第一次の微係数の近似値110,1001100を線102
を介して受け、両者を乗乗算することにより数値
Yの初期近似逆数の補正値.0000010001を符号付
二進数として線201に出力する。最後に加算器
30は線101を介して数値Yの初期近似逆数
110,110100001を受け、又線201を介して数値
Yの初期近似逆数の補正値.0000010001を受け、
必要に応じ符号の拡張を施し、互に加算すること
により所望の数値Yの近似逆数値110,110101010
を符号付二進数として線301より出力する。
Next, the operation of each part will be explained in order for the case where the numerical value Y is a signed binary number 1, 00100101, . . . . First, the value 0010 of the second to fifth bits defining the first part y0 of the numerical value Y addresses the memory 10 via the line 1, and the memory 10 receives the binary value 1 on the line 101, Signed binary values 110 and 110100001, which are approximate values (first data) of the reciprocal of 00101, are output as the initial approximate reciprocal of Y, and the line 102 shows the function f:
An approximate value (second data) 110, 1001100 of the first-order differential coefficient in the binary value 1,00101 of y→1/y is output as a signed binary value. The subtracter 40 is a numerical value Y
The value 0101 is received on line 2 as the lower 4 bits of the value 0,00000101, which is the second part of y 1 , and its most significant bit is inverted and the signed binary value 1,
Outputs the value 1101 as the lower 4 bits of 11111101. Multiplier 20 receives this value via line 401;
Also, the approximate value 110, 1001100 of the first-order differential coefficient of the function f: y → 1/y at the binary value 1, 00101 is expressed by the line 102.
By multiplying both values, a correction value of the initial approximation reciprocal of the numerical value Y is obtained. 0000010001 is output on line 201 as a signed binary number. Finally, the adder 30 outputs the initial approximate reciprocal of the number Y via the line 101.
110, 110100001, and a correction value of the initial approximation reciprocal of the numerical value Y via the line 201. Receive 0000010001,
Approximate inverse value 110, 110101010 of desired value Y is obtained by extending the sign as necessary and adding them together.
is output from line 301 as a signed binary number.

尚、各構成要素出力の算出ビツト長及び小数点
の位置等は、所望の条件に応じ適宜定まることは
言うまでもない。
It goes without saying that the calculated bit length, decimal point position, etc. of each component output can be determined as appropriate depending on desired conditions.

「発明の効果」 以上説明したようにこの発明は、初期近似関数
値を求めるのに必要な小容量のメモリ手段と、わ
ずかな金物量の減算手段と、それにより効率化さ
れた乗算手段及び加算手段という単純且つ小規模
な回路構成により、少ない金物量で且つ高速、高
効率に近似関数値を算出することができる効果が
ある。
``Effects of the Invention'' As explained above, the present invention provides a small-capacity memory means necessary for determining the initial approximation function value, a means for subtracting a small amount of metal objects, and a multiplication means and an addition method that are made more efficient thereby. The simple and small-scale circuit configuration of the means has the advantage of being able to calculate approximate function values quickly and efficiently with a small amount of hardware.

また本発明と同類もしくは類似の形式を用いる
他の関数値近似機構と比較しても、ハードウエア
の効率が良く、より高い精度の確保ができるとい
う効果がある。
Furthermore, compared to other function value approximation mechanisms that use the same or similar formats to the present invention, the present invention has the advantage of being more efficient in terms of hardware and ensuring higher accuracy.

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

第1図はこの発明の近似関数値生成回路の実施
例を示すブロツク図、第2図は第1図中のメモリ
10のアドレスとその内容とを示す図、第3図は
従来技術による近似手法を示す図、第4図はこの
発明の構成による近似手法を示す図、第5図はこ
の発明で規定しているy1′を生成する手段の原理
を説明する図である。 10……メモリ、20……乗算器、30……加
算器、40……減算器。
FIG. 1 is a block diagram showing an embodiment of the approximation function value generation circuit of the present invention, FIG. 2 is a diagram showing the addresses and contents of the memory 10 in FIG. 1, and FIG. 3 is an approximation method according to the prior art. FIG. 4 is a diagram showing an approximation method according to the configuration of the present invention, and FIG. 5 is a diagram explaining the principle of the means for generating y 1 ' defined in the present invention. 10...memory, 20...multiplier, 30...adder, 40...subtractor.

Claims (1)

【特許請求の範囲】 1 二進数Yから重みの重い値y0を持つ第一の部
分及び重みの軽い値y1を持つ第二の部分を取り出
す手段と、 前記第一の部分をアドレスとして入力すること
により前記y0にそのy0の最下位ビツトの重みω0
の1/2の値ω0/2を加えた値y0+ω0/2における関
数f の近似値f^(y0+ω0/2)及びその第一次微係数の近 似値f^(1)(y0+ω0/2)をそれぞれ第一のデータ及び 第二のデータとして出力するメモリ手段と、 前記第二の部分の値y1からそのy1の最上位ビツ
トを反転することによりy1−ω0/2の計算結果を2 の補数表現による符号付二進数y1′として得るた
めの減算手段と、 その符号付二進数y1′及び前記第二のデータを
受け、これらを互いに乗算することにより補正値
を計算して出力する乗算手段と、 前記第一のデータ及び前記補正値を入力して互
いに加算することにより補正を行い、前記二進数
Yに対する前記関数fの近似関数値を出力する加
算手段とを有することを特徴とする近似関数値生
成回路。
[Claims] 1. Means for extracting a first part having a heavy weight value y 0 and a second part having a light weight value y 1 from a binary number Y, and inputting the first part as an address. By doing so, the weight of the least significant bit of y 0 is given to y 0 by ω 0
The approximate value f^(y 00 /2) of the function f at the value y 00 /2, which is the sum of 1/2 of the value ω 0 /2, and the approximate value f^(1 )(y 00 / 2 ) as first data and second data, respectively; a subtraction means for obtaining the calculation result of 1 −ω 0 /2 as a signed binary number y 1 ′ in two's complement representation; a multiplier that calculates and outputs a correction value by multiplying; and a multiplier that performs correction by inputting the first data and the correction value and adding them together to calculate an approximate function value of the function f for the binary number Y; 1. An approximate function value generation circuit comprising: addition means for outputting .
JP60057483A 1985-03-20 1985-03-20 Generating circuit for approximate function value Granted JPS61216025A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60057483A JPS61216025A (en) 1985-03-20 1985-03-20 Generating circuit for approximate function value

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60057483A JPS61216025A (en) 1985-03-20 1985-03-20 Generating circuit for approximate function value

Publications (2)

Publication Number Publication Date
JPS61216025A JPS61216025A (en) 1986-09-25
JPH0433071B2 true JPH0433071B2 (en) 1992-06-02

Family

ID=13056954

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60057483A Granted JPS61216025A (en) 1985-03-20 1985-03-20 Generating circuit for approximate function value

Country Status (1)

Country Link
JP (1) JPS61216025A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57204931A (en) * 1981-06-12 1982-12-15 Nec Corp Nonlinear converter
JPS59109975A (en) * 1982-12-14 1984-06-25 Mitsubishi Electric Corp Function generating device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57204931A (en) * 1981-06-12 1982-12-15 Nec Corp Nonlinear converter
JPS59109975A (en) * 1982-12-14 1984-06-25 Mitsubishi Electric Corp Function generating device

Also Published As

Publication number Publication date
JPS61216025A (en) 1986-09-25

Similar Documents

Publication Publication Date Title
US4823301A (en) Method and circuit for computing reciprocals
US5737253A (en) Method and apparatus for direct digital frequency synthesizer
US5224064A (en) Transcendental function approximation apparatus and method
JPS5961220A (en) Digital dpcm coder
JPH0433071B2 (en)
JP4696920B2 (en) DDS signal generator
JP2644514B2 (en) Function operation unit
JPH10320524A (en) Look-up table device and image generator
JP3538512B2 (en) Data converter
JP3235125B2 (en) Digital signal processing circuit
US5684730A (en) Booth multiplier for trigonometric functions
RU2136041C1 (en) Device for computing elementary functions by table-and-algorithm method
JP2914813B2 (en) Error correction decoding device
JP3223560B2 (en) Waveform data reading device
JP4196434B2 (en) Data rounding method and data rounding device
JP2000081968A (en) Arithmetic unit for reciprocal
JPH074658Y2 (en) Logarithmic conversion circuit
US20080091754A1 (en) Reciprocal calculation unit and reciprocal calculation method
JPS61216026A (en) Generating circuit for approximate function value
JPH09218776A (en) Multiplication circuit
JP3078696B2 (en) Reciprocal arithmetic unit
JP2828791B2 (en) A method for quantizing partial sums used in the product-sum operation
JP2870018B2 (en) Product-sum operation circuit
JPH0334615A (en) Digital filter
JPS63240626A (en) Function computing element