(57)【特許請求の範囲】
【請求項１】
行および列の両方向にアレイ状に配置された複数のメモリセルを有し、前記複数のメモリセルは、それぞれ第１のポートと第２のポートとで独立に選択されて記憶または読み出しがなされるようになっており、さらに前記複数のメモリセルは行または列方向に第１のグループと第２のグループに分割されているメモリセルアレイと、
前記複数のメモリセルの第１のポートにそれぞれ接続され、かつ前記分割された第１のグループと第２のグループのメモリセルを同時に選択する第１のワード線群と、
前記複数のメモリセルの第２のポートにそれぞれ接続され、かつ前記分割された第１のグループと第２のグループのメモリセルを同時に選択する第２のワード線群と、
前記第１のワード線群のワード線を順に選択するための選択信号を循環して出力する第１のシフトレジスタと、
前記第２のワード線群のワード線を順に選択するための選択信号を循環して出力する第２のシフトレジスタと、
前記第１のシフトレジスタで選択されたワード線に接続された第１のグループと第２のグループのメモリセルの第１のポートから読み出されたデータのうち、第１のグループから読み出されたデータと、第２のグループから読み出されたデータとから、所定の条件で選択して第１の出力信号を出力する第１のデータ選択手段と、
前記第２のシフトレジスタで選択されたワード線に接続された第１のグループと第２のグループのメモリセルの第１のポートから読み出されたデータのうち、第１のグループから読み出されたデータと、第２のグループから読み出されたデー夕とから、所定の条件で選択して第２の出力信号を出力する第２のデータ選択手段と、
を具備することを特徴とする半導体記憶装置。
【請求項２】
前記第１のシフトレジスタと前記第２のシフトレジスタとが循環して順にワード線を選択する方向は、互いに逆方向であることを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記第１のデータ選択手段および前記第２のデータ選択手段は、前記第１のシフトレジスタと前記第２のシフトレジスタとが選択するワード線が第１番目から最終番目へ移行する際、または最終番目から第１番目へ移行する際に出力される信号と、デジタルフィル夕の演算に必要なデータを出力するためのサイクルの切り替わりで出力される信号とに基づいて制御されることを特徴とする請求項１または２に記載の半導体記憶装置。
【請求項４】
前記サイクルの一番最後に選択されたメモリセルに新たなデー夕を記憶することを特徴とする請求項３に記載の半導体記憶装置。
【請求項５】
１つのワード線で選択される前記第１のグループおよび第２のグループのメモリセルはそれぞれ処理されるチャネル数に応じた数の複数のメモリセルからなることを特徴とする請求項１ないし４のいずれかに記載の半導体記憶装置。
【請求項６】
請求頃１ないし５のいずれかに記載の半導体記憶装置と、前記半導体記憶装置から出力される第１の出力信号と第２の出力信号を互いに加算する加算手段と、前記加算された出力信号と係数を乗算する乗算手段と、前記乗算された演算結果を累積加算する累積加算手段と、を具備するデジタルフィル夕。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デュアルポート型の半導体記憶装置とその半導体記憶装置を利用したデジタルフィルタとに係り、特に、ΔΣ型ＤＡコンバータのインタポレーションフィルタとして用いられるデジタルフィルタに好適な半導体記憶装置とその半導体記憶装置を利用したデジタルフィルタとに関する。
【０００２】
【従来の技術】
ΔΣ型ＤＡコンバータのようなオーバーサンプリング型ＤＡコンバータのインタポレーションフィルタ（Interpolation Filter）としては、下記１式に示すような演算を行うハーフバンド（Half Band）のＦＩＲフィルタ（Finite Impulse Response Filter）が知られている。
【０００３】
Ｙ(z)＝ｈ1*Ｘ(0)＋ｈ3*Ｘ(z-1)＋・・・＋ｈ2n-1*Ｘ(z-n+1)＋ｈ2n+1*Ｘ(z-n)                                                              ...（１）
ただし、ｈn+1＝１、ｈ(n+1)+m＝ｈ(n+1)-m
上記１式に示されるような演算は、最新の時系列データＸ(0)が入力されてから、次に最新の時系列データＸ(0)が入力されるまでの１サイクルの間に、図７に示すように、予めメモリ３７に記憶しておいた時系列データＸ(z-k)をそのメモリ３７から読み出して、その読み出した時系列データＸ(z-k)に所定の係数ｈ2k-1を乗じ、その乗算結果を累積加算することにより行われていた。
【０００４】
上記１式に示されるような演算を行う場合、データの数を示すタップ数は、ＦＩＲフィルタの特性に大きな影響を与える。タップ数は１サイクル内で可能な乗算回数により既定され、その特性を向上するためには１サイクル内での乗算回数を増やせばよいが、所定の時間が決まった１サイクル内で乗算回数を増加させることは困難であった。
【０００５】
そのため、通常は、プレアディング（Pre Adding）という手法を用いて、上記１式を下記２式に示すように変形し、乗算回数を増やすことなくタップ数を増加することができるようにしている。
Ｙ(z)＝ｈ1*Ｘ(0)＋ｈ3*Ｘ(z-1)＋・・・＋ｈ2n-1*Ｘ(z-n+1)＋ｈ2n+1*Ｘ(z-n)
＝Σｈ2k+1*｛Ｘ(z-k)＋Ｘ(z-n+k)｝                      ...（２）
ただし、ｋ＝０〜(n+1)/2
上記２式に示されるような演算は、図８に示すように、予めメモリ３７に記憶しておいた時系列データＸ(z-k)とＸ(z-n+k)とを２つ同時に読み出して、その読み出した時系列データＸ(z-k)とＸ(z-n+k)とを加算し、その加算結果に所定の係数ｈ2k-1を乗じ、その乗算結果を加算することにより行われる。
【０００６】
例えばメモリに記憶されている２Ｎ個の時系列データＸ(ｊ)に対して上記２式で示されるディジタルインタポレーションフィルタが用いられる場合にあっては、図９のタイミングチャートに示すように、クロック信号ＣＬＫ１で示される１サイクル中に、周期が一定の信号をＮ回繰り返すクロック信号ＣＬＫ２に応じて、メモリから時系列データを出力Ａ及び出力Ｂとして２つ同時に読み出すようになっており、Ｘ(N)とＸ(N+1)、Ｘ(N-1)とＸ(N+2)、...、Ｘ(1)とＸ(2N)等を同時に読み出すようになっている。
【０００７】
このように、２Ｎ個の時系列データの前半部分と後半部分とを同時に読み出す場合にあっては、Ｎ個の時系列データを記憶可能なシングルポート型のメモリを２つ用いるのでもよいが、レイアウト面積が大きくなってしまうため、通常は、２Ｎ個の時系列データを記憶可能なデュアルポート型のメモリを用いる。
【０００８】
【発明が解決しようとする課題】
しかしながら、デュアルポート型のメモリを使用する場合にあっては、単に最上位アドレスの行アドレスの最上位の列アドレスに対応するメモリセルから順に新しい時系列データを記憶させるのでは、図１０（ａ）に示すように、出力Ａとして新しいサイクルにおいて最初に読み出される時系列データＸ(N+1)は、図１０（ｂ）に示すように、前のサイクルで最初に読み出された時系列データＸ(N)が格納されていたメモリセルの行アドレス及び列アドレスを１つずらしたところになるため、前のサイクルで最初に読み込まれたメモリセルの行アドレス及び列アドレスを記憶しておくための回路が必要となり、回路規模が大きくなるという問題点があった。
【０００９】
本発明は上記問題点の解決を目的とするものであって、メモリセルのアドレスを記憶する回路を用いずに、データＸ(z-k)とＸ(z-n+k)とが記憶されているメモリセルを特定することができる半導体記憶装置およびデジタルフィルタを提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記課題を解決するために、請求項１に係る発明である半導体記憶装置は、行および列の両方向にアレイ状に配置された複数のメモリセルを有し、前記複数のメモリセルは、それぞれ第１のポートと第２のポートとで独立に選択されて記憶または読み出しがなされるようになっており、さらに前記複数のメモリセルは行または列方向に第１のグループと第２のグループに分割されているメモリセルアレイと、前記複数のメモリセルの第１のポートにそれぞれ接続され、かつ前記分割された第１のグループと第２のグループのメモリセルを同時に選択する第１のワード線群と、前記複数のメモリセルの第２のポートにそれぞれ接続され、かつ前記分割された第１のグループと第２のグループのメモリセルを同時に選択する第２のワード線群と、前記第１のワード線群のワード線を順に選択するための選択信号を循環して出力する第１のシフトレジスタと、前記第２のワード線群のワード線を順に選択するための選択信号を循環して出力する第２のシフトレジスタと、前記第１のシフトレジスタで選択されたワード線に接続された第１のグループと第２のグループのメモリセルの第１のポートから読み出されたデータのうち、第１のグループから読み出されたデータと、第２のグループから読み出されたデータとから、所定の条件で選択して第１の出力信号を出力する第１のデータ選択手段と、前記第２のシフトレジスタで選択されたワード線に接続された第１のグループと第２のグループのメモリセルの第１のポートから読み出されたデータのうち、第１のグループから読み出されたデータと、第２のグループから読み出されたデー夕とから、所定の条件で選択して第２の出力信号を出力する第２のデータ選択手段と、を具備することを特徴とする。
【００１１】
請求項２に係る発明は、請求項１に記載の発明である半導体記憶装置において、前記第１のシフトレジスタと前記第２のシフトレジスタとが循環して順にワード線を選択する方向は、互いに逆方向であることを特徴とする。
請求項３に係る発明は、請求項１又は２に記載の発明である半導体記憶装置において、前記第１のデータ選択手段および前記第２のデータ選択手段は、前記第１のシフトレジスタと前記第２のシフトレジスタとが選択するワード線が第１番目から最終番目へ移行する際、または最終番目から第１番目へ移行する際に出力される信号と、デジタルフィル夕の演算に必要なデータを出力するためのサイクルの切り替わりで出力される信号とに基づいて制御されることを特徴とする。
【００１２】
請求項４に係る発明は、請求項３に記載の半導体記憶装置において、前記サイクルの一番最後に選択されたメモリセルに新たなデー夕を記憶することを特徴とする。
請求項５に係る発明は、請求項１〜４に記載の発明である半導体記憶装置において、１つのワード線で選択される前記第１のグループおよび第２のグループのメモリセルはそれぞれ処理されるチャネル数に応じた数の複数のメモリセルからなることを特徴とする。
【００１３】
一方、上記課題を解決するために、請求項６に係る発明であるデジタルフィルタは、請求頃１ないし５のいずれかに記載の半導体記憶装置と、前記半導体記憶装置から出力される第１の出力信号と第２の出力信号を互いに加算する加算手段と、前記加算された出力信号と係数を乗算する乗算手段と、前記乗算された演算結果を累積加算する累積加算手段と、を具備する。
【００１４】
したがって、請求項１ないし４に係る発明である半導体記憶装置にあっては、第１及び第２のシフトレジスタで第１又は第２のワード線群を順次選択するとともに、第１及び第２のデータ選択手段で第１または第２のグループのデータを順次選択するだけで、データＸ(z-k)とＸ(z-n+k)とが記憶されているメモリセルを特定することができるので、メモリセルのアドレスを記憶しておく回路を必要とせず、回路規模を小さくすることができ、プレアディング手法を用いたデジタルフィルタに用いて好適である。
【００１５】
さらに、請求項５に係る発明にあっては、前記メモリセルアレイに記憶されるメモリセルが複数であるため、複数チャンネルに対応でき、例えば、オーディオ装置の左側スピーカと右側スピーカとに供給されるデータを１単位のデータとして記憶することにより、前記左側スピーカと右側スピーカとに供給されるデータをほぼ同一時刻に読み出すことができ、データの種類が増えてもメモリセルアレイの数を増やさなくても済み、回路規模を大きくせずに済む。
【００１６】
【発明の実施の形態】
以下、本発明に係る半導体記憶装置を用いてプレアディング手法を用いたデジタルＦＩＲフィルタを構成し、ΔΣ型ＤＡコンバータに適用した例について図面を参照して説明する。
図１は、本発明の第１実施形態におけるΔΣ型ＤＡコンバータの概略構成図である。
【００１７】
図１に示すように、本実施形態におけるΔΣ型ＤＡコンバータは、インタポレーションフィルタ１、２及び４と、ΔΣ変調器５と、ローパスフィルタ６ａ、６ｂとを備えている。
インタポレーションフィルタ１、２、４はそれぞれ入力されるデジタル信号を補間して、サンプリング周波数を高くし、所定の周波数特性を有するフィルタである。
【００１８】
例えば、１６bit３２kHzサンプリングのＰＣＭデジタル信号（Ｌch、Ｒch）が入力され、それぞれで２倍のサンプリング周波数に変換され、最終的に８倍サンプリング周波数とされる。
ΔΣ変調器５は、ノイズシェーパとも呼ばれ、ノイズを高域におし上げて、１ビット（多ビットでもよい）の密度変調されたＰＤＭ信号を出力する。
【００１９】
この段階でＬchとＲchの２チャンネルに分離され、それぞれローパスフィルタ６ａ、６ｂで高域ノイズを除去し、アナログ信号を出力する。
インタポレーションフィルタ１、２、４は、前述したように、デジタルフィルタで構成され、ハーフバンドＦＩＲフィルタになっている。
インタポレーションフィルタ１、２、４はそれぞれ入力されたデジタル信号を記憶保持するデュアルポート型メモリ３と、プレアディングするための加算機７、データに乗算する係数が記憶された係数メモリ８、加算されたデータと係数を乗算して累積加算する乗累算器９と、を備えている。なお、インタポレーションフィルタ２、４は、インタポレーションフィルタ１と同様の構成であるので、簡略化して図示している。
【００２０】
そして、前記２式に示すように、インタポレーションフィルタ１のタップ数を２Ｎとすると、デュアルポート型メモリ３に記憶されているデータＸ(z-k)とＸ(zN-k)とを２つ同時に読み出して、その読み出したデータを加算機７で加算し、その加算結果に所定の係数ｈ2k-1を乗じ、その乗算結果を累積加算して、インタポレーションフィルタ１で補間されたデータＹ(z)を出力するようになっている。
【００２１】
デュアルポート型メモリ３は、図２および図３に示すように、行および列の両方向にアレイ状に配置された複数のメモリセル１０を有する複数のメモリセルアレイ１１と、所定の周期でメモリセルアレイ１１の行を順次選択して巡回する第１のシフトレジスタ１２及び第２のシフトレジスタ１３と、メモリセルアレイ１１の上位側の列群であるＡグループと下位側の列群であるＢグループとを交互に選択する第１の列選択部１４及び第２の列選択部１５と、出力データのセンスアンプ３２、３５と入力データのゲート回路３３、３６とからなりメモリセルアレイ１１に対応して設けられる第１のインタフェース１６及び第２のインタフェース１７と、上記各構成要素を初期状態に戻すカウンタ１８と、を備えている。
【００２２】
各メモリセルアレイ１１を構成するメモリセル１０には、１ビットずつ記憶するようになっている。そして、データは、デジタル値としては多ビットで表現される。そこで、その多ビットからなるデータを保存し、処理するためにデータのビット数と同じ個数のメモリセルアレイ１１が用意されている。それゆえ、メモリセルアレイ１１の数はデータの分解能によって決まり、例えばデータが２４ビットで表されるならば、２４個のメモリセルアレイ１１が用いられる。
【００２３】
また、各メモリセルアレイ１１は、インタポレーションフィルタ１に順次利用されるデータ群をＡグループの１列とＢグループの１列とで記憶するようになっている。それゆえ、メモリセルアレイ１１の行数はインタポレーションフィルタ１のタップ数によって決まり、インタポレーションフィルタ１のタップ数が２Ｎである場合には、メモリセルアレイ１１の行数はその半分のＮになる。また、メモリセルアレイ１１の列数は１つのメモリセルアレイ１１に何種類のデータが記憶されるかによって決まり、例えば１つのメモリセルアレイ１１に左チャンネル用のデータと右チャンネル用のデータ群との２種類のデータが記憶される場合には、列数は４になる。
【００２４】
デュアルポート型メモリ３は、各メモリセルアレイ１１の複数のメモリセル１０をそれぞれ行ごとに接続する複数の第１のワード線１９と、第１のワード線１９とは別に、各メモリセルアレイ１１の複数のメモリセル１０をそれぞれ行ごとに接続する複数の第２のワード線２０と、各メモリセルアレイ１１の複数のメモリセル１０をそれぞれ列ごとに接続する複数の第１のビット線２１と、第１のビット線２１とは別に、各メモリセルアレイ１１の複数のメモリセル１０をそれぞれ列ごとに接続する複数の第２のビット線２２とを有し、第１のワード線１９と第１のビット線２１とにより又は第２のワード線２０と第２のビット線２２とにより各メモリセルアレイ１１の任意のメモリセル１０を選択できるようになっている。
【００２５】
第１のシフトレジスタ１２は、図３に示すように、一列に連結されたＮ個のＤ−ＦＦ（Ｄフリップフロップ）回路２３を備え、各Ｄ−ＦＦ回路２３には、前段のＤ−ＦＦ回路２３の出力とＣＬＫＡ信号（第１の行方向基準クロック）とが入力され、ＣＬＫＡ信号に同期してＤ−ＦＦ回路２３の出力をシフトするとともに、最終段のＤ−ＦＦ回路２３が初段のＤ−ＦＦ回路２３に連結されていて、Ｄ−ＦＦ回路２３の出力を巡回するようになっている。ＣＬＫＡ信号は、所定周期を有する方形波が、１サイクル中に（Ｎ−１）回だけ繰り返されてなる信号である。
【００２６】
また、初段のＤ−ＦＦ回路２３の出力は、複数のメモリセルアレイ１１の最上位のアドレス行を接続する第１のワード線１９に接続され、最終段のＤ−ＦＦ回路２３の出力は最下位のアドレス行を接続する第１のワード線１９に接続され、その他の各Ｄ−ＦＦ回路２３の出力はそれぞれ対応する第１のワード線１９に接続されている。そして、初期状態において、初段のＤ−ＦＦ回路２３には“Ｈ”レベルが、他の全てのＤ−ＦＦ回路２３には“Ｌ”レベルが設定されるため、ＣＬＫＡ信号に同期して“Ｈ”レベル信号がＤ−ＦＦ回路２３を順次シフトするから、ＣＬＫＡ信号に同期して現在選択されている第１のワード線１９よりも１つ下位の第１のワード線１９を順次選択するようになっている。
【００２７】
第２のシフトレジスタ１３も、一列に連結されたＮ個のＤ−ＦＦ回路２４を備えるが、各Ｄ−ＦＦ回路２４には、前段のＤ−ＦＦ回路２４の出力とＣＬＫＢ信号（第２の行方向基準クロック）とが入力され、ＣＬＫＢ信号に同期してＤ−ＦＦ回路２４の出力をシフトするとともに、最終段のＤ−ＦＦ回路２４が初段のＤ−ＦＦ回路２４に連結されていて、Ｄ−ＦＦ回路２４の出力を巡回するようになっている。ＣＬＫＢ信号は、ＣＬＫＡ信号の方形波と同一の周期を有する方形波が、１サイクル中に（Ｎ＋１）回だけ繰り返されてなる信号である。
【００２８】
また、初段のＤ−ＦＦ回路２４の出力は、複数のメモリセルアレイ１１の最下位のアドレス行を接続する第２のワード線２０に接続され、最終段のＤ−ＦＦ回路２４の出力は最上位のアドレス行を接続する第２のワード線２０に接続され、その他の各Ｄ−ＦＦ回路２４の出力はそれぞれ対応する第２のワード線２０に接続されている。そして、初期状態において、初段のＤ−ＦＦ回路２３には“Ｈ”レベルが、他の全てのＤ−ＦＦ回路２３には“Ｌ”レベルが設定されるため、ＣＬＫＢ信号に同期して“Ｈ”レベル信号がＤ−ＦＦ回路２３を順次シフトするから、ＣＬＫＢ信号に同期して現在選択されている第２のワード線２０よりも１つ上位の第２のワード線２０を順次選択するようになっている。
【００２９】
第１の列選択部１４は、第１のシフトレジスタ１２の最終段のＤ−ＦＦ回路２３の出力ＰｕｌｓｅＡと１サイクルに１つの方形波を発生するＣＬＫ１信号（サイクル基準クロック）とが入力されるＯＲ回路２５と、クロック端子にＯＲ回路２５の出力が入力されるとともにデータ端子に“Ｈ”レベル信号が入力されるＴ−ＦＦ（Ｔフリップフロップ）回路２６と、Ｔ−ＦＦ回路２６の出力ＱＡ及びＣＬＫＡ信号（読み出し基準クロック）が入力されるＬＯＧＩＣ回路２７と、を備える。
【００３０】
それゆえ、ＯＲ回路２５の出力は、新しいサイクルが始まるとき及び最下位のアドレス行の第１のワード線１９が選択されたときに、“Ｈ”レベルから“Ｌ”レベルに変化するとともに、Ｔ−ＦＦ回路２６の出力は、ＯＲ回路２５の出力が“Ｈ”レベルから“Ｌ”レベルに変化するときに“Ｌ”レベルから“Ｈ”レベルに又は“Ｈ”レベルから“Ｌ”レベルに反転するようになっていて、新しいサイクルが始まるとき及び最下位のアドレス行の第１のワード線１９が選択されたときに出力ＱＡが反転するようになっている。
【００３１】
また、ＬＯＧＩＣ回路２７は、Ｔ−ＦＦ回路２６の出力ＱＡが“Ｈ”レベルであるときは複数のメモリセルアレイ１１のＢグループを選択し、Ｔ−ＦＦ回路２６の出力ＱＡが“Ｌ”レベルであるときはＡグループを選択するようになっており、新しいサイクルが始まるとき及び最下位のアドレス行の第１のワード線１９が選択されたときにＡグループとＢグループとを交互に選択するとともに、ＣＬＫＡ信号が“Ｌ”レベルの場合には各グループのうちの下位のアドレス列を選択し、ＣＬＫＡ信号が“Ｈ”レベルの場合には各グループのうちの上位のアドレス列を選択する信号を複数の第１のインタフェース１６に出力するようになっている。
【００３２】
第２の列選択部１５も、第２のシフトレジスタ１３の最終段のＤ−ＦＦ回路２４の出力ＰｕｌｓｅＢとＣＬＫ１信号とが入力されるＯＲ回路２８と、クロック端子にＯＲ回路２５の出力が入力されるとともにデータ端子に“Ｈ”レベル信号が入力されるＴ−ＦＦ（Ｔフリップフロップ）回路２９と、Ｔ−ＦＦ回路２９の出力ＱＢ及びＣＬＫＢ信号（読み出し基準クロック）が入力されるＬＯＧＩＣ回路３０と、を備える。
【００３３】
それゆえ、ＯＲ回路２８の出力は、新しいサイクルが始まるとき及び最上位のアドレス行の第２のワード線２０が選択されたときに、出力が“Ｈ”レベルから“Ｌ”レベルに変化するとともに、Ｔ−ＦＦ回路２９の出力は、ＯＲ回路２８の出力が“Ｈ”レベルから“Ｌ”レベルに変化すると出力ＱＢが反転するようになっていて、新しいサイクルが始まるとき及び最上位のアドレス行の第２のワード線２０が選択されたときに出力ＱＢが反転するようになっている。
【００３４】
また、ＬＯＧＩＣ回路３０は、Ｔ−ＦＦ回路２９の出力ＱＢが“Ｈ”レベルであるときは複数のメモリセルアレイ１１のＡグループを選択し、Ｔ−ＦＦ回路２９の出力ＱＢが“Ｌ”レベルであるときはＢグループを選択するようになっており、新しいサイクルが始まるとき及び最上位のアドレス行の第２のワード線２０が選択されたときに、ＡグループとＢグループとを交互に選択するとともに、ＣＬＫＢ信号が“Ｌ”レベルの場合には各グループのうちの下位のアドレス列を選択し、ＣＬＫＢ信号が“Ｈ”レベルの場合には各グループのうちの上位のアドレス列を選択する信号を複数の第２のインタフェース１７に出力するようになっている。
【００３５】
第１のインタフェース１６は、第１の列選択部１４のＬＯＧＩＣ回路２７の出力に基づいて４本の第１のビット線２１のうちのいずれか１つを選択するセレクタ３１と、セレクタ３１に選択された第１のビット線２１上のデータを増幅するセンスアンプ３２と、セレクタ３１に選択された第１のビット線２１に入力するデータのゲート回路３３と、を備え、データ入力時には、データを１ビットづつ各第１のインタフェース１６のゲート回路３３を開いて、１ビットのデータを第１のビット線２１を経由してメモリセル１０に記憶するようになっており、データ出力時には、第１のシフトレジスタ１２及び第１の列選択部１４で選択されたメモリセル１０に記憶されていた１ビットのデータを第１のビット線２１を経由してセンスアンプ３２に入力して増幅し、各センスアンプ３２から出力される１ビットのデータを出力するようになっている。
【００３６】
第２のインタフェース１７も、第２の列選択部１５のＬＯＧＩＣ回路３０の出力に基づいて第２のビット線２２を選択するセレクタ３３と、セレクタ３３に選択された第２のビット線２２上のデータを増幅するセンスアンプ３５と、セレクタ３３に選択された第２のビット線２２を介してメモリセル１０に入力するデータのラッチ回路３６と、を備え、データ入力時には、データを１ビットずつ各第２のインタフェース１７のラッチ回路３６を開いて、１ビットのデータを第２のビット線２２を経由してメモリセル１０に記憶するようになっており、データ出力時には、第２のシフトレジスタ１３及び第２の列選択部１５で選択されたメモリセル１０に記憶されていた１ビットのデータを第２のビット線２２を経由してセンスアンプ３５に出力して増幅し、各センスアンプ３５から出力される１ビットのデータを出力するようになっている。
【００３７】
なお、メモリセルアレイ１１には、左チャンネルと右チャンネルとで同じタイミングに発せられるデータｘj(L)、ｘj(R)が、同じグループの同じアドレス行内において下位側のアドレス列に対応するメモリセル１０と上位側のアドレス列に対応するメモリセル１０とに個別に記憶されるようになっており、マルチチャンネルであっても制御はほとんど増えない。
【００３８】
以上のように構成された本実施の形態の半導体記憶装置の動作を図面に基づいて説明する。
図４（ａ）及び図５（ａ）に示すように、第１のシフトレジスタ１２の出力により、複数のメモリセルアレイ１１の最上位の行アドレスに対応する第１のワード線１９が選択されて、その行のメモリセル１０が選択されるとともに、第１の列選択部１４の出力に基づいて第１のインタフェース１６のセレクタ３１により下位のアドレス列から上位のアドレス列に向けて第１のビット線２１が順番に選択されて、Ａグループのメモリセル１０に記憶されている１ビットのデータｘN(L)、ｘN(R)が第１のビット線２１を通じて読み出され、第１のインタフェース１６を介して出力される。
【００３９】
次いで、ＣＬＫＡ信号の１クロックが経過したとする。すると、第１のシフトレジスタ１２により、ＣＬＫＡ信号に同期してＤ−ＦＦ回路２３の出力である“Ｈ”レベル信号がシフトされて１つ下位のアドレス行（Ｎ−１）行が選択され、上記と同様の手順でデータｘN-1(L)、ｘN-1(R)が読み出される。
そして、ＣＬＫＡ信号のクロックがなくなるまで上記手順が繰り返され、最下位のアドレス行に対応するメモリセル１０に記憶されているデータｘ1(L)、ｘ1(R)が読み出されたところでアドレス行の選択及びデータの読み出しが終了する。
【００４０】
同時に、第２のシフトレジスタ１３の出力により、図５（ａ）及び図６（ａ）に示すように、複数のメモリセルアレイ１１の最上位の行アドレスに対応する第２のワード線２０が選択されて、その行のメモリセル１０が選択されるとともに、第２の列選択部１５の出力に基づいて第２のインタフェース１７のセレクタ３４により上位のアドレス列から下位のアドレス列に向けて第２のビット線２２が順番に選択されて、メモリセル１０に記憶されている１ビットのデータｘN+1(L)、ｘN+1(R)が第２のビット線２２を通じて読み出され、第２のインタフェース１７を介して出力される。
【００４１】
次に、ＣＬＫＢ信号の１クロックが経過したとする。すると、第２のシフトレジスタ１３により、ＣＬＫＢ信号に同期してＤ−ＦＦ回路２４の出力である“Ｈ”レベル信号がシフトされて１つ上位のアドレス行（２）行が選択され、上記と同様の手順でデータｘN+2(L)、ｘN+2(R)が読み出される。
そして、ＣＬＫＢ信号がＮクロック目まで上記手順が繰り返され、Ｎクロック目になったとき（１行からスタートしたときにはＮ行目に）ｘ2N(L)、ｘ2N(R)が書き込まれ、同時に読み出される。ここで、最上位のアドレス行が選択されたときにＰｕｌｓｅＢ信号が発生され、第２の列選択部１５のＴ−ＦＦ回路２９の出力ＱＢが“Ｌ”レベルであったのが反転して“Ｈ”レベルとなり、第２の列選択部１５のＬＯＧＩＣ回路３０によりＡグループが選択される。ＣＬＫＢ信号は１クロック多いので、次の行すなわち、１行目に移動して、次のサイクルを待つ。
【００４２】
このようにして、メモリセル１０のアドレスを記憶しておく回路を用いずに、データＸ(z-k)とＸ(z-N+k)とが記憶されているメモリセル１０を特定して同時に読み出すことができるので、プレアディング手法を用いたインタポレーションフィルタを小さな回路規模で構成することができる。
また、新しいサイクルが始まったとする。すると、図４（ｂ）及び図５（ｂ）に示すように、ＣＬＫ１信号のエッジにより第１のシフトレジスタ１２のＴ−ＦＦ回路２３の出力ＱＡが“Ｌ”レベルであったのが反転して“Ｈ”レベルになり、第１の列選択部１４によりＢグループが選択されるとともに、第１のシフトレジスタ１２により最下位の行アドレスに対応する第１のワード線１９が選択され、第１の列選択部１４の出力に基づいて第１のインタフェース１６のセレクタ３１により下位のアドレス列から上位のアドレス列に向けて第１のビット線２１が順番に選択されて、メモリセル１０に記憶されている１ビットのデータｘN+1(L)、ｘN+1(R)が第１のビット線２１を通じて読み出される。
【００４３】
次いで、ＣＬＫＡ信号の１クロックが経過したとする。すると、第１のシフトレジスタ１２のＤ−ＦＦ回路２３の出力である“Ｈ”レベル信号がが最終段から初段にシフトされ、Ｔ−ＦＦ回路２３の出力ＱＡが再び反転して“Ｌ”レベルになり、第１の列選択部１４のＬＯＧＩＣ回路２７によりＡグループが選択されるとともに、第１の列選択部１４の出力に基づいて第１のインタフェース１６のセレクタ３１により下位のアドレス列から上位のアドレス列に向けて第１のビット線２１が順番に選択されて、メモリセル１０に記憶されているデータｘN(L)、ｘN(R)が第１のビット線２１を通じて読み出される。
【００４４】
そして、１サイクルが終了するまで上記手順が繰り返され、最下位のアドレス行から２番目のアドレス行に対応するメモリセル１０に記憶されているデータｘ2(L)、ｘ2(R)が読み出されたところでアドレス行の選択及びデータの読み出しが終了される。
同時に、図５（ｂ）及び図６（ｂ）に示すように、ＣＬＫ１信号のエッジにより第２のシフトレジスタ１３のＴ−ＦＦ回路２４の出力ＱＢが“Ｈ”レベルであったのが反転して“Ｌ”レベルになり、第２の列選択部１５のＬＯＧＩＣ回路３０によりＢグループが選択されるとともに、第１のシフトレジスタ１２により最下位のアドレス行から２番目のアドレス行の第２のワード線２０が選択され、第２の列選択部１５の出力に基づいて第２のインタフェース１７のセレクタ３４により下位のアドレス列から上位のアドレス列に向けて第２のビット線２２が順番に選択され、メモリセル１０に記憶されているデータｘN+2(L)、ｘN+2(R)が第２のビット線２２を通じて読み出される。
【００４５】
次いで、上記手順が繰り返されて第２のシフトレジスタ１３のＤ−ＦＦ回路２３の出力の“Ｈ”レベル信号が最終段から初段に移されると、Ｔ−ＦＦ回路２４の出力ＱＢが再び反転して“Ｈ”レベルになり、第２の列選択部１５によりＡグループが選択されるとともに、第１の列選択部１４の出力に基づいて第２のインタフェース１７のセレクタ３４により下位のアドレス列から上位のアドレス列に向けて第２のビット線２２が順番に選択され、最終的に、１行目のメモリセル１０にデータｘ2N+1(L)、ｘ2N+1(R)が第２のビット線２２を通じて記憶され、同時に読み出される。
【００４６】
３回目のサイクルにおいても、図４（ｃ）、図５（ｃ）、及び図６（ｃ）に示すように、４回目のサイクルにおいても、図４（ｄ）、図５（ｄ）、及び図６（ｄ）に示すように、上記手順が繰り返される。
なお、上記の動作は、第１のインタフェース１６の出力のアドレスがＡグループのＮのとき、第２のインタフェース１７の出力のアドレスがＢグループの１になっているという相関関係があるとき実行される。しかし、ノイズ等によって相関関係がずれると正しい演算を行えなくなる。そこで、所定の感覚でリセットして相関関係を保つようにしている。つまり、カウンタ１８は、ＣＬＫ１信号のクロック数をカウントして、最初のサイクル開始時と２Ｎサイクル毎とにリセット信号ＲＳＴを第１のシフトレジスタ１２、第２のシフトレジスタ１３、第１の列選択部１４、第２の列選択部１５に出力するようになっている。
【００４７】
そして、２Ｎ回目のサイクル毎に、カウンタ１８によりリセット信号ＲＳＴが出力され最初のサイクル開始時と同様の初期状態に設定される。
このように、カウンタ１８が２Ｎサイクル毎にリセット信号ＲＳＴを出力することにより、例えば、ノイズの影響などにより、第１のシフトレジスタ１２のＤ−ＦＦ回路２３の出力が正しい位置からずれたところで“Ｈ”レベル信号を出力し、第１のシフトレジスタ１２が正しい位置からずれたところを選択していたとしても正しい位置に戻すことができる。
【００４８】
また、左チャンネル用のデータと右チャンネル用のデータとを供給する例を示したが、２種類のデータを供給する場合に限ったものではなく、１種類のデータを供給する場合に用いてもよく、また、２種類以上のデータを供給する場合に用いてもよい。
【００４９】
【発明の効果】
以上説明したように、本発明に係る半導体記憶装置にあっては、メモリセルのアドレスを記憶しておく回路を用いずに、データＸ(z-k)とＸ(z-n+k)とが記憶されているメモリセルを特定することができるので、回路規模を小さくすることができ、プレアディング手法を用いたデジタルＦＩＲフィルタに用いて好適である。
【図面の簡単な説明】
【図１】本発明の第１実施形態におけるデジタルＦＩＲフィルタを用いたＤＡコンバータの概略構成図である。
【図２】図１のデジタルフィルタに用いられるデュアルポート型メモリの概略構成図である。
【図３】図１のデジタルフィルタに用いられるデュアルポート型メモリの要部拡大図である。
【図４】図３のデュアルポート型メモリの動作を説明するためのタイミングチャートである。
【図５】図３のデュアルポート型メモリの動作を説明するためのタイミングチャートである。
【図６】図３のデュアルポート型メモリの動作を説明するための説明図である。
【図７】従来のデジタルフィルタの概略構成図である。
【図８】図７のデジタルフィルタにプレアディング手法を用いた概略構成図である。
【図９】図８のデジタルフィルタに用いられるデュアルポート型メモリの動作を説明するためのタイミングチャートである。
【図１０】図８のデジタルフィルタに用いられるデュアルポート型メモリの動作を説明するための説明図である。
【符号の説明】
１、２、４  インタポレーションフィルタ
３  デュアルポート型メモリ
５  ΔΣ変調器
６ａ、６ｂ  ローパスフィルタ
７  加算機
８  係数メモリ
９  乗累加算器
１０  メモリセル
１１  メモリセルアレイ
１２  第１のシフトレジスタ
１３  第２のシフトレジスタ
１４  第１の列選択部
１５  第２の列選択部
１６  第１のインタフェース
１７  第２のインタフェース
１８  カウンタ
【図１】
0004413413.tif 000002
【図２】
0004413413.tif 000003
【図３】
0004413413.tif 000004
【図４】
0004413413.tif 000005
【図５】
0004413413.tif 000006
【図６】
0004413413.tif 000007
【図７】
0004413413.tif 000008
【図８】
0004413413.tif 000009
【図９】
0004413413.tif 000010
【図１０】
0004413413.tif 000011