JP2008033473A - 積和演算回路 - Google Patents
積和演算回路 Download PDFInfo
- Publication number
- JP2008033473A JP2008033473A JP2006204185A JP2006204185A JP2008033473A JP 2008033473 A JP2008033473 A JP 2008033473A JP 2006204185 A JP2006204185 A JP 2006204185A JP 2006204185 A JP2006204185 A JP 2006204185A JP 2008033473 A JP2008033473 A JP 2008033473A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- data
- product
- sum operation
- output
- 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.)
- Withdrawn
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
【課題】直列に入力されるデータに対して、並列データに変換せずに、加算や乗算を施すことができる積和演算回路を提供する。
【解決手段】各ビット積和演算回路10-0〜10-3では、AND10によってシリアル入力信号SDIと対応する桁の係数C0〜C3との乗算が行われ、これにデータ入力端子DIから与えられる前段での演算結果が加算される。そして、FF13で1クロック分だけ遅延され、これが桁上げ(2倍)動作となって、データ出力端子DOから後段に出力される。縦続接続された積和演算回路10-0〜10-3で順次各桁の加算が行われ、その結果をクロック信号CLKに同期してシフトして後段へ出力することにより乗算が行われる。これにより、最終段のビット積和演算回路10-0のデータ出力端子DOから、ワード単位での積和演算結果である出力データOUTが直列に出力される。
【選択図】図1
【解決手段】各ビット積和演算回路10-0〜10-3では、AND10によってシリアル入力信号SDIと対応する桁の係数C0〜C3との乗算が行われ、これにデータ入力端子DIから与えられる前段での演算結果が加算される。そして、FF13で1クロック分だけ遅延され、これが桁上げ(2倍)動作となって、データ出力端子DOから後段に出力される。縦続接続された積和演算回路10-0〜10-3で順次各桁の加算が行われ、その結果をクロック信号CLKに同期してシフトして後段へ出力することにより乗算が行われる。これにより、最終段のビット積和演算回路10-0のデータ出力端子DOから、ワード単位での積和演算結果である出力データOUTが直列に出力される。
【選択図】図1
Description
本発明は、クロック信号に同期して直列に入力される信号のフィルタ処理に用いられる積和演算回路、特にその簡素化に関するものである。
従来、音データなどのシリアルデータ通信では、クロック信号、チャネル信号及びデータ信号を、3本の信号線を使用して伝送するようになっている。一方、クロック信号に同期して伝送されてきたデータ信号をフィルタ処理する場合、下記特許文献1に記載されているように、シリアルデータをパラレルデータに変換した後、積和等の演算を行う。更に、フィルタ処理後のデータをシリアルに伝送する場合には、パラレルデータを再びシリアルデータに変換して送信する必要があった。
しかしながら、前記特許文献1に記載されたような、従来のシリアルデータのフィルタ処理では、シリアル・パラレル変換回路とパラレル・シリアル変換回路が必要になり、回路規模が大きくなると共に処理効率が悪くなるという問題があった。
本発明は、直列に入力されるデータに対して、並列データに変換せずに、加算や乗算を施すことができる積和演算回路を提供することを目的としている。
本発明の積和演算回路は、最下位ビットから順番に直列に入力されるデータ入力信号に設定された係数を乗算し、この乗算結果に設定されたデータを加算した積和演算結果を直列に出力するために、クロック信号に従ってビット単位に積和演算を行う複数のビット積和演算回路を縦続接続して構成したことを特徴としている。
本発明では、ビット単位に積和演算を行う複数のビット積和演算回路を縦続接続することのよって積和演算回路を構成している。これにより、直列に入力されるデータに対して、並列データに変換せずに、加算や乗算を施すことができるので、回路規模を縮小することができるという効果がある。
この発明の前記並びにその他の目的と新規な特徴は、次の好ましい実施例の説明を添付図面と照らし合わせて読むと、より完全に明らかになるであろう。但し、図面は、もっぱら解説のためのものであって、この発明の範囲を限定するものではない。
図1は、本発明の実施例を示すワード積和演算回路の構成図である。
このワード積和演算回路は、縦続接続された複数(ここでは4個の場合を示しているが、数は任意である)のビット積和演算回路10-3,10-2,…,10-1,10-0と、チャネルタイミング生成回路20と、縦続接続されたフリップ・フロップ(以下、「FF」という)30-2,…,30-1,30-0で構成されている。
このワード積和演算回路は、縦続接続された複数(ここでは4個の場合を示しているが、数は任意である)のビット積和演算回路10-3,10-2,…,10-1,10-0と、チャネルタイミング生成回路20と、縦続接続されたフリップ・フロップ(以下、「FF」という)30-2,…,30-1,30-0で構成されている。
ビット積和演算回路10-3〜10-0は、いずれも同様の構成で、例えば先頭のビット積和演算回路10-3に示すように、直列に伝送されて来るシリアルデータ入力信号SDIが与えられるシリアル入力端子SIと、予め設定された乗算用の係数C(C3)が与えられる係数端子DEを備え、これらのシリアル入力端子SIと係数端子DEの信号の論理積をとる論理積ゲート(以下、「AND」という)11を有している。AND11の出力側は、全加算器12の入力端子Aに接続されている。全加算器12は、入力端子A,Bと桁上げ入力端子CIに与えられる信号を加算して、和の信号を出力端子Sに、桁上げ信号を桁上げ出力端子COに、それぞれ出力するものである。
全加算器12の入力端子Bは、ビット積和演算回路10のデータ入力端子DIに接続され、出力端子Sと桁上げ出力端子COは、それぞれFF13,14のデータ端子Dに接続されている。FF13,14は、いずれもビット積和演算回路10のクロック端子CKに与えられるクロック信号CLKに同期して、それぞれ出力端子Sと桁上げ出力端子COの信号を保持するものである。FF13の出力端子Qは、ビット積和演算回路10のデータ出力端子DOに接続され、FF14の出力端子Qは、AND15の第1の入力側に接続されている。
AND15の第2の入力側には、ビット積和演算回路10のタイミング端子TMに与えられるチャネルタイミング信号CHTが、インバータ16で反転されて与えられるようになっている。そして、AND15の出力側が、全加算器12の桁上げ入力端子CIに接続されている。
初段のビット積和演算回路10-3のデータ入力端子DIには、予め設定された加算データDINが直列に与えられるようになっている。また、ビット積和演算回路10-3のデータ出力端子DOは、次段のビット積和演算回路10-2のデータ入力端子DIに接続され、このビット積和演算回路10-2のデータ出力端子DOが、その後段のビット積和演算回路10-1のデータ入力端子DIに接続され、最終段のビット積和演算回路10-0のデータ出力端子DOから積和演算が施された出力データOUTが直列に出力されるようになっている。
一方、チャネルタイミング生成回路20は、データ信号線上のシリアルデータ入力信号SDIが有効であることを示すチャネル信号CHAとクロック信号CLKに基づいて、動作開始のタイミングを示すチャネルタイミング信号CHTを生成するものである。チャネルタイミング信号CHTは、初段のビット積和演算回路10-3のタイミング端子TMに与えられると共に、FF30-2によって1クロックの時間だけ遅延されて、次段のビット積和演算回路10-2のタイミング端子TMに与えられている。更に、FF30-2の出力信号は、FF30-1,30-0によって、順次1クロックずつ遅延されて、後段のビット積和演算回路10-1,10-0のタイミング端子TMに与えられるようになっている。
図2は、図1中のビット積和演算回路の動作を示す信号波形図であり、図3は、図1の動作を示す信号波形図である。以下、これらの図2及び図3を参照しつつ、図1の動作を説明する。
先ず、図2に従って、演算の最小単位である図1中のビット積和演算回路10の加算動作を説明する。この図2では、予め設定された加算データDIN(=3、2進数表示の0011)と、シリアルデータ入力信号SDI(=6、2進数表示の0110)の加算例を示している。加算動作であるので、乗算用の係数Cは1である。
クロック信号CLKに同期して、チャネル信号CHAが1(有効)になると共に、シリアルデータ入力信号SDIに2進数0110の最下位ビットが入力される。一方、チャネルタイミング生成回路20では、最初の有効データである最下位ビットの入力時にのみ1となるチャネルタイミング信号CHTが生成され、ビット積和演算回路10のタイミング端子TMに与えられる。更に、このチャネルタイミング信号CHTと同じタイミングで、加算データDINの最下位ビットがビット積和演算回路10のデータ入力端子DIに与えられる。
チャネルタイミング信号CHTは、インバータ16で反転されてAND15に与えられるので、FF14の保持内容に拘らず、全加算器12の桁上げ入力端子CIは0となる。これにより、全加算器12では、シリアルデータ入力信号SDIと加算データDINの最下位ビット同士が加算され、加算結果が出力端子Sと桁上げ出力端子COに出力される。これらの加算結果は、次のクロック信号CLKのタイミングでFF13,14に保持される。FF13に保持された出力端子Sの信号は、データ出力端子DOに出力され、FF14に保持された桁上げ出力端子COの信号は、AND15を介して全加算器12の桁上げ入力端子CIに与えられる。
次のクロック信号CLKにより、チャネルタイミング信号CHTは0となる。これにより、シリアルデータ入力信号SDIと加算データDINのそれぞれの2ビット目と、FF14に保持された最下位ビットの加算結果の桁上げ出力が、全加算器12で加算される。そして、2ビット目の加算結果が、FF13,14に保持される。このような演算がクロック信号CLKに同期してビットの桁数分だけ繰り返して行われる。これにより、シリアルデータ入力信号SDIと加算データDINの加算結果が、クロック信号CLKに同期して、データ出力端子DOから直列に出力される。
次に、図3に従って、図1のワード積和演算回路の加算と乗算の動作を説明する。
ここでは、シリアル入力信号SDIYを変数Xとして、Y=aX+bの演算が行われる。乗算する数aは、ビット積和演算回路10-0〜10-3の係数C0〜C3として設定され、例えば、a=5(2進数表示の0101)とすると、C0=1,C1=0,C2=1,C3=0である。加算する数b(例えば、3)は、初段のビット積差演算回路10-3のデータ入力端子DIに、加算データDINとして最下位ビットから順に直列に与えられる。また、変数Xは、シリアル入力信号SDIとして、各ビット積和演算回路10-0〜10-3のシリアル入力端子SIに共通に入力される。そして、最終段のビット積和演算回路10-0のデータ出力端子DOから、演算結果の値Yが出力データOUTとして、最下位ビットから順に出力されるようになっている。
ここでは、シリアル入力信号SDIYを変数Xとして、Y=aX+bの演算が行われる。乗算する数aは、ビット積和演算回路10-0〜10-3の係数C0〜C3として設定され、例えば、a=5(2進数表示の0101)とすると、C0=1,C1=0,C2=1,C3=0である。加算する数b(例えば、3)は、初段のビット積差演算回路10-3のデータ入力端子DIに、加算データDINとして最下位ビットから順に直列に与えられる。また、変数Xは、シリアル入力信号SDIとして、各ビット積和演算回路10-0〜10-3のシリアル入力端子SIに共通に入力される。そして、最終段のビット積和演算回路10-0のデータ出力端子DOから、演算結果の値Yが出力データOUTとして、最下位ビットから順に出力されるようになっている。
図3の時刻T1において、チャネル信号CHAが1になることにより、チャネルタイミング信号CHTが1になり、これと共に加算データDINの最下位ビットがビット積差演算回路10-3のデータ入力端子DIに与えられる。この時点では、シリアル入力信号SDIは与えられていない。そして、クロック信号CLKに同期して加算データDINが、下位ビットから上位ビットの順に順次与えられる。
一方、シリアル入力信号SDIは、演算の有効桁数から算出されたタイミングで入力される。この場合、シリアル入力信号SDIは6(即ち、2進数表示の0110で有効数字が3桁)であるので、チャネルタイミング信号CHTの出力から3クロック目の時刻T2から入力が開始され、クロック信号CLKに同期して最下位ビットから上位ビットの順に、順次入力される。
これにより、各ビット積和演算回路10-0〜10-3では、シリアル入力信号SDIと対応する桁の係数C0〜C3との乗算が行われ、これにデータ入力端子DIから与えられる前段での演算結果が加算される。そして、FF13で1クロック分だけ遅延され、桁上げ(2倍)動作となって、データ出力端子DOから後段に出力される。縦続接続された積和演算回路10-0〜10-3で順次各桁の加算が行われ、その結果をクロック信号CLKに同期してシフトして後段へ出力することにより乗算が行われる。
従って、最終段のビット積和演算回路10-0のデータ出力端子DOから、ワード単位での積和演算結果である出力データOUT=33(=5×6+3)が、2進数0100001として、最下位ビットから上位ビットの順に出力される。なお、出力データOUTの出力開始タイミングは、チャネルタイミング信号CHTから、ビット積和演算回路10-0〜10-3の段数である4クロック後のタイミングとなる。
図4は、図1のワード積和演算回路を使用したFIR(有限インパルス応答)演算回路の構成例である。
このFIR演算回路は、図1のワード積和演算回路100-1〜100-nを縦続接続し、共通のシリアル入力信号SDIを与えて、共通のクロック信号CLKで駆動するように構成したものである。そして、各ワード積和演算回路100-1〜100-nには、それぞれワード単位のフィルタ係数CE1〜CEnを与えると共に、初段のワード積和演算回路100-1には、加算データDINとして丸めの値INを与えるようにしている。これにより、終段のワード積和演算回路100-nの出力データOUTとして、FIR演算結果の信号が直列に出力される。
以上のように、本実施例のワード積和演算回路は、全加算回路12とFF13,14を組み合わせたビット積和演算回路10を縦続接続して構成しているので、シリアル・パラレル変換回路やパラレル・シリアル変換回路及び乗算回路を用いることなく、FIR演算回路等の信号処理回路を構成することができ、回路規模を縮小することができるという利点がある。
なお、本発明は、上記実施例1に限定されず、種々の変形が可能である。この変形例としては、例えば、次のようなものがある。
(1) 図1中のビット積和演算回路10では、任意の係数Cに対応するために、AND11を用いてシリアル入力信号SDIと係数Cの論理積を取って全加算器12の入力端子Aに与えるようにしている。しかし、例えばFIRフィルタ等に適用する場合、係数Cは各段毎に固定的に設定されるので、係数Cが1の回路と0の回路を区分することにより、回路構成を簡素化することができる。
(1) 図1中のビット積和演算回路10では、任意の係数Cに対応するために、AND11を用いてシリアル入力信号SDIと係数Cの論理積を取って全加算器12の入力端子Aに与えるようにしている。しかし、例えばFIRフィルタ等に適用する場合、係数Cは各段毎に固定的に設定されるので、係数Cが1の回路と0の回路を区分することにより、回路構成を簡素化することができる。
図5(a),(b)は、第1の変形例を示すビット積和演算回路の構成図で、同図(a)は係数C=1の場合、及び同図(b)は係数C=0の場合の回路図である。
係数C=1の場合は、図5(a)に示すように、AND11は不要となりシリアル入力端子SIが全加算器12の入力端子Aに直接接続される。また、係数C=0の場合は、図5(b)に示すように、全加算器12も不要になってFF13だけの構成となる。
(2) 図5の回路では、係数Cが1の場合と0の場合で回路規模が大きく異なり、特にC=1の場合の回路規模は図1中のビット積和演算回路10とあまり変わらない。このため、ワード積和演算回路として使用するときの係数が、例えば−1の場合、2進数では補数表示で11・・・11となるため、回路規模の削減が困難である。
図6(a),(b)は、このような場合に適用するための第2の変形例を示すビット積和演算回路の構成図である。図6(a)は、シリアルデータ入力SIを反転させる場合で、データ入力端子DIの信号を反転させて半加算器18の入力端子Aに与えるインバータ17と、FF14でクロック信号CLKに同期して保持した半加算器18の桁上げ信号出力COとタイミング端子TMから与えられるチャネルタイミング信号CHTの論理和を取ってこの半加算器18の入力端子Bに与える論理和ゲート(以下、「OR」という)19で構成されている。なお、この図6(a)は、S=S+A×C=S+(−A)×(−C)の式変換に該当するものである。
一方、図6(b)は、加算データ入力DIを反転させる場合で、図1中のビット積和演算回路10におけるAND15とインバータ16に代えてOR19を設けると共に、データ入力端子DIの信号を反転させて全加算器12の入力端子Bに与えるインバータ17を追加したものである。なお、この図6(b)は、S=S+A×C=−(S+A×(−C))の式変換に該当するものである。
(3) 係数Cや加算データDINは、予め設定された固定の値として説明したが、演算毎に任意に設定を変更することが出来る。
10 ビット積和演算回路
11,15 AND
12 全加算器
13,14,30 FF
16 インバータ
20 チャネルタイミング生成回路
100 ワード積和演算回路
11,15 AND
12 全加算器
13,14,30 FF
16 インバータ
20 チャネルタイミング生成回路
100 ワード積和演算回路
Claims (2)
- 最下位ビットから順番に直列に入力されるデータ入力信号に設定された係数を乗算し、この乗算結果に設定されたデータを加算した積和演算結果を直列に出力するために、クロック信号に従ってビット単位に積和演算を行う複数のビット積和演算回路を縦続接続して構成したことを特徴とする積和演算回路。
- 前記各ビット積和演算回路は、
前記データ入力信号が共通に与えられるシリアル入力ノード、前記係数が与えられる係数入力ノード、前記データまたは前段の演算結果が与えられるデータ入力ノード、前記クロック信号が共通に与えられるクロック入力ノード、動作開始のタイミング信号が与えられるタイミングノード、及び演算結果を出力するデータ出力ノードの各ゲートと、
前記シリアル入力ノードと前記係数入力ノードに与えられる信号の論理積を出力する第1の論理ゲートと、
前記第1の論理ゲートの出力信号と前記データ入力ノードの信号と桁上げ入力信号を加算して加算結果信号と桁上げ出力信号を出力する加算器と、
前記加算結果信号を前記クロック信号に従って保持して前記データ出力ノードに出力する第1のフリップ・フロップと、
前記桁上げ出力信号を前記クロック信号に従って保持する第2のフリップ・フロップと、
前記タイミング信号が与えられたときには前記加算器に対する桁上げ入力信号の出力を停止し、該タイミング信号が与えられていないときは前記第2のフリップ・フロップに保持された信号を該桁上げ入力信号として該加算器に与える第2の論理ゲートとを備え、
前記縦続接続されたビット積和演算回路の初段のビット積和演算回路のデータ入力ノードに前記データを与え、終段のビット積和演算回路のデータ出力ノードから前記積和演算結果を出力するように構成したことを特徴とする請求項1記載の積和演算回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006204185A JP2008033473A (ja) | 2006-07-27 | 2006-07-27 | 積和演算回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006204185A JP2008033473A (ja) | 2006-07-27 | 2006-07-27 | 積和演算回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008033473A true JP2008033473A (ja) | 2008-02-14 |
Family
ID=39122853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006204185A Withdrawn JP2008033473A (ja) | 2006-07-27 | 2006-07-27 | 積和演算回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008033473A (ja) |
-
2006
- 2006-07-27 JP JP2006204185A patent/JP2008033473A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4790791B2 (ja) | 乗算器、デジタルフィルタ、信号処理装置、合成装置、合成プログラム、および合成プログラム記録媒体 | |
TWI263402B (en) | Reconfigurable fir filter | |
WO2021056711A1 (zh) | 一种用数字电路实现的插值滤波器系统 | |
JPH06503450A (ja) | 積の数を減らすことによりディジタルフィルタバンクの電力消費を減らす方法 | |
JPWO2008018197A1 (ja) | デジタルフィルタ、その合成装置、合成プログラム、及び合成プログラム記録媒体 | |
Ye et al. | A low cost and high speed CSD-based symmetric transpose block FIR implementation | |
US5870322A (en) | Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication | |
JP2008033473A (ja) | 積和演算回路 | |
JP4273323B2 (ja) | 積和演算回路 | |
JP3123060B2 (ja) | ディジタル演算回路 | |
JP2007267204A (ja) | フィルタ装置 | |
JP5102710B2 (ja) | デジタルフィルタ | |
JP7183079B2 (ja) | 半導体装置 | |
JP2864597B2 (ja) | ディジタル演算回路 | |
JP3241642B2 (ja) | 2進10進変換回路 | |
Saisivakumaran et al. | Hardware Efficient FIR Filter for Signal Processing Applications | |
JP2004128858A (ja) | Firデジタルフィルタ | |
JPH0795671B2 (ja) | デイジタルフイルタ | |
JPH05289850A (ja) | 乗算器 | |
JPS63163927A (ja) | 乗算回路 | |
JPS6250928A (ja) | 固定係数の直列乗算方法及びそのデイジタル回路 | |
JPH06348458A (ja) | シリアルデータ加算器 | |
KR20050003026A (ko) | 적산기를 이용한 디지털 필터 및 그 필터링 방법 | |
JPH03211910A (ja) | ディジタルフィルタ | |
JPS63217816A (ja) | デイジタルフイルタ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20091006 |