[go: up one dir, main page]

JP2591463B2 - リミッタ装置 - Google Patents

リミッタ装置

Info

Publication number
JP2591463B2
JP2591463B2 JP5346988A JP34698893A JP2591463B2 JP 2591463 B2 JP2591463 B2 JP 2591463B2 JP 5346988 A JP5346988 A JP 5346988A JP 34698893 A JP34698893 A JP 34698893A JP 2591463 B2 JP2591463 B2 JP 2591463B2
Authority
JP
Japan
Prior art keywords
output
input
bit
outputs
data
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
JP5346988A
Other languages
English (en)
Other versions
JPH07191825A (ja
Inventor
英男 石田
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 JP5346988A priority Critical patent/JP2591463B2/ja
Priority to DE69427339T priority patent/DE69427339T2/de
Priority to EP94120296A priority patent/EP0660226B1/en
Priority to US08/360,359 priority patent/US5504697A/en
Publication of JPH07191825A publication Critical patent/JPH07191825A/ja
Application granted granted Critical
Publication of JP2591463B2 publication Critical patent/JP2591463B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30021Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
    • 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/02Comparing digital values
    • G06F7/026Magnitude comparison, i.e. determining the relative order of operands based on their numerical value, e.g. window comparator
    • 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
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow
    • G06F7/49921Saturation, i.e. clipping the result to a minimum or maximum value

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Tone Control, Compression And Expansion, Limiting Amplitude (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、リミッタ装置に関し、
特にリミット動作を高速化したリミッタ装置に関する。
【0002】
【従来の技術】従来のリミッタ装置の一例として、特開
昭60−220402号公報に提案されたリミッタ装置
に基づき図2を参照して説明する。
【0003】図2は従来のリミッタ装置の一構成を示し
ている。図2において、101は演算回路、201はリ
ミットする上限値データ、202はリミットする下限値
データである。また、102は上限値201と演算回路
101が出力するデータとの大小判定を行う第1の比較
回路、103は下限値202と演算回路101が出力す
るデータとの大小判定を行う第2の比較回路、104は
演算回路101の出力と上限値201と下限値202の
うちいずれか一を選択出力する選択回路である。
【0004】次に図2のリミッタ装置の動作を説明す
る。演算回路101の出力が上限値201と下限値20
2の範囲内の場合には、選択回路104はそのまま演算
回路101の出力を選択し、演算回路101の出力が上
限値201と下限値202の範囲外の場合には、選択回
路104は設定した上限値201又は下限値202を選
択し、演算回路101の出力を制限する。
【0005】第1の比較回路102、は上限値201と
演算回路101の出力値との大小判定を行う。第1の比
較回路102は、演算回路101の出力データが上限値
201より大きい場合にはHighレベルを出力し、逆
に、小さい場合にはLowレベルを出力する。
【0006】また、第2の比較回路103は、下限値2
02と演算回路101の出力値との大小判定を行う。第
2の比較回路103は、演算回路101の出力データが
下限値202より小さい場合にはHighレベルを出力
し、逆に、大きい場合にはLowレベルを出力する。
【0007】第1の比較回路102の判定結果がHig
hレベルで、且つ第2の比較回路103の判定結果がL
owレベルの場合、上限値201が選択され選択回路1
04から出力される。
【0008】逆に、第1の比較回路102の判定結果が
Lowレベルで、且つ第2の比較回路103の判定結果
がHighレベルの場合、下限値202が選択され選択
回路104から出力される。
【0009】第1の比較回路102の判定結果及び第2
の比較回路103の判定結果が共にLowレベルの場合
は、選択回路104は演算回路101の出力値を選択し
出力する。
【0010】
【発明が解決しようとする課題】画像処理などのディジ
タル信号処理では、高速なリミッタ装置が要求される。
上述した従来のリミット回路では、比較回路における遅
延時間が大きい。
【0011】すなわち、2つの入力データをそれぞれ最
下位ビットから最上位ビットまで、順次ビット毎の大小
判定を行う構成の比較回路の場合、その入力ビット幅に
依存して大小判定の処理時間が長くなるという問題を有
している。
【0012】例えば、16ビット入力の比較回路であれ
ば、4ビット入力の比較回路の約4倍の遅延時間を生
じ、32ビット入力の比較回路であれば5ビット入力の
比較回路の約6倍の処理時間を生じることになる。この
ため、データをビット幅分順次比較する構成の比較回路
を用いたリミッタ装置で高速信号処理を実現すること
は、データ幅が増大するに伴い益々困難となる。
【0013】従って、本発明は前記問題点を解消し、リ
ミッタ装置の最大遅延経路における遅延時間を最小限に
抑えたリミッタ装置を提供することを目的とする。
【0014】
【課題を解決するための手段】前記目的を達成するた
め、本発明は、所定のビット幅の入力データの非負値の
有効桁数を出力する第1のプライオリティエンコーダ
と、前記入力データの負値の有効桁数を出力する第2の
プライオリティエンコーダと、前記第1のプライオリテ
ィエンコーダが出力する有効桁数と予め定められた上限
値の有効桁数との大小判定を行なう第1の比較回路と、
前記第2のプライオリティエンコーダが出力する有効桁
数と予め定められた下限値の有効桁数との大小判定を行
なう第2の比較回路と、前記上限値の有効桁数をデコー
ドして前記所定のビット幅のデータに変換出力する第1
のデコーダと、前記下限値の有効桁数をデコードして前
記所定のビット幅のデータに変換出力する第2のデコー
ダと、前記第1、第2の比較回路の出力を選択信号とし
て、前記入力データ、前記第1のデコーダの出力、及び
第2のデコーダの出力のうちいずれか一を出力する選択
回路と、を備え、前記上限値と下限値の範囲内のデータ
を出力するリミッタ装置を提供する。
【0015】また、本発明は、第2の視点において、所
定のビット幅の入力データの非負値の有効桁数を出力す
る第1のプライオリティエンコーダと、前記入力データ
の負値の有効桁数を出力する第2のプライオリティエン
コーダと、前記第1のプライオリティエンコーダが出力
する有効桁数と予め定められた上限値の有効桁数との大
小判定を行なう第1の比較回路と、前記第2のプライオ
リティエンコーダが出力する有効桁数と予め定められた
下限値の有効桁数との大小判定を行なう第2の比較回路
と、前記上限値の有効桁数をデコードして前記所定のビ
ット幅のデータに変換出力する第1のデコーダと、前記
下限値の有効桁数をデコードして前記所定のビット幅の
データに変換出力する第2のデコーダと、前記第1のデ
コーダ出力と予め定められた0マスク桁数を入力とし、
前記第1のデコーダ出力について前記0マスク桁数にて
指定される桁数以下のデータを0マスクし、前記0マス
ク桁数にて指定される桁数より上位の出力はそのまま出
力するマスク回路と、前記第1、第2の比較回路の出力
を選択信号として、前記入力データ、前記マスク回路の
出力、及び第2のデコーダの出力のうちいずれか一を出
力する選択回路と、を備え、マスク処理された上限値と
前記下限値の範囲内のデータを出力するリミッタ装置を
提供する。
【0016】
【発明の概要】本発明のリミッタ装置は、負値を2の補
数表示とする2進データにおいて、大小判定を行う比較
回路に入力されるデータのビット数を減らすために、デ
ータの有効桁数によって大小判定を行い、ビット数を削
減した分だけ処理遅延時間を短縮化することを特徴とし
ている。すなわち、本発明は、入力データについて正
値、及び負値データの有効桁数をとり、正値データの有
効桁数を上限値の有効桁数と比較し、負値データの有効
桁数を下限値の有効桁数と比較し、また、上限値及び下
限値の有効桁数は入力データのビット幅と一致するビッ
ト幅のデータに変換出力され、上限値と下限値の範囲内
に打ち切られたデータを出力する。
【0017】本発明を実施例について説明する前に、本
発明の基礎である有効桁数について説明する。
【0018】有効桁数とは、2進データにおいて、正値
データの場合、最上位ビットからみて最初に“1”が何
ビット目で現れるかを表したものであり、また、負値デ
ータの場合には、最上位ビットからみて最初に“0”が
何ビット目で現れるかを表したものである。
【0019】例えば、16ビットデータについて、正値
データ“0000000000000011(2)”の場
合、有効桁数は“0010(2)”となる。また、正値デ
ータ“0000000000000110(2)”の場
合、有効桁数は“0011(2)”となる。そして、“0
000000000001101(2)”の場合、有効桁
数は“0100(2)”となる。なお、数字列に続く記号
“(2)”は該数字列が2進数表記であることを表してい
る。また、16ビットデータの最上位ビット(MSB)
は符号ビットを表し、MSBが“0”の時非負値を、
“1”の時負値を表している。
【0020】負値データ“1111111111001
111(2)”の場合、有効桁数は“0110(2)”とな
る。但し、例外として、“1111111111111
111(2)”の場合は、“0001(2)”で表すことにす
る。なお、2進データにおいて負値は2の補数表示で表
すものとする。
【0021】この有効桁数の大小比較の関係は、正の場
合において、有効桁数で表せる16ビットデータの大小
関係に等しく、また、負の場合においては、有効桁数で
表せる16ビットデータの大小関係と逆になる。
【0022】例えば、正値データに対する有効桁数“0
100(2)”と“0011(2)”との大小関係は、前者が
後者より大きく、対応する正の16ビットデータでも同
様の大小関係が成立している。また、“0011(2)”
と“0010(2)”の桁数の大小関係も16ビットデー
タの大小関係に等しい。
【0023】一方、負値データに対する有効桁数“01
00(2)”と“0011(2)”との大小比較は、前者が後
者より大きいが、対応する負の16ビットデータは後者
が前者より大きい。また、“0011(2)”と“001
0(2)”の大小関係も対応する負の16ビットデータの
大小関係と逆になる。
【0024】このため、本発明では、正負を分けて有効
桁数による比較をし、出力データの制限を行っている。
【0025】
【実施例】次に、上記有効桁数の理解に基づき、図面を
参照して、本発明の実施例を以下に説明する。
【0026】
【実施例1】図面を参照して本発明の第1の実施例を説
明する。図面として、第1の実施例では図1、図3、図
5、図7、図9、図11、図13が参照されるため、始
めにこれらの図面について簡単に説明する。
【0027】図1は、第1の実施例の一構成図である。
図3は、図1の第1の比較回路306の内部構成図であ
る。図5は、図1のプライオリティエンコーダ304の
内部構成図である。図7は、図5のエンコーダ部740
の内部構成である。図9は、図5の4ビット1検出部7
01,702,703,704の内部構成である。図1
1は、図1の第1のプライオリティエンコーダ304の
入力16ビットに対する出力4ビットの入出力関係図で
ある。また、図13は、図1の第1のデコーダ302の
入力4ビットに対する出力16ビットの入出力関係図で
ある。
【0028】先ず、図1、図5、図9、図7、図3、図
11、図13の順で構成を説明し、次に動作を説明す
る。
【0029】図1において、301は16ビットデータ
を出力する演算回路である。401は上限値を表す有効
桁数データ、402は下限値を表す有効桁数データであ
る。
【0030】304は入力16ビットデータを有効桁数
4ビットデータに変換する第1のプライオリティエンコ
ーダである。305は入力16ビットデータを有効桁数
4ビットデータに変換する第2のプライオリティエンコ
ーダである。
【0031】306は第1のプライオリティエンコーダ
304の出力と上限値の有効桁数401との比較を行う
第1の比較回路であり、307は第2のプライオリティ
エンコーダ305の出力と下限値の有効桁数402との
比較を行う第2の比較回路である。
【0032】302は上限値の有効桁数401(4ビッ
ト)から16ビットのデータに変換する第1のデコーダ
であり、303は下限値の有効桁数402(4ビット)
から16ビットのデータに変換する第2のデコーダであ
る。308は演算回路301と第1のデコーダ302と
第2のデコーダ303のいずれか一の出力を選択する選
択回路である。
【0033】次に図5を参照して、第1のプライオリテ
ィエンコーダ304の内部構成について説明する。
【0034】図5に示すように、第1のプライオリティ
エンコーダ304は、演算回路301の出力データから
“1”を検出する1検出部730と、その検出結果から
対応する有効桁数を出力するエンコーダ部740からな
る。
【0035】1検出部730の内部構成は、演算回路3
01からの出力である16ビットデータを入力とし、4
ビット入力に対し上位ビットから優先して“1”を検出
する4ビット1検出部701,702,703,704
と、4入力NORゲート705,706,707と、2
入力ANDゲート711〜719と、2入力ANDゲー
ト721〜728からなる。
【0036】演算回路301から入力された16ビット
データのうち、上位I15〜I12の4ビットは、4ビ
ット1検出部701の入力i3〜i0と4入力NORゲ
ート705の入力とされる。4入力NORゲート705
の出力は、入力I15〜I12の4ビットで“1”を検
出した時、下位12ビットI11〜I0の入力に対する
1検出結果をマスクするための信号となる。
【0037】また、I11〜I8の4ビットは、4ビッ
ト1検出部702の入力i3〜i0と4入力NORゲー
ト706の入力とされる。
【0038】4入力NORゲート705と706の出力
は2入力ANDゲート715にて論理積がとられる。2
入力ANDゲート715の出力は、入力I15〜I8の
8ビットにおいて“1”を検出した時、下位8ビットI
7〜I0の入力に対する1検出結果をマスクするための
信号となる。
【0039】同様にして、I7〜I4の4ビットは、4
ビット1検出部703の入力i3〜i0と4入力NOR
ゲート707の入力とされ、4入力NORゲート707
の出力は、入力I7〜I4の4ビットにおいて“1”を
検出した時、下位4ビットI3〜I0の入力に対する1
検出結果をマスクするための信号となる。I3〜I0の
4ビットは、4ビット1検出部704の入力i3〜i0
とされる。
【0040】4ビット1検出部701の出力4ビットx
3〜x0は、エンコーダ部704の入力I15′〜I1
2′に接続される。
【0041】4入力NORゲート705の出力は、2入
力ANDゲート711〜714のそれぞれに入力され、
2入力ANDゲート711〜714の他方の入力には、
4ビット1検出部702の4ビット出力x3〜x0がそ
れぞれ入力される。そして、ANDゲート711〜71
4の出力はエンコーダ部740のI11′〜I8′に接
続される。
【0042】2入力ANDゲート715の出力は、2入
力ANDゲート721〜724のそれぞれに入力され、
2入力ANDゲート721〜724の他方の入力には、
4ビット1検出部703の4ビット出力x3〜x0がそ
れぞれ入力される。ANDゲート721〜724の出力
は、エンコーダ部740のI7′〜I4′に接続され
る。
【0043】4入力NORゲート707の出力は、2入
力ANDゲート716〜719のそれぞれに入力され、
2入力ANDゲート716〜719の他方の入力には、
4ビット1検出部704の4ビット出力x3〜x0がそ
れぞれ入力される。ANDゲート716〜719の出力
は、2入力ANDゲート725〜728のそれぞれに入
力され、2入力ANDゲート725〜728の他方の入
力には2入力ANDゲート715の出力が入力される。
ANDゲート725〜728の出力は、エンコーダ部7
40のI3′〜I0′に接続される。
【0044】次に図9を参照して、4ビット1検出部の
内部構成について説明する。
【0045】図9において、4ビット1検出部の内部構
成は、インバータ751,752,755と2入力AN
Dゲート753,754,756,757,758から
なり、i3〜i0の4ビット入力に対し、x3〜x0の
4ビット出力を得る。i3はインバータ751の入力と
され、同時にそのままx3として出力される。i2はイ
ンバータ752とANDゲート753に入力される。i
1はANDゲート756とインバータ755に入力され
る。また、i0はANDゲート757に入力される。
【0046】インバータ751の出力とi2は、AND
ゲート753で論理積がとられ、x2として出力され
る。インバータ751の出力とインバータ752の出力
は、ANDゲート754で論理積がとられ、出力x1
は、ANDゲート754の出力とi1との論理積をAN
Dゲート756でとった出力となる。また、インバータ
755の出力とi0の論理積をANDゲート757でと
り、x0はANDゲート757の出力とANDゲート7
54の出力との論理積をANDゲート758でとった出
力となる。
【0047】次に図7を参照して、エンコーダ部740
の内部構成について説明する。
【0048】図7において、エンコーダ部740の内部
構成は、6個の4入力NORゲート901〜906と、
これらに後置された4個の2入力NANDゲート911
〜914からなる。NORゲート901には、I10′
〜I7′が入力され、NORゲート902には、I1
4′〜I11′が入力され、NORゲート903には、
I6′〜I3′が入力される。また、NORゲート90
4には、I13′,I9′,I5′,I1′が入力さ
れ、NORゲート905には、I14′,I10′,I
6′,I2′が入力され、NORゲート906には、I
12′,I8′,I4′,I0′が入力される。なお、
図7のI15′は符号ビットである。
【0049】NORゲート901,902の出力はNA
NDゲート911に入力され、A3に出力され、NOR
ゲート902及び903の出力はNANDゲート912
に入力され、A2に出力される。また、NORゲート9
04,905の出力はNANDゲート913に入力さ
れ、A1に出力される。NORゲート905,906の
出力はNANDゲート914に入力され、A0に出力さ
れる。
【0050】次に図3を参照して、第1の比較回路30
6の内部構成について説明する。
【0051】図3において、第1の比較回路306に
は、2種類の4ビットデータAとB、演算回路301の
出力データの最上位ビット(MSB)が入力され、第1
の制御信号403が出力される。B3〜B0の4ビット
には、上限値の有効桁数401の3〜0ビットが入力さ
れる。A3〜A0の4ビットには、第1のプライオリテ
ィエンコーダ304から出力された有効桁数を表す3〜
0ビットが入力される。
【0052】図3に示すように、第1の比較回路306
の内部構成は、A0とB0が入力される0ビット比較部
500と、A1とB1が入力される1ビット比較部51
0と、A2とB2が入力される2ビット比較部520
と、A3とB3が入力される3ビット比較部530とM
SBと最終段の比較結果の入力する出力制御部540か
らなる。
【0053】0ビット比較部500は、インバータ50
1とANDゲート502より構成される。B0はインバ
ータ501に入力され、その反転出力値とA0がAND
ゲート502に入力される。
【0054】1ビット比較部510は、インバータ51
1、ANDゲート512,514、及びORゲート51
3,515から構成される。
【0055】A1は、ANDゲート512とORゲート
513に入力され、B1はインバータ511に入力さ
れ、その反転出力値がANDゲート512とゲートOR
513に入力される。ORゲート513の出力と1つ下
位ビットの比較結果がANDゲート514に入力され
る。
【0056】そして、ANDゲート514の出力とAN
Dゲート512の出力とがORゲート515の入力とな
り、ORゲート515の出力が1ビット比較部510の
結果となる。
【0057】1ビット比較部510、2ビット比較部5
20、及び3ビット比較部530は互いに全く同一の回
路構成である。
【0058】2ビット比較部520は、インバータ52
1、ANDゲート522,524、及びORゲート52
3,525から構成される。A2は、ANDゲート52
2とORゲート523に入力され、B2はインバータ5
21に入力され、その反転出力値がANDゲート522
とORゲート523に入力される。
【0059】3ビット比較部530は、インバータ53
1、ANDゲート532,534、ORゲート533,
535から構成される。A3は、ANDゲート532と
ORゲート533に入力され、B3はインバータ531
に入力された後、その反転出力値がANDゲート532
とORゲート533に入力される。
【0060】出力制御部540はインバータ541とA
NDゲート542よりなる。MSBはインバータ541
に入力され、ANDゲート542には、インバータ54
1の出力と3ビット比較部530から出力された比較最
終結果が入力される。
【0061】次に図11を参照して、第1のプライオリ
ティエンコーダ304の入出力関係について説明する。
【0062】図11において、左側の入力ビットI15
〜I0は、演算回路301の出力である16ビットに対
応し、出力ビットQ3〜Q0は第1の比較回路306の
入力A3〜A0に対応する。図中のx印は、1でも0で
もよいことを示す。図11に示すように、第1のプライ
オリティエンコーダ304は演算回路301の出力であ
る16ビットを入力とし、上位ビットからみて最初に
“1”が現れたビット位置を有効桁数として4ビットで
出力する。
【0063】次に図13を参照して、第1のデコーダ3
02の入出力関係について説明する。
【0064】図13において、左側の入力ビットI3〜
I0は上限値の有効桁数401の4ビットに対応し、出
力ビットQ15〜Q0は選択回路308に出力される1
6ビットに対応する。図13に示すように、第1のデコ
ーダ302は、上限値の有効桁数401の4ビットを入
力とし、その桁数で表現できる正の最大の16ビットを
出力する。
【0065】以上の構成のもと、演算回路301の出力
が上限値の有効桁数401で表現できる正の最大の16
ビットデータを超える場合のリミット動作について説明
する。
【0066】なお、以下では回路動作の理解を容易化す
るため、図1における演算回路301の出力が16ビッ
トの正数“0010000001001001(2)”で
あり、予め定められた上限値の有効桁数401が“01
00(2)”である場合、選択回路308は演算回路30
1の出力を制限し、上限値の有効桁数401で表現でき
る正の最大の16ビットデータ“0000000000
001111(2)”を出力するという例に基づきリミッ
タ装置の各部の動作について具体的に説明する。
【0067】演算回路301の出力(上記の通り“00
10000001001001(2)”とする)は第1の
プライオリティエンコーダ304に入力される。
【0068】入力I15〜I12ビットの“0010
(2)”は、図5の第1のプライオリティエンコーダ30
4の1検出部730における4ビット1検出部701に
入力される。また、入力I11〜I8ビットの“000
0(2)”は4ビット1検出部702に入力され、入力I
7〜I4ビットの“0100(2)”は4ビット1検出部
703に入力され、入力I3〜I0ビットの“1001
(2)”は4ビット1検出部704に入力される。
【0069】なお、各4ビット1検出部701,70
2,703,704は、同一の回路構成を持ち、上位ビ
ットの反転信号と下位側ビットとの論理積をとってい
る。このため上位ビットに“1”があると、それ以降の
下位ビットは全て“0”にマスクされる。
【0070】このとき、図5の4ビット1検出部701
は“0010(2)”を出力し、4ビット1検出部702
は“0000(2)”を出力し、4ビット1検出部703
は“0100(2)”を出力し、4ビット1検出部704
は“1000(2)”を出力する。
【0071】4ビット1検出部702,703,704
の出力は、ANDゲート711〜714,721〜72
4,716〜719の一方の入力にそれぞれ接続され
る。
【0072】また、これらのANDゲートの他方の入力
には、上位ビット側において“1”を検出した時に、
“0”が出力されるNORゲート705,707、及び
ANDゲート715の出力値が入力されている。このた
め、上位ビット側に“1”があると、下位ビット側の4
ビット検出部の検出結果は“0”にマスクされ、上位ビ
ット側の4ビット1検出部の結果が優先して出力される
ことになる。
【0073】例えば、1検出部730の入力I15〜I
0が“0010000001001001(2)”の場合
は、4ビット1検出部701の出力は“0010(2)”
となり、下位12ビットを“0”にマスクした形で“0
010000000000000(2)”がI15´〜I
0´として出力される。
【0074】以上により、1検出部730は、16ビッ
トの入力I15〜I0に対し、上位ビット優先で、最初
に“1”を検出したビットのみを“1”に、その他のビ
ットを“0”として出力されることができる。
【0075】従って、エンコーダ部740には、“00
10000000000000(2)”が入力される。図
7のエンコーダ部740の内部構成において、入力I1
3′のみが“1”であるため、4入力NORゲート90
2,904は“0”を出力し、その他の4入力NORゲ
ート901,903,905,906は“1”を出力す
る。
【0076】図7に示すエンコーダ部740において、
NORゲート902の出力はNANDゲート911,9
12に入力され、A3,A2にはそれぞれに“1”が出
力される。また、NORゲート904の出力はNAND
ゲート913に入力され、A1に“1”が出力され、N
ANDゲート914の入力はいずれも“1”であるた
め、A0に“0”が出力される。従って、エンコーダ部
740の出力A3〜A0は“1110(2)”となる。
【0077】以上により、第1のプライオリティエンコ
ーダ304は、上位ビット優先で“1”を検出し、入力
された16ビットデータに対し、その有効桁数を表す4
ビットに変換して出力する。例えば、入力16ビットデ
ータI15〜I0が“001000000100100
1(2)”の場合、14ビット目に“1”があるため、第
1のプライオリティエンコーダ304からは4ビットデ
ータ“1110(2)”が出力される。
【0078】次に、第1の比較回路306(図3参照)
において、A3〜A0に入力される第1のプライオリテ
ィエンコーダ304の4ビット出力“1110(2)”
と、B3〜B0に入力される上限値の有効桁数401の
4ビット“0100(2)”とが、下位ビットから順次ビ
ット毎に大小比較される。0ビット比較部500は、A
0が“1”、且つB0が“0”の時、すなわちA0がB
0より大きい時にのみ“1”を出力するため、この場
合、0ビット比較部500の出力は“0”となる。
【0079】1ビット比較部510では、入力A1とB
1との比較を行う。1ビット比較部510はA1が
“1”、且つB1が“0”の時、すなわちA1が大きい
時は、ANDゲート512の出力が“1”となり、この
場合、1ビット比較部510の出力は“1”となる。
【0080】また、2ビット比較部520では、入力A
2とB2との比較を行う。入力A2とB2が共に等しい
時(この場合、A2=“1”,B2=“1”)は、OR
ゲート523の出力は“1”となり、下位ビット側の1
ビット比較部の出力がそのまま2ビット比較部520の
出力となる。
【0081】さらに、3ビット比較部530では、入力
A3とB3との比較を行う。A3が“1”、B3が
“0”の時、すなわちA3がB3より大きい時、AND
ゲート532の出力が“1”となり、3ビット比較部5
30の出力は“1”となる。
【0082】出力制御部540では、MSBが“0”で
あるため、インバータ541の出力は“1”となり、3
ビット比較部530の出力結果はマスクされずに“1”
が出力される。従って、第1のプライオリティエンコー
ダ304の出力“1110(2)”と上限値の有効桁数4
01“0100(2)”の入力に対し、第1の比較回路3
06は、第1のプライオリティエンコーダ304の出力
が上限値の有効桁数401を超えていることを表す
“1”を第1の制御信号として出力する。
【0083】ここで、後述する第2の比較回路307で
は、演算回路301の出力のMSBが“0”であるた
め、図4に示すように、大小比較回路は出力制御部64
0において“0”にマスクされ、第2の制御信号404
として“0”が出力される。
【0084】第1のデコーダ302は、図13に示すよ
うに、上限値の有効桁数“0100(2)”に対して、
“0000000000001111(2)”を出力す
る。
【0085】選択回路308は、選択信号である第1の
制御信号403が“1”で、第2の制御信号404が
“0”とされるため、第1のデコーダ302の出力を選
択する。すなわち、選択回路308は“0000000
000001111(2)”を出力し、演算回路301の
出力が予め定められた上限値を超えた場合に、これを制
限することができる。
【0086】以上により、本実施例のリミッタ装置は、
演算回路301の正の出力を上限値の有効桁数401で
表せる正の最大値で制限する場合、有効桁数による大小
比較によりリミット動作を行なうため、従来の順次ビッ
ト毎に大小判定を行う比較回路に対して、削減されたビ
ット数分に相当する時間分、比較処理時間が短縮化され
リミッタ動作の高速化を図ることができる。なお、上記
実施例において、演算回路301の出力の有効桁数が上
限値の有効桁数より小さい場合には、選択回路308は
演算回路301の出力をそのまま出力する。
【0087】
【実施例2】次に、本発明の第2の実施例として、負値
データをリミットする構成を説明する。先ず、本実施例
で参照する図面について予め簡単に説明する。図4は、
図1の第2の比較回路307の内部構成図である。図6
は、図1の第2のプライオリティエンコーダ305の内
部構成図である。図8は、図6のエンコーダ部840の
内部構成である。図10は、図6の4ビット0検出部8
01,802,803,804の内部構成である。図1
2は、図1の第2のプライオリティエンコーダ305の
入力16ビットに対する出力4ビットの入出力関係図で
ある。また、図14は、図1の第2のデコーダ303の
入力4ビットに対する出力16ビットの入出力関係図で
ある。
【0088】図1は前記第1の実施例と同様であるため
説明は省略する。図6、図10、図8、図4、図12、
図14の順で構成を説明し、その後動作を説明する。
【0089】先ず、図6を参照して、第2のプライオリ
ティエンコーダ305の内部構成を説明する。同図に示
すように、第2のプライオリティエンコーダ305は、
演算回路301の出力から“0”を検出する0検出部8
30と、その検出結果から対応する有効桁数を出力する
エンコーダ部840からなる。
【0090】0検出部830は、演算回路301から出
力の16ビットデータを入力とし、各4ビット入力に対
し上位ビットから優先して“0”を検出する4ビット0
検出部801,802,803,804と、4入力AN
Dゲート805,806,807と、2入力ANDゲー
ト811〜819と、2入力ANDゲート821〜82
8からなる。
【0091】16ビット入力データのうち上位I15〜
I12の4ビットは、4ビット0検出部801の入力j
3〜j0と4入力ANDゲート805の入力とされる。
4入力ANDゲート805の出力は、入力I15〜I1
2の4ビットにおいて“0”を検出した時、下位I2ビ
ットI11〜I0の入力に対する0検出結果をマスクす
るための信号となる。
【0092】また、I11〜I8の4ビットは、4ビッ
ト0検出部802の入力j3〜j0と4入力ANDゲー
ト806の入力とされる。
【0093】4入力ANDゲート805,806の出力
は、2入力ANDゲート815にて論理積がとられる。
そして、2入力ANDゲート815の出力は、入力I1
5〜I8の8ビットにおいて“0”を検出した時、下位
8ビットI7〜I0の入力に対する0検出結果をマスク
するための信号となる。
【0094】同様にして、I7〜I4の4ビットは、4
ビット0検出部803の入力j3〜j0と4入力AND
ゲート807の入力とされる。4入力ANDゲート80
7の出力は、入力I7〜I4の4ビットで“0”を検出
した時、下位4ビットI3〜I0の入力に対する0検出
結果をマスクするための信号である。I3〜I0の4ビ
ットは、4ビット0検出部804の入力j3〜j0とさ
れる。
【0095】4ビット0検出部801の出力4ビットy
3〜y0は、エンコーダ部804の入力L15′〜L1
2′に接続される。4入力ANDゲート805の出力
は、2入力ANDゲート811〜814に入力され、2
入力ANDゲート811〜814の他方の入力には、4
ビット0検出部802の出力4ビットy3〜y0がそれ
ぞれ入力される。
【0096】ANDゲート811〜814の出力は、エ
ンコーダ部840のL11′〜L8′に接続される。2
入力ANDゲート815の出力は、2入力ANDゲート
821〜824のそれぞれに入力され、2入力ANDゲ
ート821〜824の他方の入力には、4ビット0検出
部803の出力4ビットy3〜y0がそれぞれ入力され
る。
【0097】ANDゲート821〜824の出力は、エ
ンコーダ部840のL7′〜L4′に接続される。4入
力ANDゲート807の出力は、2入力ANDゲート8
16〜819のそれぞれに入力され、2入力ANDゲー
ト816〜819の他方の入力には、4ビット0検出部
804の出力4ビットy3〜y0がそれぞれ入力され
る。また、ANDゲート816〜819の出力は、2入
力ANDゲート825〜828にそれぞれ入力され、2
入力ANDゲート825〜828の他方の入力には2入
力ANDゲート815の出力が入力される。ANDゲー
ト825〜828の出力はエンコーダ部840のL3′
〜L0′に接続される。
【0098】次に図10を参照して、4ビット0検出部
の内部構成について説明する。
【0099】図10に示すように、4ビット0検出部8
01は、インバータ851,852,856,857
と、2入力ANDゲート853,854,855,85
8,859からなり、j3〜j0の4ビットの入力に対
し、y3〜y0の4ビットを出力する。
【0100】j3はインバータ851とANDゲート8
53とANDゲート854に入力され、インバータ85
1の出力はy3に接続される。j2はインバータ852
とANDゲート854に入力される。j1はインバータ
856とANDゲート858に入力される。また、j0
はインバータ857に入力される。
【0101】y2は、j3とインバータ852の出力と
の論理積をANDゲート853でとった出力となる。y
1は、j3とj2との論理積をANDゲート854でと
った出力と、さらにインバータ856出力との論理積を
ANDゲート855でとった出力となる。y0は、j1
とインバータ857の出力との論理積をANDゲート8
58でとり、その出力とANDゲート854の出力との
論理積をANDゲート859でとった出力となる。
【0102】次に図8を参照して、エンコーダ部840
の内部構成について説明する。
【0103】図8に示すように、エンコーダ部840
は、4入力NORゲート921〜926と、2入力NA
NDゲート931〜933と、3入力NANDゲート9
34と、4入力ORゲート927,928,929,9
30,935からなる。
【0104】4入力NORゲート921にはL10′〜
L7′が入力され、4入力NORゲート922にはL1
4′〜L11′が入力され、4入力NORゲート923
には、L6〜L3′が入力される。また、4入力NOR
ゲート924にはL13′,L9′,L5′,L1′が
入力され、4入力NORゲート925にはL14′,L
10′,L6′,L2′が入力され、4入力NORゲー
ト926にはL12′,L8′,L4′,L0′が入力
される。
【0105】4入力ORゲート927にはL15′〜L
12′が入力され、4入力ORゲート928にはL1
1′〜L8′が入力され、4入力ORゲート929には
L7′〜L4′が入力され、4入力ORゲート930に
はL3′〜L0′が入力される。
【0106】4入力ORゲート927,928,92
9,930の出力は、更に4入力ORゲート935に入
力される。4入力NORゲート921,922の出力は
2入力NANDゲート931に入力され、C3に出力さ
れる。同様に、4入力NORゲート922,923の出
力は2入力NANDゲート932に入力され、C2に出
力される。
【0107】4入力NORゲート924,925の出力
は2入力NANDゲート933に入力され、C1に出力
される。4入力NORゲート925,926とORゲー
ト935の出力が3入力NANDゲート934に入力さ
れ、C0に出力される。
【0108】このエンコーダ部840と前記第1の実施
例で説明したエンコーダ部740との回路上の相違点
は、入力L15′〜L0′が全てゼロになる時を検出す
るための4入力NORゲート927,928,929,
930,935が設けられていることである。
【0109】次に図4を参照して、第2の比較回路30
7の内部構成について説明する。
【0110】第2の比較回路307には、2種類の4ビ
ットデータCとD、及び演算回路301の出力のMSB
が入力され、第2の制御信号404が出力される。D3
〜D0の4ビットには、下限値の有効桁数402の3〜
0ビットが入力される。C3〜C0の4ビットには、第
2のプライオリティエンコーダ305の出力の3〜0ビ
ットが入力される。
【0111】図4に示すように、第2の比較回路307
は、C0とD0が入力される0ビット比較部600と、
C1とD1が入力される1ビット比較部610と、C2
とD2が入力される2ビット比較部620と、C3とD
3が入力される3ビット比較部630と、MSBと比較
最終結果の入力される出力制御部640からなる。
【0112】0ビット比較部600、1ビット比較部6
10、2ビット比較部620、3ビット比較部630の
構成は図3で説明した第1の比較回路306における0
ビット比較部500、1ビット比較部510、2ビット
比較部520、3ビット比較部530と同様のため説明
を省略する。
【0113】出力制御部640はANDゲート641か
ら構成され、ANDゲート641にはMSBと3ビット
比較部630から出力された最終比較結果が入力され
る。
【0114】次に図12を参照して、第2のプライオリ
ティエンコーダ305の入出力関係について説明する。
【0115】図12において、左側の入力ビットI15
〜I0は演算回路301の出力16ビットに対応し、右
側の出力ビットQ3〜Q0は第2の比較回路307の入
力C3〜C0に対応する。図中のx印は、1でも0でも
よいことを示す。
【0116】図12に示すように、第2のプライオリテ
ィエンコーダ305は演算回路301の出力16ビット
を入力とし、上位ビットからみて最初に“0”が現れた
ビットを有効桁数として4ビットで出力する。
【0117】次に図14を参照して、第2のデコーダ3
03の入出力関係について説明する。
【0118】図14において、左側の入力ビットI3〜
I0は下限値の有効桁数402の4ビットに対応し、右
側の出力ビットQ15〜Q0は選択回路308に出力さ
れる16ビットに対応する。
【0119】図14に示すように、第2のデコーダ30
3は下限値の有効桁数402の4ビットを入力とし、そ
の桁数で表現できる負の最小の16ビットを出力する。
【0120】以上の構成で、演算回路301の出力が下
限値の有効桁数402で表現できる負の最小の16ビッ
トデータを超える場合のリミット動作について説明す
る。
【0121】なお、以下では回路動作の理解を容易化す
るため、図1における演算回路301の出力が16ビッ
トの負の数“1101000001001001(2)”
であり、下限値の有効桁数402が“0100(2)”で
ある場合、選択回路308は演算回路301の出力を制
限し下限値の有効桁数402で表現できる負の最小の1
6ビットデータ“1111111111110000
(2)”が出力されるという例に基づきリミッタ装置の各
部の動作について具体的に説明する。
【0122】演算回路301の出力“11010000
01001001(2)”が第2のプライオリティエンコ
ーダ305に入力される。
【0123】入力I15〜I12ビットの“1101
(2)”は、図6の4ビット0検出部801に入力され
る。また、入力I11〜I8ビットの“0000(2)”
は4ビット0検出部802に入力される。入力I7〜I
4ビットの“0100(2)”は4ビット0検出部803
に入力される。入力I3〜I0ビットの“1001
(2)”は4ビット0検出部804に入力される。
【0124】各4ビット0検出部801,802,80
3,804は同一の回路構成を持ち、上位ビットと下位
側ビットの反転信号との論理積をとっている。このた
め、上位ビットに“0”があると、それ以降の下位ビッ
トは全て“0”にマスクされる。
【0125】4ビット0検出部801は“0010
(2)”を出力し、4ビット0検出部802は“1000
(2)”を出力し、4ビット0検出部803は“1000
(2)”を出力し、4ビット0検出部804は“0100
(2)”を出力する。
【0126】そして、4ビット0検出部802,80
3,804の出力は、ANDゲート811〜814,8
16〜819,821〜824にそれぞれ入力される。
これらのANDゲートの一方の入力には、上位ビットに
“0”を検出した時に、“0”を出力するAND80
5,807,815の出力値が入力されている。このた
め、上位ビット側に“0”があると、下位ビット側の4
ビット0検出部の検出結果は“0”にマスクされ、上位
ビット側の4ビット0検出部の結果を優先して出力され
ることになる。
【0127】例えば、0検出部830のI15〜I0の
入力が“1101000001001001(2)”の場
合、4ビット0検出部801の出力が“0010(2)”
となり、下位12ビットを“0”にマスクした形で“0
010000000000000(2)”が出力される。
以上により、0検出部830は、16ビットの入力I1
5〜I0に対し、上位ビット優先で、最初に“0”を検
出したビットのみを“1”に、その他のビットを“0”
として出力する。
【0128】エンコーダ部840には、“001000
0000000000(2)”が入力される。この場合、
入力L13′のみが“1”であるため、図8において、
4入力NORゲート922,924は“0”を出力し、
その他の4入力NORゲート921,923,925,
926は“1”を出力する。また、4入力ORゲート9
27は“1”を出力し、4入力ORゲート928,92
9,930は“0”を出力する。従って、4入力ORゲ
ート935の出力は“1”となる。
【0129】次に、NORゲート922の出力はNAN
Dゲート931,932に入力され、C3,C2のそれ
ぞれに“1”を出力し、また、NORゲート924の出
力は、NANDゲート933に入力され、C1に“1”
が出力される。NANDゲート934の入力はいずれも
“1”となるので、C0に“0”が出力される。このた
め、エンコーダ部840の出力C3〜C0は“1110
(2)”となる。
【0130】以上により、第2のプライオリティエンコ
ーダ305は、上位ビット優先で“0”を検出し、入力
16ビットデータに対し、有効桁数を表す4ビットに変
換する。例えば、入力16ビットデータI15〜I0が
“1101000001001001(2)”の場合、1
4ビット目に“0”があるため、第2のプライオリティ
エンコーダ305は“1110(2)”を出力する。
【0131】次に、第2の比較回路307では、図4の
C3〜C0に入力される第2のプライオリティエンコー
ダ305の4ビット出力“1110(2)”と図4のD3
〜D0に入力される下限値の有効桁数402の4ビット
“0100(2)”とを下位ビットから順次ビット毎に大
小比較する。
【0132】図4において、0ビット比較部600は、
C0が“1”、D0が“0”の入力の時、すなわちC0
がD0より大きい時のみ、“1”を出力する。この場合
(C0=“1”,D0=“0”)、0ビット比較部60
0の出力は“0”となる。
【0133】次に、1ビット比較部610では、入力C
1とD1との比較を行う。1ビット比較部610はC1
が“1”、D1が“0”の時、すなわちC1がD1より
大きい時、ANDゲート612が“1”となり、この場
合1ビット比較部610の出力は“1”となる。
【0134】次に、2ビット比較部620では、入力C
2とD2との比較を行う。2ビット比較部620は入力
C2,D2が共に等しい時は、ORゲート623の出力
が“1”となり、下位ビットである1ビット比較部61
0の出力がそのまま2ビット比較部620の出力とな
る。従って、2ビット比較部620の出力は“1”とな
る。
【0135】さらに、3ビット比較部630では、入力
C3とD3との比較を行う。3ビット比較部630はC
3が“1”、D3が“0”の時、すなわちC3がD3よ
り大きい時、ANDゲート632が“1”となり、3ビ
ット比較部630の出力は“1”となる。
【0136】出力制御部640は、MSBが“1”であ
るため、ANDゲート641の出力は“1”となり、3
ビット比較部630の出力結果はマスクされずに“1”
が出力される。従って、第2の比較回路307は、第2
のプライオリティエンコーダ305の4ビット出力“1
110(2)”と下限値の有効桁数402の4ビット“0
100(2)”との入力に対し、第2のプライオリティエ
ンコーダ305の出力が下限値の有効桁数402を超え
ていることを表す“1”を第2の制御信号として出力す
る。
【0137】ここで、第1の比較回路306は、演算回
路301の出力のMSBが“1”であるため、図3の出
力制御部540において大小比較結果は“0”にマスク
され、第1の制御信号403として“0”が出力され
る。
【0138】第2のデコーダ303は、図14に示すよ
うに、下限値の有効桁数“0100(2)”に対して、
“1111111111110000(2)”を出力す
る。
【0139】選択回路308は、選択信号である第1の
制御信号403が“0”で、第2の制御信号404が
“1”とされるため、第2のデコーダ303の出力を選
択する。このため、選択回路308からは、“1111
111111110000(2)”が出力され、演算回路
301の出力を予め定めた下限値に制限することができ
る。
【0140】以上により、本実施例のリミッタ装置は、
演算回路301の負の出力を下限値の有効桁数402で
表せる負の最小値で制限する場合、有効桁数による大小
比較によりリミット動作するため、従来の順次ビット毎
に大小判定を行う比較回路に対して、削減されたビット
数分に比例して比較処理時間が短縮化され、リミッタ動
作の高速化を図ることができる。
【0141】
【実施例3】次に、本発明の第3の実施例を図15、図
16を参照して説明する。
【0142】図15は、本発明の第3の実施例の構成図
である。図15において、演算回路301、上限値の有
効桁数401、下限値の有効桁数402、第1のプライ
オリティエンコーダ304、第2のプライオリティエン
コーダ305、第1の比較回路306、第2の比較回路
307、第1のデコーダ302、第2のデコーダ303
は図1と同様の構成のため説明は省略する。
【0143】405は、第1のデコーダ302の出力を
どの桁まで“0”にマスクするかを示す0マスク桁数で
ある。309は、第1のデコーダの出力の16ビットを
0マスク桁数405で指定された桁数まで“0”にマス
クするマスク回路である。308は、演算回路301と
マスク回路309と第2のデコーダ303の出力を選択
する選択回路である。
【0144】次に、マスク回路309の入出力関係につ
いて説明する。
【0145】図16において、左側の入力ビットI15
〜I0は第1のデコーダ302が出力する16ビットデ
ータに対応し、I3′〜I0′は0マスク桁数405の
4ビットに対応し、右側の出力ビットQ15〜Q0は選
択回路308に出力される16ビットに対応する。図1
6に示すように、マスク回路309は、第1のデコーダ
302が出力する16ビットデータと0マスク桁数40
5の4ビットを入力とし、第1のデコーダ302の16
ビット出力に対して、0マスク桁数405の4ビットで
示す桁数以下を“0”にマスクした16ビットデータを
出力する。
【0146】以上の構成のもと、演算回路301の出力
が上限値の有効桁数401で表現できる正の最大の16
ビットデータを超える場合、上述の第1のデコーダ30
2の出力の正の最大値を0マスク桁数405で示す桁数
以下のビットを0マスクして出力されるリミット動作に
ついて説明する。
【0147】なお、以下では回路動作を具体的に説明す
るため、演算回路301の出力が16ビットの正数“0
010000001001001(2)”であり、予め定
められた上限値の有効桁数401が“0100(2)”、
0マスク桁数405が“0010(2)”である場合、選
択回路308は演算回路301の出力を制限し、上限値
の有効桁数401で表現できる正の最大の16ビットデ
ータ“0000000000001111(2)”を、0
マスク桁数405にて指定される桁数以下のビットを
“0”にマスクした“000000000000110
0(2)”を出力する例について説明する。
【0148】演算回路301の出力が、“001000
0001001001(2)”の場合、第1の実施例と同
様に、第1のプライオリティエンコーダ304は、有効
桁数として“1110(2)”を出力する。第1の比較回
路306は、第1のプライオリティエンコーダ304の
出力“1110(2)”と上限値の有効桁数401の4ビ
ット“0100(2)”を入力し、比較結果として“1”
を第1の制御信号403として出力する。
【0149】第2の比較回路307は、演算回路301
の出力のMSBが“0”であるため、大小比較結果は
“0”にマスクされ、第2の制御信号404として
“0”を出力する。
【0150】第1のデコーダ302は、図13に示すよ
うに、上限値の有効桁数401“0100(2)”に対し
て、“0000000000001111(2)”を出力
する。
【0151】マスク回路309は、0マスク桁数405
が“0010(2)”の場合、図16に示すように、第1
のデコーダ302の出力“0000000000001
111(2)”の2ビット目以下を“0”にマスクした
“0000000000001100(2)”を出力す
る。
【0152】選択回路308は、選択信号である第1の
制御信号403が“1”とされ、第2の制御信号404
が“0”とされるため、マスク回路309の出力を選択
する。このため、選択回路308は“00000000
00001100(2)”を出力し、演算回路301の出
力を制限することができる。
【0153】以上により、本実施例のリミッタ装置で
は、演算回路301の正の出力を上限値の有効桁数40
1で表せる正の最大値で制限する場合、有効桁数による
大小比較によりリミット動作するため、従来の順次ビッ
ト毎に大小判定を行う比較回路に対して、削減されたビ
ット数分に比例して比較処理時間が短縮化され、リミッ
タ動作の高速化を図ることができる。また、本実施例で
は、第1のデコーダ302の出力について、0マスク桁
数405で指定された桁数以下を“0”にマスクできる
ため、演算回路の出力のうち特定のビット以下が“0”
であることを保証することが必要な場合にも、リミット
動作を行うことができる。
【0154】前記従来のリミッタ装置では、最下位ビッ
トから最上位ビットまで順次ビット毎の大小判定を行う
比較回路が用いられており、例えば、前記実施例で説明
した4ビット比較回路と同様な構成による16ビット比
較回路を使用した場合、比較結果が出力されるまでに3
2ゲート(図3の0ビット比較部ゲート数×16ビッ
ト)分の遅延時間を要することになる。
【0155】これに対し、上記実施例によれば、例え
ば、4ビット入力の第1の比較回路306において9ゲ
ート(すなわち、図3のインバータ501と、ANDゲ
ート502と、ANDゲート514と、ORゲート51
5と、ANDゲート524と、ORゲート525と、A
NDゲート534と、ORゲート535と、ANDゲー
ト542)、及びプライオリティエンコーダ304にお
いて8ゲート(すなわち、図10のインバータ857と
ANDゲート858と、ANDゲート859、図6のA
NDゲート819とANDゲート828、図8のORゲ
ート930とORゲート935とNANDゲート93
4)の合計17ゲート分の遅延時間で済むことになる。
従って本発明の上記実施例は、従来例の約1/2に遅延
時間を減らすことができる。
【0156】また、遅延時間の減少の傾向は、ビット幅
が大きい程顕著となる。例えば、最下位ビットから最上
位ビットまで順次ビット毎の大小判定を行う32ビット
の比較回路を使用した場合、従来例の比較回路では64
ゲート分の遅延時間を要するのに対し、本発明に係る実
施例では、5ビットの比較回路11ゲートとプライオリ
ティエンコーダ10ゲートの合計で21ゲート分の遅延
時間で済み、約1/3に遅延時間を減らすことができ
る。
【0157】なお、本発明を上記各種実施例について説
明したが、本発明は、上記実施態様にのみ限定されるも
のでなく、本発明の原理に準ずる各種実施態様を含むも
のである。例えば、本発明は、上限値及び下限値とも正
値とした構成、あるいは上限値及び下限値とも負値とし
た構成にも当然に適用できる。また、図面に示した実施
例の各内部構成の回路図はあくまでその一構成例を示す
ものであり、本発明はこれと等価な他の回路構成を含む
ことは勿論である。
【0158】
【発明の効果】以上説明したように、本発明によれば、
データの有効桁数とリミット値の有効桁数とを比較する
ことにより、従来の最下位ビットから最上位ビットまで
順次ビット毎に大小判定を行う比較回路に対して、削減
されたビット数分に比例して比較処理時間が短縮化さ
れ、上限値及び下限値の範囲内のデータを高速に出力す
ることを可能とし、データ打ち切り動作の高速化によ
り、高速信号処理を達成するものである。
【0159】特に、最下位ビットから最上位ビットまで
順次ビット毎の大小判定を行う比較回路が用いられてい
るためビット幅が大きい程遅延が顕著となるという従来
例に対して、本発明はビット幅の増大に対する処理遅延
の増大を特段に抑止低減するものである。
【0160】本発明の効果を定量的に説明すると、従来
例の構成により16ビット比較回路で順次ビット毎に大
小判定を行った場合、比較結果が出力されるまでに32
ゲート(図3の0ビット比較部ゲート数×16ビット)
分の遅延時間を要することになるのに対し、本発明によ
れば、前述した通り、例えば、4ビット入力の第1の比
較回路306で9ゲートとプライオリティエンコーダ3
04で8ゲートの合計17ゲート分の遅延時間となり、
本発明は遅延時間を従来例の約1/2に減らすことがで
きる。
【0161】また、従来例の比較回路では、最下位ビッ
トから最上位ビットまで順次ビット毎の大小判定を行う
32ビットの比較回路を使用した場合、64ゲート分の
遅延時間を要するのに対し、本発明では、5ビットの比
較回路11ゲートとプライオリティエンコーダ10ゲー
トの合計で21ゲート分の遅延時間で済み、約1/3に
遅延時間を減らすことができる。従って、本発明はデー
タのビット幅が大きい程遅延時間の抑止低減効果が顕著
となり、16ビット又は32ビット幅データの高速信号
処理装置の処理速度の向上に特段に貢献するものであ
る。
【0162】さらに、本発明によれば、第1のデコーダ
の出力を0マスク桁数で示す桁数以下を“0”にマスク
できるため、演算回路の出力について特定のビット以下
を“0”とすることを保証するような場合にも、リミッ
ト動作を高速に行うことができる。
【図面の簡単な説明】
【図1】本発明の第1、第2の実施例の一構成図であ
る。
【図2】従来例の一構成図である。
【図3】第1の比較回路306の内部構成である。
【図4】第2の比較回路307の内部構成である。
【図5】第1のプライオリティエンコーダ304の内部
構成である。
【図6】第2のプライオリティエンコーダ305の内部
構成である。
【図7】エンコーダ部740の内部構成である。
【図8】エンコーダ部840の内部構成である。
【図9】4ビット1検出部701の内部構成(702,
703,704共通)である。
【図10】4ビット1検出部801の内部構成(80
2,803,804共通)である。
【図11】第1のプライオリティエンコーダ304の入
出力関係である。
【図12】第2のプライオリティエンコーダ305の入
出力関係である。
【図13】第1のデコーダ302の入出力関係である。
【図14】第2のデコーダ303の入出力関係である。
【図15】第3の実施例の一構成図である。
【図16】マスク回路309の入出力関係である。
【符号の説明】
101 従来例の演算回路 102 従来例の第1の比較回路 103 従来例の第2の比較回路 104 従来例の選択回路 201 上限値 202 下限値 301 実施例の演算回路 302 第1のデコーダ 303 第2のデコーダ 304 第1のプライオリティエンコーダ 305 第2のプライオリティエンコーダ 306 実施例の第1の比較回路 307 実施例の第2の比較回路 308 実施例の選択回路 309 0マスク回路 401 上限値の有効桁数 402 下限値の有効桁数 403 第1の制御信号 404 第2の制御信号 405 0マスク桁数 500 0ビット比較部 510 1ビット比較部 520 2ビット比較部 530 3ビット比較部 540 実施例の第1の比較回路306の出力制御部 501,502,511〜515 論理ゲート 521〜525,531〜535,541,542 論
理ゲート 600 0ビット比較部 610 1ビット比較部 620 2ビット比較部 630 3ビット比較部 640 実施例の第2の比較回路307の出力制御部 601,602,611〜615 論理ゲート 621〜625,631〜635,641,642 論
理ゲート 701〜704 4ビット1検出部 705〜707,711〜719 論理ゲート 730 第1のプライオリティエンコーダ304の1検
出部 740 第1のプライオリティエンコーダ304のエン
コーダ部 721〜728,751〜758 論理ゲート 801〜804 4ビット1検出部 805〜807,811〜819 論理ゲート 830 第1のプライオリティエンコーダ305の1検
出部 840 第2のプライオリティエンコーダ305のエン
コーダ部 821〜828,851〜859 論理ゲート 901〜906,911〜914 論理ゲート 921〜935 論理ゲート MSB 実施例の演算回路301の最上位ビット A0〜A3 第1のプライオリティエンコーダの出力 B0〜B3 上限値の有効桁数401 C0〜C3 第2のプライオリティエンコーダの出力 D0〜D3 下限値の有効桁数402 I0〜I15 実施例の演算回路301の出力 I0′〜I15′ 第1のプライオリティエンコーダ3
04のエンコーダ部740の入力 i0〜i3 第1のプライオリティエンコーダ304の
4ビット1検出部の入力 x0〜x3 第1のプライオリティエンコーダ304の
4ビット1検出部の出力 L0′〜L15′ 第2のプライオリティエンコーダ3
05のエンコーダ部840の入力 j0〜j3 第2のプライオリティエンコーダ305の
4ビット1検出部の入力 y0〜y3 第2のプライオリティエンコーダ305の
4ビット1検出部の出力

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】所定のビット幅の入力データの非負値の有
    効桁数を出力する第1のプライオリティエンコーダと、 前記入力データの負値の有効桁数を出力する第2のプラ
    イオリティエンコーダと、 前記第1のプライオリティエンコーダが出力する有効桁
    数と予め定められた上限値の有効桁数との大小判定を行
    なう第1の比較回路と、 前記第2のプライオリティエンコーダが出力する有効桁
    数と予め定められた下限値の有効桁数との大小判定を行
    なう第2の比較回路と、 前記上限値の有効桁数をデコードして前記所定のビット
    幅のデータに変換出力する第1のデコーダと、 前記下限値の有効桁数をデコードして前記所定のビット
    幅のデータに変換出力する第2のデコーダと、 前記第1、第2の比較回路の出力を選択信号として、前
    記入力データ、前記第1のデコーダの出力、及び第2の
    デコーダの出力のうちいずれか一を出力する選択回路
    と、を備え、 前記上限値と下限値の範囲内のデータを出力するリミッ
    タ装置。
  2. 【請求項2】所定のビット幅の入力データの非負値の有
    効桁数を出力する第1のプライオリティエンコーダと、 前記入力データの負値の有効桁数を出力する第2のプラ
    イオリティエンコーダと、 前記第1のプライオリティエンコーダが出力する有効桁
    数と予め定められた上限値の有効桁数との大小判定を行
    なう第1の比較回路と、 前記第2のプライオリティエンコーダが出力する有効桁
    数と予め定められた下限値の有効桁数との大小判定を行
    なう第2の比較回路と、 前記上限値の有効桁数をデコードして前記所定のビット
    幅のデータに変換出力する第1のデコーダと、 前記下限値の有効桁数をデコードして前記所定のビット
    幅のデータに変換出力する第2のデコーダと、 前記第1のデコーダ出力と予め定められた0マスク桁数
    を入力とし、前記第1のデコーダ出力について前記0マ
    スク桁数にて指定される桁数以下のデータを0マスク
    し、前記0マスク桁数にて指定される桁数より上位の出
    力はそのまま出力するマスク回路と、 前記第1、第2の比較回路の出力を選択信号として、前
    記入力データ、前記マスク回路の出力、及び第2のデコ
    ーダの出力のうちいずれか一を出力する選択回路と、を
    備え、 マスク処理された上限値と前記下限値の範囲内のデータ
    を出力するリミッタ装置。
  3. 【請求項3】前記第1の比較回路が、前記入力データの
    最上位ビット(MSB)を入力とし、前記MSBが
    “1”(すなわち入力データが負値)のとき“0”を出
    力し、前記MSBが“0”(すなわち入力データが非負
    値)の場合であって、前記第1のプライオリティエンコ
    ーダの出力が前記上限値を表す有効桁数を超えるときに
    “1”を出力すると共に、前記第1のプライオリティエ
    ンコーダの出力が前記上限値を表す有効桁数以下の時に
    “0”を出力することを特徴とする請求項1又は2記載
    のリミッタ装置。
  4. 【請求項4】前記第2の比較回路が、前記入力データの
    最上位ビット(MSB)を入力とし、前記MSBが
    “0”(すなわち入力データが非負値)のとき“0”を
    出力し、前記MSBが“1”(すなわち入力データが負
    値)の場合であって前記第2のプライオリティエンコー
    ダの出力が前記下限値を表す桁数を超える時に“1”を
    出力すると共に、前記第2のプライオリティエンコーダ
    の出力が前記下限値を表す桁数以下の時に“0”を出力
    することを特徴とする請求項1又は2記載のリミッタ装
    置。
  5. 【請求項5】前記第1のデコーダが、予め定められた上
    限値を表す有効桁数を入力とし、前記有効桁数で表現可
    能な最大の非負値に変換することを特徴とする請求項1
    又は2記載のリミッタ装置。
  6. 【請求項6】前記第2のデコーダが、予め定められた上
    限値を表す有効桁数を入力とし、前記有効桁数で表現可
    能な最小の負値(但し0を含む)に変換することを特徴
    とする請求項1又は2記載のリミッタ装置。
  7. 【請求項7】前記選択回路が、前記第1の比較回路の出
    力が“1”で且つ前記第2の比較回路の出力が“0”の
    場合、前記第1のデコーダにより変換されたデータを出
    力し、前記第1の比較回路の出力が“0”で且つ前記第
    2の比較回路の出力が“1”の場合、前記第2のデコー
    ダにより変換されたデータを出力し、前記第1、第2の
    比較回路の出力が共に“0”の場合、前記入力データを
    出力することを特徴とする請求項1記載のリミッタ装
    置。
  8. 【請求項8】前記選択回路が、前記第1の比較回路の出
    力が“1”で且つ前記第2の比較回路の出力が“0”の
    場合、前記マスク回路によりマスク処理されたデータを
    出力し、前記第1の比較回路の出力が“0”で且つ前記
    第2の比較回路の出力が“1”の場合、前記第2のデコ
    ーダにより変換されたデータを出力し、前記第1、第2
    の比較回路の出力が共に“0”の場合、前記入力データ
    を出力することを特徴とする請求項2記載のリミッタ装
    置。
  9. 【請求項9】前記入力データが演算回路の出力である請
    求項1又は2記載のリミッタ装置。
JP5346988A 1993-12-27 1993-12-27 リミッタ装置 Expired - Lifetime JP2591463B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP5346988A JP2591463B2 (ja) 1993-12-27 1993-12-27 リミッタ装置
DE69427339T DE69427339T2 (de) 1993-12-27 1994-12-21 Begrenzerschaltung
EP94120296A EP0660226B1 (en) 1993-12-27 1994-12-21 Limiter circuit
US08/360,359 US5504697A (en) 1993-12-27 1994-12-21 Limiter circuit producing data by use of comparison in effective digit number of data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5346988A JP2591463B2 (ja) 1993-12-27 1993-12-27 リミッタ装置

Publications (2)

Publication Number Publication Date
JPH07191825A JPH07191825A (ja) 1995-07-28
JP2591463B2 true JP2591463B2 (ja) 1997-03-19

Family

ID=18387173

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5346988A Expired - Lifetime JP2591463B2 (ja) 1993-12-27 1993-12-27 リミッタ装置

Country Status (4)

Country Link
US (1) US5504697A (ja)
EP (1) EP0660226B1 (ja)
JP (1) JP2591463B2 (ja)
DE (1) DE69427339T2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2300054A (en) * 1995-01-17 1996-10-23 Hewlett Packard Co Clipping integers
US5801977A (en) * 1995-01-17 1998-09-01 Hewlett-Packard Company System and method for clipping integers
JPH0997178A (ja) * 1995-09-29 1997-04-08 Matsushita Electric Ind Co Ltd 飽和演算処理装置および方法
US5764548A (en) * 1995-09-29 1998-06-09 Intel Corporation Fast floating-point to integer conversion
EP0806722A1 (en) * 1996-05-06 1997-11-12 Motorola, Inc. Method and apparatus for a multiply and accumulate circuit having a dynamic saturation range
US5742533A (en) * 1996-05-21 1998-04-21 International Business Machines Corporation Method and apparatus for modulus error checking
CN1210647C (zh) * 1996-11-29 2005-07-13 松下电器产业株式会社 适于作由正值处理及饱和运算处理组成的修整处理的处理器
US5887181A (en) * 1997-06-23 1999-03-23 Sun Microsystems, Inc. Method and apparatus for reducing a computational result to the range boundaries of an unsigned 8-bit integer in case of overflow
KR100253407B1 (ko) * 1998-01-23 2000-04-15 김영환 에프오디 회로
US6957238B1 (en) * 2001-02-23 2005-10-18 Altera Corporation Method and system for deterministic pseudo-random valid entry resolution
US7461118B2 (en) * 2003-04-09 2008-12-02 Infineon Technologies Ag Arithmetic logic unit with merged circuitry for comparison, minimum/maximum selection and saturation for signed and unsigned numbers
US7395287B2 (en) * 2003-12-15 2008-07-01 Micrel, Inc. Numerical value conversion using a saturation limited arithmetic logic unit supporting variable resolution operands
US20060095713A1 (en) * 2004-11-03 2006-05-04 Stexar Corporation Clip-and-pack instruction for processor
US7508329B1 (en) 2008-01-03 2009-03-24 Micrel, Inc. Laser controller integrated circuit including variable resolution data processing device

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4539549A (en) * 1982-12-30 1985-09-03 International Business Machines Corporation Method and apparatus for determining minimum/maximum of multiple data words
JPS60220402A (ja) * 1984-04-17 1985-11-05 Mitsubishi Electric Corp リミツタ装置
JPS6211933A (ja) * 1985-07-09 1987-01-20 Nec Corp 演算回路
JP2600293B2 (ja) * 1988-06-10 1997-04-16 日本電気株式会社 オーバーフロー補正回路
US4941119A (en) * 1988-11-30 1990-07-10 Control Data Corporation Method and apparatus for predicting an overflow in an integer multiply
US5164914A (en) * 1991-01-03 1992-11-17 Hewlett-Packard Company Fast overflow and underflow limiting circuit for signed adder
JPH04309123A (ja) * 1991-04-08 1992-10-30 Nec Corp 冗長2進演算回路
US5422805A (en) * 1992-10-21 1995-06-06 Motorola, Inc. Method and apparatus for multiplying two numbers using signed arithmetic

Also Published As

Publication number Publication date
EP0660226A3 (en) 1995-07-19
US5504697A (en) 1996-04-02
DE69427339T2 (de) 2001-09-27
EP0660226A2 (en) 1995-06-28
JPH07191825A (ja) 1995-07-28
DE69427339D1 (de) 2001-07-05
EP0660226B1 (en) 2001-05-30

Similar Documents

Publication Publication Date Title
JP2591463B2 (ja) リミッタ装置
JP3560623B2 (ja) 算術または論理演算の計算結果の検出方法
JPH03100827A (ja) オーバフロー検出回路
GB2173022A (en) A modulo arithmetic unit having arbitrary offset and modulo values
JPH0474743B2 (ja)
JPH0746310B2 (ja) 半導体論理回路
JPH0375900B2 (ja)
JPH04350724A (ja) シフト量検出回路
US5777906A (en) Left shift overflow detection
JPH0511980A (ja) 桁あふれ検出方式とその回路
JPH01187630A (ja) 大小比較回路
US6961744B2 (en) System and method for generating an integer part of a logarithm of a floating point operand
JPS61282928A (ja) 浮動小数点演算装置
JP2002014804A (ja) 三値ディジタル回路
JPS6148036A (ja) 演算処理装置
JP2004265204A (ja) 桁上げ先見回路およびこれを用いた加算回路
JP2890412B2 (ja) 符号変換回路
KR100196520B1 (ko) 면적 개선을 위한 2의보수 변환 장치
CN115833845A (zh) 位置输出装置和位置输出方法
JPH0580982A (ja) 絶対値回路
JP2984606B2 (ja) 3入力加減算回路
JPH04242824A (ja) 中間値検出回路
JPH0318925A (ja) 演算回路
JPH0324619A (ja) 2進負数表示変換器
JPS60218133A (ja) 高速演算回路

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19961029