説明

メモリ回路

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はメモリ回路に関し、特にディジタルオーディオデータ信号処理等に用いられ異なるビット幅のデータを格納し読出すメモリ回路に関する。
【0002】
【従来の技術】従来、この種のメモリ回路、例えばディジタルオーディオデータ信号処理に用いられる係数メモリ等においては、この係数メモリからデータを読出する際には、1個のデータを読出すために複数回メモリをアクセスするか、メモリの一部を空領域として1個のデータを1回のメモリアクセスで読出す等の方法が取られていた。
【0003】ディジタルオーディオデータ、例えばCD(コンパクトディスク)等に記録されているデータは、通常20Hzから20KHz程度の帯域の音声データをイディジタル記録したものであり、音声再生の際のデータ処理は、一般にCD等から読出されたデータを複数個のバンドバスフィルタを通して帯域分割し、この分割処理後の各データに対して個別にフィルタ処理等を行なっている。
【0004】1例を挙げると、CDから読出されたデータを帯域分割するフィルタとして、通過帯域が250Hz以下、250Hzから500Hz、500Hzから1KHz、1KHzから2KHz、2KHzから4KHz、4KHzから8KHz、8KHz以上等のフィルタがある。
【0005】これらのフィルタ通過後のデータに対してフィルタ演算を行なう際の係数データのビット幅は一般に各帯域毎に異なっており、500Hz以下のデータに対しては32ビット程度の係数が用いられ、8KHz以上のデータに対しては16ビット程度の係数が用いられる。また、500Hzから8KHzまでの各帯域に対する係数は24ビット程度が用いられる場合が多い。
【0006】一方、従来のオーディオ信号処理装置においては、これらの係数を格納するメモリとして、1回のメモリアクセスで読出される係数データのビット幅は固定である、すなわちデータ長とメモリアドレスとが1対1に対応しているRAM(ランダムアクセスメモリ)等が用いられていた。
【0007】例えば、この固定ビット幅が16ビットのメモリの場合、16ビット係数は1回のメモリアクセスで読出されるが、24ビットまたは32ビットの係数を読出すためには、メモリを2回アクセスする必要があった。このことは、この係数を用いたフィルタ演算の処理スピードの低下を招く。
【0008】また、固定ビット幅が32ビットのメモリの場合、すべての係数が1回のメモリアクセスで読出されるが、メモリのうち16ビットの係数を格納した領域では半分、24ビットの係数を格納した領域では1/3が未使用となっていた。このことはメモリ回路のハードウェア量の増大を意味する。
【0009】また、各帯域を通過したデータに対するフィルタ処理は、音像定位や反射音合成等のアプリケーション毎に異なる処理を行なう必要があり、このため各帯域毎に使用する係数のビット数は一般にアプリケーションにより大幅に異なる。
【0010】このような従来の技術を記載した文献としては、「DSPシステムの実現手法と活用徹底研究」4〜13頁(T−2338 日本工業技術センター1989年11月)等がある。
【0011】
【発明が解決しようとする課題】上述した従来のメモリ回路は、1回のメモリアクセスで読出されるデータのビット幅は固定となっていてデータとメモリアドレスとが1対1に対応しており、異なるビット幅のデータが必要なときには、必要とする1つのデータに対して複数回メモリアクセスをするか、1データ当りのビット幅を大きくして必要とするビットだけを使用する構成となっているので、前者の場合には処理スピードが低下するという欠点があり、後者の場合には未使用のメモリ領域があるためにハードウェア量が増大するという欠点があった。
【0012】後者の場合、16ビットのデータを64ワード、24ビットのデータを256ワード、32ビットのデータを32ワード格納するメモリを32ビット×(64+256+32)ワードのRAMで構成した場合、 32×(64+256+32)−16×64−24×256−32×32 =11264−8192=3072すなわち3072ビット分の余分なメモリ領域が生ずる。
【0013】なお、上述の64ワード,256ワード,32ワード等のワード数はオーディオ信号処理装置により実現するアプリケーションにより大幅に異なる。このため従来から、データのビット幅によりメモリ内の格納アドレスを制限することは不都合であった。
【0014】本発明の目的は、ハードウェア量を増大させることなく異なるビット幅のデータを高速に読出することができるメモリ回路を提供することにある。
【0015】
【課題を解決するための手段】本発明のメモリ回路は、それぞれ対応するアドレス信号により指定されたアドレスから所定ビット単位のデータを読出する複数のメモリ部と、これら各メモリ部とそれぞれ対応して設けられ対応する選択信号の内容に従って前記メモリ部から読出された所定ビット単位のデータの1つを選択して出力する複数のマルチプレクサと、これら各マルチプレクサの各ビット出力端とそれぞれ対応して接続しそれぞれ対応する位どりのビットデータを伝達する複数本のデータバスと、出力データの有効ビット数を決定するモード信号に従って、前記複数のメモリ部のうちの所定のメモリ部から読出された所定ビット単位のデータを前記各メモリ部の選択される回数が均一化されるように順次選択しかつこれら選択されたメモリ部から読出された所定ビット単位のデータが前記出力データの有効ビットの位どりに合致するように決定された内容をもつ前記各選択信号を出力する選択制御回路と、読出されたデータが前記マルチプレクサにより選択される前記各メモリ部のアドレスを順次更新する前記アドレス信号を出力するアドレス制御回路と、前記モード信号に従って前記複数本のデータバスに伝達されたデータをこのモード信号の指定する有効ビット数の出力データとして出力する選択回路とを有している。
【0016】
【実施例】次に本発明の実施例について図面を参照して説明する。
【0017】図1は本発明の第1の実施例を示すブロック図である。
【0018】この実施例は、それぞれ対応する9ビットのアドレス信号ADa,ADbにより指定されたアドレスから8ビット単位のデータを読出す384ワードの4つのRAM型の係数メモリ1a〜1dと、これら各係数メモリ1a〜1dとそれぞれ対応して設けられ対応する選択信号SSa〜SSdの内容に従って各係数メモリ1a〜1dから読出された8ビット単位のデータの1つを選択して入力して出力する4つのマルチプレクサ2a〜2dと、これら各マルチプレクサ2a〜2dの各ビット出力端とそれぞれ対応して接続しそれぞれ対応する位どりのビットデータを伝達する32本の係数データバス3と、出力データOUT(この実施例では係数データ)の有効ビット数を決定するモード信号MOD及びインクリメント信号INCxに従って4つの係数メモリ1a〜1dのうちの所定のメモリ部から読出された8ビット単位のデータを各係数メモリ1a〜1dの選択される回数が均一化されるように順次選択しかつこれら選択された係数メモリから読出された8ビット単位のデータが出力データOUTの有効ビットの位どりに合致するように決定された内容をもつ各選択信号SSa〜SSdを出力する選択回路4と、制御回路51及びアドレスカウンタ52,53を備え、モード信号MOD及びインクリメント信号INCを入力し、読出されたデータがマルチプレクサ2a〜2dにより選択される各係数メモリのアドレスを順次更新するアドレス信号ADa,ADbを出力するアドレス制御回路5と、モード信号MODに従って32本の係数データバス3に伝達されたデータをこのモード信号MODの指定する有効ビット数のデータとその上位側が“0”である32ビットの出力データOUT(係数データ)として出力する選択回路6とを有し、乗算器10へ出力データOUTを供給する構成となっている。なお乗算器10は、24ビットのディジタルオーディオデータADTと出力データOUTとの積を算出し、55ビットのディジタルオーディオデータADTxとして出力する。なお、アドレス信号ADは係数メモリ1a〜1dの初期アドレスを決定する。
【0019】インクリメント信号INCは、乗算器10へ入力される32ビットの係数データ(OUT)を更新するタイミング毎にパルス信号を出力する信号である。
【0020】モード信号MODは乗算器10へ入力される32ビットの係数データ(OUT)のうち、有効けた数(有効ビット数)が16ビット(以下16ビットモードという)の時“01”、有効けた数が24ビット(以下24ビットモードという)の時“10”、有効けた数が32ビット(以下32ビットモードという)の時“11”となる2ビット幅のモード指定信号である。
【0021】マルチプレクサ2a〜2dは、選択信号SSa〜SSdの内容が“00”の時係数メモリ1aからのデータを選択に出力し、“01”の時係数メモリ1bからのデータを選択して出力し、“10”の時係数メモリ1aからのデータを選択して入力し、“11”の時係数メモリ1dからのを選択して出力する。
【0022】アドレスカウンタ52,53は9ビットのアドレス信号ADの値を初期値としてその後アドレス制御信号ADC1,ADC2によるパルスが入力される度にその立ち上りエッジのタイミングで値を+1(1インクリメント)する。
【0023】制御回路51の内部構成例とその動作を説明するためのタイミングチャートを図2(a),(b)に示す。
【0024】図2(a)において、511はインクリメント信号INCのパルスの個数をカウントする2ビットカウンタ、マルチプレクサ512,513は各モード信号MODの内容により3入力のうちの1入力を選択して出力するマルチプレクサで、32ビットモードの時、共に“1”に相当する電源電圧VDDを選択し、16ビットモードの時、共に2ビットカウンタ511の下位ビット出力のインクリメント信号INC1の反転信号を選択する。また、24ビットモードの時、マルチプレクサ513はNANDゲートG2の出力を選択する。
【0025】以下、インクリメント信号INC1,INC2の内容が“00”である状態をステップ0、“01”である状態をステップ1、“10”である状態をステップ2、“11”である状態をステップ3という。
【0026】各モードの各ステップに対する選択信号SSa〜SSdの内容と、この選択信号SSa〜SSdにより選択される係数メモリ1a〜1dの出力との関係を図3に示す。
【0027】図3から分るように、16ビットモードでは、ステップ0のとき係数メモリ1a,1bの出力がマルチプレクサ2c,2dにより選択されて係数メモリ1bのデータが下位側に、係数メモリ1aのデータが上位側にフォーマットされる。
【0028】ステップ1のときは係数メモリ1c,1dの出力が同様にマルチプレクサ2c,2dにより選択されて係数メモリ1dのデータが下位側に、係数メモリ1cのデータが上位側にフォーマットされる。ステップ2,3では上述のステップ0,1の動作をくり返えす。
【0029】24ビットモードでは、マルチプレクサ2b,2c,2dにより、4つの係数メモリ1a〜1dのうちの3つの係数メモリの出力が順次選択されフォーマットされる。
【0030】すなわち、ステップ0では係数メモリ1a,1b,1cの出力が選択されて上位側からこの順でフォーマットされ、ステップ1では係数メモリ1d,1a,1bの出力が選択されて上位側からこの順でフォーマットされる。以下省略する。
【0031】また、32ビットでは、全てのマルチプレクサ2a〜2dにより全ての係数メモリ1a〜1dの出力選が選択されて上位側からこの順でフォーマットされる。
【0032】この係数メモリ1a〜1dからのデータの読出し、及びマルチプレクサ2a〜2dの係数メモリからのデータの選択に伴って、係数メモリ1a〜1dのアドレスの更新が必要となる。各モード,各ステップにおける、出力が選択される係数メモリとアドレスが更新される係数メモリの関係を図4に示す。
【0033】このように、本実施例においては、16ビット,24ビット,32ビットの全ての係数データを1回のメモリアクセスで読出すことができるので高速動作を保持することができる。また、出力が選択される回数が、全ての係数メモリ1a〜1dに対して均一化されるように選択されるので、メモリ領域の無駄がなく全ての領域が有効に使用され、従ってメモリ領域、すなわちハードウェア量を必要最小限に抑えることができる。
【0034】また、16ビット,24ビット,32ビットのデータは係数メモリ1a〜1d内の任意のアドレスに格納することができるため、アプリケーションにより各ビット幅のデータ量が大幅に異なる場合も、係数メモリの各ビット幅のデータへの割当に何ら制限を加えることなく係数メモリのすべての領域を有効データの格納に用いることができるのは明らかである。
【0035】本実施例において、バスのビット幅,メモリの容量,カウンタ.マルチプレクサのビット幅,乗算器のビット構成,等は本実施例に制限されることなく、他の適切な構成によっても実現できることは言うまでもない。
【0036】図5は本発明の第2の実施例を示すブロック図である。
【0037】この実施例は、アドレス制御回路の構成が第1の実施例と異っている。
【0038】ラッチ回路54は、9ビット幅のアドレス信号ADaの内容をインクリメント信号INCの立上りエッジのタイミングでラッチしてその結果を9ビット幅で出力する。すなわち、このラッチ回路54は、アドレス信号ADaの内容を遅延させて出力することになる。
【0039】マルチプレクサ55は、アドレス制御信号ADC3が“0”の時アドレス信号ADaの内容をそのまま9ビット幅のアドレス信号ADbとして出力し、アドレス制御信号ADC3が“1”の時ラッチ回路54の出力の内容をそのままアドレス信号ADbとして出力する。
【0040】制御回路51aは図6に示す構成になっている。
【0041】図6においてマルチプレク514はモード信号MODの内容が“01”または“11”の時すなわち16ビットモードまたは32ビットモードの時、“0”に相当する接地電位をアドレス制御信号ADCとして出力し、モード信号MODの内容が“10”,すなわち24ビットの時、ORゲートG5の出力をアドレス制御信号ADC3として出力する。
【0042】この実施例では、16ビットモードまたは32ビットモードの場合、アドレスカウンタ52aの内容が直接アドレス信号ADbとして出力されるため、係数メモリ1a,1b及び係数メモリ1c,1dの読出しアドレスは常に同一となる。
【0043】24ビットモードのステップ0においても、係数メモリ1a,1b及び係数メモリ1c,1dの読出しアドレスは同一である。24ビットモードのステップ1,2,3においては、アドレス信号ADbの内容はそれぞれ1つ前のステップ(ステップ0,1,2)のアドレス信号ADaの内容と同一になる。
【0044】このため、係数メモリ1c,1dの読出しアドレスは係数メモリ1a,1bの読出しアドレスを“−1”(デクリメント)した値となる。
【0045】本実施例2に示す構成であっても係数メモリ1a〜1dから読出されるデータは前述の第1の実施例と同一であり、従って第1の実施例に比べ9ビットのアドレスカウンタ53が1個不要となり、小量のハードウェアで同一の効果を得ることができる利点がある。
【0046】
【発明の効果】以上説明したように本発明は、それぞれ所定のビット単位のデータを読出す複数のメモリ部を設け、これら各メモリ部から読出されたデータを、モード信号に従って出力データの有効ビット数に合致し、かつ選択された回数が均一化されるように選択して出力する構成とすることにより、各メモリ部のメモリ領域が無駄なく有効に使用されるので、メモリ容量、すなわちハードウェア量を必要最小限に抑えることができ、しかも異なるビット幅のデータを1回のメモリアクセスで高速に読出すことができる効果がある。
【図面の簡単な説明】
【図1】本発明の第1の実施例を示すブロック図である。
【図2】図1に示された実施例の制御回路の具体例を示す回路図及びその各部のタイミング波形図である。
【図3】図1に示された実施例の各モード各ステップにおける選択信号の内容と選択される係数メモリの出力との関係を説明するための動作説明図である。
【図4】図1に示された実施例の出力が選択される係数メモリとアドレスが更新される係数メモリとの関係を説明するための動作説明図である。
【図5】本発明の第2の実施例を示すブロック図である。
【図6】図5に示された実施例の制御回路の具体例を示す回路図である。
【符号の説明】
1a〜1d 係数メモリ
2a〜2d マルチプレクサ
3 係数データバス
4 選択制御回路
5,5a アドレス制御回路
6 選択回路
10 乗算器
51,51a 制御回路
52,53 アドレスカウンタ
54 ラッチ回路
55 マルチプレクサ
511 2ビットカウンタ
512〜514 マルチプレクサ
G1,G2 NANDゲート
G3,G4 ADNゲート
G5 ORゲート
IV1 インバータ

【特許請求の範囲】
【請求項1】 それぞれ対応するアドレス信号により指定されたアドレスから所定ビット単位のデータを読出する複数のメモリ部と、これら各メモリ部とそれぞれ対応して設けられ対応する選択信号の内容に従って前記各メモリ部から読出された所定ビット単位のデータの1つを選択して出力する複数のマルチプレクサと、これら各マルチプレクサの各ビット出力端とそれぞれ対応して接続しそれぞれ対応する位どりのビットデータを伝達する複数本のデータバスと、出力データの有効ビット数を決定するモード信号に従って、前記複数のメモリ部のうちの所定のメモリ部から読出された所定ビット単位のデータを前記各メモリ部の選択される回数が均一化されるように順次選択しかつこれら選択されたメモリ部から読出された所定ビット単位のデータが前記出力データの有効ビットの位どりに合致するように決定された内容をもつ前記各選択信号を出力する選択制御回路と、読出されたデータが前記マルチプレクサにより選択される前記各メモリ部のアドレスを順次更新する前記アドレス信号を出力するアドレス制御回路と、前記モード信号に従って前記複数本のデータバスに伝達されたデータをこのモード信号の指定する有効ビット数の出力データとして出力する選択回路とを有することを特徴とするメモリ回路。
【請求項2】 複数のメモリ部が第1〜第4のメモリ部で構成されてそれぞれ8ビット単位のデータを読出し、複数のマルチプレクサが第1〜第4のマルチプレクサで構成され、モード信号が16ビットモード,24ビットモード,及び32ビットモードを指定する内容をもち、選択信号が前記モード信号の各モードに対して第1〜第4のステップをもち、かつ前記モード信号が16ビットモードを指定しているとき、前記第1のステップでは前記第1,第2のメモリ部,前記第2のステップでは前記第3,第4のメモリ部,前記第3のステップでは前記第1,第2のメモリ部、前記第4のステップでは前記第3,第4のメモリ部から読出されたデータを前記第3,第4のマルチプレクサが選択する内容となり、前記モード信号が24ビットモードを指定しているとき、前記第1のステップでは前記第1,第2,第3のメモリ部,前記第2のステップでは前記第4,第1,第2のメモリ部、前記第3のステップでは前記第3,第4,第1のメモリ部、前記第4のステップでは前記第2,第3,第4のメモリ部から読出されたデータを前記第2,第3,第4のマルチプレクサが選択する内容となる請求項1記載のメモリ回路。

【図3】
image rotate


【図1】
image rotate


【図2】
image rotate


【図4】
image rotate


【図6】
image rotate


【図5】
image rotate


【特許番号】特許第3089726号(P3089726)
【登録日】平成12年7月21日(2000.7.21)
【発行日】平成12年9月18日(2000.9.18)
【国際特許分類】
【出願番号】特願平3−227598
【出願日】平成3年9月9日(1991.9.9)
【公開番号】特開平5−67395
【公開日】平成5年3月19日(1993.3.19)
【審査請求日】平成9年12月9日(1997.12.9)
【出願人】(000004237)日本電気株式会社 (19,353)
【参考文献】
【文献】特開 昭61−992(JP,A)