JP2003248485A - 楽音合成装置、メモリアクセス装置および波形メモリ型楽音合成装置 - Google Patents

楽音合成装置、メモリアクセス装置および波形メモリ型楽音合成装置

Info

Publication number
JP2003248485A
JP2003248485A JP2002050687A JP2002050687A JP2003248485A JP 2003248485 A JP2003248485 A JP 2003248485A JP 2002050687 A JP2002050687 A JP 2002050687A JP 2002050687 A JP2002050687 A JP 2002050687A JP 2003248485 A JP2003248485 A JP 2003248485A
Authority
JP
Japan
Prior art keywords
memory
address
access
signal
bits
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.)
Pending
Application number
JP2002050687A
Other languages
English (en)
Inventor
Tetsuji Ichiki
哲二 市来
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.)
Yamaha Corp
Original Assignee
Yamaha 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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2002050687A priority Critical patent/JP2003248485A/ja
Publication of JP2003248485A publication Critical patent/JP2003248485A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【課題】 電子楽器に実装される波形メモリ用のメモリ
デバイスとしては、ROM,SDRAM等様々な種類が
あり、これらの所要クロック数も様々なものが市販され
ている。そこで、実装できるメモリデバイスの種類をフ
レキシブルに設定でき、これらメモリデバイスの性能を
充分に引き出す。 【解決手段】 メモリデバイスをアクセスするためのア
ドレス信号に基づいて、当該メモリデバイスの種別(メ
モリタイプ信号TYPEH,TYPEL)が生成され
る。タイミング発生回路346,362は、これらメモ
リタイプ信号に基づいて、アウトプット・イネーブル信
号、ライト・イネーブル信号、アドレス信号等のタイミ
ングを制御する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、電子楽器等に用い
て好適な楽音合成装置、メモリアクセス装置および波形
メモリ型楽音合成装置に関する。
【0002】
【従来の技術】従来より、波形メモリとしてRAMを備
え、波形データの内容を適宜更新することができる電子
楽器が知られている(例えば特開平10−97258号
公報)。この電子楽器においては、波形メモリに基づく
発音処理は主としてDSPによって実行され、波形メモ
リの更新、あるいはユーザインタフェース処理は制御用
のCPUによって実行される。そして、1サンプリング
周期が複数のスロットに分割され、DSPおよび制御用
CPUに対して、波形メモリにアクセスし得るスロット
が割り当てられる。これにより、DSPによる波形メモ
リのアクセス頻度が小さい場合には、制御用CPUに対
してより多くのスロットを割り当てることができ、発音
中であっても制御用CPUから波形メモリに対して高速
にアクセスすることができる。
【0003】
【発明が解決しようとする課題】ところで、波形メモリ
として使用し得るメモリデバイスは、大別するとROM
およびRAMに分類される。使用頻度の高い波形データ
は予めROMに格納しておくことにより、制御用CPU
からのロードを待たずに発音処理を開始することができ
る。一方、RAMを用いる場合は、ハードディスク等に
格納された多種類の波形データの中から所望のものをロ
ードすることができるから、多彩な発音処理が可能にな
る。
【0004】また、1曲のうちで使用される音色が多い
場合には、これら波形メモリの記憶容量を大きくしてお
く必要がある。また、同時に発音される音色数が多い場
合には、アクセススピードの速い波形メモリを用いるこ
とが好適である。このように、経済面および性能面の双
方に鑑みて最適な波形メモリの構成は、エンドユーザの
使用態様に応じて異なることになる。そして、メモリデ
バイスの性能は日々進歩しているため、電子楽器の販売
後に、楽器メーカーがエンドユーザに対して高性能な波
形メモリを随時提供できれば便利である。
【0005】しかし、従来の電子楽器においては、実装
可能なメモリデバイスは固定的であり、様々な種類のメ
モリデバイスに対応することができなかった。また、仮
に元々の波形メモリを高性能なメモリデバイスに差し替
えることが可能であったとしても、新たなメモリデバイ
スに高速にアクセスすることによって電子楽器の性能を
向上させることは困難であった。この発明は上述した事
情に鑑みてなされたものであり、フレキシブルに波形メ
モリの構成を設定でき、各種波形メモリの性能を充分に
引き出す楽音合成装置、メモリアクセス装置および波形
メモリ型楽音合成装置を提供することを目的としてい
る。
【0006】
【課題を解決するための手段】上記課題を解決するため
本発明にあっては、下記構成を具備することを特徴とす
る。なお、括弧内は例示である。請求項1記載の楽音合
成装置にあっては、第1のアクセス方式によってアクセ
スされ、一または複数のメモリデバイスによって構成さ
れ、第1の波形データが記憶された第1のメモリ部(R
OM410)と、第2のアクセス方式によってアクセス
され、一または複数のメモリデバイスによって構成さ
れ、第2の波形データが記憶された第2のメモリ部(S
DRAM412,DIMM414,416)と、前記第
1および第2のメモリ部に対応して、各々独立に設けら
れた第1および第2のバス(アドレスバス372,37
6)と、第1の発音チャンネルの波形データの読出しが
指示されると、前記第1のバスを介して前記第1のメモ
リ部をアクセスする一方、第2の発音チャンネルの波形
データの読出しが指示されると、前記第2のバスを介し
て前記第2のメモリ部をアクセスするアクセス制御回路
(メモリI/O部300)とを有することを特徴とす
る。さらに、請求項2記載の構成にあっては、請求項1
記載の楽音合成装置において、前記アクセス制御回路
は、前記第1および第2のメモリ部における複数のエリ
アの境界情報(エリア終端アドレス)と、これら各エリ
アに対応する各メモリデバイスに係るアクセス制御情報
(メモリ種別)とを記憶するアクセス制御レジスタ(3
32)と、供給されたアドレス信号(TGA)と前記各
境界情報との比較結果に基づいて該アドレス信号(TG
A)に対応するアクセス制御情報(メモリ種別)を特定
するエリア判定部(322,324)と、前記第1また
は第2のバスのうち特定されたアクセス制御情報に応じ
たバスに対して、該アドレス信号(TGA)を必要に応
じて変換しつつ出力するコントローラ(340,36
0)と有することを特徴とする。さらに、請求項3記載
の構成にあっては、請求項2記載の楽音合成装置におい
て、前記アクセス制御情報は、対応するメモリデバイス
のアクセス速度を特定するものであり、前記コントロー
ラ(340,360)は、該アクセス制御情報に応じ
て、アクセス時間を設定しつつ前記各メモリデバイスを
アクセスするものであることを特徴とする。さらに、請
求項4記載の構成にあっては、請求項1記載の楽音合成
装置において、アドレス信号(TGA)によって指標さ
れるアドレスが前記第1または第2のメモリ部の何れに
属するかを判定し、前記第2のメモリ部がアクセスされ
る場合には所定の動作クロック(DCLK)を前記第2
のメモリ部に供給する一方、前記第1のメモリ部がアク
セスされる場合には該動作クロックを停止させるクロッ
ク制御回路(クロック発生部368)をさらに具備する
ことを特徴とする。また、請求項5記載のメモリアクセ
ス装置にあっては、第1のアクセス方式によってアクセ
スされる第1のメモリ部(ROM410)と、第2のア
クセス方式によってアクセスされる第2のメモリ部(S
DRAM412,DIMM414,416)と、アドレ
ス信号(TGA)によって指標されるアドレスが前記第
1または第2のメモリ部の何れに属するかを判定し、前
記第2のメモリ部がアクセスされる場合には所定の動作
クロック(DCLK)を発生させる一方、前記第1のメ
モリ部がアクセスされる場合には該動作クロックを停止
させるクロック制御回路(クロック発生部368)とを
具備することを特徴とする。また、請求項6記載の波形
メモリ型楽音合成装置にあっては、nビット幅の波形デ
ータを記憶するとともに一のアドレスのデータ幅がnビ
ットである第1のメモリデバイス(ROM410)と、
nビットの波形データを記憶するとともに一のアドレス
のデータ幅がn×mビットである第2のメモリデバイス
(DIMM414)の何れも使用可能な波形メモリ型楽
音合成装置であって、nビットの波形データを読み出す
ためのアドレスを発生するアドレス発生部(上位・下位
アドレス生成回路316)と、該アドレスの所定数の下
位ビットからメモリアドレスを生成するメモリアドレス
生成部(行・列アドレス発生部364)と、該アドレス
の前記下位ビットの所定数の上位ビットからメモリマス
クを生成するメモリマスク生成部(マスク抽出部36
6)と、前記メモリアドレスを用いて前記第1のメモリ
デバイスをアクセスし、該第1のメモリデバイスからn
ビットの波形データを読み出す第1の読出部(ROMコ
ントローラ340)と、前記メモリアドレスを用いて前
記第2のメモリデバイスをアクセスするとともに、前記
メモリマスクにより第2のメモリデバイスのn×mビッ
トのデータのうちn×(m−1)ビットをマスク状態に
設定することにより、前記第2のメモリデバイスからn
ビットの波形データを読出す第2の読出し部(SDRA
Mコントローラ360)とを有することを特徴とする。
【0007】
【発明の実施の形態】1.実施形態の構成 1.1.電子楽器の全体構成 次に、本発明の一実施形態の電子楽器の全体構成を図1
を参照し説明する。図において102はパネルスイッチ
であり、ここで電子楽器の各種パラメータが設定され
る。104はパネル表示器であり、電子楽器の各種状態
等を表示する。114はネットワークインタフェース部
であり、ローカルエリアネットワーク(図示せず)を介
して、外部のパーソナルコンピュータ等との間で演奏情
報や波形データ等の入出力を行う。116はMIDIイ
ンタフェースであり、ここに鍵盤あるいはシーケンサ等
のMIDI機器が接続され、MIDI信号を入出力す
る。
【0008】118はディスクドライブであり、CD−
ROM、CD−RW、MO等のディスク120に対して
波形データ、演奏情報等のデータの読出しおよび書込み
を行う。124はCPUであり、ROM126に格納さ
れた制御プログラムに基づいて、他の構成要素を制御す
る。122はタイマであり、CPU124に対してタイ
マ割込みを発生させる。128はRAMであり、CPU
124のワークメモリとして用いられる。
【0009】次に、400は波形メモリ部であり、RO
MおよびRAMの双方あるいは一方によって構成され、
波形データを記憶する。200は音源部であり、CPU
124の制御の下、これら波形データを読出し、所定の
サンプリング周波数の楽音信号を合成する。合成された
楽音信号は、DAコンバータ110を介してアナログ信
号に変換され、サウンドシステム112を介して発音さ
れる。108は他の音源装置あるいはエフェクタ等の外
部回路である。この外部回路108から供給される楽音
信号も音源部200において合成される楽音信号に混合
され、DAコンバータ110を介してサウンドシステム
112に出力される。
【0010】1.2.音源部200の構成 次に、図2を参照し、所定のサンプリング周期を基本周
期として動作する音源部200の詳細構成を説明する。
図において300はメモリI/O部であり、波形メモリ
部400内の各メモリデバイスにアクセスし、波形デー
タの読出し/書込み等の制御を行う。202は音源制御
レジスタであり、波形データ読出しのための読出しアド
レスの初期値、ループ部の開始アドレス、ピッチ、エン
ベロープ特性、エフェクト処理の内容等、楽音信号を発
生するための種々のパラメータが発音チャンネル毎に記
憶される。204はXアクセス回路であり、CPU12
4の制御の下、メモリI/O部300を介して波形メモ
リ部400をアクセスすることにより、CPU124に
よる波形データの読出し/書込み制御を行う。
【0011】ここで、Xアクセス回路204の概要を説
明しておく。CPU124によって直接的に波形メモリ
部400をアクセスしようとすると、しばしば音源部2
00自体によるアクセスと衝突し、CPU124による
アクセスに対して待ち時間が発生することがある。Xア
クセス回路204は、この待ち時間を解消することによ
ってCPU124の動作効率を高めようとするものであ
る。そこで、Xアクセス回路204においては、読出し
/書込み用のFIFOバッファが設けられている。
【0012】CPU124から波形メモリ部400に対
して転送すべきデータおよびアドレスは、書込み用のF
IFOバッファにおいて予めストリームとしてまとめら
れる。そして、各発音チャンネルの波形合成のために波
形メモリ部400がアクセスされていない期間内におい
ては、Xアクセス回路204の制御の下、これらのデー
タが波形メモリ部400内のメモリデバイスに連続的に
書き込まれるようにした。
【0013】同様に、CPU124によって波形メモリ
部400から読み出すべきデータのアドレスも予め読出
し用FIFOバッファにストリームとしてまとめられ、
音源部200の空き時間にこれらのデータが連続的に読
み出されるようにした。この読出し用FIFOバッファ
に格納された情報は、必要に応じたタイミングでCPU
124によって読み出される。
【0014】すなわち、発音チャンネルの波形合成のた
めに波形メモリ部400が頻繁にアクセスされている場
合には、Xアクセス回路204によるデータ転送が遅く
なり、発音チャンネルが少ない場合等においては、Xア
クセス回路204によるデータ転送が高速になる。かか
る処理により、データの入出力が完了するまでの時間は
ある程度要求されるが、データの入出力に費やされる時
間そのものは短縮することができ、CPU124を効率
的に動作させることができる。なお、Xアクセス回路2
04の詳細は、上記特開平10−97258号公報に開
示されている。
【0015】206はサンプリング周期毎に最大64チ
ャンネル分の波形データを読出しないし書き込み可能な
読出書込回路であり、音源制御レジスタ202に記憶さ
れたパラメータに基づいて、メモリI/O部300を介
して波形メモリ部400をアクセスする。この読出書込
回路206を介して、各発音チャンネルの楽音信号の合
成に必要な波形データが波形メモリ部400から読み出
されるのである。そして、読み出された波形データを所
定のサンプリング周波数でかつ該パラメータに応じたピ
ッチの波形でデータに変換して出力する。208はエン
ベロープ付与部であり、音源制御レジスタ202に記憶
されたエンベロープ特性に基づいて、読出書込回路20
6からサンプリング周期毎に出力される波形データにエ
ンベロープを付与する。
【0016】212はDSP(デジタル・シグナル・プ
ロセッサ)であり、予め設定されたマイクロプログラム
と、音源制御レジスタ202に記憶されたエフェクトパ
ラメータとに基づいて、サンプリング周期毎に入力され
る楽音信号に効果処理を施し、効果の付与された楽音信
号を出力する。210はミキサであり、サンプリング周
期毎に、エンベロープ付与部208、DSP212およ
び外部回路108から出力された楽音信号をミキシング
し、その結果を必要に応じて外部回路108、DSP2
12およびDAコンバータ110に供給する。
【0017】1.3.メモリI/O部300の構成 1.3.1.エリア判定部310 (1)セレクタ312,314 次に、メモリI/O部300の詳細構成を図3および図
4を参照し説明する。まず、図3において310はエリ
ア判定部であり、読出書込回路206から供給されるア
ドレス信号TGAおよびXアクセス回路204から供給
されるアドレス信号XAAに基づいて、対応するメモリ
デバイスの種類を特定する等の処理を行う。エリア判定
部310の内部において312はメモリ・モード信号セ
レクタであり、読出書込回路206から供給されるメモ
リ・モード信号TGWおよびXアクセス回路204から
供給されるメモリ・モード信号XAWのうち一方を選択
し、メモリ・モード信号Wとして出力する。ここで、メ
モリ・モード信号XAW,TGW,Wは、読出し/書込
みのメモリ動作を区別する二値信号である。
【0018】次に、314はアドレス信号セレクタであ
り、読出書込回路206から供給されるアドレス信号T
GAおよびXアクセス回路204から供給されるアドレ
ス信号XAAのうち一方を選択し、その結果をアドレス
信号WA0〜31として出力する。なお、これらアドレ
ス信号TGA,XAA,WAは、波形メモリのデータ幅
が「16ビット」であると仮定した場合のアドレス信号
である。このアドレス信号TGAは、各発音チャンネル
毎に波形データを読み出すためのアドレスであり、各発
音チャンネル毎に異なるエリアのアドレスとすることが
できる。
【0019】(2)上位・下位アドレス生成回路316 後述する波形メモリ部400においては、波形メモリの
データ幅として「16ビット」および「32ビット」の
双方を扱うことが可能になっている。「32ビット」の
データ幅を用いる場合は、「16ビット」構成の2系統
の波形メモリが同時にアクセスされることになる。これ
ら2系統の波形メモリを「上位」および「下位」と呼
ぶ。
【0020】波形メモリ部400が「32ビット」構成
である時、アドレス信号WA0〜31を「1ビット」だ
け右にシフトした結果が波形メモリ部400におけるア
ドレスになる。そして、右シフトした結果、最下位ビッ
トからあふれた「あふれビット」が“0”であれば、下
位の「16ビット」、「あふれビット」が“1”であれ
ば上位の「16ビット」が指定されたことになる。
【0021】従って、単に「16ビット」空間のアドレ
ス信号WA0〜31によって指定されたアドレスを「3
2ビット」空間のアドレスに変換するだけであれば、ア
ドレス信号WA0〜31を単に「1ビット」右シフトす
ればよいことになる。しかし、本実施形態においては、
「16ビット」空間のアドレス信号WA0〜31による
アクセスを、「アドレス信号WAによるアドレスと、次
の(WA0〜31の値+1の)アドレスとを同時にアク
セスして32ビットのデータの読出し/書込みを行う動
作」であること定義している。
【0022】これは、波形メモリにはサンプリングデー
タがアドレス順に記憶されているから、連続したアドレ
スに記憶されたデータは連続して読み出される場合が多
いことに鑑みてである。「16ビット」空間における連
続する2つのアドレスを同時にアクセスできることは、
「32ビット」のデータ幅を有効に利用し、メモリのア
クセス回数を削減できる。しかし、かかる動作を可能な
らしめるためには、単なるシフトのみでは「上位」およ
び「下位」の波形メモリを同時にアクセスできない場合
がある。
【0023】すなわち、アドレス信号WA0〜31を右
シフトした際の「あふれビット」が“0”であった場合
には、そのシフト結果を共通のアドレス信号として「上
位」および「下位」の波形メモリに供給すればよい。一
方、「あふれビット」が“1”であった場合には、この
シフト結果を「上位16ビット」のアドレスとするとと
もに、「下位16ビット」のアドレスはシフト結果に対
してさらに「1」を加算する必要がある。
【0024】316は上位・下位アドレス生成回路であ
り、上述した原理に基づいて、アドレス信号WA0〜3
1から上位アドレス信号MAH0〜30および下位アド
レス信号MAL0〜30を出力するものである。その詳
細を説明する。まず、上位・下位アドレス生成回路31
6には、バスモード信号B32およびデータモード信号
DMが供給される。ここで、バスモード信号B32は、
波形メモリ部400のデータバス幅が「32ビット」で
あるか「16ビット」であるかを指定する信号である。
【0025】また、データモード信号DMは、各発音チ
ャンネルにおける波形データのデータ幅を規定する二値
信号であり、“0”によって「16ビット」、または
“1”によって「32ビット」の何れかを指定する。換
言すれば、アドレス信号セレクタ314において選択さ
れたアドレス信号が「32ビット」あるいは「16ビッ
ト」の何れのビット数の波形データをアクセスするため
のアドレス信号であるかを指定する信号である。なお、
データモード信号DMは、バスモード信号B32とは独
立しており、例えばデータバス幅が「16ビット」であ
り、波形データのデータ幅が「32ビット」であっても
よいことは勿論である。
【0026】波形メモリ部400のデータバス幅が「1
6ビット」である場合、上位・下位アドレス生成回路3
16に供給されたアドレス信号WA0〜31の下位31
ビットWA0〜30が、そのまま下位アドレス信号MA
L0〜30として出力される。換言すれば、データバス
幅が「16ビット」である場合、「下位」の波形メモリ
のみが波形メモリ部400に実装されることになる。
【0027】一方、データバス幅が「32ビット」であ
って、データモード信号DMが“0”(16ビットデー
タ幅)である場合、アドレス信号WA0〜31を「1ビ
ット」右シフトした結果が上位アドレス信号MAH0〜
30として出力される。そして、「あふれビット」が
“1”である場合は、上位アドレス信号MAH0〜30
と同一の値が下位アドレス信号MAL0〜30として出
力され、「あふれビット」が“0”である場合は上位ア
ドレス信号MAH0〜30に「1」を加算した結果が下
位アドレス信号MAL0〜30として出力される。
【0028】また、データバス幅が「32ビット」であ
って、かつ、データモード信号DMが“1”(32ビッ
トデータ幅)である場合も考えられる。かかる場合にお
いては、アドレス信号WA0〜31の最上位ビットを除
いたアドレス信号WA1〜31が、そのまま上位・下位
アドレス信号MAH0〜30,MAL0〜30として出
力される。
【0029】(3)アクセス制御レジスタ332 次に、332はアクセス制御レジスタであり、波形メモ
リ部400に含まれる各メモリデバイスに対して、以下
のデータを格納している。
【0030】(3.1)エリア終端アドレス まず、波形メモリ部400には最大で8エリア(第0エ
リア〜第7エリア)のメモリデバイスを設けることがで
きる。1個のエリアは、「16ビット」データバスの場
合、通常は1個のメモリデバイスによって構成され、
「32ビット」データバスの場合は、通常は「上位」お
よび「下位」各1個づつのメモリデバイスによって構成
される。そして、これらエリア毎にチップセレクト信号
が供給される。但し、メモリデバイスの種類によって
は、1個のメモリデバイスで2個のエリアに割り当てら
れる場合もある。また、本実施例では「上位」と「下
位」の波形メモリについてアクセス制御線を共用してい
るので、「上位」と「下位」に各1個づつメモリデバイ
スを設ける場合、その2つのデバイスは相互に同じアク
セス速度でなければならない。
【0031】アクセス制御レジスタ332には、これら
各エリアの終端アドレスが記憶される。なお、第1エリ
ア〜第7エリアの先頭アドレスは、必ず前のエリアの終
端アドレスの次のアドレスであり、第0エリアの先頭ア
ドレスは必ず「0」であるから、これによって各エリア
の先頭アドレスも特定される。なお、「エリア終端アド
レス」は、「16ビット」アドレス空間におけるアドレ
スである。
【0032】(3.2)メモリ種別 メモリ種別は3ビットのデータであり、その値に応じ
て、各エリア毎のメモリデバイスを例えば以下のように
特定する。ここで、SRAMは「スタティックRAM
(Static Random Access Memory)」の略であり、SD
RAMは「シンクロナスDRAM(Synchronous Dynami
c Random Access Memory)」の略である。また、ここで
「SDRAM」とは、メモリデバイスが単体のSDRA
Mチップである場合と、SDRAMを複数個(例えば8
個あるいは16個)実装して成るDIMM(Dual Inlin
e Memory Module)の場合との双方を含む意味である。
【0033】000:ROMまたはSRAM(16クロ
ックアクセス) 001:ROMまたはSRAM(14クロックアクセ
ス) 010:ROMまたはSRAM(12クロックアクセ
ス) 011:ROMまたはSRAM(10クロックアクセ
ス) 100:ROMまたはSRAM(8クロックアクセス) 101:SDRAM(14クロックアクセス) 110:SDRAM(12クロックアクセス) 111:SDRAM(8クロックアクセス)
【0034】なお、以後の説明においては、冗長さを避
けるため、メモリ種別が「000〜100」である場合
には、当該メモリデバイスはROMであると仮定し、必
要な場合にSRAMについて言及することとする。
【0035】(3.3)カラムビット 「カラムビット」は、2ビットのデータであり、各エリ
アのメモリデバイスがSDRAMである場合に有効なデ
ータである。「カラムビット」は、SDRAMのカラム
アドレスのビット数を以下のように定義する。なお、参
考までに、各「カラムビット」に対応するメモリデバイ
スのメモリ容量の例を括弧内に挙げておく。 00:カラムアドレスビット数 8ビット(単体SDR
AM64MB,DIMM32MB〜64MB) 01:カラムアドレスビット数 9ビット(単体SDR
AM128MB,DIMM64MB〜128MB) 10:カラムアドレスビット数 10ビット(単体SD
RAM256MB,DIMM256MB〜512MB) 11:カラムアドレスビット数 11ビット(DIMM
512MB〜)
【0036】(3.4)DQMポジション 「DQMポジション」は2ビットのデータであり、メモ
リデバイスが主としてSDRAM型のDIMMである場
合に有効なデータである。DIMMにおいては、データ
バス幅は64ビット設けられているが、内部的にはDI
MMのデータバスは「8ビット」毎の「8」グループに
分かれており、これらグループのうち任意のものをアク
ティブにする8本のDQMピンが設けられている。本実
施形態においては、波形メモリ部400全体のデータバ
ス幅は「16ビット」または「32ビット」の何れかで
あるが、各メモリデバイスは「上位」または「下位」の
何れかに属するため、各メモリデバイスにおいては、必
要なデータバス幅は常に「16ビット」である。
【0037】そこで、本実施形態においては、「8ビッ
ト×2グループ」を一組として、上記8本のDQMピン
を2本づつアクティブにすることにより、DIMMを
「16ビット」データ幅のメモリとして使用することと
する。このため、DIMMの2本づつのDQMピンに対
して供給される選択信号として、上位マスク信号DQM
H0〜3あるいは下位マスク信号DQML0〜3がメモ
リI/O部300から出力される(詳細は後述する)。
【0038】これらマスク信号DQMH0〜3あるいは
DQML0〜3は、DIMMに直接的に与えられるアド
レス信号のさらに上位にある「2ビット」をデコードす
ることにより生成される。「DQMポジション」は、上
記「カラムビット」と合せて、これらマスク信号DQM
H0〜3あるいはDQML0〜3を生成するために、何
れの2ビットを使用するかを規定する情報である。具体
的には、「カラムビット」および「DQMポジション」
に応じて、上記2ビットは図13(a)のように設定され
る。この図において、選択される2ビットの下の括弧内
に記載されている容量は、チップセレクトを2つ有する
DIMMの場合の値であり、チップセレクトを2つ有す
るDIMMの場合の値であり、チップセレクトが1つの
DIMMではその半分の容量になる。
【0039】(4)エリア判定部318 次に、318はエリア判定部であり、ここには発音処理
中の全ての発音チャンネルについて、波形メモリ読出ア
ドレスTGWAが供給される。エリア判定部318にお
いては、上記アクセス制御レジスタ332に記憶されて
いる各エリア終端アドレスと、上記各発音チャンネルの
波形メモリ読出アドレスTGWAとが比較され、各発音
チャンネルに対するエリアが特定される。
【0040】そして、特定された各エリアについてメモ
リ種別が読み出され、各発音チャンネルに対するメモリ
種別が特定される。また、メモリ種別によって、当該エ
リアにアクセスするためのクロック数が特定される。従
って、エリア判定部318においては、これらの情報に
基づいて、発音処理中の全ての発音チャンネルについ
て、1回あたりのアクセスに必要なクロック数が判定さ
れる。
【0041】(5)期間割当部320 次に、320は期間割当部であり、発音処理中の各発音
チャンネルに対して、1サンプリング周期内のアクセス
期間を割り当てる。このため、期間割当部320には、
これら各発音チャンネルについて、1回あたりのアクセ
スに必要なクロック数が上記エリア判定部318から供
給され、アクセス回数が続出書込回路206から供給さ
れるとともに、各発音チャンネルについてデータモード
信号DMと、補間モード信号IMとが音源制御レジスタ
202から供給される。
【0042】次に、アクセス回数指令信号IMについて
説明する。まず、波形メモリ部400に記憶されている
波形データは、所望のピッチにピッチシフトされるた
め、該ピッチシフト量に対応したアドレス速度で読み出
される。このアドレス速度は小数部を含む速度であるた
め、波形メモリ400からは読出し時のアドレス位置の
前後におけるサンプリング値が読み出され、これら読み
出された値に対して補間が施され、読出し時のサンプリ
ング値が求められる。
【0043】本実施形態においては、前後の2点のサン
プリング値に対して補間を施すモード(以下、2点補間
モードという)と、前後の4点のサンプリング値に対し
て補間を施すモード(以下、4点補間モードという)と
が各発音チャンネル毎に選択される。各発音チャンネル
には過去に読出されたサンプリング値を4つ保存するバ
ッファがそれぞれ設けられており、チャンネル毎に、基
本的にはアドレス速度に応じたアドレス整数部の進行数
に対応する数のサンプリング値が波形メモリから読み出
される。従って、1サンプリング周期毎に波形メモリ部
400にアクセスすべき回数は発音チャンネル毎に異な
る。アクセス回数指令信号IMは、この1サンプリング
周期に対するアクセス回数(要求回数)を指定する信号
である。この要求回数に基づき後述する期間割当部32
0にて、各チャンネルのアクセス回数が確定される。
【0044】あるチャンネルについて1回あたりのアク
セスに必要なクロック数(アクセスするメモリに応じて
決まる)と、データモード信号DMと、アクセス回数指
令信号IMとが特定されると、これによって、1サンプ
リング周期内において必要なクロック数が特定される。
一例として、1回あたりのアクセスに必要なクロック数
が「10」であり、データバス幅が「32ビット」であ
り、波形データのデータ幅が「16ビット」ビットであ
り、「4点補間」モードで波形データを読み出す場合を
想定してみる。なお、音源のシステムクロックの周波数
は、このクロックと同じでもよいし、それよりも高い周
波数でもよい。
【0045】「4点補間」を行うためには、「4サンプ
ル」すなわち(1ワード=16ビットとして)「4ワー
ド」のサンプルが必要である。ここでは、その全てを1
サンプリング周期毎に波形データから読み出す必要が生
じる場合を想定する。そして、先に上位・下位アドレス
生成回路316について説明したように、「32ビッ
ト」データバスを用いた場合には、「2ワード」のデー
タを1回のアクセスで読み出すことができる。従って、
当該発音チャンネルについて「1サンプリング周期」内
のアクセス回数は「2回」であり、合計で「10×2=
20クロック」が当該発音チャンネルに割り当てられる
ことになる。
【0046】本実施形態においては、「1サンプリング
周期」は「2048クロック」から構成される。そし
て、期間割当部320においては、発音処理中の全チャ
ンネル、Xアクセス回路204および外部回路108に
対して、アクセスに必要なクロックタイミングが割り当
てられる。そして、その割当て結果に基づいて、各クロ
ック毎に、メモリ・モード信号セレクタ312およびア
ドレス信号セレクタ314に対して、期間割当部320
から選択信号TSELが供給される。
【0047】ここで、期間割当部320において実行さ
れるクロックタイミングの割当方法について説明してお
く。 (1) まず、各発音チャンネルの1アクセス当たりのク
ロック数とアクセス回数(要求回数)とを乗算し、その積
を累計することにより、全チャンネルのアクセスに必要
なクロック数の総計を求める。 (2) この求めたクロック数の総計がCPU124によ
って設定された「最大クロック数」(例えば700クロ
ック、詳細は後述する)を超えているか否かが判定され
る。超えていなければ、各発音チャンネルに対して、1
アクセス当たりのクロック数と要求回数との積であるク
ロック数が割り当てられ、割当処理は終了する。
【0048】(3) 一方、クロック数の総計が最大クロ
ック数を超えている場合は、その超えたクロック数を
「超過クロック数」とするとともに、一番若い番号の発
音チャンネルを「対象チャンネル」とする。 (4) 対象チャンネルに対して、削減可能な範囲でアク
セス回数を削減する。例えば、アクセス回数指令信号I
Mによって4点補間が要求された設定された発音チャン
ネルについてはアクセス回数は「0〜4」の範囲になる
が、これを2点補間に変更することによって、必要なア
クセス回数は「0〜2」の範囲にまで削減される。 (5) 削減されたアクセス回数に相当するクロック数を
「超過クロック数」から減算する。
【0049】(6) 超過クロック数がゼロ以下になった
か否かを判断し、ゼロ以下になっている場合は、変更後
のクロック数が各発音チャンネルに割り当てられ、割当
処理は終了する。 (7) 超過クロック数が「1」以上であって、対象チャ
ンネルが最終チャンネルでなければ、次に若い番号のチ
ャンネルを対象チャンネルにするとともに(4)の処理に
戻る。 (8)一方、対象チャンネルが最終チャンネルなら、処理
を終了する。
【0050】以上処理により、各チャンネルが実際に波
形メモリをアクセスする回数(図8(c)参照)が確定さ
れる。この処理は、波形メモリアクセスの行なわれる期
間に対し1/2サンプリング周期だけ前の周期に実行さ
れる。一方、エリア判定部310内の他の構成要件31
2、314、316、322、324、326、32
8、330の処理は、波形メモリアクセスの行なわれる
期間に実行される。
【0051】なお、エリア判定部324内の動作は各サ
ンプリング周期ごとに行なわれているため、何れかのチ
ャンネルでアクセス回数が削減された(4点補間→2点
補間)としても、それはそのサンプリング周期での削減
であり、その次のサンプリング周期でもその削減が継続
されることを意味しない。従って、アクセス回数の削減
が行なわれたとしてもそれは一時的なものである場合が
多く、生成される楽音への影響は小さい。
【0052】(6)エリア判定部322,324,他 次に、上位・下位アドレス生成回路316から出力され
た上位・下位アドレス信号MAH0〜30,MAL0〜
30は、各々エリア判定部322,324に供給され
る。エリア判定部322においては、アクセス制御レジ
スタ332の内容と下位アドレス信号MAL0〜30に
基づいて、下位メモリタイプ信号TYPELが出力され
る。すなわち、下位アドレス信号MAL0〜30と各エ
リア終端アドレスとが比較されることによって下位アド
レス信号MAL0〜30に係るエリアが特定され、当該
エリアに係るメモリ種別が該下位メモリタイプ信号TY
PELとして出力される。
【0053】また、メモリ種別が決定されると、当該メ
モリデバイスを1回アクセスするために必要なクロック
数が特定される。326はアクセスカウンタであり、下
位メモリタイプ信号TYPELに基づいて、クロックを
そのメモリ種別のアクセスに必要なクロック数だけカウ
ントし、アクセスカウント値CNTとして出力する。こ
こで、例えば、必要なクロック数が「10」であれば、
アクセスカウンタ326は「0」から「9」までのカウ
ントを行なう。このカウント値は後述するタイミング発
生回路346,362におけるタイミング発生のベース
となる。また、エリア判定部322においては、下位ア
ドレス信号MAL0〜30に基づいて、「0〜7」の何
れかのエリア番号が特定される。
【0054】本実施形態において、第0エリア〜第7エ
リアのうち前半ないし後半の一方の「4エリア」がRO
MあるいはSDRMの共用エリア(簡略化のためのSD
RAM用と呼ぶ)として割り当てられ、他方の「4エリ
ア」がROMの専用エリア(同ROM用と呼ぶ)として割
り当てられる。328は下位チップセレクト生成回路で
あり、特定されたエリア番号に基づいて、ROM用の4
本のチップセレクト信号RCSL0〜3またはSDRA
M用の4本のチップセレクト信号DCSL0〜3のうち
1本のみを“1”に設定し、残りの7本を“0”に設定
する。なお、データバス幅が「32ビット」の場合で
も、上位と下位で独立にエリアを判定してチップセレク
ト信号を作成しているので、前後のメモリエリアのアク
セスクロック数が同じであれば、その2つのエリアをま
たいで記録された波形データを読み出すことができる。
【0055】同様に、エリア判定部324においては、
上位アドレス信号MAH0〜30に基づいて、上位のメ
モリデバイスのメモリ種別を示す上位メモリタイプ信号
TYPEHが出力され、上位チップセレクト生成回路3
30においては、上位のROMに対するチップセレクト
信号RCSH0〜3と、上位のSDRAMに対するチッ
プセレクト信号DCSH0〜3が生成される。但し、本
実施形態において「上位」および「下位」には同一種類
の(同一アクセススピードの)メモリデバイスを実装す
べきこととしているため、アクセスカウント値CNTは
アクセスカウンタ326から出力されるものを「上位」
および「下位」にて共用している。
【0056】1.3.2.ROMコントローラ340 (1)チップセレクト付加部344 次に、図4において340はROMコントローラであ
り、波形メモリ部400内のROMに供給されるアドレ
ス信号その他各種の信号を生成する。その内部において
344はチップセレクト付加部であり、チップセレクト
信号RCSH0〜3,RCSL0〜3を上位・下位アド
レス信号MAH0〜30,MAL0〜30に付加し、そ
の結果を上位・下位アドレス信号HMA0〜30,LM
A0〜30として、アドレスバス372,374を介し
て出力する。
【0057】上位・下位アドレス信号HMA0〜30,
LMA0〜30は、各々「31ビット」であるが、その
上位4ビットを必要に応じてチップセレクト信号として
用いることができる。その詳細を図14および図15を
参照し説明する。まず、図14は、ROMが「下位」の
みに実装された場合におけるチップセレクト信号の付加
例を示す図である。
【0058】まず、波形メモリ部400内において、全
メモリ空間は「31ビット」に対応して「2Gワード」
になる。ここに「2Gワード」のROMを1個実装する
場合は、「31ビット」の下位アドレス信号MAL0〜
30をそのまま下位アドレス信号LMA0〜30として
当該ROMに供給しなければならないから、チップセレ
クト信号は混入されない。また、波形メモリ部400が
アクセスされる時は、必ず当該ROMがアクセスされる
から、ROMのチップセレクト端子には別途チップセレ
クト信号を供給する必要がある。
【0059】また、「1Gワード」のROMを1個実装
する場合は、最上位の下位アドレス信号MAL30に代
えて、チップセレクト信号RCSL0が下位アドレス信
号LMA30としてROMに供給されることになる。こ
こで、波形メモリ部400内に割り当てられるROMの
エリアは、「前半4エリア」または「後半4エリア」の
うち何れかを選択することができる。「前半4エリア」
にROMが割り当てられる場合は、このチップセレクト
信号は第0エリアに対するチップセレクト信号であり、
一方、全エリア中の「後半4エリア」にROMが割り当
てられる場合は第4エリアに対するチップセレクト信号
になる。図中で「CS0/4」と表記されているのはこ
のためである。
【0060】また、「512Mワード」のROMであれ
ば、最大2個実装可能であるが、アドレス信号は「29
ビット」あればよい。このため、下位アドレス信号中の
MAL30,MAL29に代えて、チップセレクト信号
RCSL0,RCSL1が下位アドレス信号LMA3
0,LMA29として波形メモリ部400に供給され
る。同様に、「256Mワード」のROMであれば、最
大3個実装可能であり、上位3ビットの下位アドレス信
号LMA28〜30に代えてチップセレクト信号RCS
L0〜2が当該ROMに供給される。また、「128M
ワード」のROMであれば、最大4個実装可能であり、
上位4ビットの下位アドレス信号LMA27〜30に代
えてチップセレクト信号RCSL0〜3が当該ROMに
供給される。
【0061】次に、ROMが上位・下位の双方に実装さ
れた場合におけるチップセレクト信号の付加例を図15
を参照し説明する。まず、「上位」および「下位」に各
々「2Gワード」(1ワード=16ビット)のROMを
実装する場合には、各ROMに対して「31ビット」の
上位アドレス信号HMA0〜30および下位アドレス信
号LMA0〜30を全て供給しなければならない。
【0062】上述したように、上位アドレス信号HMA
0〜30は、アドレス信号WA0〜31を右に「1ビッ
ト」シフトした結果、すなわちアドレス信号WA1〜3
0であるから、図15においてはそのように表記されて
いる。一方、下位アドレス信号LMA0〜30は、シフ
トの際の「あふれビット」が“0”であれば上位アドレ
ス信号HMA0〜30に等しく、「あふれビット」が
“1”であればアドレス信号WA1〜30に「1」を加
算した値になる。図15においては、両者を総称して、
「WA’0〜WA’30」のように表記している。
【0063】「上位」および「下位」の双方にROMを
実装する場合においても、チップセレクト信号を付加す
る態様は図14の場合と同様である。すなわち、「1G
ワード」のROMを「上位」および「下位」に各1個実
装する場合は、最上位の上位アドレス信号MAH30
(=WA31)および下位アドレス信号MAL30(=
WA’31)に代えて、チップセレクト信号RCSH0
およびRCSL0が上位アドレス信号HMA30および
下位アドレス信号LMA30として出力される。
【0064】また、「512Mワード」のROMであれ
ば、上位および下位アドレス信号中の各上位2ビットに
代えて、チップセレクト信号RCSH0,RCSH1お
よびRCSL0,RCSL1が出力され、「256Mワ
ード」のROMであれば、上位および下位アドレス信号
中の各上位3ビットに代えて、チップセレクト信号RC
SH0〜2およびRCSL0〜2が出力され、「128
Mワード」のROMであれば、上位および下位アドレス
信号中の各上位4ビットに代えて、チップセレクト信号
RCSH0〜3およびRCSL0〜4が出力される。
【0065】(2)LHマスク発生部342およびドライ
ブ回路348 図4に戻り、348はドライブ回路であり、上位・下位
アドレス信号HMA0〜30,LMA0〜30等、波形
メモリ部400に供給される信号をバッファリングして
出力する。その際、以下述べるように、必要に応じてこ
れらの信号がマスキングされる。また、外部回路108
のアクセス期間内においては、ドライブ回路348はハ
イインピーダンス状態に設定される。342はLHマス
ク発生部であり、データモード信号DM等に基づいて、
上位のチップセレクト信号をマスクする上位ROMマス
ク信号RMHおよび下位のチップセレクト信号をマスク
する下位ROMマスク信号RMLを出力する。
【0066】上位・下位ROMマスク信号RMH,RM
Lは、“1”であれば「チップセレクト可」、“0”で
あれば「チップセレクト不可」(マスク状態)を示す二
値信号である。上述したように、波形メモリ部400の
データバス幅が「32ビット」であれば、「上位」およ
び「下位」のROMを同時にアクセスする事が可能であ
るが、そのうち一方にのみアクセスしたい場合がある。
かかる場合には、他方のチップセレクト信号をマスキン
グしておくことにより、消費電力や電磁波の輻射を削減
することができる。
【0067】また、ROMに代えてSRAMが実装され
る場合には、「上位」または「下位」の一方のみに対し
て「書込み」が行われる場合がある。かかる場合には、
他方に対する書込みは阻止しなければならないため、R
OMマスク信号RMH,RMLは必須である。具体的に
は、上位ROMマスク信号RMHが“0”になると、上
位アドレス信号HMA0〜30中のチップセレクト信号
(図15参照)がマスクされる(強制的に“0”に設定
される)。同様に、下位ROMマスク信号RMLが
“0”になると、下位アドレス信号LMA0〜30中の
チップセレクト信号がマスクされる。
【0068】但し、「2Gワード」のROMが実装され
る場合には、上位・下位アドレス信号HMA0〜30,
LMA0〜30中にはチップセレクト信号は付加されな
いため、上位・下位ROMマスク信号RMH,RMLが
そのまま波形メモリ部400に供給され、これらが「2
Gワード」のROMに対するチップセレクト信号として
用いられることになる。
【0069】(3)タイミング発生回路346 次に、346はタイミング発生回路であり、ここにはメ
モリ・モード信号セレクタ312からメモリ・モード信
号Wが供給されるとともに、アクセスカウンタ326か
らアクセスカウント値CNTが供給され、エリア判定部
322,324からメモリタイプ信号TYPEH,TY
PELが供給される。タイミング発生回路346におい
ては、これらの信号に基づいて、ROM用のメモリ・ア
ウトプット・イネーブル信号MOENと、メモリ・ライ
ト・イネーブル信号MWENとが出力される。なお、メ
モリ・ライト・イネーブル信号MWENは、実際はRO
Mに代えてSRAMが用いられる場合に使用される。
【0070】さらに、タイミング発生回路346におい
ては、ドライブ回路348を介して上位・下位アドレス
信号HMA0〜30,LMA0〜30の出力タイミング
が制御されるとともに、後述するデータ・コントローラ
350を介して、上位・下位データ信号HMD0〜1
5,LMD0〜15の入出力タイミングが制御される。
次に、タイミング発生回路346におけるタイミング制
御の内容を図9,図10を参照し説明する。
【0071】まず、図9において、16クロックアクセ
スのROMまたはSRAMをアクセスする場合は、アド
レス信号(HMA0〜30またはLMA0〜30)を第
0〜第15クロックの「16クロック」だけ保持する必
要がある。そして、読出しを行う場合には、メモリ・ア
ウトプット・イネーブル信号MOENを第4〜第15ク
ロックの期間“0”に保持する必要がある。かかる制御
を行うと、第14〜第15クロックにおいて、データ信
号(HMD0〜15またはLMD0〜15)が読み出さ
れ、第13クロックの終わりの信号MOENの立ち上が
りに応じて読み出されたデータ信号がバッファアンプ3
56の入力ラッチに取り込まれる。
【0072】また、16クロックアクセスのSRAMに
対して書込みを行う場合には、読出し時と同様にアドレ
ス信号を「16クロック」だけ保持する必要がある。そ
して、メモリ・ライト・イネーブル信号MWENは、第
2〜第13クロックの期間“0”に保持しておく必要が
ある。また、書込み用のデータ信号(HMD0〜15ま
たはLMD0〜15)は第0〜第15クロックに渡って
保持する必要がある。また、「14,12,10または
8クロックアクセス」のROMまたはSRAMに対して
も、図9および図10に示すように、各々のメモリ種別
に応じたタイミングで各種信号が入出力される。
【0073】1.3.3.SDRAMコントローラ360 (1)タイミング発生回路362 図4に戻り、360はSDRAMコントローラであり、
波形メモリ部400内のSDRAMに供給されるアドレ
ス信号その他各種の信号を生成する。その内部において
362はタイミング発生回路であり、上述したROMコ
ントローラ340内のタイミング発生回路346と同様
に、ここにはメモリ・モード信号W、アクセスカウント
値CNT、メモリタイプ信号TYPEH,TYPELが
供給される。
【0074】タイミング発生回路362においては、こ
れらの信号に基づいて、SDRAM用の行アドレススト
ローブ信号DRAS、列アドレスストローブ信号DCA
Sおよびライト・イネーブル信号DWENが生成され
る。次に、タイミング発生回路362におけるタイミン
グ制御の内容を図11,図12を参照し説明する。
【0075】まず、SDRAMに供給される動作クロッ
クDCLKは、ROMのタイミング制御に用いられたア
クセス用のクロックCLKを2分周したクロック信号で
ある。上述したように、SDRAMには、例えば「8,
10,12クロックアクセス」のものが存在するが、こ
れは動作クロックDCLKを基準にすれば「4,5,6
クロックアクセス」になる。図11,図12におけるタ
イミングチャートは、この動作クロックDCLKを基準
としている。
【0076】図11において、8クロックアクセスのS
DRAMをアクセスする場合は、動作クロックDCLK
の第1周期において上位・下位アドレス信号DMAH0
〜14,DMAL0〜14がROW(行)アドレス信号
に設定され、残りの3周期において、これらアドレス信
号はCOL(列)アドレス信号に設定される。
【0077】そして、動作クロックDCLKの合計4周
期の期間中、バンクセレクト信号BA0,BA1は常時
出力される。そして、チップセレクト信号/S0〜3
(=DCSH0〜3またはDCSL0〜3)は、第1お
よび第2周期において“L”レベル(=“0”)に設定
される。また、行・列アドレスストローブ信号/RA
S,/CAS(=DRAS,DCAS)は、各々第1周
期,第2周期において“L”レベルに設定される。
【0078】また、マスク信号DQMB0〜7(詳細は
後述する)は、上記4周期の期間中、常に何れか2本が
選択される。ここで、読出しを行う場合においては、ラ
イト・イネーブル信号/WE(=DWEN)は常に
“H”レベル(=“1”)に設定される。これにより、
動作クロックDCLKの第4周期において、SDRAM
から読み出されたデータが上位・下位データ信号HMD
0〜15,LMD0〜15として出力されることにな
る。
【0079】SDRAMでは、4つの信号(/CS、/
RAS、/CAS、/WE)の組み合わせにより1つの
コマンドCMNDが決定される(図11,図12の「C
MND」欄参照。)動作クロックDCLKの第1周期の
信号(/CS、/RAS、/CAS、/WE)の状態
(L、L、H、H)は「アクティブ命令」である。SD
RAMにおいては当該「アクティブ命令」に応じてRO
Wアドレス信号が取り込まれ、その後の読出しないし書
込み動作のための準備が実行される。
【0080】第2周期の状態(L、H、L、H)は「R
EAD命令」である。SDRAMにおいては当該「RE
AD命令」に応じてCOLアドレスが取り込まれ、先に
取り込まれたROWアドレスとこのCOLアドレスによ
り選択された記憶位置からのデータの読出しが開始され
る。
【0081】第3周期と第4周期の状態(H、H、H、
H)はチップが選択されていない状態「DESL」であ
り、当該SDRAMにおいては命令が受け取られず、既
に与えられている命令に応じた動作(この場合は読出し)
が継続される。この結果、読み出されたデータREAD
DATAは第4周期にデータバスD0〜63に出力され
る。ただし、全64ビットのうちマスクされたビットに
は出力されない。
【0082】一方、書込みを行う場合においても、動作
クロックDCLKの第1周期の状態(L、L、H、H)
は「アクティブ命令」である。従って、SDRAMにお
いては、当該「アクティブ命令」に応じてROWアドレ
ス信号が取り込まれ、その後の読出しないし書込み動作
のための準備が行なわれる。そして、書込みを行う場合
においては、第2周期においてライト・イネーブル信号
/WEが“L”レベルに設定される。そして、上位・下
位データ信号HMD0〜15,LMD0〜15は、第2
〜第4周期に渡って保持される。
【0083】この第2の周期の状態(L、H、L、L)
は「WRITE命令」である。SDRAMにおいては当
該「WRITE命令」に応じてCOLアドレス及び書込
むデータWRITEDTが取り込まれ、先に取り込まれ
たROWアドレスとこのCOLアドレスにより選択され
た記憶位置に対してデータの書込みが開始される。但
し、マスクされたビットからはWRITEDTは取り込
まれず、同ビットに関しては書込みも行なわれない。
【0084】第3周期と第4周期の状態(H、H、H、
H)はチップが選択されていない状態「DESL」であ
り、当該SDRAMにおいては命令が受け取られず、既
に与えられている命令に応じた動作(この場合は書込み)
が継続される。そして、第4周期において、当該データ
がSDRAM内の対応するアドレスに書き込まれること
になる。また、「14または12クロックアクセス」の
SDRAMに対しても、図11および図12に示すよう
に、各々のメモリ種別に応じたタイミングで各種信号が
入出力される。
【0085】(2)クロック発生部368 図4に戻り、368はクロック発生部であり、クロック
CLKを分周してSDRAMの動作クロックDCLKを
生成するとともに、当該動作クロックDCLKが発生中
であることを示すクロックイネーブル信号DCLKEを
出力する。ここで、クロック発生部368においては、
CPU124により音源制御レジスタ202に設定され
たクロック制御信号DCL_ONが“1”であれば、動
作クロックDCLKが常時発生されるとともに、クロッ
クイネーブル信号DCLKEも“1”(オン状態)に設
定される。
【0086】一方、クロック制御信号DCL_ONが
“0”であれば、これらの信号はアクセス中のメモリデ
バイスの種別、すなわち下位メモリタイプ信号TYPE
Lに応じて状態が切り換えられる。すなわち、下位メモ
リタイプ信号TYPELが「SDRAM」を指標してい
る場合は、動作クロックDCLKが発生されるととも
に、クロックイネーブル信号DCLKEも“1”(オン
状態)に設定される。
【0087】一方、クロック制御信号DCL_ONが
“0”であって下位メモリタイプ信号TYPELが「R
OMまたはSRAM」を指標している場合は、動作クロ
ックDCLKが停止されるとともに、クロックイネーブ
ル信号DCLKEも“0”(オフ状態)に設定される。
ここで、かかる制御の意義について説明しておく。本発
明者が知る限りにおいて、現在市販されているSDRA
Mは、仕様上は、動作クロックDCLKを常時供給しな
ければならないことになっている。
【0088】しかし、本発明者が実験をしたところによ
れば、書込み/読出し時に動作クロックDCLKを供給
していれば、他の期間においてSDRAMに動作クロッ
クDCLKを供給しなくても正常に動作することが判明
した。そこで、SDRAMに対してアクセスしない期間
すなわちROMをアクセスする期間は、動作クロックD
CLKをオフ状態に設定することを可能にした。これに
より、消費電力が低減されるとともに、電磁波の輻射も
抑制されることになる。
【0089】但し、全てのSDRAMに対してかかる動
作が可能である保証は無い。そこで、動作クロックDC
LKのオンオフ制御を行うか否かをエンドユーザが指示
し、それに応じてCPU124が音源制御レジスタ20
2にクロック制御信号DCL_ONを設定することによ
って自在に設定できるようにしたものであり、オンオフ
制御を行った際に支障が生じる場合には、動作クロック
DCLK等を常時オン状態に設定しておくとよい。な
お、クロック制御信号DCL_ONを各エリアごとに独
立に設定できるようにしてもよい。
【0090】また、詳細は後述するが、各サンプリング
周期の先頭には、SDRAMをリフレッシュするための
リフレッシュ期間が設けられる。そして、クロック制御
信号DCL_ONが“0”である場合には(“1”であ
る場合には当然に)、当該リフレッシュ期間において動
作クロックDCLKがオン状態に設定される。
【0091】(3)その他の構成 次に、364は行・列アドレス発生部であり、上位・下
位アドレス信号MAH0〜30,MAL0〜30からそ
れぞれROW(行)アドレス信号、COL(列)アドレ
ス信号を生成し、その結果を時分割しつつ上位・下位ア
ドレス信号DMAH0〜14,DMAL0〜14とし
て、アドレスバス376,378を介して出力する。な
お、上位・下位アドレス信号MAH0〜30,MAL0
〜30がROW(行)アドレス信号およびCOL(列)
アドレス信号に分割される態様は、アクセス制御レジス
タ332中の「カラムビット」データに応じて異なる。
その具体例を図13(b)に示しておく。
【0092】366はマスク抽出部であり、上位・下位
アドレス信号MAH0〜30,MAL0〜30から各々
所定の「2ビット」を抽出し、これをデコードすること
によって上位・下位マスク信号DQMH0〜3,DQM
L0〜3を出力する。ここで、所定の「2ビット」は、
先に図13(a)において説明したように、当該SDRA
MのエリアにおけるカラムビットおよびDQMポジショ
ンによって決定される。なお、先述したように、これら
のマスク信号はデータバス幅が64ビットのDIMMから
16ビットのデータを取り出すための信号であるため、
DIMM以外では使用しなくても良い。
【0093】例えば、内部が2分割構造で2つのチップ
セレクトでそれぞれ指定される64MBのDIMMの場
合には、マスク抽出部366の設定は以下のようにな
る。まず、DIMMの12ビットのアドレス端子には、
8ビットのCOLアドレスと12ビットのROWアドレ
スの都合20ビットのアドレスMA0〜MA19が出力
される。従って、「カラムビット」は、「00:8ビッ
ト」に設定される。その上の2ビットMA20、MA2
1はDIMMのバンクセレクトに使用されるので、マス
クには更にその上の2ビットMA22、MA23が使用
される。すなわち「DQMポジション」は「10:A2
2、A23」に設定される。以上の全24ビットによっ
て16メガワード(=32MB)をアクセス可能であ
り、そのアドレス空間が2チップセレクト分設けられて
いるため合計のアドレス空間は全64MBになる。
【0094】369はドライブ回路であり、上位・下位
アドレス信号DMAH0〜14,DMAL0〜14等、
波形メモリ部400に供給される信号をバッファリング
して出力する。その際、図11,図12において説明し
たタイミングチャートが実現されるように、必要に応じ
てこれらの信号がマスキングされる。さらに、外部回路
108のアクセス期間内においては、ドライブ回路36
9はハイインピーダンス状態に設定される。
【0095】1.3.4.データ・コントローラ350 次に、データ・コントローラ350の内部において35
2はセレクタであり、読出書込回路206から書込みデ
ータ信号TGWDが、また、Xアクセス回路204から
書込みデータ信号XAWDが、各々供給される。セレク
タ352においては、期間割当部320から出力される
選択信号TSELに基づいて、そのうち一方が選択され
る。
【0096】選択されたデータ信号のデータ幅が「32
ビット」であれば、該データ信号の上位・下位各「16
ビット」が各々上位・下位データ信号HMD0〜15,
LMD0〜15として、ドライブ354を介して波形メ
モリ部400に供給される。また、選択されたデータ信
号のデータ幅が「16ビット」であれば、該データ信号
はそのまま下位データ信号LMD0〜15として出力さ
れる。また、外部回路108のアクセス期間内において
は、ドライブ回路354はハイインピーダンス状態に設
定される。
【0097】また、波形メモリ部400において読み出
された上位・下位データ信号HMD0〜15,LMD0
〜15は、バッファアンプ356を介して、そのまま読
出書込回路206およびXアクセス回路204に対する
読出しデータ信号TGRD,XARDとして供給され
る。なお、Xアクセス回路204および読出書込回路2
06においては、当該回路において読出しタイミングで
は無い時にデータ信号が供給されたとしても無視され
る。
【0098】ところで、本実施形態においては、ROM
(またはSRAM)用のアドレスバス372,374
と、SDRAM用のアドレスバス376,378とが完
全に分離されている。かかる構成を採用した意義につい
て説明しておく。まず、SDRAM(特にDIMM)
は、ROM等と比較してアドレスバスの負荷容量が大き
く、両者のアドレスバスを共用すると、大容量のドライ
ブ回路を設ける必要がある。
【0099】本実施形態においては、ROM用のアドレ
スバス372,374をSDRAM用のアドレスバス3
76,378から完全に分離したため、ドライブ回路3
48のドライブ能力を小さくすることができるという利
点がある。なお、アドレスバス376,378をドライ
ブするドライブ回路369には相当の負荷容量を有する
ものを採用する必要があるが、SDRAMはアドレスバ
スの本数が少ないため、全体的に見れば、ドライブ回路
に要求される負荷容量のドライブ能力を小さくすること
ができるのである。
【0100】1.4.波形メモリ部400の構成 1.4.1.単純な構成例 波形メモリ部400としては、種々の構成を採ることが
可能であるが、最初に単純な構成例を図5を参照し説明
する。図において波形メモリ部400は、各々64メガ
ビット(4メガワード)のROM402,404から構
成されている。これらのROMは、共に下位側に接続さ
れている。このため、メモリI/O部300の上位側の
信号およびSDRAM用の信号は用いられていない。
【0101】ROM402,404には、下位アドレス
信号LMA0〜30のうち下位22ビットである(LM
A0〜21)がROM402,404のアドレス信号A
0〜21として入力される。そして、下位アドレス信号
LMA0〜30のうち上位2ビット(LMA30,2
9)が各々ROM402,404のチップセレクト信号
/CSとして入力される。これは、図14,図15にお
いて説明したように、上位・下位アドレス信号HMA0
〜30,LMA0〜30の一部がチップセレクト信号と
して用いられているためである。
【0102】また、メモリ・アウトプット・イネーブル
信号MOENがこれらROMに対してアウトプット・イ
ネーブル信号/OEとして入力される。アウトプット・
イネーブル信号/OEによって出力が許可され、かつ、
チップセレクト信号/CSによって何れかのROMが選
択されると、アドレス信号A0〜21に基づいて当該R
OMの内容が読み出され、読み出されたデータは下位デ
ータ信号LMD0〜15としてメモリI/O部300に
供給される。
【0103】1.4.2.一般的構成例 (1)ROM410 次に、波形メモリ部400の一般的構成例を図6,図7
を参照し説明する。ここで、図6は上位側、図7は下位
側のメモリデバイスを示す。なお、繁雑を避けるため、
メモリI/O部300とこれらメモリデバイスの結線は
省略し、メモリデバイスの各端子に対応する信号名を付
している。
【0104】図6において410は128メガビットの
ROMであり、メモリ・アウトプット・イネーブル信号
MOENがアウトプット・イネーブル信号/OEとして
供給され、上位アドレス信号HMA30がチップセレク
ト信号/CSとして供給される。また、上位アドレス信
号HMA0〜30のうち下位23ビット(HMA0〜2
2)がアドレス信号A0〜22として供給される。図5
におけるROM402,404と同様に、出力が許可さ
れ、チップセレクト信号/CSによって選択されると、
アドレス信号A0〜22によってROM410のデータ
が読み出され、読み出されたデータは上位データ信号H
MD0〜15として出力される。
【0105】(2)SDRAM412 次に、412は単体のSDRAMである。メモリI/O
部300から出力される行・列アドレスストローブ信号
DRAS,DCAS、ライト・イネーブル信号DWE
N、動作クロックDCLK、およびクロックイネーブル
信号DCLKEは、各々そのままSDRAM412の行
・列アドレスストローブ信号/RAS,/CAS、ライ
ト・イネーブル信号/WE、クロックCLK、およびク
ロックイネーブル信号CKEとして入力される。
【0106】また、SDRAM用の4本の上位チップセ
レクト信号DCSH0〜3のうち信号DCSH0がSD
RAM412にチップセレクト信号/CSとして供給さ
れる。また、SDRAM412のデータバスは、「8ビ
ット」のグループ毎にマスクすることが可能になってい
るため、マスク信号DQMBH,DQMBLが入力され
る。本実施形態においては、(上位のみについて考えれ
ば)データバス幅は常に「16ビット」であるから、双
方のマスクが同時にオンオフされる。
【0107】そのため、上位マスク信号DQMH0〜3
のうち1本(図示の例ではDQMH0)がマスク信号D
QMBH,DQMBLとして同時に供給される。なお、
マスク信号DQMBH、DQMBLにマスク信号を入力
する代わりにその2つをアースに接続し、SDRAM1
6ビットを常時マスクされないようにしてもよい。SD
RAM412としては、「64〜256メガビット(8
〜32メガバイト)」のものが使用可能であるが、ここ
ではSDRAM412が「64メガビット」であると仮
定してアドレス制御の詳細を説明しておく。まず、SD
RAM412の内部は、4個のバンクに分割されてお
り、各バンクは「16ビット×1メガワード」の容量を
有する。
【0108】このため、各バンクは、ROW(行)アド
レス信号およびCOL(列)アドレス信号を合せて、
「20ビット」のアドレス幅を有することになる。換言
すれば、SDRAMコントローラ360内の行・列アド
レス発生部364においては、上位アドレス信号MAH
0〜30のうち下位「20ビット」である上位アドレス
信号MAH0〜19に基づいて、ROW(行)およびC
OL(列)アドレス信号が生成される。
【0109】SDRAM412のCOL(列)アドレス
の幅(アクセス制御レジスタ332内の「カラムビッ
ト」データ)が「8ビット」であるならば、ROW
(行)アドレスの幅は必然的に「12ビット」になる。
このため、SDRAM412には、上位アドレス信号D
MAH0〜14のうち下位12ビットの上位アドレス信
号DMAH0〜11がアドレス信号A0〜11として供
給される。
【0110】また、上述した4個のバンクを選択するた
めに、SDRAM412には「2ビット」のバンクセレ
クト信号BA0,BA1が入力可能になっている。本実
施形態においては、ROW(行)アドレスおよびCOL
(列)アドレスの指定のために用いられていた上位アド
レス信号DMAH0〜11のさらに上位2ビットである
DMAH12,13がこれらバンクセレクト信号BA
0,BA1として供給される。
【0111】従って、上位アドレス信号DMAH0〜1
1としてROW(行)またはCOL(列)アドレス信号
の何れを出力中のタイミングにおいても、上位アドレス
信号DMAH12,13すなわちバンクセレクト信号B
A0,BA1としては、上位アドレス信号MAH20,
21の値が行・列アドレス発生部364から出力される
ことになる。また、上位マスク信号DQMH0〜3は、
そのさらに上位「2ビット」である上位アドレス信号M
AH22,23に基づいて生成されることになる。従っ
て、図13(a)によれば、DQMポジションは“10”
に設定すればよい。
【0112】(3)DIMM414 次に、414はチップセレクトを1つだけ備えたSDR
AM型のDIMMであり、メモリ容量が「64〜256
メガバイト」のものを想定している。行・列アドレスス
トローブ信号DRAS,DCAS、ライト・イネーブル
信号DWEN、動作クロックDCLK、クロックイネー
ブル信号DCLKE、上位アドレス信号DMAH0〜1
1は、SDRAM412の場合と同様にDIMM414
にも供給される。また、チップセレクト信号としては、
上記SDRAM412のDCSH0とは異なるDCSH
1が供給される。
【0113】また、DIMM414においても、上位ア
ドレス信号DMAH12,13はバンクセレクト信号B
A0,BA1として供給される。なお、DIMM414
は、複数のバンクに対して異なるチップセレクト信号あ
るいはクロック信号等を供給することが可能になってい
るため、上記各信号のうちの一部は複数の端子に入力さ
れる。また、DIMM414は、マスク信号DQMB0
〜7が入力可能になっている。
【0114】上述したように、DIMM414のデータ
バス幅は64ビット設けられているが、内部的にはDI
MMのデータバスは「8ビット」毎の「8」グループに
分かれている。マスク信号DQMB0〜7は、これらグ
ループのうち任意のものをアクティブにするための信号
である。本実施形態においては、「2グループ」を「一
組」として、マスク状態が制御される。
【0115】すなわち、最下位の「16ビット」に対す
るマスク信号DQMB0,DQMB1としては、上位マ
スク信号DQMH0が供給され、その上位の「16ビッ
ト」に対するマスク信号DQMB2,DQMB3として
は、上位マスク信号DQMH1が供給され、さらに上位
の「16ビット」に対するマスク信号DQMB4,DQ
MB5としては、上位マスク信号DQMH2が供給さ
れ、最上位の「16ビット」に対するマスク信号DQM
B6,DQMB7としては、上位マスク信号DQMH3
が供給される。
【0116】例えば、DIMM414の容量が64メガ
バイトであるとする。上述したようにDIMM414に
は上位アドレス信号DMAH0〜11の12ビットがア
ドレス信号として入力されており、カラムビットが「9
ビット」であるとすると、COLとROWとして入力さ
れるアドレスは、アドレスMAH0〜20の全21ビッ
トに相当する。さらに、バンクセレクト信号BA0、B
A1として入力されるする上位アドレス信号DMAH1
2、13は、その上位の2ビットMAH21、22に相
当する。さらに、その上位の2ビットMAH23、24
に基づいて上位マスク信号DQMH0〜3を生成させる
ため、「DQMポジション」は"10"に設定しなければ
ならない。
【0117】換言すれば、行・列アドレス発生部364
においては、「カラムビット(ここでは「09」)」お
よび「DQMポジション(ここでは“10”)」が供給
されると、これらに基づいて上位アドレス信号MAH0
〜30の中から上位マスク信号DQMH0〜3を生成す
るための「2ビット」が特定される。この特定された
「2ビット」が「第23および第24ビット」になる。
そのさらに下位「2ビット(第21および第22ビッ
ト)」がバンクセレクト信号BA0,BA1を生成する
ためのビットとして用いられるのである。
【0118】ここで、上位アドレス信号MAH0〜30
中の特定の「2ビット」に基づいて上位マスク信号DQ
MH0〜3が生成されると、全64ビットのデータバス
のうち何れか「16ビット」のみがアクティブ状態にさ
れ、他の「48ビット」がマスク状態に設定される。D
IMM414のデータ信号端は、上記「一組」を成す
「16ビット」毎にまとめられ、異なる「組」の対応す
る信号端(例えばビット0,16,32,48)同士が
接続されている。但し、これら信号端のうちマスク状態
になっているものはハイインピーダンス状態であるた
め、データが衝突することはない。このように、接続の
結果、「16本」になった信号端を介して、上位データ
信号HMD0〜15が入出力される。この結果、DIM
M414にアドレスMAH0〜24の全25ビットアド
レス相当のアドレス空間を有し、このアドレス32メガ
ワード(64メガバイト)全域をアクセスすることがでる
ようになる。
【0119】(4)DIMM416 次に、416はSDRAM型のDIMMであり、上記D
IMM414と同様の信号が入出力される。但し、DI
MM416は「2ROWS(2行)」型のDIMMであ
り、2個のDIMMと等価な動作を行う。従って、チッ
プセレクト信号としては、2系統(上位チップセレクト
信号DCSH2,3)が入力される。従って、DIMM
416は、1個のDIMMでありながら、「2エリア」
に対応することになる。
【0120】(5)下位側のメモリデバイス 次に、図7を参照し下位側のメモリデバイスの構成を説
明する。図において420はROM、422はSDRA
M、424,426はDIMMであり、それぞれROM
410、SDRAM412、DIMM414,416と
同様に構成されている。これらメモリデバイスに対して
入出力される信号は、上位側に対して対称的である。す
なわち、上位側の信号名中の「H」の文字を「L」に変
更した信号が入出力される。
【0121】2.実施形態の動作 2.1.メモリI/O部300の動作 次に、本実施形態の動作を説明するが、最初にメモリI
/O部300の動作を説明する。上述したように、本実
施形態において「1サンプリング周期」は「2048ク
ロック」から構成される。そして、期間割当部320に
おいては、発音処理中の全チャンネル、Xアクセス回路
204および読出書込回路206に対して、アクセスに
必要なクロックタイミングが割り当てられる。
【0122】ここで、「1サンプリング周期」の前半
(1024クロック)における割当状態の例を図8に示
す。読出書込回路206に割り当てられるアクセス期間
は、図8(b)において「音源アクセス期間(TAP)」
と記されている期間であり、Xアクセス回路204に割
り当てられる期間は同図において「Xアクセス期間(X
AP)」と記されている期間である。なお、「1サンプ
リング周期」の後半の割当状態も「前半」と同様であ
る。すなわち、音源の最大発音チャンネル数「64チャ
ンネル」のうち「前半」の期間に32チャンネルの音源
アクセスが行われ、「後半」の期間に残り32チャンネ
ルの音源アクセスが行われることになる。
【0123】図8(b)において、「1サンプリング周
期」の「前半」の先頭部分(「後半」についても同様)
は、SDRAMのリフレッシュ期間として確保される。
次に、音源アクセス期間が設けられ、しかる後にXアク
セス回路204によるアクセス期間が設けられ、残りの
時間が空き時間になる。ここで、Xアクセス回路204
によるアクセス期間や、CPU124による波形メモリ
部400に対する直接アクセス等のために、予めある程
度のクロック数を残しておく必要があるため、音源アク
セス期間として割当て可能な最大クロック数を制限して
おく必要がある。本実施形態においては、その音源アク
セス期間の「最大クロック数」をCPU124が音源制
御レジスタ202に設定するようになっている。その値
として、例えば「700クロック」が設定される。な
お、CPU124は、ユーザー操作に応じてこのクロッ
ク数を設定してもよいし、電子楽器の動作状態に応じて
自動設定してもよい。
【0124】音源アクセス期間内においては、最大「3
2チャンネル」の発音チャンネルのアクセス期間を確保
することができる。なお、仮に外部回路108に対して
全くアクセス期間を割当てていない場合には、後半の1
024クロックにおいても同様に「32チャンネル」の
音源アクセス期間を割り当てることができ、合計で最大
「64チャンネル」の発音チャンネルを確保することが
できる。但し、実際に「32チャンネル」あるいは「6
4チャンネル」の発音チャンネルを確保できるか否か
は、メモリデバイスの性能やデータバス幅等の要因に応
じて決定される。
【0125】次に、上記1024クロックの先頭82ク
ロック分の割当例を同図(c)に示す。同図において
「D」の文字はSDRAM(またはSDRAM型のDI
MM)、「R」の文字はROM(またはSRAM)に対
するアクセス期間であり、その後に続く数字は対応する
クロック数である。図において、先頭部分には、上述し
たSDRAMのリフレッシュ期間として16クロックが
確保される。次に、第0発音チャンネルに対して、SD
RAMに対する12クロックのアクセス期間が確保され
ている。
【0126】図示の例では、第0発音チャンネルの波形
データは「12クロックアクセス」のSDRAMに記憶
されており、このタイミングにおいて、期間割当部32
0により第0チャンネルに対し1回のアクセスが割当て
られている。次に、第1発音チャンネルに対し、期間割
当部320により1回のアクセス回数が割り当てられて
いる。但し、第1発音チャンネルの波形データは「10
クロックアクセス」のROMに格納されていることを想
定しているため、1回のアクセスに割り当てられるクロ
ック数は「10」である。
【0127】次に、第2発音チャンネルの波形データを
記憶したROMに対して、2回のアクセスが割当てられ
ている。第2発音チャンネルにおいてアクセスされるR
OMも「10クロックアクセス」であり、2回のアクセ
スには「20」クロックが割当てられる。
【0128】以下、同様にして、第5発音チャンネルに
係るSDRAMに対して「1回×8クロック」、第7発
音チャンネルに係るROMに対して「2回×12クロッ
ク」、第10発音チャンネルに係るSDRAMに対して
「1回×8クロック」が割り当てられている。発音チャ
ンネル毎に1回あたりのアクセスに割り当てられるクロ
ック数が異なるのは、それぞれメモリ種別が異なるから
である。
【0129】ここに本実施形態の特徴の一つがある。す
なわち、本実施形態によれば、高性能な(所要クロック
数が少ない)メモリデバイスを用いると、対応する発音
チャンネルにより少ないクロック数を割り当てることが
でき、より多くの発音チャンネル数を確保することがで
きる。また、所要発音チャンネル数が少なくても良い場
合には、例えば全発音チャンネルに対して4点補間を適
用すること等により、合成される楽音信号の品位を向上
させることができる。
【0130】次に、図8(d)においては、クロック制御
信号DCL_ONが“0”である場合における、SDR
AMの動作クロックDCLKのオンオフ状態を示す。図
示のように、SDRAMに対するリフレッシュ期間およ
びSDRAMに対するアクセス期間においては、動作ク
ロックDCLKはオン状態にされ、ROMに対するアク
セス期間においては動作クロックDCLKはオフ状態に
設定される。
【0131】2.2.全体動作 2.2.1.ノートオン処理 次に、本実施形態の全体動作について説明する。まず、
MIDIインタフェース116等を介してノートオンイ
ベントが発生すると、CPU124において、図16
(a)に示すノートオン処理ルーチンが起動される。図に
おいて処理がステップSP2に進むと、このノートオン
イベントに対して、新たな発音チャンネルを追加したと
仮定した場合に、図8(b)に示す音源アクセス期間に追
加される平均のクロック数が計算される。平均のクロッ
ク数は、そのチャンネルで読み出す波形データを記憶し
たメモリが「下位」のみを実装されていれば、同メモリ
をアクセスする際の「クロック数」に、その波形データ
を所望の音高までピッチシフトするのに必要なアドレス
速度(Fナンバと呼ばれる)を乗算した積である。ま
た、そのメモリが「上位」と「下位」に実装されていれ
ば、該積に更に1/2を乗算した積である。ここで、算
出される平均のクロック数には小数部を含まれていても
よく、あるいは、所定の桁で四捨五入ないし切り上げて
計算しても良い。
【0132】次に、処理がステップSP4に進むと、こ
の追加クロック数と既に発音処理中の発音チャンネルに
対して割り当てられているクロック数との合計が求めら
れ、この合計クロック数が最大クロック数(図8の例に
おいては700クロック)以下の範囲に収まるか否かが
判定される。ここで、「YES」と判定されると、処理
はステップSP12に進み、音源制御レジスタ202に
おいて新たな発音チャンネルが確保され、その発音チャ
ンネルで当該ノートオンに対応した新たな楽音の生成が
開始される。さらに、エリア判定部318,期間割当部
320を介して、音源アクセス期間内に当該発音チャン
ネルのクロック数が割り当てられる。これにより、本ル
ーチンの処理は終了する。
【0133】一方、合計クロック数が最大クロック数を
超えていた場合にはステップSP4において「NO」と
判定され、処理はステップSP6に進む。ここでは、既
存の発音チャンネルの中からアクセス回数を削減できる
ものが存在するか否かが判定される。「アクセス回数を
削減できる発音チャンネル」とは、具体的には4点補間
を行っている発音チャンネルであって、2点補間に変更
することによってアクセス回数の削減が可能になるほど
Fナンバが高い(具体的にはFナンバが2より大きい)
発音チャンネルである。
【0134】かかる発音チャンネルが存在すれば、ここ
で「YES」と判定され、処理はステップSP8に進
み、「削減可能できる」と判断された発音チャンネルの
うち何れかの補間モードが2点補間に変更され、それに
応じて削減されたアクセス回数に対応するクロック数
(メモリ種類に応じても異なる)が上記合計クロック数
から減算される。なお、かかる処理により、当該発音チ
ャンネルに係る楽音信号の品位が若干低下するが、新た
なノートオンイベントに対して発音チャンネルを割り当
てることの方が重要である。また、2点補間に変更され
る可能性があるのはFナンバの高い発音チャンネルだけ
であり、読み出す波形データをその録音時の音高から大
きくピッチアップしていない発音チャンルは4点補間か
ら2点補間に変更される恐れはない。そして、処理はス
テップSP4に戻り、合計クロック数が最大クロック数
以下の範囲であれば、ステップSP12において新たな
発音チャンネルが確保されることになる。
【0135】これら発音チャンネルが解放される前に次
々にノートオンイベントが発生すると、その度に本ルー
チンが起動され、発音チャンネルの数が増加してゆくこ
とになる。そして、やがては全ての発音チャンネルにお
いてアクセス回数の削減が不可能な状態になる。この状
態において、さらにノートオンイベントが発生すると、
ステップSP6において「NO」と判定され、処理はス
テップSP10に進む。
【0136】ステップSP10においては、リリース処
理中の発音チャンネルの中で音声レベルが最低である発
音チャンネルが強制的に解放される。なお、リリース処
理中の発音チャンネルが存在しない場合には、それ以外
の発音チャンネルの中から音声レベルが最低である発音
チャンネルが強制的に解放される。この場合は、解放さ
れた発音チャンネルのアクセス回数が丸ごと削減され、
そのアクセス回数に対応するクロック数が上記合計クロ
ック数から減算される。これは、やはり新たなノートオ
ンイベントに対して優先的に発音チャンネルを割り当て
るためである。そして、この発音チャンネルの解放処理
が終了すると、処理はステップSP4に戻る。
【0137】2.2.2.ノートオフ処理 また、MIDIインタフェース116等を介してノート
オフイベントが発生すると、CPU124において、図
16(b)に示すノートオフ処理ルーチンが起動される。
図において処理がステップSP20に進むと、このノー
トオフイベントに係る発音チャンネル対して、リリース
処理の開始が指示される。すなわち、当該発音チャンネ
ルの音量エンベロープレベルがCPU124により設定
されたリリースレートで減衰を開始し、所定時間後に音
量エンベロープレベルが「0」になると当該チャンネル
が解放される。
【0138】3.変形例 本発明は上述した実施形態に限定されるものではなく、
例えば以下のように種々の変形が可能である。 (1)上記各実施形態においては、ステップSP8におい
てアクセス回数が削減された(2点補間に変更された)
発音チャンネルは、消音されるまで常に2点補間が適用
された状態になる。しかし、全発音チャンネルによって
占有されているクロック数を定期的にチェックし、クロ
ック数に余裕がある場合には、当該発音チャンネルの補
間モードを4点補間に戻すようにしてもよい。
【0139】(2)上記実施形態において、タイミング発
生回路346,362は、供給されたメモリタイプ信号
TYPEH,TYPELに基づいて、アクセスすべきメ
モリデバイスのクロックタイミング等を特定した。しか
し、メモリタイプ信号とクロックタイミング等との関係
をフラッシュメモリ等に記憶させることにより、メモリ
タイプ信号に応じて任意のクロックタイミング等で各種
制御信号を出力できるようにしてもよい。換言すれば、
メモリデバイスの進歩に応じて、フラッシュメモリに記
憶されたメモリタイプ信号の値(すなわちメモリ種別)
を再定義し、ほとんど使われなくなった古いメモリデバ
イスに代えて新たに出現したメモリデバイスを割り当て
るとよい。
【0140】(3)また、上記実施形態においては、クロ
ック発生部368は動作クロックDCLKを供給するか
否かを全SDRAMに対して共通に設定したが、実際に
アクセスされるSDRAMチップあるいはDIMMに対
してのみ動作クロックDCLKが供給されるように、メ
モリデバイス毎に動作クロックDCLKのオンオフ状態
を設定できるようにしてもよい。
【0141】(4)また、上記実施形態においては、DI
MMは全体のビット幅は64ビットであり、4つのマス
ク信号によって16ビット単位の書込み/読出しを行っ
たが、メモリのビット数やマスクの単位はこの組み合わ
せに限らない。例えば、メモリのデータバス幅は128
ビットや256ビットでもよく、マスクは24ビット単
位、32ビット単位等でもよい。
【0142】(5)また、上記実施形態において音源部2
00は、サンプリング周期ごとに楽音信号を生成するハ
ードウェアの音源部であったが、これに代えてDSPや
CPUにより実現されるソフトウェア音源を用いてもよ
い。また、1サンプリング周期ではなく複数サンプリン
グ周期を単位とする動作を行ってもよい。
【0143】(6)音源部200、DAコンバータ11
0、波形メモリ部400等を専用のボード上に実装する
ことにより、上記実施形態における電子楽器を汎用パー
ソナルコンピュータによって実現することも可能であ
る。かかる場合には、図16に示したルーチンは、該パ
ーソナルコンピュータ上で動作するアプリケーションプ
ログラムになる。このアプリケーションプログラムのみ
をCD−ROM、フレキシブルディスク等の記録媒体に
格納して頒布し、あるいは伝送路を通じて頒布すること
もできる。
【0144】
【発明の効果】以上説明したように、第1の発音チャン
ネルの波形データの読出しが指示されると、第1のバス
を介して第1のメモリ部をアクセスする一方、第2の発
音チャンネルの波形データの読出しが指示されると、第
2のバスを介して第2のメモリ部をアクセスするアクセ
ス制御回路を設けた構成によれば、発音チャンネル毎に
使用するバスを切り換えることができ、回路のドライブ
能力を低減させることができる。
【0145】また、アドレス信号によって指標されるア
ドレスが第1または第2のメモリ部の何れに属するかを
判定し、第2のメモリ部がアクセスされる場合には所定
の動作クロックを発生させる一方、第1のメモリ部がア
クセスされる場合には該動作クロックを停止させる構成
によれば、消費電力を低減し、電磁波の輻射を抑制する
ことができる。
【0146】また、共通のメモリアドレスを用いてnビ
ット幅の第1のメモリデバイスと、n×mビット幅の第
2のメモリデバイスとをアクセスする構成によれば、ビ
ット幅の異なる複数種類のメモリデバイスに対して同一
のアドレスを用いることができるため、回路構成を複雑
化することなく、柔軟性の高いメモリシステムを構成で
きる。
【図面の簡単な説明】
【図1】 本発明の一実施形態の電子楽器の全体ブロッ
ク図である。
【図2】 音源部200の詳細ブロック図である。
【図3】 メモリI/O部300の詳細ブロック図(1
/2)である。
【図4】 メモリI/O部300の詳細ブロック図(2
/2)である。
【図5】 波形メモリ部400の単純な構成例を示すブ
ロック図である。
【図6】 波形メモリ部400の一般的構成例を示すブ
ロック図(1/2)である。
【図7】 波形メモリ部400の一般的構成例を示すブ
ロック図(2/2)である。
【図8】 メモリI/O部300の動作説明図である。
【図9】 各種ROMまたはSRAMに対するタイミン
グ発生回路346のタイミングチャート(1/2)であ
る。
【図10】 各種ROMまたはSRAMに対するタイミ
ング発生回路346のタイミングチャート(2/2)で
ある。
【図11】 各種SDRAMに対するタイミング発生回
路362のタイミングチャート(1/2)である。
【図12】 各種SDRAMに対するタイミング発生回
路362のタイミングチャート(2/2)である。
【図13】 行・列アドレス発生部364の動作説明図
である。
【図14】 チップセレクト付加部344の動作説明図
(1/2)である。
【図15】 チップセレクト付加部344の動作説明図
(2/2)である。
【図16】 ROM126に格納された制御プログラム
のフローチャートである。
【符号の説明】
102…パネルスイッチ、104…パネル表示器、10
8…外部回路、110…DAコンバータ、112…サウ
ンドシステム、114…ネットワークインタフェース
部、116…MIDIインタフェース、118…ディス
クドライブ、120…ディスク、122…タイマ、12
4…CPU、126…ROM、128…RAM、200
…音源部、202…音源制御レジスタ、204…Xアク
セス回路、206…読出書込回路、208…エンベロー
プ付与部、210…ミキサ、212…DSP、300…
メモリI/O部、310…エリア判定部、312…メモ
リ・モード信号セレクタ、314…アドレス信号セレク
タ、316…上位・下位アドレス生成回路、318…エ
リア判定部、320…期間割当部、322,324…エ
リア判定部、326…アクセスカウンタ、328…下位
チップセレクト生成回路、330…上位チップセレクト
生成回路、332…アクセス制御レジスタ、340…R
OMコントローラ、342…LHマスク発生部、344
…チップセレクト付加部、346…タイミング発生回
路、348,354,369…ドライブ回路、350…
データ・コントローラ、352…セレクタ、356…バ
ッファアンプ、360…SDRAMコントローラ、36
2…タイミング発生回路、364…行・列アドレス発生
部、366…マスク抽出部、368…クロック発生部、
372,374,376,378…アドレスバス、40
0…波形メモリ部、402,404,410,420…
ROM、412,422…SDRAM、414,41
6,424,426…DIMM。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 第1のアクセス方式によってアクセスさ
    れ、一または複数のメモリデバイスによって構成され、
    第1の波形データが記憶された第1のメモリ部と、 第2のアクセス方式によってアクセスされ、一または複
    数のメモリデバイスによって構成され、第2の波形デー
    タが記憶された第2のメモリ部と、 前記第1および第2のメモリ部に対応して、各々独立に
    設けられた第1および第2のバスと、 第1の発音チャンネルの波形データの読出しが指示され
    ると、前記第1のバスを介して前記第1のメモリ部をア
    クセスする一方、第2の発音チャンネルの波形データの
    読出しが指示されると、前記第2のバスを介して前記第
    2のメモリ部をアクセスするアクセス制御回路とを有す
    ることを特徴とする楽音合成装置。
  2. 【請求項2】 前記アクセス制御回路は、 前記第1および第2のメモリ部における複数のエリアの
    境界情報と、これら各エリアに対応する各メモリデバイ
    スに係るアクセス制御情報とを記憶するアクセス制御レ
    ジスタと、 供給されたアドレス信号と前記各境界情報との比較結果
    に基づいて該アドレス信号に対応するアクセス制御情報
    を特定するエリア判定部と、 前記第1または第2のバスのうち特定されたアクセス制
    御情報に応じたバスに対して、該アドレス信号を必要に
    応じて変換しつつ出力するコントローラと有することを
    特徴とする請求項1記載の楽音合成装置。
  3. 【請求項3】 前記アクセス制御情報は、対応するメモ
    リデバイスのアクセス速度を特定するものであり、前記
    コントローラは、該アクセス制御情報に応じて、アクセ
    ス時間を設定しつつ前記各メモリデバイスをアクセスす
    るものであることを特徴とする請求項2記載の楽音合成
    装置。
  4. 【請求項4】 アドレス信号によって指標されるアドレ
    スが前記第1または第2のメモリ部の何れに属するかを
    判定し、前記第2のメモリ部がアクセスされる場合には
    所定の動作クロックを前記第2のメモリ部に供給する一
    方、前記第1のメモリ部がアクセスされる場合には該動
    作クロックを停止させるクロック制御回路をさらに具備
    することを特徴とする請求項1記載の楽音合成装置。
  5. 【請求項5】 第1のアクセス方式によってアクセスさ
    れる第1のメモリ部と、第2のアクセス方式によってア
    クセスされる第2のメモリ部と、アドレス信号によって
    指標されるアドレスが前記第1または第2のメモリ部の
    何れに属するかを判定し、前記第2のメモリ部がアクセ
    スされる場合には所定の動作クロックを発生させる一
    方、前記第1のメモリ部がアクセスされる場合には該動
    作クロックを停止させるクロック制御回路とを具備する
    ことを特徴とするメモリアクセス装置。
  6. 【請求項6】 nビット幅の波形データを記憶するとと
    もに一のアドレスのデータ幅がnビットである第1のメ
    モリデバイスと、nビットの波形データを記憶するとと
    もに一のアドレスのデータ幅がn×mビットである第2
    のメモリデバイスの何れも使用可能な波形メモリ型楽音
    合成装置であって、nビットの波形データを読み出すた
    めのアドレスを発生するアドレス発生部と、該アドレス
    の所定数の下位ビットからメモリアドレスを生成するメ
    モリアドレス生成部と、該アドレスの前記下位ビットの
    所定数の上位ビットからメモリマスクを生成するメモリ
    マスク生成部と、前記メモリアドレスを用いて前記第1
    のメモリデバイスをアクセスし、該第1のメモリデバイ
    スからnビットの波形データを読み出す第1の読出部
    と、前記メモリアドレスを用いて前記第2のメモリデバ
    イスをアクセスするとともに、前記メモリマスクにより
    第2のメモリデバイスのn×mビットのデータのうちn
    ×(m−1)ビットをマスク状態に設定することによ
    り、前記第2のメモリデバイスからnビットの波形デー
    タを読出す第2の読出し部とを有することを特徴とする
    波形メモリ型楽音合成装置。
JP2002050687A 2002-02-27 2002-02-27 楽音合成装置、メモリアクセス装置および波形メモリ型楽音合成装置 Pending JP2003248485A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002050687A JP2003248485A (ja) 2002-02-27 2002-02-27 楽音合成装置、メモリアクセス装置および波形メモリ型楽音合成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002050687A JP2003248485A (ja) 2002-02-27 2002-02-27 楽音合成装置、メモリアクセス装置および波形メモリ型楽音合成装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005113397A Division JP3972939B2 (ja) 2005-04-11 2005-04-11 波形メモリ型楽音合成装置

Publications (1)

Publication Number Publication Date
JP2003248485A true JP2003248485A (ja) 2003-09-05

Family

ID=28662850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002050687A Pending JP2003248485A (ja) 2002-02-27 2002-02-27 楽音合成装置、メモリアクセス装置および波形メモリ型楽音合成装置

Country Status (1)

Country Link
JP (1) JP2003248485A (ja)

Similar Documents

Publication Publication Date Title
US5307320A (en) High integration DRAM controller
US7707328B2 (en) Memory access control circuit
US5717154A (en) Computer system and method for performing wavetable music synthesis which stores wavetable data in system memory employing a high priority I/O bus request mechanism for improved audio fidelity
US5689080A (en) Computer system and method for performing wavetable music synthesis which stores wavetable data in system memory which minimizes audio infidelity due to wavetable data access latency
CA2049300C (en) Digital sound source device and external memory cartridge used therefor
WO2006021747A1 (en) A memory controller
US8791349B2 (en) Flash memory based stored sample electronic music synthesizer
JP2004536417A (ja) 読出及び書込動作でバースト順序が異なるアドレッシングを行うメモリデバイス
US5753841A (en) PC audio system with wavetable cache
US5847304A (en) PC audio system with frequency compensated wavetable data
JP3152196B2 (ja) 楽音発生回路
WO1997036283A1 (en) Computer system and method for performing wavetable music synthesis
US5809342A (en) Computer system and method for generating delay-based audio effects in a wavetable music synthesizer which stores wavetable data in system memory
JP3163984B2 (ja) 楽音発生装置
JP2003248485A (ja) 楽音合成装置、メモリアクセス装置および波形メモリ型楽音合成装置
JP2003248486A (ja) アクセス制御装置、楽音合成方法、楽音合成装置およびプログラム
JP3972939B2 (ja) 波形メモリ型楽音合成装置
JP3855711B2 (ja) 音波形データ用ディジタル信号処理装置
JP4606725B2 (ja) 高速メモリアクセス制御装置
WO1996018995A1 (en) Pc audio system with wavetable cache
KR100384685B1 (ko) 주파수보상웨이브테이블데이터를구비한pc오디오시스템
JP2002163887A (ja) シンクロナスdram
JP3855710B2 (ja) 音波形データ用ディジタル信号処理装置
JP2014112198A (ja) 音発生装置
JP2003241754A (ja) 波形処理デバイス

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050208

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050621

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051122

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060404