JP3109080B2 - 語長制限回路 - Google Patents

語長制限回路

Info

Publication number
JP3109080B2
JP3109080B2 JP02130569A JP13056990A JP3109080B2 JP 3109080 B2 JP3109080 B2 JP 3109080B2 JP 02130569 A JP02130569 A JP 02130569A JP 13056990 A JP13056990 A JP 13056990A JP 3109080 B2 JP3109080 B2 JP 3109080B2
Authority
JP
Japan
Prior art keywords
bit
output
data
supplied
shift register
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 - Fee Related
Application number
JP02130569A
Other languages
English (en)
Other versions
JPH0425214A (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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP02130569A priority Critical patent/JP3109080B2/ja
Publication of JPH0425214A publication Critical patent/JPH0425214A/ja
Application granted granted Critical
Publication of JP3109080B2 publication Critical patent/JP3109080B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、フィルタ演算回路等のディジタル信号処
理回路の後段に設けられる語長制限回路に関する。
〔発明の概要〕
この発明は、1ビット或いは数ビットのビット直列に
LSBから入力データが第1の入力端子に供給され、出力
下限ビットの前のタイミングで第2の入力端子に“1"が
供給され、キャリー出力が第3の入力端子に帰還される
全加算器と、全加算器のサム出力からオーバーフロー或
いはアンダーフローを検出する手段と、オーバーフロー
或いはアンダーフローが検出された時に、上限値或いは
下限値を発生すると共に、オーバーフロー或いはアンダ
ーフローが検出されない時に、スケーリングされた出力
を発生するシフトレジスタとからなり、簡単な構成によ
り語長制限を行うことができる。
〔従来の技術〕 ディジタル信号処理回路において、語長の拡張或いは
縮小の処理がなされる。2を補数とする表現の符号の拡
張は、上位方向には、MSBを拡張し、下位方向には、
“0"を増やすことで容易に実現できる。しかしながら、
縮小の場合では、スケーリング、丸め、リミットの3個
の操作が必要である。
一般に、ディジタル信号処理では、演算の過程で語長
が延びるので、演算の後で語長を制限する必要が生じ
る。例えばnビットの二つの符号の加算の場合では、
(n+1)ビットの加算出力が発生する。mビットとn
ビットの乗算の場合では、ストレートバイナリー符号で
(m+n)ビットの乗算出力が発生し、2の補数符号で
(m+n+1)ビットの乗算出力が発生する。従って、
ディジタルフィルタのように、積和演算を繰り返す信号
処理では、演算結果が上位及び下位に語長が延びている
ことが多い。
第6図に示すように、ディジタルフィルタ、FFT等の
ディジタル信号処理回路21の後に語長制限回路22が接続
される。語長制限回路22は、第7図に示すように、バレ
ルシフタ23、加算器24及びセレクタ25からなる。パレル
シフタ23は、入力データの内の必要なビットを選択する
もので、バレルシフタ23によりスケーリングがなされ
る。加算器24は、必要な出力符号の最下位ビットに“1"
を加算し、不要な下位ビットを捨てて、四捨五入に相当
する丸めを行う。セレクタ25は、必要な上限のビットを
超えるデータについて、正の数でオーバーしている場合
は、出力が表現できる範囲の上限値UVを出力し、また、
負の数でオーバーしている場合は、その下限値LVを出力
する。セレクタ25によりリミットの処理がなされる。
第8図は、2の補数符号であって、符号の直ぐ下に小
数点を持つ8ビットの入力データ31が信号処理によっ
て、上位に4ビット延び、下位に7ビット延びた符号32
になった場合を示している。Sは、極性を示すサインビ
ットである。この演算結果の符号32の内で、33で示すよ
うな8ビットの符号或いは34で示すような11ビットの符
号が語長制限回路22で得られる。符号33を得る時では、
符号32の下位の7ビットが丸められ、上位の4ビットが
リミットされる。符号34の場合では、下位の5ビットが
丸められて、上位の2ビットがリミットされる。
〔発明が解決しようとする課題〕
従来の語長制限回路は、第7図に示すハードウエアを
実現するのに、かなり多数のゲートを使用する必要があ
った。第7図に示す処理を汎用のCPUとソフトウエアで
実現することは可能であるが、処理速度が遅くなり、リ
アルタイム処理が困難となる問題が生じる。
従って、この発明の目的は、高速で、少ないゲート数
で実現できる語長制限回路を提供することにある。
〔課題を解決するための手段〕
この発明は、1ビット或いは数ビットのビット直列に
LSBから入力データが第1の入力端子に供給され、出力
下限ビットの前のタイミングで第2の入力端子に“1"が
供給され、キャリー出力が第3の入力端子に帰還される
全加算器(2、12)と、 全加算器(2、12)のサム出力からオーバーフロー或
いはアンダーフローを検出するエクスクルーシブORゲー
ト(6)と、 オーバーフロー或いはアンダーフローが検出された時
に、上限値或いは下限値を発生すると共に、オーバーフ
ロー或いはアンダーフローが検出されない時に、スケー
リングされた出力を発生するシフトレジスタ(8)と からなる語長制限回路である。
〔作用〕
全加算器2で、出力下限ビットの下位のビットに“1"
が加算されることで、丸めがなされる。出力上限ビット
及びそれ以上の上位側では、エクスクルーシブORゲート
6によりオーバーフロー或いはアンダーフローの検出が
なされる。フローが検出される時には、シフトレジスタ
8にMSBの“0"又は“1"に応じて上限値又は下限値がロ
ードされる。フローが検出されない時には、シフトレジ
スタ8のシフト動作でスケーリングされた出力が得られ
る。
〔実施例〕
以下、この発明の一実施例について第1図を参照して
説明する。この実施例は、第2図に示すように、12ビッ
トの入力データを6ビットの符号として出力するもので
ある。より具体的な一例は、第3図Aに示す12ビットの
入力データ(011010110000)の上位3ビットとその下位
3ビットを縮めて、矢印10で示すビット3からビット8
迄の6ビットの出力データを生成する例である。
第1図において、破線で囲んで示す1が12ビットのシ
フトレジスタである。シフトレジスタ1の並列入力とし
て、信号処理回路から12ビットのデータ(LSB、1、
2、・・・、MSB)が供給される。入力データは、シフ
トレジスタ1へロードパルスLD1でロードされる。シフ
トレジスタ1のシフトイネーブル端子は、‘H'(ハイレ
ベル)とされている。これにより、ロードされた入力デ
ータがLSBから順にクロック(図示せず)の1クロック
毎に、出力される。
シフトレジスタ1により入力データがビット直列デー
タDaに変換される。第3図Bにおけるタイミングt1でLS
BがデータDaとして現れ、タイミングt12でMSBがデータD
aとして現れる。
データDaが全加算器2の第1の入力端子に供給され
る。全加算器2の第2の入力端子にデータCINが供給さ
れ、その第3の入力端子にANDゲート3の出力が供給さ
れる。全加算器2からの上位ビット及び下位ビットが2
ビットのフリップフロップ4に供給され、その出力の一
方(キャリー)がANDゲート3に帰還される。ANDゲート
3には、クリアパルスCLRが供給されている。CLRが直列
データDaのLSBのタイミングt1で“0"となることで、上
位ビットの連鎖が断たれる。
ビット2のタイミングt3で“1"のデータCINが与えら
れることにより、ビット2に“1"を加算している。ビッ
ト2は、出力データの下限ビット(ビット3)の下位の
ビットである。その結果、丸めがなされたデータDbが得
られる。
全加算器2の出力の内のキャリー出力がANDゲート3
を介して入力側へ帰還され、次のクロックのタイミング
で加算に用いられる。従って、フリップフロップ4から
は、Dbで示す直列データが得られる。
データDbが破線で囲んで示す12ビットのシフトレジス
タ8の並列入力とされる。MSBとその下位のビットの間
にインバータ9が挿入されている。
また、データDbがリミット処理のために、フリップフ
ロップ5及びエクスクルーシブORゲート6の一つの入力
端子に供給され、エクスクルーシブORゲート6の他方の
入力端子にフリップフロップ5の出力Dcが供給される。
データDcは、Dbに対して1クロック遅れたものである。
データDcは、シフトレジスタ8の直列入力とされる。
エクスクルーシブORゲート6は、2ビットが一致する
時に、“0"の出力を発生し、また、これらが不一致の時
に、“1"の出力を発生する。エクスクルーシブORゲート
6の出力は、オーバーフロー或いはアンダーフローを検
出する。データDb及びDcが一致しているときがフロー無
しで、これらが不一致のときがフロー有りである。エク
スクルーシブORゲート6の出力がフリップフロップ7に
供給される。フリップフロップ7のクリア入力として、
制御信号SELENが供給される。従って、SELENが“1"の期
間でのフローの検出が有効とされる。SELENは、第3図
Bに示すように、タイミングt12以降で“1"となり、タ
イミングt11迄は、“0"である。
また、シフトレジスタ8には、シフトイネーブルSFTE
Nが供給されている。シフトイネーブルSFTENは、タイミ
ングt3からタイミングt11迄は、“1"であり、この期
間、シフトレジスタ8がシフト動作を行う。第3図Aに
おいて、矢印11で示すLSBからビット8迄の範囲がスケ
ーリングのためのシフト範囲である。次のタイミングt1
2からは、シフトがされず、フローの判断と、上限値及
び下限値の選択と、並列ロードがなされる。
フローが生じている場合、入力データのMSBが“0"
(即ち、正)ならば、オーバーフローであり、上限値
(011・・・・1)を出力する必要があり、入力データ
のMSBが“1"(即ち、負)ならば、アンダーフローであ
り、下限値(100・・・・0)を出力する必要がある。
従って、SELENが“1"の期間に、フローが一度でも検出
されたら、シフトレジスタ8の並列ロード信号LD2をイ
ネーブルとする。これによりシフトレジスタ8がシフト
モードから並列ロードに切り替えられ、シフトレジスタ
8には、MSBが現れた時に、上限値又は下限値がロード
される。
第3図の例では、フローが起きていないので、並列ロ
ードとならず、SFTENが“1"の期間だけ、シフトレジス
タがシフトして、スケーリングが実現される。即ち、ス
ケーリングは、シフトを途中で停めることで実現され
る。なお、フローが起きた場合では、スケーリングが不
要となる。第3図Bの例では、タイミングt15におい
て、シフトレジスタ8には、左詰めで(011011010)が
得られている。この内で上位(左)から6ビットが出力
符号である。
第4図を参照して、入力データの他の例について説明
する。つまり、第4図Aに示す12ビットの入力データ
(001101000101)が供給され、矢印10で示す6ビットの
出力データを得る場合の例である。矢印11は、スケーリ
ングのためのシフト範囲である。
前述の第3図に示す例と同様の動作がなされるが、SE
LENが“1"の期間で、エクスクルーシブORゲート6の出
力が第4図Bに示すように、“1"となる。このことは、
MSBが“1"であるので、アンダーフローが検出されるこ
とを意味する。従って、フリップフロップ7から発生す
る並列ロード信号LD2が“1"となる。従って、タイミン
グt12以降は、シフトレジスタ8が並列ロードの状態と
なる。そして、入力データのMSB(“1")から発生した
下限値(100000000000)がシフトレジスタ8にロードさ
れる。下限値の内で、上位からの6ビットが出力データ
とされる。
第5図は、この発明の他の実施例を部分的に示す。他
の実施例は、入力データの各ビットが2本ずつある冗長
2進表現の場合に適用される。つまり、前段のディジタ
ル信号処理回路で、冗長2進の形態で演算処理を行って
いる場合に対して、第5図の構成は、適用される。
通常の1ビット全加算器の場合、A及びBの二つの入
力と下位からのキャリー入力ciとが供給され、加算出力
sと上位へのキャリー出力coとが発生する。これに対し
て、冗長2進数の加算では、A、B及びCの同じビット
桁の3本の入力を加算して2本の同じビット桁の出力
(キャリー出力c及びサム出力s)が生じる。
第5図において、破線が囲んで示すシフトレジスタ1A
及び1Bの夫々の並列入力として、冗長2進数で表現され
た入力データがロードされる。シフトレジスタ1Aの直列
出力がORゲート10に供給され、シフトレジスタ1Bの直列
出力がORゲート11に供給される。これらのORゲート10及
び11には、丸めのための信号CIN′が供給される。ORゲ
ート10及び11の出力が全加算器12の二つの入力とされ
る。全加算器12の出力がフリップフロップ13に供給さ
れ、フリップフロップ13を介されたキャリー出力が全加
算器12に帰還される。フリップフロップ13を介されたサ
ム出力が直列データDbとして取り出される。この直列デ
ータDbは、前述の第1図に示す一実施例と同様に処理さ
れる。
信号CIN′が例えばビット2のタイミングで“1"とな
ると、全加算器12のキャリー出力が必ず“1"で帰還され
るので、丸めを行うことができる。出力符号の下限ビッ
トより下位のビットが有効な出力として扱われない理由
により、下位のビットがどのようなデータでも良いとす
ると、全加算器12の帰還ループ中にANDゲートを設ける
ことを省略できる。
なお、この発明は、LSBから1ビットずつ処理するこ
とに限定されず、拡張して数ビットずつを処理しても良
い。
〔発明の効果〕
この発明は、ビット直列処理を行うことで、従来の並
列的処理と比較して、回路構成を簡略とすることができ
る。また、ビット直列処理の場合には、処理に必要なク
ロックサイクルが並列処理と比較して多くなる。しかし
ながら、複数個のフリップフロップがデータ伝送路中に
挿入されているので、高速のクロックで動作させること
で、動作速度がそれほど低下しない。若し、動作速度を
より向上させる必要があるならば、1ビットの直列処理
ではなく、2ビットずつの直列処理とすることができ
る。
【図面の簡単な説明】
第1図はこの発明の一実施例の回路図、第2図、第3図
及び第4図はこの発明の語長制限動作の説明に用いる略
線図、第5図はこの発明の他の実施例の部分的な回路
図、第6図は語長制限回路の接続位置の説明に用いるブ
ロック図、第7図は従来の語長制限回路のブロック図、
第8図は従来の語長制限回路の説明に用いる略線図であ
る。 図面における主要な符号の説明 1、1A、1B:シフトレジスタ、 2、12:全加算器、 6:エクスクルーシブORゲート、 8:シフトレジスタ。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】1ビット或いは数ビットのビット直列にLS
    Bから入力データが第1の入力端子に供給され、出力下
    限ビットの前のタイミングで第2の入力端子に“1"が供
    給され、キャリー出力が第3の入力端子に帰還される全
    加算器と、 上記全加算器のサム出力からオーバーフロー或いはアン
    ダーフローを検出する手段と、 上記オーバーフロー或いはアンダーフローが検出された
    時に、上限値或いは下限値を発生すると共に、上記オー
    バーフロー或いはアンダーフローが検出されない時に、
    スケーリングされた出力を発生するシフトレジスタと からなる語長制限回路。
JP02130569A 1990-05-21 1990-05-21 語長制限回路 Expired - Fee Related JP3109080B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02130569A JP3109080B2 (ja) 1990-05-21 1990-05-21 語長制限回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02130569A JP3109080B2 (ja) 1990-05-21 1990-05-21 語長制限回路

Publications (2)

Publication Number Publication Date
JPH0425214A JPH0425214A (ja) 1992-01-29
JP3109080B2 true JP3109080B2 (ja) 2000-11-13

Family

ID=15037382

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02130569A Expired - Fee Related JP3109080B2 (ja) 1990-05-21 1990-05-21 語長制限回路

Country Status (1)

Country Link
JP (1) JP3109080B2 (ja)

Also Published As

Publication number Publication date
JPH0425214A (ja) 1992-01-29

Similar Documents

Publication Publication Date Title
EP0127988B1 (en) A normalizing circuit
JPH0644225B2 (ja) 浮動小数点丸め正規化回路
JPH0573269A (ja) 加算器
US6151612A (en) Apparatus and method for converting floating point number into integer in floating point unit
JP3109080B2 (ja) 語長制限回路
US5635858A (en) Zero-stopping incrementers
JP2509279B2 (ja) 浮動小数点数一固定小数点数変換装置
CN114895868B (zh) 基于两位商计算的除法运算单元及除法器
EP0353041A2 (en) Signal processing apparatus and method using modified signed digit arithmetic
KR100196520B1 (ko) 면적 개선을 위한 2의보수 변환 장치
JP2907276B2 (ja) 演算処理装置
KR0154934B1 (ko) 개선된 2의 보수회로
JP2591250B2 (ja) データ処理装置
KR100226757B1 (ko) 병렬제산 연산장치
KR0157337B1 (ko) 디지탈신호 처리기의 멀티비트 가산기
US6041341A (en) Method and circuit for adding operands of multiple size
JP2890412B2 (ja) 符号変換回路
KR0175357B1 (ko) 고속화를 위한 연산기의 오버플로우 검출회로
JPH0553768A (ja) 除算器
JPH0779247B2 (ja) デコ−ド回路
JPH0327938B2 (ja)
JPH0580978A (ja) 演算処理回路
JPH02238522A (ja) 絶対値演算回路
JPH04192033A (ja) 補数変換回路
JPH07182140A (ja) バレルシフタ

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees