JP3183749B2 - 多重チャネルサーキュラバッファ型処理のためのアドレス生成器、可変長フィールドアドレスシーケンサ及び可変長フィールドコミュテータ - Google Patents

多重チャネルサーキュラバッファ型処理のためのアドレス生成器、可変長フィールドアドレスシーケンサ及び可変長フィールドコミュテータ

Info

Publication number
JP3183749B2
JP3183749B2 JP11196293A JP11196293A JP3183749B2 JP 3183749 B2 JP3183749 B2 JP 3183749B2 JP 11196293 A JP11196293 A JP 11196293A JP 11196293 A JP11196293 A JP 11196293A JP 3183749 B2 JP3183749 B2 JP 3183749B2
Authority
JP
Japan
Prior art keywords
signal
address
channel
output
bit
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
JP11196293A
Other languages
English (en)
Other versions
JPH0689301A (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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Publication of JPH0689301A publication Critical patent/JPH0689301A/ja
Application granted granted Critical
Publication of JP3183749B2 publication Critical patent/JP3183749B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般に、ディジタル信
号処理に関する。さらに詳細には、本発明は、ディジタ
ル信号処理システムに使用される連続したアドレス信号
を生成する方法に関し、このディジタル処理システム
は、複数のディジタルサンプル信号ソースから得られた
入力データに対して、有限インンパルス応答(FI
R)、高速フーリエ変換(FFT)または他のサーキュ
ラバッファ型処理を行う。
【0002】以下の米国特許は、本願に関連する。その
開示を本願において参考のために引用する。
【0003】(A)1990年3月13日付で発行された、B.
Pathakらによる米国特許第4,908,748号 "DATA PROCESSI
NG DEVICE WITH PARALLEL CIRCULAR ADDRESS HARDWARE"
および(B)1991年7月16日付で発行された、B. Pathak
らによる米国特許第5,032,986号 "DATA PROCESSING DEV
ICE WITH PARALLEL CIRCULAR ADDRESS HARDWARE"。
【0004】
【従来の技術】従来、ディジタル信号処理(DSP)へ
のアプローチには、重みづけ出力を有するタップ遅延線
を使用して、リアルタイム有限インパルス応答(FI
R)フィルタリングを実行していた。ディジタイズされ
たサンプルデータは、先のデータが受け取られると、ク
ロックサイクル毎に1つの新しいデータ項目という割合
で、タップ遅延線の前端部に入力し、そして古いデータ
項目は、順番に遅延線の後部にシフトする。加算手段
は、タップ遅延線の重みづけ出力を加算するために設け
られている。連続した入力信号のフィルタバージョン
は、経時的に、加算手段の出力に発生する。FIRフィ
ルタリング機構が異なると、遅延の長さおよび重みづけ
係数の組合せも異なる。
【0005】初期のDSP技術では、一連の直列同期シ
フトレジスタが、遅延線を限定するのに使用された。デ
ィジタル乗算器は、遅延線に取り付けられ、通常各シフ
トレジスタ毎に1つの乗算器が割り当てられ、シフトレ
ジスタの出力を対応する重みづけ係数と乗算するのに使
用された。新しい入力データの任意の所定項目に適用さ
れ得るディレーの最大量は、システムクロック速度およ
び一連の直列シフトレジスタの総数によって限定され
た。この数は、時々、FIRフィルタの「長さ(lengt
h)」と呼ばれる。さらに、ディジタル加算手段は、シ
フトレジスタおよび/または乗算器の出力を収集して加
算するために設けられた。
【0006】近代的なDSP設計では、従来の一連の直
列シフトレジスタに代わって、単一なランダムアクセス
メモリユニット(RAM)が使用される。入力データ項
目(サンプルポイント値)は、受け取られると、RAM
ユニットの特定のアドレス位置に書き込まれる。この入
力データ項目は、必要に応じて後に読み出され、反復的
に動作する重みづけおよび加算処理ユニットに供給され
る。重みづけおよび加算処理ユニットは、各読出しデー
タ項目を、対応の重みづけ係数によって乗算し、その結
果をローリングサブトータルに加算する。ローリングサ
ブトータルは、従来のFIRフィルタの出力に対応す
る。
【0007】サーキュラバッファ機構は、しばしば、R
AMユニットに必要な記憶容量を最小にするのに使用さ
れる。もはや必要のない古いサンプル値は、新しい入力
データによってオーバーライトされる。サーキュラバッ
ファ管理システムは、どのRAM位置が、最も新しい、
まだ使用中のデータ項目を保持しているか、およびどの
RAM位置が、最も古い、通常破棄され得るデータ項目
を記憶しているかを追跡する。
【0008】サーキュラバッファアドレシングの管理
は、入りデータのサンプル速度が比較的低い、例えば、
1秒当り1000個の入力項目(データワード)であり、例
えば64個のシフトレジスタと同等の所定フィルタ長を有
する単一フィルタが装備されている場合には、取るに足
らない。10MHz以上のクロック速度で動作する汎用マイ
クロプロセッサは、バッファ管理計算を実行し、リアル
タイムベースで、サンプル値をRAMへ記憶させ、およ
び/またはRAMから取り出す、適切なアドレス信号の
シーケンスを出力するのに使用され得る。
【0009】
【発明が解決しようとする課題】しかし、比較的多数の
入力チャネルが異なるフィルタによってリアルタイムで
同時に処理される場合、および/またはチャネルの結合
データサンプリング速度がマイクロプロセッサのピーク
処理速度を越える場合には、汎用マイクロプロセッサ
は、非常に遅い。このことは、例えば、入りデータがマ
ルチチャネル広帯域通信システム、ディジタルビデオソ
ース、または他の任意の高スループットソースから到達
する場合に発生する。
【0010】近年、高性能なユーザー配置可能DSP集
積回路ユニット類が紹介されている。Sharp LH
9124がその例である。各LH9124 DSPユニ
ットは、40MHz(1秒当り4 x 106の入力ワード)
程度の速度で、48ビット幅の連続した入力ワードを処
理することができ、各48ビットワードは、例えば、2
4ビット実部および24ビット虚部から構成されてい
る。この発達により、ディジタル遠隔測定システム、デ
ィジタル画像処理システム、ディジタルラジオ、ディジ
タルビデオ、ディジタルスピーチ処理システム、トモグ
ラフィーシステム等によって生成されるリアルタイム信
号の、商業上実用的なディジタル処理への道が開けた。
【0011】しかし、このような高速度マルチチャネル
環境におけるサーキュラバッファアドレス管理は、問題
をかかえている。
【0012】本発明は、上記課題を解決するためになさ
れたものであり、その目的とするとろは、信号処理性能
を多重チャネルに広げる能力を有するような、高速サー
キュラバッファ型のディジタル信号処理(DSP)シス
テムにおいて、適切なアドレスシーケンスをメモリデバ
イスに供給するための高速アドレス信号生成器を提供す
ることである。
【0013】
【課題を解決するための手段】本発明によると、複数の
サーキュラバッファを有するメモリへ与えるためのアド
レスシーケンスを発生させるためのアドレス生成器であ
って、対応する1つ又はそれ以上のデータ供給チャネル
から、1つ又はそれ以上のサービスリクエストを受け取
るためのリクエスト受け取り手段、1つよりも多いサ
ービスリクエストが同時に受け取られた場合に、複数の
サービスリクエストのうち最も高い優先順位を有する1
つを選択するためのリクエスト優先化手段、該優先化
手段によって選択された1つのサービスリクエストのサ
ーキュラバッファに対応するアドレスのシーケンスを出
力するためのアドレスシーケンス出力手段とを備え、
記優先化手段及びアドレスシーケンス出力手段が集積回
路チップの上に位置しており、 該集積回路チップが、前
記優先化手段の機能を選択的にバイパスして、それによ
って他の制御ユニットでの優先化動作を可能とするバイ
パス手段をさらに備えている、アドレス生成器が提供さ
れる。
【0014】
【0015】本発明の他の好ましい実施態様によると、
集積回路チップが、一連のローカルクロックパルスを受
け取るクロック受け取り手段、オフチップ供給源からサ
ービスリクエストを受け取り、それらをオンチップクロ
ックへ同期させる同期手段、対応するサーキュラバッフ
ァの開始をそれぞれ示す複数の開始ポインタを記憶する
ための開始ポインタメモリ手段、及び所定のサーキュラ
バッファの開始ポインタを変更するための開始ポインタ
更新手段をさらに備えている。
【0016】
【0017】
【0018】
【0019】
【0020】
【0021】
【0022】
【0023】本発明によると、複数のバッファを有する
メモリへ与えるためのアドレスシーケンスを発生させる
ためのアドレス生成器であって、該メモリバッファのう
ち1つを識別するバッファ識別信号を出力するためのバ
ッファ識別手段[260、263]、複数のポインタ
であって、それぞれが該メモリバッファのうち1つに対
応するポインタを記憶し、該バッファ識別手段によって
識別されるメモリバッファのポンタを示すポインタ信号
を出力するためのポインタ記憶手段[265]、該バ
ッファ識別信号及び該ポインタ信号を受け取るように連
結されており、結合信号を発生させるための信号結合手
段[275]であって、該結合信号が該ポインタ信号の
少なくとも一部を含み、該バッファ識別信号の一部又は
全部を選択的に含む、信号結合手段、該結合信号を受
け取り、その信号からアドレス信号のシーケンスを発生
させる信号シーケンス付け手段[285]であって、該
シーケンスのアドレス信号のそれぞれが該複数のメモリ
バッファのうち1つを識別する第1の部分と、該特定さ
れたメモリバッファ内の特定位置を指す第2の部分を有
している、信号シーケンス付け手段と、 前記メモリバッ
ファのうち1つにそれぞれ対応する複数の長さの値を記
憶し、前記バッファ識別手段によって識別される1つの
メモリバッファの使用長を表す長さ信号を出力するため
の長さ記憶手段[210]と、を備えているアドレス生
成器が提供される。
【0024】本発明の好ましい実施態様によると、アド
レス生成器は、ポインタ記憶手段に操作的に連結されて
おり、ポインタ記憶手段に記憶されているポインタを変
更するためのポインタ更新手段[264、268]であ
って、変更されたポインタがバッファ識別手段によって
識別されたメモリバッファのポインタである、ポインタ
更新手段をさらに備えている。
【0025】
【0026】本発明の他の実施態様によると、アドレス
生成器は、信号シーケンス付け手段に操作的に連結され
ており、信号シーケンス付け手段によって発生されたア
ドレス信号のシーケンスに含まれるべきアドレス信号の
数を示すための状態シーケンサ手段[289、290]
をさらに備えている。
【0027】本発明の他の実施態様によると、アドレス
生成器は、信号結合手段に操作的に連結されており、ポ
インタ信号のうちのどの部分が結合信号に含まれるべき
かを決定し、さらに、あるとすればバッファ識別信号の
うちのどの部分が結合信号に含まれるべきかを決定する
ためのフィールドサイズ制御手段[205]をさらに備
えている。
【0028】本発明の他の実施態様によると、フィール
ドサイズ制御手段が、最初に供給されるバッファ数を表
す信号[NCHS]及び2番めに供給されるメモリサイ
ズ規定信号[MEMSZ]に応答しており、数を表す信
号[NCHS]がメモリ内のバッファの数を示し、メモ
リサイズ規定信号[MEMSZ]がメモリの記憶容量を
示す。
【0029】本発明によると、Nビット幅のアドレス信
号[CBAO]の各ビットを記憶し出力するための複数
のN個の記憶素子[300−319]、該Nビット幅
のアドレス信号の各ビットを受け取り、各ビットの信号
から修正されたNビット幅のアドレス信号の各ビット
生成するアドレス修正器[320]、それぞれの出力
が、該N個の記憶素子のそれぞれの入力になっているN
個のデータフロウ型マルチプレクサ[330−349]
、外部から供給されるチャネルビットを受け取る第1
の入力及び外部から供給される定数ビットを受け取る第
2の入力をそれぞれ有しており、いずれかの一つの入力
を選択してそれぞれ出力するN個のチャネル保存用マル
チプレクサ[360−379]を備えている可変長フ
ィールドアドレスシーケンサであって、該データフロウ
型マルチプレクサのそれぞれが複数の入力端子[A、
A’、B、C]を有しており、該入力端子の第1の端子
[A]が対応する記憶素子の出力に連結されており、該
入力端子の第2の端子[A’]が該アドレス修正器の対
応する出力に連結されており、該入力端子の第3の端子
[B]が外部から供給されるポインタビットを受け取る
ように連結されており、該入力端子の第4の端子[C]
が該N個のチャネル保存用マルチプレクサのうち対応す
る1つの出力に連結されており、入力端子[A、A’、
B、C]のいずれか一つの入力された信号を選択して出
力するようになっている、可変長フィールドアドレスシ
ーケンサ[285]が提供される。
【0030】本発明によると、Nビット幅のアドレス信
号を出力するようになっており、出力されるアドレス信
号の各ビットをそれぞれ生成する複数のコミュテータセ
ルを備えている可変長フィールドコミュテータ[27
5]であって、該コミュテータセルのそれぞれが、所定
範囲内の複数のチャネルビットを受け取る手段と所定
範囲内の複数のポインタビットを受け取る手段と該可
変長フィールドコミュテータによって出力されるべきチ
ャネルビットの所定数を表すチャネルビット数信号[N
CHB]を受け取る手段、該可変長フィールドコミュ
テータの各セルの位置を、その他のセルとの相対位置と
して表すセル位置特定信号を受け取る手段、該受け取
られたチャネルビットのうち1ビット又は該受け取られ
たポインタビットのうち1ビットのうちいずれか一方を
表すビット[Bxx]を出力するための信号出力手段
、該チャネルビット数信号及び該セル位置特定信号に
応じて、該受け取られたチャネルビットのうち1つを該
信号出力手段へつなぐ信号ルーティング手段を備えて
いる、可変長フィールドコミュテータが提供される。
【0031】
【0032】
【作用】本発明のアドレス信号生成器は、連続して多数
のチャネルをサービスする。各チャネルは、独立した可
変サンプル速度を有し得、DSPシステムは、チャネル
に特異的な長さおよび/またはチャネルに特異的な重複
値を使用して、所定のチャネルのデータを処理し得る。
【0033】アドレス生成器の1つの実施態様は、集積
回路チップを含む。この集積回路チップには、オンチッ
プアービトレーションユニット、複数のバッファ開始ポ
インタを記憶するSP(開始ポインタ)のレジスタファ
イル、SPのレジスタファイル内の特定の開始ポインタ
を更新する開始ポインタ更新ユニット、複数のフィルタ
動作長(または重複値)を記憶するOLのレジスタファ
イル、特定のメモリユニットおよび所定の数のチャネル
のサイズに対応するデータ構造を有するバッファ開始ア
ドレス信号を生成する可変長フィールドコミュテータ
(VFC)、および特定のメモリユニットの循環バッフ
ァエリア内の連続した位置を示すアドレス信号のシーケ
ンスを出力する、可変長フィールドアドレス増分器が形
成されている。
【0034】アドレスシーケンス生成は、オンチップア
ービトレーションユニットが所定のチャネルからサービ
スリクエストを受け取ることにより開始する。多数のチ
ャネルからリクエストが同時に届いた場合には、アービ
トレーションユニットは、優先順位の最も高いリクエス
トを選択する(オフチップアービトレーションを可能に
するために、バイパス手段が設けられている)。
【0035】優先順位の最も高いチャネルのチャネル番
号は、オンチップ開始ポインタ(SPの)レジスタファ
イルに供給される。SPのレジスタファイルは、選択さ
れたチャネルに対応する相対バッファ開始ポインタを出
力する。このポインタは、可変長フィールドコミュテー
タ(VFC)に送達され、そこで受け取られる。同時
に、オンチップSP更新ユニットは作動される。SP更
新ユニットは、予め存在していたSP値がVFCによっ
て得られた直後に、SPのレジスタファイル内の選択さ
れたチャネルに関して記憶されたSP値を更新し始め
る。
【0036】可変長フィールドコミュテータ(VFC)
は、複数の入力を有する。1つのVFC入力は、開始ポ
インタ(SPの)レジスタファイルから伝送されたバッ
ファ開始ポインタを受け取る。可変長フィールドコミュ
テータのもう1つの入力は、選択されたチャネルのチャ
ネル番号を受け取る。
【0037】可変長フィールドコミュテータ(VFC)
は、複数の入力を有する。1つのVFC入力は、開始ポ
インタ(SPの)レジスタファイルから伝送されたバッ
ファ開始ポインタを受け取る。可変長フィールドコミュ
テータのもう1つの入力は、選択されたチャネルのチャ
ネル番号を受け取る。
【0038】可変長フィールドコミュテータは、さら
に、MEMSIZE信号とNCHS信号とを受け取る。MEMSIZE信号
は、各チャネルのサーキュラバッファを記憶するのに使
用されるメモリユニットのサイズを示し、NCHS信号は、
メモリユニット内に記憶されたチャネルバッファの数を
示す。これらの信号に応答して、1ワード当り所定数の
ビットを有するが、可変データ構造を有するアドレス信
号(GAS)をVFCは生成する。生成アドレス信号
(GAS)のより上位の可変幅部は、選択されたチャネ
ルのチャネル番号、またはそのチャネル番号から得られ
るメモリブロックアドレスを示す。生成アドレス信号
(GAS)のより下位の可変幅部は、選択されたチャネ
ルの相対バッファ開始ポインタ、または相対バッファ開
始ポインタから得られるメモリローカルアドレスを示
す。VFCによって生成されるアドレス信号(GAS)
の最上位端は、ゼロでパッドされても良い。
【0039】生成アドレス信号(GAS)は、可変長フ
ィールドアドレス増分器(VFAI)にロードする。同
時に、対応するフィルタ長値は、ステートコントローラ
にロードする。VFAIは、自動増分したアドレス信号
のシーケンスを出力し始める。このとき、まず、VFC
から最初にロードされた生成アドレス信号(GAS)か
ら開始する。一方、ステートコントローラは、選択され
たチャネルに必要なアドレス信号の数を数え続ける。バ
ッファエリアの連続した循環からトップアドレスは、V
FAIがバッファエリアのボトム制限に遭遇したときに
発生する。
【0040】パイプライン構造により、1つのチャネル
リクエストのサービスから即座に次のチャネルリクエス
トサービスへと連続して移行することが可能になる。
【0041】
【実施例】図1および図2は、本発明のマルチチャネル
ディジタル信号処理システム100のブロック図であ
る。マルチチャネルディジタル信号処理システム100
は、サーキュラバッファ145およびバッファ管理サブ
システム(120、170、180)を含む。サーキュ
ラバッファ145は、スタティックランダムアクセスメ
モリユニット(SRAM)140内に形成された複数の
サーキュラバッファ(CBの)の1つである。
【0042】ディジタル入力サンプルは、1つまたは複
数のデータ供給チャネル(CH1、CH2、CH3、C
H4、...、CHn、図面にはそのいくつかのみを示
す)からDSPシステム100に入力する。時間領域信
号マルチプレクサ110は、しばしば、チャネルの1つ
からデータを、SRAMユニット140およびDSPシ
ステム100の他の部分へ選択的に連結するために設け
られている。
【0043】供給チャネルの1つであるCH5は、量子
化スイッチ111を有しているのが示されている。スイ
ッチ111は、規則的または非規則的に入り信号105
をサンプルし、そのサンプルをマルチプレクサ110の
CH5入力端子に供給する。入り信号105は、アナロ
グまたはディジタルであり得る。入り信号105がアナ
ログであるならば、図1に破線で示されるように、アナ
ログディジタル変換器(A/D)112が、スイッチ1
11とマルチプレクサ110のCH5入力端子との間に
設けられ得る。あるいは、すべてのチャネルがアナログ
信号を受け取るならば、図1に破線で示されるように、
共有のアナログディジタル変換器(A/D)113が、
マルチプレクサ110の出力とメモリユニット140と
の間に設けられ得る。あるいは、(図示されていない
が)1つまたは少数のA/D変換器が設けられ、それぞ
れの変換器は、すべてのチャネルではなくそのサブセッ
ト毎に共有される。
【0044】入り信号105は、生成されると、しばし
ば、リアルタイムでDSPシステム100に供給され
る。しかし、入り信号105はまた、予め記録され、リ
アルタイム生成速度よりも遅い速度で再生され得る。
【0045】チャネルサンプル速度制御器115は、C
H5量子化スイッチ111の作動速度を制御する。スイ
ッチ111が一時的に閉じる毎に、新しいサンプル値
は、マルチプレクサ110のCH5入力端子に現れる。
そのサンプル信号は、さらに新しいサンプル信号によっ
てオーバーライトされるまで有効である。スイッチ11
1が閉じると同時に、チャネル5サービスリクエスト信
号(SR5)116は、CH5サンプル速度制御ユニッ
ト115からシステム100のチャネルスキャン制御ユ
ニット120へ伝送される。
【0046】図1は、1つのデータ供給チャネル(CH
5)の全構造を示しているが、他のデータ供給チャネル
(CH1からCHn)も存在する。それぞれのデータ供
給チャネルは、それぞれに対応する量子化スイッチ(1
11)、速度制御ユニット(115)および/または他
の適切な構成要素(例えば、チャネルサービシングA/
D変換器112)を有する。CH6サンプル速度制御ユ
ニットを参照番号117で例示する。CH6に対応する
量子化スイッチ(図示されていない)が閉じる毎に、そ
れぞれのSR6サービスリクエスト信号118は、CH
6速度制御器117からスキャン制御ユニット120ま
で伝送される。同様に、チャネルCHnの量子化スイッ
チが閉じると、SRnサービスリクエスト信号119
は、CHn速度制御ユニット(図示されていない)から
スキャン制御ユニット120へ伝送される。
【0047】各チャネル(CH1からCHn)は、独立
した非同期サンプリング速度で、入力サンプルをマルチ
プレクサ110のそれぞれに対応する入力端子に伝送し
得る。参照番号112で示されるように、個別のA/D
変換器が、各チャネルに設けられ得るか、または参照番
号113で示されるように、単一のA/D変換器がすべ
てのチャネルをサービスし得る。すべてのチャネルの入
り信号(105)がすでにディジタル形態であるなら
ば、図示されるA/D変換器112または113は、設
けなくてもよい。
【0048】チャネルスキャン制御ユニット120は、
受け取ったサービスリクエスト(SR1からSRn)の
それぞれを記憶し、ローカルクロック生成々器(LC)
121のパルスと同期させる。リクエスト優先化機能
は、チャネルスキャン制御ユニット120内に設けら
れ、多数のサービスリクエストを同時に受け取った場合
の状況に対応する。
【0049】スキャン制御ユニット120は、破線で示
される接続122のように、マルチプレクサ110に選
択的に連結され、最優先リクエスティングチャネルから
の入り信号(105)をマルチプレクサ110の出力端
子に連結する。あるいは、他の制御ユニット(図示され
ていない)は、マルチプレクサ110の記号的に示され
た接極子(シンボリック接極子)を駆動させ、マルチプ
レクサ110の出力端子を、リクエスティングチャネル
のうち最優先のチャネルからの入り信号を受け取るよう
に連結させる。
【0050】図1は、チャネルCH5からのリクエスト
がサービスされる場合を示す。マルチプレクサ110の
シンボリック接極子は、CH5入り信号105を、メモ
リユニット140のデータ入力ポート(DI)141に
連結しているのが示される。さらに、チャネル出力信号
は、同時に、ユーザー配置可能DSPユニット160の
第1入力ポート161(図2)に連結される。ディジタ
イズされたマルチプレクサ110の出力は、ここでは、
新しいサンプル信号114と呼ばれる。図示されている
のでは、新しいサンプル信号114はそれぞれ、並列4
8ビット幅データワードである。
【0051】新しいサンプル信号114がメモリユニッ
ト140のデータ入力ポート(DI)141およびDS
Pユニット160の第1入力ポート161に提示される
と、チャネルスキャン制御ユニット120は、第1およ
び第2アドレス生成器(AG−1)170および(AG
−2)177を作動する。作動した第1アドレス生成器
(AG−1)170は、アドレス信号172の有限シー
ケンスを、メモリユニット140のアドレス入力ポート
(AI)142に供給し始める。各生成アドレス信号
(GAS)172の有効ビット幅は、メモリユニット1
40の全メモリ容量の関数である。メモリユニット14
0が220のデータワード(1メガワード記憶容量)を記
憶する能力を有するならば、各生成アドレス信号(GA
S)172は、各20ビット程度の有効幅を有し得る。
メモリユニット140の記憶容量が小さい、例えば、2
10データワードであるならば、各生成アドレス信号(G
AS)172の有効幅は、それに応じて10ビットに減
少する。
【0052】すでに述べたように、複数のサーキュラバ
ッファ(CB)エリアは、メモリユニット140のメモ
リ空間内に限定される。1つの特定のサーキュラバッフ
ァ145は、それぞれ、a、b、cおよびdと標識され
る4つの特定のメモリ位置を有するのが示される。この
位置の数はまた、「フィルタ長」とも呼ばれる。チャネ
ルCH5のフィルタ長は、LC5である。この位置の数は
シフトレジスタの数(SR−aからSR−d)に相当す
る。シフトレジスタは、通常、従来の直列シフトレジス
タが使用されるならば、DSPユニット160内に装備
される。
【0053】仮定としてブロック160に示されている
従来の配置では、第1シフトレジスタSR−aは、第1
システムクロックサイクルで、最新のチャネル信号11
4を受け取り、記憶する。次の第2システムクロックサ
イクルでは、仮想の第1シフトレジスタSR−a内に記
憶されたデータは、次の仮想の第2シフトレジスタSR
−bにシフトする。同様に、第2クロックサイクルで
は、第1シフトレジスタSR−aは、入力ポート161
から次のサンプル値を受け取る。同様に、第3クロック
サイクルでは、第2シフトレジスタSR−bに予め記憶
された最も古いデータは、仮想の第3シフトレジスタS
R−cにシフトする。次に古いデータは、SR−aから
SR−bにシフトし、最新のチャネルデータ114が、
SR−aにシフトする。第4クロックサイクルでは、最
も古いデータは、仮想のレジスタSR−dにシフトす
る。次のサイクルでは、さらに新しいデータが、第4シ
フトレジスタSR−dに保持された最も古いデータをオ
ーバーライトする。
【0054】レジスタSR−aからSR−dまでの出力
は、それぞれ、重みづけ関数WaからWdによって乗算さ
れ、加算され、DSPユニット160から出力ポート1
68を介して出力する。第2メモリユニット(SRA
M)150は、DSPユニット160の係数受け入れポ
ート164を介して、必要な重みづけ値Wa−Wdを供給
する。第2アドレス生成器(AG−2)177は、必要
なアドレス信号を、第2メモリユニット150のアドレ
ス入力(AI)ポート158に供給する。
【0055】アドレス生成器170および177(AG
−1およびAG−2)は、ユーザープログラム可能であ
り、コマンドユニット180から伝送されるコマンド信
号181および182に応答する。
【0056】シフトレジスタと同様に、ブロック160
内に図示される乗算器および加算器もまた仮想のもので
ある。DSPユニット160(好ましくは、Sharp
LH9124または同様の集積回路装置)は、ユーザ
ー配置可能、反復性重みづけおよび加算手段を含む。こ
の重みづけおよび加算手段は、(ポート161または1
63から)受け取った各サンプル値を、対応する重みづ
け係数によって連続して乗算し、その結果をローリング
サブトータルに加算する。チャネルCH5から受け取っ
た信号をフィルタするために使用されるサンプルFIR
プロセスは、例示のみを目的として、DSPユニット1
60のブロック内に示される。DSPユニット160
は、各チャネルに特有なフィルタ設計を実行できるよう
に配置され得る。
【0057】仮想のシフトレジスタSR−aからSR−
dおよびWaからWdまでの複数の乗算器は、実際には、
配置可能DSPユニット160内には存在しないため、
第1メモリユニット(RAM−1)140内にあるサー
キュラバッファ145が、仮想のレジスタSR−aから
SR−dの機能を模倣し、それぞれのタイム遅延された
信号をDSPユニット160内の重みづけおよび加算手
段に連続して供給するのに使用される。同時に、第2メ
モリユニット(RAM−2)150内にある他のサーキ
ュラバッファ155は、重みづけ係数WaからWdの対応
シーケンスを、DSPユニット160内の重みづけおよ
び加算手段に供給する。
【0058】各チャネル(例えば、CH5)のフィルタ
機能は、そのチャネルに関連したサーキュラバッファ
(例えば、145および155)の内容を数回シーケン
スすることによって実行される。例えば、チャネルCH
5に関連した複数のチャネルサービシング動作の一番目
動作中に、マルチプレクサ110のチャネルCH5端子
から受け取られた最新チャネル信号114は、サーキュ
ラバッファ145の位置「z」に書き込まれる。サンプ
ル信号114は、同時に、DSPユニット160に提示
され、第1重みづけ値Waによって乗算される。重みづ
け値Waは、第2メモリユニット(RAM−2)150
の対応位置から読み出され、DSPポート164に提示
される。重みづけ結果は、次に、DSPユニット160
のアキュムレータ(図示されていない)内に保持された
ローリングサブトータルへ加算される。
【0059】DSPユニット160が、重みづけ係数W
aによって「a」値の乗算を完了すると、サーキュラバ
ッファ145の次の位置「b」に記憶された値が第1メ
モリユニット(RAM−1)140のデータ出力ポート
(DO)143を介して読み出され、DSPユニットの
他の入力ポート163を介してDSPユニット160に
導入される。重みづけ値Wbは、第2メモリユニット
(RAM−2)150の対応位置から読み出され、DS
Pポート164に提示される。次に、DSPユニット1
60は、読み出された「b」値を重みづけ関数Wbによ
って乗算し、その重みづけ値をその内部のローリングサ
ブトータルに加算する。
【0060】同様に、DSPユニット160が位置
「b」値の乗算を完了すると、サーキュラバッファ14
5の次の位置「c」の値がデータ出力ポート(DO)1
43から読み出され、DSPユニット160に入力し、
それに対応する重みづけ係数Wcによって乗算される。
サーキュラバッファ145の位置「d」に記憶された値
は、同様に、次のクロックサイクルで処理される。値
「d」がサーキュラバッファ145から読み出される
と、チャネルCH5の第1チャネルサービシング動作
(以後、「CH5サービスNo.1」と呼ぶ)が完了す
る。
【0061】サーキュラバッファ145の位置「a」
は、第1チャネルCH5サービシング動作(CH5サー
ビスNo.1)のバッファ開始位置と見なされる。第1
サービシング動作が完了すると、第1アドレス生成器
(AG−1)170内のバッファ開始ポインタ(図示さ
れていない)は、時計と反対方向に回転(減分)し、そ
れによって、メモリ位置「a]に先行する位置を、新し
いバッファ開始位置として指定する。この新しい位置
は、サーキュラバッファ145には図示されていない
が、本願ではバッファ位置「z」と呼ぶ。サーキュラバ
ッファ145は、アルファベット順にa、b、c、
d、...、w、x、y、zによってそれぞれ標識され
たメモリ位置を有することが理解される。ここで、位置
「z」は、論理的に位置「a」を先行する。バッファ1
45が26個の位置を有しているわけではない。サーキ
ュラバッファ145の全長LMまたはワードカウント
は、4からメモリユニット140の最大容量(MEMSIZ
E)までの任意の整数であり得る。
【0062】チャネルCH5量子化スイッチ111が後
に、さらに新しいサンプル値信号を出力すると、第2サ
ービスリクエスト信号116は、対応する速度制御ユニ
ット115からチャネルスキャン制御ユニット120に
発せられる。最新のCH5サンプル値は、CH5(CH
5サービスNo.2)からの第2サービスリクエストが
サービスされた時に、サーキュラバッファ145の新し
いバッファ開始位置「z」に書き込まれる。次いで、次
の位置「a」、「b」および「c」に記憶された値は、
DOポート143から連続して読み出され、DSPユニ
ット160によって処理される。新しい「z」値は、重
みづけWaによって乗算される。現時点でより古い値
「a」は、重みづけWbによって乗算される。位置
「b」のデータは、Wcによって乗算される。位置
「c」のデータは、Wdによって乗算される。位置
「d」は、アドレス化されていない。
【0063】次の第3チャネルサービシング動作(CH
5サービスNo.3)において、位置「y」は、最新の
データサンプルを受け取るバッファ開始位置となり、一
方、位置「z」、「a」および「b」は、連続して読み
出されて、DSPユニット160によって処理される位
置になる。
【0064】上述の一連の事象は、図1のコマンドユニ
ット180のブロック内に簡単に例示されている。タイ
ム線は、まず下側に、そして右側へと移行する。位置
「a」は、第1チャネルCH5サービシング動作中のバ
ッファ145の開始である。位置「z」は、第2CH5
リクエストサービシング動作等のバッファ位置の開始と
なる。コマンドユニット180は、AG−1およびAG
−2ユニット(170および177)を間接的に通じ
て、メモリユニット140および150の読出し/書込
み(R/W)線を制御する。
【0065】さらに、個別のDIおよびDOバス141
および143は、RAM−1ユニット140に関して示
されているが、他の実施態様では、入力および出力デー
タに対して1つのバスが使用され得ることが理解され
る。このような他の実施態様では、RAM−1ユニット
140のポート141および143は、結合されて1つ
のデータ入力/出力ポート(図示されていない)とな
り、DSPユニット160のポート161および163
は、同様に結合されて1つのデータ入力/出力ポート
(図示されていない)となる。単一なバスは、RAM−
1およびDSPユニット140および160のデータ入
力/出力ポートを接続し、必要に応じて信号を伝送した
り、また伝送した信号を戻したりするために時間領域多
重化が用いられる。
【0066】さらに、AG−1ユニット170の動作と
対照的に、AG−2ユニット177は、回転するバッフ
ァ開始ポインタを有しておらず、そのR/W線は、重み
づけWaからWdがDSPユニット160に読み出される
ときに、読出しモードで固定されたままである。一般
に、各サービシング動作における所定のチャネルに対し
て、重みづけ係数の同一シーケンスが出力される(タイ
ムスロットが、新しい値をメモリユニット150に書き
込まれるように割り当てられる場合、および/またはタ
イムスロットがAG−2ユニット177内のバッファ開
始ポインタを変更させるために割り当てられる場合に
は、適応重みづけが可能である)。
【0067】サービスリクエスト信号116がチャネル
CH5のサンプル速度制御ユニット115から受け取ら
れる時間と時間との間に、他のサービスリクエスト信
号、例えば、118、119は、1つまたはそれ以上の
他のチャネルサンプル速度制御器(例えば、117等、
すべては図示されていない)からスキャン制御ユニット
120に到達し得る。例えば、チャネルCH5からの2
つのサービスリクエストの間のある時点で、チャネルC
H6からSR6サービスリクエストが伝送されてくると
仮定する。
【0068】チャネルCH6からのサービスリクエスト
は、チャネルCH5のサービスリクエスト信号(SR
5)が処理されるのと同様に処理される。第1メモリユ
ニット(RAM−1)140のメモリ空間は、個別のエ
リアにさらに分割され、各エリアは、特定のチャネルの
チャネル長LMのサーキュラバッファ(CB)を記憶す
る。例えば、エリア145は、チャネルCH5のサーキ
ュラバッファを記憶する。このエリア145は、CB5
エリアとも呼ばれる。エリア146は、チャネルCH6
のサーキュラバッファCB6(略して示されている)を
記憶する。エリア144は、チャネルCH4のサーキュ
ラバッファCB4(略して示されている)を記憶する。
【0069】チャネルCH6リクエストをサービスする
際に、第1アドレス生成器(AG−1)170は、サー
キュラバッファCB6(146)のバッファ開始アドレ
スで開始するアドレス信号172の有限シーケンスを出
力する。CB6のバッファ開始位置は、サービシング動
作が終了する前に変わる。チャネルCH6のフィルタ長
(LC6、図示されていない)は、チャネルCH5に使用
されるフィルタ長(LC5)以外の値であり得る。示され
る例において、チャネルCH6は、6のフィルタ長を有
していると仮定される。これは、第2メモリユニット1
50を示すブロックのエリア156内に書き込まれたシ
ンボルWa、Wb、Wc...Wfによって示される。同様
に、チャネルCH5は、ブロック150のエリア155
に書き込まれたシンボルWaからWdによって示されるよ
うに、4のフィルタ長(LC5)を有すると仮定される。
同時に、チャネルCH4は、ブロック150のエリア1
54において、対応する重みづけ係数WaからWzによっ
て示されるように、異なるフィルタ長LC4=26を有す
るのが示される。任意のチャネルCHnにおいては、さ
らに大きなフィルタ長(例えば、LCn=256、102
4等)も可能である。
【0070】第1および第2アドレス生成器(AG−1
およびAG−2)は、各チャネル(CH4、CH5、C
H6、...CHn)に関連したフィルタ長(LCn)を
追跡し、各所定のチャネルに対する適切な数のアドレス
を、メモリユニット140および150のそれぞれに連
続して出力する任務が与えられている。
【0071】図3、図4および図5は、アドレス生成器
(AG)チップ270を含む、本発明によるサーキュラ
バッファ(CB)管理システム200の詳細を示す。ア
ドレス生成器チップ270は、単結晶シリコン基板から
なり、基板の上には、CMOS回路(相補形金属−酸化
膜−半導体)が0.8ミクロンの線幅構造で形成され、
40MHz程度のクロック速度で同期して動作する。オ
ンチップメモリ手段(完全には図示されいない)は、ユ
ーザーによって提供された配置命令を記憶するために設
けられている。オンチップマルチプレクサは、ユーザー
によって提供された配置命令に対応するデータ経路を提
供する。
【0072】図3は、CB管理システム200の前端部
を示す。この前端部は、複数のチャネルからチャネルサ
ービスリクエスト116、118、...、119を受
け取り、そのリクエストをローカルクロック(LC)2
20と同期させ、同時に受け取ったリクエストをアービ
トレートする手段を有する。前端部の機能の大半は、A
Gチップ270内の回路によって成し遂げられる。アー
ビトレーションは、オンチップまたはオフチップで行わ
れる。
【0073】図5は、CB管理システム200の後端部
を示す。この後端部は、AGチップ270の20ビット
幅アドレス出力バス(AO)272を通して伝送された
アドレスベクタを受け取るランダムアクセスメモリユニ
ット(RAM−1)240を含む。RAM−1ユニット
240は、1メガワード(220データワード)程度のメ
モリ空間を有し得るが、それよりもさらに小さな記憶容
量をも有し得る。AGチップ270内には、適切なフィ
ールド幅のアドレスベクタを生成するアドレス信号生成
手段が設けられており、24から220のデータワードの
範囲の任意の記憶容量を収容する。この記憶容量は、2
の積分累乗である。
【0074】上記のように、AGチップ270は、ユー
ザープログラム可能である。AGチップは、多数の異な
るアドレスシーケンスパターンを生成するようにプログ
ラムされ得る。サーキュラバッファアドレスシーケンス
は、AGチップ270によって生成され得るシーケンス
の1つの型に過ぎない。サーキュラバッファ管理に使用
されるアドレスシーケンス以外のアドレスシーケンスを
生成するシーケンス生成器は、図5のブロック283に
示されている。ブロック283を装備することは、本発
明の範囲外であるため、その詳細については、M代替シ
ーケンス(Mは、1より大きい整数である)の1つが2
0ビット幅バスを通してオンチップアドレス出力(A
O)マルチプレクサ282に伝送されるということ以外
は記載しないでおく。ユーザーによって提供されたシー
ケンス選択コマンド280aは、オンチップユーザー命
令記憶ファイル280からオンチップシーケンス選択器
281へ伝送される。シーケンス選択器281は、出力
アドレス(AO)マルチプレクサ282を制御する。マ
ルチプレクサ282は、入力のうち選択されたものを2
0ビット幅並列出力バス284に連結する。バス284
は、20ビット幅アドレス出力レジスタ292の入力と
接続している。レジスタ292は、ローカルクロック
(LC)によってクロックされ、チップアドレス出力バ
ス(AO)272を駆動する。
【0075】アドレス−バスマルチプレクサ282に供
給された入力のうちの1つは、20ビット幅並列サーキ
ュラバッファアドレス−出力バス(CBAO)286で
ある。CBAOバス286は、図4に示される20ビッ
ト幅アドレス増分ユニット285によって駆動される。
【0076】図3から図5の詳細は、いくつかの基本構
成要素を見ることによってさらに理解され得る。AGチ
ップ270に設けられている主要構成要素は、以下のも
のである。
【0077】(a)チャネル特異的サーキュラバッファ
長(または他のモードでは、チャネル特異的重複値)を
記憶するために使用される、32×20ビット幅OLの
レジスタファイル210、(b)最大長値LM(または
他のモードでは、他の長値)を記憶するために使用され
る、1×20ビット幅ALMレジスタ212、(c)チ
ャネル特異的バッファ開始ポインタを記憶するために使
用される、32×20ビット幅SPのレジスタファイル
265、(d)システム特異的データ構造を有する絶対
バッファ開始アドレス信号を生成するために使用され
る、可変長フィールドコミュテータ(VFC)275、
(e)連続した絶対バッファアドレス信号のシーケンス
を生成するために使用される連続可変長フィールドアド
レス増分ユニット(VFAI)285、(f)VFC2
75およびVFAI285によって生成された信号のデ
ータ構造を制御するために使用されるフィールドサイズ
制御ユニット205、および(g)減算/加算ユニット
268と組合わさって使用され、SPのレジスタファイ
ル265に記憶されたバッファ開始ポインタを更新す
る、SP更新制御ユニット264。
【0078】これらの主要構成要素の動作については、
順を追って説明する。
【0079】図3を参照すると、チャネルサービスリク
エスト(例えば、SRの116、...、119)は、
5ビット幅直接入力バス221から直接的に、またはよ
り幅の広いバス222と外部アービタ223とを介して
間接的にAGチップ270に入力する。リクエストが直
接入力バス221を介して入力する場合には、AGチッ
プ270は、アービトレーションを内部で行い、5個程
度の独立したチャネルをサービスし得る。リクエストが
外部アービタ223を介して入力する場合には、AGチ
ップ270は、32個程度の独立したチャネルをサービ
スし得る。
【0080】通常、直接および間接入力バス221およ
び222のいずれか1つが使用される。このような場
合、図3に示されるマルチプレクサ225が省略され、
バス221またはアービタ223の出力が、AGチップ
270の5ビット幅サービスリクエスト入力バス271
に直接接続される。
【0081】外部アービトレーションが使用される場合
には、チャネルサービスリクエスト(SRの)は、外部
アービタ223の32本の入力線222の1つまたはそ
れ以上においてアサートされる。外部アービタ223
は、最優先リクエストを選択し、最優先のリクエスティ
ングチャネルのチャネル番号(CHN)を5ビット2進
化数として、(図3に示される外部マルチプレクサ22
5を介して)AGチップ270のリクエスト入力バス2
71に提示する。ユーザープログラム可能外部/内部ア
ービトレーション選択器229は、マルチプレクサ22
5を動作させ、外部アービタ223からの出力を入力バ
ス271まで通過させる。アービタ223からの出力
は、選択的に接続して、チャネルマルチプレクサ110
のシンボリック接極子を作動させる。
【0082】入力バス271は、第1オンチップ入力同
期レジスタ251(5ビット幅)のD入力に接続してい
る。レジスタ251のQ出力は、第2同期レジスタ25
2(同じく5ビット幅)のD入力と接続している。レジ
スタ251および252は、ローカルクロック線(L
C)250によってクロックされる。ローカルクロック
は、40MHz程度の速度で動作し得る。サービスリク
エストは、ローカルクロック(10MHz)の4分の1
程度の速度でチップに適用され得る。
【0083】外部アービタ223は、チップ入力バス2
71に(多重機225を通じて)有効チャネル番号を提
示すると共に、他の入力線273を通じてチップに外部
有効信号を提示する。チップ入力線273は、第3オン
チップ同期レジスタ231(1ビット幅)のD入力に接
続している。レジスタ231のQ出力は、第4同期レジ
スタ232(1ビット幅)のD入力に接続している。第
4レジスタ232のQ出力は、第1二重ポートマルチプ
レクサ233の1つの入力(「A」)をフィードする。
第3および第4レジスタ231および232もまた、ロ
ーカルクロック(LC)によってクロックされる。
【0084】常にすべてが図示されているわけではない
が、構成要素260、234、269、285および2
90などのAGチップ270上の他のすべての同期構成
要素もまた、同一のローカルクロック(LC)によって
クロックされることが理解され得る。
【0085】第2同期レジスタ252の5ビット幅出力
は、第2二重ポートマルチプレクサ258の1つの入力
ポート(「A」)をフィードする。ユーザープログラム
可能オンチップ外部/内部モード選択器259は、マル
チプレクサ233および258を制御する。外部モード
が選択されると、マルチプレクサ233および258の
それぞれの上記の入力ポート「A」および「A」が選択
され、それぞれの出力に連結される。内部モードが選択
されると、マルチプレクサ233および258のもうひ
とつの「B」および「B」入力ポートが出力として選択
される。
【0086】内部アービタ253は、実質的に、外部ア
ービタ223の機能を模倣する。但し、内部アービタ2
53は、わずか5チャネルの処理に限定される。優先化
は、ハードワイヤードである。入力バス271の1つの
ピンは、最優先され、他の4つのピンは、優先順位が順
次低くなっている。5個以下のチャネルを有するシステ
ムは、オンチップアービタ253を使用し得、それによ
って、さもなければ外部アービタ223によって消費さ
れるボードスペースの損失を避ける。サービスリクエス
トは、直接バス221を介して、同期レジスタ251お
よび252を通って、レジスタ252の出力を内部アー
ビタ253の入力に連結する5ビットバス255によっ
て、内部アービタ253の入力側に移動する。他の5ビ
ットバス257は、内部アービタ253の出力を、マル
チプレクサ258のB入力へ連結する。1ビット幅内部
有効線254は、内部アービタ253からの内部有効信
号をマルチプレクサ233のB入力へ伝送する。
【0087】オンチップ選択器259は、内部アービト
レーションモードを選択すると、内部アービタの5ビッ
ト出力257は、マルチプレクサ258を通過して出力
される。線254の1ビット有効信号は、マルチプレク
サ233を通過して出力される。内部アービトレーショ
ンステートデコーダ256は、選択的にAGチップ27
0内に含まれ、もし選択がなされたなら、内部アービタ
253モードが何を選択したのかを外部に指示する。3
ビットバス274は、デコーダ256からチップ270
の内部連結ピンへと延びる。8個の可能なコードステー
トのうち5個は、有効アービトレーション選択を示し、
1つまたはそれ以上のコードステートは、選択的に、無
効選択を示す。バス274は、選択的に接続して、チャ
ネルマルチプレクサ110(図1)のシンボリック接極
子を作動させて最優先チャネルを選択する。
【0088】他の実施態様では、内部アービタ253に
よってなされた選択は、AOバス272の適切な線にハ
ードワイヤードされているチャネル出力バス278(図
5)上に遅延形態で現れる。
【0089】さらに他の実施態様では、内部アービタ2
53は、チャネルマルチプレクサ110を制御しない。
その代わりに、オフチップ回路(図示されていない)が
制御し、チップ入力バス271に、サービスされるチャ
ネルを示す5ビット幅コマンドコードを伝送する。競合
するコードが同時に受け取られると、最優先コードが、
サービスされるチャネルを示すものとして受け取られ
る。内部アービタ253は、単に、チャネルマルチプレ
クサ110が、バス271に示される活性チャネルのう
ち最優先のものに切り換えられることを推定する。
【0090】さらに他の実施態様では、入りデータは、
シェアドデータソースから複数の異なるFIRフィルタ
へ適用される。(マルチプレクサ110は、システム2
00から省略され得る。)複数のフィルタは、異なるフ
ィルタ長、重みづけ要因および/または重複値を用い
て、同一の入りデータ信号105を処理し得る。システ
ム制御ユニット(図示されていない)は、信号を示す活
性チャネルをDSPシステム200のSRn入力端子に
伝送し、どのフィルタまたは複数のフィルタが入りデー
タを処理するかをDSPシステム200に示す。各フィ
ルタの最も新しいサンプル値から最も古いサンプル値ま
でが単一なRAMユニット(140)に記憶されている
ため、1つのフィルタのみが、シェアドデータソースか
ら受け取られた最新のサンプル値114をまず最初に処
理し得る。内部アービタ253または外部アービタ22
3は、どのフィルタが、最新のサンプル信号114をま
ず最初に処理するのかを決定する。
【0091】外部アービトレーションモードが選択さ
れ、有効サービスリクエストコードが外部アービタ22
3に提示されると仮定する。アービタ223からの外部
有効信号出力は、同期レジスタ231、232およびマ
ルチプレクサ233のポート「A」を通して次の1ビッ
ト幅更新リクエスティングレジスタ234の入力側へ出
力される。マルチプレクサ258のポート「A」に提示
されたチャネル番号(CHN)は、同時に、マルチプレ
クサ258を通過して、次の5ビット幅チャネル番号記
憶レジスタ260の入力側に出力される。レジスタ23
4および260は、共にローカルチップクロック(L
C)によってクロックされる。
【0092】マルチプレクサ233(ACRと標識され
る)の出力線238は、オンチップステートコントロー
ラ290(図4)に接続されることにより、「活性チャ
ネルリクエスト」(ACR)の存在を示す。ステートコ
ントローラ290が、ACRがサービスされ得ると判断
すれば、ステートコントローラ290は、LD−1ロー
ド制御信号を、レジスタ234および260のロードコ
マンド端子235に戻す。ステートコントローラ290
が、ACR信号がマルチプレクサ233の出力238に
まだ存在する状態において、チャネル番号記憶レジスタ
260がクロックサイクル中の新しいチャネル番号を受
け取る余裕があると判断すれば、LD−1ロード制御信
号は、high(H=論理真=”1”)となる(後述す
る可変ステートがSV=2ステートからSV=1ステー
トに転移する時、LD−1はhighとなる)。
【0093】LD−1制御線上の論理1(”1”)は、
それがアサートされる対象であるローカルクロックサイ
クル(LC)の開始中に、マルチプレクサ258により
チャネル番号出力をチャネル番号記憶レジスタ260に
付与する。活性LD−1信号はまた、活性チャネルリク
エストがまだ線238上に存在すれば、活性チャネルリ
クエストを更新リクエストレジスタ234に付与する。
【0094】図4を参照すると、更新リクエストレジス
タ234の出力236(「更新開始」と標識される)
は、ポインタ更新論理ユニット264に接続されてい
る。ポインタ更新論理ユニット264は、活性化される
と、開始ポイント(SP)のレジスタファイル265に
保持されたSPの値を更新するために減算器/加算器2
68を用いる3サイクルシーケンス(後述)を実行す
る。3サイクル更新シーケンスは、後述するステート可
変信号SVがSV=0ステートに達して上記ステートか
ら出始めた後に開始される。
【0095】AGチップ270がまず初期化されると、
チップ幅リセット信号RSTが更新リクエストレジスタ
をクリアし、AGチップ270をいわゆる「スリープモ
ード」にする。チップ幅リセット信号RSTはまた、レ
ジスタ251、252、231、および232、SPの
レジスタファイル265、そして後述する出力レジスタ
292をクリアする。
【0096】スリープモードにおいて、SV=0ステー
トは1クロックサイクル毎に連続的に再入力される。論
理highACR信号の検出により、AGチップ270
がスリープモードから解除される。スリープ指示線23
7は、スリープモード指示信号を、ステートコントロー
ルユニット290(図4)から、更新論理ユニット26
4に伝送する。スリープモードが活性であれば、更新論
理ユニット264は、最初から3サイクルのSP更新作
業から阻害される。AGチップ270がスリープモード
でなくアウェイクであり、且つ、3サイクルの更新作業
が初期化された場合、更新論理ユニット264は、SP
のレジスタファイル265にLD−4ロードコマンドを
付与し、それにより、3サイクルの更新シーケンスの終
了時に減算器/加算器268の出力信号(C)を指定さ
れた記憶位置にロードする。シーケンスについては後に
より詳細に記載する。
【0097】レジスタ260の5ビット幅出力261
は、開始ポインタ(SP)のレジスタファイル265の
アドレス入力ポート(AI)にも接続されている。出力
261はまた、パイプラインレジスタ263の入力にも
接続されている。パイプラインレジスタ263の出力2
62は、チャネル重複/長(OL)のアドレス入力ポー
ト(AI)と、可変長フィールドコミュテータ(VF
C)275のF2(フィールド−2)入力ポートとに接
続されている。パイプラインレジスタ出力バス262
は、本明細書において時々、電流−チャネル番号(CH
N)バス262と呼ばれる。後に明白に記載する理由の
ために、パイプラインレジスタ入力バス261は、本明
細書において時々、次チャネル番号(CHN’)バス2
61と呼ばれる。
【0098】LD−2制御信号がステートコントロール
ユニット290から付与されると、パイプラインレジス
タ263は、バス261から新しい値をロードする(後
に明白に記載するように、SV=1ステートからSV=
0ステートへの転移時にLD−2線がhighにな
る)。
【0099】SPのレジスタファイル265は、複数の
32レジスタを含み、32レジスタは各々20ビット幅
を有する。SPのレジスタファイル265は、各々20
ビット幅である32のデータワードを記憶するために用
いられる。既に述べたように、AGチップ270が初期
化されると、チップ幅のリセット信号(RST)が、S
Pのレジスタファイル265内の32のデータワードの
各々を、ゼロ値に初期化する。他の値は、SPのレジス
タファイル265の各位置に、対応するデータ入力(D
I)ポートを介して書込まれ得る。更新論理ユニット2
64から供給されたLD−4制御信号が、3サイクルの
更新作業の終了時に論理high(H)にストローブさ
れる時のみ、書込みが起こる。
【0100】バス261上に存在する5ビット幅のCH
N’信号は、SPのレジスタファイル265のAI(ア
ドレス入力)ポートに接続される。それにより、SPの
レジスタファイル265内の32のレジスタのうちの1
つをアドレスする。SPのレジスタファイル265に記
憶され、その後、CHN’信号261によりアドレスさ
れた20ビット幅の開始ポインタ(SP)は、SPのレ
ジスタファイル265の20ビット幅のパラレルデータ
出力ポート(DO)から、開始ポインタバス266に出
力される。開始ポインタバス266は、可変長フィール
ドコミュテータ(VFC)275のF1(フィールド−
1)入力ポートと、デュアルポートマルチプレクサ26
7の第1の入力ポートとに接続されている。
【0101】可変長フィールドコミュテータ(VFC)
275は、入力F1およびF2に加えて、破線で示すF
3(フィールド−3)入力ポートを有することが図示さ
れている。F3入力ポートは、すべてゼロの2進符号化
信号を受信する。
【0102】可変長フィールドコミュテータ(VFC)
275は、本明細書において生成アドレス信号(GA
S)と呼ばれる20ビット幅の出力信号を生成する。生
成アドレス信号(GAS)は、3つの互いに隣接するデ
ータフィールドDF1、DF2およびDF3を有し、上
記データフィールドは各々、可変ビット幅V1、V2お
よびV3を有する。
【0103】第1のデータフィールドDF1は、VFC
275の20ビット幅のF1入力において存在する開始
ポインタ(SP)の、より下位のビットを少なくとも含
む。第1の可変幅V1は、4ビットから20ビットの範
囲の任意の値に設定され得る。V1が20に等しい場合
は、第1のデータフィールドDF1は、入力フィールド
F1の全ビットを含み、且つ、第2および第3のデータ
フィールドDF2およびDF3は、VFC275により
バス276に出力された20ビット幅の生成アドレス信
号(GAS)内に存在しない。
【0104】第2のデータフィールドDF2が生成アド
レス信号(GAS)内に存在する場合、第2のデータフ
ィールドDF2は、VFC275の5ビット幅の入力F
2に与えられたチャネル番号(CHN)を表す。第2の
可変幅V2は、0ビットから5ビットの範囲の任意の値
に設定され得る。V2が5ビットに設定されている場
合、DF2はF2の5ビット全部を含む。V2が0ビッ
トに設定されている場合、DF2は生成アドレス信号
(GAS)内に存在しない。
【0105】第3のデータフィールドDF3が生成アド
レス信号(GAS)内に存在する場合、第3のデータフ
ィールドDF3は、バス276上を伝送される、20ビ
ット幅の生成アドレス信号(GAS)のより上位の端部
における、論理ゼロ(”0”)のパッディングを表す。
第3の可変幅V3は、0ビットから16ビットの範囲の
任意の値に設定され得る。フィールドサイズ制御ユニッ
ト205からVFC275に供給されるフィールドサイ
ズ制御信号207は、可変フィールド幅V1およびV
2、そしてデフォルトの場合はV3の値を決定する(V
3=20−[V1+V2])。
【0106】可変長フィールドコミュテータ(VFC)
275の1つの実施態様においては、F3入力は実際に
は存在しなくてもよい。何故なら、DF3データフィー
ルドを満たすゼロは、SPのレジスタファイル265に
より出力される20ビットの開始ポインタのゼロにされ
た上端部から得られるからである。このメカニズムにつ
いては図8に関連して後述する。現時点では、システム
200の操作が容易に理解できるように、先ず、VFC
275上にゼロフィールド(F3)入力ポートが存在
し、またこのF3入力ポートがVFC275にゼロ入力
信号を供給すると仮定する。
【0107】VFC275から延長する出力バス276
はB00からB19と標識される20本のラインを有す
る。ラインB19は生成アドレス信号(GAS)の最上
位桁ビットを搬送し、ラインB00がGASの最下位桁
ビットを搬送する。GASの各ビットもまた各々B00
からB19として示される。
【0108】VFC出力バス276のラインB00から
B19は、アドレス増分(VFAI)ユニット285の
「B」入力ポートに接続する。以後、ユニット285
は、後に明かとなる理由により「連続可変長フィールド
アドレス増分器」と呼ぶ。
【0109】生成アドレス信号(GAS)は、LD−B
として示されるロード制御信号が論理high(H)の
とき、アドレス増分ユニット285の内部レジスタにロ
ードされる。LD−B信号はステートコントローラ29
0により供給される。生成アドレス信号(GAS)がV
FAIユニット285にロードされると、VFAIユニ
ット285は、VFC275から受け取ったDF2およ
びDF3データフィールドを前述のVFAIユニット2
85の内部レジスタに保存する。またDF1フィールド
も最初のクロックサイクルの間に保存され、引き続くサ
イクルで、ローカルクロック(LC)と同期して、+1
づつ順次増分される。増分は、同様にステートコントロ
ーラ290により供給される増分可能信号(INCRE
N)がhigh(H)である限り続く。
【0110】可変長フィールドアドレス増分器(VFA
I)285については2つの実施態様がある。1つの実
施態様においては、VFAI285は、VFC275か
らDF1、DF2、およびDF3フィールドを受け取っ
た後、これらのコピーを保持する。この結果、可変長フ
ィールドコミュテータ(VFC)275はVFAI28
5にアドレス信号(GAS)をロードした後、新しいG
ASの生成を自由に始めることができる。第2の実施態
様では、VFAI285は、VFC275により出力さ
れたDF2データフィールドを調べて、どのチャネルと
通じているかを決定する。VFAI285の第2の実施
態様を使用するときは、VFAI285が、所定のチャ
ネルに属するアドレス信号シーケンスの最後のアドレス
信号についてのCBAOバス286への自らの出力を終
える前に、VFC275は新しいDF2チャネルフィー
ルドをバス276に出力すべきではない。
【0111】図3、図4、および図5をこの順序で参照
すれば、AGチップ270は本質的には6段階パイプラ
イン構造を有することが分かる。段階1はレジスタ25
1(およびレジスタ231)への入力で始まる。段階2
はレジスタ252(およびレジスタ232)で始まる。
段階3はレジスタ260(およびレジスタ234)で始
まる。段階4はSPのレジスタファイル265(および
パイプラインレジスタ263)への入力で始まる。段階
5はバス276のVFAI285への接続で始まる。段
階6はAOマルチプレクサ282の出力レジスタ292
への接続で始まる。
【0112】パイプライン開始準備期間はLC(ローカ
ルクロック)6サイクルに等しい。段階6のパイプライ
ンが満たされると、サービスリクエスト(SR7、SR
8、...、SRn)が遅延なく次々と連続して処理され
得る。段階1および段階2(図3)は、受け取ったサー
ビスリクエストをローカルクロック(LC)と同期させ
るために、および準安定性の問題を避けるために使用さ
れる。段階3(レジスタ260および234)では、S
Pの更新操作の初期化、および既存の開始ポインタ(S
P)信号の段階4への送信が行われる。段階4(26
3、265、および275)では、VFC275により
生成されるアドレス信号(GAS)が段階5に送信され
る。段階5(VFAI285)では、必要なアドレス信
号シーケンスが生成される。段階6では、生成されたシ
ーケンスの各アドレス信号がAOバス272上に有効に
保持される。
【0113】段階5は、VFAI285からバス286
上に出力される20ビット幅信号(CBAO)の一部ま
たはすべてを、修正された制限値L’Mと比較する。
L’MはLMマイナス1に等しい(L’M=LM−1)。C
BAO信号(286)の下桁のV1ビットは、ユニット
206により修正された制限値L’Mに対して試験され
るCBAO部分を形成する。この部分は記号CBAO−
−V1’:00(V1’=V1−1)により表される。
制限状態に達すると(CBAO−−V1’:00=L’
M)、可変長コンパレータ206はVFAI285に可
変幅リセット信号287を発信する。可変幅リセット信
号287は、アドレス増分ユニット285内に保持され
ているカウントのCBAO−−V1’:00部分をリセ
ットする。CBAO信号(286)の、V2ビット幅で
ありまたDF2データフィールドに対応する部分が保存
される。CBAO信号(286)の、V3ビット幅であ
りまたすべてゼロのDF3データフィールドに対応する
部分は保存またはゼロにリセットされる。フィールドサ
イズ制御ユニット205はフィールドサイズ制御信号2
08をVFAIおよびコンパレータ206に供給し、フ
ィールド幅値V1および/またはV1’および/または
V2および/またはV3を特定する。
【0114】アドレス増分ユニット(VFAI)285
から出力される20ビット幅のサーキュラバッファアド
レス出力信号(CBAO)286は、既述のようにシー
ケンス選択マルチプレクサ282(図5)に接続する。
これはまた既述のようにコンパレータ206(図4)の
一方の入力に接続する。コンパレータ206のもう一方
の入力209は最大バッファ長さ値マイナス1、LM
1を表す修正制限信号L’Mを受け取る。
【0115】最大長さ値LMはユーザにより計算され、
ALMレジスタ212に記憶される。LMは、システム
が提供する予定のチャネル数に等しいまたはこれより大
の、2の累乗(例えば、1、2、4、8、16、または
32)に最も近い値により分割されるRAMユニット2
40の記憶容量に等しく設定されるべきである(LM
MEMSIZE/NCHS)。例えば、サービスチャネ
ル数が7のとき、NCHSは、2の累乗に等しいまたは
これより大の最も近い値である8に設定される。RAM
ユニット240(図5)のメモリスペースは、各々がL
Mデータ語長を有する8つのセクションに分割される。
最初の7つのセクションは各々7つのチャネルのサーキ
ュラバッファを保持し、8番目のセクションは使用され
ない。
【0116】ALMレジスタ212はそのLM信号をバ
ス213に沿ってB側減分器219に出力する。B側減
分器219は、受け取られたLM信号を1つだけ減分
し、また減分された信号L’Mをマルチプレクサ215
のB入力ポートに供給するための組合せ論理を含む。同
様の構造のA側減分器218は、バス211に沿ってO
Lのレジスタファイル210のデータ出力(DO)を受
け取り、受け取った信号を1つだけ減分してL’Cn信号
を生成し、減分された信号をマルチプレクサ215のA
入力ポートに供給する。
【0117】マルチプレクサ215の20ビット幅の平
行出力は、AおよびB入力ポートに存在する信号の中か
ら選択される信号を、各々バス288および209を介
してダウンカウンタ289およびコンパレータ206に
供給する。マルチプレクサ215は命令ユニット280
(図5)から送られる命令信号により制御される。
【0118】第1の操作モード(いわゆるFFT−CB
uffモード)においては、マルチプレクサ215はB
入力ポートに存在するL’CN信号を必ず出力側に通すよ
うに制御される。
【0119】第2の操作モード(いわゆるFIR−CB
uffモード)においては、マルチプレクサ215はA
入力ポートに存在するL’C信号を必ず通過させるよう
に制御される。マルチプレクサ215からの出力信号
L’(Cn)=L’Cn=L’Cn -1は、バス288を経てダウ
ンカウンタ289に移動する。ダウンカウンタ289
は、連続するクロックサイクルの間に、受け取られたカ
ウント値L’Cnをロードし、その値からゼロ値までゼロ
値も含めてカウンドダウンし、これによりLCn制御ステ
ートの全体をカウントする。
【0120】同時に、減分器219からの出力信号
(L’M=LM−1信号)はバス209を経てコンパレー
タ206へ移動し、次のLCn回のクロックサイクルの間
続けてコンパレータ206に供給される。LMはコンパ
レータ206に入力される前に減分される。これは、メ
モリユニット240内のチャネル番号CHnのためのバ
ッファ領域の範囲を画定するLM個のRAMの位置が、
各々アドレスCHn−−00からCHn−−[LM
1] を有するためである。コンパレータ206が最終
アドレスCHn−−[LM−1]を検出すると、位置C
Hn−−00への循環が行われる。
【0121】フィールド制御ユニット205は、受け取
った2つの信号NCHSおよびMEMSZから各々フィ
ールドサイズ制御信号207および208を生成する。
5ビット幅のチャネル数レジスタ201がフィールドサ
イズ制御ユニット205にNCHS信号を供給する。N
CHS信号は、RAMユニット240内に受容可能なサ
ーキュラバッファ領域数を表す。
【0122】19ビット幅のメモリサイズレジスタ20
4は、21ビット幅のMEMSZ信号の上桁部分をフィ
ールドサイズ制御ユニット205に供給する。21ビッ
ト幅のMEMSZ信号はRAM−1ユニット240の記
憶容量を表す。2の累乗の増分には22から220までの
許容可能なメモリサイズがある。21ビットMEMSZ
信号の最下桁の2ビットはいつでもゼロである。
【0123】図5に、RAM−1内のメモリの利用ステ
ートをブロック240内に示したデータ構造により示
す。RAM−1ユニット240のメモリスペースは、各
々長さがLMの同じサイズのバッファ領域に分割され
る。バッファの境界は下桁部がゼロのメモリ位置で行わ
れる。所定のチャネル番号CHnのためのバッファ内の
最も低いアドレスを有する位置はCHn−−00および
「a」と呼ばれる。所定のチャネル番号CHnのための
バッファ内の最も高いアドレスを有する位置はCHn−
−L’Mおよび「z」と呼ばれる。従って長さ値LMはメ
モリブロックCHn−−00からCHn−−[LM
1]内の独自にアドレス可能なメモリ位置の数に等し
い。RAM−1ユニット240内に定義されるサーキュ
ラバッファの数は1から32の範囲の整数値であり得
る。最大ブロック長さLMは、メモリユニット240の
記憶容量およびサービスチャネル数(2の累乗に最も近
い値に切り上げ)に応じて変動する。
【0124】RAM−1ユニット240のサーキュラバ
ッファ内に記憶された個々のデータ語は、対応するチャ
ネル番号(CHN=0、1、2、...1F)を取り出
し、これに最大長さ値(LM)を掛け、またLMより小さ
い値(−−xx)を有する正のオフセットを加えること
によりアドレスし得る。最大長さ値LMは好ましくは、
2から220の範囲の2の累乗に等しい。
【0125】VFC275(図4)はこのような機能を
行う。これは、パイプラインレジスタ出力バス262か
ら現在のチャネル番号(CHN)を、またバス266か
ら相対オフセットすなわち「開始ポインタ(SP)]を
受け取ると、バス276に絶対バッファ開始アドレス
(GAS)を生成する。VFAI285は、VFC27
5から受け取る生成アドレス信号(GAS)の下桁V1
ビットのみを変更する増分機能を行うことによってこの
アドレス操作スキームを永続化させる。
【0126】RAM−1ユニット240内の各サーキュ
ラバッファ領域は、長さLCn(nは16進法領域0ー1
Fにおけるチャネル番号)のアクティブ領域と長さLM
−LC nの自由領域にさらに分割される。
【0127】例えば、RAM240の領域241につい
てみると、領域241はチャネル番号ゼロ(CH0)の
ためのサーキュラバッファを記憶する。バッファ領域2
41の最上部に示した位置(領域241内の最小アドレ
ス値を有する位置)は相対位置「a」または絶対表示の
CHO−−00として示される。バッファ領域241の
最下部の位置(領域241内の最大アドレス値を有する
位置)は相対位置「z」または絶対表示のCH0−−
[LM−1]として示される。
【0128】チャネルCH0のフィルタ長さLC0が4に
等しい場合、最初のリクエストサービス操作(サービス
番号1)は最も新しいサンプル値114(図1)を位置
「a」に書込み、位置「b」、「c」、および「d」か
ら記憶された値を読み出す。サービス番号1の間は、チ
ャネルCH0バッファ領域の位置「e」から位置「z」
までのメモリ領域242はフリースペースとして定義さ
れる。しかし、サービス番号2の間は、バッファ領域2
41の位置「z」は、バッファ開始位置および書き込み
が行われる第1の位置となる。次に、位置a、b、およ
びcが読み出される。位置dからyまでは、サービス番
号2の間のバッファのフリースペースとして定義され
る。
【0129】チャネルCH0バッファ領域241の位置
「z」の直ぐ後には、チャネル−1バッファ領域243
の位置「a」がくる。チャネル−1の位置「a」はまた
CH1−−00とも示される。フィルタ長LC1がバッフ
ァ領域243に割り当てられる。フィルタ長LC1は、C
H0バッファ領域241のフィルター長LC0と同じでも
異なってもよい。各バッファ領域241、243などは
最小フィルタ長4および最大長LM(4≦LCn≦LM)を
有する。
【0130】AGチップ270の初期化が行われると、
各チャネルの第1チャネルサービスが、チャネルのバッ
ファ領域内の各々のチャネル位置CHn−−00(位置
「a」)に書込みを始める。これは、初期化によりSP
のレジスタファイル265にリセット(RST−1)が
与えられるためである。これにより、すべてのチャネル
のための最初のバッファ開始ポインタが各々の位置CH
n−−00(n=0からNCHS−1)に自動的に設定
される。
【0131】この後の各々のリクエストサービスに対し
ては、対応するチャネルCHnに対するバッファ開始位
置は1段階後退する。FIR−CBuffモードでは、
通常は1つの位置だけ後退する。FFT−CBuffモ
ードでは、段階の後退はチャネル特異的であり、所定の
チャネルに対しては1つ以上の位置を後退し得る。
【0132】FIR−CBuffモードがアクティブで
あり、いつでも1つの位置だけ後退すると仮定すると、
すべてのチャネルCHnの第2のサービスでは、各々の
バッファ領域の位置「z」が第1の書込み位置となる。
この後、同じバッファ領域の各々の位置「a」、
「b」、「c」などから複数のLCn−1の読出しが行わ
れる。
【0133】引き続くサービス操作では、バッファ開始
位置は位置「y」、「x」、「w」などに後退する。位
置「a」に達すると、位置「z」まで戻って循環され
る。
【0134】有効なチャネル番号(CHN)がバス26
2に供給されている間、OLのレジスタファイル210
は対応するフィルタ長さ(または重複値)OLCnを20
ビット幅の平行バス211に出力する。前述のように、
バス211はA側減分器218、および別のマルチプレ
クサ217(以後、B側更新マルチプレクサ217と呼
ぶ)の入力に接続する。B側更新マルチプレクサ217
の第2の入力はレジスタ212の出力213を受け取
る。レジスタ212は、その内容が、前述のように各バ
ッファ領域の最大長さLM、または交互フィルタ長さ値
(AL)のいずれかまたは両方を表すため、ここでは交
互長さ/最大長さ(ALM)レジスタ212と呼ぶ。交
互フィルタ長さ値(AL)はFFT−CBuffモード
時にはチャネル特異的バッファ長さ値LC0−LCnの代わ
りに使用される。FFT−CBuffモードがアクティ
ブのときは、OLのレジスタファイル210の内容は、
チャネル特異的重複値を表す。OLのレジスタファイル
210およびALMレジスタ212の内容はユーザによ
りプログラム可能である。
【0135】ダウンカウンタ289はローカルクロック
(LC)により計時される。ステート変数値SVを減分
値L’Cn(FIR−CBuffモード時にで受け取る)
またはL’M(FFT−CBuffモード時に受け取
る)からゼロまでカウントダウンし、これにより、LCn
ステート(FIR−CBuffモード時)またはLM
テート(FFT−CBuffモード時)のすべてをカウ
ントして、等しい数のアドレス信号をVFAI285か
ら出力させる。
【0136】SVが0カウントに近づくときアクティブ
チャネルリクエスト(ACR)ラインが論理ゼロ
(「0」)である場合は、ステートコントローラ290
はスリープモードをアサートし、ライン237にこのモ
ードを与える。SVが0カウントに近づくときスリープ
モードがアサートされる場合は、ステートコントローラ
が論理真ACR信号238(図3)を認識し、これに反
応してスリープモードを非アクティブ化するまで、SV
はゼロのままである。
【0137】増分可能ラインINCRENは、SVが
L’Cnからゼロに等しいステートの間はhighに保持
される。SV=0ステートに入るとINCRENはlo
wに移行する。これにより、SV=0ステートに対応す
る出力アドレスのとき、VFAI285で実行されるア
ドレス増分機能が停止する。
【0138】所定のチャネルのためのアドレスシーケン
スの末部に達するとき、増分可能ラインINCRENは
必ずしもlowに保持されてはいない。前のチャネルC
nのためのステートゼロカウント(SV=0)が正に終
了するとき、ダウンカウンタ289には新しいチャネル
番号Cn’に対応する新しいステート値SV=L’(C
n’)がロードされる。このような途切れのない移行
は、ステート制御ユニット290がSV=2ステート時
にACRライン上に論理high状態を検出するとき起
こる。SV=1ステートの開始時には、ステート制御ユ
ニット290はレジスタ260および234(図3)に
LD−1パルスを発信する。
【0139】新しいチャネル番号Cn’がレジスタ26
0にロードする。アクティブチャネルリクエスト(AC
R)がレジスタ234にロードする。前のチャネル番号
CnのためのステートSV=0が終了するとき、チャネ
ルCn’のための新しい長さ値L’Cn'がマルチプレク
サ215の出力において有効になる。チャネルCn’の
ための新しい生成アドレス信号(GAS)が可変長フィ
ールドコミュテータ(VFC)275の出力において有
効になる。
【0140】SV=0ステートの終了時、新しいL’
Cn'カウントがダウンカウンタ289にロードする。同
時に、新しい生成アドレス信号(GAS)がVFAI2
85にロードする。(ユニット290はVFAI285
にLD−B信号を発信する。)新しいチャネル番号C
n’のためのアドレスシーケンス生成プロセスは正に次
のクロックサイクルから始まる。チャネルCnのための
サービスの開始からチャネルCn’のサービスまでを調
べると、ステート制御ユニット290のステート移行フ
ローは、SV=L’Cn、...3、2、1、0、L’
Cn'、...3、2、1、0で表される連続シーケンス
に従う。L’Cnのカウントダウンシーケンスから次の
L’Cn'カウントダウンシーケンスへの切り替えが行わ
れるため、INCERNラインはステートSV=0時に
おいてのみlowとなる。連続可変長フィールドアドレ
ス増分ユニット(VFAI)285は、2つのチャネル
サービス間のクロックサイクルをとばすことなくアドレ
ス信号を連続して出力する。
【0141】減分器218および219はオプションで
ある。これらは重複/チャネル長さ(OL)レジスタフ
ァイル210のユーザプログラミングを簡略化するため
に、および最大長さ/交互長さ(ALM)レジスタ21
2のユーザプログラミングを簡略化するために加えられ
る。減分器218および219がAGチップ270に含
まれていないときは、ユーザは実際のフィルタ長さより
小さい値をOLのレジスタファイル210に、また最大
フィルタ長さより小さい値をALMレジスタ212にロ
ードしなければならない。後の記述により明かとなるよ
うに、開始ポインタ更新プロセスの循環ハンドリング部
もまた修正されねばならない。
【0142】現在のチャネル番号Cnのためのレジスタ
ファイル265のバッファ開始ポインタ(SP)は、レ
ジスタ260が新しいチャネル番号値CnまたはCn’
をロードする最初のサイクルで更新される。
【0143】これら3回の更新サイクルの最初のサイク
ルに先立つローカルクロックサイクルでは、SPのレジ
スタファイル265内のデータ語がアドレスされ出力さ
れる。
【0144】最初の更新サイクルでは、除算器/加算器
268は除算モードにおかれ、結果C=A−B(Aおよ
びBはユニット268の2つの20ビット幅入力ポート
であり、Cは20ビット幅出力ポート)を生成する。こ
のときF1バス266上に存在するSP出力信号は、A
側マルチプレクサ267を介して除算器/加算器268
の「A」入力ポートに移動する。同時に、F1信号(バ
ス266)およびCHN信号(バス262)はVFC2
75を通して移動し、対応する生成アドレス信号(GA
S)を生成し、これはアドレス増分ユニット(VFA
I)285にロードされる。F1信号が第2の更新サイ
クルの開始時にVFAI285にロードされる。
【0145】これが第1更新サイクル中に発生すると、
第1ポインタ更新値は、同時に、B側マルチプレクサ2
17を通過して減算器/加算器268の「B」入力ポー
トに伝送される。減算器/加算器268は、その「C」
出力ポートで対応の結果を生成する。この結果は、第1
更新サイクルの終了時に、アキュムレーティングレジス
タ269に記憶される。(この事象は、論理ユニット2
64からレジスタ269へと延長するLD−3線をスト
ローブすることによって信号伝送される。)説明を容易
にするために、第1ポインタ更新値をプラス1(+1)
と仮定する。B側マルチプレクサ217は、第1ポイン
タ更新値として他の値を交互に選択し得る。この選択に
ついては、後に記載する。
【0146】減算器/加算器268の「C」出力ポート
は、SPのレジスタファイル265のデータ入力ポート
(DI)をフィードする。「C」出力ポートはまた、2
0ビット幅アキュムレーティングレジスタ269の入力
を駆動する。減算器/加算器268の個別の実行ポート
(CY)は、バス239を介して更新制御ユニット26
4のプラス/マイナスクロスオーバ検出入力(+/−)
に接続している。
【0147】アキュムレーティングレジスタ269の出
力は、A側マルチプレクサ267の第2入力に接続して
いる。A側およびB側マルチプレクサ267および21
7は、それぞれ、更新制御ユニット264の4ビット幅
制御バスから供給される更新選択信号USEL−Aおよ
びUSEL−Bによって制御される。
【0148】減算器/加算器268の出力は、第2更新
サイクルにおいて、SPのレジスタファイル265にロ
ードしない。その代わりに、ユニット268は、第2サ
イクルにおいて加算モードに置き換えられ、結果C=A
+Bを生成する。レジスタ269に蓄積された結果は、
A側マルチプレクサ267を通して減算器/加算器26
8の「A」入力ポートに転送される。同時に、B側マル
チプレクサ217は、(更新制御器264からの信号U
SEL−Bによって)第2ポインタ更新値として4つの
入力線のうちの1つを選択するように指令される。第2
ポインタ更新値は、減算器/加算器268の「B」入力
ポートに適用される。B側マルチプレクサ217の選択
可能入力は、LM、+1、0およびOLのレジスタファ
イル210によって出力されたOLCn値である。
【0149】0入力が選択されると、何も起こらず、第
3更新クロックサイクルの開始時にレジスタ269の結
果がレジスタファイル265に書き込まれる。従って、
減算器/加算器268から出力される最終結果は、第2
更新クロックサイクルの終了時にSP=SP−1+0と
なる。
【0150】第2更新サイクルにおいて、マルチプレク
サ217の+1入力が選択されると、第2更新サイクル
の終了時に減算器/加算器268から出力される結果
は、SP=SP−1+1となる。この結果は、第1更新
サイクルの開始時にレジスタファイル265から最初に
出力されたバッファ開始ポインタSPの値と等しい。
【0151】OLCn値が第2更新サイクル中に選択され
ると、減算器/加算器268から出力される最終結果
は、第2更新クロックサイクルの終了時にSP=SP−
1+OLCnとなる。
【0152】LM値が選択されると、減算器/加算器2
68から出力される結果は、第2更新クロックサイクル
の終了時にSP=SP−1+LMとなる。この最終動作
を利用して、例えば、CH1バッファエリア243(図
5)のバッファ開始が「a」位置から「z」位置に切り
替わる際に発生するべきバッファエリアアドレス循環を
実行する。アドレスCH1−−00が1だけ減分する
と、新しいアドレスは、CH0バッファエリア241の
「z」位置を指し示す。これは、サービスチャネルCH
1の誤ったバッファエリアである。更新制御器264の
プラス/マイナスクロスオーバ検出入力が、減算器/加
算器268の出力においてポジティブな結果からネガテ
ィブな結果への切り替え(例えば、0から−1)を検出
すると、これに応答して、更新制御ユニット268は、
第2更新サイクルにおいてマルチプレクサ217のLM
入力を選択する。これにより、最終結果LM位置は高い
方(1バッファエリア前方)へシフトされ、CH1バッ
ファエリア243の「z」位置を正確に指し示すポイン
タ値を生成する。
【0153】第3更新クロックサイクルの開始時に、L
D−4線は、更新制御ユニット264によってストロー
ブされ、減算器/加算器268によって出力された値
は、第3更新サイクル中に、レジスタファイル265の
位置CHNに記憶されたSP値をオーバーライトする。
【0154】要約すると、ポインタ更新動作は、図11
のステートフローチャートの下側に示される3つのクロ
ックサイクルを消費する。第1サイクルは、レジスタ2
65から現在の開始ポインタSPを読み出し、その開始
ポインタSPを減算器/加算器268に第1通過させる
のに使用される。第1通過では、減算器/加算器268
は、減算モードにある。第2サイクルは、開始ポインタ
SPを減算器/加算器268に第2通過させるのに使用
される。第2通過では、減算器/加算器268は、加算
モードにある。第3更新サイクルは、新しいSP値をレ
ジスタファイル265にロードさせるのに使用される。
ポインタ開始レジスタファイル265の更新は、ダウン
カウンタ289におけるステート可変ダウンカウンティ
ングと同時に発生する。更新サイクル1は、図11でS
V=L’Cnとして定義されるステートと同時に発生す
る。更新サイクル2は、SV=L’Cn−1として定義さ
れるステートと同時に発生する。更新サイクル3は、S
V=L’Cn−2として定義されるステートと同時に発生
する(L’Cn=3では、ステートSV=L’Cn−1は、
ステートSV=2と同一であり、ステートSV=L’Cn
−2は、ステートSV=1と同一である)。
【0155】各チャネルの最小フィルタ長は、4と特定
される。なぜなら、SP更新動作を完了するのに3サイ
クル必要であり、2の次の最高累乗は、4であるからで
ある。これは、過度の制限とは見なされない。なぜな
ら、大抵のFIRフィルタは、4よりはるかに大きなフ
ィルタ長を有しているためである。
【0156】サービスリクエストがAGチップ270に
よって処理され得る最大速度は、更新オーバーヘッド
(1リクエストにつき4サイクル)、またはもしそれよ
りも大きい場合には、様々なチャネルのフィルタ長によ
って決定される。LCnのフィルタ長を有するチャネルC
HnをサービスするのにLCnクロックサイクル必要であ
る。
【0157】第1更新サイクルでB側マルチプレクサ2
17がOLバス211を減算器/加算器268の「B」
入力ポートに連結するとき、AGチップ270は、重複
モードにあると言われる。(FFT−CBuffモード
は、重複モードを含む。)OLのレジスタファイル21
0の出力は、現在のチャネルCnの重複値OLCnと呼ば
れる。マルチプレクサ215は、重複モードが活性なと
きに、減分器219の出力を実際のフィルタ長LCnのソ
ースとして選択するように動作するのが好ましい。同一
の値はまた、最大バッファ長LMとして作用する。この
ような場合、すべてのチャネルについて、フィルタ長L
Cnは一定に保たれ、最大バッファ長LMと同一である。
しかし、重複値OLは、チャネルからチャネルへと変化
し得る。
【0158】可変長フィールドコミュテータ(VFC)
275の出力は、以下のいずれかの時点でアドレス増分
ユニット285にロードする。すなわち、前のチャネル
のSV=0カウントがちょうど完了するときか、または
未処理の活性チャネルリクエスト(ACR)が存在しな
い場合には、レジスタ260に新しいチャネル番号がロ
ードされ、VFC275がそれに対応する生成アドレス
信号(GAS)を生成した後である。
【0159】循環処理機構は、SP更新機能に対して設
けられているように、VFAI285に設けられてい
る。位置「w」が所定のチャネルサービシング動作のバ
ッファ開始であり、フィルタ長が4より大きいと仮定す
る。アドレス信号は、チャネルバッファエリア(例え
ば、243)の相対位置x、yおよびzを通してVFA
I285シーケンスから出力されるため、バッファエリ
アの最終位置CHn−−L’Mに到達する。この時点
で、アドレス増分ユニット285は、同一バッファエリ
ア(例えば、243)の頂部の「a」位置に戻って循環
しなければならない。コンパレータ206は、アドレス
値CHn−−L’Mとの一致を検出し、その時点で可変
幅リセット信号287をアドレス増分ユニット285に
伝送する。CHn−−L’Mアドレス信号の出力からC
Hn−−00アドレス信号の出力への移行は、連続して
いる。後者は、クロックサイクルにおいて、前者に次い
で即座に発生する。
【0160】図6は、連続可変長フィールドアドレス増
分ユニット285の実施態様をさらに詳細に示す。20
個のフリップフロップ300、301(図示されていな
い)、...318および319のセットは現在のサー
キュラバッファアドレス出力(CBAO)のビットA0
0、A01(図示されていない)、...、A18およ
びA19のそれぞれを記憶する。これらの装置300か
ら319のそれぞれは、ローカルクロック(LC)によ
ってクロックされる同期D型フリップフロップである。
フリップフロップ300から319のQ出力は、20ビ
ット幅増分器(INCR)320の入力に連結してい
る。増分器320は、組合せ論理ブロックである。この
組合せ論理ブロックは、入力値Aプラス1を示す20ビ
ット幅出力信号A’(A’=A+1)を生成する。増分
器出力A’の個々のビットは、それぞれA’00から
A’19と標識される。
【0161】20個の4入力幅マルチプレクサ330か
ら349(すべては図示されていない)には、直列のフ
リップフロップ300から319における対応のフリッ
プフロップのD入力に連結されたマルチプレクサ330
から349のそれぞれの出力が設けられている。マルチ
プレクサ330から349のそれぞれはまた、フロー制
御マルチプレクサと呼ばれる。
【0162】マルチプレクサ330から349のそれぞ
れの4つの入力は、A、A’、BおよびCと標識され
る。フロー制御マルチプレクサ349の入力における接
続は、他のマルチプレクサ330から348における接
続を例示している。マルチプレクサ349のA入力は、
フリップフロップ319のQ出力に接続している。マル
チプレクサ349のA’入力は、増分器320のA’1
9出力に接続している。マルチプレクサ349のB入力
は、VFCバス276からビットB19を受け取る。マ
ルチプレクサ349のC入力は、関連のチャネル保存マ
ルチプレクサ379から0またはチャネル識別ビット
(CHID19)を受け取る。全部で20個のチャネル保
存増分器360から379が存在し、フロー制御マルチ
プレクサ330から349のそれぞれに対して1つのチ
ャネル保存マルチプレクサが設けられている。
【0163】4ビット幅制御バス380は、フロー制御
マルチプレクサ330から349のそれぞれの動作を制
御する。制御バス380は、4つの相互エクスクルーシ
ブモードを有し、それぞれSELA’、SELC、SE
LAおよびSELBと標識される。
【0164】制御バス380モードは、低から高の順:
SELA’、SELC、SELAおよびSELBに従っ
て優先される。低優先モードは、より高い優先モードの
作動によってオーバーライドされる。
【0165】SELA’モードは、他のモードSEL
C、SELAまたはSELBの1つが作動しなければ、
活性状態にある。活性状態にあると、SELA’モード
は、アドレス増分ユニット285を自動増分モードに押
し出す。増分器出力A’19は、データフローマルチプ
レクサ349を通過し、各クロックサイクルの開始時に
フリップフロップ319へロードする。フリップフロッ
プ319の出力A19は、それによってすべてのクロッ
クサイクルを増分させる。ANDゲート381は、SE
LA’信号を生成する。ゲート381は、SELC線、
SELA線およびSELB線にそれぞれ連結された3つ
の反転入力を有する。SELC、SELAおよびSEL
Bのすべてが活性(論理「1」)であると、SELA’
は、不活性(論理「0」)となる。さもなければ、SE
LA’は、活性状態(論理「1」)にある。
【0166】SELCモードは、制限等価条件(EQL
M=1)に遭遇するサイクル後のクロックサイクルにお
いて、ゼロまたは対応するチャネル識別ビットをフリッ
プフロップ300から319にロードする。フリップフ
ロップ319のQ出力からマルチプレクサ379の入力
までの破線接続によって示される1つの実施態様では、
対応チャネル識別イネーブル制御ビット(CHID
19)が活性ならば、チャネル保存マルチプレクサ37
9は、A19出力をマルチプレクサ349のC入力に戻
す。さもなければ、チャネル保存マルチプレクサ379
は、論理「0」をマルチプレクサ349のC入力に伝送
する。戻されたA19ビットは、以前にVFC275か
らマルチプレクサ349のB入力を通してVFAI28
5に通過したチャネル識別ビットCHID19と同一であ
る。従って、マルチプレクサ379の非ゼロ入力は、挿
入的に「(CHID19)」と標識される。
【0167】VFAI285の第2実施態様では、破線
で示される挿入(CHID19)接続は除去され、CHI
19ビットは、生成アドレス信号(GAS)バス276
から直接マルチプレクサ379に取り込まれる。この第
2実施態様では、VFC出力のチャネル識別部DF2
は、VFAI285が同一チャネルをサービスしている
限り一定でなければならない。図4を参照すると、この
ことは、VFAI285が所定のチャネルのニーズをサ
ービスしている間、パイプラインレジスタ263のCH
N出力262を一定に保つことによって成し遂げられ得
る。
【0168】制限等価は以下のようにして検出される。
20個のエクスクルーシブNORゲート(XNORゲー
ト)が、フリップフロップ300から319のそれぞれ
の出力に対して1つずつ設けられている。例えば、フリ
ップフロップ319のA19出力ビットは、エクスクル
ーシブNORゲート388の1つに接続している。エク
スクルーシブNORゲート388の他の入力は、減分器
218から対応の改変制限ビットL’M19を受け取る
(図4)。従って、XNORゲート388は、アドレス
ビットA19と制限ビットL’M19とを比較する。同様
の接続が、他のXNORゲートでなされ、各アドレスビ
ットAnと制限ビットL’Mnとを比較する。チャネル識
別ビットCHIDnが(VFC275または保持マルチ
プレクサ360から379によって)挿入/保持される
ビット位置においては比較は行われない。20個の比較
オーバーライドORゲートは、各XNORゲートに対し
て1つずつ設けられている。XNORゲート388の出
力は、ORゲート389の1つの入力に連結しているの
が例によって理解される。ORゲート389は、等価指
示信号EQ19をワイド入力ANDゲート390に出力す
る。EQ19は、2つの代替条件下でhigh(「1」)
になる。第1条件は、CHIDE19=0およびA19=L
M19である。第2条件は、CHIDE19=1である。E
19信号は、A1 9とLM19との関係にかかわりなく、第
2条件においてhighになる。
【0169】アドレス増分ユニット285の他の出力A
00からA18のそれぞれに対して、XNORゲートお
よびORゲート(388および389)の同様の組合せ
が設けられている。ワイド入力ANDゲート390は、
それらに対応する等価指示信号EQ00からEQ18を
受け取る。EQ00からEQ19のすべてが、論理
「1」であるならば、ワイド入力ANDゲート390
は、論理highのEQLM信号を、ANDゲート38
2の非反転入力に出力する。ANDゲート382の出力
は、SELC線を駆動する。ANDゲート382は、S
ELAおよびSELB線にそれぞれ連結した2つの反転
入力を有する。EQLM線がhighになり、SELA
およびSELBモードのいずれもが活性でない場合、S
ELCは活性となる。
【0170】SELA線は、ANDゲート383の出力
によって駆動される。ANDゲート383は、増分イネ
ーブル線(INCREN)に連結した非反転入力および
SELB線に連結した反転入力を有する。INCREN
がhighになり、SELBモードが活性でなくなる
と、SELAは活性となる。SELAモードが活性にな
ると、フリップフロップ300から319のそれぞれの
Q出力は、その対応するデータフローマルチプレクサ3
30から349を通してそのD入力にフィードバックす
る。このモードでは、VFAI285の出力データは、
次のクロックサイクルの1つ次のサイクルにおいて同一
のままである。
【0171】SELB線は、ステートコントローラ29
0のLD−B出力によって駆動される。SELBモード
が活性となると、バス276の対応の生成アドレス(G
AS)ビット(B19、B18、...、B00)は、
データフローマルチプレクサ330から349を通過し
て、対応のフリップフロップ300から319のD入力
へと伝送され、次のクロックサイクルの開始時にフリッ
プフロップにロードする。
【0172】生成アドレス(GAS)ビットB19、B
18、...、B00は、VFC275において生成さ
れる。可変長フィールドコミュテータ275は、セル−
00からセル−19の20個のセルから構成される。各
セル(セル−xx)は、バス276の対応ビット(Bx
x)を生成する。
【0173】図7および8を組み合わせると一般的コミ
ュテータセル400の内部構造が示される。コミュテー
タセル−00からセル−19の各々は一般セル400と
同じ構造を有している。セル400はまたセル−xxで
表される。
【0174】デコーダ399はVFC275における全
てのコミュテータセルに共通のものである。それは各々
がNCHB=5、NCHB=4、NCHB=3、NCH
B=2、およびNCHB=1と標識された5つの出力ラ
インを有している。デコーダ出力ラインNCHB=1か
らNCHB=5の各々は20個のコミュテータセル、す
なわちセル−00からセル−19のそれぞれに接続され
ている。説明を簡略にするために、デコーダ出力ライン
NCHB=1からNCHB=5のセグメントは図7にお
いて複数の位置で示されている。NCHB=5と標識さ
れたセグメントは全て1つのNCHB=5ラインの一部
であると理解される。
【0175】デコーダ399は、DSPプロセスに使用
されるバッファフィールドの数を示すために二進数で表
された5ビット幅シグナルのNCHSを受信する。デコ
ーダ399の出力は所定のチャネルを表すのに必要とさ
れる最小ビット数を示す。与えられたチャネル数が17
から32の間であれば、NCHB=5デコーダ出力ライ
ンはhighとなり、必要とされるチャネルビット数は
5であることを示す。与えられたチャネル数が9から1
6の間であれば、NCHB=4出力ラインがhighと
なる。与えられたチャネル数が5から8の間であれば、
NCHB=3出力ラインがhighとなる。与えられた
チャネル数が3または4であれば、NCHB=2がhi
ghとなる。与えられたチャネル数が2であれば、NC
HB=1がhighとなる。与えられたチャネルが1つ
だけの場合は、その1つのチャネルを確認するためには
全くチャネルビットは必要でなく、またチャネルビット
数がゼロであることを示すためにデコーダ出力ラインN
CHB=5からNCHB=1の全てがlowのままとな
る。
【0176】5つのビットがチャネル数を表すために用
いられる時(NCHB=5は真)、5つのビットは各々
位置:最上位桁から最下位桁の順でa、b、c、d、お
よびeが割り当てられる。各コミュテータセル400
は、それが出力するチャネル同定ビット(CHID−x
x)の位置に対応するセル位置を割り当てられる。CH
Nバス262は5つのチャネル同定ビットをそれぞれ保
持する:最上位桁から最小位桁の順でCHID−4、C
HID−3、CHID−2、CHID−1、およびCH
ID−0。
【0177】NCHB=5が真であれば、セル位置
「a」を割り当てられたコミュテータセルは最上位桁の
チャネル同定ビット、CHID−4を出力する。位置
「b」を割り当てられたコミュテータセルは桁が次に大
きいビット、CHID−3を出力する。位置「c」を割
り当てられたセルはCHID−2を出力する。セル位置
「d」を割り当てられたセルはCHID−1を出力す
る。セル位置「e」を割り当てられたセルはCHID−
0を出力する。
【0178】チャネルビット数が4であれば(NCHB
=4が真)、CHID−3からCHID−0の4つの桁
の小さいビットのみがビット位置a、b、c、およびd
それぞれを占める。同様にチャネルビット数が3であれ
ば、CHID−2からCHID−0がビット位置a、
b、およびcそれぞれを占める。チャネルビット数が2
であれば、ビット位置aおよびbがそれぞれCHID−
1およびCHID−0に占められる。チャネルビットが
1つだけの場合は、CHID−0が1つのビット位置a
を占める。
【0179】図8に示すように、ANDゲート410か
ら414のそれぞれがチャネル同定ビットCHID−0
からCHID−4の1つをNORゲート415およびN
ANDゲート416を介してマルチプレクサ420のC
HID−xx入力へと導く。最適な実施態様において
は、マルチプレクサ420は2つの入力、CHID−x
xおよびS−PTR−xx、並びにBxxと称される1
つの出力のみを有する。他の実施態様では、マルチプレ
クサ420はダッシュされたゼロ接続で示された第3の
入力を有する。コントロールバス425はマルチプレク
サ420の入力の1つをその出力Bxxとして選択す
る。マルチプレクサ420の2つの入力態様において
は、ORゲート424から伸びるCHIDE−xxはコ
ントロールバス425を規定する。CHIDE−xxラ
イン425がhighであれば(論理"1")、マルチプ
レクサ420はCHID−xx入力信号をその出力に流
す。CHIDE−xxコントロールライン425がlo
wであれば(論理"0")、マルチプレクサはそのS−P
TR−xx入力信号をその出力に流す。S−PTR−x
x信号はSPバス266上の対応する20のビットの1
つとして選択される(図4)。
【0180】マルチプレクサ420の3つの入力態様に
おいて、追加コントロールラインZEおよびPTREが
コントロールバス425中に提供され、各々がZERO
およびS−PTR−xx入力をマルチプレクサ420の
出力として選択する。VFC275(図4参照)が、変
数ビット幅V1、V2、およびV3にそれぞれ対応する
3つのデータフィールド、DF1、DF2およびDF3
を生成し、DF3データフィールドはゼロを適切数含ん
でいるということが想起される。しかし、ZERO入力
がマルチプレクサ420では必要とされない。なぜな
ら、バッファ開始位置の特定のために用いられないF1
入力フィールドの上部ビットが、RST信号の作用によ
り自動的にゼロをロードされ、またアップデートコント
ロールユニット264のプラス/マイナスの交差を探知
する部分の作用により、ゼロで維持され続けるからであ
る。CHIDE−xxイネーブルラインがlowである
なら、S−PTR−xxラインによって、適切なゼロビ
ットまたはバッファ開始ポインタービットがマルチプレ
クサ420の出力にもたらされる。従って、マルチプレ
クサ420の2つの入力バージョンは、DF1、DF
2、およびDF3データフィールドのいずれにおいても
ビットを生成するに十分である。
【0181】操縦(ステアリング)ANDゲート410
から414のいずれかが作動して、マルチプレクサ42
0に連動するCHID−xビットのうちの1つを操縦す
るなら、CHIDE−xxコントロールラインは、OR
ゲート424の出力時にhighとなる("1")。ORゲ
ート424の第1入力は、ANDゲート410を操縦す
る作動ラインと連絡している。ORゲート424の第2
入力は、NANDゲート423の出力に連結される。N
ANDゲート423は、ANDゲート411から414
を作動するコントロール信号の反転バージョンとそれぞ
れ連結されている4つの入力を有している。反転した走
査可能ライン、SCANE、は走査テストモードの間、
全ての作動を止めるANDゲート410から414の反
転入力に接続している。
【0182】図7に見られるように、第1NANDゲー
ト451は、「a」セル位置ラインと連結した第1入
力、およびNCHB=5デコ−ダ出力ラインと連結した
第2入力を備えている。NANDゲート451の出力
は、インバーター474を介して作動ANDゲート41
4の操縦入力に接続している。NCHB=5が真であ
り、セル位置が「a」であるなら、インバーター474
の出力はhighとなり、CHID−4ビットは、AN
Dゲート414を介してマルチプレクサ420のCHI
D−xx入力へと操縦する。
【0183】NCHB=5が真であり、セル位置が
「b」であるなら、NCHBおよびセル位置ラインとそ
れぞれ連結した入力を有する別のANDラインを作動す
る。ANDゲート452の出力は、NORゲート463
およびインバーター473を介して、ANDゲート41
3の作動入力に伝わる。ANDゲート452の出力がh
ighとなると、CHID−3ビットは、ANDゲート
413を介してマルチプレクサ420のCHID−xx
入力へと操縦する。
【0184】同様にして、別のANDゲート453は、
ANDゲート453の入力が真であるなら、CHID−
2をマルチプレクサ420のCHID−xx入力へと操
縦するためのNCHB=5ラインおよびセル位置「c」
ラインと連結した入力を備えている。同様にして、別の
ANDゲート454は、NCHB=5ラインおよびセル
位置「d」ラインと連結した入力を備えている。別のA
NDゲート455は、NCHB=5ラインおよびセル位
置「e」ラインと連結した入力を備えている。ANDゲ
ート441から444は、NCHB=4が真であり(論
理"high"で)、セル位置a、b、c、およびdのう
ちの1つが真である条件において操縦コントロールを提
供する。ANDゲート431から433は、NCHB=
3が真であり、セル位置a、bおよびcのうちの1つが
真である条件において操縦コントロールを提供する。A
NDゲート421および422は、NCHB=2が真で
ありセル位置「a」および「b」のうちの1つが真であ
る場合に操縦コントロールを提供する。ANDゲート4
19は、NCHB=1が真でありセル位置「a」が真で
ある場合に操縦コントロールを提供する。
【0185】NORゲート463は、ANDゲート44
1および452の出力を受信する。NORゲート463
の出力は、インバーター473を介してANDゲート4
13の作動入力に伝わる。NORゲート462は、AN
Dゲート431、442および453の出力を受信す
る。NORゲート462の出力は、インバーター472
を介してANDゲート412の作動入力に伝わる。NO
Rゲート461は、ANDゲート421、432、44
3および454の出力を受信する。NORゲート461
の出力は、インバーター471を介してANDゲート4
11の作動入力に伝わる。NORゲート460は、AN
Dゲート419、422、433および444の出力を
受信する。NORゲート460の出力は、ANDゲート
459およびインバータ−470を介してANDゲート
410の作動入力に伝わる。ANDゲート459は、A
NDゲート455の出力と連結した反転入力を有してい
る。図9は、複合コミュテータセルが、どのように組み
込まれて一体となり、可変フィールドコミュテータ27
5の態様を形成するかを示している。コミュテータセル
00から19までの各々は、それぞれ「a」から「e」
として標識された5つのセル位置入力を備えていること
が示されている。
【0186】記憶サイズ指示ラインMEMSZ=2
20は、セル−19の「a」セル位置入力、セル−18の
「b」セル位置入力およびセル−17の「c」セル位置
指示入力に接続し、さらに図示されていないが、セル−
16の「d」セル位置入力およびセル−15の「e」セ
ル位置入力に接続している。セル−19の「b」から
「e」までのセル位置入力は、接地されている(論理"
0"にセット)。セル−18の「c」から「e」までの
入力も、同様に接地されている。セル−17の「d」お
よび「e」の入力も同様に接地され、図示されていない
が、セル−16の「e」入力もまた接地されていると考
えられる。
【0187】MEMSZ=219ラインは、セル−18の
セル位置「a」入力、セル−17のセル位置「b」入
力、セル−16のセル位置「c」入力(図示されず)、
セル−15のセル位置「d」入力(図示されず)および
セル−14のセル位置「e」入力(図示されず)に接続
する。同様に、MEMSZ=218指示ラインは、セル−
17のセル位置「a」入力、セル−16のセル位置
「b」入力およびセル−15のセル位置「c」入力など
に接続する。
【0188】スタックの底部では、セル−00は「a」
セル位置入力と連結されたMEMSZ=21指示ライン
を有している。セル−00の「b」セル位置は、MEM
SZ=22ラインに接続する。セル−00の「c」入力
は、MEMSZ=23ラインに接続する。セル−00の
「d」入力は、MEMSZ=24ラインに接続する。セ
ル−00の「e」入力は、MEMSZ=25ラインに接
続する。
【0189】ラインMEMSZ=22からMEMSZ=
20までは、MEMSZレジスター204の19出力ビ
ットによって駆動される(図4)。MEMSZ=21
インは接地しているが、MEMSZ=20ラインは、実
際には回路の中に存在しない(仮想にすぎない)。
【0190】レジスター204からMEMSZ指示ライ
ンの1つのみが、一度にhighとなる。MEMSZ=
20ラインがhighで、チャネルビット数がゼロより
高くなると、セル−19は、出力ラインB19の上にチ
ャネルデータフィールド(DF2)の「a」位置ビット
を出力する。それと連動してCHIDE19可能ライン
もまた高出力になり、チャネル同定ビットがラインB1
9の上にあることを示唆する。セル−19は、スタック
の中の最上限セルであるために、「b」チャネルビッ
ト、「c」チャネルビット、「d」チャネルビットまた
は「e」チャネルビットの出力として作動し得ない。M
EMSZ=220指示ラインがlowとなれば、セル−1
9のB19、およびCHIDE19出力ラインは両者と
もlowとなる。
【0191】MEMSZ=220がhighで、チャネル
ビット数が1より多ければ、セル−18はチャネルデー
タフィールド(DF2)から「b」ビットを出力する。
チャネルビット数が3以上であれば、セル−17は、チ
ャネルデータフィールド、DF2の「c」ビットを出力
する。チャネルビット数が4以上であれば、セル−16
はDF2フィールドの「d」ビットを出力する。チャネ
ルビット数が5であれば、セル−15はDF2フィール
ドの「e」ビットを出力する。
【0192】同様に、MEMSZ=219がhighとな
れば、例えば、セル−18はDF2フィールドのビット
位置「a」出力として機能し、セル−17はDF2フィ
ールドの「b」ビット位置出力として機能する。MEM
SZラインがコミュテータセル00から19のそれぞれ
のセル位置入力に配線され、各々のセルが、いつチャネ
ル同定ビット(CHID−xx)を生成されたアドレス
信号(GAS)に挿入せねばならないかを指示し、その
場合は、どのチャネル同定ビット(CHID−0からC
HID−4)を挿入するかを指示する。VFC275の
CHIDEコントロール出力は、ゼロを挿入するか、ま
たは限界状態(EQLM=1)の探知に関するチャネル
同定ビットを使用するかを、以下のVFAIの保護マル
チプレクサ360から379(図6)に指示する。
【0193】DSPシステムの記憶サイズ、および提供
されたチャネル数に関連する位置におけるチャネル同定
ビットの自動挿入、および保護について上記されたメカ
ニズムにより、容易に使用できる。図10は、AGチッ
プ270が使用され得るさまざまな実施態様の例を示し
ている。RAMユニット240のサイズは、1メガワー
ド(220データワード)から4データワードまで変化し
得る。チャネルの数は、1から32まで変化し得る。
【0194】AGチップ270のユーザーは、同じプリ
ント回路基板を使用しつつ、記憶容量の異なるメモリデ
バイス240の設置を望むなら、プリント回路基板を配
線し直したり、または新しい回路基板を用いる必要なし
に、チップ270のフィールド転換機能によって、異な
るメモリデバイスを簡単に挿入することが可能となる。
コレクトMEMSZおよびNCHSの仕様がひとたびレ
ジスター204および201ロードされると(図4)、
アドレスビットは、自動的に適切なメモリデバイスアド
レスラインへと経路を定める。
【0195】図10においては、サーキュラバッファア
ドレス出力ビットは、最上位から最下位の順で、それぞ
れCBAO−19からCBAO−00として表される。
記憶サイズが1メガワードに等しく、1チャネルのみが
使用されるなら、図10の最上部に示されるように、ポ
インタデータフィールド、即ちDF1は、CBAOフィ
ールドの20ビット全てを占める。
【0196】記憶サイズが1メガワードで4チャネルが
使用されるなら、2つの最上位ビットCBAO−19お
よびCBAO−18は、チャネル同定データフィール
ド、即ちDF2の「a」および「b」ビットをそれぞれ
定義する。相対バッファ位置ポインティングフィール
ド、即ちDF1はCBAOフィールドの残りを満たす。
記憶サイズが1メガワードで32チャネルが使用される
なら、DF1フィールドがCBAOフィールドの残りを
満たす時、CBAOフィールドの最上位である5つのビ
ットは、DF2フィールドの「a」から「e」のそれぞ
れのビットとして作用する。記憶サイズが1メガワード
の場合、ゼロで満たされたフィールド、即ちDF1は存
在しない。
【0197】記憶サイズが例えば256データワードに
まで減少するなら、ゼロフィールド(DF3)はCBA
Oフィールドの大きな上部を満たす。チャネルが1つだ
けなら、DF1フィールドはCBAOフィールドの最小
位8ビットを満たす。チャネルが4つならば、ビット0
5−00がDF1フィールドを定義する際に、CBAO
ビット07および06はDF2フィールドの「a」およ
び「b」ビットになる。
【0198】チャネルが32で記憶容量が128データ
ワードにすぎない場合、CBAOビット06から02は
それぞれチャネル指示フィールド、即ちDF2の
「a」、「b」、「c」、「d」および「e」を定義す
る。CBAOビット01および00は、次に、相対アド
レスフィールド、DF1を定義する。CBAOフィール
ドの上端はゼロで満たされている。
【0199】記憶サイズは最小4データワードまで減少
できるが、チャネルの最小フィルター長が4であるた
め、データ使用は1チャネルに限られる。この場合、ゼ
ロを充填されたフィールドDF3はCBAOビット19
から02を使用する。相対アドレスフィールドDF1
は、CBAOビット01から00を使用する。
【0200】上記からわかるように、データフィールド
DF1、DF2およびDF3各々のビット幅V1、V2
およびV3はシステム環境の関数として変化する。AG
チップ270は、異なる記憶容量、および提供された異
なるチャネル数を有するシステムにおいて使用され得
る。多重チャネルは、優先の基礎に基づいて扱うことが
できる。それぞれのチャネルは、独立のサンプリングレ
ート(チップクロック周波数の4分の1程度まで高くな
る)において、動作することができる。それぞれのチャ
ネルは、独立したフィルターの長さ(FIR−CBuf
fモードで)か、独立した重なり価(FFT−CBuf
fモードで)が割り当てられる。1つのチャネル要求の
作業から次のチャネル要求の作業まで、連続した切り替
えを行うため、チップ内での演算はパイプライン化され
る。
【0201】上記開示内容は、発明の実例を示すための
ものであって、発明の範囲を限定するものではない。多
くの改変と変更は、当業者が上記開示内容を研究した
後、明らかになるであろう。
【0202】例としてダイエリアが許すのであれば、多
数のチャネル、例えば32個の代わりに64個のチャネ
ルを扱うために、ピン数、バス幅およびレジスターサイ
ズを増やすことが出来る。また、20の代わりに例えば
21以上のアドレス入力ラインを有するより大きな記憶
ユニットを扱うために、ピン数、バス幅およびレジスタ
ーサイズを増やすことが出来る。逆に、せいぜい一度に
16個のチャネルが提供され、あるいは最も大きいと見
込まれた記憶ユニットが、20個未満のアドレス入力ラ
インを有する場合、ピン数、バス幅およびレジスターサ
イズを減少することが出来る。動作スピードは、技術的
に可能であれば、40MHzを超えて増加し得る。シリコ
ンをベースにしたCMOS以外の技術を、AGチップの
実現のために使用し得る。他の技術例としては、TT
L、ECLおよびIII−V族化合物半導体の使用が挙
げられる。
【0203】所定の使用要求に対する応答において、ア
ドレス信号出力の数は、時には上記記述の“フィルター
の長さ”LCnとして表され、FIRフィルターの状況の
中で取り上げられるとき、チャネル特異的連続数あるい
は長さの値、LCn、および/または重なり値、OL
Cnは、相関関係があり適応性のある信号プロセスを含む
他のディジタル信号プロセス(DSP)アルゴリズムに
起因すると理解される。
【0204】マルチチャネルサーキュラバッファには多
くの使用途がある。イメージデータは、1次元または2
次元の相関による分析のため集められ、DSPチップお
よび開示されたアドレスジェネレーターチップを含むシ
ステムに供され得る。機械視覚は、大きなイメージデー
タベースを検索することによって実現され、入力イメー
ジ信号に最も相関関係があり、あるいは比較的密接に相
関関係がある対象を見い出す。検索時間を短縮するた
め、それぞれの相関は、各々のチャネルを提供され、多
重相関が同時に実行される。
【0205】適応信号プロセスのフィールドにおいて、
同様のアプローチが用いられる。同一の入力データが、
複数の異なったDSPアルゴリズムに適用され、最良に
作動するアルゴリズムが見いだされる。それぞれのアル
ゴリズムは、分離したチャネルのように取り扱われる。
処理チップのDSP資源は、それぞれのチャネルあるい
はアルゴリズムが独立したサンプル率を有していても、
最終ユーザーにわかりやすい方法によって、様々なアル
ゴリズム(チャネル)の全域で多重タスクされる。経済
的に実用的であり使いやすいシステムが、比較的複雑な
ディジタル信号処理タスクを取り扱うために提供され
る。
【0206】
【発明の効果】本発明によれば、信号処理性能を多重チ
ャネルに広げる能力を有する高速サーキュラバッファ型
のディジタル信号処理システムにおいて、適切なアドレ
スシーケンスをサーキュラバッファを有するメモリデバ
イスに供給するための高速アドレス信号生成器、可変長
フィールドアドレスシーケンサ、及び可変長フィールド
コミュテータが提供される。本発明によるアドレス生成
器によれば、優先順位に基づいて、複数のチャネルから
のサービスリクエストを異なる速度で非同期的に処理す
ることが可能である。また、最初のリクエストチャネル
に対するサービス終了直後、次のチャネルのサービスリ
クエストを処理する、連続パイプライン構造が実現され
ている。こうして、高速度マルチチャネル環境におい
て、複雑なディジタル信号処理タスクを実行するための
経済的かつ実用的なシステムが得られる。
【図面の簡単な説明】
【図1】サーキュラバッファを使用するディジタル信号
処理システムのブロック図の一部である。
【図2】サーキュラバッファを使用するディジタル信号
処理システムのブロック図の一部である。
【図3】本発明によるサーキュラバッファ管理システム
のブロック図の一部である。
【図4】本発明によるサーキュラバッファ管理システム
のブロック図の一部である。
【図5】本発明によるサーキュラバッファ管理システム
のブロック図の一部である。
【図6】図4に示されるような連続可変長フィールド増
分器(VFAI)の概略図である。
【図7】単一コミュテータセルの一部を示す図である。
【図8】単一コミュテータセルの一部を示す図である。
【図9】複数のコミュテータセルがどのように組み合わ
されて可変長フィールドコミュテータ(VFC)を形成
するかを示す図である。
【図10】開示されたシステムによって取り扱われ得
る、多数の異なるメモリサイズおよびチャネル番号配置
を示す図である。
【図11】SV=0ステートおよびスリープモードまた
は新しいL’Cnカウントへの移行を示す部分ステートフ
ローチャートである。
【符号の説明】
100マルチチャネルディジタル信号処理システム 110マルチプレクサ 111量子化スイッチ 112A/D変換器 113A/D変換器 115CH5サンプル速度制御器 116第2サービスリクエスト信号 120チャネルスキャン制御ユニット 121ローカルクロック(L/C)生成器 140第1SRAMユニット(RAM−1) 145サーキュラバッファ 180コマンドユニット
フロントページの続き (72)発明者 エリック クレイグ アンダーソン アメリカ合衆国 ワシントン 98661, バンクーバー,ナンバー7106,イー. エバーグリーン ブルバード 5535 (56)参考文献 特開 平4−19874(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/00 - 12/06 G06F 13/16 - 13/18

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のサーキュラバッファを有するメモ
    リへ与えるためのアドレスシーケンスを発生させるため
    のアドレス生成器であって、 対応する1つ又はそれ以上のデータ供給チャネルから、
    1つ又はそれ以上のサービスリクエストを受け取るため
    のリクエスト受け取り手段と、 1つよりも多いサービスリクエストが同時に受け取られ
    た場合に、複数のサービスリクエストのうち最も高い優
    先順位を有する1つを選択するためのリクエスト優先化
    手段と、 該優先化手段によって選択された1つのサービスリクエ
    ストのサーキュラバッファに対応するアドレスのシーケ
    ンスを出力するためのアドレスシーケンス出力手段とを
    備え、 前記優先化手段及びアドレスシーケンス出力手段が集積
    回路チップの上に位置しており、 該集積回路チップが、前記優先化手段の機能を選択的に
    バイパスして、それによって他の制御ユニットでの優先
    化動作を可能とするバイパス手段をさらに備えている、 アドレス生成器。
  2. 【請求項2】 前記集積回路チップが、 一連のローカルクロックパルスを受け取るクロック受け
    取り手段、 オフチップ供給源からサービスリクエストを受け取り、
    それらをオンチップクロックへ同期させる同期手段、 対応するサーキュラバッファの開始をそれぞれ示す複数
    の開始ポインタを記憶するための開始ポインタメモリ手
    段、及び所定のサーキュラバッファの開始ポインタを変
    更するための開始ポインタ更新手段をさらに備えている
    請求項1に記載のアドレス生成器。
  3. 【請求項3】 複数のバッファを有するメモリへ与える
    ためのアドレスシーケンスを発生させるためのアドレス
    生成器であって、 該メモリバッファのうち1つを識別するバッファ識別信
    号を出力するためのバッファ識別手段[260、26
    3]と、 複数のポインタであって、それぞれが該メモリバッファ
    のうち1つに対応するポインタを記憶し、該バッファ識
    別手段によって識別されるメモリバッファのポンタを示
    すポインタ信号を出力するためのポインタ記憶手段[2
    65]と、 該バッファ識別信号及び該ポインタ信号を受け取るよう
    に連結されており、結合信号を発生させるための信号結
    合手段[275]であって、該結合信号が該ポインタ信
    号の少なくとも一部を含み、該バッファ識別信号の一部
    又は全部を選択的に含む、信号結合手段と、 該結合信号を受け取り、その信号からアドレス信号のシ
    ーケンスを発生させる信号シーケンス付け手段[28
    5]であって、該シーケンスのアドレス信号のそれぞれ
    が該複数のメモリバッファのうち1つを識別する第1の
    部分と、該特定されたメモリバッファ内の特定位置を指
    す第2の部分を有している、信号シーケンス付け手段
    と、 前記メモリバッファのうち1つにそれぞれ対応する複数
    の長さの値を記憶し、前記バッファ識別手段によって識
    別される1つのメモリバッファの使用長を表す長さ信号
    を出力するための長さ記憶手段[210]と、 を備えているアドレス生成器。
  4. 【請求項4】 前記ポインタ記憶手段に機能的に連結さ
    れており、該ポインタ記憶手段に記憶されているポイン
    タを変更するためのポインタ更新手段[264、26
    8]であって、変更されたポインタが前記バッファ識別
    手段によって識別されたメモリバッファのポインタであ
    る、ポインタ更新手段をさらに備えている請求項3に記
    載のアドレス生成器。
  5. 【請求項5】 前記信号シーケンス付け手段に機能的に
    連結されており、該信号シーケンス付け手段によって発
    生されたアドレス信号のシーケンスに含まれるべきアド
    レス信号の数を示すための状態シーケンサ手段[28
    9、290]をさらに備えている請求項3に記載のアド
    レス生成器。
  6. 【請求項6】 前記信号結合手段に機能的に連結されて
    おり、前記ポインタ信号のうちのどの部分が前記結合信
    号に含まれるべきかを決定し、さらに、あるとすれば前
    記バッファ識別信号のうちのどの部分が該結合信号に含
    まれるべきかを決定するためのフィールドサイズ制御手
    段[205]をさらに備えている請求項3に記載のアド
    レス生成器。
  7. 【請求項7】 前記フィールドサイズ制御手段が、最初
    に供給されるバッファ数を表す信号[NCHS]及び2
    番めに供給されるメモリサイズ規定信号[MEMSZ]
    に応答しており、該数を表す信号[NCHS]が該メモ
    リ内のバッファの数を示し、該メモリサイズ規定信号
    [MEMSZ]が該メモリの記憶容量を示す請求項6に
    記載のアドレス生成器。
  8. 【請求項8】 Nビット幅のアドレス信号[CBAO]
    の各ビットを記憶し出力するための複数のN個の記憶素
    子[300−319]、 該Nビット幅のアドレス信号の各ビットを受け取り、
    ビットの信号から修正されたNビット幅のアドレス信号
    の各ビットを生成するアドレス修正器[320]、 それぞれの出力が、該N個の記憶素子のそれぞれの入力
    になっているN個のデータフロウ型マルチプレクサ[3
    30−349]、 外部から供給されるチャネルビットを受け取る第1の入
    力及び外部から供給される定数ビットを受け取る第2の
    入力をそれぞれ有しており、いずれかの一つの入力を選
    択してそれぞれ出力するN個のチャネル保存用マルチプ
    レクサ[360−379]を備えている可変長フィー
    ルドアドレスシーケンサであって、 該データフロウ型マルチプレクサのそれぞれが複数の入
    力端子[A、A’、B、C]を有しており、該入力端子
    の第1の端子[A]が対応する記憶素子の出力に連結さ
    れており、該入力端子の第2の端子[A’]が該アドレ
    ス修正器の対応する出力に連結されており、該入力端子
    の第3の端子[B]が外部から供給されるポインタビッ
    トを受け取るように連結されており、該入力端子の第4
    の端子[C]が該N個のチャネル保存用マルチプレクサ
    のうち対応する1つの出力に連結されており、入力端子
    [A、A’、B、C]のいずれか一つの入力された信号
    を選択して出力するようになっている、 可変長フィールドアドレスシーケンサ[285]。
  9. 【請求項9】 Nビット幅のアドレス信号を出力するよ
    うになっており、出力されるアドレス信号の各ビットを
    それぞれ生成する複数のコミュテータセルを備えている
    可変長フィールドコミュテータ[275]であって、該
    コミュテータセルのそれぞれが、所定範囲内の複数のチャネルビットを受け取る手段と所定範囲内の複数のポインタビットを受け取る手段と該可変長フィールドコミュテータ によって出力されるべ
    きチャネルビットの所定数を表すチャネルビット数信号
    [NCHB]を受け取る手段、 該可変長フィールドコミュテータの各セルの位置を、そ
    の他のセルとの相対位置として表すセル位置特定信号を
    受け取る手段、 該受け取られたチャネルビットのうち1ビット又は該受
    け取られたポインタビットのうち1ビットのうちいずれ
    か一方を表すビット[Bxx]を出力するための信号出
    力手段、 該チャネルビット数信号及び該セル位置特定信号に応じ
    て、該受け取られたチャネルビットのうち1つを該信号
    出力手段へつなぐ信号ルーティング手段を備えてい
    る、可変長フィールドコミュテータ。
JP11196293A 1992-05-13 1993-05-13 多重チャネルサーキュラバッファ型処理のためのアドレス生成器、可変長フィールドアドレスシーケンサ及び可変長フィールドコミュテータ Expired - Fee Related JP3183749B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/882,645 1992-05-13
US07/882,645 US5448706A (en) 1992-05-13 1992-05-13 Address generator for multi-channel circular-buffer style processing

Publications (2)

Publication Number Publication Date
JPH0689301A JPH0689301A (ja) 1994-03-29
JP3183749B2 true JP3183749B2 (ja) 2001-07-09

Family

ID=25381036

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11196293A Expired - Fee Related JP3183749B2 (ja) 1992-05-13 1993-05-13 多重チャネルサーキュラバッファ型処理のためのアドレス生成器、可変長フィールドアドレスシーケンサ及び可変長フィールドコミュテータ

Country Status (2)

Country Link
US (1) US5448706A (ja)
JP (1) JP3183749B2 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07253922A (ja) * 1994-03-14 1995-10-03 Texas Instr Japan Ltd アドレス生成回路
FR2718262B1 (fr) * 1994-03-31 1996-05-24 Sgs Thomson Microelectronics Mémoire tampon à adressage modulo.
US5619505A (en) * 1995-01-26 1997-04-08 Motorola Inc. Method for producing and recovering a data stream for a DMT transceiver
US5659700A (en) * 1995-02-14 1997-08-19 Winbond Electronis Corporation Apparatus and method for generating a modulo address
JP3255034B2 (ja) * 1996-08-09 2002-02-12 日本電気株式会社 音声信号処理回路
US6055619A (en) * 1997-02-07 2000-04-25 Cirrus Logic, Inc. Circuits, system, and methods for processing multiple data streams
US6259957B1 (en) 1997-04-04 2001-07-10 Cirrus Logic, Inc. Circuits and methods for implementing audio Codecs and systems using the same
CA2640578A1 (en) 1998-05-14 1999-11-18 Luminex Corporation Multi-analyte diagnostic system and computer implemented process for same
CA2328408C (en) * 1998-05-14 2005-02-15 Luminex Corporation Zero dead time architecture and method for flow cytometer
US6463070B1 (en) * 1999-08-27 2002-10-08 Tachyon, Inc. System and method for clock correlated data flow in a multi-processor communication system
CA2303604A1 (en) * 2000-03-31 2001-09-30 Catena Technologies Canada, Inc. Flexible buffering scheme for multi-rate simd processor
US7020788B2 (en) 2001-06-01 2006-03-28 Microchip Technology Incorporated Reduced power option
US7467178B2 (en) 2001-06-01 2008-12-16 Microchip Technology Incorporated Dual mode arithmetic saturation processing
US7007172B2 (en) 2001-06-01 2006-02-28 Microchip Technology Incorporated Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection
US6934728B2 (en) 2001-06-01 2005-08-23 Microchip Technology Incorporated Euclidean distance instructions
US6604169B2 (en) 2001-06-01 2003-08-05 Microchip Technology Incorporated Modulo addressing based on absolute offset
US6601160B2 (en) 2001-06-01 2003-07-29 Microchip Technology Incorporated Dynamically reconfigurable data space
US6975679B2 (en) 2001-06-01 2005-12-13 Microchip Technology Incorporated Configuration fuses for setting PWM options
US6937084B2 (en) 2001-06-01 2005-08-30 Microchip Technology Incorporated Processor with dual-deadtime pulse width modulation generator
US6952711B2 (en) 2001-06-01 2005-10-04 Microchip Technology Incorporated Maximally negative signed fractional number multiplication
US6985986B2 (en) 2001-06-01 2006-01-10 Microchip Technology Incorporated Variable cycle interrupt disabling
US6552625B2 (en) 2001-06-01 2003-04-22 Microchip Technology Inc. Processor with pulse width modulation generator with fault input prioritization
US6976158B2 (en) 2001-06-01 2005-12-13 Microchip Technology Incorporated Repeat instruction with interrupt
US7003543B2 (en) 2001-06-01 2006-02-21 Microchip Technology Incorporated Sticky z bit
US20020184566A1 (en) 2001-06-01 2002-12-05 Michael Catherwood Register pointer trap
US6728856B2 (en) 2001-06-01 2004-04-27 Microchip Technology Incorporated Modified Harvard architecture processor having program memory space mapped to data memory space
US20040021483A1 (en) * 2001-09-28 2004-02-05 Brian Boles Functional pathway configuration at a system/IC interface
US6552567B1 (en) 2001-09-28 2003-04-22 Microchip Technology Incorporated Functional pathway configuration at a system/IC interface
US6941438B2 (en) * 2003-01-10 2005-09-06 Intel Corporation Memory interleaving
US7689739B2 (en) * 2005-07-11 2010-03-30 Via Technologies, Inc. Spread spectrum receiver, apparatus and method of a circular buffer for multirate data
KR101396363B1 (ko) * 2006-09-04 2014-05-19 삼성전자주식회사 방송 채널 검색 장치 및 방법
US8566491B2 (en) 2011-01-31 2013-10-22 Qualcomm Incorporated System and method for improving throughput of data transfers using a shared non-deterministic bus
JP6139010B2 (ja) * 2013-03-15 2017-05-31 インテル・コーポレーション デバイス

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4060850A (en) * 1977-04-25 1977-11-29 The United States Of America As Represented By The Secretary Of The Navy Beam former using bessel sequences
US4169289A (en) * 1977-07-08 1979-09-25 Bell Telephone Laboratories, Incorporated Data processor with improved cyclic data buffer apparatus
US4800524A (en) * 1985-12-20 1989-01-24 Analog Devices, Inc. Modulo address generator
US5032986A (en) * 1987-07-28 1991-07-16 Texas Instruments Incorporated Data processing device with parallel circular addressing hardware
US4908748A (en) * 1987-07-28 1990-03-13 Texas Instruments Incorporated Data processing device with parallel circular addressing hardware
US5072418A (en) * 1989-05-04 1991-12-10 Texas Instruments Incorporated Series maxium/minimum function computing devices, systems and methods
US5222223A (en) * 1989-02-03 1993-06-22 Digital Equipment Corporation Method and apparatus for ordering and queueing multiple memory requests
SE465393B (sv) * 1990-01-16 1991-09-02 Ericsson Telefon Ab L M Adressprocessor foer en signalprocessor
JPH0767063B2 (ja) * 1990-01-23 1995-07-19 ヤマハ株式会社 デジタル信号処理回路
US5163017A (en) * 1990-03-23 1992-11-10 Texas Instruments Incorporated Pipelined Fast Fourier Transform (FFT) architecture
US5038311A (en) * 1990-08-10 1991-08-06 General Electric Company Pipelined fast fourier transform processor
US5285527A (en) * 1991-12-11 1994-02-08 Northern Telecom Limited Predictive historical cache memory

Also Published As

Publication number Publication date
US5448706A (en) 1995-09-05
JPH0689301A (ja) 1994-03-29

Similar Documents

Publication Publication Date Title
JP3183749B2 (ja) 多重チャネルサーキュラバッファ型処理のためのアドレス生成器、可変長フィールドアドレスシーケンサ及び可変長フィールドコミュテータ
US5701434A (en) Interleave memory controller with a common access queue
US6000016A (en) Multiported bypass cache in a bypass network
IE850612L (en) Inverse discrete cosine transform calculation processor
WO1996007139A1 (en) A multi-port memory system including read and write buffer interfaces
EP0544083A2 (en) Interleaved RISC-type parallel processor and processing methods
CA2255469A1 (en) Apparatus and method for reducing power consumption in a self-timed system
EP0374764B1 (en) Data transfer apparatus
US4602350A (en) Data reordering memory for use in prime factor transform
US9886278B2 (en) Computing architecture and method for processing data
JP2009507423A (ja) 共有されるメモリおよび共有される乗算器のプログラム可能なデジタルフィルタ構成
JP2646032B2 (ja) Lifo方式の半導体記憶装置およびその制御方法
KR970008186B1 (ko) 신호프로세서용 어드레스 프로세서
KR940009733B1 (ko) 디지탈 신호 처리장치
US7315935B1 (en) Apparatus and method for port arbitration in a register file on the basis of functional unit issue slots
US20040098566A1 (en) Method and apparatus for compacting a queue
WO1990001743A1 (en) Apparatus and method for flexible control of digital signal processing devices
US20080215859A1 (en) Computer with high-speed context switching
US5765219A (en) Apparatus and method for incrementally accessing a system memory
US5822609A (en) Processing circuit for performing a convolution computation
US6101583A (en) Digital signal processor for delayed signal processing using memory shared with another device
US5584000A (en) Addressing scheme for microcode store in a signal processor
EP0359192B1 (en) Vector processors and vector register control
JP3125672B2 (ja) ディジタルフィルタ
JPS6134186B2 (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: 20010404

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

Free format text: PAYMENT UNTIL: 20090427

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees