JP4413413B2 - Semiconductor memory device and digital film - Google Patents

Semiconductor memory device and digital film Download PDF

Info

Publication number
JP4413413B2
JP4413413B2 JP2000320494A JP2000320494A JP4413413B2 JP 4413413 B2 JP4413413 B2 JP 4413413B2 JP 2000320494 A JP2000320494 A JP 2000320494A JP 2000320494 A JP2000320494 A JP 2000320494A JP 4413413 B2 JP4413413 B2 JP 4413413B2
Authority
JP
Japan
Prior art keywords
group
data
shift register
word line
memory cells
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
JP2000320494A
Other languages
Japanese (ja)
Other versions
JP2002133872A (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.)
Asahi Kasei Microdevices Corp
Original Assignee
Asahi Kasei EMD 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 Asahi Kasei EMD Corp filed Critical Asahi Kasei EMD Corp
Priority to JP2000320494A priority Critical patent/JP4413413B2/en
Publication of JP2002133872A publication Critical patent/JP2002133872A/en
Application granted granted Critical
Publication of JP4413413B2 publication Critical patent/JP4413413B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Static Random-Access Memory (AREA)
  • Picture Signal Circuits (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
  • Dram (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、デュアルポート型の半導体記憶装置とその半導体記憶装置を利用したデジタルフィルタとに係り、特に、ΔΣ型DAコンバータのインタポレーションフィルタとして用いられるデジタルフィルタに好適な半導体記憶装置とその半導体記憶装置を利用したデジタルフィルタとに関する。
【0002】
【従来の技術】
ΔΣ型DAコンバータのようなオーバーサンプリング型DAコンバータのインタポレーションフィルタ(Interpolation Filter)としては、下記1式に示すような演算を行うハーフバンド(Half Band)のFIRフィルタ(Finite Impulse Response Filter)が知られている。
【0003】
Y(z)=h1*X(0)+h3*X(z-1)+・・・+h2n-1*X(z-n+1)+h2n+1*X(z-n) ...(1)
ただし、hn+1=1、h(n+1)+m=h(n+1)-m
上記1式に示されるような演算は、最新の時系列データX(0)が入力されてから、次に最新の時系列データX(0)が入力されるまでの1サイクルの間に、図7に示すように、予めメモリ37に記憶しておいた時系列データX(z-k)をそのメモリ37から読み出して、その読み出した時系列データX(z-k)に所定の係数h2k-1を乗じ、その乗算結果を累積加算することにより行われていた。
【0004】
上記1式に示されるような演算を行う場合、データの数を示すタップ数は、FIRフィルタの特性に大きな影響を与える。タップ数は1サイクル内で可能な乗算回数により既定され、その特性を向上するためには1サイクル内での乗算回数を増やせばよいが、所定の時間が決まった1サイクル内で乗算回数を増加させることは困難であった。
【0005】
そのため、通常は、プレアディング(Pre Adding)という手法を用いて、上記1式を下記2式に示すように変形し、乗算回数を増やすことなくタップ数を増加することができるようにしている。
Y(z)=h1*X(0)+h3*X(z-1)+・・・+h2n-1*X(z-n+1)+h2n+1*X(z-n)
=Σh2k+1*{X(z-k)+X(z-n+k)} ...(2)
ただし、k=0〜(n+1)/2
上記2式に示されるような演算は、図8に示すように、予めメモリ37に記憶しておいた時系列データX(z-k)とX(z-n+k)とを2つ同時に読み出して、その読み出した時系列データX(z-k)とX(z-n+k)とを加算し、その加算結果に所定の係数h2k-1を乗じ、その乗算結果を加算することにより行われる。
【0006】
例えばメモリに記憶されている2N個の時系列データX(j)に対して上記2式で示されるディジタルインタポレーションフィルタが用いられる場合にあっては、図9のタイミングチャートに示すように、クロック信号CLK1で示される1サイクル中に、周期が一定の信号をN回繰り返すクロック信号CLK2に応じて、メモリから時系列データを出力A及び出力Bとして2つ同時に読み出すようになっており、X(N)とX(N+1)、X(N-1)とX(N+2)、...、X(1)とX(2N)等を同時に読み出すようになっている。
【0007】
このように、2N個の時系列データの前半部分と後半部分とを同時に読み出す場合にあっては、N個の時系列データを記憶可能なシングルポート型のメモリを2つ用いるのでもよいが、レイアウト面積が大きくなってしまうため、通常は、2N個の時系列データを記憶可能なデュアルポート型のメモリを用いる。
【0008】
【発明が解決しようとする課題】
しかしながら、デュアルポート型のメモリを使用する場合にあっては、単に最上位アドレスの行アドレスの最上位の列アドレスに対応するメモリセルから順に新しい時系列データを記憶させるのでは、図10(a)に示すように、出力Aとして新しいサイクルにおいて最初に読み出される時系列データX(N+1)は、図10(b)に示すように、前のサイクルで最初に読み出された時系列データX(N)が格納されていたメモリセルの行アドレス及び列アドレスを1つずらしたところになるため、前のサイクルで最初に読み込まれたメモリセルの行アドレス及び列アドレスを記憶しておくための回路が必要となり、回路規模が大きくなるという問題点があった。
【0009】
本発明は上記問題点の解決を目的とするものであって、メモリセルのアドレスを記憶する回路を用いずに、データX(z-k)とX(z-n+k)とが記憶されているメモリセルを特定することができる半導体記憶装置およびデジタルフィルタを提供することを目的とする。
【0010】
【課題を解決するための手段】
上記課題を解決するために、請求項1に係る発明である半導体記憶装置は、行および列の両方向にアレイ状に配置された複数のメモリセルを有し、前記複数のメモリセルは、それぞれ第1のポートと第2のポートとで独立に選択されて記憶または読み出しがなされるようになっており、さらに前記複数のメモリセルは行または列方向に第1のグループと第2のグループに分割されているメモリセルアレイと、前記複数のメモリセルの第1のポートにそれぞれ接続され、かつ前記分割された第1のグループと第2のグループのメモリセルを同時に選択する第1のワード線群と、前記複数のメモリセルの第2のポートにそれぞれ接続され、かつ前記分割された第1のグループと第2のグループのメモリセルを同時に選択する第2のワード線群と、前記第1のワード線群のワード線を順に選択するための選択信号を循環して出力する第1のシフトレジスタと、前記第2のワード線群のワード線を順に選択するための選択信号を循環して出力する第2のシフトレジスタと、前記第1のシフトレジスタで選択されたワード線に接続された第1のグループと第2のグループのメモリセルの第1のポートから読み出されたデータのうち、第1のグループから読み出されたデータと、第2のグループから読み出されたデータとから、所定の条件で選択して第1の出力信号を出力する第1のデータ選択手段と、前記第2のシフトレジスタで選択されたワード線に接続された第1のグループと第2のグループのメモリセルの第1のポートから読み出されたデータのうち、第1のグループから読み出されたデータと、第2のグループから読み出されたデー夕とから、所定の条件で選択して第2の出力信号を出力する第2のデータ選択手段と、を具備することを特徴とする。
【0011】
請求項2に係る発明は、請求項1に記載の発明である半導体記憶装置において、前記第1のシフトレジスタと前記第2のシフトレジスタとが循環して順にワード線を選択する方向は、互いに逆方向であることを特徴とする。
請求項3に係る発明は、請求項1又は2に記載の発明である半導体記憶装置において、前記第1のデータ選択手段および前記第2のデータ選択手段は、前記第1のシフトレジスタと前記第2のシフトレジスタとが選択するワード線が第1番目から最終番目へ移行する際、または最終番目から第1番目へ移行する際に出力される信号と、デジタルフィル夕の演算に必要なデータを出力するためのサイクルの切り替わりで出力される信号とに基づいて制御されることを特徴とする。
【0012】
請求項4に係る発明は、請求項3に記載の半導体記憶装置において、前記サイクルの一番最後に選択されたメモリセルに新たなデー夕を記憶することを特徴とする。
請求項5に係る発明は、請求項1〜4に記載の発明である半導体記憶装置において、1つのワード線で選択される前記第1のグループおよび第2のグループのメモリセルはそれぞれ処理されるチャネル数に応じた数の複数のメモリセルからなることを特徴とする。
【0013】
一方、上記課題を解決するために、請求項6に係る発明であるデジタルフィルタは、請求頃1ないし5のいずれかに記載の半導体記憶装置と、前記半導体記憶装置から出力される第1の出力信号と第2の出力信号を互いに加算する加算手段と、前記加算された出力信号と係数を乗算する乗算手段と、前記乗算された演算結果を累積加算する累積加算手段と、を具備する。
【0014】
したがって、請求項1ないし4に係る発明である半導体記憶装置にあっては、第1及び第2のシフトレジスタで第1又は第2のワード線群を順次選択するとともに、第1及び第2のデータ選択手段で第1または第2のグループのデータを順次選択するだけで、データX(z-k)とX(z-n+k)とが記憶されているメモリセルを特定することができるので、メモリセルのアドレスを記憶しておく回路を必要とせず、回路規模を小さくすることができ、プレアディング手法を用いたデジタルフィルタに用いて好適である。
【0015】
さらに、請求項5に係る発明にあっては、前記メモリセルアレイに記憶されるメモリセルが複数であるため、複数チャンネルに対応でき、例えば、オーディオ装置の左側スピーカと右側スピーカとに供給されるデータを1単位のデータとして記憶することにより、前記左側スピーカと右側スピーカとに供給されるデータをほぼ同一時刻に読み出すことができ、データの種類が増えてもメモリセルアレイの数を増やさなくても済み、回路規模を大きくせずに済む。
【0016】
【発明の実施の形態】
以下、本発明に係る半導体記憶装置を用いてプレアディング手法を用いたデジタルFIRフィルタを構成し、ΔΣ型DAコンバータに適用した例について図面を参照して説明する。
図1は、本発明の第1実施形態におけるΔΣ型DAコンバータの概略構成図である。
【0017】
図1に示すように、本実施形態におけるΔΣ型DAコンバータは、インタポレーションフィルタ1、2及び4と、ΔΣ変調器5と、ローパスフィルタ6a、6bとを備えている。
インタポレーションフィルタ1、2、4はそれぞれ入力されるデジタル信号を補間して、サンプリング周波数を高くし、所定の周波数特性を有するフィルタである。
【0018】
例えば、16bit32kHzサンプリングのPCMデジタル信号(Lch、Rch)が入力され、それぞれで2倍のサンプリング周波数に変換され、最終的に8倍サンプリング周波数とされる。
ΔΣ変調器5は、ノイズシェーパとも呼ばれ、ノイズを高域におし上げて、1ビット(多ビットでもよい)の密度変調されたPDM信号を出力する。
【0019】
この段階でLchとRchの2チャンネルに分離され、それぞれローパスフィルタ6a、6bで高域ノイズを除去し、アナログ信号を出力する。
インタポレーションフィルタ1、2、4は、前述したように、デジタルフィルタで構成され、ハーフバンドFIRフィルタになっている。
インタポレーションフィルタ1、2、4はそれぞれ入力されたデジタル信号を記憶保持するデュアルポート型メモリ3と、プレアディングするための加算機7、データに乗算する係数が記憶された係数メモリ8、加算されたデータと係数を乗算して累積加算する乗累算器9と、を備えている。なお、インタポレーションフィルタ2、4は、インタポレーションフィルタ1と同様の構成であるので、簡略化して図示している。
【0020】
そして、前記2式に示すように、インタポレーションフィルタ1のタップ数を2Nとすると、デュアルポート型メモリ3に記憶されているデータX(z-k)とX(zN-k)とを2つ同時に読み出して、その読み出したデータを加算機7で加算し、その加算結果に所定の係数h2k-1を乗じ、その乗算結果を累積加算して、インタポレーションフィルタ1で補間されたデータY(z)を出力するようになっている。
【0021】
デュアルポート型メモリ3は、図2および図3に示すように、行および列の両方向にアレイ状に配置された複数のメモリセル10を有する複数のメモリセルアレイ11と、所定の周期でメモリセルアレイ11の行を順次選択して巡回する第1のシフトレジスタ12及び第2のシフトレジスタ13と、メモリセルアレイ11の上位側の列群であるAグループと下位側の列群であるBグループとを交互に選択する第1の列選択部14及び第2の列選択部15と、出力データのセンスアンプ32、35と入力データのゲート回路33、36とからなりメモリセルアレイ11に対応して設けられる第1のインタフェース16及び第2のインタフェース17と、上記各構成要素を初期状態に戻すカウンタ18と、を備えている。
【0022】
各メモリセルアレイ11を構成するメモリセル10には、1ビットずつ記憶するようになっている。そして、データは、デジタル値としては多ビットで表現される。そこで、その多ビットからなるデータを保存し、処理するためにデータのビット数と同じ個数のメモリセルアレイ11が用意されている。それゆえ、メモリセルアレイ11の数はデータの分解能によって決まり、例えばデータが24ビットで表されるならば、24個のメモリセルアレイ11が用いられる。
【0023】
また、各メモリセルアレイ11は、インタポレーションフィルタ1に順次利用されるデータ群をAグループの1列とBグループの1列とで記憶するようになっている。それゆえ、メモリセルアレイ11の行数はインタポレーションフィルタ1のタップ数によって決まり、インタポレーションフィルタ1のタップ数が2Nである場合には、メモリセルアレイ11の行数はその半分のNになる。また、メモリセルアレイ11の列数は1つのメモリセルアレイ11に何種類のデータが記憶されるかによって決まり、例えば1つのメモリセルアレイ11に左チャンネル用のデータと右チャンネル用のデータ群との2種類のデータが記憶される場合には、列数は4になる。
【0024】
デュアルポート型メモリ3は、各メモリセルアレイ11の複数のメモリセル10をそれぞれ行ごとに接続する複数の第1のワード線19と、第1のワード線19とは別に、各メモリセルアレイ11の複数のメモリセル10をそれぞれ行ごとに接続する複数の第2のワード線20と、各メモリセルアレイ11の複数のメモリセル10をそれぞれ列ごとに接続する複数の第1のビット線21と、第1のビット線21とは別に、各メモリセルアレイ11の複数のメモリセル10をそれぞれ列ごとに接続する複数の第2のビット線22とを有し、第1のワード線19と第1のビット線21とにより又は第2のワード線20と第2のビット線22とにより各メモリセルアレイ11の任意のメモリセル10を選択できるようになっている。
【0025】
第1のシフトレジスタ12は、図3に示すように、一列に連結されたN個のD−FF(Dフリップフロップ)回路23を備え、各D−FF回路23には、前段のD−FF回路23の出力とCLKA信号(第1の行方向基準クロック)とが入力され、CLKA信号に同期してD−FF回路23の出力をシフトするとともに、最終段のD−FF回路23が初段のD−FF回路23に連結されていて、D−FF回路23の出力を巡回するようになっている。CLKA信号は、所定周期を有する方形波が、1サイクル中に(N−1)回だけ繰り返されてなる信号である。
【0026】
また、初段のD−FF回路23の出力は、複数のメモリセルアレイ11の最上位のアドレス行を接続する第1のワード線19に接続され、最終段のD−FF回路23の出力は最下位のアドレス行を接続する第1のワード線19に接続され、その他の各D−FF回路23の出力はそれぞれ対応する第1のワード線19に接続されている。そして、初期状態において、初段のD−FF回路23には“H”レベルが、他の全てのD−FF回路23には“L”レベルが設定されるため、CLKA信号に同期して“H”レベル信号がD−FF回路23を順次シフトするから、CLKA信号に同期して現在選択されている第1のワード線19よりも1つ下位の第1のワード線19を順次選択するようになっている。
【0027】
第2のシフトレジスタ13も、一列に連結されたN個のD−FF回路24を備えるが、各D−FF回路24には、前段のD−FF回路24の出力とCLKB信号(第2の行方向基準クロック)とが入力され、CLKB信号に同期してD−FF回路24の出力をシフトするとともに、最終段のD−FF回路24が初段のD−FF回路24に連結されていて、D−FF回路24の出力を巡回するようになっている。CLKB信号は、CLKA信号の方形波と同一の周期を有する方形波が、1サイクル中に(N+1)回だけ繰り返されてなる信号である。
【0028】
また、初段のD−FF回路24の出力は、複数のメモリセルアレイ11の最下位のアドレス行を接続する第2のワード線20に接続され、最終段のD−FF回路24の出力は最上位のアドレス行を接続する第2のワード線20に接続され、その他の各D−FF回路24の出力はそれぞれ対応する第2のワード線20に接続されている。そして、初期状態において、初段のD−FF回路23には“H”レベルが、他の全てのD−FF回路23には“L”レベルが設定されるため、CLKB信号に同期して“H”レベル信号がD−FF回路23を順次シフトするから、CLKB信号に同期して現在選択されている第2のワード線20よりも1つ上位の第2のワード線20を順次選択するようになっている。
【0029】
第1の列選択部14は、第1のシフトレジスタ12の最終段のD−FF回路23の出力PulseAと1サイクルに1つの方形波を発生するCLK1信号(サイクル基準クロック)とが入力されるOR回路25と、クロック端子にOR回路25の出力が入力されるとともにデータ端子に“H”レベル信号が入力されるT−FF(Tフリップフロップ)回路26と、T−FF回路26の出力QA及びCLKA信号(読み出し基準クロック)が入力されるLOGIC回路27と、を備える。
【0030】
それゆえ、OR回路25の出力は、新しいサイクルが始まるとき及び最下位のアドレス行の第1のワード線19が選択されたときに、“H”レベルから“L”レベルに変化するとともに、T−FF回路26の出力は、OR回路25の出力が“H”レベルから“L”レベルに変化するときに“L”レベルから“H”レベルに又は“H”レベルから“L”レベルに反転するようになっていて、新しいサイクルが始まるとき及び最下位のアドレス行の第1のワード線19が選択されたときに出力QAが反転するようになっている。
【0031】
また、LOGIC回路27は、T−FF回路26の出力QAが“H”レベルであるときは複数のメモリセルアレイ11のBグループを選択し、T−FF回路26の出力QAが“L”レベルであるときはAグループを選択するようになっており、新しいサイクルが始まるとき及び最下位のアドレス行の第1のワード線19が選択されたときにAグループとBグループとを交互に選択するとともに、CLKA信号が“L”レベルの場合には各グループのうちの下位のアドレス列を選択し、CLKA信号が“H”レベルの場合には各グループのうちの上位のアドレス列を選択する信号を複数の第1のインタフェース16に出力するようになっている。
【0032】
第2の列選択部15も、第2のシフトレジスタ13の最終段のD−FF回路24の出力PulseBとCLK1信号とが入力されるOR回路28と、クロック端子にOR回路25の出力が入力されるとともにデータ端子に“H”レベル信号が入力されるT−FF(Tフリップフロップ)回路29と、T−FF回路29の出力QB及びCLKB信号(読み出し基準クロック)が入力されるLOGIC回路30と、を備える。
【0033】
それゆえ、OR回路28の出力は、新しいサイクルが始まるとき及び最上位のアドレス行の第2のワード線20が選択されたときに、出力が“H”レベルから“L”レベルに変化するとともに、T−FF回路29の出力は、OR回路28の出力が“H”レベルから“L”レベルに変化すると出力QBが反転するようになっていて、新しいサイクルが始まるとき及び最上位のアドレス行の第2のワード線20が選択されたときに出力QBが反転するようになっている。
【0034】
また、LOGIC回路30は、T−FF回路29の出力QBが“H”レベルであるときは複数のメモリセルアレイ11のAグループを選択し、T−FF回路29の出力QBが“L”レベルであるときはBグループを選択するようになっており、新しいサイクルが始まるとき及び最上位のアドレス行の第2のワード線20が選択されたときに、AグループとBグループとを交互に選択するとともに、CLKB信号が“L”レベルの場合には各グループのうちの下位のアドレス列を選択し、CLKB信号が“H”レベルの場合には各グループのうちの上位のアドレス列を選択する信号を複数の第2のインタフェース17に出力するようになっている。
【0035】
第1のインタフェース16は、第1の列選択部14のLOGIC回路27の出力に基づいて4本の第1のビット線21のうちのいずれか1つを選択するセレクタ31と、セレクタ31に選択された第1のビット線21上のデータを増幅するセンスアンプ32と、セレクタ31に選択された第1のビット線21に入力するデータのゲート回路33と、を備え、データ入力時には、データを1ビットづつ各第1のインタフェース16のゲート回路33を開いて、1ビットのデータを第1のビット線21を経由してメモリセル10に記憶するようになっており、データ出力時には、第1のシフトレジスタ12及び第1の列選択部14で選択されたメモリセル10に記憶されていた1ビットのデータを第1のビット線21を経由してセンスアンプ32に入力して増幅し、各センスアンプ32から出力される1ビットのデータを出力するようになっている。
【0036】
第2のインタフェース17も、第2の列選択部15のLOGIC回路30の出力に基づいて第2のビット線22を選択するセレクタ33と、セレクタ33に選択された第2のビット線22上のデータを増幅するセンスアンプ35と、セレクタ33に選択された第2のビット線22を介してメモリセル10に入力するデータのラッチ回路36と、を備え、データ入力時には、データを1ビットずつ各第2のインタフェース17のラッチ回路36を開いて、1ビットのデータを第2のビット線22を経由してメモリセル10に記憶するようになっており、データ出力時には、第2のシフトレジスタ13及び第2の列選択部15で選択されたメモリセル10に記憶されていた1ビットのデータを第2のビット線22を経由してセンスアンプ35に出力して増幅し、各センスアンプ35から出力される1ビットのデータを出力するようになっている。
【0037】
なお、メモリセルアレイ11には、左チャンネルと右チャンネルとで同じタイミングに発せられるデータxj(L)、xj(R)が、同じグループの同じアドレス行内において下位側のアドレス列に対応するメモリセル10と上位側のアドレス列に対応するメモリセル10とに個別に記憶されるようになっており、マルチチャンネルであっても制御はほとんど増えない。
【0038】
以上のように構成された本実施の形態の半導体記憶装置の動作を図面に基づいて説明する。
図4(a)及び図5(a)に示すように、第1のシフトレジスタ12の出力により、複数のメモリセルアレイ11の最上位の行アドレスに対応する第1のワード線19が選択されて、その行のメモリセル10が選択されるとともに、第1の列選択部14の出力に基づいて第1のインタフェース16のセレクタ31により下位のアドレス列から上位のアドレス列に向けて第1のビット線21が順番に選択されて、Aグループのメモリセル10に記憶されている1ビットのデータxN(L)、xN(R)が第1のビット線21を通じて読み出され、第1のインタフェース16を介して出力される。
【0039】
次いで、CLKA信号の1クロックが経過したとする。すると、第1のシフトレジスタ12により、CLKA信号に同期してD−FF回路23の出力である“H”レベル信号がシフトされて1つ下位のアドレス行(N−1)行が選択され、上記と同様の手順でデータxN-1(L)、xN-1(R)が読み出される。
そして、CLKA信号のクロックがなくなるまで上記手順が繰り返され、最下位のアドレス行に対応するメモリセル10に記憶されているデータx1(L)、x1(R)が読み出されたところでアドレス行の選択及びデータの読み出しが終了する。
【0040】
同時に、第2のシフトレジスタ13の出力により、図5(a)及び図6(a)に示すように、複数のメモリセルアレイ11の最上位の行アドレスに対応する第2のワード線20が選択されて、その行のメモリセル10が選択されるとともに、第2の列選択部15の出力に基づいて第2のインタフェース17のセレクタ34により上位のアドレス列から下位のアドレス列に向けて第2のビット線22が順番に選択されて、メモリセル10に記憶されている1ビットのデータxN+1(L)、xN+1(R)が第2のビット線22を通じて読み出され、第2のインタフェース17を介して出力される。
【0041】
次に、CLKB信号の1クロックが経過したとする。すると、第2のシフトレジスタ13により、CLKB信号に同期してD−FF回路24の出力である“H”レベル信号がシフトされて1つ上位のアドレス行(2)行が選択され、上記と同様の手順でデータxN+2(L)、xN+2(R)が読み出される。
そして、CLKB信号がNクロック目まで上記手順が繰り返され、Nクロック目になったとき(1行からスタートしたときにはN行目に)x2N(L)、x2N(R)が書き込まれ、同時に読み出される。ここで、最上位のアドレス行が選択されたときにPulseB信号が発生され、第2の列選択部15のT−FF回路29の出力QBが“L”レベルであったのが反転して“H”レベルとなり、第2の列選択部15のLOGIC回路30によりAグループが選択される。CLKB信号は1クロック多いので、次の行すなわち、1行目に移動して、次のサイクルを待つ。
【0042】
このようにして、メモリセル10のアドレスを記憶しておく回路を用いずに、データX(z-k)とX(z-N+k)とが記憶されているメモリセル10を特定して同時に読み出すことができるので、プレアディング手法を用いたインタポレーションフィルタを小さな回路規模で構成することができる。
また、新しいサイクルが始まったとする。すると、図4(b)及び図5(b)に示すように、CLK1信号のエッジにより第1のシフトレジスタ12のT−FF回路23の出力QAが“L”レベルであったのが反転して“H”レベルになり、第1の列選択部14によりBグループが選択されるとともに、第1のシフトレジスタ12により最下位の行アドレスに対応する第1のワード線19が選択され、第1の列選択部14の出力に基づいて第1のインタフェース16のセレクタ31により下位のアドレス列から上位のアドレス列に向けて第1のビット線21が順番に選択されて、メモリセル10に記憶されている1ビットのデータxN+1(L)、xN+1(R)が第1のビット線21を通じて読み出される。
【0043】
次いで、CLKA信号の1クロックが経過したとする。すると、第1のシフトレジスタ12のD−FF回路23の出力である“H”レベル信号がが最終段から初段にシフトされ、T−FF回路23の出力QAが再び反転して“L”レベルになり、第1の列選択部14のLOGIC回路27によりAグループが選択されるとともに、第1の列選択部14の出力に基づいて第1のインタフェース16のセレクタ31により下位のアドレス列から上位のアドレス列に向けて第1のビット線21が順番に選択されて、メモリセル10に記憶されているデータxN(L)、xN(R)が第1のビット線21を通じて読み出される。
【0044】
そして、1サイクルが終了するまで上記手順が繰り返され、最下位のアドレス行から2番目のアドレス行に対応するメモリセル10に記憶されているデータx2(L)、x2(R)が読み出されたところでアドレス行の選択及びデータの読み出しが終了される。
同時に、図5(b)及び図6(b)に示すように、CLK1信号のエッジにより第2のシフトレジスタ13のT−FF回路24の出力QBが“H”レベルであったのが反転して“L”レベルになり、第2の列選択部15のLOGIC回路30によりBグループが選択されるとともに、第1のシフトレジスタ12により最下位のアドレス行から2番目のアドレス行の第2のワード線20が選択され、第2の列選択部15の出力に基づいて第2のインタフェース17のセレクタ34により下位のアドレス列から上位のアドレス列に向けて第2のビット線22が順番に選択され、メモリセル10に記憶されているデータxN+2(L)、xN+2(R)が第2のビット線22を通じて読み出される。
【0045】
次いで、上記手順が繰り返されて第2のシフトレジスタ13のD−FF回路23の出力の“H”レベル信号が最終段から初段に移されると、T−FF回路24の出力QBが再び反転して“H”レベルになり、第2の列選択部15によりAグループが選択されるとともに、第1の列選択部14の出力に基づいて第2のインタフェース17のセレクタ34により下位のアドレス列から上位のアドレス列に向けて第2のビット線22が順番に選択され、最終的に、1行目のメモリセル10にデータx2N+1(L)、x2N+1(R)が第2のビット線22を通じて記憶され、同時に読み出される。
【0046】
3回目のサイクルにおいても、図4(c)、図5(c)、及び図6(c)に示すように、4回目のサイクルにおいても、図4(d)、図5(d)、及び図6(d)に示すように、上記手順が繰り返される。
なお、上記の動作は、第1のインタフェース16の出力のアドレスがAグループのNのとき、第2のインタフェース17の出力のアドレスがBグループの1になっているという相関関係があるとき実行される。しかし、ノイズ等によって相関関係がずれると正しい演算を行えなくなる。そこで、所定の感覚でリセットして相関関係を保つようにしている。つまり、カウンタ18は、CLK1信号のクロック数をカウントして、最初のサイクル開始時と2Nサイクル毎とにリセット信号RSTを第1のシフトレジスタ12、第2のシフトレジスタ13、第1の列選択部14、第2の列選択部15に出力するようになっている。
【0047】
そして、2N回目のサイクル毎に、カウンタ18によりリセット信号RSTが出力され最初のサイクル開始時と同様の初期状態に設定される。
このように、カウンタ18が2Nサイクル毎にリセット信号RSTを出力することにより、例えば、ノイズの影響などにより、第1のシフトレジスタ12のD−FF回路23の出力が正しい位置からずれたところで“H”レベル信号を出力し、第1のシフトレジスタ12が正しい位置からずれたところを選択していたとしても正しい位置に戻すことができる。
【0048】
また、左チャンネル用のデータと右チャンネル用のデータとを供給する例を示したが、2種類のデータを供給する場合に限ったものではなく、1種類のデータを供給する場合に用いてもよく、また、2種類以上のデータを供給する場合に用いてもよい。
【0049】
【発明の効果】
以上説明したように、本発明に係る半導体記憶装置にあっては、メモリセルのアドレスを記憶しておく回路を用いずに、データX(z-k)とX(z-n+k)とが記憶されているメモリセルを特定することができるので、回路規模を小さくすることができ、プレアディング手法を用いたデジタルFIRフィルタに用いて好適である。
【図面の簡単な説明】
【図1】本発明の第1実施形態におけるデジタルFIRフィルタを用いたDAコンバータの概略構成図である。
【図2】図1のデジタルフィルタに用いられるデュアルポート型メモリの概略構成図である。
【図3】図1のデジタルフィルタに用いられるデュアルポート型メモリの要部拡大図である。
【図4】図3のデュアルポート型メモリの動作を説明するためのタイミングチャートである。
【図5】図3のデュアルポート型メモリの動作を説明するためのタイミングチャートである。
【図6】図3のデュアルポート型メモリの動作を説明するための説明図である。
【図7】従来のデジタルフィルタの概略構成図である。
【図8】図7のデジタルフィルタにプレアディング手法を用いた概略構成図である。
【図9】図8のデジタルフィルタに用いられるデュアルポート型メモリの動作を説明するためのタイミングチャートである。
【図10】図8のデジタルフィルタに用いられるデュアルポート型メモリの動作を説明するための説明図である。
【符号の説明】
1、2、4 インタポレーションフィルタ
3 デュアルポート型メモリ
5 ΔΣ変調器
6a、6b ローパスフィルタ
7 加算機
8 係数メモリ
9 乗累加算器
10 メモリセル
11 メモリセルアレイ
12 第1のシフトレジスタ
13 第2のシフトレジスタ
14 第1の列選択部
15 第2の列選択部
16 第1のインタフェース
17 第2のインタフェース
18 カウンタ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a dual-port semiconductor memory device and a digital filter using the semiconductor memory device, and more particularly to a semiconductor memory device suitable for a digital filter used as an interpolation filter of a ΔΣ DA converter and the semiconductor The present invention relates to a digital filter using a storage device.
[0002]
[Prior art]
As an interpolation filter of an oversampling DA converter such as a ΔΣ DA converter, there is a half band FIR filter (Finite Impulse Response Filter) that performs an operation represented by the following equation (1). Are known.
[0003]
Y (z) = h1* X (0) + hThree* X (z-1) + ... + h2n-1* X (z-n + 1) + H2n + 1* X (z-n) ... (1)
However, hn + 1= 1, h(n + 1) + m= H(n + 1) -m
The calculation shown in the above formula 1 is performed during one cycle from the time when the latest time series data X (0) is input to the time when the latest time series data X (0) is input. As shown in FIG. 7, the time series data X (z-k) From the memory 37, and the read time-series data X (z-k) And a predetermined coefficient2k-1And the multiplication result is cumulatively added.
[0004]
When performing the calculation shown in the above equation 1, the number of taps indicating the number of data greatly affects the characteristics of the FIR filter. The number of taps is determined by the number of multiplications that can be performed within one cycle. To improve the characteristics, the number of multiplications within one cycle may be increased. However, the number of multiplications is increased within one cycle with a predetermined time. It was difficult to do.
[0005]
For this reason, usually, using a technique called pre-adding, the above formula 1 is modified as shown in the following formula 2, so that the number of taps can be increased without increasing the number of multiplications.
Y (z) = h1* X (0) + hThree* X (z-1) + ... + h2n-1* X (z-n + 1) + H2n + 1* X (z-n)
= Σh2k + 1* {X (z-k) + X (z-n + k)} ... (2)
However, k = 0 to (n + 1) / 2
As shown in FIG. 8, the calculation as shown in the above two formulas is performed as time-series data X (z-k) And X (z-n + k) At the same time, and the read time-series data X (z-k) And X (z-n + k) And a predetermined coefficient h to the addition result2k-1And multiplying the multiplication results.
[0006]
For example, in the case where the digital interpolation filter represented by the above two formulas is used for 2N time-series data X (j) stored in the memory, as shown in the timing chart of FIG. In one cycle indicated by the clock signal CLK1, two time-series data are simultaneously read out as output A and output B from the memory in response to the clock signal CLK2 in which a signal having a constant period is repeated N times. (N) and X (N + 1), X (N-1) and X (N + 2),..., X (1) and X (2N), etc. are read simultaneously.
[0007]
Thus, in the case where the first half and the second half of 2N time-series data are read simultaneously, two single-port memories that can store N time-series data may be used. Since the layout area becomes large, a dual port type memory capable of storing 2N pieces of time series data is usually used.
[0008]
[Problems to be solved by the invention]
However, in the case of using a dual port type memory, simply storing new time-series data in order from the memory cell corresponding to the highest column address of the highest address row address is shown in FIG. As shown in FIG. 10B, the time series data X (N + 1) read first in the new cycle as the output A is the time series data read first in the previous cycle as shown in FIG. Since the row address and column address of the memory cell in which X (N) is stored are shifted by one, the row address and column address of the memory cell read first in the previous cycle are stored. Therefore, there is a problem that the circuit scale becomes large.
[0009]
The object of the present invention is to solve the above-mentioned problems, and without using a circuit for storing the address of the memory cell, the data X (z-k) And X (z-n + kThe object is to provide a semiconductor memory device and a digital filter capable of specifying a memory cell in which the memory cell is stored.
[0010]
[Means for Solving the Problems]
In order to solve the above problem, a semiconductor memory device according to a first aspect of the present invention includes a plurality of memory cells arranged in an array in both row and column directions, and each of the plurality of memory cells includes a first memory cell. One port and a second port are independently selected for storage or reading, and the plurality of memory cells are divided into a first group and a second group in the row or column direction. And a first word line group that is connected to a first port of each of the plurality of memory cells and simultaneously selects the divided first group and second group memory cells. A second word line group respectively connected to a second port of the plurality of memory cells and simultaneously selecting the divided first group and second group memory cells; A first shift register that circulates and outputs a selection signal for sequentially selecting the word lines of the first word line group, and a selection signal for sequentially selecting the word lines of the second word line group. Read from the first port of the second shift register that outputs in a circulating manner, and the first group and the second group of memory cells connected to the word line selected by the first shift register Of the data, a first data selection means for selecting a predetermined condition from data read from the first group and data read from the second group and outputting a first output signal Of the data read from the first port of the memory cells of the first group and the second group connected to the word line selected by the second shift register, the data is read from the first group. Issued And over data to the data evening and read from the second group, characterized by comprising a second data selecting means for outputting a second output signal by selecting a predetermined condition.
[0011]
According to a second aspect of the present invention, in the semiconductor memory device according to the first aspect of the present invention, the first shift register and the second shift register circulate in order to select the word lines in order. It is the reverse direction.
According to a third aspect of the present invention, in the semiconductor memory device according to the first or second aspect of the present invention, the first data selection unit and the second data selection unit include the first shift register and the second data selection unit. The signal output when the word line selected by the shift register 2 shifts from the first to the last or from the last to the first, and the data necessary for the calculation of the digital fill It is controlled based on the signal output by the change of the cycle for outputting.
[0012]
According to a fourth aspect of the present invention, in the semiconductor memory device according to the third aspect, new data is stored in the memory cell selected at the end of the cycle.
According to a fifth aspect of the present invention, in the semiconductor memory device according to any one of the first to fourth aspects, the first group and second group of memory cells selected by one word line are processed. It consists of a plurality of memory cells corresponding to the number of channels.
[0013]
On the other hand, in order to solve the above-described problem, a digital filter according to a sixth aspect of the present invention includes a semiconductor memory device according to any one of claims 1 to 5 and a first output output from the semiconductor memory device. An adding means for adding the signal and the second output signal to each other; a multiplying means for multiplying the added output signal by a coefficient; and a cumulative adding means for cumulatively adding the multiplied operation results.
[0014]
Therefore, in the semiconductor memory device according to the first to fourth aspects of the present invention, the first and second word line groups are sequentially selected by the first and second shift registers, and the first and second word lines are selected. The data X (z-k) And X (z-n + k) Can be specified, so that a circuit for storing the memory cell address is not required, the circuit scale can be reduced, and a digital filter using a pre-adding technique can be used. It is suitable for use.
[0015]
Furthermore, in the invention according to claim 5, since there are a plurality of memory cells stored in the memory cell array, it is possible to support a plurality of channels. For example, data supplied to the left speaker and the right speaker of the audio device Is stored as one unit of data, the data supplied to the left speaker and the right speaker can be read out at substantially the same time, and the number of memory cell arrays need not be increased even if the number of data types increases. It is not necessary to increase the circuit scale.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an example in which a digital FIR filter using a pre-adding technique is configured using a semiconductor memory device according to the present invention and applied to a ΔΣ DA converter will be described with reference to the drawings.
FIG. 1 is a schematic configuration diagram of a ΔΣ DA converter according to a first embodiment of the present invention.
[0017]
As shown in FIG. 1, the ΔΣ type DA converter in this embodiment includes interpolation filters 1, 2 and 4, a ΔΣ modulator 5, and low-pass filters 6a and 6b.
Interpolation filters 1, 2, and 4 are filters having predetermined frequency characteristics by interpolating input digital signals to increase the sampling frequency.
[0018]
For example, a PCM digital signal (Lch, Rch) of 16 bits and 32 kHz sampling is input, converted to twice the sampling frequency, and finally set to an 8 times sampling frequency.
The ΔΣ modulator 5 is also called a noise shaper, raises noise to a high frequency, and outputs a 1-bit (may be multi-bit) density-modulated PDM signal.
[0019]
At this stage, it is separated into two channels, Lch and Rch, and high-frequency noise is removed by low-pass filters 6a and 6b, respectively, and an analog signal is output.
As described above, the interpolation filters 1, 2, and 4 are configured by digital filters and are half-band FIR filters.
The interpolation filters 1, 2, and 4 each have a dual-port memory 3 that stores and holds an input digital signal, an adder 7 for pre-adding, a coefficient memory 8 that stores a coefficient to multiply data, and an addition A multiplier / accumulator 9 that multiplies the obtained data by a coefficient and performs cumulative addition. The interpolation filters 2 and 4 have the same configuration as the interpolation filter 1 and are therefore shown in a simplified manner.
[0020]
As shown in the above equation 2, if the number of taps of the interpolation filter 1 is 2N, the data X (z-k) And X (zNk) Are simultaneously read out, the read out data is added by the adder 7, and a predetermined coefficient h is added to the addition result.2k-1And the multiplication results are cumulatively added, and data Y (z) interpolated by the interpolation filter 1 is output.
[0021]
2 and 3, the dual port memory 3 includes a plurality of memory cell arrays 11 having a plurality of memory cells 10 arranged in an array in both row and column directions, and a memory cell array 11 at a predetermined cycle. The first shift register 12 and the second shift register 13 that sequentially select and circulate the rows, and the A group that is the upper column group and the B group that is the lower column group of the memory cell array 11 are alternately arranged. The first column selection unit 14 and the second column selection unit 15 to be selected, the output data sense amplifiers 32 and 35, and the input data gate circuits 33 and 36 are provided corresponding to the memory cell array 11. The first interface 16 and the second interface 17 and a counter 18 for returning the above-described components to the initial state are provided.
[0022]
One bit is stored in each memory cell 10 constituting each memory cell array 11. The data is expressed as a digital value with multiple bits. Therefore, the same number of memory cell arrays 11 as the number of bits of data are prepared for storing and processing the multi-bit data. Therefore, the number of memory cell arrays 11 is determined by the data resolution. For example, if the data is represented by 24 bits, 24 memory cell arrays 11 are used.
[0023]
Each memory cell array 11 stores a data group sequentially used for the interpolation filter 1 as one column of the A group and one column of the B group. Therefore, the number of rows of the memory cell array 11 is determined by the number of taps of the interpolation filter 1, and when the number of taps of the interpolation filter 1 is 2N, the number of rows of the memory cell array 11 is half that number. . The number of columns of the memory cell array 11 is determined by how many types of data are stored in one memory cell array 11. For example, two types of data for the left channel and a data group for the right channel are stored in one memory cell array 11. The number of columns is 4 when the data is stored.
[0024]
The dual port memory 3 includes a plurality of first word lines 19 that connect a plurality of memory cells 10 of each memory cell array 11 for each row, and a plurality of memory cell arrays 11 separately from the first word lines 19. A plurality of second word lines 20 for connecting the memory cells 10 for each row, a plurality of first bit lines 21 for connecting the plurality of memory cells 10 of each memory cell array 11 for each column, A plurality of second bit lines 22 for connecting a plurality of memory cells 10 of each memory cell array 11 for each column separately from the first bit line 21 and the first word line 19 and the first bit line 21 or an arbitrary memory cell 10 of each memory cell array 11 can be selected by the second word line 20 and the second bit line 22.
[0025]
As shown in FIG. 3, the first shift register 12 includes N D-FF (D flip-flop) circuits 23 connected in a line, and each D-FF circuit 23 includes a preceding D-FF. The output of the circuit 23 and the CLKA signal (first row direction reference clock) are input, the output of the D-FF circuit 23 is shifted in synchronization with the CLKA signal, and the final D-FF circuit 23 is the first stage. It is connected to the D-FF circuit 23 and circulates the output of the D-FF circuit 23. The CLKA signal is a signal obtained by repeating a square wave having a predetermined period only (N−1) times in one cycle.
[0026]
The output of the D-FF circuit 23 at the first stage is connected to the first word line 19 that connects the highest address row of the plurality of memory cell arrays 11, and the output of the D-FF circuit 23 at the final stage is the lowest. The other word lines 19 are connected to the first word lines 19 connected to the other address rows, and the outputs of the other D-FF circuits 23 are connected to the corresponding first word lines 19. In the initial state, the “H” level is set in the first stage D-FF circuit 23 and the “L” level is set in all other D-FF circuits 23, so that the “H” level is synchronized with the CLKA signal. Since the level signal sequentially shifts the D-FF circuit 23, the first word line 19 that is one level lower than the currently selected first word line 19 is sequentially selected in synchronization with the CLKA signal. It has become.
[0027]
The second shift register 13 also includes N D-FF circuits 24 connected in a line, and each D-FF circuit 24 includes an output of the preceding D-FF circuit 24 and a CLKB signal (second signal). And the output of the D-FF circuit 24 is shifted in synchronization with the CLKB signal, and the D-FF circuit 24 at the final stage is connected to the D-FF circuit 24 at the first stage. The output of the D-FF circuit 24 is circulated. The CLKB signal is a signal in which a square wave having the same period as the square wave of the CLKA signal is repeated (N + 1) times in one cycle.
[0028]
The output of the D-FF circuit 24 at the first stage is connected to the second word line 20 connecting the lowest address row of the plurality of memory cell arrays 11, and the output of the D-FF circuit 24 at the final stage is the highest. The other word lines 20 are connected to the second word line 20, and the outputs of the other D-FF circuits 24 are connected to the corresponding second word lines 20. In the initial state, since the “H” level is set in the first stage D-FF circuit 23 and the “L” level is set in all other D-FF circuits 23, the “H” level is set in synchronization with the CLKB signal. Since the level signal sequentially shifts the D-FF circuit 23, the second word line 20 that is one level higher than the currently selected second word line 20 is sequentially selected in synchronization with the CLKB signal. It has become.
[0029]
The first column selection unit 14 receives the output PulseA of the D-FF circuit 23 at the final stage of the first shift register 12 and the CLK1 signal (cycle reference clock) that generates one square wave in one cycle. The OR circuit 25, the T-FF (T flip-flop) circuit 26 in which the output of the OR circuit 25 is input to the clock terminal and the “H” level signal is input to the data terminal, and the output QA of the T-FF circuit 26 And a LOGIC circuit 27 to which a CLKA signal (reading reference clock) is input.
[0030]
Therefore, the output of the OR circuit 25 changes from the “H” level to the “L” level when a new cycle starts and when the first word line 19 of the lowest address row is selected. The output of the FF circuit 26 is inverted from the “L” level to the “H” level or from the “H” level to the “L” level when the output of the OR circuit 25 changes from the “H” level to the “L” level. The output QA is inverted when a new cycle starts and when the first word line 19 in the lowest address row is selected.
[0031]
The LOGIC circuit 27 selects the B group of the plurality of memory cell arrays 11 when the output QA of the T-FF circuit 26 is at “H” level, and the output QA of the T-FF circuit 26 is at “L” level. In some cases, the A group is selected. When a new cycle starts and when the first word line 19 of the lowest address row is selected, the A group and the B group are alternately selected. When the CLKA signal is at “L” level, a lower address column in each group is selected. When the CLKA signal is at “H” level, a signal for selecting an upper address column in each group is selected. The information is output to a plurality of first interfaces 16.
[0032]
The second column selector 15 also has an OR circuit 28 to which the output PulseB of the D-FF circuit 24 at the final stage of the second shift register 13 and the CLK1 signal are input, and an output of the OR circuit 25 to the clock terminal. The T-FF (T flip-flop) circuit 29 to which the “H” level signal is input to the data terminal, and the LOGIC circuit 30 to which the output QB and CLKB signals (read reference clock) of the T-FF circuit 29 are input. And comprising.
[0033]
Therefore, the output of the OR circuit 28 changes from the “H” level to the “L” level when a new cycle starts and when the second word line 20 of the highest address row is selected. The output of the T-FF circuit 29 is such that the output QB is inverted when the output of the OR circuit 28 changes from the “H” level to the “L” level. The output QB is inverted when the second word line 20 is selected.
[0034]
The LOGIC circuit 30 selects the A group of the plurality of memory cell arrays 11 when the output QB of the T-FF circuit 29 is at “H” level, and the output QB of the T-FF circuit 29 is at “L” level. In some cases, the B group is selected, and the A group and the B group are alternately selected when a new cycle starts and when the second word line 20 of the highest address row is selected. In addition, when the CLKB signal is at “L” level, a lower address column in each group is selected. When the CLKB signal is at “H” level, a signal for selecting an upper address column in each group. Are output to a plurality of second interfaces 17.
[0035]
The first interface 16 selects a selector 31 that selects any one of the four first bit lines 21 based on the output of the LOGIC circuit 27 of the first column selection unit 14, and selects the selector 31. A sense amplifier 32 that amplifies the data on the first bit line 21 and a data gate circuit 33 that is input to the first bit line 21 selected by the selector 31. The gate circuit 33 of each first interface 16 is opened bit by bit, and 1-bit data is stored in the memory cell 10 via the first bit line 21. The 1-bit data stored in the memory cell 10 selected by the shift register 12 and the first column selection unit 14 is sent to the sense amplifier 32 via the first bit line 21. Input and amplifies, and outputs a 1-bit data outputted from the sense amplifier 32.
[0036]
The second interface 17 also includes a selector 33 that selects the second bit line 22 based on the output of the LOGIC circuit 30 of the second column selection unit 15, and the second bit line 22 selected by the selector 33. A sense amplifier 35 that amplifies data; and a data latch circuit 36 that is input to the memory cell 10 via the second bit line 22 selected by the selector 33. The latch circuit 36 of the second interface 17 is opened so that 1-bit data is stored in the memory cell 10 via the second bit line 22, and the second shift register 13 is used when data is output. 1-bit data stored in the memory cell 10 selected by the second column selection unit 15 is output to the sense amplifier 35 via the second bit line 22. And to amplify, and outputs the data of 1 bit outputted from the sense amplifier 35.
[0037]
In the memory cell array 11, data x generated at the same timing in the left channel and the right channel.j(L), xj(R) is individually stored in the memory cell 10 corresponding to the lower address column and the memory cell 10 corresponding to the upper address column in the same address row of the same group. Even so, control hardly increases.
[0038]
The operation of the semiconductor memory device of the present embodiment configured as described above will be described with reference to the drawings.
As shown in FIGS. 4A and 5A, the first word line 19 corresponding to the top row address of the plurality of memory cell arrays 11 is selected by the output of the first shift register 12. The memory cell 10 in the row is selected, and the first bit from the lower address column to the upper address column is selected by the selector 31 of the first interface 16 based on the output of the first column selecting unit 14. Line 21 is selected in order, and 1-bit data x stored in memory cell 10 of group AN(L), xN(R) is read through the first bit line 21 and output via the first interface 16.
[0039]
Next, assume that one clock of the CLKA signal has elapsed. Then, the first shift register 12 shifts the “H” level signal that is the output of the D-FF circuit 23 in synchronization with the CLKA signal, and selects the next lower address row (N−1) row. Data x in the same procedure as aboveN-1(L), xN-1(R) is read out.
The above procedure is repeated until the clock of the CLKA signal is exhausted, and the data x stored in the memory cell 10 corresponding to the lowest address row is stored.1(L), x1When (R) is read, the selection of the address line and the reading of data are completed.
[0040]
At the same time, the second word line 20 corresponding to the highest row address of the plurality of memory cell arrays 11 is selected by the output of the second shift register 13 as shown in FIGS. 5 (a) and 6 (a). Then, the memory cell 10 in the row is selected, and the second 34 from the higher address column to the lower address column is selected by the selector 34 of the second interface 17 based on the output of the second column selector 15. 1 bit data x stored in the memory cell 10 are selected in order.N + 1(L), xN + 1(R) is read through the second bit line 22 and output through the second interface 17.
[0041]
Next, assume that one clock of the CLKB signal has elapsed. Then, the second shift register 13 shifts the “H” level signal, which is the output of the D-FF circuit 24, in synchronization with the CLKB signal, and selects the address row (2) that is one level higher. Data x in the same procedureN + 2(L), xN + 2(R) is read out.
Then, the above procedure is repeated until the CLKB signal reaches the Nth clock, and when it reaches the Nth clock (when starting from the first row, the Nth row) x2N(L), x2N(R) is written and read simultaneously. Here, when the highest address row is selected, a PulseB signal is generated, and the fact that the output QB of the T-FF circuit 29 of the second column selection unit 15 is at the “L” level is inverted. It becomes H ″ level, and the LOGIC circuit 30 of the second column selection unit 15 selects the A group. Since the CLKB signal is increased by one clock, it moves to the next row, that is, the first row and waits for the next cycle.
[0042]
In this way, without using a circuit that stores the address of the memory cell 10, the data X (z-k) And X (z-N + k) Can be specified and read at the same time, an interpolation filter using a pre-adding technique can be configured with a small circuit scale.
Also assume that a new cycle has begun. Then, as shown in FIGS. 4B and 5B, the output QA of the T-FF circuit 23 of the first shift register 12 at the “L” level is inverted by the edge of the CLK1 signal. To the “H” level, the B group is selected by the first column selection unit 14, the first word line 19 corresponding to the lowest row address is selected by the first shift register 12, and The first bit line 21 is selected in order from the lower address column to the upper address column by the selector 31 of the first interface 16 based on the output of the first column selection unit 14 and stored in the memory cell 10. 1-bit data xN + 1(L), xN + 1(R) is read through the first bit line 21.
[0043]
Next, assume that one clock of the CLKA signal has elapsed. Then, the “H” level signal that is the output of the D-FF circuit 23 of the first shift register 12 is shifted from the final stage to the first stage, and the output QA of the T-FF circuit 23 is inverted again to become the “L” level. The A group is selected by the LOGIC circuit 27 of the first column selection unit 14, and the selector 31 of the first interface 16 selects the upper group from the lower address column based on the output of the first column selection unit 14. The first bit lines 21 are sequentially selected toward the address column of the data x stored in the memory cell 10N(L), xN(R) is read through the first bit line 21.
[0044]
The above procedure is repeated until one cycle is completed, and the data x stored in the memory cell 10 corresponding to the second address row from the lowest address row is stored.2(L), x2When (R) is read, the selection of the address row and the data reading are finished.
At the same time, as shown in FIGS. 5B and 6B, the output QB of the T-FF circuit 24 of the second shift register 13 is inverted to the “H” level by the edge of the CLK1 signal. And the B group is selected by the LOGIC circuit 30 of the second column selection unit 15, and the second address row of the second address row from the lowest address row is selected by the first shift register 12. The word line 20 is selected, and the second bit line 22 is sequentially selected from the lower address column to the upper address column by the selector 34 of the second interface 17 based on the output of the second column selection unit 15. Data x stored in the memory cell 10N + 2(L), xN + 2(R) is read through the second bit line 22.
[0045]
Next, when the above procedure is repeated and the “H” level signal output from the D-FF circuit 23 of the second shift register 13 is shifted from the last stage to the first stage, the output QB of the T-FF circuit 24 is inverted again. To the “H” level, the A column is selected by the second column selection unit 15, and from the lower address column by the selector 34 of the second interface 17 based on the output of the first column selection unit 14. The second bit lines 22 are sequentially selected toward the upper address column, and finally the data x is stored in the memory cells 10 in the first row.2N + 1(L), x2N + 1(R) is stored through the second bit line 22 and read simultaneously.
[0046]
Also in the third cycle, as shown in FIGS. 4 (c), 5 (c), and 6 (c), also in the fourth cycle, FIG. 4 (d), FIG. 5 (d), and As shown in FIG. 6D, the above procedure is repeated.
The above operation is executed when there is a correlation that the output address of the first interface 16 is N in the A group and the output address of the second interface 17 is 1 in the B group. The However, if the correlation is shifted due to noise or the like, correct calculation cannot be performed. Therefore, the correlation is maintained by resetting with a predetermined feeling. That is, the counter 18 counts the number of clocks of the CLK1 signal and outputs the reset signal RST to the first shift register 12, the second shift register 13, and the first column selection at the start of the first cycle and every 2N cycles. Output to the unit 14 and the second column selection unit 15.
[0047]
Then, at every 2Nth cycle, the counter 18 outputs a reset signal RST, which is set to an initial state similar to that at the start of the first cycle.
Thus, when the counter 18 outputs the reset signal RST every 2N cycles, for example, when the output of the D-FF circuit 23 of the first shift register 12 deviates from the correct position due to the influence of noise or the like, “ Even if the H ″ level signal is output and the first shift register 12 selects a position shifted from the correct position, it can be returned to the correct position.
[0048]
Also, the example of supplying the data for the left channel and the data for the right channel has been shown. However, the present invention is not limited to supplying two types of data, and may be used when supplying one type of data. It may be used when two or more types of data are supplied.
[0049]
【The invention's effect】
As described above, in the semiconductor memory device according to the present invention, the data X (z-k) And X (z-n + k) Can be specified, the circuit scale can be reduced, and this is suitable for a digital FIR filter using a pre-adding technique.
[Brief description of the drawings]
FIG. 1 is a schematic configuration diagram of a DA converter using a digital FIR filter according to a first embodiment of the present invention.
FIG. 2 is a schematic configuration diagram of a dual port memory used in the digital filter of FIG. 1;
FIG. 3 is an enlarged view of a main part of a dual port memory used in the digital filter of FIG. 1;
4 is a timing chart for explaining the operation of the dual port memory of FIG. 3;
5 is a timing chart for explaining the operation of the dual port memory of FIG. 3; FIG.
6 is an explanatory diagram for explaining the operation of the dual port memory of FIG. 3; FIG.
FIG. 7 is a schematic configuration diagram of a conventional digital filter.
8 is a schematic configuration diagram using a pre-adding technique for the digital filter of FIG. 7;
9 is a timing chart for explaining the operation of the dual port memory used in the digital filter of FIG.
10 is an explanatory diagram for explaining an operation of a dual port memory used in the digital filter of FIG. 8;
[Explanation of symbols]
1, 2, 4 interpolation filter
3 Dual port memory
5 ΔΣ modulator
6a, 6b Low-pass filter
7 Adder
8 Coefficient memory
9th power adder
10 memory cells
11 Memory cell array
12 First shift register
13 Second shift register
14 First column selector
15 Second column selector
16 First interface
17 Second interface
18 counter

Claims (6)

行および列の両方向にアレイ状に配置された複数のメモリセルを有し、前記複数のメモリセルは、それぞれ第1のポートと第2のポートとで独立に選択されて記憶または読み出しがなされるようになっており、さらに前記複数のメモリセルは行または列方向に第1のグループと第2のグループに分割されているメモリセルアレイと、
前記複数のメモリセルの第1のポートにそれぞれ接続され、かつ前記分割された第1のグループと第2のグループのメモリセルを同時に選択する第1のワード線群と、
前記複数のメモリセルの第2のポートにそれぞれ接続され、かつ前記分割された第1のグループと第2のグループのメモリセルを同時に選択する第2のワード線群と、
前記第1のワード線群のワード線を順に選択するための選択信号を循環して出力する第1のシフトレジスタと、
前記第2のワード線群のワード線を順に選択するための選択信号を循環して出力する第2のシフトレジスタと、
前記第1のシフトレジスタで選択されたワード線に接続された第1のグループと第2のグループのメモリセルの第1のポートから読み出されたデータのうち、第1のグループから読み出されたデータと、第2のグループから読み出されたデータとから、所定の条件で選択して第1の出力信号を出力する第1のデータ選択手段と、
前記第2のシフトレジスタで選択されたワード線に接続された第1のグループと第2のグループのメモリセルの第1のポートから読み出されたデータのうち、第1のグループから読み出されたデータと、第2のグループから読み出されたデー夕とから、所定の条件で選択して第2の出力信号を出力する第2のデータ選択手段と、
を具備することを特徴とする半導体記憶装置。
It has a plurality of memory cells arranged in an array in both row and column directions, and the plurality of memory cells are independently selected and stored or read by the first port and the second port, respectively. The memory cells are divided into a first group and a second group in a row or column direction; and
A first word line group respectively connected to a first port of the plurality of memory cells and simultaneously selecting the divided first group and second group memory cells;
A second word line group connected to a second port of each of the plurality of memory cells and simultaneously selecting the divided first group and second group memory cells;
A first shift register for circulating and outputting a selection signal for sequentially selecting the word lines of the first word line group;
A second shift register that circulates and outputs a selection signal for sequentially selecting the word lines of the second word line group;
Of the data read from the first port of the memory cells of the first group and the second group connected to the word line selected by the first shift register, the data is read from the first group. First data selection means for selecting a predetermined condition from the read data and data read from the second group and outputting a first output signal;
Of the data read from the first port of the first group and the second group of memory cells connected to the word line selected by the second shift register, the data is read from the first group. Second data selecting means for selecting the data and the data read from the second group under a predetermined condition and outputting a second output signal;
A semiconductor memory device comprising:
前記第1のシフトレジスタと前記第2のシフトレジスタとが循環して順にワード線を選択する方向は、互いに逆方向であることを特徴とする請求項1に記載の半導体記憶装置。2. The semiconductor memory device according to claim 1, wherein directions in which the first shift register and the second shift register circulate and select a word line in order are opposite to each other. 前記第1のデータ選択手段および前記第2のデータ選択手段は、前記第1のシフトレジスタと前記第2のシフトレジスタとが選択するワード線が第1番目から最終番目へ移行する際、または最終番目から第1番目へ移行する際に出力される信号と、デジタルフィル夕の演算に必要なデータを出力するためのサイクルの切り替わりで出力される信号とに基づいて制御されることを特徴とする請求項1または2に記載の半導体記憶装置。The first data selection means and the second data selection means are arranged when a word line selected by the first shift register and the second shift register shifts from the first to the last, or last It is controlled based on a signal output at the time of shifting from the first to the first and a signal output at a cycle switching for outputting data necessary for the calculation of the digital filter. The semiconductor memory device according to claim 1. 前記サイクルの一番最後に選択されたメモリセルに新たなデー夕を記憶することを特徴とする請求項3に記載の半導体記憶装置。4. The semiconductor memory device according to claim 3, wherein new data is stored in a memory cell selected at the end of the cycle. 1つのワード線で選択される前記第1のグループおよび第2のグループのメモリセルはそれぞれ処理されるチャネル数に応じた数の複数のメモリセルからなることを特徴とする請求項1ないし4のいずれかに記載の半導体記憶装置。5. The memory cells of the first group and the second group selected by one word line are each composed of a plurality of memory cells corresponding to the number of channels to be processed. Any one of the semiconductor memory devices. 請求頃1ないし5のいずれかに記載の半導体記憶装置と、前記半導体記憶装置から出力される第1の出力信号と第2の出力信号を互いに加算する加算手段と、前記加算された出力信号と係数を乗算する乗算手段と、前記乗算された演算結果を累積加算する累積加算手段と、を具備するデジタルフィル夕。The semiconductor memory device according to any one of claims 1 to 5, an adding means for adding the first output signal and the second output signal output from the semiconductor memory device to each other, and the added output signal A digital file system comprising: multiplication means for multiplying coefficients; and cumulative addition means for cumulatively adding the multiplied operation results.
JP2000320494A 2000-10-20 2000-10-20 Semiconductor memory device and digital film Expired - Fee Related JP4413413B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000320494A JP4413413B2 (en) 2000-10-20 2000-10-20 Semiconductor memory device and digital film

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000320494A JP4413413B2 (en) 2000-10-20 2000-10-20 Semiconductor memory device and digital film

Publications (2)

Publication Number Publication Date
JP2002133872A JP2002133872A (en) 2002-05-10
JP4413413B2 true JP4413413B2 (en) 2010-02-10

Family

ID=18798772

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000320494A Expired - Fee Related JP4413413B2 (en) 2000-10-20 2000-10-20 Semiconductor memory device and digital film

Country Status (1)

Country Link
JP (1) JP4413413B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100419791B1 (en) * 2002-06-14 2004-02-25 피앤피네트워크 주식회사 Finite Impulse Response filter

Also Published As

Publication number Publication date
JP2002133872A (en) 2002-05-10

Similar Documents

Publication Publication Date Title
US8131790B2 (en) Decimation filter
US9015219B2 (en) Apparatus for signal processing
US20060120494A1 (en) Minimal area integrated circuit implementation of a polyphase interpolation filter using coefficients symmetry
JP2002158561A (en) Fir filter, and data processing method therefor
JP4413413B2 (en) Semiconductor memory device and digital film
JP3584027B2 (en) Digital filter
US9098435B1 (en) Finite impulse response filter with parallel input
JPH0767063B2 (en) Digital signal processing circuit
JP4315352B2 (en) Digital filter and information communication equipment
JP4459696B2 (en) Semiconductor memory device and digital filter
US6489910B1 (en) Oversampling circuit and digital/analog converter
JP2002368582A (en) Interpolator
JP3827207B2 (en) Digital filter and information communication equipment
JP2628506B2 (en) Digital filter
JP4473660B2 (en) Thinning filter and test device
EP1187334B1 (en) Oversampling circuit and digital/analog converter
JPH0832409A (en) Digital fir filter circuit
JPH0741213Y2 (en) FIR filter
JP2010011493A (en) Digital filter
JPH0770949B2 (en) Digital filter for decimation
JP2625534B2 (en) Digital filter
JP2006186802A (en) Downsampling fir filter apparatus
JPH06112769A (en) Digital filter
JPH05283979A (en) Fir type filter
JPH0795671B2 (en) Digital Filter

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070402

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20070402

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070808

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: 20091110

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091118

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

Free format text: PAYMENT UNTIL: 20121127

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121127

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131127

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees