(57)【要約】【課題】ライト動作に係る外部の遅延を考える必要がなく、汎用性を持たせる。【解決手段】メモリとの間でデータストローブ信号ＤＱＳを送受する入出力回路１０と、入出力回路から入力するメモリリードに係るデータストローブ信号ＤＱＳが所定の回数の遷移を繰り返したことをデータリード数の情報を元に判断してマスク信号ＭＳをマスク状態とするリード制御回路２０と、メモリライトに係るデータストローブ出力要求信号ＤＱＳとマスク信号ＭＳとの時間的位置関係に基づいて、メモリライトに係るデータストローブ信号ＤＱＳを入出力回路１０から出力する送出タイミングを制御するライト制御回路３０と、を備える。【選択図】図１
2011022645.tif 000002
【特許請求の範囲】
【請求項１】
メモリとの間でデータストローブ信号を送受する入出力回路と、
前記入出力回路から入力するメモリリードに係るデータストローブ信号が所定の回数の遷移を繰り返したことをデータリード数の情報を元に判断してマスク信号をマスク状態とするリード制御回路と、
メモリライトに係るデータストローブ出力要求信号と前記マスク信号との時間的位置関係に基づいて、メモリライトに係るデータストローブ信号を前記入出力回路から出力する送出タイミングを制御するライト制御回路と、
を備えることを特徴とするメモリインタフェース制御回路。
【請求項２】
前記ライト制御回路は、
前記データストローブ出力要求信号が活性状態から非活性状態に遷移する第１のタイミングが、前記マスク信号がマスク状態からマスク解除状態に遷移する第２のタイミングより時間的に前であれば、前記メモリライトに係るデータストローブ信号を所定時間遅延させ、
前記第１のタイミングが前記第２のタイミングより時間的に後であれば、前記メモリライトに係るデータストローブ信号を遅延させることなく、そのまま出力するように制御することを特徴とする請求項１記載のメモリインタフェース制御回路。
【請求項３】
前記所定時間は、前記データストローブ信号の一周期に相当する時間であることを特徴とする請求項２記載のメモリインタフェース制御回路。
【請求項４】
前記ライト制御回路は、
前記データストローブ出力要求信号が活性状態となったことで前記メモリライトに係るデータストローブ信号を生成するデータストローブ信号生成回路と、
前記マスク信号がマスク解除状態にあるか否かに応じて、前記データストローブ信号生成回路が生成したデータストローブ信号の遅延を制御する出力タイミング調整回路と、
を備えることを特徴とする請求項２記載のメモリインタフェース制御回路。
【請求項５】
前記入出力回路の出力部は、トライステートバッファで構成され、
前記ライト制御回路は、前記データストローブ出力要求信号が活性状態となったことで前記トライステートバッファを制御するタイミング信号を生成する出力制御信号生成回路をさらに備え、
前記出力タイミング調整回路は、前記データストローブ信号生成回路が生成したデータストローブ信号を前記トライステートバッファから出力する際に前記トライステートバッファをアクティブとなるように前記タイミング信号によって制御することを特徴とする請求項４記載のメモリインタフェース制御回路。
【請求項６】
前記リード制御回路は、
メモリから出力されるデータストローブ信号のプリアンブルを検出するデータストローブ検出回路と、
前記データストローブ信号を前記マスク信号でマスク可能とするマスク回路と、
前記メモリに対するデータリード要求に係るデータリード数の情報を入力し、前記データストローブ信号が前記プリアンブルの後に所定の回数の遷移を繰り返したことを、該データリード数の情報を元に判断して前記マスク信号をマスク状態とするように制御するマスク制御回路と、
を備えることを特徴とする請求項１記載のメモリインタフェース制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリインタフェース制御回路に係り、特に、ＤＤＲ  ＳＤＲＡＭ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ  Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリとの間でデータを読み書きするためのメモリインタフェース制御回路に係る。
【背景技術】
【０００２】
ＩＴ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）技術の急速な進歩に伴って、伝送路におけるデータの伝送速度は、ますます高速化が進んでいる。その為、伝送路に接続される機器に搭載される電気回路は、大規模で高速処理を行う機能が求められており、ＤＤＲ  ＳＤＲＡＭを用いた回路設計が、頻繁に行われている。
【０００３】
ＤＤＲ  ＳＤＲＡＭでは、レシーバにデータを転送するタイミングを知らせるために、データストローブ信号（ＤＱＳ）を用いている。ＤＱＳは、双方向のストローブ信号であって、リード／ライト動作時にデータ入出力の動作基準クロックとして機能する。
【０００４】
ところで、一般にメモリリード制御回路とＤＤＲ  ＳＤＲＡＭとの間のデータ転送を考えると、外部の伝送遅延を考慮して、メモリリード制御回路における内部の回路を調整する設計になる。したがって、同じ回路構成であるにもかかわらず、アプリケーション毎にタイミングを考慮したカスタマイズ設計をおこなう必要が生じる。そこで、製品に応じたカスタマイズ設計を必要とせず、汎用性を持たせたＤＱＳのマスク動作を行うメモリリード制御回路が本願発明者によって創案されている（特許文献１参照）。
【０００５】
このようなメモリリード制御回路によれば、データストローブ信号が所定の回数の遷移を繰り返したことをデータリード数の情報を元に判断してマスク信号をマスク状態とする。したがって、データストローブ信号がデータリード数に因らず安定的にマスク制御される。この結果、製品毎に応じたカスタマイズ設計が不要となり汎用性を持たせた回路設計が可能になる
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−３７２８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以下の分析は本発明において与えられる。
【０００８】
特許文献１に記載のメモリリード制御回路は、連続リードコマンドにも対応し、汎用性を持たせた回路構成である。しかしながら、ライトモードにおけるデータストローブ信号に関し、リードモードからライトモードに切り替わる際、単なる切り替えでは、バスファイト（バス衝突、バス競合）が起こる可能性がある。このため、メモリからメモリリード制御回路へのＤＱＳの転送が終了後に、メモリライト制御回路からメモリへＤＱＳを転送するように、切り替わりの時間を考慮してライト側の回路を設計する必要がある。この切り替わりの時間は、外部の遅延等が影響するので、ライト側の制御回路について、個々に設計する必要が生じて、汎用性を欠くことになる。
【課題を解決するための手段】
【０００９】
本発明の１つのアスペクト（側面）に係るメモリインタフェース制御回路は、メモリとの間で送受されるデータストローブ信号の入出力回路と、入出力回路から入力するメモリリードに係るデータストローブ信号が所定の回数の遷移を繰り返したことをデータリード数の情報を元に判断してマスク信号をマスク状態とするリード制御回路と、メモリライトに係るデータストローブ出力要求信号とマスク信号との時間的位置関係に基づいて、メモリライトに係るデータストローブ信号を入出力回路から出力する送出タイミングを制御するライト制御回路と、を備える。
【発明の効果】
【００１０】
本発明によれば、データストローブ出力要求信号とマスク信号との時間的位置関係に基づいてデータストローブ信号の送出タイミングを制御するので、リードからライトへの切り替わりの際に、外部要因の遅延を考える必要がなくなる。そのため、汎用性を持たせた回路設計が可能になる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施例に係るメモリインタフェース制御回路の回路図である。
【図２】データストローブ信号生成回路の一例を示す回路図である。
【図３】出力制御信号生成回路の一例を示す回路図である。
【図４】本発明の実施例に係るメモリインタフェース制御回路の動作を表す第１のタイミングチャートである。
【図５】本発明の実施例に係るメモリインタフェース制御回路の動作を表す第２のタイミングチャートである。
【発明を実施するための形態】
【００１２】
本発明の実施形態に係るメモリインタフェース制御回路は、メモリとの間でデータストローブ信号（図１のＤＱＳ）を送受する入出力回路（図１の１０）と、入出力回路から入力するメモリリードに係るデータストローブ信号が所定の回数の遷移を繰り返したことをデータリード数の情報を元に判断してマスク信号（図１のＭＳ）をマスク状態とするリード制御回路（図１の２０）と、メモリライトに係るデータストローブ出力要求信号とマスク信号との時間的位置関係に基づいて、メモリライトに係るデータストローブ信号を入出力回路から出力する送出タイミングを制御するライト制御回路（図１の３０）と、を備える。
【００１３】
メモリインタフェース制御回路において、ライト制御回路は、データストローブ出力要求信号が活性状態から非活性状態に遷移する第１のタイミングが、マスク信号がマスク状態からマスク解除状態に遷移する第２のタイミングより時間的に前であれば、メモリライトに係るデータストローブ信号を所定時間遅延させ、第１のタイミングが第２のタイミングより時間的に後であれば、メモリライトに係るデータストローブ信号を遅延させることなく、そのまま出力するように制御するようにしてもよい。
【００１４】
メモリインタフェース制御回路において、所定時間は、データストローブ信号の一周期に相当する時間であってもよい。
【００１５】
メモリインタフェース制御回路において、ライト制御回路は、データストローブ出力要求信号が活性状態となったことでメモリライトに係るデータストローブ信号を生成するデータストローブ信号生成回路と、マスク信号がマスク解除状態にあるか否かに応じて、データストローブ信号生成回路が生成したデータストローブ信号の遅延を制御する出力タイミング調整回路と、を備えるようにしてもよい。
【００１６】
メモリインタフェース制御回路において、入出力回路の出力部は、トライステートバッファで構成され、ライト制御回路は、データストローブ出力要求信号が活性状態となったことでトライステートバッファを制御するタイミング信号を生成する出力制御信号生成回路をさらに備え、出力タイミング調整回路は、データストローブ信号生成回路が生成したデータストローブ信号をトライステートバッファから出力する際にトライステートバッファをアクティブとなるようにタイミング信号によって制御するようにしてもよい。
【００１７】
メモリインタフェース制御回路において、リード制御回路は、メモリから出力されるデータストローブ信号のプリアンブルを検出するデータストローブ検出回路と、データストローブ信号をマスク信号でマスク可能とするマスク回路と、メモリに対するデータリード要求に係るデータリード数の情報を入力し、データストローブ信号がプリアンブルの後に所定の回数の遷移を繰り返したことを、該データリード数の情報を元に判断してマスク信号をマスク状態とするように制御するマスク制御回路と、を備えるようにしてもよい。
【００１８】
以上のようなメモリインタフェース制御回路によれば、リード制御回路は、マスク信号をライト側へ出力することで、リード動作からライト動作への切り替わりタイミングをライト側に通知する。ライト制御回路は、ライト動作に切り替わった後、データストローブ信号を出力する際に、リード動作が完了しているか否かをマスク信号によって判断して、バスファイトの回避が可能となるように必要に応じて遅延を施したデータストローブ信号を出力する。したがって、ライト動作に係る外部の遅延を考える必要がなく、汎用性を持たせることが可能である。
【００１９】
以下、実施例に即し、図面を参照して詳しく説明する。
【実施例１】
【００２０】
図１は、本発明の実施例に係るメモリインタフェース制御回路の回路図である。図１において、メモリインタフェース制御回路は、図示されない外部（ユーザ回路）からクロック信号ＣＬＫ１と、クロック信号ＣＬＫ１に同期するリード要求／ライト要求に係るコマンド信号ＣＭＤＩを入力し、不図示のＤＤＲ  ＳＤＲＡＭ等のメモリにクロック信号ＣＫＯと、クロック信号ＣＫＯに同期するコマンド信号ＣＭＤＯとして出力する。また、メモリからコマンド信号ＣＭＤＯに対応して図示されないリードデータおよびリードデータのタイミングを示すデータストローブ信号ＤＱＳを入力する。さらに、図示されないライトデータおよびライトデータのタイミングを示すデータストローブ信号ＤＱＳをメモリに出力する。また、クロック信号ＣＬＫ１の倍速のクロック信号ＣＬＫ２、リセット信号ＲＳＴ、データストローブ信号ＤＱＳの継続長を示す信号ＤＱＳＩＥＮ、データストローブ出力要求信号ＤＱＯＥＮを入力する。メモリインタフェース制御回路は、入出力回路１０、リード制御回路２０、ライト制御回路３０を備える。
【００２１】
入出力回路１０は、メモリとの間でデータストローブ信号ＤＱＳを入出力する回路であって、一端を接地した抵抗素子Ｒ１、抵抗素子Ｒ１の他端に入力を接続するバッファ回路ＢＵＦ１、抵抗素子Ｒ１の他端に出力を接続するバッファ回路ＢＵＦ２を備える。バッファ回路ＢＵＦ１は、メモリ側からデータストローブ信号ＤＱＳを入力してバファリングし、リード制御回路２０に出力する。バッファ回路ＢＵＦ２は、トライステートバッファで構成され、イネーブル信号ＯＥＮがハイレベルの場合、ライト制御回路３０から出力されるデータストローブ信号ＤＱＳを入力してバファリングし、メモリ側に出力する。また、バッファ回路ＢＵＦ２は、イネーブル信号ＯＥＮがローレベルの場合、出力をハイインピーダンス状態とする。
【００２２】
リード制御回路２０は、アップダウンカウンタ１４、フリップフロップ回路ＦＦ１、ＦＦ２、ＦＦ３、ＡＮＤ回路ＡＮＤ１、ＡＮＤ２、ＡＮＤ３、ＯＲ回路ＯＲ１を備える。フリップフロップ回路ＦＦ１は、ユーザ回路から、データストローブ信号ＤＱＳの継続長を示す信号ＤＱＳＩＥＮを入力し、クロック信号ＣＬＫ１でリタイミングする。ＡＮＤ回路ＡＮＤ１は、フリップフロップ回路ＦＦ１の出力信号と、クロック信号ＣＬＫ１の否定論理との論理積をとり、アップダウンカウンタ１４のアップ信号入力端子Ｕｐに出力する。ＯＲ回路ＯＲ１は、２つの入力端をアップダウンカウンタ１４の出力端子ＯＵＴとフリップフロップ回路ＦＦ１の出力端子（Ｑ）とに接続し、双方の論理和を取ったマスク制御信号ＭＳＣをフリップフロップ回路ＦＦ２のセット端子（Ｓ）に出力する。
【００２３】
バッファ回路ＢＵＦ１は、入力端を抵抗素子Ｒ１を介して接地（プルダウン）すると共に、メモリからデータストローブ信号ＤＱＳを入力してフリップフロップ回路ＦＦ３のクロック入力端子およびＡＮＤ回路ＡＮＤ２の一方の入力端に出力する。フリップフロップ回路ＦＦ３は、Ｄ端子を電源（ハイレベル）に接続し、データストローブ信号ＤＱＳの立ち上がりで出力信号ＤＥＴをハイレベルとし、ＡＮＤ回路ＡＮＤ３の一方の入力端に出力する。
【００２４】
フリップフロップ回路ＦＦ２は、クロック入力端子にＡＮＤ回路ＡＮＤ２の出力を接続し、Ｄ端子を接地し、Ｑ端子からマスク信号ＭＳをＡＮＤ回路ＡＮＤ２の他方の入力端およびライト制御回路３０に出力する。ＡＮＤ回路ＡＮＤ２は、出力端をフリップフロップ回路ＦＦ２のクロック入力端子およびＡＮＤ回路ＡＮＤ３の他方の入力端に接続する。ＡＮＤ回路ＡＮＤ３は、出力をアップダウンカウンタ１４のダウン信号入力端子Ｄｏｗｎに接続する。リセット信号ＲＳＴは、フリップフロップ回路ＦＦ１、ＦＦ３のリセット端子（Ｒ）に供給される。
【００２５】
ライト制御回路３０は、データストローブ信号生成回路１１、出力制御信号生成回路１２、出力タイミング調整回路１３を備える。
【００２６】
次に、データストローブ信号生成回路１１の詳細について説明する。図２は、データストローブ信号生成回路の一例を示す回路図である。データストローブ信号生成回路１１は、フリップフロップ回路ＦＦ１１〜ＦＦ１３、ＡＮＤ回路ＡＮＤ４、インバータ回路ＩＮＶ１１を備える。ＡＮＤ回路ＡＮＤ４は、フリップフロップ回路ＦＦ１１の出力（Ｑ）をインバータ回路ＩＮＶ１１を介した信号とデータストローブ出力要求信号ＤＱＯＥＮとの論理積をフリップフロップ回路ＦＦ１１のＤ端子に出力する。フリップフロップ回路ＦＦ１１、ＦＦ１２は、それぞれの出力（Ｑ）をフリップフロップ回路ＦＦ１２、ＦＦ１３のそれぞれのＤ端子に接続し、フリップフロップ回路ＦＦ１３は、出力（Ｑ）からデータストローブ信号ＤＱＳ０を出力する。なお、フリップフロップ回路ＦＦ１１〜ＦＦ１３において、それぞれのクロック端子にクロック信号ＣＬＫ２が供給され、それぞれのリセット端子（Ｒ）にリセット信号ＲＳＴが供給される。
【００２７】
このような構成のデータストローブ信号生成回路１１は、リセット信号ＲＳＴでリセットされた後、データストローブ出力要求信号ＤＱＯＥＮをクロック信号ＣＬＫ２でリタイミングして遅延させ、ライト動作時のデータストローブ信号ＤＱＳの元となるデータストローブ信号ＤＱＳ０を生成し、出力タイミング調整回路１３に出力する。
【００２８】
次に、出力制御信号生成回路１２の詳細について説明する。図３は、出力制御信号生成回路の一例を示す回路図である。出力制御信号生成回路１２は、フリップフロップ回路ＦＦ１４〜ＦＦ１７、ＮＡＮＤ回路ＮＡＮＤ１、インバータ回路ＩＮＶ１２、ＯＲ回路ＯＲ２を備える。フリップフロップ回路ＦＦ１４は、Ｄ端子にデータストローブ出力要求信号ＤＱＯＥＮを入力し、出力（Ｑ）をフリップフロップ回路ＦＦ１５のＤ端子に接続する。フリップフロップ回路ＦＦ１５は、出力（Ｑ）をフリップフロップ回路ＦＦ１６のＤ端子に接続する。ＯＲ回路ＯＲ２は、フリップフロップ回路ＦＦ１４〜ＦＦ１６のそれぞれの出力（Ｑ）の論理和を求めてフリップフロップ回路ＦＦ１７のＤ端子に出力する。フリップフロップ回路ＦＦ１７は、出力（Ｑ）から出力要求信号Ｐｒｅ＿ＯＥＮを出力する。ＮＡＮＤ回路ＮＡＮＤ１は、フリップフロップ回路ＦＦ１６の出力（Ｑ）をインバータ回路ＩＮＶ１２で論理反転した信号とフリップフロップ回路ＦＦ１４の出力（Ｑ）との論理積を求め、論理積の論理反転した信号を微分信号ＤＩＦとして出力する。なお、フリップフロップ回路ＦＦ１４において、クロック端子にクロック信号ＣＬＫ１が供給され、リセット端子（Ｒ）にリセット信号ＲＳＴが供給される。また、フリップフロップ回路ＦＦ１５〜ＦＦ１７において、それぞれのクロック端子にクロック信号ＣＬＫ２が供給され、それぞれのリセット端子（Ｒ）にリセット信号ＲＳＴが供給される。
【００２９】
このような構成の出力制御信号生成回路１２は、リセット信号ＲＳＴでリセットされた後、データストローブ出力要求信号ＤＱＯＥＮをクロック信号ＣＬＫ１、ＣＬＫ２でリタイミングして遅延させ、イネーブル信号ＯＥＮの元となる出力要求信号Ｐｒｅ＿ＯＥＮおよび微分信号ＤＩＦを生成し、出力タイミング調整回路１３に出力する。
【００３０】
次に、出力タイミング調整回路１３の詳細について説明する。図１において、出力タイミング調整回路１３は、フリップフロップ回路ＦＦ４〜ＦＦ６、ＡＮＤ回路ＡＮＤ６、ＡＮＤ７、インバータ回路ＩＮＶ１、ＩＮＶ２、排他的論理和回路ＥＸＯＲ１、セレクタＳＥＬ１を備える。ＡＮＤ回路ＡＮＤ６は、マスク信号ＭＳをインバータ回路ＩＮＶ１で反転した信号ＭＳＢと、出力要求信号Ｐｒｅ＿ＯＥＮとの論理積であるイネーブル信号ＯＥＮをバッファ回路ＢＵＦ２の制御端およびＡＮＤ回路ＡＮＤ７の一方の入力端に出力する。フリップフロップ回路ＦＦ５は、出力（Ｑ）をインバータ回路ＩＮＶ２を介してＤ端子に入力し、セット端子（Ｓ）に微分信号ＤＩＦを入力し、さらに出力（Ｑ）をＡＮＤ回路ＡＮＤ７の他方の入力端および排他的論理和回路ＥＸＯＲ１の一方の入力端に接続する。排他的論理和回路ＥＸＯＲ１は、他方の入力端をＡＮＤ回路ＡＮＤ７の出力端に接続し、出力端をフリップフロップ回路ＦＦ６のクロック端子に接続する。フリップフロップ回路ＦＦ６は、Ｄ端子を電源（ハイレベル）に接続し、出力端をセレクタＳＥＬ１の制御端に接続する。セレクタＳＥＬ１は、データストローブ信号ＤＱＳ０か、データストローブ信号ＤＱＳ０をフリップフロップ回路ＦＦ４を介して遅延した信号かを、イネーブル信号ＯＥＮのレベルに応じて選択してバッファ回路ＢＵＦ２に出力する。なお、フリップフロップ回路ＦＦ４、ＦＦ５において、クロック端子にクロック信号ＣＬＫ２が供給される。また、フリップフロップ回路ＦＦ４、ＦＦ６において、リセット端子（Ｒ）にリセット信号ＲＳＴが供給される。
【００３１】
このような構成の出力タイミング調整回路１３は、リセット信号ＲＳＴでリセットされた後、データストローブ信号ＤＱＳ０、出力要求信号Ｐｒｅ＿ＯＥＮ、微分信号ＤＩＦ、マスク信号ＭＳ、クロック信号ＣＬＫ２を入力し、出力要求信号Ｐｒｅ＿ＯＥＮとマスク信号ＭＳとの時間的位置関係に基づいて、データストローブ信号ＤＱＳ０をバッファ回路ＢＵＦ２へ出力する送出タイミングを制御する。また、データストローブ信号ＤＱＳ０をバッファ回路ＢＵＦ２へ出力する際にはバッファ回路ＢＵＦ２をアクティブとなるようにイネーブル信号ＯＥＮをハイレベルとする。
【００３２】
次に、メモリインタフェース制御回路の動作について説明する。図４、図５は、本発明の実施例に係るメモリインタフェース制御回路の動作を表すタイミングチャートである。
【００３３】
図４、図５において、メモリインタフェース制御回路がリード動作の時には、ユーザ回路から、データストローブ信号ＤＱＳの長さを示す信号ＤＱＳＩＥＮを入力する。すなわち、信号ＤＱＳＩＥＮのハイレベルの区間は、入力するデータストローブ信号ＤＱＳのパルス数（ここではリードコマンド数に一致）に対応する長さに相当する。アップダウンカウンタ１４のＵＰ側で、信号ＤＱＳＩＥＮのハイレベルの区間をカウントするように、クロック信号ＣＬＫ１とフリップフロップ回路ＦＦ１の出力をＡＮＤ回路ＡＮＤ１で論理積をとり、アップダウンカウンタ１４は、データストローブ信号ＤＱＳのパルス数をクロック信号ＣＬＫ１から取り出して入力し、信号ＤＱＳＩＥＮのハイレベルの区間をカウントする。メモリからデータストローブ信号ＤＱＳを入力すると、データストローブ信号ＤＱＳがローレベルからハイレベルに立ち上がる最初のパルスで、フリップフロップ回路ＦＦ３がハイレベルに立ち上がり、アップダウンカウンタ１４のＤｏｗｎ側のカウントが始まる。
【００３４】
そして、信号ＤＱＳＩＥＮのハイレベルの区間をカウントした値から、データストローブ信号ＤＱＳを入力した数が引かれていく。その値が０でない間、信号ＭＳＣはハイレベルの状態であるため、フリップフロップ回路ＦＦ２にセットがかかりマスク信号ＭＳはハイレベルの状態となる。
【００３５】
その後、リード動作の終盤のデータストローブ信号ＤＱＳの最後のパルスを入力すると、アップダウンカウンタ１４の出力が０になり、フリップフロップ回路ＦＦ２のセットが解除され、データストローブ信号ＤＱＳの立ち下りにおいて、マスク信号ＭＳはローレベルになる。マスク信号ＭＳの反転信号ＭＳＢをＡＮＤ回路ＡＮＤ６に入力する。
【００３６】
メモリインタフェース制御回路がライト動作になると、ユーザ回路からデータストローブ出力要求信号ＤＱＯＥＮを入力し、データストローブ出力要求信号ＤＱＯＥＮからデータストローブ信号ＤＱＳ０とイネーブル信号ＯＥＮを作成する。この場合、データストローブ信号ＤＱＳ０に対し、１ビット分（クロック信号ＣＬＫ１の一周期分、すなわちデータストローブ信号ＤＱＳの一周期に相当する時間）遅らせるフリップフロップ回路ＦＦ４を用意する。セレクタＳＥＬ１は、データストローブ信号ＤＱＳ０をそのままか、１ビット分遅らせるかを切り替えるように動作する。
【００３７】
イネーブル信号ＯＥＮは、反転信号ＭＳＢと出力要求信号Ｐｒｅ＿ＯＥＮの論理積によって作られる。出力制御信号生成回路１２は、データストローブ出力要求信号ＤＱＯＥＮから微分信号ＤＩＦを作成し、出力タイミング調整回路１３は、微分信号ＤＩＦをフリップフロップ回路ＦＦ５のセット端子に入力し、セットが解除されている間だけクロック信号ＣＬＫ２でトグルさせ、パルスを作成し、このパスルとイネーブル信号ＯＥＮとの論理積をＡＮＤ回路ＡＮＤ７から出力する。排他的論理和回路ＥＸＯＲ１は、この論理積とフリップフロップ回路ＦＦ５の出力パルスの排他的論理をとる。
【００３８】
ここで、図４に示すように出力要求信号Ｐｒｅ＿ＯＥＮの立ち上がりのタイミングが、反転信号ＭＳＢの立ち上がりのタイミングの前であれば、排他的論理和回路ＥＸＯＲ１は、ハイレベルを出力する。そこで、フリップフロップ回路ＦＦ６の出力はハイレベルに立ち上がり、セレクタＳＥＬ１を１に切り替え、データストローブ信号ＤＱＳ０を１パルス遅らせ（移動させ）、バスファイトを回避する。
【００３９】
一方、図５に示すように出力要求信号Ｐｒｅ＿ＯＥＮの立ち上がりのタイミングが、反転信号ＭＳＢの立ち上がりのタイミングの後ろであれば、排他的論理和回路ＥＸＯＲ１はローレベルを出力する。そこで、フリップフロップ回路ＦＦ６もローレベル出力となり、セレクタＳＥＬ１を０に切り替え、データストローブ信号ＤＱＳ０を１ビット遅らせず（移動させず）とも、バスファイトは回避できると判断され、そのまま出力する。
【００４０】
以上のようにライト制御回路３０は、リード制御回路２０が生成するマスク信号ＭＳを受け取り、出力要求信号Ｐｒｅ＿ＯＥＮの立ち上がりが、マスク信号ＭＳの反転信号ＭＳＢの立ち上がりより前であれば、データストローブ信号ＤＱＳ０を１ビット遅らせ、出力要求信号Ｐｒｅ＿ＯＥＮの立ち上がりが反転信号ＭＳＢの立ち上がりより後であれば、データストローブ信号ＤＱＳ０を１ビット遅らせることなく、そのまま出力することで、バスファイトを回避させる。このようなライト制御回路３０を含むメモリインタフェース制御回路は、ライト動作に係る外部の遅延を考える必要がなく、汎用性を持たせることが可能である。
【００４１】
なお、前述の特許文献等の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００４２】
１０  入出力回路
１１  データストローブ信号生成回路
１２  出力制御信号生成回路
１３  出力タイミング調整回路
１４  アップダウンカウンタ
２０  リード制御回路
３０  ライト制御回路
ＡＮＤ１〜ＡＮＤ４、ＡＮＤ６、ＡＮＤ７  ＡＮＤ回路
ＢＵＦ１、ＢＵＦ２  バッファ回路
ＥＸＯＲ１  排他的論理和回路
ＦＦ１〜ＦＦ６、ＦＦ１１〜ＦＦ１７  フリップフロップ回路
ＩＮＶ１、ＩＮＶ２、ＩＮＶ１１、ＩＮＶ１２  インバータ回路
ＮＡＮＤ１  ＮＡＮＤ回路
ＯＲ１、ＯＲ２  ＯＲ回路
Ｒ１  抵抗素子
ＳＥＬ１  セレクタ
【図１】
2011022645.tif 000003
【図２】
2011022645.tif 000004
【図３】
2011022645.tif 000005
【図４】
2011022645.tif 000006
【図５】
2011022645.tif 000007