(57)【特許請求の範囲】
【請求項１】
ＳＤＲＡＭ又はＳマスクＲＯＭからなるメモリと、このメモリの制御回路のクロック周期と異なるクロック周期で動作する周辺回路とが混在するシステムにおけるメモリ制御方法において、
前記メモリのクロックイネーブル信号の制御により前記周辺回路のクロックの立上がりに同期させて前記メモリからデータを読み出すように制御することで、前記メモリのデータバスと前記周辺回路のデータバスとを共用化したことを特徴とするメモリ制御方法。
【請求項２】
請求項１に記載のメモリ制御方法において、前記周辺回路との間でＤＭＡ転送可能である場合に、周辺回路からのＤＭＡアクセスに対してアドレス応答信号とデータ応答信号をずらして出力するように制御することで、周辺回路のクロックの毎サイクル連続アクセスを可能にしたことを特徴とするメモリ制御方法。
【請求項３】
請求項１に記載のメモリ制御方法において、周辺回路のクロックの状態を監視しつつ書込みコマンドを発行し、周辺回路の読出しデータに同期させてＳＤＲＡＭへデータを書き込むように制御することを特徴とするＳＤＲＡＭ制御方法。
【請求項４】
クロック同期式のメモリと、該メモリに対するデータの読み書きを制御する制御回路と、前記メモリに対応する第１のクロックとは異なる周期を持つ第２のクロックに基づいて動作する周辺回路とを有し、前記メモリのデータバスと前記周辺回路のデータバスとが共通に接続されたメモリシステムにおいて、
前記制御回路は、前記メモリに対して前記第１のクロックを出力するか否か制御するためのクロックイネーブル信号及び前記第２のクロックに基づいて、前記第２のクロックに同期させて前記メモリからデータを読み出すことを特徴とするメモリシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マスクＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリ制御方法及びＳＤＲＡＭ制御方法とメモリシステムに関するものである。
【０００２】
【従来の技術】
記憶内容を保持するために、一定時間内にリフレッシュ動作（再書込み）を行う必要のあるＲＡＭをＤＲＡＭ（Dynamic Random Access Memory）という。このＤＲＡＭは構造が単純で高集積化、大容量化がしやすく、容量当たりの製造コストが低いという利点があることから、現在、最も多く使われ、生産されている半導体メモリで、主に、コンピュータの主記憶やＲＡＭディスク等で多用されている。
【０００３】
ＤＲＡＭは、キャパシタの充放電を記憶原理としているため、時間が経つと自然放電によって電圧が下がり、メモリ内容が失われてしまう。このため、キャパシタの電荷の状態を維持するためには、リフレッシュ動作を絶えず行わなければならない。リフレッシュ動作中にはアクセスができないため、その分、ＳＲＡＭよりも読書きのスピードが低くなる。
【０００４】
そこで、ＤＲＡＭの高速化が従来から考えられてきており、ＥＤＯ（Extended Data Out）ＲＡＭもその１つであるが、現在はＳＤＲＡＭ等が主流となっている。
このＳＤＲＡＭは、従来のＤＲＡＭと異なり、システム（ＣＰＵ，ＭＰＵ）を動かしていシステムクロックとメモリの外部バスの動作が同期していることに特徴がある。内部でデータを次々に転送して途切れさせないパイプライン方式を採用しているので、１クロック毎にデータ転送を要求するバーストモードの動作が高速化される。
【０００５】
ところで従来、このようなＳＤＲＡＭの制御には、専用のデータバスが用いられている。通常、ＳＤＲＡＭのリードデータは、データの出力保持を行わず１つのクロックの立上がりエッジに合わせて出力されることと、ＳＤＲＡＭのデータ書込みにおいては、ＳＤＲＡＭに対するライトコマンドを取り込むクロックエッジ（立上がり）に合わせて書込みデータがデータバス上に存在しなければならないが、その際のコマンド発行と書込みデータの同期をとることを容易にするからである。
【０００６】
従来、ＳＤＲＡＭは、このような専用のデータバスを用いて次のように制御されている。すなわち、リードアクセスではクロックに同期したデータがＳＤＲＡＭから出力されてＳＤＲＡＭに接続された制御ＬＳＩにおいてラッチを行って内部へ読出しデータとして取り込まれ、また、ライトアクセスではコマンドとデータが制御ＬＳＩから出力されて同期クロックの立上がりでＳＤＲＡＭがデータを取り込むという制御方法が採られている。
【０００７】
【発明が解決しようとする課題】
しかしながら上記従来技術では、上述したように専用のデータバスが必要であることから、ＳＤＲＡＭに接続された制御ＬＳＩにはそのデータバスの本数分、余計にピンが必要になり、より大きい制御ＬＳＩパッケージが要求され、制御ＬＳＩ自体のコストアップになるという問題点があった。
【０００８】
また、専用のデータバスによる接続のため、他のバスへデータを転送する際、制御ＬＳＩの双方向バス入力部において、入力バッファの遅延、Ｆ／Ｆによるラッチサイクルの時間が必要となり、この時間分、転送にタイムラグが発生するという問題点もあった。
【０００９】
更に、より遅いクロックに同期したターゲットデバイスに対してＤＭＡ転送を行う場合、制御ＬＳＩ内部にバスの本数分の同期回路が必要となり、制御ＬＳＩの規模そのものが大きくなるという問題点もあった。
本発明は、上記従来技術の問題点を解消すべくなされたものである。
【００１０】
【課題を解決するための手段】
本発明は、上述課題を解決するため次の構成を採用する。
〈構成１〉
ＳＤＲＡＭ又はＳマスクＲＯＭからなるメモリと、このメモリの制御回路のクロック周期と異なるクロック周期で動作する周辺回路とが混在するシステムにおけるメモリ制御方法において、上記メモリのクロックイネーブル信号の制御により上記周辺回路のクロックの立上がりに同期させて上記メモリからデータを読み出すように制御することで、上記メモリのデータバスと上記周辺回路のデータバスとを共用化した。
【００１１】
〈構成２〉
構成１に記載のメモリ制御方法において、上記周辺回路との間でＤＭＡ転送可能である場合に、周辺回路からのＤＭＡアクセスに対してアドレス応答信号とデータ応答信号をずらして出力するように制御することで、周辺回路のクロックの毎サイクル連続アクセスを可能にした。
【００１２】
〈構成３〉
構成１に記載のメモリ制御方法において、周辺回路のクロックの状態を監視しつつ書込みコマンドを発行し、周辺回路の読出しデータに同期させてＳＤＲＡＭへデータを書き込むように制御する。
〈構成４〉
クロック同期式のメモリと、該メモリに対するデータの読み書きを制御する制御回路と、上記メモリに対応する第１のクロックとは異なる周期を持つ第２のクロックに基づいて動作する周辺回路とを有し、上記メモリのデータバスと上記周辺回路のデータバスとが共通に接続されたメモリシステムにおいて、上記制御回路は、上記メモリに対して上記第１のクロックを出力するか否か制御するためのクロックイネーブル信号及び上記第２のクロックに基づいて、上記第２のクロックに同期させて上記メモリからデータを読み出すことを特徴とする。
【００１３】
【発明の実施の形態】
以下、本発明の具体例につき図面を用いて説明する。
《具体例１》
〈具体例１の構成〉
図１は本発明によるメモリ制御方法、ここではＳＤＲＡＭ制御方法の具体例１を示すブロック図である。
この図１において、ＳＤＲＡＭ４はＳＤＲＡＭ制御ＬＳＩ３により制御されてターゲットデバイス（ＬＳＩ等）５との間でデータが読書きされるようになされている。
【００１４】
上記制御ＬＳＩ３はＳＤＲＡＭ制御部１、ＤＭＡ制御部２及びクロック分周回路６を備えてなり、この制御ＬＳＩ３にはマスタクロックＡが入力され、このマスタクロックＡは制御ＬＳＩ３内の各部に与えられるようになされている。
制御ＬＳＩ３内に入力されたマスタクロックＡは、ＳＤＲＡＭクロックＬとして制御ＬＳＩ３から出力されてＳＤＲＡＭ４へ入力されるように、また、クロック分周回路６へ入力されたマスタクロックＡは、分周されスレーブクロックＭとして出力されてターゲットデバイス５へ入力されるようになされている。
【００１５】
制御ＬＳＩ３、ＳＤＲＡＭ４及びターゲットデバイス５にはデータバスＨが接続され、双方向のデータのやり取りが可能になされている。
ＤＭＡ制御部２から延出するアドレスバスＣ、ＤＭＡ制御部２から出力される、アドレスバスＣ上に有効な値が出力中であることを示すアドレスストローブ信号Ｂ及び連続アクセスイネーブル信号ＤはＳＤＲＡＭ制御部１に入力されるようになされている。また、ＤＭＡ制御部２から出力される、データバスＨ上に有効な値が出力中であることを示すデータストローブ信号Ｇはターゲットデバイス５へ入力されるようになされている。なお本具体例１は、ライトアクセスについては直接関係しないのでリードライト切替えの信号についての説明を省略する。
【００１６】
上記ＳＤＲＡＭ制御部１は、アドレスデコーダ７、ステートマシン８、ステートシフタ９及びステートデコーダ１０を備え、上記アドレスバスＣ及びアドレスストローブ信号Ｂはアドレスデコーダ７へ入力されるようになされている。ＤＭＡ制御部２から出力される連続アクセスイネーブル信号Ｄはステートマシン８へ入力されるようになされている。
【００１７】
アドレスデコーダ７はアクセス開始の検出、ページヒット判定及びＳＤＲＡＭアドレスＫへの変換を行うものである。アドレスデコーダ７から出力されるアクセス開始の検出を示す有効アクセス信号Ｎ及びページヒット判定結果を示すページヒット信号Ｏはステートマシン８へ入力され、アドレスデコーダ７から出力されるＳＤＲＡＭアドレスＫはＳＤＲＡＭ４へ入力されるようになされている。ＳＤＲＡＭアドレスＫのデコードに関しては、出力されるＳＤＲＡＭ制御信号（ＳＤＲＡＭコマンド，ＳＤＲＡＭイネーブル信号、ここではＳＤＲＡＭコマンド）Ｉに合わせて行アドレスと列アドレスに切り替えられるが、これについては本具体例に直接関係しないのでその説明を省略する。
【００１８】
ステートマシン８は入力信号に応答してステートＰを遷移させるもので、ステートマシン８から出力されるステートＰがステートシフタ９及びステートデコーダ１０へ入力されるよう、同シフタ９及びデコーダ１０に接続されている。
【００１９】
ステートシフタ９は、リードアクセス時に発行したリードアクセスに対して、データがＣＡＳレーテンシのサイクル分、遅延して出力されることに対応するため、ステートＰでのリードコマンド出力ステートをサイクル単位で遅延させ、適切なタイミングでデータ応答信号Ｅとクロックサスペンド信号Ｑをアサートさせるように構成されている。
ステートシフタ９から出力されるデータ応答信号ＥはアクセスのホストであるＤＭＡ制御部２へ入力され、同じくクロックサスペンド信号Ｑはステートデコーダ１０へ入力されるようになされている。
【００２０】
ステートデコーダ１０はステートＰに従い、適切な外部出力を行うものである。このステートデコーダ１０から出力されるアドレスを取り込んだことを示すアドレス応答信号ＦはアクセスのホストであるＤＭＡ制御部２へ入力され、同じくＳＤＲＡＭ制御信号Ｉ及びクロックイネーブル信号ＪはＳＤＲＡＭ４へ入力されるようになされている。
【００２１】
〈具体例１の動作〉
次に、上述具体例１の動作について図２〜図７を併用して説明する。
図２は具体例１におけるステートマシン８の状態遷移図、図３は読出し位相合わせ対応を表にして示す図である。図４〜図７は各々具体例１の動作を説明するためのタイムチャートで、このうち図４はＳＤＲＡＭ初期状態からのシンプルリードアクセスを、図５はＳＤＲＡＭ初期状態からの連続リードアクセスを、図６はＳＤＲＡＭページヒット時のリードアクセスを説明するためのタイムチャートである。
【００２２】
まず、図４に示すＳＤＲＡＭ初期状態からのシンプルリードアクセスについて述べる。
設定条件としては、ＳＤＲＡＭ４デバイス毎の「ＡＣＴ」コマンドから「ＲＥＡＤ」（リード；読出し）コマンドまでの最小サイクルｔＲＣＤが３、「ＰＲＥ」コマンドから「ＡＣＴ」コマンドまでの最小サイクルｔＲＰが３、「ＲＥＡＤ」コマンド受信から対応するデータが出力されるまでのサイクル数ＣＡＳレーテンシが２であるものとする。また、マスタクロックの周期はＳＤＲＡＭ４のアクセスタイムよりも大きいものとする。
【００２３】
図４中、タイミングａ１において、ＤＭＡ制御部２がアクセスを開始することによりアドレスバスＣに有効アドレスが出力され、アドレスストローブ信号Ｂがアサートされ、連続アクセスイネーブル信号Ｄがネゲートされる。
アドレスデコーダ７は、アドレスバスＣ（の出力状態）とアドレスストローブ信号Ｂのアサートから（、アドレスバスＣへの出力内容が）ＳＤＲＡＭ４に対するアドレスであると認識すると有効アクセス信号Ｎをアサートする。
タイミングａ２において、ステートマシン８は有効アクセス信号Ｎのアサートを検出し、ステートＰを「ＩＤＬＥ」から「ＡＣＴＩＶＥ」へ遷移させる。
【００２４】
タイミングａ３において、ステートデコーダ１０はステートＰが「ＡＣＴＩＶＥ」であることを検出し、ＳＤＲＡＭ制御信号Ｉへ「ＡＣＴ」コマンドを出力する。このタイミングａ３で出力されたコマンドは、タイミングａ４においてＳＤＲＡＭ４に取り込まれる。
タイミングａ３において、ステートマシン８はｔＲＣＤのサイクル分のウェイトを挿入するため、ステートＰを「ＡＣＴＩＶＥ」から「ｔＲＣＤ＿ＷＡＩＴ」へ遷移させる。
【００２５】
タイミングａ５において、規定のｔＲＣＤのサイクル数が経過して、ステートマシン８ではステートＰを本来「ＲＥＡＤ」へ遷移させる状態となるが、その際のスレーブクロックＭの値がＨレベルであり、ＣＡＳレーテンシの値が偶数（位相不一致）であるため、ステートＰを「ＰＨＡＳＥ」へ遷移させ、スレーブクロックＭとの位相を合わせるため、１ウェイトを挿入する。「ＲＥＡＤ」へ遷移する前に「ＰＨＡＳＥ」へ遷移するかの判断を図３にまとめてある。図３において、位相不一致の場合に「ＰＨＡＳＥ」へ遷移して位相合わせを行う。
【００２６】
ステートマシン８は次のクロックの立上がりで「ＰＨＡＳＥ」状態から無条件で「ＲＥＡＤ」へ遷移する。また、ステートデコーダ１０はステートＰが「ＲＥＡＤ」であるタイミングと同一タイミングでアドレス応答信号Ｆをアサートする。
【００２７】
タイミングａ６において、ステートデコーダ１０はステートＰが「ＲＥＡＤ」であることを検出し、ＳＤＲＡＭ制御信号Ｉへ「ＲＥＡＤ」コマンドを出力する。このタイミングａ６で出力された「ＲＥＡＤ」コマンドは、タイミングａ７においてＳＤＲＡＭ４に取り込まれる。
またタイミングａ６において、ＤＭＡ制御部２はアドレス応答信号Ｆを検出することにより、アドレスバスＣへの有効値出力を停止し、アドレスストローブ信号Ｂをネゲートする。
【００２８】
更にタイミングａ６において、ステートシフタ９がステート「ＲＥＡＤ」のシフト結果として、クロックサスペンド信号Ｑをアサートする。このクロックサスペンド信号Ｑのアサートは１サイクルでネゲートする。ステートデコーダ１０はアサートされたクロックサスペンド信号Ｑを検出することにより、ＳＤＲＡＭ４において、タイミングａ８で受け取れるようにクロックイネーブル信号Ｊをネゲートする。
【００２９】
タイミングａ８において、ＳＤＲＡＭ４はクロックイネーブル信号Ｊのネゲートを検出し、ＳＤＲＡＭ４によるクロックサスペンド開始エントリが行われる。
同時に、ＳＤＲＡＭ４はＣＡＳレーテンシのタイミングでデータが受け取れるようにデータバスＨへの出力を開始する。
ＳＤＲＡＭ４によるデータ出力はタイミングａ８からＳＤＲＡＭ４のアクセスタイム以降に有効値が出力される。
【００３０】
タイミングａ９において、ステートシフタ９はスレーブクロックＭに同期して出力されるＳＤＲＡＭ４の出力データに合わせてデータ応答信号Ｅをアサートする。ＤＭＡ制御部２はＳＤＲＡＭ制御部１から出力されるデータ応答信号Ｅをデータストローブ信号Ｇに変換して出力し、ターゲットデバイス５に対して有効データ出力中であることを通知する。
【００３１】
タイミングａ１０はタイミングａ７からＣＡＳレーテンシ分のサイクルであり、ＳＤＲＡＭ４から出力されたデータバスＨ上のデータが有効であることを保証される。
また、タイミングａ１０において、エントリされたクロックサスペンドが開始され、ＳＤＲＡＭ４内部でのクロックが停止される。したがって、本来タイミングａ１０からＳＤＲＡＭ４のデータホールドタイムをおいて閉じられる出力データが、タイミングａ１０でのＳＤＲＡＭクロックＬの立上がりが無視され、そのため、データバスＨへのデータ出力状態が保持される。
同じタイミングａ１０において、ＳＤＲＡＭ４はクロックイネーブル信号Ｊのアサートを検出し、ＳＤＲＡＭ４によるクロックサスペンド終了エントリが行われる。
【００３２】
タイミングａ１１において、ＳＤＲＡＭ４はタイミングａ１０で行われたクロックサスペンド終了エントリにより、ＳＤＲＡＭ４内部のクロックが再開し、ＳＤＲＡＭ４のデータホールドタイムをおいてデータバスＨへのデータ出力が停止する。
【００３３】
タイミングａ１３において、ステートシフタ９はデータ応答信号Ｅをネゲートする。
タイミングａ１４において、ターゲットデバイス５はデータストローブ信号Ｇのアサートを検出し、データバスＨ上にあるＳＤＲＡＭ４から出力されたデータをターゲットデバイス５の内部へ取り込む。
以上の動作により、データバスＨ上にスレーブクロックＭ周期でのＳＤＲＡＭデータを出力することができる。
【００３４】
次に、図５に示すＳＤＲＡＭ初期状態からの連続リードアクセスについて述べる。設定条件は、図４の場合と同一である。
図５中、タイミングｂ１からｂ５の遷移条件，動作は図４におけるタイミングａ１からａ５の場合と同一である。
【００３５】
タイミングｂ６において、ＤＭＡ制御部２はアドレス応答信号Ｆのアサートを検出するが、連続したアクセスを継続するため、アドレスストローブ信号Ｂのアサートを継続した上で、アドレスバスＣへの出力を次のアドレスに切り替える。ステートマシン８は連続アクセスイネーブル信号Ｄがアサートされているため、ステートＰの「ＲＥＡＤ」ステートを維持する。ステートデコーダ１０はステートＰが「ＲＥＡＤ」を維持するため、アドレス応答信号Ｆのアサートも維持される。
またタイミングｂ６において、ステートシフタ９から連続アクセスイネーブル信号Ｄがネゲート時と同様に、クロックサスペンド信号Ｑがアサートされる。
【００３６】
タイミングｂ７において、ステートデコーダ１０はクロックサスペンド信号Ｑのアサートを検出する。ＳＤＲＡＭ４において、クロックイネーブル信号Ｊがネゲートされた次のサイクルは入力コマンドを無視されるため、その際にアドレスが更新しないように、アドレス応答信号Ｆをネゲートする。
【００３７】
タイミングｂ８において、ＳＤＲＡＭ４が最初のコマンドを受信する。
タイミングｂ９において、ＳＤＲＡＭ４はクロックイネーブル信号Ｊのネゲートを検出し、ＳＤＲＡＭ４によるクロックサスペンド開始エントリが行われる。同時に、ＳＤＲＡＭ４はＣＡＳレーテンシのタイミングでデータが受け取れるようにデータバスＨへの出力を開始する。
ＳＤＲＡＭ４によるデータ出力はタイミングｂ９からＳＤＲＡＭ４のアクセスタイム以降に有効値が出力される。
【００３８】
タイミングｂ１０において、ステートシフタ９はスレーブクロックＭに同期して出力されるＳＤＲＡＭ４の出力データに合わせてデータ応答信号Ｅをアサートする。ＤＭＡ制御部２はＳＤＲＡＭ制御部１から出力されるデータ応答信号Ｅをデータストローブ信号Ｇに変換して出力し、ターゲットデバイス５に対して有効データ出力中であることを通知する。
またタイミングｂ１０において、同時に、ＤＭＡ制御部２はアドレス応答信号Ｆのアサートを検出し、アドレスを更新する。ここで、ＤＭＡ制御部２は次のアドレスが連続アクセスの最後であるため、連続アクセスイネーブル信号Ｄをネゲートする。
【００３９】
タイミングｂ１１はタイミングｂ８からＣＡＳレーテンシ分のサイクルであり、ＳＤＲＡＭ４から出力されたデータバスＨ上のデータが有効であることを保証される。
また、タイミングｂ１１において、エントリされたクロックサスペンドが開始され、ＳＤＲＡＭ４内部でのクロックが停止される。したがって、本来タイミングｂ１１からＳＤＲＡＭ４のデータホールドタイムをおいて閉じられる出力データが、タイミングｂ１１でのＳＤＲＡＭクロックＬの立上がりが無視され、そのため、データバスＨへのデータ出力状態が保持され、この状態において入力コマンドも無視される。
同じタイミングｂ１１において、ＳＤＲＡＭ４はクロックイネーブル信号Ｊのアサートを検出し、ＳＤＲＡＭ４によるクロックサスペンド終了エントリが行われる。
【００４０】
タイミングｂ１２において、ＳＤＲＡＭ４はタイミングｂ１１で行われたクロックサスペンド終了エントリにより、ＳＤＲＡＭ４内部のクロックが再開し、ＳＤＲＡＭ４のデータホールドタイムをおいてデータバスＨへのデータ出力が停止する。
同じタイミングｂ１２において、クロックイネーブル信号Ｊのネゲートが検出され、タイミングｂ９と同様にＳＤＲＡＭ４によるクロックサスペンド開始エントリが行われる。
【００４１】
タイミングｂ１３において、ＤＭＡ制御部２はアドレス応答信号Ｆのアサートを検出するが、最後のアドレスに対する応答のため、アドレスバスＣへの有効値出力を停止し、アドレスストローブ信号Ｂをネゲートする。
ステートマシン８は連続アクセスイネーブル信号Ｄのネゲートを検出し、ステートＰを「ＲＥＡＤ」から次のアクセス待ちである「ＮＥＸＴ＿ＷＡＩＴ」へ遷移する。
【００４２】
タイミングｂ１４において、ターゲットデバイス５はデータストローブ信号Ｇのアサートを検出し、データバスＨ上にあるＳＤＲＡＭ４から出力された最初のデータをターゲットデバイス５の内部へ取り込む。
【００４３】
タイミングｂ１５において、クロックイネーブル信号Ｊのネゲートが検出され、タイミングｂ９，ｂ１２と同様にＳＤＲＡＭ４によるクロックサスペンド開始エントリが行われる。
【００４４】
タイミングｂ１６において、ターゲットデバイス５はデータストローブ信号Ｇのアサートを検出し、データバスＨ上にあるＳＤＲＡＭ４から出力された２つめのデータをターゲットデバイス５の内部へ取り込む。
【００４５】
タイミングｂ１７においては、タイミングｂ１５と同様である。
タイミングｂ１８において、ターゲットデバイス５はデータストローブ信号Ｇのアサートを検出し、データバスＨ上にあるＳＤＲＡＭ４から出力された３つめのデータをターゲットデバイス５の内部へ取り込む。
【００４６】
以上の動作により、データバスＨ上にスレーブクロックＭ周期でのＳＤＲＡＭデータを連続で出力することができる。
【００４７】
次に、図６に示すＳＤＲＡＭページヒット時のリードアクセスについて述べる。設定条件は、図４の場合と同一である。
図６中、タイミングｃ１において、ＤＭＡ制御部２がアクセスを開始することによりアドレスバスＣに有効アドレスが出力され、アドレスストローブ信号Ｂがアサートされ、連続アクセスイネーブル信号Ｄがネゲートされる。
アドレスデコーダ７は、アドレスバスＣ（の出力状態）とアドレスストローブ信号Ｂのアサートから（、アドレスバスＣへの出力内容が）ＳＤＲＡＭ４に対するアドレスであると認識すると有効アクセス信号Ｎをアサートする。
【００４８】
タイミングｃ２において、ステートマシン８は有効アクセス信号Ｎのアサートを検出する。この際、ステートマシン８はステートＰが「ＮＥＸＴ＿ＷＡＩＴ」であり、ページヒット信号Ｏを参照する。
この場合、入力されたアドレスが前回のアクセス時のアドレスと同じページ内であるため、ページヒット信号Ｏはアサートとなっており、また、このタイミングｃ２ではスレーブクロックＭがＬレベル（位相一致）であり、図３からステートＰは「ＰＨＡＳＥ」を経由せずに「ＲＥＡＤ」へ遷移する。
また、ステートデコーダ１０はステートＰが「ＲＥＡＤ」であるタイミングと同一タイミングでアドレス応答信号Ｆをアサートする。
【００４９】
タイミングｃ３において、ステートデコーダ１０はステートＰが「ＲＥＡＤ」であることを検出し、ＳＤＲＡＭ制御信号Ｉへ「ＲＥＡＤ」コマンドを出力する。このタイミングｃ３で出力された「ＲＥＡＤ」コマンドは、タイミングｃ４においてＳＤＲＡＭ４に取り込まれる。
このタイミングｃ３において、連続アクセスイネーブル信号Ｄはネゲートであるので、ステートマシン８はステートＰを「ＲＥＡＤ」から「ＮＥＸＴ＿ＷＡＩＴ」へ遷移させ、次のアクセスに対して待機する。
【００５０】
タイミングｃ４以降の動作は、図４に示すタイムチャートのタイミングａ７以降の動作と同様になる。タイミングｃ３において、連続アクセスイネーブル信号Ｄがアサートされていた場合には、以降の動作は図５に示すタイムチャートのタイミングｂ６以降の動作と同様になる。
【００５１】
次に、図７に示すＳＤＲＡＭページミスヒット時のリードアクセスについて述べる。設定条件は、図４の場合と同一である。
図７中、タイミングｄ１において、ＤＭＡ制御部２がアクセスを開始することによりアドレスバスＣに有効アドレスが出力され、アドレスストローブ信号Ｂがアサートされ、連続アクセスイネーブル信号Ｄがアサートされる。
アドレスデコーダ７は、アドレスバスＣ（の出力状態）とアドレスストローブ信号Ｂのアサートから（、アドレスバスＣへの出力内容が）ＳＤＲＡＭ４に対するアドレスであると認識すると有効アクセス信号Ｎをアサートする。
【００５２】
タイミングｄ２において、ステートマシン８は有効アクセス信号Ｎのアサートを検出する。この際、ステートマシン８はステートＰが「ＮＥＸＴ＿ＷＡＩＴ」であり、ページヒット信号Ｏを参照する。
この場合、入力されたアドレスが前回のアクセス時のアドレスと異なるページであるため、ページヒット信号Ｏはネゲートとなっており、ステートマシン８はステートＰを「ＰＲＥＣＨＡＲＧＥ」へ遷移させる。
【００５３】
タイミングｄ３において、ステートデコーダ１０はステートＰが「ＰＲＥＣＨＡＲＧＥ」であることを検出し、ＳＤＲＡＭ制御信号Ｉへ「ＰＲＥ」コマンドを出力する。このタイミングｄ３で出力された「ＰＲＥ」コマンドは、タイミングｄ４においてＳＤＲＡＭ４に取り込まれ、これにより、ＳＤＲＡＭ４は「ＡＣＴＩＶＥ」コマンドで設定されたＲｏｗアドレスをクリアし、ＳＤＲＡＭ内部ステートマシンが「ＩＤＬＥ」状態となる。
【００５４】
このタイミングｄ３において、ステートマシン８はステートＰをｔＲＰのサイクル分のウェイトを挿入するため、「ＰＲＥＣＨＡＲＧＥ」から「ｔＲＰ＿ＷＡＩＴ」へ遷移させる。
ｔＲＰのサイクル数経過後、ステートマシン８はステートＰを「ｔＲＰ＿ＷＡＩＴ」から「ＡＣＴＩＶＥ」へ遷移させる。
【００５５】
タイミングｄ５において、ステートデコーダ１０はステートＰが「ＡＣＴＩＶＥ」であることを検出し、ＳＤＲＡＭ制御信号Ｉへ「ＡＣＴ」コマンドを出力する。このタイミングｄ３で出力された「ＡＣＴ」コマンドは、タイミングｄ４においてＳＤＲＡＭ４に取り込まれる。
【００５６】
タイミングｄ５以降の動作は、図４に示すタイムチャートのタイミングａ３以降の動作と同様になる。タイミングｄ５において、連続アクセスイネーブル信号Ｄがアサートされていた場合には、以降の動作は図５に示すタイムチャートのタイミングｂ３以降の動作と同様になる。
【００５７】
〈具体例１の効果〉
上述具体例１によれば、ステートシフタ９にリードコマンドに同期したクロックサスペンド信号Ｑを設け、ステートマシン８のステートＰに位相合わせのための「ＰＨＡＳＥ」を追加することにより、ＤＭＡ転送における、スレーブクロックＭに同期したターゲットデバイス５に対するデータ供給をＳＤＲＡＭ制御部１の制御のみで実現可能としたので、ＳＤＲＡＭ４の専用データバスを用意する必要なくなるという効果が得られる。
【００５８】
また、クロックサスペンド信号Ｑのアサートを１サイクル毎に切り替えるようにしたので、スレーブクロックＭに同期したターゲットデバイス５に対してセットアップ時間に余裕のあるデータを供給することができるという効果が得られる。
【００５９】
更にデータバスＨをＳＤＲＡＭ４とターゲットデバイス５で共有するようにしたので、ＳＤＲＡＭ４のリードデータを一旦、制御ＬＳＩ３で取り込んだ上でターゲットデバイス５へ供給する必要がなくなり、ＳＤＲＡＭ４のコマンド応答からターゲットデバイス５へのデータ供給までの時間を最短とすることができるという効果が得られる。
【００６０】
《具体例２》
〈具体例２の構成〉
図８は本発明によるＳＤＲＡＭ制御方法の具体例２を示すブロック図である。
この図８において、ＳＤＲＡＭ４はＳＤＲＡＭ制御ＬＳＩ３により制御されてターゲットデバイス（ＬＳＩ等）５との間でデータが読書きされるようになされている。
【００６１】
上記制御ＬＳＩ３はＳＤＲＡＭ制御部１、ＤＭＡ制御部２及びクロック分周回路６を備えてなり、この制御ＬＳＩ３にはマスタクロックＡが入力され、このマスタクロックＡは制御ＬＳＩ３内の各部に与えられるようになされている。
制御ＬＳＩ３内に入力されたマスタクロックＡは、ＳＤＲＡＭクロックＬとして制御ＬＳＩ３から出力されてＳＤＲＡＭ４へ入力されるように、また、クロック分周回路６へ入力されたマスタクロックＡは、分周されスレーブクロックＭとして出力されてターゲットデバイス５へ入力されるようになされている。
【００６２】
制御ＬＳＩ３、ＳＤＲＡＭ４及びターゲットデバイス５にはデータバスＨが接続され、双方向のデータのやり取りが可能になされている。
ＤＭＡ制御部２から延出するアドレスバスＣ、ＤＭＡ制御部２から出力される、アドレスバスＣ上に有効な値が出力中であることを示すアドレスストローブ信号Ｂ、連続アクセスイネーブル信号Ｄ及び書込みデータ出力中を示すデータストローブ信号ＲはＳＤＲＡＭ制御部１に入力されるようになされている。また、ＤＭＡ制御部２から出力される、データ出力を引き伸ばすデータサスペンド信号Ｔはターゲットデバイス５へ入力されるようになされている。
【００６３】
ターゲットデバイス５から出力されるデータ応答信号ＳはデータバスＨ上に有効な値を出力中であることを示す。データサスペンド信号Ｔのアサート中において、このデータ応答信号Ｓはアサートを継続し、データバスＨへの出力を継続するようになされている。
【００６４】
上記ＳＤＲＡＭ制御部１は、アドレスデコーダ７、ステートマシン８及びステートデコーダ１０を備え、上記アドレスバスＣ及びアドレスストローブ信号Ｂはアドレスデコーダ７へ入力されるようになされている。ＤＭＡ制御部２から出力される連続アクセスイネーブル信号Ｄ及び書込みデータ出力中を示すデータストローブ信号Ｒはステートマシン８へ入力されるようになされている。
【００６５】
アドレスデコーダ７はアクセス開始の検出、ページヒット判定とＳＤＲＡＭアドレスＫへの変換を行うものである。アドレスデコーダ７から出力されるアクセス開始の検出を示す有効アクセス信号Ｎ及びページヒット判定結果を示すページヒット信号Ｏはステートマシン８へ入力され、アドレスデコーダ７から出力されるＳＤＲＡＭアドレスＫはＳＤＲＡＭ４へ入力されるようになされている。ＳＤＲＡＭアドレスＫのデコードに関しては、出力されるＳＤＲＡＭ制御信号（ＳＤＲＡＭコマンド，ＳＤＲＡＭイネーブル信号、ここではＳＤＲＡＭコマンド）Ｉに合わせて行アドレスと列アドレスに切り替えられるが、これについては本具体例に直接関係しないのでその説明を省略する。
【００６６】
ステートマシン８は入力信号に応答してステートＰを遷移させるもので、ステートマシン８から出力されるステートＰがステートデコーダ１０へ入力されるよう、同デコーダ１０に接続されている。
【００６７】
ステートデコーダ１０はステートＰに従い、適切な外部出力を行うものである。ステートデコーダ１０から出力されるアドレスを取り込んだことを示すアドレス応答信号Ｆ及びデータの書込みを取り込んだことを示すデータ応答信号ＳはアクセスのホストであるＤＭＡ制御部２へ入力され、ステートデコーダ１０から出力されるＳＤＲＡＭ制御信号ＩはＳＤＲＡＭ４へ入力されるようになされている。
【００６８】
〈具体例２の動作〉
次に、上述具体例２の動作について図９〜図１３を併用して説明する。
図９は具体例１におけるステートマシン８の状態遷移図である。図１０〜図１３は各々具体例２の動作を説明するためのタイムチャートで、このうち図１０はＳＤＲＡＭ初期状態からのシンプルライトアクセスを、図１１はＳＤＲＡＭ初期状態からの連続ライトアクセスを、図１２はＳＤＲＡＭページヒット時のシンプルライトアクセスを、図１３はＳＤＲＡＭページミスヒット時のライトアクセスを説明するためのタイムチャートである。
【００６９】
まず、図１０に示すＳＤＲＡＭ初期状態からのシンプルライトアクセスについて述べる。
設定条件としては、ＳＤＲＡＭ４デバイス毎の「ＡＣＴ」コマンドから「ＷＲＩＴ」（ライト；書込み）コマンドまでの最小サイクルｔＲＣＤが３、「ＰＲＥ」コマンドから「ＡＣＴ」コマンドまでの最小サイクルｔＲＰが３であるものとする。
【００７０】
図１０中、タイミングｅ１において、ＤＭＡ制御部２がアクセスを開始することによりアドレスバスＣに有効アドレスが出力され、アドレスストローブ信号Ｂがアサートされ、連続アクセスイネーブル信号Ｄがネゲートされる。同時に、ＤＭＡ制御部２はターゲットデバイス５に対してデータサスペンド信号Ｔをアサートする。
アドレスデコーダ７は、アドレスバスＣ（の出力状態）とアドレスストローブ信号Ｂのアサートから（、アドレスバスＣへの出力内容が）ＳＤＲＡＭ４に対するアドレスであると認識すると有効アクセス信号Ｎをアサートする。
【００７１】
タイミングｅ２において、ステートマシン８は有効アクセス信号Ｎのアサートを検出し、ステートＰを「ＩＤＬＥ」から「ＡＣＴＩＶＥ」へ遷移させる。
タイミングｅ３において、ステートデコーダ１０はステートＰが「ＡＣＴＩＶＥ」であることを検出し、ＳＤＲＡＭ制御信号Ｉへ「ＡＣＴ」コマンドを出力する。このタイミングｅ３で出力された「ＡＣＴ」コマンドは、タイミングｅ５においてＳＤＲＡＭ４に取り込まれる。
またタイミングｅ３において、ステートマシン８はｔＲＣＤのサイクル分のウェイトを挿入するため、ステートＰを「ＡＣＴＩＶＥ」から「ｔＲＣＤ＿ＷＡＩＴ」へ遷移させる。
【００７２】
タイミングｅ４において、ターゲットデバイス５は出力データの準備が完了し、データ応答信号Ｓをアサートする。
タイミングｅ６において、規定のｔＲＣＤのサイクル数が経過して、ステートマシン８ではステートＰを本来「ＷＲＩＴ」へ遷移させる状態となるが、その際のスレーブクロックＭの値がＬレベルであるため、ステートＰを「ＰＨＡＳＥ」へ遷移させ、１ウェイトを挿入してスレーブクロックＭとの位相合わせを行う。
【００７３】
ステートマシン８はタイミングｅ７で「ＰＨＡＳＥ」状態から、この場合、ライトアクセスであるので「ＷＲＩＴ」へ遷移する。また、ステートデコーダ１０はステートＰが「ＷＲＩＴ」であるタイミングと同一タイミングでアドレス応答信号Ｆをアサートする。
【００７４】
タイミングｅ８において、ステートデコーダ１０はステートＰが「ＷＲＩＴ」であることを検出し、ＳＤＲＡＭ制御信号Ｉへ「ＷＲＩＴ」コマンドを出力する。このタイミングｅ８で出力された「ＷＲＩＴ」コマンドは、タイミングｅ９においてＳＤＲＡＭ４に取り込まれる。
タイミングｅ１０において、ターゲットデバイス５はデータサスペンド信号Ｔのネゲートを検出し、出力データの保持を停止し、データの出力を終了する。
【００７５】
次に、図１１に示すＳＤＲＡＭ初期状態からの連続ライトアクセスについて述べる。設定条件は、図１０の場合と同一である。
図１１中、タイミングｆ１からｆ７の遷移条件，動作は図１０におけるタイミングｅ１からｅ７の場合と同一である。
【００７６】
タイミングｆ８において、ステートマシン８は連続アクセスイネーブル信号Ｄのアサートを検出し、ステートＰを「ＷＲＩＴ」から「ＰＨＡＳＥ」へ遷移する。またタイミングｆ８において、ステートデコーダ１０はステートＰが「ＷＲＩＴ」であることを検出し、ＳＤＲＡＭ制御信号Ｉへ「ＷＲＩＴ」コマンドを出力する。このタイミングｆ８で出力された「ＷＲＩＴ」コマンドは、タイミングｆ１０においてＳＤＲＡＭ４に取り込まれる。
タイミングｆ９においては、タイミングｆ７と同様に動作し、ステートＰは「ＰＨＡＳＥ」から「ＷＲＩＴ」へ遷移する。
【００７７】
タイミングｆ１１において、ＤＭＡ制御部２はアドレス応答信号Ｆのアサートを検出し、アドレスバスＣの値は次のアドレスへ遷移する。またタイミングｆ１１において、ステートマシン８はステートＰを「ＷＲＩＴ」から「ＰＨＡＳＥ」へ遷移させる。
ステートデコーダ１０はステートＰが「ＷＲＩＴ」であることを検出し、ＳＤＲＡＭ制御信号Ｉへ「ＷＲＩＴ」コマンドを出力する。このタイミングｆ１１で出力された「ＷＲＩＴ」コマンドは、タイミングｆ１４においてＳＤＲＡＭ４に取り込まれる。
【００７８】
タイミングｆ１２において、ターゲットデバイス５はデータサスペンド信号Ｔのネゲートを検出し、データバスＨへの出力データ値は次のデータへ遷移する。
以降、ｆ９からｆ１２と同様の繰り返しにより、スレーブクロックＭの毎サイクルのデータをＳＤＲＡＭ４へ書き込むことができる。
【００７９】
次に、図１２に示すＳＤＲＡＭページヒット時のシンプルライトアクセスについて述べる。設定条件は、図１０の場合と同一である。
図１２中、タイミングｇ１において、ＤＭＡ制御部２がアクセスを開始することによりアドレスバスＣに有効アドレスが出力され、アドレスストローブ信号Ｂがアサートされ、連続アクセスイネーブル信号Ｄがネゲートされる。同時に、ＤＭＡ制御部２はターゲットデバイス５に対してデータサスペンド信号Ｔをアサートする。
アドレスデコーダ７は、アドレスバスＣ（の出力状態）とアドレスストローブ信号Ｂのアサートから（、アドレスバスＣへの出力内容が）ＳＤＲＡＭ４に対するアドレスであると認識すると有効アクセス信号Ｎをアサートする。
【００８０】
タイミングｇ２において、ステートマシン８は有効アクセス信号Ｎのアサートを検出する。この際、ステートマシン８はステートＰが「ＮＥＸＴ＿ＷＡＩＴ」であり、ページヒット信号Ｏを参照する。
【００８１】
この場合、入力されたアドレスが前回のアクセス時のアドレスと同じページ内であるため、ページヒット信号Ｏはアサートとなっており、また、このタイミングｃ２ではスレーブクロックＭがＨレベルである。したがって「ＷＲＩＴ」ステートへ遷移できるが、ターゲットデバイス５が出力するデータ応答信号Ｓから生成されるデータストローブ信号Ｒがネゲートであり、書込みデータが存在しないと判断し、書込みデータが準備できるまでステートＰを「ＤＡＴＡ＿ＷＡＩＴ」へ遷移する。
【００８２】
タイミングｇ３において、ターゲットデバイス５がデータの準備が完了し、データバスＨへデータを出力すると共にデータ応答信号Ｓをアサートする。ＤＭＡ制御部２はデータ応答信号Ｓのアサートをデータストローブ信号Ｒへ変換し、ＳＤＲＡＭ制御部１へ書込みデータがデータバスＨ上に存在することを通知する。タイミングｇ４において、ステートマシン８はデータストローブ信号Ｒのアサートを検出するとステートＰを「ＤＡＴＡ＿ＷＡＩＴ」から「ＷＲＩＴ」へ遷移させる。
【００８３】
タイミングｇ５において、ステートデコーダ１０はステートＰが「ＷＲＩＴ」であることを検出し、ＳＤＲＡＭ制御信号Ｉへ「ＷＲＩＴ」コマンドを出力する。このタイミングｇ５で出力された「ＷＲＩＴ」コマンドは、タイミングｇ６においてＳＤＲＡＭ４に取り込まれる。
このタイミングｇ５において、連続アクセスイネーブル信号Ｄはネゲートであるので、ステートマシン８はステートＰを「ＷＲＩＴ」から「ＮＥＸＴ＿ＷＡＩＴ」へ遷移させ、次のアクセスに対して待機する。
【００８４】
タイミングｇ５以降の動作は、図１０に示すタイムチャートのタイミングｅ８以降の動作と同様になる。タイミングｇ５において、連続アクセスイネーブル信号Ｄがアサートされていた場合には、以降の動作は図１１に示すタイムチャートのタイミングｆ１０以降の動作と同様になる。
【００８５】
次に、図１３に示すＳＤＲＡＭページミスヒット時のライトアクセスについて述べる。設定条件は、図１０の場合と同一である。
図１３中、タイミングｈ１において、ＤＭＡ制御部２がアクセスを開始することによりアドレスバスＣに有効アドレスが出力され、アドレスストローブ信号Ｂがアサートされ、連続アクセスイネーブル信号Ｄがアサートされる。
アドレスデコーダ７は、アドレスバスＣ（の出力状態）とアドレスストローブ信号Ｂのアサートから（、アドレスバスＣへの出力内容が）ＳＤＲＡＭ４に対するアドレスであると認識すると有効アクセス信号Ｎをアサートする。
【００８６】
タイミングｈ２において、ステートマシン８は有効アクセス信号Ｎのアサートを検出する。この際、ステートマシン８はステートＰが「ＮＥＸＴ＿ＷＡＩＴ」であり、ページヒット信号Ｏを参照する。
この場合、入力されたアドレスが前回のアクセス時のアドレスと異なるページであるため、ページヒット信号Ｏはネゲートとなっており、ステートマシン８はステートＰを「ＰＲＥＣＨＡＲＧＥ」へ遷移させる。
【００８７】
タイミングｈ３において、ステートデコーダ１０はステートＰが「ＰＲＥＣＨＡＲＧＥ」であることを検出し、ＳＤＲＡＭ制御信号Ｉへ「ＰＲＥ」コマンドを出力する。このタイミングｈ３で出力された「ＰＲＥ」コマンドは、タイミングｈ５においてＳＤＲＡＭ４に取り込まれ、これにより、ＳＤＲＡＭ４は「ＡＣＴＩＶＥ」コマンドで設定されたＲｏｗアドレスをクリアし、ＳＤＲＡＭ内部ステートマシンが「ＩＤＬＥ」状態となる。
【００８８】
このタイミングｈ３において、ステートマシン８はステートＰをｔＲＰのサイクル分のウェイトを挿入するため、「ＰＲＥＣＨＡＲＧＥ」から「ｔＲＰ＿ＷＡＩＴ」へ遷移させる（タイミングｈ４）。
ｔＲＰのサイクル数経過後、ステートマシン８はステートＰを「ｔＲＰ＿ＷＡＩＴ」から「ＡＣＴＩＶＥ」へ遷移させる（タイミングｈ６）。
【００８９】
タイミングｈ７において、ステートデコーダ１０はステートＰが「ＡＣＴＩＶＥ」であることを検出し、ＳＤＲＡＭ制御信号Ｉへ「ＡＣＴ」コマンドを出力する。このタイミングｈ７で出力された「ＡＣＴ」コマンドは、タイミングｈ８においてＳＤＲＡＭ４に取り込まれる。
【００９０】
タイミングｈ８以降の動作は、図１０に示すタイムチャートのタイミングｅ５以降の動作と同様になる。タイミングｈ７において、連続アクセスイネーブル信号Ｄがアサートされていた場合には、以降の動作は図１１に示すタイムチャートのタイミングｆ５以降の動作と同様になる。
【００９１】
〈具体例２の効果〉
上述具体例２によれば、ステートマシン８にスレーブクロックＭの値による遷移条件を加えたことにより、ＤＭＡ転送において、スレーブクロックＭに同期したターゲットデバイス５からのデータ供給に対してコマンド発行を同期化させることがＳＤＲＡＭ制御部１の制御のみで実現可能としたので、データ拡張やクロック同期回路を別個に設ける必要がなくなるという効果が得られる。
【００９２】
また、ステートマシン８において、「ＷＲＩＴ」ステートと「ＰＨＡＳＥ」ステートを交互に繰り返すようにしたので、スレーブクロックＭに合わせた連続データを的確にＳＤＲＡＭ４へ書き込むことができるという効果が得られる。
【００９３】
更に、サスペンド信号Ｔを設けるようにしたので、ＳＤＲＡＭ制御部１において、書込み準備が完了する前にターゲットデバイス５がデータの出力を開始した場合、そのデータの出力タイミングを延ばし、ＳＤＲＡＭ制御部１と転送開始のタイミングを合わせることができるため、連続転送時に書き込むべきデータの箇所がずれることがないという効果が得られる。
【００９４】
《具体例３》
〈具体例３の構成〉
図１４は本発明によるＳＤＲＡＭ制御方法の具体例３を示すブロック図である。
この図１４において、ＳＤＲＡＭ４はＳＤＲＡＭ制御ＬＳＩ３により制御されてＤＭＡデバイス（ＬＳＩ等）１１との間でデータが読書きされるようになされている。
【００９５】
上記制御ＬＳＩ３はＳＤＲＡＭ制御部１及びクロック分周回路６を備えてなり、この制御ＬＳＩ３にはマスタクロックＡが入力され、このマスタクロックＡは制御ＬＳＩ３内の各部に与えられるようになされている。
制御ＬＳＩ３内に入力されたマスタクロックＡは、ＳＤＲＡＭクロックＬとして制御ＬＳＩ３から出力されてＳＤＲＡＭ４へ入力されるように、また、クロック分周回路６へ入力されたマスタクロックＡは、分周されスレーブクロックＭとして出力されてＤＭＡデバイス１１へ入力されるようになされている。
【００９６】
制御ＬＳＩ３、ＳＤＲＡＭ４及びＤＭＡデバイス１１にはデータバスＨが接続され、双方向のデータのやり取りが可能になされている。
ＤＭＡデバイス１１から延出するアドレスバスＣ、このアドレスバスＣ上に有効な値が出力中であることを示すアドレスストローブ信号Ｂ、連続アクセスイネーブル信号Ｄ及び書込みデータ出力中を示すデータストローブ信号ＲはＳＤＲＡＭ制御部１に入力されるようになされている。
【００９７】
上記ＳＤＲＡＭ制御部１は、アドレスデコーダ７、ステートマシン８及びステートデコーダ１０を備え、上記アドレスバスＣ及びアドレスストローブ信号Ｂはアドレスデコーダ７へ入力されるようになされている。ＤＭＡ制御部２から出力される連続アクセスイネーブル信号Ｄ及び書込みデータ出力中を示すデータストローブ信号Ｒはステートマシン８へ入力されるようになされている。
【００９８】
アドレスデコーダ７はアクセス開始の検出、ページヒット判定とＳＤＲＡＭアドレスＫへの変換を行うものである。アドレスデコーダ７から出力されるアクセス開始の検出を示す有効アクセス信号Ｎ及びページヒット判定結果を示すページヒット信号Ｏはステートマシン８へ入力され、アドレスデコーダ７から出力されるＳＤＲＡＭアドレスＫはＳＤＲＡＭ４へ入力されるようになされている。ＳＤＲＡＭアドレスＫのデコードに関しては、出力されるＳＤＲＡＭ制御信号（ＳＤＲＡＭコマンド，ＳＤＲＡＭイネーブル信号、ここではＳＤＲＡＭコマンド）Ｉに合わせて行アドレスと列アドレスに切り替えられるが、これについては本具体例に直接関係しないのでその説明を省略する。
【００９９】
ステートマシン８は入力信号に応答してステートＰを遷移させるもので、ステートマシン８から出力されるステートＰがステートデコーダ１０へ入力されるよう、同デコーダ１０に接続されている。
【０１００】
ステートデコーダ１０はステートＰに従い、適切な外部出力を行うものである。ステートデコーダ１０から出力されるアドレスを取り込んだことを示すアドレス応答信号Ｆ及びデータの書込みを取り込んだことを示すデータ応答信号ＥはアクセスのホストであるＤＭＡデバイス１１へ入力され、ステートデコーダ１０から出力されるＳＤＲＡＭ制御信号ＩはＳＤＲＡＭ４へ入力されるようになされている。
【０１０１】
〈具体例３の動作〉
次に、上述具体例３の動作について図１５〜図１９を併用して説明する。
図１５は具体例３におけるステートマシン８の状態遷移図である。図１６〜図１９は各々具体例３の動作を説明するためのタイムチャートで、このうち図１６はＳＤＲＡＭ初期状態からのシンプルライトアクセスを、図１７はＳＤＲＡＭ初期状態からの連続ライトアクセスを、図１８はＳＤＲＡＭページヒット時のシンプルライトアクセスを、図１９はＳＤＲＡＭページミスヒット時のライトアクセスを説明するためのタイムチャートである。
【０１０２】
まず、図１６に示すＳＤＲＡＭ初期状態からのシンプルライトアクセスについて述べる。
設定条件としては、ＳＤＲＡＭ４デバイス毎の「ＡＣＴ」コマンドから「ＷＲＩＴ」コマンドまでの最小サイクルｔＲＣＤが３、「ＰＲＥ」コマンドから「ＡＣＴ」コマンドまでの最小サイクルｔＲＰが３であるものとする。
【０１０３】
図１６中、タイミングｉ１において、ＤＭＡデバイス１１がアクセスを開始することによりアドレスバスＣに有効アドレスが出力され、アドレスストローブ信号Ｂがアサートされ、連続アクセスイネーブル信号Ｄがネゲートされる。
アドレスデコーダ７は、アドレスバスＣ（の出力状態）とアドレスストローブ信号Ｂのアサートから（、アドレスバスＣへの出力内容が）ＳＤＲＡＭ４に対するアドレスであると認識すると有効アクセス信号Ｎをアサートする。
【０１０４】
タイミングｉ２において、ステートマシン８は有効アクセス信号Ｎのアサートを検出し、ステートＰを「ＩＤＬＥ」から「ＡＣＴＩＶＥ」へ遷移させる。
タイミングｉ３において、ステートデコーダ１０はステートＰが「ＡＣＴＩＶＥ」であることを検出し、ＳＤＲＡＭ制御信号Ｉへ「ＡＣＴ」コマンドを出力する。このタイミングｉ３で出力された「ＡＣＴ」コマンドは、タイミングｉ４においてＳＤＲＡＭ４に取り込まれる。
タイミングｉ３において、ステートマシン８はｔＲＣＤのサイクル分のウェイトを挿入するため、ステートＰを「ＡＣＴＩＶＥ」から「ｔＲＣＤ＿ＷＡＩＴ」へ遷移させる。
【０１０５】
タイミングｉ５において、規定のｔＲＣＤのサイクル数が経過して、スレーブクロックＭの値がＬレベルであるため、位相合わせの必要はないと判断し、ステートマシン８はステートＰを「ｔＲＣＤ＿ＷＡＩＴ」から「ＳＬＡＶＥ＿ＡＣＫ」へ遷移させる。
このタイミングｉ５において、スレーブクロックＭの値がＨレベルであった場合、ステートマシン８は「ＳＬＡＶＥ＿ＡＣＫ」へ遷移させる前に「ＰＨＡＳＥ」ステートへ遷移させ、１サイクルのウェイトを挿入する。
【０１０６】
ステートデコーダ１０はステートＰが「ＳＬＡＶＥ＿ＡＣＫ」、又は「ＷＲＩＴ」の場合、アドレス応答信号Ｆをアサートすることにより、スレーブクロックＭに合わせたアドレス応答信号を生成することができる。また、ステートデコーダ１０はデータ応答信号ＥをスレーブクロックＭの単位で１サイクル分遅延させて出力する。
【０１０７】
タイミングｉ６において、ステートマシン８はステートＰを無条件で「ＳＬＡＶＥ＿ＡＣＫ」から「ＷＲＩＴ」へ遷移させる。
タイミングｉ７において、ステートデコーダ１０はステートＰが「ＷＲＩＴ」であることを検出し、ＳＤＲＡＭ制御信号Ｉへ「ＷＲＩＴ」コマンドを出力する。このタイミングｉ７で出力された「ＷＲＩＴ」コマンドは、タイミングｉ９においてＳＤＲＡＭ４に取り込まれる。
【０１０８】
タイミングｉ８において、ＤＭＡデバイス１１はアドレス応答信号Ｆのアサートを検出し、アドレスの出力を停止し、アドレスストローブ信号Ｂをネゲートする。
タイミングｉ１０において、ＤＭＡデバイス１１はデータ応答信号Ｅのアサートを検出し、データの出力を停止し、データストローブ信号Ｒをネゲートする。
【０１０９】
次に、図１７に示すＳＤＲＡＭ初期状態からの連続ライトアクセスについて述べる。設定条件は、図１６の場合と同一である。
タイミングｊ１からｊ６の遷移条件，動作はタイムチャート９におけるタイミングｉ１からｉ６の場合と同一である。
【０１１０】
タイミングｊ７において、ステートマシン８は連続アクセスイネーブル信号Ｄのアサートを検出し、ステートＰを「ＷＲＩＴ」から「ＳＬＡＶＥ＿ＡＣＫ」へ遷移する。またタイミングｊ７において、ステートデコーダ１０はステートＰが「ＷＲＩＴ」であることを検出し、ＳＤＲＡＭ制御信号Ｉへ「ＷＲＩＴ」コマンドを出力する。このタイミングｊ７で出力された「ＷＲＩＴ」コマンドは、タイミングｊ９においてＳＤＲＡＭ４に取り込まれる。
【０１１１】
タイミングｊ７において、ステートデコーダ１０はステートＰが「ＷＲＩＴ」から「ＳＬＡＶＥ＿ＡＣＫ」への遷移であり、アドレス応答信号Ｆのアサート条件を満たすため、アドレス応答信号Ｆのアサートは継続される。
【０１１２】
タイミングｊ８において、ＤＭＡデバイス１１はアドレス応答信号Ｆのアサートを検出し、アドレスバスＣの値を次のアドレスへ遷移させる。
以降、ｊ６からｊ８と同様の繰り返しにより、スレーブクロックＭの毎サイクルのデータをＳＤＲＡＭ４へ書き込むことができる。
【０１１３】
次に、図１８に示すＳＤＲＡＭページヒット時のシンプルライトアクセスについて述べる。設定条件は、図１６の場合と同一である。
図１８中、タイミングｋ１において、ＤＭＡデバイス１１がアクセスを開始することによりアドレスバスＣに有効アドレスが出力され、アドレスストローブ信号Ｂがアサートされ、連続アクセスイネーブル信号Ｄがネゲートされる。
アドレスデコーダ７は、アドレスバスＣ（の出力状態）とアドレスストローブ信号Ｂのアサートから（、アドレスバスＣへの出力内容が）ＳＤＲＡＭ４に対するアドレスであると認識すると有効アクセス信号Ｎをアサートする。
【０１１４】
タイミングｋ２において、ステートマシン８は有効アクセス信号Ｎのアサートを検出する。この際、ステートマシン８はステートＰが「ＮＥＸＴ＿ＷＡＩＴ」であり、ページヒット信号Ｏを参照する。
この場合、入力されたアドレスが前回のアクセス時のアドレスと同じページ内であるため、ページヒット信号Ｏはアサートとなっており、また、このタイミングｋ２ではスレーブクロックＭがＨレベルである。したがって、ステートＰを「ＰＨＡＳＥ」へ遷移させ、スレーブクロックＭとの位相を合わせるため、１ウェイトを挿入する。
【０１１５】
タイミングｋ３において、ステートマシン８はステートＰを無条件で「ＰＨＡＳＥ」から「ＳＬＡＶＥ＿ＡＣＫ」へ遷移させる。これにより、ステートデコーダ１０において、アドレス応答信号Ｆがアサートされる。
タイミングｋ４において、ステートマシン８はステートＰを無条件で「ＳＬＡＶＥ＿ＡＣＫ」から「ＷＲＩＴ」へ遷移させる。
【０１１６】
タイミングｋ５において、ステートデコーダ１０はステートＰが「ＷＲＩＴ」であることを検出し、ＳＤＲＡＭ制御信号Ｉへ「ＷＲＩＴ」コマンドを出力する。このタイミングｋ５で出力された「ＷＲＩＴ」コマンドは、タイミングｋ７においてＳＤＲＡＭ４に取り込まれる。
【０１１７】
タイミングｋ６において、ＤＭＡデバイス１１はアドレス応答信号Ｆのアサートを検出し、アドレスの出力を停止し、アドレスストローブ信号Ｂをネゲートする。またタイミングｋ６において、連続アクセスイネーブル信号Ｄはネゲートであるので、ステートマシン８はステートＰを「ＷＲＩＴ」から「ＮＥＸＴ＿ＷＡＩＴ」へ遷移させ、次のアクセスに対して待機する。
【０１１８】
タイミングｋ６以降の動作は、図１６に示すタイムチャートのタイミングｉ８以降の動作と同様になる。タイミングｋ５において、連続アクセスイネーブル信号Ｄがアサートされていた場合には、以降の動作は図１７に示すタイムチャートのタイミングｊ７以降の動作と同様になる。
【０１１９】
次に、図１９に示すＳＤＲＡＭページミスヒット時のライトアクセスについて述べる。設定条件は、図１６の場合と同一である。
図１９中、タイミングｍ１において、ＤＭＡデバイス１１がアクセスを開始することによりアドレスバスＣに有効アドレスが出力され、アドレスストローブ信号Ｂがアサートされ、連続アクセスイネーブル信号Ｄがアサートされる。
アドレスデコーダ７は、アドレスバスＣ（の出力状態）とアドレスストローブ信号Ｂのアサートから（、アドレスバスＣへの出力内容が）ＳＤＲＡＭ４に対するアドレスであると認識すると有効アクセス信号Ｎをアサートする。
【０１２０】
タイミングｍ２において、ステートマシン８は有効アクセス信号Ｎのアサートを検出する。この際、ステートマシン８はステートＰが「ＮＥＸＴ＿ＷＡＩＴ」であり、ページビット信号Ｏを参照する。
この場合、入力されたアドレスが前回のアクセス時のアドレスと異なるページであるため、ページヒット信号Ｏはネゲートとなっており、ステートマシン８はステートＰを「ＰＲＥＣＨＡＲＧＥ」へ遷移させる。
【０１２１】
タイミングｍ３において、ステートデコーダ１０はステートＰが「ＰＲＥＣＨＡＲＧＥ」であることを検出し、ＳＤＲＡＭ制御信号Ｉへ「ＰＲＥ」コマンドを出力する。このタイミングｍ３で出力された「ＰＲＥ」コマンドは、タイミングｍ４においてＳＤＲＡＭ４に取り込まれ、これにより、ＳＤＲＡＭ４は「ＡＣＴＩＶＥ」コマンドで設定されたＲｏｗアドレスをクリアし、ＳＤＲＡＭ内部ステートマシンが「ＩＤＬＥ」状態となる。
【０１２２】
このタイミングｍ３において、ステートマシン８はステートＰをｔＲＰのサイクル分のウェイトを挿入するため、「ＰＲＥＣＨＡＲＧＥ」から「ｔＲＰ＿ＷＡＩＴ」へ遷移させる。
ｔＲＰのサイクル数経過後、ステートマシン８はステートＰを「ｔＲＰ＿ＷＡＩＴ」から「ＡＣＴＩＶＥ」へ遷移させる（タイミングｍ５）。
【０１２３】
タイミングｍ６において、ステートデコーダ１０はステートＰが「ＡＣＴＩＶＥ」であることを検出し、ＳＤＲＡＭ制御信号Ｉへ「ＡＣＴ」コマンドを出力する。このタイミングｍ６で出力された「ＡＣＴ」コマンドは、タイミングｍ７においてＳＤＲＡＭ４に取り込まれる。
【０１２４】
タイミングｍ７以降の動作は、図１６に示すタイムチャートのタイミングｉ４以降の動作と同様になる。タイミングｍ６において、連続アクセスイネーブル信号Ｄがアサートされていた場合には、以降の動作は図１７に示すタイムチャートのタイミングｊ３以降の動作と同様になる。
【０１２５】
〈具体例３の効果〉
上述具体例３によれば、書込み時にもデータ応答信号Ｅを設け、ステートデコーダ１０にアドレス応答信号Ｆに対してスレーブクロックＭの１サイクル分データ応答信号Ｅの出力タイミングを遅らせる機能を追加し、ステートマシン８に「ＳＬＡＶＥ＿ＡＣＫ」ステートを追加するようにしたので、周期が２倍のスレーブクロックＭからのＤＭＡライトアクセスに対して、スレーブクロックＭ、毎サイクルの書込みができるという効果が得られる。
【０１２６】
また、アドレス応答の後にデータ応答を行う動作により、アドレス値をライトコマンド発行時に参照し、ＳＤＲＡＭ４へ遅延して到達したコマンドデータ書込み時にデータが供給されることとなり、アドレス，データ共、ＳＤＲＡＭ制御部１内部へ保持する必要がなくなり、回路規模を小さくすることができる。
【０１２７】
更に、スレーブクロックＭ同期のＤＭＡデバイス１１内のＤＭＡコントローラからの転送速度を最大値にすることができるため、ＤＭＡデバイス１１等の低速クロックデバイスによるシステム全体のスループット低下を抑えることができるという効果が得られる。
【０１２８】
なお、上述具体例１〜３ではアクセスの種類（読出しアクセス、書込みアクセス）やホストデバイス（ターゲットデバイス５、ＤＭＡデバイス１１等）の種類により各々別個に説明したが、各具体例における動作毎にアクセスモード信号を用意することにより、混在したアクセスやホストデバイスの種類に対応することができる。
【０１２９】
また、具体例１ではＳＤＲＡＭ４に対する読出しアクセスについて説明したが、ＳＤＲＡＭ４をＳ（Synchronous）マスクＲＯＭ（ＳマスクＲＯＭ）に置き換えることにより、そのようなＲＯＭに対する読出しアクセスにも具体例１を適用することができる。
【０１３０】
更に、具体例３ではアドレス応答信号Ｆとデータ応答信号Ｅをスレーブクロック１サイクル分だけ遅延させて出力していたが、このアドレス応答信号Ｆとデータ応答信号Ｅを同一タイミングとしてもよい。これによれば、転送速度を低下させるがＳＤＲＡＭ４への書込みデータのセットアップ時間マージンを多くとることができる。
【図面の簡単な説明】
【図１】本発明方法の具体例１を示すブロック図である。
【図２】具体例１におけるステートマシンの状態遷移図である。
【図３】読出し位相合わせ対応を表にして示す図である。
【図４】具体例１の動作（ＳＤＲＡＭ初期状態からのシンプルリードアクセス）を説明するためのタイムチャートである。
【図５】具体例１の動作（ＳＤＲＡＭ初期状態からの連続リードアクセス）を説明するためのタイムチャートである。
【図６】具体例１の動作（ＳＤＲＡＭページヒット時のリードアクセス）を説明するためのタイムチャートである。
【図７】具体例１の動作（ＳＤＲＡＭページミスヒット時のリードアクセス）を説明するためのタイムチャートである。
【図８】本発明方法の具体例２を示すブロック図である。
【図９】具体例２におけるステートマシンの状態遷移図である。
【図１０】具体例２の動作（ＳＤＲＡＭ初期状態からのシンプルライトアクセス）を説明するためのタイムチャートである。
【図１１】具体例２の動作（ＳＤＲＡＭ初期状態からの連続ライトアクセス）を説明するためのタイムチャートである。
【図１２】具体例２の動作（ＳＤＲＡＭページヒット時のシンプルライトアクセス）を説明するためのタイムチャートである。
【図１３】具体例２の動作（ＳＤＲＡＭページミスヒット時のライトアクセス）を説明するためのタイムチャートである。
【図１４】本発明方法の具体例３を示すブロック図である。
【図１５】具体例３におけるステートマシンの状態遷移図である。
【図１６】具体例３の動作（ＳＤＲＡＭ初期状態からのシンプルライトアクセス）を説明するためのタイムチャートである。
【図１７】具体例３の動作（ＳＤＲＡＭ初期状態からの連続ライトアクセス）を説明するためのタイムチャートである。
【図１８】具体例３の動作（ＳＤＲＡＭページヒット時のシンプルライトアクセス）を説明するためのタイムチャートである。
【図１９】具体例３の動作（ＳＤＲＡＭページミスヒット時のライトアクセス）を説明するためのタイムチャートである。
【符号の説明】
１  ＳＤＲＡＭ制御部（SDRAM Controller）
２  ＤＭＡ制御部（DMA Controller）
３  ＳＤＲＡＭ制御ＬＳＩ３（SDRAM Control LSI）
４  ＳＤＲＡＭ（SDRAM）
５  ターゲットデバイス（Target Device）
６  クロック分周回路（Clock Divider）
７  アドレスデコーダ（Address Decoder）
８  ステートマシン（State Machine）
９  ステートシフタ（State Shifter）
１０  ステートデコーダ（State Decoder）
１１  ＤＭＡデバイス（DMA Device）
Ａ  マスタクロック（Master Clock）
Ｂ  アドレスストローブ信号（Address Storobe）
Ｃ  アドレスバス（Address Bus）
Ｄ  連続アクセスイネーブル信号（Burst Access）
Ｅ  データ応答信号（Data Acknowledge）
Ｆ  アドレス応答信号（Address Acknowledge）
Ｇ  データストローブ信号（Data Storobe）
Ｈ  データバス（Data Bus）
Ｉ  ＳＤＲＡＭ制御信号(SDRAM Control Signal)（ＳＤＲＡＭコマンド(SDRAM Command)，ＳＤＲＡＭイネーブル信号(SDRAM Chip Enable)）
Ｊ  クロックイネーブル信号（Clock Enable）
Ｋ  ＳＤＲＡＭアドレス（SDRAM Address）
Ｌ  ＳＤＲＡＭクロック（SDRAM Clock）
Ｍ  スレーブクロック（Slave Clock）
Ｎ  有効アクセス信号（Available Access）
Ｏ  ページヒット信号（Page Hit）
Ｐ  ステート（State Machine）
Ｑ  クロックサスペンド信号（Clock Suspend）
Ｒ  データストローブ信号（Data Storobe）
Ｓ  データ応答信号（Data Acknowledge）
Ｔ  データサスペンド信号（Data Suspend）
【図１】
0004398066.tif 000002
【図２】
0004398066.tif 000003
【図３】
0004398066.tif 000004
【図４】
0004398066.tif 000005
【図５】
0004398066.tif 000006
【図６】
0004398066.tif 000007
【図７】
0004398066.tif 000008
【図８】
0004398066.tif 000009
【図９】
0004398066.tif 000010
【図１０】
0004398066.tif 000011
【図１１】
0004398066.tif 000012
【図１２】
0004398066.tif 000013
【図１３】
0004398066.tif 000014
【図１４】
0004398066.tif 000015
【図１５】
0004398066.tif 000016
【図１６】
0004398066.tif 000017
【図１７】
0004398066.tif 000018
【図１８】
0004398066.tif 000019
【図１９】
0004398066.tif 000020