JP3737660B2 - Digital signal processing circuit and communication apparatus provided with the circuit - Google Patents

Digital signal processing circuit and communication apparatus provided with the circuit Download PDF

Info

Publication number
JP3737660B2
JP3737660B2 JP34048999A JP34048999A JP3737660B2 JP 3737660 B2 JP3737660 B2 JP 3737660B2 JP 34048999 A JP34048999 A JP 34048999A JP 34048999 A JP34048999 A JP 34048999A JP 3737660 B2 JP3737660 B2 JP 3737660B2
Authority
JP
Japan
Prior art keywords
digital signal
arithmetic processing
processing circuit
word length
dedicated
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
JP34048999A
Other languages
Japanese (ja)
Other versions
JP2001154846A (en
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP34048999A priority Critical patent/JP3737660B2/en
Publication of JP2001154846A publication Critical patent/JP2001154846A/en
Application granted granted Critical
Publication of JP3737660B2 publication Critical patent/JP3737660B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Advance Control (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、例えば映像信号や音声信号の符号化及び復号処理を行うディジタル信号処理回路と、この回路を備えた携帯情報端末や携帯電話機、車載情報通信端末等の通信装置に関する。
【0002】
【従来の技術】
MPEG(Moving Picture Coding Experts Group)等をはじめとするディジタル・コンテンツの普及につれ、ディジタル信号処理技術の重要性が一層増している。この様なディジタル信号処理を携帯情報端末や携帯電話機等の通信装置において実現する場合には、DSP(Digital Signal Processor)やRISC(Reduced Instruction Set Computer)等のプロセッサを使用するのが一般的である。
【0003】
ところで、これらのプロセッサを使用してディジタル信号処理を行う際には、ディジタル信号の語長が演算精度に直接関係する。語長が短ければ演算器のビット幅やメモリ容量等のハードウエア・リソースが少なくて済む。しかし、信号処理の内容によっては品質に与える影響が大きくなり、特にビデオ信号やオーディオ信号を取り扱うマルチメディア信号処理を行う場合には、語長が足りないと十分な品質が得られなくなる。そこで、品質を確保するために、ディジタル信号の語長を要求される品質を満足する最短の語長に合わせる手法と、語長の不足をソフトウエア処理により補って演算精度を確保する手法が検討されている。
【0004】
【発明が解決しようとする課題】
しかし、ディジタル信号処理の中で品質に大きな影響を及ぼすものは、演算結果に対しさらに演算を行うことで誤差が蓄積されるような場合であり、この様な演算処理は処理全体のごく一部であることが多い。このため、一部の演算処理に合わせてすべての演算処理について最大語長を与えることは、演算器のビット幅やメモリ容量等のハードウエア・リソースの面で回路規模の大型化やコストの増加を招き好ましくない。
【0005】
一方、語長の不足をソフトウエア処理で補う手法は、ハードウエア・リソースの面で効果があるが、処理遅延を生じ易いためリアルタイム性が要求される信号処理には不向きである。また、処理量の増加は消費電力の増加を招くため、特に携帯情報端末や携帯電話機等のバッテリ駆動型の通信装置においては非常に好ましくない。
【0006】
例えば、リアルタイム性が要求されるマルチメディア信号処理では、フィルタ演算や相関演算等の定型の演算処理を高速に行う必要がある。しかも、この種の演算処理は有限語長による演算誤差が蓄積され易いため、高精度の演算処理が求められる。しかし、この種の演算処理を行う際に、RISCではアドレッシング等のオーバヘッドが大きく効率的な演算が困難である。
【0007】
一方DSPでは、フィルタ演算等の定型演算を高速演算することが可能であるが、演算の種類が限られているため不定形の演算処理を高速に行うことは苦手であり、また通常の処理についても高級言語でロジックを記述することが難しく、開発効率に問題がある。
【0008】
この発明は上記事情に着目してなされたもので、その目的とするところは、メモリ容量を減らしてハードウエア・リソースを小型かつ安価にし、かつ語長の異なる複数種のディジタル信号に対し高精度の演算処理を可能にしたディジタル信号処理回路とこの回路を備えた通信装置を提供することにある。
【0009】
【課題を解決するための手段】
上記目的を達成するためにこの発明は、第1の語長を持つ第1のディジタル信号及び上記第1の語長よりも長い第2の語長を持つ第2のディジタル信号をそれぞれ演算処理するディジタル信号処理回路において、主演算処理回路と、この主演算処理回路に接続される専用演算処理回路とを設け、
上記主演算処理回路に、上記第1の語長に対応する演算処理機能を有する主演算部と、単位記憶領域の記憶容量が上記第1の語長に対応して構成された第1のメモリと、ディジタル信号記憶制御手段と、演算制御手段とを備え、第1のメモリに上記第1のディジタル信号を記憶する場合にはその1語長を第1のメモリの単位記憶領域に記憶し、第2のディジタル信号を記憶する場合にはその1語長を区切って前記第1のメモリの複数の単位記憶領域に渡り詰めて記憶する。そして、第1のディジタル信号については上記主演算部に供給して演算処理を行わせ、第2のディジタル信号については上記専用演算処理回路に転送する。
【0010】
一方上記専用演算処理回路には、上記第2の語長に対応する演算処理機能を有する専用演算部と、単位記憶領域の記憶容量が上記第2の語長に対応して構成された第2のメモリと、専用演算制御手段とを備える。そして、この専用演算制御手段により、上記専用演算部及び第2のメモリを使用することで、上記主演算処理回路から転送された第2のディジタル信号を専用演算部に供給して演算処理を行わせ、その演算処理結果を上記主演算処理回路に返送するようにしたものである。
【0011】
したがってこの発明によれば、例えば通常語長の第1のディジタル信号については主演算処理回路で演算処理され、これに対し語長の長い第2のディジタル信号については専用演算処理回路に転送されて演算処理される。このため、主演算処理回路は通常語長のディジタル信号処理のみを行えばよいことになり、これにより演算部及びメモリに第2のディジタル信号の語長に対応したものを用意する必要がなくなって、その分主演算処理回路のハードウエア・リソースを小型で安価なものにすることができる。またソフトウエアの面では、語長の不足をソフトウエアで補う必要がないため、リアルタイムで高品質の処理が可能となる。
【0012】
また、専用演算処理回路に必要なメモリは、主演算処理回路から転送される少数ワードのディジタル信号を一時記憶できる程度でよいので比較的小容量で済み、また演算部は定型の演算処理に対応したものでよいため比較的小規模で済む。このため、専用演算処理回路の構成についても比較的小規模に抑えることができる。
【0013】
さらにこの発明では、第2のディジタル信号を主演算処理回路のメモリに記憶する際に、その語長を区切って複数の単位記憶領域に渡り詰めて記憶するようにしているので、メモリを無駄な余剰記憶領域を発生させずに効率良く使用できる利点がある。
【0014】
またこの発明は、上記主演算処理回路及び専用演算処理回路の少なくとも一方に語長変換手段を設け、この語長変換手段により、第2のディジタル信号を転送する際にその語長を第1の語長と第2の語長との間で変換することも特徴としている。
【0015】
このように構成することで、主演算処理回路の第1のメモリにおいて、第2のディジタル信号がその語長を区切って複数の単位記憶領域に渡り詰めて記憶されていても、第2のディジタル信号の転送時に語長変換されるため、主演算処理回路では上記第2のディジタル信号のデータ順の入れ替え処理が不要となり、これにより多くのメモリアクセス回数やシフト演算処理が不要となってオーバヘッドの発生を低減することができる。
【0016】
さらにこの発明は、上記主演算処理回路及び専用演算処理回路の少なくとも一方にデータ順序変換手段を設け、このデータ順序変換手段により、第2のディジタル信号を転送する際に専用演算部における処理内容に応じてそのデータ順序を変換するように構成することも特徴としている。
このように構成することで、専用演算処理回路の演算部における演算処理ステップ数を減らして演算処理の効率を高めることができる。
【0017】
さらにこの発明は、専用演算処理回路へ第2のディジタル信号の転送してからその演算処理結果が返送されるまでの期間に、主演算処理回路において別の処理を実行することも特徴としている。
このように構成することで、主演算処理回路と専用演算処理回路とを並列に動作させることができ、これにより回路全体として信号処理効率を高めることができる。
【0018】
さらにこの発明は、専用演算処理回路へ第2のディジタル信号の転送してからその演算処理結果が返送されるまでの期間に、主演算処理回路が自己の動作状態を休止状態に設定することも特徴としている。
このように構成することで、主演算処理回路を常時動作させる場合に比べ、主演算処理回路の消費電力を低減して回路全体の省電力化を図ることができる。
【0019】
【発明の実施の形態】
以下、図面を参照してこの発明の実施形態を説明する。
図1は、この発明に係わる通信装置の一実施形態を示すもので、マルチメディア移動通信端末装置の回路ブロック図である。
【0020】
先ず受信系は次のように構成される。すなわち、図示しない基地局或いは中継局から到来した無線周波信号は、アンテナ1で受信されたのち無線部2に入力され、ここで周波数変換とディジタル復調処理が行われる。ベースバンド処理部3では、上記無線部2から出力された復調ディジタル信号に対し誤り訂正復号処理やデ・インタリーブ処理等の受信ベースバンド処理が行われ、この処理後の受信ディジタル信号は多重分離部4に入力される。多重分離部4では、上記受信ディジタル信号から、そのヘッダ情報の内容に従いオーディオ・データ、ビデオ・データ及びコンピュータ・データが分離され、それぞれオーディオ信号処理部5、ビデオ信号処理部6及びデータ処理部7に入力される。
【0021】
オーディオ信号処理部5は、音声コーデックを構成するディジタル信号処理回路を備え、上記受信オーディオ・データに対し音声復号処理を行う。そして、復号したオーディオ信号をスピーカ51から拡声出力する。
【0022】
ビデオ信号処理部6は、上記受信ビデオ・データに対し例えばMPEG4に規定される映像復号処理を行い、これにより再生したビデオ信号を表示制御部8に供給する。
【0023】
データ処理部7は、上記受信したコンピュータ・データを表示可能な形態に変換して表示制御部8に入力する。表示制御部8は、上記ビデオ信号及びコンピュータ・データを選択的に液晶表示部(LCD)9に表示する。
【0024】
一方、送信系は次のように構成される。すなわち、マイクロホン52から入力された音声信号はオーディオ信号処理部5に入力され、ここで音声コーデックにより符号化される。またカメラ61の撮像により得られたビデオ信号は、ビデオ信号処理部6でMPEG4に規定される符号化方式により符号化される。さらに、入力部14から入力されるか又は記憶部13から読み出された文書ファイル等のコンピュータ・データは、主制御部10からデータ処理部7に入力され、ここで必要に応じて送信のための処理が行われたのち多重分離部4に入力される。
【0025】
多重分離部4は、上記オーディオ信号処理部5から出力された送信オーディオ・データ、ビデオ信号処理部6から出力された送信ビデオ・データ及びデータ処理部7から出力されたコンピュータ・データを、所定のフォーマットに従い多重化して、例えば送信パケットを生成する。
【0026】
ベースバンド処理部3は、上記送信パケットに対し誤り訂正符号化やインタリーブ等の送信ベースバンド信号処理を行い、この処理後の送信パケットを無線部2に入力する。無線部2では、上記送信パケットに対しディジタル変調処理、無線伝送周波数への周波数変換及び送信電力レベルの制御がそれぞれ行われ、これにより生成された無線周波信号はアンテナ1から基地局又は中継局に向け送信される。
【0027】
なお、図中12は電源回路部であり、バッテリ11の出力電圧をもとに所定の動作電圧Vccを生成して装置内の各回路モジュールに供給する。
【0028】
ところで、前記オーディオ信号処理部5やビデオ信号処理部6には、この発明に係わるディジタル信号処理回路が設けられている。なお、ここではオーディオ信号処理部5に設けられるディジタル信号処理回路を例にとって説明する。
【0029】
図2は、オーディオ信号処理用のディジタル信号処理回路の概略構成を示すブロック図である。このディジタル信号処理回路は、メインプロセッサ20と、このメインプロセッサ20に対し制御信号線60を介して接続された専用エンジン30と、DMA(Direct Memory Access)コントローラ40と、外部インタフェース(I/F)回路50とから構成される。
【0030】
メインプロセッサ20は、演算コア21と、この演算コア21に信号処理を実行させるための命令(プログラム)を格納した命令メモリ(IMEM)22と、処理対象のディジタル信号を格納するデータメモリ(DMEM)23とを備えている。演算コア21は、演算幅等が、通常精度のディジタル信号、例えば16bit を1ワードとしたオーディオ・データに対応して構成される。データメモリ23も、上記通常精度のディジタル信号に対応して、1アドレスで指定できる記憶領域が16bit に設定されている。
【0031】
これに対し専用エンジン30は、高精度演算コア31と、データメモリ(DMEM)32とを備えている。高精度演算コア31は、演算幅等が、上記通常精度のディジタル信号より語長の長い高精度のディジタル信号、例えば24bit のオーディオ・データに対応して構成される。またデータメモリ32は、前記メインプロセッサ20から転送された高精度のディジタル信号と、演算終了後にメインプロセッサ20に返送するデータとをそれぞれ格納するもので、上記高精度のディジタル信号に対応して、1アドレスで指定できる記憶領域が24bit に設定されている。
【0032】
ところで、メインプロセッサ20の演算コア21は、次のように構成される。図3はその構成を示す回路ブロック図である。
すなわち、デコード回路214は、命令メモリ22からプログラム・カウンタ(PC)212が示すアドレスの記憶領域に格納されている命令を命令メモリインタフェース(IMEM IF)213を介して読み出し、この命令をデコードして制御回路211に与える。なお、プログラム・カウンタ212の値は、制御回路211により更新されない限り、順次インクリメントされて次に読み出すべきアドレスを示す。
【0033】
制御回路211は、上記命令のデコード結果に基づいて、データメモリ23からデータメモリインタフェース(DMEM IF)217を介して16bit ワードのレジスタファイル215にデータをロードしたり、逆にレジスタファイル215からデータメモリ23にデータをストアしたり、レジスタファイル215のデータを演算器216に渡して演算させたり、さらにはプログラムカウンタ212の値を制御するというように、各モジュールを制御する。演算器216は、加減算器と乗算器とから構成される。
【0034】
制御回路211はまた、DMAコントローラ40とのインタフェース機能を有し、外部インタフェース50や専用エンジン30へデータをDMA転送する際のアドレスやサイズを指定する。制御回路211はさらに、専用エンジン30との間のインタフェース機能を有し、制御信号線60を介して専用エンジン30に対し演算内容(CALC MODE)の指定、データメモリ23から専用エンジン30のデータメモリにデータ転送する際のデータ入替順序(DMA MODE)の指定、及び演算開始の指示を行う。
【0035】
制御回路211はまた、専用エンジン30から演算の状態を示すbusy信号を受け取る機能も有し、このbusy信号より専用エンジン30の演算状態を判定する。そして、この判定結果に基づいて、専用エンジン30がビジー状態、つまり演算動作を行っている期間中に、メインプロセッサ20自身の動作を制御する。
【0036】
例えば、専用エンジン30の演算結果に依存しない処理を実行可能な場合には、その命令を実行する。すなわち、専用エンジン30と並列動作を行う。また専用エンジン30の演算結果に依存し処理が継続できない場合には、クロック制御回路(CLK制御回路)218に指示を出すことで各モジュールへのクロックの供給を止め、これにより専用エンジン30の演算が終了するまでメインプロセッサ20をスリープ状態に設定する。
【0037】
一方、専用エンジン30の高精度演算コア31は次のように構成される。図4はその構成を示す回路ブロック図である。
【0038】
すなわち、DMA MODEレジスタ316には、DMAコントローラ40を介してDMA転送するデータの並べ替え順序を表すモードが格納され、このモードはメインプロセッサ20により設定される。アドレス変換回路315は、DMA MODEレジスタ316に記憶されたモードに従って、高精度のディジタル信号の順序を入れ替える処理を行う。そして、この入替処理後のデータを、データメモリ・インタフェース(データメモリI/F)314を介してデータメモリ32の所定アドレス領域に格納するように制御する。
【0039】
データメモリ32は、演算のための係数を格納するテーブル領域321と、2read2writeタイプのデータ領域322とから構成される。このデータ領域322は、例えば1アドレス領域が24bit により構成され、24bit 1ワードの高精度ディジタル信号及びその演算結果のデータをそのまま1アドレス領域に格納可能となっている。
【0040】
CALC MODEレジスタ313には、メインプロセッサ20から指定された高精度演算器311の演算内容を示すモードが記憶される。演算制御回路312は、メインプロセッサ20から演算開始の信号を受けると、上記CALC MODEレジスタ313に記憶されているモードに従って、高精度演算器311及びデータメモリ32を制御する。
【0041】
高精度演算器311は、2個の乗算器と2個の加減算器とを備え、これらの演算器により例えば4ポイントの複素高速フーリエ変換(FFT)演算を行う。図5にその構成の一例を示す。
【0042】
次に、以上のように構成されたディジタル信号処理回路の動作を説明する。
例えば、多重分離部4から出力されたオーディオ・データは、オーディオ信号処理部5に入力されると、外部インタフェース回路50からDMAコントローラ40を介してメインプロセッサ20に取り込まれ、データメモリ23に格納される。格納されたオーディオ・データに対して復号処理を行う際に、復号過程の中間データとして、演算精度が再生品質にセンシティブでないものは通常精度(16bit)で処理する。つまり、1ワードずつそのままデータメモリ23の各アドレス領域に格納される。
【0043】
これに対し演算精度が再生品質にセンシティブな演算は、中間データとして高精度(24bit)な演算およびデータの保持が必要になる。この場合、高精度ディジタル信号は1ワードのサイズがデータメモリ23の1アドレス領域のサイズ(16bit )よりも大きいため、そのままでは格納できない。そこで、24bit 1ワードからなる高精度ディジタル信号をMSB側の16bit とLSB側の8bit とに分割し、MSB側の16bit をデータメモリ23の1アドレス領域に格納し、LSB側の8bit を次のアドレス領域又は一つ前のアドレス領域に格納する。
【0044】
すなわち、各高精度ディジタル信号のLSB側の8bit は、データメモリ23の空き領域に詰められて格納される。図6はその格納状態の一例を示すものである。この様にすることで、データメモリ23に無駄な空き領域を生じさせることなく高精度ディジタルデータを効率良く格納できる。
【0045】
さて、この状態でメインプロセッサ20が命令メモリ22に格納された命令に従い演算処理を開始すると、データメモリ23に格納された通常精度ディジタル信号および高精度ディジタル信号にアクセスする必要がある。この場合、通常精度のデータであれば、制御回路211は、演算器216に供給して演算を行わせる。
【0046】
これに対し高精度ディジタル信号の場合には、メインプロセッサ20からDMAコントローラ40を介して専用エンジン30に転送され、この専用エンジン30において演算される。
【0047】
すなわち、メインプロセッサ20の制御回路211は、先ず専用エンジン30に対し、転送データのアドレス及びサイズ及びデータの入替順序を指定するモード情報と、演算内容を指定するモード情報をそれぞれ制御信号線60を介して通知する。専用エンジン30は、これらの情報をそれぞれDMA MODEレジスタ316及びCALC MODEレジスタ313に記憶する。続いてメインプロセッサ20は、データメモリ23に格納された高精度ディジタル信号を順次DMAコントローラ40により専用エンジン30へ転送する。
【0048】
専用エンジン30は、上記DMAコントローラ40によりメインプロセッサ20から高精度ディジタル信号が転送されると、先に通知された転送データのアドレスやサイズ、入替順序を指定するモード情報に従い、アドレス変換回路315においてデータの入れ替え処理を行う。
【0049】
例えば、いま高精度ディジタル信号は、データメモリ23において図6に示すように1ワードが分割されたうえ空き領域に詰めた状態で格納されていたため、その格納ルールに従い、アドレス1,4,7,…にそれぞれ格納されていた2個のLSB側8bit データを分割し、この分割された2個のLSB側8bit データをそれぞれ対応する1バイト前のMSB側16bit データ及び1バイト後のMSB側16bit データに付加し、これにより24bit 1ワードの高精度ディジタル信号を構成する。
【0050】
またそれと同時にアドレス変換回路315は、先に通知された高精度演算の指定内容に応じ、高精度演算を効率良く行うためのデータ入れ替え処理も行う。例えば、いま高精度演算の処理内容が後述する高速フーリエ変換(FFT)だとすると、図7に示すようにデータ[5],データ[13],…の順序をそれぞれデータ[7],データ[15],…の次に位置するように入れ替える。
【0051】
そうしてデータ順序の入れ替えが行われた高精度ディジタル信号は、データメモリインタフェース314を介してデータメモリ32内のデータ領域322に順次格納される。
【0052】
次に専用エンジン30は、高精度演算器311において、上記データメモリ32に格納された高精度ディジタル信号に対し、先にメインプロセッサ20から指定された内容の演算処理を実行する。
【0053】
以下、4ポイントの複素FFT演算を行う場合を例にとって説明する。図8はその演算処理のデータフローを示すものである。
同図において、データa,b,c,dはそれぞれ複素データであり、実部(xxx.re)と虚部(xxx.im)を持つ。jは虚数単位、Wは複素係数である。高精度演算器311では、データメモリ32のデータ領域322に格納されているデータa,b,c,dに対し、図8に示すデータフローの▲1▼〜▲7▼の順に、バタフライ演算と、テーブル領域321に格納されている複素係数Wとの複素乗算とが、インプレイス演算により繰り返し行われる。
【0054】
すなわち、先ずバタフライ演算は、
(x+jy)+(u+jv)=(x+u)+j(y+v)
(x+jy)−(u+jv)=(x-u)+j(y-v)
が計算できればよい。各データx,y,u,vはデータメモリ32に格納されている24bit 1ワードのデータである。
【0055】
先ずデータメモリ32から、図5に示すポートP0 及びP1 を介してラッチ回路部3111の対応するラッチL0 ,L1 にそれぞれデータx,uを取り込む。次に、セレクタ3112,3115をそれぞれ制御して、上記ラッチL0 のデータXを加算器3116及び減算器3117にそれぞれ入力すると共に、上記ラッチL1 のデータuを加算器3116及び減算器3117にそれぞれ入力して、それぞれ加算及び減算を行う。そして、その加算出力(x+u)及び減算出力(x-u)をそれぞれラッチ3118,3119で一旦ラッチしたのち、セレクタ3120によりポートP4 ,P5 を介してデータメモリ32へ出力し、前記データx,uが格納されていたアドレス領域に格納する。以後、データy,vについても同様の演算を行う。かくして、バタフライ演算がなされる。
【0056】
次に複素乗算は、
(x+jy)×(u-jv)=(xu+yv)+(yu-xv)
が計算できればよい。ここで、左辺の第2項の虚部がマイナスになっている理由は、途中の演算を少なくするためである。なお、上記左辺の第2項はデータメモリ32のテーブル領域321に格納されている係数データWであるため、予めマイナス値を用意しておけば演算上問題はない。
【0057】
先ずデータメモリ32から、ポートP0 ,P1 ,P2 ,P3 を介してラッチL0 ,L1 ,L2 ,L3 にそれぞれデータx,y,u,vを取り込む。次に、セレクタ3112を制御して、ラッチL0 のデータxを乗算器3113に、またラッチL2 のデータuを乗算器3113,3114にそれぞれ入力し、さらにラッチL1 のデータyを乗算器3114に入力し、これにより各乗算器3113,3114に乗算を行わせる。そして、セレクタ3115を制御して、乗算器3113の乗算出力(x×u)を加算器3116に入力すると共に、乗算器3114の乗算出力(y×u)を減算器3117に入力し、さらにこれらの加算器3116及び減算器3117の他方の入力端には“0”値を入力して、それぞれ加算及び減算を行わせる。これらの加算器3116及び減算器3117の加算出力(x×u)及び減算出力(y×u)はそれぞれラッチ3118,3119にラッチされる。
【0058】
次に、セレクタ3112を制御して、ラッチL1 のデータyを乗算器3113に、またラッチL0 のデータxを乗算器3114にそれぞれ入力し、さらにラッチL3 のデータvを乗算器3113,3114にそれぞれ入力し、これにより各乗算器3113,3114に乗算を行わせる。そして、セレクタ3115,3120を制御して、乗算器3113の乗算出力(y×v)を加算器3116に入力すると共に、乗算器3114の乗算出力(x×v)を加算器3116に入力し、さらに先に算出したラッチ3119のデータ(y×u)を減算器3117に、またラッチ3118のデータ(x×u)を加算器3116にそれぞれ帰還入力して、加算器3116及び減算器3117にそれぞれ加算及び減算を行わせる。この結果、加算器3116及び減算器3117からはそれぞれ(y×v)+(x×u)及び(y×u)−(x×v)が出力され、これらの値はそれぞれラッチ3118,3119でラッチされる。
【0059】
そして、これらのラッチ3118,3119でラッチされた(y×v)+(x×u)及び(y×u)−(x×v)は、セレクタ3120によりポートP4 ,P5 を介してデータメモリ32へ出力され、前記データx,uが格納されていたアドレス領域に格納される。かくして、複素乗算演算がなされる。
【0060】
そうして、得られた演算データは、データメモリ32のデータ領域322から読み出されてアドレス変換回路315で1ワード24bit のデータを1ワード16bit のデータに語長変換されたのち、DMAコントローラ40によりメインプロセッサ20へ転送されてそのデータメモリ23に格納される。
【0061】
一方、専用エンジン30において上記した演算処理が行われている状態では、専用エンジン30からメインプロセッサ20に対しビジー状態を表す信号が通知されている。メインプロセッサ20は、このbusy信号により専用エンジン30がビジー状態であることを検出すると、専用エンジン30の演算結果に依存せずに他の処理を実行可能であるか否かを判定する。そして、実行可能な処理がある場合には、当該処理を実行する。
【0062】
これに対し他の処理を実行不可能な場合には、制御回路211以外の各モジュールに対するクロックの供給を断って、メインプロセッサ20をスリープ状態に設定する。なお、この場合、制御回路211以外の各モジュールに対する動作電源電圧Vccの供給を断つようにしてもよい。
この様にすることで、回路全体の処理効率を高めることができ、さらには低消費電力化を図ることができる。
【0063】
以上述べたようにこの実施形態では、メインプロセッサ20に加えて専用エンジン30を設け、通常精度のディジタルデータについてはメインプロセッサ20内の演算器216で演算を行い、高精度のディジタルデータについてはメインプロセッサ20のデータメモリ23から専用エンジン30へDMAコントローラ40により転送して、専用エンジン30の高精度演算器311により演算を行わせるようにし、しかもメインプロセッサ20のデータメモリ23に高精度ディジタル信号を格納する際には、1ワードを分割して空き領域に詰めた状態で格納するようにしている。
【0064】
従ってこの実施形態によれば、高精度ディジタル信号の演算はそれ専用に構成された専用エンジン30で行われるため、常に高品質の演算結果を得ることができる。また、メインプロセッサ20において語長不足を補うためのソフトウエア演算処理を行う必要がなくなるので、これにより処理遅延の発生を防止して信号処理のリアルタイム性を保持することができる。
【0065】
また、メインプロセッサ20では高精度のディジタルデータの演算処理を行う必要がないので、メインプロセッサ20の演算器216のサイズ、及びデータメモリ23の1アドレス領域のサイズを通常精度のディジタルデータに対応するサイズに限定することができる。しかも、データメモリ23において高精度ディジタル信号は詰めた状態で格納されるので、無駄な空き領域は発生せず高密度の記憶が可能となる。従って、データメモリ23の小容量化を図ることが可能となり、これによりメインプロセッサ20の回路規模及び価格を低く抑えることができる。
【0066】
ただし、本実施形態では専用エンジン30を追加したことで全体の回路規模の大型化が懸念されるが、専用エンジン30の高精度演算器311はFFT演算等の定型演算を専用に行うべく構成されるので比較的小規模な回路にすることができ、さらにデータメモリ32についても第2のディジタルデータを少数バイト分格納できれば十分であり、小容量のものを用いることができる。このため、専用エンジン30を追加したとしても、全体のハードウエアの大型化を最小限度に止めることが可能である。
【0067】
またこの実施形態では、専用エンジン30にアドレス変換回路315を設け、メインプロセッサ20のデータメモリ23に格納されている高精度ディジタル信号をそのまま専用エンジン30にDMA転送し、上記アドレス変換回路315でデータ順序の変換を行ったのち専用エンジン30内のデータメモリ32に格納するようにしている。このため、メインプロセッサ20では高精度ディジタル信号のデータ順序を変換する必要がなく、このため複数のアドレッシング等によるオーバヘッドの発生を防止することができる。
【0068】
さらにこの実施形態では、専用エンジン30がビジー状態(演算中)の期間において、メインプロセッサ20が専用エンジン30の演算結果に依存しない処理を実行可能なときには当該処理を実行し、一方専用エンジン30の演算結果に依存する処理を実行せざるを得ない場合には、メインプロセッサ20をスリープ状態に設定するようにしている。このため、回路全体の処理効率の向上及び低消費電力化を図ることができる。
【0069】
なお、この発明は上記実施形態に限定されるものではない。例えば、前記実施形態では専用エンジン30に設けたアドレス変換回路315においてデータ順序の入れ替えを行うようにしたが、DMAコントローラ40にアドレス変換回路を設けてここでアドレス変換を行うように構成してもよい。
【0070】
また前記実施形態では、専用エンジンでFFT演算を行う場合を例にとって説明したが、他にフィルタリング処理や窓掛け処理、オーディオ信号の符号化処理で必要なMDCT(Modified Discrete Cosine Transform)演算、IMDCT(Inverse MDCT)演算を行うようにしてもよい。
【0071】
例えば窓掛け処理の場合には、被乗算データをデータメモリ32のデータ領域322に、乗算係数をテーブル領域321にそれぞれ格納する。そして、これらのデータを順次読み出して乗算を行い、加算及び減算処理をスルーして上記乗算結果のデータをデータ領域322のもとの領域に格納することで、実現可能である。
【0072】
なお、窓掛け処理は、乗算係数として例えば図9に示すような左右対称な窓係数を持つことが多い(例えばsinデータ等)。この場合には、メインプロセッサ20から専用エンジン30への係数データ転送時に、前半部分は通常どおり転送して(データ転送順序A)窓掛け処理を行い、後半部分は前半部分の逆順(データ転送順序B)で転送して窓掛け処理を行なえば、保持しておかなければいけない係数データが半分で済む。また、専用エンジンの演算制御回路において、係数データの取り込み時に逆順に読み込むモードを追加して処理すれば、データ転送回数も削減可能である。
【0073】
なお、メインプロセッサ及び専用エンジンの回路構成や、データ転送手段の構成(DMA転送に限らない)、通信装置の種類とその構成等についても、この発明の要旨を逸脱しない範囲で種々変形して実施できる。
【0074】
【発明の効果】
以上詳述したようにこの発明では、通常語長の第1の語長に対応する主演算処理回路に加え、長語長の第2の語長に対応する専用演算処理回路を設け、第1のディジタル信号については主演算処理回路の演算部に供給して演算処理を行わせ、第2のディジタル信号については専用演算処理回路に転送して演算処理を行わせるようにし、かつ上記主演算処理回路の第1のメモリに第1のディジタル信号を記憶する場合にはその1語長を第1のメモリの単位記憶領域に記憶し、第2のディジタル信号を記憶する場合にはその1語長を区切って第1のメモリの複数の単位記憶領域に渡り詰めて記憶するように構成している。
【0075】
したがってこの発明によれば、メモリ容量を減らしてハードウエアリソースを小型かつ安価に保持し、かつ語長の異なる複数種のディジタル信号に対し高精度の演算処理を可能にしたディジタル信号処理回路とこの回路を備えた通信装置を提供することができる。
【図面の簡単な説明】
【図1】 この発明に係わる通信装置の一実施形態を示すもので、マルチメディア移動通信端末装置の回路ブロック図。
【図2】 オーディオ信号処理用のディジタル信号処理回路の概略構成を示すブロック図。
【図3】 メインプロセッサの演算コアの構成を示す回路ブロック図。
【図4】 専用エンジンの高精度演算コアの構成を示す回路ブロック図。
【図5】 4ポイントの複素高速フーリエ変換(FFT)演算を行う高精度演算器の構成例を示す回路ブロック図。
【図6】 メインプロセッサのデータメモリにおける高精度ディジタル信号の格納状態の一例を示す図。
【図7】 高精度ディジタル信号のデータ順序を入れ替えるときの一例を示す図。
【図8】 4ポイントの複素FFT演算を行う場合の演算処理のデータフローを示す図。
【図9】 特性が左右対称なフィルタリング演算を行う場合のデータ反転転送動作を説明するための図。
【符号の説明】
1…アンテナ
2…無線部
3…ベースバンド処理部
4…多重分離部
5…オーディオ信号処理部
6…ビデオ信号処理部
7…データ処理部
8…表示制御部
9…液晶表示器(LCD)
10…主制御部
10…多重分離部
11…バッテリ
12…電源回路部
13…記憶部
14…入力部
20…メインプロセッサ
21…演算コア
22…命令メモリ(IMEM)
23…データメモリ(DMEM)
30…専用エンジン
31…高精度演算コア
32…データメモリ(DMEM)
40…DMAコントローラ
50…外部インタフェース回路
51…スピーカ
52…マイクロホン
60…制御信号線
61…カメラ
211…制御回路
212…プログラムカウンタ(PC)
213…命令メモリインタフェース(IMEM IF)
214…デコード回路
215…レジスタファイル
216…演算器
311…高精度演算器
312…演算制御回路
313…CALC MODEレジスタ
314…データメモリインタフェース
315…アドレス変換回路
316…DMA MODEレジスタ
321…テーブル領域
322…データ領域
3111…ラッチ回路部
3112,3115,3120…セレクタ
3113,3114…乗算器
3116…加算器
3117…減算器
3118,3119…ラッチ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a digital signal processing circuit that performs encoding and decoding processing of, for example, a video signal and an audio signal, and a communication apparatus such as a portable information terminal, a cellular phone, and an in-vehicle information communication terminal including the circuit.
[0002]
[Prior art]
With the spread of digital contents such as MPEG (Moving Picture Coding Experts Group), the importance of digital signal processing technology is increasing. When such digital signal processing is realized in a communication apparatus such as a portable information terminal or a mobile phone, it is common to use a processor such as a DSP (Digital Signal Processor) or a RISC (Reduced Instruction Set Computer). .
[0003]
By the way, when digital signal processing is performed using these processors, the word length of the digital signal is directly related to the calculation accuracy. If the word length is short, the hardware resources such as the bit width of the arithmetic unit and the memory capacity can be reduced. However, depending on the contents of the signal processing, the influence on the quality becomes large. Especially when performing multimedia signal processing that handles video signals and audio signals, sufficient quality cannot be obtained if the word length is insufficient. Therefore, in order to ensure quality, a method to match the word length of the digital signal to the shortest word length that satisfies the required quality and a method to compensate for the shortage of word length by software processing to ensure calculation accuracy are studied. Has been.
[0004]
[Problems to be solved by the invention]
However, in digital signal processing, what greatly affects quality is the case where errors are accumulated by performing further computations on the computation results. Such computation processing is a small part of the overall processing. Often. For this reason, giving the maximum word length for all the arithmetic processes in accordance with some arithmetic processes increases the circuit scale and increases the cost in terms of hardware resources such as the bit width and memory capacity of the arithmetic unit. Is undesirable.
[0005]
On the other hand, the method of compensating for the shortage of word length by software processing is effective in terms of hardware resources, but is not suitable for signal processing that requires real-time characteristics because it tends to cause processing delay. In addition, since an increase in processing amount causes an increase in power consumption, it is very undesirable particularly in battery-driven communication devices such as portable information terminals and cellular phones.
[0006]
For example, in multimedia signal processing that requires real-time performance, it is necessary to perform routine arithmetic processing such as filter calculation and correlation calculation at high speed. In addition, since this type of arithmetic processing tends to accumulate arithmetic errors due to a finite word length, high-precision arithmetic processing is required. However, when performing this type of arithmetic processing, RISC has a large overhead such as addressing and it is difficult to perform efficient arithmetic.
[0007]
On the other hand, DSP can perform high-speed routine operations such as filter operations. However, since the types of operations are limited, it is not good at performing irregular operations at high speed. However, it is difficult to describe logic in a high-level language, and there is a problem in development efficiency.
[0008]
The present invention has been made paying attention to the above circumstances, and its purpose is to reduce the memory capacity, to make the hardware resources small and inexpensive, and to provide high accuracy for multiple types of digital signals having different word lengths. It is an object of the present invention to provide a digital signal processing circuit capable of performing the above arithmetic processing and a communication device including this circuit.
[0009]
[Means for Solving the Problems]
In order to achieve the above object, the present invention performs arithmetic processing on a first digital signal having a first word length and a second digital signal having a second word length longer than the first word length, respectively. In the digital signal processing circuit, a main arithmetic processing circuit and a dedicated arithmetic processing circuit connected to the main arithmetic processing circuit are provided,
The main arithmetic processing circuit includes a main arithmetic unit having an arithmetic processing function corresponding to the first word length, and a first memory having a storage capacity of a unit storage area corresponding to the first word length And when storing the first digital signal in the first memory, the one word length is stored in the unit storage area of the first memory, When storing the second digital signal, the word length is divided and stored in a plurality of unit storage areas of the first memory. Then, the first digital signal is supplied to the main arithmetic unit to perform arithmetic processing, and the second digital signal is transferred to the dedicated arithmetic processing circuit.
[0010]
On the other hand, the dedicated arithmetic processing circuit includes a dedicated arithmetic unit having an arithmetic processing function corresponding to the second word length, and a second storage unit having a storage capacity corresponding to the second word length. And a dedicated arithmetic control means. Then, the dedicated arithmetic control means uses the dedicated arithmetic unit and the second memory to supply the second digital signal transferred from the main arithmetic processing circuit to the dedicated arithmetic unit to perform arithmetic processing. The result of the arithmetic processing is returned to the main arithmetic processing circuit.
[0011]
Therefore, according to the present invention, for example, the first digital signal having a normal word length is processed by the main arithmetic processing circuit, while the second digital signal having a long word length is transferred to the dedicated arithmetic processing circuit. Arithmetic processing is performed. For this reason, the main arithmetic processing circuit only needs to perform the digital signal processing of the normal word length, so that it is not necessary to prepare the arithmetic unit and the memory corresponding to the word length of the second digital signal. Accordingly, the hardware resources of the main arithmetic processing circuit can be made small and inexpensive. In terms of software, it is not necessary to compensate for the shortage of word length with software, so high-quality processing can be performed in real time.
[0012]
In addition, the memory required for the dedicated arithmetic processing circuit only needs to be capable of temporarily storing a small number of words of digital signals transferred from the main arithmetic processing circuit, so that a relatively small capacity is required, and the arithmetic unit supports standard arithmetic processing. Because it is sufficient, it can be relatively small. For this reason, the configuration of the dedicated arithmetic processing circuit can also be suppressed to a relatively small scale.
[0013]
Further, according to the present invention, when the second digital signal is stored in the memory of the main arithmetic processing circuit, the word length is divided and stored in a plurality of unit storage areas, so that the memory is wasted. There is an advantage that it can be used efficiently without generating a surplus storage area.
[0014]
According to the present invention, word length conversion means is provided in at least one of the main arithmetic processing circuit and the dedicated arithmetic processing circuit, and when the second digital signal is transferred by the word length conversion means, the word length is changed to the first length. It is also characterized by conversion between the word length and the second word length.
[0015]
With this configuration, even if the second digital signal is stored in a plurality of unit storage areas by dividing the word length in the first memory of the main arithmetic processing circuit, the second digital signal is stored. Since the word length is converted at the time of signal transfer, the main arithmetic processing circuit does not need to replace the data order of the second digital signal, which eliminates the need for a large number of memory accesses and shift arithmetic processing. Generation can be reduced.
[0016]
Further, according to the present invention, data order conversion means is provided in at least one of the main arithmetic processing circuit and the dedicated arithmetic processing circuit, and when the second digital signal is transferred by the data order conversion means, the processing contents in the dedicated arithmetic processing section are provided. It is also characterized in that the data order is converted accordingly.
With this configuration, it is possible to increase the efficiency of the arithmetic processing by reducing the number of arithmetic processing steps in the arithmetic unit of the dedicated arithmetic processing circuit.
[0017]
Furthermore, the present invention is characterized in that another process is executed in the main arithmetic processing circuit during a period from when the second digital signal is transferred to the dedicated arithmetic processing circuit until the arithmetic processing result is returned.
By configuring in this way, the main arithmetic processing circuit and the dedicated arithmetic processing circuit can be operated in parallel, thereby improving the signal processing efficiency of the entire circuit.
[0018]
Furthermore, according to the present invention, the main arithmetic processing circuit may set its operation state to a resting state during a period from when the second digital signal is transferred to the dedicated arithmetic processing circuit until the arithmetic processing result is returned. It is a feature.
With this configuration, it is possible to reduce the power consumption of the main arithmetic processing circuit and save the power of the entire circuit as compared with the case where the main arithmetic processing circuit is always operated.
[0019]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 shows an embodiment of a communication apparatus according to the present invention, and is a circuit block diagram of a multimedia mobile communication terminal apparatus.
[0020]
First, the receiving system is configured as follows. That is, a radio frequency signal arriving from a base station or a relay station (not shown) is received by the antenna 1 and then input to the radio unit 2, where frequency conversion and digital demodulation processing are performed. In the baseband processing unit 3, reception baseband processing such as error correction decoding processing and de-interleaving processing is performed on the demodulated digital signal output from the radio unit 2, and the received digital signal after this processing is demultiplexed 4 is input. The demultiplexer 4 separates audio data, video data, and computer data from the received digital signal according to the contents of the header information. The audio signal processor 5, video signal processor 6, and data processor 7 are respectively separated. Is input.
[0021]
The audio signal processing unit 5 includes a digital signal processing circuit constituting an audio codec, and performs audio decoding processing on the received audio data. Then, the decoded audio signal is loudly output from the speaker 51.
[0022]
The video signal processing unit 6 performs a video decoding process defined in, for example, MPEG4 on the received video data, and supplies the video signal reproduced thereby to the display control unit 8.
[0023]
The data processing unit 7 converts the received computer data into a displayable form and inputs it to the display control unit 8. The display control unit 8 selectively displays the video signal and the computer data on a liquid crystal display unit (LCD) 9.
[0024]
On the other hand, the transmission system is configured as follows. That is, the audio signal input from the microphone 52 is input to the audio signal processing unit 5 where it is encoded by the audio codec. A video signal obtained by imaging by the camera 61 is encoded by the video signal processing unit 6 according to an encoding method defined in MPEG4. Further, computer data such as a document file input from the input unit 14 or read from the storage unit 13 is input from the main control unit 10 to the data processing unit 7 and is transmitted here as necessary. Is input to the demultiplexing unit 4.
[0025]
The demultiplexing unit 4 receives the transmission audio data output from the audio signal processing unit 5, the transmission video data output from the video signal processing unit 6, and the computer data output from the data processing unit 7 in a predetermined manner. For example, a transmission packet is generated by multiplexing according to the format.
[0026]
The baseband processing unit 3 performs transmission baseband signal processing such as error correction coding and interleaving on the transmission packet, and inputs the processed transmission packet to the radio unit 2. The radio unit 2 performs digital modulation processing, frequency conversion to a radio transmission frequency, and control of a transmission power level on the transmission packet, and a radio frequency signal generated thereby is transmitted from the antenna 1 to the base station or relay station. Sent to.
[0027]
In the figure, reference numeral 12 denotes a power supply circuit unit which generates a predetermined operating voltage Vcc based on the output voltage of the battery 11 and supplies it to each circuit module in the apparatus.
[0028]
Incidentally, the audio signal processing unit 5 and the video signal processing unit 6 are provided with a digital signal processing circuit according to the present invention. Here, a digital signal processing circuit provided in the audio signal processing unit 5 will be described as an example.
[0029]
FIG. 2 is a block diagram showing a schematic configuration of a digital signal processing circuit for audio signal processing. The digital signal processing circuit includes a main processor 20, a dedicated engine 30 connected to the main processor 20 via a control signal line 60, a direct memory access (DMA) controller 40, and an external interface (I / F). Circuit 50.
[0030]
The main processor 20 includes an arithmetic core 21, an instruction memory (IMEM) 22 that stores an instruction (program) for causing the arithmetic core 21 to perform signal processing, and a data memory (DMEM) that stores a digital signal to be processed. 23. The arithmetic core 21 is configured so that the arithmetic width and the like correspond to a digital signal with normal accuracy, for example, audio data in which 16 bits are one word. In the data memory 23, a storage area that can be specified by one address is set to 16 bits corresponding to the digital signal with the normal accuracy.
[0031]
In contrast, the dedicated engine 30 includes a high-precision arithmetic core 31 and a data memory (DMEM) 32. The high-precision arithmetic core 31 is configured to correspond to a high-precision digital signal having a word width longer than that of the normal-precision digital signal, for example, 24-bit audio data. The data memory 32 stores the high-precision digital signal transferred from the main processor 20 and the data to be returned to the main processor 20 after completion of the operation, and corresponds to the high-precision digital signal. The storage area that can be specified by one address is set to 24 bits.
[0032]
Incidentally, the arithmetic core 21 of the main processor 20 is configured as follows. FIG. 3 is a circuit block diagram showing the configuration.
That is, the decode circuit 214 reads the instruction stored in the storage area of the address indicated by the program counter (PC) 212 from the instruction memory 22 via the instruction memory interface (IMEM IF) 213, and decodes this instruction. This is given to the control circuit 211. Note that the value of the program counter 212 indicates an address to be sequentially read out unless it is updated by the control circuit 211.
[0033]
Based on the decoding result of the above instruction, the control circuit 211 loads data from the data memory 23 to the 16-bit word register file 215 via the data memory interface (DMEM IF) 217, or conversely from the register file 215 to the data memory. Each module is controlled such that data is stored in the register 23, data in the register file 215 is passed to the arithmetic unit 216 to be operated, and the value of the program counter 212 is controlled. The arithmetic unit 216 includes an adder / subtracter and a multiplier.
[0034]
The control circuit 211 also has an interface function with the DMA controller 40, and designates an address and a size when data is DMA-transferred to the external interface 50 or the dedicated engine 30. The control circuit 211 further has an interface function with the dedicated engine 30, specifies calculation contents (CALC MODE) to the dedicated engine 30 via the control signal line 60, and the data memory 23 to the data memory of the dedicated engine 30. The data exchange order (DMA MODE) at the time of data transfer is designated, and the operation start instruction is given.
[0035]
The control circuit 211 also has a function of receiving a busy signal indicating a calculation state from the dedicated engine 30, and determines the calculation state of the dedicated engine 30 based on the busy signal. Based on the determination result, the operation of the main processor 20 itself is controlled while the dedicated engine 30 is in a busy state, that is, during a calculation operation.
[0036]
For example, if a process independent of the calculation result of the dedicated engine 30 can be executed, the instruction is executed. That is, a parallel operation with the dedicated engine 30 is performed. If the processing cannot be continued depending on the calculation result of the dedicated engine 30, the clock control circuit (CLK control circuit) 218 is instructed to stop the supply of the clock to each module. The main processor 20 is set in the sleep state until the process ends.
[0037]
On the other hand, the high-precision arithmetic core 31 of the dedicated engine 30 is configured as follows. FIG. 4 is a circuit block diagram showing the configuration.
[0038]
That is, the DMA MODE register 316 stores a mode indicating the rearrangement order of data transferred by the DMA via the DMA controller 40, and this mode is set by the main processor 20. The address conversion circuit 315 performs processing for changing the order of high-precision digital signals according to the mode stored in the DMA MODE register 316. Then, control is performed so that the data after the replacement process is stored in a predetermined address area of the data memory 32 via the data memory interface (data memory I / F) 314.
[0039]
The data memory 32 includes a table area 321 for storing coefficients for calculation and a data area 322 of 2read2write type. In this data area 322, for example, one address area is composed of 24 bits, and a 24-bit 1-word high-precision digital signal and data of the calculation result can be stored in the one address area as they are.
[0040]
The CALC MODE register 313 stores a mode indicating the calculation contents of the high-precision calculator 311 designated by the main processor 20. Upon receiving a calculation start signal from the main processor 20, the arithmetic control circuit 312 controls the high-precision arithmetic unit 311 and the data memory 32 according to the mode stored in the CALC MODE register 313.
[0041]
The high-precision calculator 311 includes two multipliers and two adders / subtractors, and performs, for example, a 4-point complex fast Fourier transform (FFT) calculation using these calculators. FIG. 5 shows an example of the configuration.
[0042]
Next, the operation of the digital signal processing circuit configured as described above will be described.
For example, when the audio data output from the demultiplexing unit 4 is input to the audio signal processing unit 5, it is taken into the main processor 20 from the external interface circuit 50 via the DMA controller 40 and stored in the data memory 23. The When decoding processing is performed on stored audio data, the intermediate data in the decoding process is processed with normal accuracy (16 bits) if the calculation accuracy is not sensitive to the reproduction quality. That is, the words are stored in the address areas of the data memory 23 as they are.
[0043]
On the other hand, a calculation whose calculation accuracy is sensitive to reproduction quality requires high-precision (24-bit) calculation and data retention as intermediate data. In this case, the high-precision digital signal cannot be stored as it is because the size of one word is larger than the size (16 bits) of one address area of the data memory 23. Therefore, a high-precision digital signal consisting of 24 bits and one word is divided into 16 bits on the MSB side and 8 bits on the LSB side, the 16 bits on the MSB side are stored in one address area of the data memory 23, and the 8 bits on the LSB side are stored in the next address. Store in the area or the previous address area.
[0044]
That is, 8 bits on the LSB side of each high-precision digital signal are stored in the empty area of the data memory 23. FIG. 6 shows an example of the storage state. By doing so, high-precision digital data can be efficiently stored without causing a wasteful empty area in the data memory 23.
[0045]
When the main processor 20 starts arithmetic processing in accordance with the instruction stored in the instruction memory 22 in this state, it is necessary to access the normal precision digital signal and the high precision digital signal stored in the data memory 23. In this case, if the data is normal precision, the control circuit 211 supplies the calculation unit 216 with the calculation.
[0046]
On the other hand, in the case of a high-precision digital signal, it is transferred from the main processor 20 to the dedicated engine 30 via the DMA controller 40 and is calculated in the dedicated engine 30.
[0047]
That is, the control circuit 211 of the main processor 20 first sends the mode information for designating the address and size of the transfer data and the data replacement order to the dedicated engine 30 and the mode information for designating the operation contents via the control signal line 60. Notify through. The dedicated engine 30 stores these pieces of information in the DMA MODE register 316 and the CALC MODE register 313, respectively. Subsequently, the main processor 20 sequentially transfers the high-precision digital signals stored in the data memory 23 to the dedicated engine 30 by the DMA controller 40.
[0048]
When the high-precision digital signal is transferred from the main processor 20 by the DMA controller 40, the dedicated engine 30 uses the address conversion circuit 315 in accordance with the mode information for designating the address, size, and replacement order of the transfer data previously notified. Perform data replacement processing.
[0049]
For example, since the high-precision digital signal is now stored in the data memory 23 in a state where one word is divided and packed in a free area as shown in FIG. 6, the addresses 1, 4, 7,. The two LSB side 8-bit data respectively stored in... Are divided, and the divided two LSB side 8 bit data respectively correspond to the MSB side 16-bit data before 1 byte and the MSB side 16-bit data after 1 byte. Thus, a 24-bit 1-word high-precision digital signal is constructed.
[0050]
At the same time, the address conversion circuit 315 also performs a data replacement process for efficiently performing the high-precision calculation according to the designated content of the high-precision calculation that has been previously notified. For example, if the processing content of the high-precision calculation is Fast Fourier Transform (FFT) described later, the order of data [5], data [13],... Is shown in FIG. Swap so that it is positioned next to.
[0051]
The high-precision digital signals whose data order has been changed are sequentially stored in the data area 322 in the data memory 32 via the data memory interface 314.
[0052]
Next, the dedicated engine 30 causes the high-precision arithmetic unit 311 to perform arithmetic processing of the content previously specified from the main processor 20 on the high-precision digital signal stored in the data memory 32.
[0053]
Hereinafter, a case where a 4-point complex FFT operation is performed will be described as an example. FIG. 8 shows the data flow of the arithmetic processing.
In the figure, data a, b, c, and d are complex data, respectively, and have a real part (xxx.re) and an imaginary part (xxx.im). j is an imaginary unit, and W is a complex coefficient. The high-precision computing unit 311 performs butterfly computation on the data a, b, c, and d stored in the data area 322 of the data memory 32 in the order of (1) to (7) in the data flow shown in FIG. The complex multiplication with the complex coefficient W stored in the table area 321 is repeatedly performed by an in-place operation.
[0054]
That is, the butterfly operation is
(x + jy) + (u + jv) = (x + u) + j (y + v)
(x + jy) − (u + jv) = (xu) + j (yv)
Can be calculated. Each piece of data x, y, u, v is 24 bit 1 word data stored in the data memory 32.
[0055]
First, data x and u are fetched from the data memory 32 to the corresponding latches L0 and L1 of the latch circuit unit 3111 via the ports P0 and P1 shown in FIG. Next, the selectors 3112 and 3115 are respectively controlled to input the data X of the latch L0 to the adder 3116 and the subtracter 3117, respectively, and input the data u of the latch L1 to the adder 3116 and the subtracter 3117, respectively. Then, addition and subtraction are respectively performed. The addition output (x + u) and the subtraction output (xu) are once latched by latches 3118 and 3119, respectively, and then output to the data memory 32 by the selector 3120 via the ports P4 and P5. Is stored in the address area where was stored. Thereafter, the same calculation is performed for the data y and v. Thus, a butterfly operation is performed.
[0056]
The complex multiplication is
(x + jy) x (u-jv) = (xu + yv) + (yu-xv)
Can be calculated. Here, the reason why the imaginary part of the second term on the left side is negative is to reduce the calculation in the middle. Since the second term on the left side is the coefficient data W stored in the table area 321 of the data memory 32, there is no problem in calculation if a negative value is prepared in advance.
[0057]
First, data x, y, u, v are fetched from the data memory 32 to the latches L0, L1, L2, L3 via the ports P0, P1, P2, P3, respectively. Next, the selector 3112 is controlled so that the data x of the latch L0 is input to the multiplier 3113, the data u of the latch L2 is input to the multipliers 3113 and 3114, and the data y of the latch L1 is input to the multiplier 3114. Thus, the multipliers 3113 and 3114 are caused to perform multiplication. Then, the selector 3115 is controlled so that the multiplication output (x × u) of the multiplier 3113 is input to the adder 3116, and the multiplication output (y × u) of the multiplier 3114 is input to the subtractor 3117. The other input terminals of the adder 3116 and the subtractor 3117 are input with a “0” value to perform addition and subtraction, respectively. The addition output (x × u) and subtraction output (y × u) of the adder 3116 and subtractor 3117 are latched in latches 3118 and 3119, respectively.
[0058]
Next, the selector 3112 is controlled to input the data y of the latch L1 to the multiplier 3113, the data x of the latch L0 to the multiplier 3114, and the data v of the latch L3 to the multipliers 3113 and 3114, respectively. This causes the multipliers 3113 and 3114 to perform multiplication. Then, by controlling the selectors 3115 and 3120, the multiplication output (y × v) of the multiplier 3113 is input to the adder 3116, and the multiplication output (x × v) of the multiplier 3114 is input to the adder 3116. Further, the previously calculated data (y × u) of the latch 3119 is fed back to the subtractor 3117, and the data (x × u) of the latch 3118 is fed back to the adder 3116, respectively. Add and subtract. As a result, the adder 3116 and the subtracter 3117 output (y × v) + (x × u) and (y × u) − (x × v), respectively, and these values are respectively latched by the latches 3118 and 3119. Latched.
[0059]
Then, (y × v) + (x × u) and (y × u) − (x × v) latched by these latches 3118 and 3119 are sent to the data memory 32 via the ports P4 and P5 by the selector 3120. And stored in the address area where the data x and u are stored. Thus, a complex multiplication operation is performed.
[0060]
The operation data thus obtained is read from the data area 322 of the data memory 32, and the address conversion circuit 315 converts the data of 1 word 24 bits into 1 word 16 bits of data, and then the DMA controller 40. Is transferred to the main processor 20 and stored in the data memory 23.
[0061]
On the other hand, in a state where the above-described arithmetic processing is performed in the dedicated engine 30, a signal indicating a busy state is notified from the dedicated engine 30 to the main processor 20. When the main processor 20 detects that the dedicated engine 30 is busy based on the busy signal, the main processor 20 determines whether other processing can be executed without depending on the calculation result of the dedicated engine 30. If there is an executable process, the process is executed.
[0062]
On the other hand, when other processing cannot be executed, the supply of the clock to each module other than the control circuit 211 is cut off, and the main processor 20 is set to the sleep state. In this case, the supply of the operating power supply voltage Vcc to each module other than the control circuit 211 may be cut off.
In this way, the processing efficiency of the entire circuit can be increased, and further, power consumption can be reduced.
[0063]
As described above, in this embodiment, the dedicated engine 30 is provided in addition to the main processor 20, and the arithmetic unit 216 in the main processor 20 is used for normal-precision digital data, and the main data is used for high-precision digital data. The data is transferred from the data memory 23 of the processor 20 to the dedicated engine 30 by the DMA controller 40 so that the high-precision arithmetic unit 311 of the dedicated engine 30 performs the calculation, and the high-precision digital signal is sent to the data memory 23 of the main processor 20. When storing, one word is divided and stored in a free area.
[0064]
Therefore, according to this embodiment, since the calculation of the high-precision digital signal is performed by the dedicated engine 30 configured exclusively for it, a high-quality calculation result can always be obtained. Further, since it is not necessary to perform software arithmetic processing for compensating for the shortage of word length in the main processor 20, it is possible to prevent the occurrence of processing delay and to maintain the real-time property of signal processing.
[0065]
Further, since the main processor 20 does not need to perform high-precision digital data arithmetic processing, the size of the arithmetic unit 216 of the main processor 20 and the size of one address area of the data memory 23 correspond to normal-precision digital data. Can be limited to size. In addition, since the high-precision digital signals are stored in the data memory 23 in a packed state, useless empty areas do not occur and high-density storage is possible. Therefore, it is possible to reduce the capacity of the data memory 23, thereby reducing the circuit scale and price of the main processor 20.
[0066]
However, in this embodiment, there is a concern about the increase in the overall circuit scale due to the addition of the dedicated engine 30, but the high-precision computing unit 311 of the dedicated engine 30 is configured to exclusively perform routine operations such as FFT operations. Therefore, a relatively small circuit can be obtained, and it is sufficient for the data memory 32 to store the second digital data for a few bytes, and a small-capacity circuit can be used. For this reason, even if the dedicated engine 30 is added, it is possible to minimize the increase in the size of the entire hardware.
[0067]
In this embodiment, the dedicated engine 30 is provided with an address conversion circuit 315, and a high-precision digital signal stored in the data memory 23 of the main processor 20 is DMA-transferred to the dedicated engine 30 as it is, and the address conversion circuit 315 performs data transfer. After the conversion of the order, the data is stored in the data memory 32 in the dedicated engine 30. For this reason, it is not necessary for the main processor 20 to convert the data order of the high-precision digital signals, and therefore, overhead due to a plurality of addressing and the like can be prevented.
[0068]
Further, in this embodiment, when the dedicated processor 30 is busy (in operation), when the main processor 20 can execute a process that does not depend on the calculation result of the dedicated engine 30, the process is executed. When it is necessary to execute processing depending on the calculation result, the main processor 20 is set in the sleep state. For this reason, it is possible to improve the processing efficiency of the entire circuit and reduce power consumption.
[0069]
The present invention is not limited to the above embodiment. For example, in the above-described embodiment, the data order is changed in the address conversion circuit 315 provided in the dedicated engine 30. However, the address conversion circuit may be provided in the DMA controller 40 to perform address conversion here. Good.
[0070]
In the embodiment, the case where the FFT operation is performed by the dedicated engine has been described as an example. However, the MDCT (Modified Discrete Cosine Transform) operation, the IMDCT (needed in the filtering process, the windowing process, and the audio signal encoding process are also described. Inverse MDCT) calculation may be performed.
[0071]
For example, in the case of the windowing process, the multiplication data is stored in the data area 322 of the data memory 32 and the multiplication coefficient is stored in the table area 321. This can be realized by sequentially reading out these data, performing multiplication, passing through addition and subtraction processing, and storing the multiplication result data in the original area of the data area 322.
[0072]
In many cases, the windowing process has a symmetrical window coefficient as shown in FIG. 9 as a multiplication coefficient (for example, sin data). In this case, when the coefficient data is transferred from the main processor 20 to the dedicated engine 30, the first half is transferred as usual (data transfer order A) and the windowing process is performed, and the second half is reverse to the first half (data transfer order). If the windowing process is performed by transferring in B), half of the coefficient data that must be retained is sufficient. In addition, if the processing control circuit of the dedicated engine adds and processes a reverse reading mode when coefficient data is fetched, the number of times of data transfer can be reduced.
[0073]
The circuit configuration of the main processor and the dedicated engine, the configuration of the data transfer means (not limited to the DMA transfer), the type and configuration of the communication device, and the like are variously modified without departing from the gist of the present invention. it can.
[0074]
【The invention's effect】
As described above in detail, in the present invention, in addition to the main arithmetic processing circuit corresponding to the first word length of the normal word length, a dedicated arithmetic processing circuit corresponding to the second word length of the long word length is provided, The digital signal is supplied to the arithmetic unit of the main arithmetic processing circuit to perform arithmetic processing, and the second digital signal is transferred to the dedicated arithmetic processing circuit to perform arithmetic processing, and the main arithmetic processing is performed. When the first digital signal is stored in the first memory of the circuit, the one word length is stored in the unit storage area of the first memory, and when the second digital signal is stored, the one word length is stored. Is divided and stored in a plurality of unit storage areas of the first memory.
[0075]
Therefore, according to the present invention, there is provided a digital signal processing circuit that reduces memory capacity, retains hardware resources in a small size and at low cost, and enables high-precision arithmetic processing for a plurality of types of digital signals having different word lengths. A communication device including a circuit can be provided.
[Brief description of the drawings]
FIG. 1 is a circuit block diagram of a multimedia mobile communication terminal device, showing an embodiment of a communication device according to the present invention.
FIG. 2 is a block diagram showing a schematic configuration of a digital signal processing circuit for audio signal processing.
FIG. 3 is a circuit block diagram showing a configuration of an arithmetic core of the main processor.
FIG. 4 is a circuit block diagram showing a configuration of a high-precision arithmetic core of a dedicated engine.
FIG. 5 is a circuit block diagram illustrating a configuration example of a high-precision arithmetic unit that performs a four-point complex fast Fourier transform (FFT) operation;
FIG. 6 is a diagram showing an example of a storage state of high-precision digital signals in the data memory of the main processor.
FIG. 7 is a diagram showing an example when the data order of high-precision digital signals is changed.
FIG. 8 is a diagram showing a data flow of calculation processing when performing a 4-point complex FFT calculation;
FIG. 9 is a diagram for explaining a data inversion transfer operation in a case where a filtering operation with symmetrical characteristics is performed.
[Explanation of symbols]
1 ... Antenna
2 ... Radio part
3. Baseband processing unit
4 ... Demultiplexer
5 ... Audio signal processor
6 ... Video signal processor
7: Data processing section
8. Display control unit
9 ... Liquid crystal display (LCD)
10 ... Main control section
10: Demultiplexing unit
11 ... Battery
12 ... Power circuit section
13 ... Storage unit
14 ... Input section
20 ... main processor
21 ... Calculation core
22 ... Instruction memory (IMEM)
23 ... Data memory (DMEM)
30 ... Special engine
31 ... High-precision computing core
32 ... Data memory (DMEM)
40 ... DMA controller
50. External interface circuit
51. Speaker
52 ... Microphone
60 ... Control signal line
61 ... Camera
211 ... Control circuit
212 ... Program counter (PC)
213 ... Instruction memory interface (IMEM IF)
214 ... Decoding circuit
215: Register file
216 ... Calculator
311: High precision computing unit
312 ... Calculation control circuit
313: CALC MODE register
314: Data memory interface
315: Address conversion circuit
316: DMA MODE register
321 ... Table area
322 ... Data area
3111: Latch circuit section
3112, 3115, 3120 ... selector
3113, 3114 ... multiplier
3116: Adder
3117: Subtractor
3118, 3119 ... Latch

Claims (6)

第1の語長を持つ第1のディジタル信号及び前記第1の語長よりも長い第2の語長を持つ第2のディジタル信号をそれぞれ演算処理するディジタル信号処理回路において、
主演算処理回路と、この主演算処理回路に接続される専用演算処理回路とを具備し、
前記主演算処理回路は、
前記第1の語長に対応する演算処理機能を有する主演算部と、
単位記憶領域の記憶容量が前記第1の語長に対応して構成された第1のメモリと、
この第1のメモリに前記第1のディジタル信号を記憶する場合には、その1語長を第1のメモリの単位記憶領域に記憶し、前記第2のディジタル信号を記憶する場合には、その1語長を区切って前記第1のメモリの複数の単位記憶領域に渡り詰めて記憶するディジタル信号記憶制御手段と、
前記第1のメモリに記憶された第1及び第2のディジタル信号のうち、第1のディジタル信号については前記主演算部に供給して演算処理を行わせ、第2のディジタル信号については前記専用演算処理回路に転送する演算制御手段とを備え、
前記専用演算処理回路は、
前記第2の語長に対応する演算処理機能を有する専用演算部と、
前記主演算処理回路から転送された第2のディジタル信号を前記専用演算部に供給して演算処理を行わせ、その演算処理結果を前記主演算処理回路に転送する専用演算制御手段と、
単位記憶領域の記憶容量が前記第2の語長に対応して構成され、前記主演算処理回路から転送された第2のディジタル信号及び前記専用演算部により得られた演算処理結果を一時保持する第2のメモリとを備えたことを特徴とするディジタル信号処理回路。
In a digital signal processing circuit for performing arithmetic processing on a first digital signal having a first word length and a second digital signal having a second word length longer than the first word length,
A main arithmetic processing circuit and a dedicated arithmetic processing circuit connected to the main arithmetic processing circuit;
The main arithmetic processing circuit includes:
A main arithmetic unit having an arithmetic processing function corresponding to the first word length;
A first memory having a storage capacity of a unit storage area corresponding to the first word length;
When storing the first digital signal in the first memory, the one word length is stored in the unit storage area of the first memory, and when storing the second digital signal, the first digital signal is stored. Digital signal storage control means for dividing and storing one word length across a plurality of unit storage areas of the first memory;
Of the first and second digital signals stored in the first memory, the first digital signal is supplied to the main arithmetic unit to perform arithmetic processing, and the second digital signal is used as the dedicated digital signal. Arithmetic control means for transferring to the arithmetic processing circuit,
The dedicated arithmetic processing circuit is
A dedicated arithmetic unit having an arithmetic processing function corresponding to the second word length;
Dedicated arithmetic control means for supplying the second digital signal transferred from the main arithmetic processing circuit to the dedicated arithmetic unit to perform arithmetic processing, and transferring the arithmetic processing result to the main arithmetic processing circuit;
The storage capacity of the unit storage area is configured to correspond to the second word length, and temporarily holds the second digital signal transferred from the main arithmetic processing circuit and the arithmetic processing result obtained by the dedicated arithmetic unit. A digital signal processing circuit comprising: a second memory.
前記主演算処理回路及び専用演算処理回路の少なくとも一方は、第2のディジタル信号を転送する際にその語長を第1の語長と第2の語長との間で変換する語長変換手段を、さらに備えたことを特徴とする請求項1記載のディジタル信号処理回路。At least one of the main arithmetic processing circuit and the dedicated arithmetic processing circuit converts the word length between the first word length and the second word length when transferring the second digital signal. The digital signal processing circuit according to claim 1, further comprising: 前記主演算処理回路及び専用演算処理回路の少なくとも一方は、第2のディジタル信号を転送する際に、専用演算部における処理内容に応じてそのデータ順序を変換するデータ順序変換手段を、さらに備えたことを特徴とする請求項1記載のディジタル信号処理回路。At least one of the main arithmetic processing circuit and the dedicated arithmetic processing circuit further includes data order conversion means for converting the data order according to the processing content in the dedicated arithmetic unit when transferring the second digital signal. The digital signal processing circuit according to claim 1. 前記主演算処理回路は、前記専用演算処理回路へ第2のディジタル信号の転送してからその演算処理結果が返送されるまでの期間に、別の処理を実行することを特徴とする請求項1記載のディジタル信号処理回路。2. The main arithmetic processing circuit executes another process in a period from when the second digital signal is transferred to the dedicated arithmetic processing circuit until the arithmetic processing result is returned. The digital signal processing circuit described. 前記主演算処理回路は、前記専用演算処理回路へ第2のディジタル信号の転送してからその演算処理結果が返送されるまでの期間に、自己を動作休止状態に設定することを特徴とする請求項1記載のディジタル信号処理回路。The main arithmetic processing circuit sets itself to an operation pause state during a period from when the second digital signal is transferred to the dedicated arithmetic processing circuit until the arithmetic processing result is returned. Item 2. The digital signal processing circuit according to Item 1. ディジタル信号に対し伝送のための所定の信号処理を施し、この処理されたディジタル信号を通信回線を介して伝送する通信装置において、
主演算処理回路及びこの主演算処理回路に接続される専用演算処理回路を備え、第1の語長を持つ第1のディジタル信号及び前記第1の語長よりも長い第2の語長を持つ第2のディジタル信号に対しそれぞれ前記伝送のための演算処理を行うディジタル信号処理回路を具備し、
前記主演算処理回路は、
前記第1の語長に対応する演算処理機能を有する主演算部と、
単位記憶領域の記憶容量が前記第1の語長に対応して構成された第1のメモリと、
この第1のメモリに前記第1のディジタル信号を記憶する場合には、その1語長を第1のメモリの単位記憶領域に記憶し、前記第2のディジタル信号を記憶する場合には、その1語長を区切って前記第1のメモリの複数の単位記憶領域に渡り詰めて記憶するディジタル信号記憶制御手段と、
前記第1のメモリに記憶された第1及び第2のディジタル信号のうち、第1のディジタル信号については前記主演算部に供給して演算処理を行わせ、第2のディジタル信号については前記専用演算処理回路に転送する演算制御手段とを備え、
前記専用演算処理回路は、
前記第2の語長に対応する演算処理機能を有する専用演算部と、
前記主演算処理回路から転送された第2のディジタル信号を前記専用演算部に供給して演算処理を行わせ、その演算処理結果を前記主演算処理回路に転送する専用演算制御手段と、
単位記憶領域の記憶容量が前記第2の語長に対応して構成され、前記主演算処理回路から転送された第2のディジタル信号及び前記専用演算部により得られた演算処理結果を一時保持する第2のデータメモリとを備えたことを特徴とするディジタル信号処理回路を備えた通信装置。
In a communication device that performs predetermined signal processing for transmission on a digital signal and transmits the processed digital signal via a communication line.
A main arithmetic processing circuit and a dedicated arithmetic processing circuit connected to the main arithmetic processing circuit are provided. The first digital signal has a first word length and the second word length is longer than the first word length. A digital signal processing circuit for performing arithmetic processing for the transmission on each of the second digital signals,
The main arithmetic processing circuit includes:
A main arithmetic unit having an arithmetic processing function corresponding to the first word length;
A first memory having a storage capacity of a unit storage area corresponding to the first word length;
When storing the first digital signal in the first memory, the one word length is stored in the unit storage area of the first memory, and when storing the second digital signal, the first digital signal is stored. Digital signal storage control means for dividing and storing one word length across a plurality of unit storage areas of the first memory;
Of the first and second digital signals stored in the first memory, the first digital signal is supplied to the main arithmetic unit to perform arithmetic processing, and the second digital signal is used as the dedicated digital signal. Arithmetic control means for transferring to the arithmetic processing circuit,
The dedicated arithmetic processing circuit is
A dedicated arithmetic unit having an arithmetic processing function corresponding to the second word length;
Dedicated arithmetic control means for supplying the second digital signal transferred from the main arithmetic processing circuit to the dedicated arithmetic unit to perform arithmetic processing, and transferring the arithmetic processing result to the main arithmetic processing circuit;
The storage capacity of the unit storage area is configured to correspond to the second word length, and temporarily holds the second digital signal transferred from the main arithmetic processing circuit and the arithmetic processing result obtained by the dedicated arithmetic unit. A communication apparatus comprising a digital signal processing circuit, comprising: a second data memory.
JP34048999A 1999-11-30 1999-11-30 Digital signal processing circuit and communication apparatus provided with the circuit Expired - Fee Related JP3737660B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34048999A JP3737660B2 (en) 1999-11-30 1999-11-30 Digital signal processing circuit and communication apparatus provided with the circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34048999A JP3737660B2 (en) 1999-11-30 1999-11-30 Digital signal processing circuit and communication apparatus provided with the circuit

Publications (2)

Publication Number Publication Date
JP2001154846A JP2001154846A (en) 2001-06-08
JP3737660B2 true JP3737660B2 (en) 2006-01-18

Family

ID=18337466

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34048999A Expired - Fee Related JP3737660B2 (en) 1999-11-30 1999-11-30 Digital signal processing circuit and communication apparatus provided with the circuit

Country Status (1)

Country Link
JP (1) JP3737660B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3565830B2 (en) 2002-08-21 2004-09-15 沖電気工業株式会社 Data processing device
WO2008105494A1 (en) 2007-02-28 2008-09-04 Nec Corporation Dma transfer device and method

Also Published As

Publication number Publication date
JP2001154846A (en) 2001-06-08

Similar Documents

Publication Publication Date Title
US6629223B2 (en) Method and apparatus for accessing a memory core multiple times in a single clock cycle
Lee Programmable dsp architectures. i
CN101203830B (en) For the register file of digital signal processor operated in staggered multi-thread environment
US6272512B1 (en) Data manipulation instruction for enhancing value and efficiency of complex arithmetic
US7734674B2 (en) Fast fourier transform (FFT) architecture in a multi-mode wireless processing system
CN101351792B (en) Fast dct algorithm for dsp with vliw architecture
US20060230253A1 (en) Unified non-partitioned register files for a digital signal processor operating in an interleaved multi-threaded environment
CA2613404A1 (en) System and method of counting leading zeros and counting leading ones in a digital signal processor
US7877428B2 (en) Processor system including processor and coprocessor
EP1943588B1 (en) Arithmethic logic and shifting device for use in a processor
US6647484B1 (en) Transpose address mode in general purpose DSP processor
US7653675B2 (en) Convolution operation in a multi-mode wireless processing system
JP2001290644A (en) Digital system having microprocessor and method for operating the same
US20070032985A1 (en) System and method for selectively obtaining processor diagnostic data
JP3737660B2 (en) Digital signal processing circuit and communication apparatus provided with the circuit
EP1087534A1 (en) Method and apparatus for calculation of cyclic redundancy check
CN111274171A (en) Data transmission device and method
US8788558B2 (en) Method and device for transform computation
Verbauwhede et al. Wireless digital signal processors
US20060282238A1 (en) System and method of performing two's complement operations in a digital signal processor
US8140110B2 (en) Controlling input and output in a multi-mode wireless processing system
JP4264622B2 (en) Processor
US20120117360A1 (en) Dedicated instructions for variable length code insertion by a digital signal processor (dsp)
TW466417B (en) Multi-purpose palm size computer
JP2002073586A (en) Arithmetic processing device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051017

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051025

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051027

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081104

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091104

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101104

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101104

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111104

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121104

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131104

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees