(57)【特許請求の範囲】
【請求項１】
所与のＤＲＡＭ（ダイナミックＲＡＭ）に対するメモリアクセスのためにＲＡＳ（ロウ・アドレス・ストローブ信号）をアクティブにしたままＣＡＳ（カラム・アドレス・ストローブ信号）を予め設定された周期で予め設定された回数だけ繰り返してアクティブにするプログラマブルＲＡＳ／ＣＡＳ発生回路において、
前記メモリアクセスにおけるウェイト数を設定するためのウェイト数設定手段と、
プログラム制御可能なカウント・ループで所定のクロックをカウントする第１のカウンタと、
前記予め設定された回数をカウントして前記メモリアクセスを終了させるための第２のカウンタと、
前記ウェイト数設定手段によって設定された前記ウェイト数に応じて前記第１のカウンタの前記カウント・ループをプログラム制御するカウント・ループ制御手段と、
前記ウェイト数設定手段によって設定された前記ウェイト数に応じて前記第１のカウンタのカウント開始のタイミングを制御するカウント開始タイミング制御手段と、
前記メモリアクセスの期間中に前記ＲＡＳの論理レベルをアクティブ状態に保持するＲＡＳ生成手段と、
前記メモリアクセスの期間中における前記ＣＡＳの論理レベルを前記ウェイト数設定手段によって設定された前記ウェイト数と前記第１のカウンタの出力の値との論理演算にしたがって制御してアクティブ状態とするＣＡＳ生成手段と
を有するプログラマブルＲＡＳ／ＣＡＳ発生回路。
【請求項２】
前記論理演算が論理積である請求項１に記載のプログラムＲＡＳ／ＣＡＳ発生回路。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、ＤＲＡＭに対するメモリアクセスのためにＲＡＳおよびＣＡＳを生成するＲＡＳ／ＣＡＳ発生回路に関する。
【０００２】
【従来の技術】
ＣＰＵまたはメモリコントローラがメモリに書き込みまたは読み出しのためにアクセスする場合、両者の間でやりとりされるデータの幅が両者の間に接続されているデータバスの幅よりも大きいときは、データは何回かに分割してデータバス上を転送される。メモリがＤＲＡＭ（ダイナミックＲＡＭ）だと、このような分割式のデータ書き込み／読み出しはページ・モードで行われることが多い。ページ・モードとは、ＲＡＳ（ロウ・アドレス・ストローブ信号）をアクティブにしたままＣＡＳ（カラム・アドレス・ストローブ信号）を周期的に複数回アクティブにするメモリアクセス方式であり、ＣＡＳがアクティブになる毎にカラム・アドレス情報がストローブされてデータがラッチされるようになっている。
【０００３】
図１４に、ページ・モードでＲＡＳ／ＣＡＳを発生する従来のプログラマプルＲＡＳ／ＣＡＳ発生回路の構成を示す。このＲＡＳ／ＣＡＳ発生回路は、たとえばＤＳＰ（デイジタル・シグナル・プロセッサ）においてメモリ空間を拡張するための外部補助メモリ（ＤＲＡＭ）にアクセスしてデータの書き込みまたは読み出しを行う外部メモリ・インタフェース回路に含まれる。
【０００４】
このＲＡＳ／ＣＡＳ発生回路は、５ビット・カウンタ（または２５  進カウンタ）１００、タイミング・デコーダ１０２および制御信号生成回路１０４から構成されている。
【０００５】
５ビット・カウンタ１００には、クロック回路（図示せず）よりシステムクロック（ＣＬＯＣＫ）  が供給されるとともに、制御回路（図示せず）よりアクティブ信号（ａｃｔｉｖｅ）、スタート信号（ｓｔａｒｔ）  、クリア信号（ｃｌｅａｒ）、リセット信号（ｒｅｓｅｔ）  が供給される。５ビット・カウンタ１００は、それらアクティブ信号（ａｃｔｉｖｅ），スタート信号（ｓｔａｒｔ）  ，クリア信号（ｃｌｅａｒ），リセット信号（ｒｅｓｅｔ）  による制御の下でクロック（ＣＬＯＣＫ）  をカウントし、５ビットのカウント出力（ｏｕｔ０−４）をタイミング・デコーダ１０２に与える。
【０００６】
タイミング・デコーダ１０２には、５ビット・カウンタ１００からのカウント出力（ｏｕｔ  ０−４）  と、上記クロック回路からの上記システムクロック（ＣＬＯＣＫ）  と、上記の制御回路からの上記リセット信号（ｒｅｓｅｔ）と、ウェイト・ステートの数（ウェイト数）を指定するウェイト数設定データ（０ｗａｉｔ  〜３ｗａｉｔ）と、ページ・モード・アクセスの回数を指定するアクセス回数設定データ（ａｃｃｅｓｓ  ｃｎｔ  １−６）とが供給される。
【０００７】
ここで、ウェイト・ステートとは、当該外部メモリ・インタフェース回路がそれよりも処理速度の遅い当該ＤＲＡＭ側でデータが確定するのを待つためにメモリアクセスの実行サイクルの中に挿入される待ち時間である。ウェイト数設定データ（０ｗａｉｔ  〜３ｗａｉｔ）は、この例では４通りのウェイト数０〜３を指定する４ビット・データで、各桁のビットが各指定ウェイト数に対応している。たとえば、ウェイト数１（１個のウェイト・ステート）を指定する場合は、最下位第２ビット（桁）１ｗａｉｔ  が論理値１を有し、他の桁のビット０ｗａｉｔ，２ｗａｉｔ，３ｗａｉｔ  は全て論理値０を有する。
【０００８】
ページ・モード・アクセスとは、上記したペード・モードによって１つのデータが複数個に分割されて書き込みまたは読み出しされる場合の個々のアクセスであり、ページ・モード・アクセスの回数はＣＡＳがアクティブになる回数に相当する。アクセス回数設定データ（ａｃｃｅｓｓ  ｃｎｔ  １−６）は、この例では１〜６回の範囲内でアクセス回数を指定するデータとなっており、各桁のビットが各指定アクセス回数に対応している６ビットのデータであってもよく、あるいは３ビットのバイナリ・コードであってもよい。
【０００９】
タイミング・デコーダ１０２は、上記ウェイト数設定データ（０ｗａｉｔ  〜３ｗａｉｔ）およびアクセス回数設定データ（ａｃｃｅｓｓ  ｃｎｔ  １−６）を条件データ（パラメータ）として５ビット・カウンタ１００からのカウント出力（ｏｕｔ  ０−４）  を各クロック・サイクル毎にデコードし、デコード出力を制御信号生成回路１０４に与える。
【００１０】
制御信号生成回路１０４は、上記ウェイト数設定データ（０ｗａｉｔ  〜３ｗａｉｔ）をパラメータとして入力し、タイミング・デコーダ１０２からのデコード出力に応動してメモリアクセス用の各種制御信号つまりＲＡＳ−  ，ＣＡＳ−  ，ＷＥ−  （ライト・イネーブル信号），ＯＵＴＤＡＴＡ（内部データ入出力制御信号），ＯＵＴＡＤＤＲＳ（内部アドレス出力制御信号）を生成する。
【００１１】
ここで、ＷＥ−  は当該ＤＲＡＭを書き込み／読み出しモードにするための制御信号であり、ＯＵＴＤＡＴＡは当該外部メモリ・インタフェース回路内のデータ送受信部（図示せず）にデータの送出または受信を指示する制御信号であり、ＯＵＴＡＤＤＲＳは当該外部メモリ・インタフェース回路内のアドレス出力部（図示せず）にアドレス情報の送出を指示する制御信号である。
【００１２】
図１５および図１６につき、書き込みのメモリアクセスにおけるこのプログラマプルＲＡＳ／ＣＡＳ発生回路の動作を説明する。図１５はウェイト数が０でアクセス回数が４の場合のメモリアクセス動作であり、図１６はウェイト数が１でアクセス回数が３の場合のメモリアクセス動作である。
【００１３】
ウェイト数とアクセス回数が与えられると、実行サイクルの長さ（サイクルタイム）が決まり、たとえばウェイト数が０でアクセス回数が４の場合のサイクルタイムは７サイクルであり、ウェイト数が１でアクセス回数が３の場合のサイクルタイムは６サイクルである。書き込み／読み出し命令が実行されるとき、フェッチサイクル（Ｆ）、第１および第２デコードサイクル（Ｄ１，Ｄ２）およびオペランドサイクル（ＯＰ）にそれぞれ１サイクルが充てられ、実行サイクル（ＥＸ）には上記サイクルタイムに相当する数のサイクル（図１５の場合は７サイクル，図１６の場合は６サイクル）が充てられる。
【００１４】
実行サイクル（ＥＸ）が開始されると、スタート信号（カウント開始制御信号）（ｓｔａｒｔ）  がカウンタ１００に入り、カウンタ１００はクロック（ＣＬＯＣＫ）  のカウントを開始する。以後、カウンタ１００は、各クロックサイクル毎にカウント値ｏｕｔ  ０−４  （０，１，２，…）を出力する。タイミングデコーダ１０２は各クロックサイクル毎にインクリメントされるカウンタ出力をデコードし、制御信号生成回路１０４は各デコード出力に応じて制御信号ＲＡＳ−  ，ＣＡＳ−  ，ＷＥ−  ，ＯＵＴＤＡＴＡ，ＯＵＴＡＤＤＲＳの論理レベルを制御する。
【００１５】
図１５の場合、実行サイクル（ＥＸ）の第２サイクル▲２▼の開始時にライト・イネーブル信号ＷＥ−  がアクティブ状態（Ｌレベル）になると同時にＯＵＴＡＤＤＲＳがアクティブになってアドレス出力回路のアドレス端子よりロウ・アドレス情報（Ｒｏｗ）  が出力され、第２サイクル▲２▼の中間時点でＲＡＳ−  がアクティブ状態（Ｌレベル）になり、これで行アドレス情報（Ｒｏｗ）  がＤＲＡＭに取り込まれる。これ以降、ライト・イネーブル信号ＷＥ−  とＲＡＳ−  はこのメモリアクセスが終了するまでアクティブ状態（Ｌレベル）に保持される。
【００１６】
実行サイクル（ＥＸ）の第３サイクル▲３▼以降は、１サイクル毎にＣＡＳ−  がアクティブ（Ｌレベル）になり、これと同期して該アドレス端子より１サイクル毎に個々の分割データのカラム・アドレスを指定するカラム・アドレス情報（ＣＯＬ）  が出力され、上記データ送受信回路のデータ端子より１サイクル毎に個々の分割データ（Ｄａｔａ）が出力される。
【００１７】
図１６の場合は、実行サイクル（ＥＸ）の第１および第２サイクル▲１▼，▲２▼の動作は図１５の場合と同じであり、ライト・イネーブル信号ＷＥ−  とＲＡＳ−  の制御もメモリアクセスの全期間を通じて同様であるが、第３サイクル▲３▼以降のＣＡＳ−  の制御が異なる。すなわち、ＣＡＳ−  は１．５サイクル毎にアクティブ（Ｌレベル）になり、このＣＡＳ−  と同期して該アドレス端子より１．５サイクル毎に個々の分割データの列アドレスを指定するカラム・アドレス情報（ＣＯＬ）  が出力され、データ送受信回路のデータ端子より１．５サイクル毎に個々の分割データ（Ｄａｔａ）が出力される。
【００１８】
図１５および図１６に示したページ・モード・アクセス動作は一例であり、ウェイト数またはアクセス回数が変わると、実行サイクルの長さ（サイクルタイム）は変わり、ＣＡＳ−  がアクティブになる周期・回数も変わる。このＲＡＳ／ＣＡＳ発生回路では、カウンタ１００が２５  進カウンタであるため、最大１〜３２サイクルの範囲内で実行サイクルのサイクルタイムを設定することができる。
【００１９】
【発明が解決しようとする課題】
上記した従来のプログラマブルＲＡＳ／ＣＡＳ発生回路では、タイミング・デコーダ１０２がウェイト数設定データ（０ｗａｉｔ  〜３ｗａｉｔ）およびアクセス回数設定データ（ａｃｃｅｓｓ  ｃｎｔ  １−６）をパラメータとして５ビット・カウンタ１００からのカウント出力（ｏｕｔ  ０−４）  を各クロック・サイクル毎にデコードすることで、ＣＡＳ−  をアクティブにする周期・回数を制御するようにしている。
【００２０】
このような従来回路で問題なのは、タイミング・デコーダ１０２の回路規模が非常に大きいことである。たとえば、ウェイト数が０〜３の４通りあり、アクセス回数が１〜６の６通りあり、実行サイクルのサイクルタイムが最大で２２サイクルまで設定され得る（つまりカウント出力（ｏｕｔ  ０−４）  は０〜２１の範囲内で変化する）とすると、４×６×２２通りのＲＡＳ−  ，ＣＡＳ−  の立ち上がり、立ち下がりのタイミングを設定可能な組み合わせ論理回路がタイミング・デコーダ１０２に必要となる。各パラメータ（ウェイト数、アクセス回数、サイクルタイム）の可能な値の範囲が増大するにつれて、この問題はますます顕著になる。
【００２１】
さらに、このようにタイミング・デコーダ１０２の回路規模が大きくなると、必然的に出力信号（特にＣＡＳ−  ）を生成するまでの内部パスまたは信号伝播時間が長くなり、当該ＤＲＡＭの仕様に対してスピードマージンを確保するのが難しくなるという問題もある。
【００２２】
本発明は、かかる従来の問題点に鑑みてなされたもので、回路規模を縮小し、スピードマージンを大きくするプログラマブルＲＡＳ／ＣＡＳ発生回路を提供することを目的とする。
【００２３】
【課題を解決するための手段】
上記の目的を達成するために、本発明のプログラムＲＡＳ／ＣＡＳ発生回路は、所与のＤＲＡＭ（ダイナミックＲＡＭ）に対するメモリアクセスのためにＲＡＳ（ロウ・アドレス・ストローブ信号）をアクティブにしたままＣＡＳ（カラム・アドレス・ストローブ信号）を予め設定された周期で予め設定された回数だけ繰り返してアクティブにするプログラマブルＲＡＳ／ＣＡＳ発生回路において、前記メモリアクセスにおけるウェイト数を設定するためのウェイト数設定手段と、プログラム制御可能なカウント・ループで所定のクロックをカウントする第１のカウンタと、前記予め設定された回数をカウントして前記メモリアクセスを終了させるための第２のカウンタと、前記ウェイト数設定手段によって設定された前記ウェイト数に応じて前記第１のカウンタの前記カウント・ループをプログラム制御するカウント・ループ制御手段と、前記ウェイト数設定手段によって設定された前記ウェイト数に応じて前記第１のカウンタのカウント開始のタイミングを制御するカウント開始タイミング制御手段と、前記メモリアクセスの期間中に前記ＲＡＳの論理レベルをアクティブ状態に保持するＲＡＳ生成手段と、前記メモリアクセスの期間中における前記ＣＡＳの論理レベルを前記ウェイト数設定手段によって設定された前記ウェイト数と前記第１のカウンタの出力の値との論理演算にしたがって制御してアクティブ状態とするＣＡＳ生成手段とを有する構成とした。
【００２４】
【作用】
かかる構成においては、カウンタが、カウント開始タイミング制御手段による制御の下でウェイト数に応じた時点でカウント動作を開始し、カウント・ループ制御手段による制御の下でウェイト数に応じたカウント・ループでカウント動作を繰り返す。ＣＡＳ生成手段は、ウェイト数とカウンタの出力の値とにしたがってＣＡＳの論理または波形を制御する。したがつて、ＣＡＳは、メモリアクセスが終了するまでカウント・ループの周期に対応した周期で同じフェーズまたは波形を繰り返す。
【００２５】
【実施例】
以下、図１〜図１３を参照して本発明の実施例を説明する。
【００２６】
図１は、本発明の一実施例によるプログラマブルＲＡＳ／ＣＡＳ発生回路を含むオーディオ・ディジタル信号処理用ＤＳＰのシステム構成を示す。このＤＳＰシステムは、たとえば各々が２４ビットのデータ・バス幅を有する互いに独立した３本のデータバス（Ｃ−ＢＵＳ１０，Ｄ−ＢＵＳ１２，Ｇ−ＢＵＳ１４）を有し、これらのバスに各部を図示のように接続してなる。
【００２７】
Ｃ−ＢＵＳ１０には、係数メモリ（Ｃ−ＭＥＭ）１６と、汎用メモリ（Ｇ−ＭＥＭ）２０と、外部メモリ入出力インタフェース回路（ＥＸ−ＩＦ）２２と、算術論理演算ユニット（ＡＬＵ）２６と、積和演算器（ＭＡＣ）２８と、プログラムメモリ（Ｐ−ＭＥＭ）３２と、ホストインタフェース回路（ＨＯＳＴ−ＩＦ）３４とが接続されている。
【００２８】
Ｄ−ＢＵＳ１２には、データメモリ（Ｄ−ＭＥＭ）１８と、汎用メモリ（Ｇ−ＭＥＭ）２０と、外部メモリ入出力インタフェース回路（ＥＸ−ＩＦ）２２と、オーディオ・インタフェース回路（ＡＵ−ＩＦ）２４と、算術論理演算ユニット（ＡＬＵ）２６と、積和演算器（ＭＡＣ）２８と、ホストインタフェース回路（ＨＯＳＴ−ＩＦ）３４とが接続されている。
【００２９】
Ｇ−ＢＵＳ１４には、汎用メモリ（Ｇ−ＭＥＭ）２０と、外部メモリ入出力インタフェース回路（ＥＸ−ＩＦ）２２と、算術論理演算ユニット（ＡＬＵ）２６とが接続されている。
【００３０】
Ｃ−ＭＥＭ１６、Ｄ−ＭＥＭ１８、Ｇ−ＭＥＭ２０は、たとえば各々が２５６×２４ビットのメモリ容量を有するＳＲＡＭ（スタティックＲＡＭ）からなる。Ｃ−ＭＥＭ１６には、主として積和演算のための係数データが格納されるとともに、ＥＸ−ＩＦ２２に接続されている外部メモリ（図示せず）にアクセスするためのアドレス情報も格納される。Ｄ−ＭＥＭ１８には、積和演算その他の演算に用いるデータ（主としてオーディオデータ）および演算結果のデータが格納される。
【００３１】
Ｇ−ＭＥＭ２０は、通常はＤ−ＭＥＭ１８の拡張メモリとして使用される。音場再生等のように大量の遅延データを扱う場合には、Ｄ−ＭＥＭ１８に入り切れない遅延データがＤＲＡＭからなる外部メモリに蓄積され、必要な時に所定の命令（バックグランド外部メモリ読出し命令）によって外部メモリから遅延データをＧ−ＭＥＭ２０に取り込むようにしている。この場合、Ｇ−ＭＥＭ２０には、外部メモリをアクセスするためのアドレス情報も格納される。なお、Ｇ−ＭＥＭ２０は、Ｃ−ＭＥＭ１６の拡張メモリとしても使用可能であり、必要に応じて係数データを格納することもある。
【００３２】
Ｃ−ＭＥＭ１６、Ｄ−ＭＥＭ１８およびＧ−ＭＥＭ２０には、それぞれアドレス計算を行うためのアドレッシングユニット１７，１９，２１が付いている。
【００３３】
ＥＸ−ＩＦ２２は、上記遅延データ蓄積用の外部メモリ（ＤＲＡＭ）３６にも接続され、その外部メモリにアクセスしてデータの書き込みまたは読み出しを行えるメモリ制御機能を有しており、本実施例によるプログラマブルＲＡＳ／ＣＡＳ発生回路を内蔵している。
【００３４】
ＡＵ−ＩＦ２４は、本ＤＳＰと外部のディジタル・オーディオ回路との間でデータのやりとりを行うためのインタフェース回路であり、たとえば前段のＣＤ再生回路や次段のディジタルフィルタあるいはＤ／Ａコンバータ等に接続されている。外部回路からオーディオ信号（データ）が入力されるときは、ＡＵ−ＩＦ２４内のレジスタに１個のデータが揃うと、後述する制御装置３０に割込みがかけられ、割込み処理で該データがＤ−ＢＵＳ１２を通ってＤ−ＭＥＭ１８に格納されるようになっている。
【００３５】
ＡＬＵ２６は、任意の算術演算および論理演算を行う演算器であり、アキュムレータを内蔵している。ＭＡＣ２８は、専ら積和演算を行う演算器であり、乗算器とアキュムレータを内蔵している。このように２つの演算器（ＡＬＵ２６、ＭＡＣ２８）が備えられているため、たとえばＡＬＵ２６で加算を行いながらＭＡＣ２８で畳み込みを行うというような並列処理が可能となっている。
【００３６】
Ｐ−ＭＥＭ３２は、たとえば５１２×３２ビットのメモリ容量を有するＳＲＡＭからなり、本ＤＳＰの処理動作を規定するプログラムを格納する。制御回路３０は、Ｐ−ＭＥＭ３２から命令コードを逐次読み出し、ＰＬＡ  （Ｐｒｏｇｒａｍ  Ｌｏｇｉｃ  Ａｒｒａｙ）方式でシステム内のレジスタ、ゲート類（図示せず）を制御し、各部に当該命令を実行させるように機能する。図１では説明の便宜上、制御バスは図示していない。
【００３７】
ＨＯＳＴ−ＩＦ３４は、本ＤＳＰとホストコントローラ（図示せず）との間でデータや制御信号をやりとりするためのインタフェース回路であり、Ｃ−ＢＵＳ１０，Ｄ−ＢＵＳ１２とはパラレルポートで接続され、上記ホストコントローラとはシリアルポートで接続されている。Ｐ−ＭＥＭ３２に格納されるプログラムデータ、Ｃ−ＭＥＭ１６に格納される係数データおよびアドレス情報、Ｇ−ＭＥＭ２０に格納されるアドレス情報は、上記ホストコントローラより与えられ、ＨＯＳＴ−ＩＦ３４からＣ−ＢＵＳ１０を介して各メモリにダウンロードされる。
【００３８】
図２に示すように、ＥＸ−ＩＦ２２は、タイミング制御ユニット４０と、アドレス制御ユニット４２と、データ制御ユニット４４とから構成されている。図３は、ＥＸ−ＩＦ２２に備えられている外部メモリ（ＤＲＡＭ）インタフェース・ピンの機能を示す。
【００３９】
タイミング制御ユニット４０は、クロック回路（図示せず）よりクロックパルス（ＣＬＯＣＫ）  を入力するとともに制御装置３０内の所定のレジスタ（図示せず）より外部メモリ制御データＣＲ３  を入力し、外部メモリ３６に対するメモリアクセス時には外部メモリ３６に向けて制御信号ＲＡＳ−  ，ＣＡＳ−  ，ＷＥ−  を送出するとともに内部のアドレス制御ユニット４２およびデータ制御ユニット４４にそれぞれアドレス出力制御信号（ＯＵＴＡＤＤＲＳ）およびデータ入出力制御信号（ＯＵＴＤＡＴＡ）  を与える。本実施例によるプログラマブルＲＡＳ／ＣＡＳ発生回路は、このタイミング制御ユニット４０に内蔵されている。
【００４０】
アドレス制御ユニット４２は、外部メモリ３６に対するメモリアクセス（書き込み／読み出し）時にＣ−ＢＵＳ１０またはＧ−ＢＵＳ１４より２４ビットのアドレス情報を入力してそれを内部のアドレス・レジスタＥＸＡに格納し、タイミング制御ユニット４０からのアドレス出力制御信号（ＯＵＴＡＤＤＲＳ）に応動して該アドレス情報を１２ビットずつロウ・アドレス情報とカラム・アドレス情報に分けて時分割で外部メモリ・アドレス・ピンＥＡ１１−０より外部メモリ３６に向けて送出するように動作する。外部メモリ３６に対してはページ・モードでメモリアクセスを行うため、カラム・アドレス情報をＣＡＳ−  のタイミングと同期して周期的に複数回繰り返して送出するようにしている。
【００４１】
データ制御ユニット４４は、外部メモリ３６に対するデータの書き込み時に、Ｄ−ＭＥＭ１８またはＧ−ＭＥＭ２０からの１６ビットまたは２４ビットのデータをＤ−ＢＵＳ１２またはＧ−ＢＵＳ１４を介して入力して、その入力したデータを内部の書込み用データ・レジスタＥＸＷに格納し、タイミング制御ユニット４０からのデータ入出力制御信号（ＯＵＴＤＡＴＡ）  に応動して該データを外部メモリ・データ・ピンＥＤ１５−０より外部メモリ３６に向けて送出するように動作する。
【００４２】
また、データ制御ユニット４４は、外部メモリ３６からのデータの読み出し時に、タイミング制御ユニット４０からのデータ入出力制御信号（ＯＵＴＤＡＴＡ）  に応動して外部メモリ３６よりデータを受け取って内部の読出し用データ・バッファＥＸＲに格納する。そして、このデータ・バッファＥＸＲに格納したデータを次回の読み出し時にＤ−ＢＵＳ１２またはＧ−ＢＵＳ１４を介してＤ−ＭＥＭ１８またはＧ−ＭＥＭ２０へ送るように動作する。
【００４３】
外部メモリ３６に対してはページ・モードでメモリアクセスを行うため、データ制御ユニット４４と外部メモリ３６との間では、データを複数個に分割して、各分割データをＣＡＳ−  のタイミングに同期させて送出するようにしている。
【００４４】
図４は、制御装置３０よりタイミング制御ユニット４０に与えられる外部メモリ制御データＣＲ３  の主要なビットの機能を示す。このデータＣＲ３  における最上位のＥＭＷビット（２３−２２）で、当該外部メモリ３６に応じた外部メモリ・ウェイト・ステート数が設定される。この例では、４通りのウェイト数（ウェイト無し、１ウェイト，２ウェイト，３ウェイト）が設定可能である。
【００４５】
ＥＭＳビット（２１−１９）では当該外部メモリ３６のタイプが設定される。たとえば、当該外部メモリ３６が２５６Ｋ×ｎビットＤＲＡＭであればＥＭＳ（２１−１９）に０００がセットされ、１Ｍ×ｎビットＤＲＡＭであればＥＭＳ（２１−１９）に００１がセットされる。
【００４６】
ＩＯＷビット（１８−１７）では、ＥＸ−ＩＦ２２と当該外部メモリ３６との間のデータ・バス幅（外部メモリ・インタフェース・データ・バス幅）が設定さる。この例では、４通りのデータ・バス幅（４ビット，８ビット，１２ビット，１６ビット）が設定可能である。
【００４７】
ＥＤＷビット（１６）では、当該外部メモリ３６に書き込み／読み出しされるデータの幅（外部メモリ・データ幅）が設定される。この例では、１ワードのデータ幅を１６ビットまたは２４ビットに選択可能であり、１６ビット幅のときはＥＤＷに０がセットされ、２４ビット幅のときはＥＤＷに１がセットされる。
【００４８】
ＥＭＷビット（１５−１４）では、当該外部メモリ３６に対するアドレッシングのモード（外部メモリ・アドレッシング・モード）が設定される。たとえば、サーキュラ・アドレッシングを行うときはＥＭＷビット（１５−１４）に００がセットされ、リニア・アドレッシングを行うときはＥＭＷビット（１５−１４）に１０がセットされる。
【００４９】
上記のように外部メモリ制御データＣＲ３  のＥＤＷビットおよびＩＯＷビットによってＥＸ−ＩＦ２２と当該メモリ３６との間のデータ幅およびデータ・バス幅が設定されると、図５に示すように、それらの設定値から各場合について当該メモリ３６に対するページ・モード・アクセスのアクセス回数が求められる。たとえば、データ幅が１６ビットで、データ・バス幅が４ビットの場合、１６ビット・データは４つの４ビット・データに分割され、４回に分けて４ビット・データ・バス上を転送されることになる。
【００５０】
このようにして求められたアクセス回数と上記のウェイト数を指定するＥＭＷビットとから、図６に示すように、各場合についてメモリアクセス（書き込み／読み出し）の実行サイクルの長さ（Ｒ／Ｗサイクルタイム）が決まる。
【００５１】
たとえば、ウェイト数が１でアクセス回数が３のときはＲ／Ｗサイクルタイムが７サイクルである。これは、図７に示すように、たとえば外部メモリ書込み命令（ＷＲＥ）または外部メモリ読出し命令（ＲＤＥ）が繰り返して実行されるとき、当該命令の実行サイクルの第１〜第６サイクルの間は各サイクル毎に命令の不実行を指示するＮＯＰ（Ｎｏ  ＯＰｅｒａｔｉｏｎ）  命令が次の命令に与えられ、第７サイクル目でようやく次の命令の実行サイクルを開始できることを意味する。
【００５２】
図８は、本実施例におけるプログラマブルＲＡＳ／ＣＡＳ発生回路の構成を示す。上記したように、この回路はタイミング制御ユニット４０に内蔵される。
【００５３】
このプログラマブルＲＡＳ／ＣＡＳ発生回路は、カウンタ制御回路５０と、２ビット・カウンタ（または２２  進カウンタ）５２と、制御信号生成回路５４とから構成される。
【００５４】
カウンタ制御回路５０には、システムクロック（ＣＬＯＣＫ）  、ウェイト数設定データ（０ｗａｉｔ  〜３ｗａｉｔ）、スタート信号（ｓｔａｒｔ）  、クリア信号（ｃｌｅａｒ）、イネーブル信号（ｅｎａｂｌｅ）、アクティブ信号（ａｃｔｉｖｅ）およびリセット信号（ｒｅｓｅｔ）  が入力される。これらのデータまたは信号の中、システムクロック（ＣＬＯＣＫ）  はクロック回路より供給され、残りのもの（０ｗａｉｔ  〜３ｗａｉｔ）、（ｓｔａｒｔ）  、（ｃｌｅａｒ）、（ｅｎａｂｌｅ）、（ａｃｔｉｖｅ）、（ｒｅｓｅｔ）  は、制御装置３０からの外部メモリ制御データＣＲ３  を入力するタイミング制御ユニット４０内の制御回路（図示せず）より供給される。
【００５５】
２ビット・カウンタ５２には、上記のシステムクロック（ＣＬＯＣＫ）  と、カウンタ制御回路５０からのＣＡＳスタート信号（ｃａｓｓｔａｒｔ）、カウント・イネーブル信号（ｃｎｔｅｎａｂｌｅ）  およびリセット信号（ｒｅｓｅｔ）  が入力される。２ビット・カウンタ５２は、それらの制御信号（ｃａｓｓｔａｒｔ）、（ｃｎｔｅｎａｂｌｅ）  、（ｒｅｓｅｔ）  にしたがって３種類のカウント・ループ（０）、（０，１）、（０，１，２）の中のいずれかでシステムクロック（ＣＬＯＣＫ）  をカウントし、３ビットのカウント出力（ｄｅｃｏｄｅ０，１，２）  およびリセット信号（ｒｅｓｅｔ）  を発生するようになっている。
【００５６】
制御信号生成回路５４は、ウェイト数設定データ（０ｗａｉｔ  〜３ｗａｉｔ）をパラメータとして入力し、２ビット・カウンタ５４からのカウント出力（ｄｅｃｏｄｅ０，１，２）  に応動してメモリアクセス用の各種制御信号つまりＲＡＳ−  ，ＣＡＳ−  ，ＷＥ−  ，ＯＵＴＤＡＴＡ，ＯＵＴＡＤＤＲＳを生成する。
【００５７】
図９〜図１３のタイミング図につき、外部メモリ３６に対する書き込みのメモリアクセスにおけるこのプログラマプルＲＡＳ／ＣＡＳ発生回路の動作を説明する。図９はウェイト数が０でアクセス回数が６、図１０はウェイト数が１でアクセス回数が３、図１１はウェイト数が１でアクセス回数が４、図１２はウェイト数が２でアクセス回数が３、図１３はウェイト数が３でアクセス回数が３の場合である。各場合について、図６の表にしたがい、実行サイクルの長さ（サイクルタイム）が決まる。
【００５８】
外部メモリ３６に対する書込み命令（ＷＲＥ）は「ＷＲＥ  ｃｍａ，ｄｍａ」と規定される。これは、「アドレス（ｃｍａ）で指定されるＣ−ＭＥＭ１０内のメモリ番地の内容（アドレス）で指定される外部メモリ３６のメモリ番地にアドレス（ｄｍａ）で指定されるＤ−ＭＥＭ１２内のメモリ番地の内容（データ）を書き込め」という意味である。
【００５９】
この外部書込み命令（ＷＲＥ）を実行するときは、先ずフェッチ・サイクル（Ｆ）で、制御装置３０のメモリ読出部がＰ−ＭＥＭ３２よりこの命令のワードを読み出す。次のデコード・サイクル（Ｄ１，Ｄ２  ）で、制御装置３０のデコード部がこの命令（ＷＲＥ）を解読する。この解読結果に基づき、制御装置３０のＰＬＡ（プログラマブル・ロジック・アレイ）が作動して、所要のレジスタ、ゲート類を働かせ、所要の各部にオペランド処理および実行処理を行わせる。
【００６０】
オペランド・サイクル（ＯＰ）では、制御装置３０よりアドレッシングユニット１７，１９を介してＣ−ＭＥＭ１６，Ｄ−ＭＥＭ１８にそれぞれアドレス情報が供給される。そして、Ｃ−ＭＥＭ１６，Ｄ−ＭＥＭ１８よりそれぞれ読み出されたアドレス情報，データは、実行サイクル（ＥＸ）の第１サイクル▲１▼でＣ−ＢＵＳ１０，Ｄ−ＢＵＳ１２を介してＥＸ−ＩＦ２２に転送され、アドレス制御ユニット４２内のアドレス・レジスタＥＸＡおよびデータ制御ユニット４４内の書込み用データ・レジスタＥＸＷにそれぞれロードされる。
【００６１】
実行サイクル（ＥＸ）では、タイミング制御ユニット４０内のプログラマブルＲＡＳ／ＣＡＳ発生回路（図８）より発生される制御信号ＲＡＳ−  ，ＣＡＳ−  ，ＷＥ−  ，ＯＵＴＤＡＴＡ，ＯＵＴＡＤＤＲＳにしたがってページ・モードによるメモリアクセス動作が行われる。
【００６２】
図９（０ウェイト、６回アクセス）の場合、実行サイクル（ＥＸ）の第２サイクル▲２▼の始めにライト・イネーブル信号ＷＥ−  がＬレベル（アクティブ）になると同時にＯＵＴＡＤＤＲＳがアクティブになってアドレス制御ユニット４２のアドレス端子ＥＡ１１−０より１２ビットのロウ・アドレス情報（Ｒｏｗ）  が出力され、第２サイクル▲２▼の中間時点でＲＡＳ−  がＬレベル（アクティブ）になり、これで第１回目の行アドレス情報（Ｒｏｗ）  が外部メモリ３６に取り込まれる。これ以降、ＷＥ−  とＲＡＳ−  はこのメモリアクセスが終了するまでアクティブ状態（Ｌレベル）に保持される。
【００６３】
実行サイクル（ＥＸ）の第３サイクル▲３▼の始めに、カウンタ制御回路５０より２ビット・カウンタ５２にカウント・イネーブル信号（ｃｎｔｅｎａｂｌｅ）  およびＣＡＳスタート信号（ｃａｓｓｔａｒｔ）と一緒にリセット信号（ｒｅｓｅｔ）  が与えられる。０ウェイト・モードの場合、カウンタ制御回路５０はメモリアクセスの終了時までリセット信号（ｒｅｓｅｔ）  をアクティブ状態に維持する。これにより、２ビット・カウンタ５２はカウント・ループ（０）で動作し、カウント値（０）を出力し続ける。
【００６４】
制御信号生成回路５４は、２ビット・カウンタ５２よりカウント出力が出始めたサイクル（第３サイクル▲３▼）の中間時点で最初にＣＡＳ−  をアクティブし、それ以降はウェイト数設定データ（０ｗａｉｔ  〜３ｗａｉｔ）をパラメータとして２ビット・カウンタ５２からのカウント出力（ｄｅｃｏｄｅ０，１，２）  をデコード（モニタ）する。この場合、カウント出力（ｄｅｃｏｄｅ０，１，２）  の値は（０）のままであるから、制御信号生成回路５４はシステムクロック（ＣＬＯＣＫ）  に同期しかつそれと同相の（つまり同じタイミングで立ち上がり立ち下がる）ＣＡＳ−  を発生する。
【００６５】
ＣＡＳ−  の論理レベルまたは波形と同期して、アドレス制御ユニット４２のアドレス端子ＥＡ１１−０より１２ビットのカラム・アドレス情報（Ｃｏｌ）  が出力されると同時に、データ制御ユニット４４のデータ端子ＥＤ１５−０より分割データ（Ｄａｔａ）が出力され、ＣＡＳ−  がＬレベル（アクティブ）になった時点でそれらのカラム・アドレス情報（Ｃｏｌ）  および分割データが外部メモリ３６に取り込まれる。
【００６６】
なお、図９において（後述する図１０〜図１３においても）、ＸＩＲＡＳは、当該命令の実行サイクル中であることを知らせるためにカウンタ制御回路５０より制御装置３０へ送られる信号であり、図７のＮＯＰの期間を規定している。ＸＩＲＡＳは、当該命令の実行サイクルの期間を規定する制御回路５０内の信号である。ＸＩＣＩＲＳＴは、当該命令の実行サイクルを終了させる制御回路５０内の信号である。ＸＩＲＡＳＥＮは、ＲＡＳ−  のアクティブをイネーブル状態にするための制御回路５０内の信号である。ＸＩＣ２ＥＮは、２ビット・カウンタ５２のカウント動作期間を規定する制御回路５０内の信号である。ＸＩＣ２Ｂは、２ビット・カウンタ５２のカウント出力（ｄｅｃｏｄｅ０，１，２）  の値である。
【００６７】
図１０（１ウェイト、３回アクセス）の場合、ＷＥ−  、ＲＡＳ−  については図９の場合と同様に第２サイクル▲２▼でアクティブ（Ｌレベル）になりそのままメモリアクセスの終了まで保持される。ＣＡＳ−  については、実行サイクル（ＥＸ）の第３サイクル▲３▼の始めに、カウンタ制御回路５０より２ビット・カウンタ５２にカウント・イネーブル信号（ｃｎｔｅｎａｂｌｅ）  およびＣＡＳスタート信号（ｃａｓｓｔａｒｔ）が与えられる。１ウェイト・モードの場合は、２ビット・カウンタ５２がカウント・ループ（０，１，２）でカウント動作するように、カウント・イネーブル信号（ｃｎｔｅｎａｂｌｅ）  とカウント・リセット信号（ｒｅｓｅｔ）  がそれぞれ所定のタイミングで繰り返し与えられる。
【００６８】
制御信号生成回路５４は、２ビット・カウンタ５２よりカウント出力が出始めたサイクル（第３サイクル▲３▼）の中間時点で最初にＣＡＳ−  をアクティブし、それ以降はウェイト数設定データ（０ｗａｉｔ  〜３ｗａｉｔ）をパラメータとして２ビット・カウンタ５２からのカウント出力（ｄｅｃｏｄｅ０，１，２）  の値に基づいてＣＡＳ−  の論理値を制御する。
【００６９】
この場合、カウント出力（ｄｅｃｏｄｅ０，１，２）  の値は、第４サイクル▲４▼で（１）になるため、このカウント出力値（１）とウェイト数設定データ（０ｗａｉｔ  〜３ｗａｉｔ）の値（１ウェイト）との論理積から第４サイクル▲４▼におけるＣＡＳ−  の論理レベルが決定される。つまり、ＣＡＳ−  の論理レベルは、第３サイクル▲３▼の中間時点からＬレベルになっているが、第４サイクル▲４▼に入ってもそのままＬレベルに保持され、第４サイクル▲４▼の中間時点にきてＬレベルからＨレベルに立ち上げられ、そして第４サイクル▲４▼の終了直前で再びＬレベル（アクティブ）に立ち下げられる。
【００７０】
第５サイクル▲５▼に入ると、カウント出力（ｄｅｃｏｄｅ０，１，２）  の値は（２）になり、このカウント出力値（２）とウェイト数設定データ（０ｗａｉｔ  〜３ｗａｉｔ）の値（１ウェイト）との論理積から第５サイクル▲５▼におけるＣＡＳ−  の論理レベルが決定される。つまり、ＣＡＳ−  の論理レベルは、第４サイクル▲４▼の終了間際からＬレベルになっているが、第５サイクル▲５▼でもそのままＬレベルに保持され、第５サイクル▲５▼の終了間際にＬレベルからＨレベルに立ち上げられる。
【００７１】
第６サイクル▲６▼に入ると、カウント出力（ｄｅｃｏｄｅ０，１，２）  の値は（０）になり、第３サイクル▲３▼の時と同じ値に戻る。これにより、制御信号生成回路５４は第３サイクル▲３▼の時と同じパターンでＣＡＳ−  の論理値を制御することになり、第６サイクル▲６▼の中間時点でＣＡＳ−  の論理レベルをＨレベルからＬレベル（アクティブ状態）に立ち下げる。第７サイクル▲７▼では、カウント出力（ｄｅｃｏｄｅ０，１，２）  の値が（１）になり、第４サイクル▲４▼の時と同じパターンでＣＡＳ−  の論理レベルが制御される。この場合は、３回アクセスなので、第７サイクル▲７▼が終了した時点でメモリアクセスが終了する。
【００７２】
図１１（１ウェイト、４回アクセス）の場合でも、２ビット・カウンタ５２はカウント・ループ（０，１，２）で第３サイクル▲３▼よりカウント動作し、制御信号生成回路５４はウェイト数設定データ（０ｗａｉｔ  〜３ｗａｉｔ）の値（１ウェイト）  とカウント出力（ｄｅｃｏｄｅ０，１，２）  の値との論理積に基づいて各サイクルにおけるＣＡＳ−  の論理レベルまたは波形を制御する。この結果、上記した図１０の場合（１ウェイト、３回アクセス）と比較してアクセス回数つまりサイクルタイムが１単位長くなるだけで、ＷＥ−  ，ＲＡＳ−  の両信号はもちろんのこと、ＣＡＳ−  の周期・波形も上記と同様なパターンになる。
【００７３】
図１２（２ウェイト、３回アクセス）の場合、ＷＥ−  、ＲＡＳ−  については上記の０ウェイト・モード、１ウェイト・モードの場合と同様に第２サイクル▲２▼でアクティブ（Ｌレベル）になりそのままメモリアクセスの終了まで保持される。ＣＡＳ−  については、実行サイクル（ＥＸ）の第４サイクル▲４▼の始めに、カウンタ制御回路５０より２ビット・カウンタ５２にカウント・イネーブル信号（ｃｎｔｅｎａｂｌｅ）  およびＣＡＳスタート信号（ｃａｓｓｔａｒｔ）が与えられる。そして、２ウェイト・モードの場合は、２ビット・カウンタ５２がカウント・ループ（０，１）でカウント動作するように、カウント・イネーブル信号（ｃｎｔｅｎａｂｌｅ）  とカウント・リセット信号（ｒｅｓｅｔ）  がそれぞれ所定のタイミングで繰り返し与えられる。
【００７４】
制御信号生成回路５４は、２ビット・カウンタ５２よりカウント出力が出始めた第４サイクル▲４▼の中間時点で最初にＣＡＳ−  をＬレベル（アクティブ）にし、それ以降はウェイト数設定データ（０ｗａｉｔ  〜３ｗａｉｔ）の値（２ウェイト）と２ビット・カウンタ５２からのカウント出力（ｄｅｃｏｄｅ０，１，２）  の値との論理積に基づいて各サイクルにおけるＣＡＳ−  の論理値または波形を制御する。
【００７５】
この場合、カウント出力（ｄｅｃｏｄｅ０，１，２）  の値は、第５サイクル▲５▼で（１）になるため、このカウント出力値（１）とウェイト数設定データ（０ｗａｉｔ  〜３ｗａｉｔ）の値（２ウェイト）との論理積から第５サイクル▲５▼におけるＣＡＳ−  の論理レベルが決定される。つまり、ＣＡＳ−  の論理レベルは、第４サイクル▲４▼の中間時点からＬレベルになっているが、第５サイクル▲５▼に入ってもそのままＬレベルに保持され、第５サイクル▲５▼の終了間際にＨレベルに立ち上げられる。
【００７６】
第６サイクル▲６▼に入ると、カウント出力（ｄｅｃｏｄｅ０，１，２）  の値は（０）になり、このカウント出力値（０）とウェイト数設定データ（０ｗａｉｔ  〜３ｗａｉｔ）の値（２ウェイト）との論理積から第６サイクル▲６▼におけるＣＡＳ−  の論理値または波形が決定される。第６サイクル▲６▼では第４サイクル▲４▼の時と同じ論理積になるため、ＣＡＳ−  の論理値または波形も同じパターンになる。つまり、ＣＡＳ−  の論理レベルは、第５サイクル▲５▼の終了間際から立ち上がって第６サイクル▲６▼の開始時にはＨレベルになっているが、第６サイクル▲６▼の中間時点でＬレベル（アクティブ）に立ち下がり、第６サイクル▲６▼の残りの期間中はそのままＬレベルに保持される。これは、第４サイクル▲４▼の時と同じパターンである。
【００７７】
第７サイクル▲７▼に入ると、カウント出力（ｄｅｃｏｄｅ０，１，２）  の値は（１）になり、第５サイクル▲５▼の時と同じ値に戻る。これにより、制御信号生成回路５４は第５サイクル▲５▼の時と同じパターンでＣＡＳ−  の論理値を制御することになり、第７サイクル▲７▼の終了間際でＣＡＳ−  の論理レベルをＬレベルからＨレベルに立ち上げる。
【００７８】
同様にして、第８および第９サイクル（▲８▼，▲９▼）の期間中でも上記第４および第５サイクル（▲４▼，▲５▼）または第６および第７サイクル（▲６▼，▲７▼）の時と同じパターンが繰り返される。
【００７９】
このように、２ウェイト・モードでは、２ビット・カウンタ５２がカウント・ループ（０，１）でカウント動作し、そのカウンタ出力に同期してＣＡＳ−  の論理値または波形が周期的に同一のパターンで繰り返される。
【００８０】
図１３（３ウェイト、３回アクセス）の場合、ＷＥ−  、ＲＡＳ−  については上記の各ウェイト・モードの場合と同様に第２サイクル▲２▼でアクティブ（Ｌレベル）になりそのままメモリアクセスの終了まで保持される。ＣＡＳ−  については、実行サイクル（ＥＸ）の第４サイクル▲４▼の始めに、カウンタ制御回路５０より２ビット・カウンタ５２にカウント・イネーブル信号（ｃｎｔｅｎａｂｌｅ）  およびＣＡＳスタート信号（ｃａｓｓｔａｒｔ）が与えられる。３ウェイト・モードの場合は、２ビット・カウンタ５２がカウント・ループ（０，１，２）でカウント動作するように、カウント・イネーブル信号（ｃｎｔｅｎａｂｌｅ）  とカウント・リセット信号（ｒｅｓｅｔ）  がそれぞれ所定のタイミングで繰り返し与えられる。
【００８１】
制御信号生成回路５４は、２ビット・カウンタ５２よりカウント出力が出始めた第４サイクル▲４▼の中間時点で最初にＣＡＳ−  をＬレベル（アクティブ）にし、それ以降はウェイト数設定データ（０ｗａｉｔ  〜３ｗａｉｔ）の値（３ウェイト）と２ビット・カウンタ５２からのカウント出力（ｄｅｃｏｄｅ０，１，２）  の値との論理積に基づいて各サイクルにおけるＣＡＳ−  の論理値または波形を制御する。
【００８２】
この場合、カウント出力（ｄｅｃｏｄｅ０，１，２）  の値は、第５サイクル▲５▼で（１）になるため、このカウント出力値（１）とウェイト数設定データ（０ｗａｉｔ  〜３ｗａｉｔ）の値（３ウェイト）との論理積から第５サイクル▲５▼におけるＣＡＳ−  の論理レベルが決定される。つまり、ＣＡＳ−  の論理レベルは、第４サイクル▲４▼の中間時点からＬレベルになっているが、第５サイクル▲５▼に入ってもそのままＬレベルに保持され、第５サイクル▲５▼の終了間際にＨレベルに立ち上げられる。
【００８３】
第６サイクル▲６▼に入ると、カウント出力（ｄｅｃｏｄｅ０，１，２）  の値は（２）になり、このカウント出力値（２）とウェイト数設定データの値（３ウェイト）との論理積から第６サイクル▲６▼におけるＣＡＳ−  の論理値または波形が決定される。つまり、ＣＡＳ−  の論理レベルは、第５サイクル▲５▼の終了間際から第６サイクル▲６▼の開始時にかけてＨレベルに立ち上がっているが、そのまま第６サイクル▲６▼でも全期間を通じてＨレベルに保持される。
【００８４】
第７サイクル▲７▼に入ると、カウント出力（ｄｅｃｏｄｅ０，１，２）  の値は（０）になり、このカウント出力値（０）とウェイト数設定データ（０ｗａｉｔ  〜３ｗａｉｔ）の値（２ウェイト）との論理積から第７サイクル▲７▼におけるＣＡＳ−  の論理値または波形が決定される。第７サイクル▲７▼では、カウント出力値とウェイト数設定データとの組み合わせ（論理積）が第４サイクル▲４▼の時と同じであるため、ＣＡＳ−  の論理値または波形も同じパターンで制御される。つまり、ＣＡＳ−  の論理レベルは、第６サイクル▲６▼から引き続いて第７サイクル▲７▼の開始時にもＨレベルになっているが、第７サイクル▲７▼の中間時点でＬレベル（アクティブ）に立ち下がり、第７サイクル▲７▼の残りの期間中はそのままＬレベルに保持される。これは、第４サイクル▲４▼の時と同じパターンである。
【００８５】
第８サイクル▲８▼では、カウント出力値（１）とウェイト数設定データ（３ウェイト）との組み合わせ（論理積）が第５サイクル▲５▼の時と同じであるため、ＣＡＳ−  の論理レベルまたは波形も同じパターンで制御される。つまり、ＣＡＳ−  の論理レベルは、第７サイクル▲７▼の中間からＬレベルになっているが、第８サイクル▲８▼に入ってもそのままＬレベルに保持され、第８サイクル▲８▼の終了間際にＨレベルに立ち上げられる。
【００８６】
第９サイクル▲９▼では、カウント出力値（２）とウェイト数設定データ（３ウェイト）との組み合わせ（論理積）が第６サイクル▲６▼の時と同じであるため、ＣＡＳ−  の論理レベルまたは波形も同じパターンで制御される。つまり、ＣＡＳ−  の論理レベルは、第８サイクル▲８▼の終了間際から第９サイクル▲９▼の開始時にかけてＨレベルに立ち上がっているが、そのまま第９サイクル▲９▼でも全期間を通じてＨレベルに保持される。
【００８７】
同様にして、第１０および第１１サイクルの期間中でも上記第４おび第５サイクル（▲４▼，▲５▼）または第７および第８サイクル（▲７▼，▲８▼）の時と同じパターンが繰り返される。このように、３ウェイト・モードでは、２ビット・カウンタ５２がカウント・ループ（０，１，２）でカウント動作し、各カウンタ出力の値に同期してＣＡＳ−  の論理レベルまたは波形が周期的に同一のパターンで繰り返される。
【００８８】
上記したように、本実施例によるプログラマブルＲＡＳ−  ／ＣＡＳ−  発生回路では、カウンタ制御回路５０による制御の下で２ビット・カウンタ５２をウェイト数に応じた時点（カウント開始時点）からウェイト数に応じたカウント・ループでカウント動作させ、制御信号生成回路５４がカウンタ出力の値と設定ウェイト数との論理積に基づいて実行サイクル（ＥＸ）の各サイクルにおけるＣＡＳ−  の論理レベルまたは波形を制御するようにしている。
【００８９】
上記したように、０ウェイト・モードのメモリアクセスでは、カウンタ出力がカウント・ループ（０）で回るため、任意のアクセス回数に対してＣＡＳ−  の論理レベルまたは波形が１サイクル毎に同じパターンで繰り返される。
【００９０】
１ウェイト・モードのメモリアクセスでは、カウンタ出力がカウント・ループ（０，１，２）で回るため、任意のアクセス回数に対してＣＡＳ−  の論理レベルまたは波形が３サイクル毎に同じパターンで繰り返される。
【００９１】
２ウェイト・モードのメモリアクセスでは、カウンタ出力がカウント・ループ（０，１）で回るため、任意のアクセス回数に対してＣＡＳ−  の論理レベルまたは波形が２サイクル毎に同じパターンで繰り返される。
【００９２】
３ウェイト・モードのメモリアクセスでは、カウンタ出力がカウント・ループ（０，１，２）で回るため、任意のアクセス回数に対してＣＡＳ−  の論理レベルまたは波形が３サイクル毎に同じパターンで繰り返される。
【００９３】
このように、ページ・モード・アクセス回数が多くなっても、各ウェイト・モード毎にカウント・ループ内の各カウンタ出力値に応じた一定のパターンでＣＡＳ−  の論理レベルまたは波形を繰り返せばよく、個々のサイクル毎に異なった論理でデコードを行う必要がない。したがって、制御信号生成回路５４においてはデコード回路の構成が大幅に簡単で小型になるとともに、内部パスまたは信号伝播時間が著しく小さくなり、スピードマージンが大幅に増大する。
【００９４】
なお、当該命令の実行サイクルの終了はＸＩＲＡＳによって規定されるが、この信号ＸＩＲＡＳはタイミング制御ユニット４０内の制御回路（図示せず）からのリセット信号（ｒｅｓｅｔ）  に応動して終了するようになっている。このリセット信号（ｒｅｓｅｔ）  を生成するために、アクセス回数に応じたサイクルタイムをカウントするプログラマブル・カウンタ（図示せず）を用いてよい。
【００９５】
上記した図９〜図１３の例は外部メモリ書込み命令（ＷＲＥ）を実行するときのメモリアクセス動作に係るものであったが、外部メモリ３６からデータを読み出す外部メモリ読出し命令（ＲＤＥ）を実行する場合もライト・イネーブル信号ＷＥ−  が論理レベルが反対（Ｈレベル）になるだけで他の信号、特にＲＡＳ−  ，ＣＡＳ−  は書き込みの場合と同様の論理レベルまたは波形に制御される。
【００９６】
なお、上記実施例における２ビット・カウンタ５２は一例であり、上記のようにプログラム制御可能なカウント・ループでカウント動作できるカウンタであれば任意のカウンタを用いることが可能である。
【００９７】
また、上記実施例はオーディオ・ディジタル信号処理用のＤＳＰに係るものであったが、本発明によるプログラマブルＲＡＳ／ＣＡＳ発生回路は他のプロセッサやメモリコントローラにも適用可能なものである。
【００９８】
また、上記実施例ではページ・モード・アクセスを行うものであったが、ＲＡＳ−  をアクティブにしたままＣＡＳ−  を周期的にアクティブにするような他のアクセス方式たとえばニブル・モード・アクセス等にも本発明を適用することが可能である。
【００９９】
【発明の効果】
以上説明したように、本発明のプログラマブルＲＡＳ／ＣＡＳ発生回路によれば、ウェイト数に応じてカウンタのカウント開始時点とカウント・ループを可変制御することで、ＣＡＳの論理レベルを周期的に同じパターンで制御するようにしたので、アクセス回数が多くても簡易な小型の論理回路で対応することが可能であり、回路規模の縮小とスピードマージンの増大をはかることができる。
【図面の簡単な説明】
【図１】本発明の一実施例によるプログラマブルＲＡＳ／ＣＡＳ発生回路を含むオーディオ・ディジタル信号処理用ＤＳＰのシステム構成を示すブロック図である。
【図２】図１のＤＳＰに含まれる外部メモリ入出力インタフェース回路（ＥＸ−ＩＦ）２２の内部の回路構成を示すブロック図である。
【図３】実施例におけるＥＸ−ＩＦ２２に備えられている外部メモリ（ＤＲＡＭ）インタフェース・ピンの機能を示す表である。
【図４】実施例におけるＥＸ−ＩＦ２２内のタイミング制御ユニット４０に与えられる外部メモリ制御データＣＲ３  の主要なビットの機能を示す表である。
【図５】実施例におけるページ・モード・アクセスのアクセス回数の決め方の例を示す表である。
【図６】実施例においてウェイト数およびアクセス回数を変数としたときの各場合のサイクルタイムを示す表である。
【図７】実施例におけるサイクルタイムの意味を説明するための図である。
【図８】実施例によるプログラマブルＲＡＳ−  ／ＣＡＳ−  発生回路の構成を示すブロック図である。
【図９】実施例において（０ウェイト、６回アクセス）で書込みのメモリアクセスが行われるときの各部の信号の状態または波形を示すタイミング図である。
【図１０】実施例において（１ウェイト、３回アクセス）で書込みのメモリアクセスが行われるときの各部の信号の状態または波形を示すタイミング図である。
【図１１】実施例において（１ウェイト、４回アクセス）で書込みのメモリアクセスが行われるときの各部の信号の状態または波形を示すタイミング図である。
【図１２】実施例において（２ウェイト、３回アクセス）で書込みのメモリアクセスが行われるときの各部の信号の状態または波形を示すタイミング図である。
【図１３】実施例において（３ウェイト、３回アクセス）で書込みのメモリアクセスが行われるときの各部の信号の状態または波形を示すタイミング図である。
【図１４】従来のプログラマブルＲＡＳ−  ／ＣＡＳ−  発生回路の構成を示すブロック図である。
【図１５】図１４のプログラマブルＲＡＳ−  ／ＣＡＳ−  発生回路により（０ウェイト、４回アクセス）で書込みのメモリアクセスが行われるときの各部の信号の状態または波形を示すタイミング図である。
【図１６】図１４のプログラマブルＲＡＳ−  ／ＣＡＳ−  発生回路により（１ウェイト、３回アクセス）で書込みのメモリアクセスが行われるときの各部の信号の状態または波形を示すタイミング図である。
【符号の説明】
１０    Ｃ−ＢＵＳ
１２    Ｄ−ＢＵＳ
１４    Ｇ−ＢＵＳ
２２    ＥＸ−ＩＦ（外部メモリ入出力インタフェース回路）
３０    制御装置
４０    タイミング制御ユニット
４２    アドレス制御ユニット
４４    データ制御ユニット
５０    カウンタ制御回路
５２    ２ビット・カウンタ
５４    制御信号生成回路
【図１】
0003595942.tif 000002
【図２】
0003595942.tif 000003
【図３】
0003595942.tif 000004
【図４】
0003595942.tif 000005
【図５】
0003595942.tif 000006
【図６】
0003595942.tif 000007
【図７】
0003595942.tif 000008
【図８】
0003595942.tif 000009
【図９】
0003595942.tif 000010
【図１０】
0003595942.tif 000011
【図１１】
0003595942.tif 000012
【図１２】
0003595942.tif 000013
【図１３】
0003595942.tif 000014
【図１４】
0003595942.tif 000015
【図１５】
0003595942.tif 000016
【図１６】
0003595942.tif 000017