(57)【特許請求の範囲】
【請求項１】
同期クロックに同期してＣＰＵとメモリ装置とがデータ信号の送受信を行う場合において、前記ＣＰＵからの制御信号に基づいて前記データ信号の送受信における同期タイミングを制御するためのメモリ制御装置であって、
前記メモリ装置に前記データ信号の送受信を行うための複数の信号線からなるデータバスと、
前記ＣＰＵから受信した前記データ信号をラッチするデータラッチを有し、当該データラッチがラッチした前記データ信号を前記データバスの信号線に出力するためのデータ制御手段と、
前記データ制御手段に前記ラッチされたデータ信号を前記データバスに出力させるための信号と、前記データ制御手段が前記データバスに出力した前記データ信号を前記メモリ装置が取り込むための信号とを、前記ＣＰＵから受信した前記制御信号に基づいて発生し、その信号の出力を制御するメモリ制御信号発生手段とを備え、
前記データ制御手段は、前記データラッチの入力側に接続された信号線上を伝達される前記データ信号と、出力側に接続された信号線上を伝達される前記データ信号とを検出する検出手段を備え、
前記メモリ制御信号発生手段は、前記検出手段が検出した前記データラッチの入力側の前記データ信号の状態と、前記データラッチの出力側の前記データ信号の状態との比較を行い、比較した前記データラッチの入力側の前記データ信号の状態と、前記データラッチの出力側の前記データ信号の状態との比較結果に基づいて、前記データ制御手段のデータラッチがラッチした前記データ信号を、前記データバスの信号線に出力するための信号を出力するタイミングの制御を行うことを特徴とするメモリ制御装置。
【請求項２】
同期クロックに同期してＣＰＵとメモリ装置とがデータ信号の送受信を行う場合において、前記ＣＰＵからの制御信号に基づいて前記データ信号の送受信における同期タイミングを制御するためのメモリ制御装置であって、
前記メモリ装置に前記データ信号の送受信を行うための複数の信号線からなるデータバスと、
前記ＣＰＵから受信した前記データ信号をラッチするデータラッチを有し、当該データラッチがラッチした前記データ信号を前記データバスの信号線に出力するためのデータ制御手段と、
前記データ制御手段に前記ラッチされたデータ信号を前記データバスに出力させるための信号と、前記データ制御手段が前記データバスに出力した前記データ信号を前記メモリ装置が取り込むための信号とを、前記ＣＰＵから受信した前記制御信号に基づいて発生し、その信号の出力を制御するメモリ制御信号発生手段とを備え、
前記データ制御手段は、前記データラッチの入力側に接続された信号線上を伝達される前記データ信号と、出力側に接続された信号線上を伝達される前記データ信号とを検出する検出手段を備え、
前記メモリ制御信号発生手段は、前記検出手段が検出した前記データラッチの入力側の前記データ信号の状態と、前記データラッチの出力側の前記データ信号の状態との比較を行い、比較した前記データラッチの入力側の前記データ信号の状態と、前記データラッチの出力側の前記データ信号の状態との比較結果に基づいて、前記メモリ装置が前記データ信号を前記データバスから取り込むための信号を出力するタイミングの制御を行うことを特徴とするメモリ制御装置。
【請求項３】
前記データラッチが前記ＣＰＵから入力された前記データ信号をラッチし、前記メモリ制御信号発生手段から出力される信号に基づいて前記データラッチが出力したデータ信号と、このデータ信号を前記データバスに出力するためのタイミングを制御するために前記メモリ制御信号発生手段から出力される信号とが入力されるバッファを備え、
前記メモリ制御信号発生手段から出力されるとともに、前記バッファが前記データバスに前記データを出力するためのタイミングを制御するための信号が、前記データラッチから出力される前記ラッチされたデータ信号より遅いタイミングで前記バッファに入力されるように、前記メモリ制御信号発生手段が発生する信号の出力のタイミングを制御することを特徴とする請求項１又は２に記載のメモリ制御装置。
【請求項４】
前記データラッチが前記ＣＰＵから入力された前記データ信号をラッチし、前記メモリ制御信号発生手段から出力される信号に基づいて前記データラッチが出力したデータ信号と、このデータ信号を前記データバスに出力するためのタイミングを制御するために前記メモリ制御信号発生手段から出力される信号とが入力されるバッファを備え、
前記データラッチから出力される前記ラッチされたデータ信号が、前記メモリ制御信号発生手段から出力されるとともに前記バッファが前記データバスに前記データを出力するためのタイミングを制御するための信号より遅いタイミングで前記バッファに入力されるように、前記メモリ制御信号発生手段が発生する信号の出力のタイミングを制御することを特徴とする請求項１又は２に記載のメモリ制御装置。
【請求項５】
前記データラッチが前記ＣＰＵから入力された前記データ信号をラッチし、前記メモリ制御信号発生手段から出力される信号に基づいて前記データラッチが出力したデータ信号と、このデータ信号を前記データバスに出力するためのタイミングを制御するために前記メモリ制御信号発生手段から出力される信号とが入力されるバッファを備え、
前記データラッチが前記ラッチしたデータ信号を出力させるための前記メモリ制御信号発生手段が出力する信号と、前記メモリ制御信号発生手段から出力されるとともに前記バッファが前記データバスに前記データを出力するためのタイミングを制御するための信号とが同期クロックの同一のタイミングで出力されるように前記メモリ制御信号発生手段が制御を行う場合に、そのタイミングより少なくとも同期クロックの１周期分遅い同期タイミングで、前記バッファから前記データバスに出力されたデータ信号を前記メモリ装置が前記データバスから取り込むタイミングを制御するための信号が前記メモリ制御信号発生手段から出力されることを特徴とする請求項１又は２に記載のメモリ制御装置。
【請求項６】
前記データラッチが前記ＣＰＵから入力された前記データ信号をラッチし、前記メモリ制御信号発生手段から出力される信号に基づいて前記データラッチが出力したデータ信号と、このデータ信号を前記データバスに出力するためのタイミングを制御するために前記メモリ制御信号発生手段から出力される信号とが入力されるバッファを備え、
前記データラッチが前記ラッチしたデータ信号を出力させるための前記メモリ制御信号発生手段が出力する信号と、前記メモリ制御信号発生手段から出力されるとともに前記バッファが前記データバスに前記データを出力するためのタイミングを制御するための信号と、前記バッファから前記データバスに出力されたデータ信号を前記メモリ装置が前記データバスから取り込むタイミングを制御するための信号とが、同期クロックの同一のタイミングで前記メモリ制御信号発生手段から出力された場合、同期クロックの２周期分以後のタイミングまで、前記メモリ装置が前記データバスから取り込むタイミングを制御するための信号が継続して出力されることを特徴とする請求項１又は２に記載のメモリ制御装置。
【請求項７】
前記メモリ制御信号発生手段が比較した前記データラッチの入力側の前記データ信号の状態と、前記データラッチの出力側の前記データ信号の状態との比較結果に基づいて、前記２つのデータ信号の状態が異なる場合にのみ、前記メモリ装置が前記データ信号を前記データバスから取り込むタイミングの制御を行うことを特徴とする請求項２乃至６の何れかに記載のメモリ制御装置。
【請求項８】
前記メモリ制御信号発生手段が比較した前記データラッチの入力側の前記データ信号の状態と、前記データラッチの出力側の前記データ信号の状態との比較結果に基づいて、前記データラッチの入力側の前記データ信号の電位が、前記データラッチの出力側の前記データ信号の電位より低い場合にのみ、前記メモリ装置が前記データ信号を前記データバスから取り込むタイミングの制御を行うことを特徴とする請求項２乃至６の何れかに記載のメモリ制御装置。
【請求項９】
同期クロックの１回の同期タイミングで前記ＣＰＵが前記メモリ装置に複数のデータ信号を送信する場合に、前記メモリ制御信号発生手段が比較した複数の前記データラッチの入力側の前記データ信号の状態と、対応するそれぞれの、前記データラッチの出力側の前記データ信号の状態とのそれぞれの比較結果に基づいて、複数ある比較した２つのデータ信号の状態のうち、１つでも状態が異なる場合があった場合にのみ、前記メモリ装置が前記データ信号を前記データバスから取り込むタイミングの制御を行うことを特徴とする請求項２乃至６の何れかに記載のメモリ制御装置。
【請求項１０】
同期クロックの１回の同期タイミングで前記ＣＰＵが前記メモリ装置に複数のデータ信号を送信する場合に、前記メモリ制御信号発生手段が比較した複数の前記データラッチの入力側の前記データ信号の状態と、対応するそれぞれの、前記データラッチの出力側の前記データ信号の状態とのそれぞれの比較結果に基づいて、複数ある比較した２つのデータ信号の状態のうち、１つでも、前記データラッチの入力側の前記データ信号の電位が、前記データラッチの出力側の前記データ信号の電位より低い場合があった場合にのみ、前記メモリ装置が前記データ信号を前記データバスから取り込むタイミングの制御を行うことを特徴とする請求項２乃至６の何れかに記載のメモリ制御装置。
【請求項１１】
同期クロックに同期してＣＰＵとメモリ装置とがデータ信号の送受信を行う場合において、前記ＣＰＵからの制御信号に基づいて前記データ信号の送受信における同期タイミングを制御するためのメモリ制御装置であって、
前記メモリ装置に前記データ信号の送受信を行うための複数の信号線からなるデータバスと、
前記ＣＰＵから受信した前記データ信号をラッチするデータラッチを有し、当該データラッチの入力側に接続された信号線上を伝達される前記データ信号と、出力側に接続された信号線上を伝達される前記データ信号とを検出する検出手段を有するデータ制御手段と、
前記データラッチにラッチされたデータ信号であって、前記データ制御手段が出力するデータ信号であるデータアウト信号を、前記データバスに出力するタイミングを制御するバッファと、
前記データラッチが前記ラッチしたデータ信号を出力するタイミングを制御するための信号であるストローブ信号と、前記バッファが前記データバスにデータアウト信号を出力するタイミングを制御するための信号であるデータイネーブル信号と、前記メモリ装置が前記バッファから出力された前記データ信号を前記データバスから取り込むタイミングを制御するための信号であるライトイネーブル信号とを発生し、その信号の出力を制御するメモリ制御信号発生手段と
を備え、
前記メモリ制御信号発生手段は、同期クロックの同期タイミングにおいて、前記データ制御手段の前記検出手段が検出した前記データラッチの入力側の前記データ信号の状態と、前記データラッチの出力側の前記データアウト信号の状態とを比較し、前記データラッチの入力側の前記データ信号の状態と、前記データラッチの出力側の前記データアウト信号の状態とが異なる場合にのみ、出力する前記ストローブ信号と前記データイネーブル信号と前記ライトイネーブル信号との各信号のうち、前記データイネーブル信号と前記ライトイネーブル信号とを同期クロックの１周期分遅いタイミングに出力することを特徴とするメモリ制御装置。
【請求項１２】
同期クロックに同期してＣＰＵとメモリ装置とがデータ信号の送受信を行う場合において、前記ＣＰＵからの制御信号に基づいて前記データ信号の送受信における同期タイミングを制御するためのメモリ制御装置であって、
前記メモリ装置に前記データ信号の送受信を行うための複数の信号線からなるデータバスと、
前記ＣＰＵから受信した前記データ信号をラッチするデータラッチを有し、当該データラッチの入力側に接続された信号線上を伝達される前記データ信号と、出力側に接続された信号線上を伝達される前記データ信号とを検出する検出手段を有するデータ制御手段と、
前記データラッチにラッチされたデータ信号であって、前記データ制御手段が出力するデータ信号であるデータアウト信号を、前記データバスに出力するタイミングを制御するバッファと、
前記データラッチが前記ラッチしたデータ信号を出力するタイミングを制御するための信号であるストローブ信号と、前記バッファが前記データバスにデータアウト信号を出力するタイミングを制御するための信号であるデータイネーブル信号と、前記メモリ装置が前記バッファから出力された前記データ信号を前記データバスから取り込むタイミングを制御するための信号であるライトイネーブル信号とを発生し、その信号の出力を制御するメモリ制御信号発生手段と
を備え、
前記メモリ制御信号発生手段は、同期クロックの同期タイミングにおいて、前記データ制御手段の前記検出手段が検出した前記データラッチの入力側の前記データ信号の状態と、前記データラッチの出力側の前記データアウト信号の状態とを比較し、前記データラッチの入力側の前記データ信号の電位が、前記データラッチの出力側の前記データアウト信号の電位より低い場合にのみ、出力する前記ストローブ信号と前記データイネーブル信号と前記ライトイネーブル信号との各信号のうち、前記データイネーブル信号と前記ライトイネーブル信号とを同期クロックの１周期分遅いタイミングに出力することを特徴とするメモリ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＰＵとデータの送受信を行うメモリ装置に対し、同期クロックに同期して送信されるデータ信号の送信タイミングを制御する制御信号を遅延させることで、データ信号の状態遷移に起因して送信時に生ずる反射波の影響を受けないようにすることのできるメモリ制御装置に関する。
【０００２】
【従来の技術】
近年、携帯電話、プリンタ、スキャナ等の機器では、ＡＳＩＣ（Application Specific Integrated Circuit）と呼ばれるカスタムＩＣを装備して、小型化、高性能化、高品質化を実現している。ＡＳＩＣは、特定の使用目的に特化するように種々の基本回路を組み合わせて構成されたＩＣであり、機器の制御回路の主要部分をワンチップで実現できるという手軽さがある。従来のプリンタ装置では、制御を司るＣＰＵと、そのＣＰＵとデータ信号の送受信を行うメモリ装置との間でのデータ信号の送受信の制御に、このＡＳＩＣが利用されている。
【０００３】
一方、クロックに同期して動作するＤＲＡＭ（Dynamic Random Access Memory）、例えばＳＤＲＡＭ（Synchronous DRAM）やＤＤＲ  ＳＤＲＡＭ（Double Data Rate SDRAM）等を搭載したメモリ装置では、同期クロックに基づいたデータ信号の送受信が行われる。このメモリ装置を制御するため、ＡＳＩＣとメモリ装置を接続するデータバスにデータ信号を出力する場合の制御には、出力にするか入力にするかの制御を行うためのハイレベル（以下、「Ｈ」という。）またはローレベル（以下、「Ｌ」という。）の状態の信号であるデータ・イネーブル信号（以下、「data_enable」という。）と、出力する場合のデータ信号としてのＨまたはＬの状態の信号であるデータ・アウト信号（以下、「data_out」という。）とが用いられる。そして、これらＡＳＩＣやメモリ装置では、同期クロックの立ち上がりのタイミングで、送受信や記憶等のデータ信号の処理が行われるようになっている。
【０００４】
ところで、ＡＳＩＣ内部には、data_enableの状態がＨである場合にのみデータバスにdata_outを出力する、いわゆる３ステート出力を行うバッファが設けられており、それぞれの信号の出力元からそのバッファまでのＡＳＩＣ内部での配線距離は必ずしも同じではない。この配線距離の差に起因して、バッファに伝達されるdata_enableとdata_outの各信号のタイミングには若干の遅延が生ずる。data_enableがdata_outより早いタイミングでバッファに伝達されればよいが、そうでない場合には、data_outの出力前後の状態によって、バッファからメモリ装置に対して出力される場合のデータ信号（以下、「data」とする。）に悪影響が及ぶ場合がある。
【０００５】
すなわち、ＡＳＩＣからメモリ装置に送出されたdataは、その伝送経路と、終端であるメモリ装置との間のインピーダンスが異なることに起因し、このインピーダンスの変化点において信号がすべて伝わらずに反射して戻り、さらにＡＳＩＣ側で同じように反射してまたメモリ装置に向かう場合に、バッファから出力されるdata_outの信号と合成されメモリ装置に伝達される。そして、この反射された信号が減衰するまでＡＳＩＣからメモリ装置に伝達される信号が安定しない。この反射による影響は、data_outの状態の変化の状況によって顕著となる場合がある。
【０００６】
以下、図面を参照して説明する。図８は、同期クロックの周波数が低い場合のdata_enableとdata_outの関係を示すタイミングチャートである。図９は、同期クロックの周波数が速い場合のdata_enableとdata_outの関係を示すタイミングチャートである。尚、例えば３．３Ｖの電圧で駆動されるメモリ装置では、約０ＶをＬの状態、約３．３ＶをＨの状態として処理されるが、その間の、例えば０．８〜２Ｖの状態はどちらとも判断されない状態となる。このタイミングチャートにおいて、ＨとＬの間の遷移状態の中間位置付近を、ＨもしくはＬに切り替わるしきい値であるとする。
【０００７】
前述したように、ＡＳＩＣやメモリ装置では、一定周期で交互にＨとＬとの状態が繰り返される同期クロック信号（以下、「clk」という。）に同期して、各制御が行われる。尚、メモリ装置では、ＡＳＩＣから出力されたデータ信号に基づくデータについて、記憶するかしないかの状態としてのＨまたはＬの信号であるライト・イネーブル信号（以下、「we#」という。）に従って記憶が行われる。この記憶動作では、clkの状態がＬからＨに遷移した場合、すなわち立ち上がり時に、we#の状態がＬであれば、ＡＳＩＣからメモリ装置に伝達されるdataに基づく状態がデータとして、メモリ装置に記憶されるようになっている。例えば、dataの状態がＨであれば「１」が記憶され、Ｌであれば「０」が記憶される。
【０００８】
例えば、メモリ装置に「１」を記憶させた次のサイクルで「０」を記憶させる場合、ＡＳＩＣではclkに同期したＬの状態のdataがメモリ装置に伝達されるように制御を行う。図８に示すように、まず、Ｔ０タイミングでは、data_enableの状態がＬであるのでバッファは入力状態となっており、この場合、data_outの状態はＴ０以前の処理（図示外）によってＨであるが、バッファからは出力されない。そして、Ｔ１タイミング付近でclkの状態がＬからＨに遷移するタイミングに同期して、ＡＳＩＣからメモリ装置へのデータ送信処理がＴ２タイミングより開始される。しかし、ＡＳＩＣ内部での信号伝達の遅延によってdata_enableとdata_outとがバッファに伝達されるタイミングにズレが生じ、data_enableの状態がＴ２〜Ｔ４タイミングにかけてＬからＨに遷移されるのに対し、data_outの状態はＴ４タイミングにおいて遷移が開始される。
【０００９】
dataは、バッファからdata_outが出力されていない場合にはハイインピーダンス状態であり、メモリ装置はその状態を認識できない。Ｔ３タイミング付近において、data_enableの状態がＬからＨに切り替わるとバッファが出力状態となり、この時点からdata_outの状態がバッファより出力される。このＴ３タイミングではdata_outの状態はＨなので、メモリ装置に伝達されるdataの状態は、基板負荷等の影響で、これより少し遅いタイミングのＴ４タイミングからＨに遷移され始める。そして、Ｔ５タイミングでdata_outの状態がＨからＬに切り替わると、dataの状態も少し遅いタイミングのＴ７タイミングで、Ｌに遷移され始める。
【００１０】
data_enableの状態はＴ４タイミング以降Ｈに、data_outの状態はＴ６タイミング以降Ｌに維持されるので、メモリ装置に伝達されるdataの状態もＬへの遷移が継続され、Ｔ８タイミング付近で一時的にＬの状態となるが、Ｔ７タイミングにおいてＨの状態としてメモリ装置に伝達されたdataが、ＡＳＩＣとインピーダンスの異なるメモリ装置によって反射されＡＳＩＣに戻り、バッファから出力されるdata_outと合成され、またメモリ装置に送出される。そして、メモリ装置に伝達されるdataは、その合成波がＴ９タイミングでピーク値をとる。次いでＴ１０タイミングでdataの状態はＬとなり、以降は無視できる程度の反射の影響しか受けないので、バッファに入力されるdata_outの状態であるＬがdataとしてメモリ装置に伝達される。
【００１１】
そして、Ｔ１１〜Ｔ１２タイミングでclkの状態がＬに遷移され、Ｔ１３〜Ｔ１５タイミングで再びＨに遷移される。この２周期目のclkの立ち上がりのＴ１４タイミング付近で、メモリ装置において伝達されたデータ信号に基づくデータの記憶処理が行われる。ところで、we#の状態はＴ２〜Ｔ４タイミングにおいてＨからＬに遷移されており、Ｔ１４タイミングでもＬが維持されている。メモリ装置は、このＴ１４タイミングでwe#の状態がＬであるので、このタイミングにおけるdataの状態を参照して、それに基づくデータを記憶する。この場合、dataの状態がＬであるので、メモリ装置には「０」が記憶される。
【００１２】
次に、Ｔ１５〜Ｔ１７タイミングにおいてdata_enableの状態がＨからＬに遷移されるが、Ｔ１６タイミングにおいてＨからＬに切り替わると、バッファからの出力が終了するので、それより少し遅いタイミングのＴ１７タイミングからdataの状態がＬからハイインピーダンス状態に遷移され、dataは無効となる。
【００１３】
【発明が解決しようとする課題】
しかしながら、近年のＡＳＩＣの高性能化によって、同期クロックの周波数があがり、単位当たりの処理時間が短くなり、ＡＳＩＣ内部での信号伝達の遅延が無視できなくなっていた。図９に示すように、図８の場合と比べclkの周期が短い場合に前記と同様のメモリ制御が行われた場合、clkの２周期目の立ち上がりであるＴ０タイミングにおいて、we#の状態がＬなので、伝達されたデータ信号に基づくデータの記憶を行うためにdataの状態が参照されるが、このタイミングのdataは、前述した反射された信号と合成された状態であって、まだ完全にＬに遷移されていない。従って、メモリ装置はdataの状態がＨまたはＬのいずれなのか認識できず、いわゆるデータの書き込みエラーが発生する。このために、例えばＡＳＩＣとのインピーダンスの差が小さい、すなわち反射が比較的小さいメモリ装置でなければ動作が不安定となる、いわゆる相性の良否という問題があった。
【００１４】
本発明は、上記課題を解決するためになされたものであり、ＣＰＵとデータの送受信を行うメモリ装置に対し、同期クロックに同期してメモリ装置に送信されるデータ信号の送信タイミングの制御信号を遅延させることで、データ信号の状態遷移に起因して送信時に生ずる反射波の影響を受けないメモリ制御装置を提供することを目的とする。
【００１５】
【課題を解決するための手段】
上記課題を解決するために、請求項１に係る発明のメモリ制御装置は、同期クロックに同期してＣＰＵとメモリ装置とがデータ信号の送受信を行う場合において、前記ＣＰＵからの制御信号に基づいて前記データ信号の送受信における同期タイミングを制御するためのメモリ制御装置であって、前記メモリ装置に前記データ信号の送受信を行うための複数の信号線からなるデータバスと、前記ＣＰＵから受信した前記データ信号をラッチするデータラッチを有し、当該データラッチがラッチした前記データ信号を前記データバスの信号線に出力するためのデータ制御手段と、前記データ制御手段に前記ラッチされたデータ信号を前記データバスに出力させるための信号と、前記データ制御手段が前記データバスに出力した前記データ信号を前記メモリ装置が取り込むための信号とを、前記ＣＰＵから受信した前記制御信号に基づいて発生し、その信号の出力を制御するメモリ制御信号発生手段とを備え、前記データ制御手段は、前記データラッチの入力側に接続された信号線上を伝達される前記データ信号と、出力側に接続された信号線上を伝達される前記データ信号とを検出する検出手段を備え、前記メモリ制御信号発生手段は、前記検出手段が検出した前記データラッチの入力側の前記データ信号の状態と、前記データラッチの出力側の前記データ信号の状態との比較を行い、比較した前記データラッチの入力側の前記データ信号の状態と、前記データラッチの出力側の前記データ信号の状態との比較結果に基づいて、前記データ制御手段のデータラッチがラッチした前記データ信号を、前記データバスの信号線に出力するための信号を出力するタイミングの制御を行うことを特徴とする構成となっている。
【００１６】
この構成のメモリ制御装置では、メモリ制御信号発生手段が、ＣＰＵから受信した制御信号に基づいて、データ制御手段にラッチされたデータ信号をデータバスに出力させるための信号と、データ制御手段がデータバスに出力したデータ信号をメモリ装置が取り込むための信号とを発生し、且つ、メモリ制御信号発生手段は、データ制御手段の検出手段が検出したデータラッチの入力側のデータ信号の状態と、データラッチの出力側のデータ信号の状態との比較を行い、比較したデータラッチの入力側のデータ信号の状態と、データラッチの出力側のデータ信号の状態との比較結果に基づいて、データ制御手段のデータラッチがＣＰＵから受信してラッチしたデータ信号を、データバスの信号線に出力するための信号を出力するタイミングの制御を行うことができる。
【００１７】
また、請求項２に係る発明のメモリ制御装置は、同期クロックに同期してＣＰＵとメモリ装置とがデータ信号の送受信を行う場合において、前記ＣＰＵからの制御信号に基づいて前記データ信号の送受信における同期タイミングを制御するためのメモリ制御装置であって、前記メモリ装置に前記データ信号の送受信を行うための複数の信号線からなるデータバスと、前記ＣＰＵから受信した前記データ信号をラッチするデータラッチを有し、当該データラッチがラッチした前記データ信号を前記データバスの信号線に出力するためのデータ制御手段と、前記データ制御手段に前記ラッチされたデータ信号を前記データバスに出力させるための信号と、前記データ制御手段が前記データバスに出力した前記データ信号を前記メモリ装置が取り込むための信号とを、前記ＣＰＵから受信した前記制御信号に基づいて発生し、その信号の出力を制御するメモリ制御信号発生手段とを備え、前記データ制御手段は、前記データラッチの入力側に接続された信号線上を伝達される前記データ信号と、出力側に接続された信号線上を伝達される前記データ信号とを検出する検出手段を備え、前記メモリ制御信号発生手段は、前記検出手段が検出した前記データラッチの入力側の前記データ信号の状態と、前記データラッチの出力側の前記データ信号の状態との比較を行い、比較した前記データラッチの入力側の前記データ信号の状態と、前記データラッチの出力側の前記データ信号の状態との比較結果に基づいて、前記メモリ装置が前記データ信号を前記データバスから取り込むための信号を出力するタイミングの制御を行うことを特徴とする構成となっている。
【００１８】
この構成のメモリ制御装置では、メモリ制御信号発生手段が、ＣＰＵから受信した制御信号に基づいて、データ制御手段にラッチされたデータ信号をデータバスに出力させるための信号と、データ制御手段がデータバスに出力したデータ信号をメモリ装置が取り込むための信号とを発生し、且つ、メモリ制御信号発生手段は、データ制御手段の検出手段が検出したデータラッチの入力側のデータ信号の状態と、データラッチの出力側のデータ信号の状態との比較を行い、比較したデータラッチの入力側のデータ信号の状態と、データラッチの出力側のデータ信号の状態との比較結果に基づいて、メモリ装置がデータ信号をデータバスから取り込むための信号を出力するタイミングの制御を行うことができる。
【００１９】
【００２０】
【００２１】
【００２２】
【００２３】
また、請求項３に係る発明のメモリ制御装置は、請求項１又は２に記載の発明の構成に加え、前記データラッチが前記ＣＰＵから入力された前記データ信号をラッチし、前記メモリ制御信号発生手段から出力される信号に基づいて前記データラッチが出力したデータ信号と、このデータ信号を前記データバスに出力するためのタイミングを制御するために前記メモリ制御信号発生手段から出力される信号とが入力されるバッファを備え、前記メモリ制御信号発生手段から出力されるとともに、前記バッファが前記データバスに前記データを出力するためのタイミングを制御するための信号が、前記データラッチから出力される前記ラッチされたデータ信号より遅いタイミングで前記バッファに入力されるように、前記メモリ制御信号発生手段が発生する信号の出力のタイミングを制御することを特徴とする構成となっている。
【００２４】
この構成のメモリ制御装置では、請求項１又は２に係る発明の作用に加え、メモリ制御信号発生手段が発生する信号であって、バッファがデータバスにデータを出力するためのタイミングを制御するための信号が、データラッチから出力されるラッチされたデータ信号より遅いタイミングでバッファに入力されるように、メモリ制御信号発生手段は、この信号の出力のタイミングを制御することができる。
【００２５】
また、請求項４に係る発明のメモリ制御装置は、請求項１又は２に記載の発明の構成に加え、前記データラッチが前記ＣＰＵから入力された前記データ信号をラッチし、前記メモリ制御信号発生手段から出力される信号に基づいて前記データラッチが出力したデータ信号と、このデータ信号を前記データバスに出力するためのタイミングを制御するために前記メモリ制御信号発生手段から出力される信号とが入力されるバッファを備え、前記データラッチから出力される前記ラッチされたデータ信号が、前記メモリ制御信号発生手段から出力されるとともに前記バッファが前記データバスに前記データを出力するためのタイミングを制御するための信号より遅いタイミングで前記バッファに入力されるように、前記メモリ制御信号発生手段が発生する信号の出力のタイミングを制御することを特徴とする構成となっている。
【００２６】
この構成のメモリ制御装置では、請求項１又は２に係る発明の作用に加え、データラッチから出力されるラッチされたデータ信号が、メモリ制御信号発生手段が出力する信号であって、バッファがデータバスにデータを出力するためのタイミングを制御するための信号より遅いタイミングでバッファに入力されるように、メモリ制御信号発生手段は、この信号の出力のタイミングを制御することができる。
【００２７】
また、請求項５に係る発明のメモリ制御装置は、請求項１又は２に記載の発明の構成に加え、前記データラッチが前記ＣＰＵから入力された前記データ信号をラッチし、前記メモリ制御信号発生手段から出力される信号に基づいて前記データラッチが出力したデータ信号と、このデータ信号を前記データバスに出力するためのタイミングを制御するために前記メモリ制御信号発生手段から出力される信号とが入力されるバッファを備え、前記データラッチが前記ラッチしたデータ信号を出力させるための前記メモリ制御信号発生手段が出力する信号と、前記メモリ制御信号発生手段から出力されるとともに前記バッファが前記データバスに前記データを出力するためのタイミングを制御するための信号とが同期クロックの同一のタイミングで出力されるように前記メモリ制御信号発生手段が制御を行う場合に、そのタイミングより少なくとも同期クロックの１周期分遅い同期タイミングで、前記バッファから前記データバスに出力されたデータ信号を前記メモリ装置が前記データバスから取り込むタイミングを制御するための信号が前記メモリ制御信号発生手段から出力されることを特徴とする構成となっている。
【００２８】
この構成のメモリ制御装置では、請求項１又は２に係る発明の作用に加え、メモリ制御信号発生手段が、データラッチがラッチしたデータ信号を出力させるための信号と、バッファがデータバスにデータを出力するためのタイミングを制御するための信号とを同期クロックの同一のタイミングに出力するように制御を行う場合に、そのタイミングより少なくとも同期クロックの１周期分遅い同期タイミングで、バッファからデータバスに出力されたデータ信号をメモリ装置がデータバスから取り込むタイミングを制御するための信号を出力することができる。
【００２９】
また、請求項６に係る発明のメモリ制御装置は、請求項１又は２に記載の発明の構成に加え、前記データラッチが前記ＣＰＵから入力された前記データ信号をラッチし、前記メモリ制御信号発生手段から出力される信号に基づいて前記データラッチが出力したデータ信号と、このデータ信号を前記データバスに出力するためのタイミングを制御するために前記メモリ制御信号発生手段から出力される信号とが入力されるバッファを備え、前記データラッチが前記ラッチしたデータ信号を出力させるための前記メモリ制御信号発生手段が出力する信号と、前記メモリ制御信号発生手段から出力されるとともに前記バッファが前記データバスに前記データを出力するためのタイミングを制御するための信号と、前記バッファから前記データバスに出力されたデータ信号を前記メモリ装置が前記データバスから取り込むタイミングを制御するための信号とが、同期クロックの同一のタイミングで前記メモリ制御信号発生手段から出力された場合、同期クロックの２周期分以後のタイミングまで、前記メモリ装置が前記データバスから取り込むタイミングを制御するための信号が継続して出力されることを特徴とする構成となっている。
【００３０】
この構成のメモリ制御装置では、請求項１又は２に係る発明の作用に加え、メモリ制御信号発生手段が、データラッチがラッチしたデータ信号を出力させるための信号と、バッファがデータバスにデータを出力するためのタイミングを制御するための信号と、バッファからデータバスに出力されたデータ信号をメモリ装置がデータバスから取り込むタイミングを制御するための信号とを同期クロックの同一のタイミングで出力した場合、同期クロックの２周期分以後のタイミングまで、メモリ装置がデータバスから取り込むタイミングを制御するための信号を継続して出力することができる。
【００３１】
また、請求項７に係る発明のメモリ制御装置は、請求項２乃至６の何れかに記載の発明の構成に加え、前記メモリ制御信号発生手段が比較した前記データラッチの入力側の前記データ信号の状態と、前記データラッチの出力側の前記データ信号の状態との比較結果に基づいて、前記２つのデータ信号の状態が異なる場合にのみ、前記メモリ装置が前記データ信号を前記データバスから取り込むタイミングの制御を行うことを特徴とする構成となっている。
【００３２】
この構成のメモリ制御装置では、請求項２乃至６の何れかに係る発明の作用に加え、メモリ装置は、メモリ制御信号発生手段が比較したデータラッチの入力側のデータ信号の状態と、データラッチの出力側のデータ信号の状態との比較結果に基づいて、２つのデータ信号の状態が異なる場合にのみ、データ信号をデータバスから取り込むタイミングの制御を行うことができる。
【００３３】
また、請求項８に係る発明のメモリ制御装置は、請求項２乃至６の何れかに記載の発明の構成に加え、前記メモリ制御信号発生手段が比較した前記データラッチの入力側の前記データ信号の状態と、前記データラッチの出力側の前記データ信号の状態との比較結果に基づいて、前記データラッチの入力側の前記データ信号の電位が、前記データラッチの出力側の前記データ信号の電位より低い場合にのみ、前記メモリ装置が前記データ信号を前記データバスから取り込むタイミングの制御を行うことを特徴とする構成となっている。
【００３４】
この構成のメモリ制御装置では、請求項２乃至６の何れかに係る発明の作用に加え、メモリ制御信号発生手段が、データラッチの入力側のデータ信号の状態と、データラッチの出力側のデータ信号の状態とを比較し、データラッチの入力側のデータ信号の電位がデータラッチの出力側のデータ信号の電位より低い場合にのみ、メモリ装置が、データ信号をデータバスから取り込むタイミングの制御を行うことができる。
【００３５】
また、請求項９に係る発明のメモリ制御装置は、請求項２乃至６の何れかに記載の発明の構成に加え、同期クロックの１回の同期タイミングで前記ＣＰＵが前記メモリ装置に複数のデータ信号を送信する場合に、前記メモリ制御信号発生手段が比較した複数の前記データラッチの入力側の前記データ信号の状態と、対応するそれぞれの、前記データラッチの出力側の前記データ信号の状態とのそれぞれの比較結果に基づいて、複数ある比較した２つのデータ信号の状態のうち、１つでも状態が異なる場合があった場合にのみ、前記メモリ装置が前記データ信号を前記データバスから取り込むタイミングの制御を行うことを特徴とする構成となっている。
【００３６】
この構成のメモリ制御装置では、請求項２乃至６の何れかに係る発明の作用に加え、同期クロックの１回の同期タイミングでＣＰＵがメモリ装置に複数のデータ信号を送信する場合に、メモリ制御信号発生手段が、複数のデータラッチの入力側のデータ信号の状態と、そのそれぞれに対応するデータラッチの出力側のデータ信号の状態とを比較し、複数ある比較した２つのデータ信号の状態のうち、１つでも状態が異なる場合があった場合にのみ、メモリ装置が、データ信号をデータバスから取り込むタイミングの制御を行うことができる。
【００３７】
また、請求項１０に係る発明のメモリ制御装置は、請求項２乃至６の何れかに記載の発明の構成に加え、同期クロックの１回の同期タイミングで前記ＣＰＵが前記メモリ装置に複数のデータ信号を送信する場合に、前記メモリ制御信号発生手段が比較した複数の前記データラッチの入力側の前記データ信号の状態と、対応するそれぞれの、前記データラッチの出力側の前記データ信号の状態とのそれぞれの比較結果に基づいて、複数ある比較した２つのデータ信号の状態のうち、１つでも、前記データラッチの入力側の前記データ信号の電位が、前記データラッチの出力側の前記データ信号の電位より低い場合があった場合にのみ、前記メモリ装置が前記データ信号を前記データバスから取り込むタイミングの制御を行うことを特徴とする構成となっている。
【００３８】
この構成のメモリ制御装置では、請求項２乃至６の何れかに係る発明の作用に加え、同期クロックの１回の同期タイミングでＣＰＵがメモリ装置に複数のデータ信号を送信する場合に、メモリ制御信号発生手段が、複数のデータラッチの入力側のデータ信号の状態と、そのそれぞれに対応するデータラッチの出力側のデータ信号の状態とを比較し、複数ある比較した２つのデータ信号の状態のうち、１つでも、データラッチの入力側のデータ信号の電位がデータラッチの出力側のデータ信号の電位より低い場合があった場合にのみ、メモリ装置が、データ信号をデータバスから取り込むタイミングの制御を行うことができる。
【００３９】
また、請求項１１に係る発明のメモリ制御装置は、同期クロックに同期してＣＰＵとメモリ装置とがデータ信号の送受信を行う場合において、前記ＣＰＵからの制御信号に基づいて前記データ信号の送受信における同期タイミングを制御するためのメモリ制御装置であって、前記メモリ装置に前記データ信号の送受信を行うための複数の信号線からなるデータバスと、前記ＣＰＵから受信した前記データ信号をラッチするデータラッチを有し、当該データラッチの入力側に接続された信号線上を伝達される前記データ信号と、出力側に接続された信号線上を伝達される前記データ信号とを検出する検出手段を有するデータ制御手段と、前記データラッチにラッチされたデータ信号であって、前記データ制御手段が出力するデータ信号であるデータアウト信号を、前記データバスに出力するタイミングを制御するバッファと、前記データラッチが前記ラッチしたデータ信号を出力するタイミングを制御するための信号であるストローブ信号と、前記バッファが前記データバスにデータアウト信号を出力するタイミングを制御するための信号であるデータイネーブル信号と、前記メモリ装置が前記バッファから出力された前記データ信号を前記データバスから取り込むタイミングを制御するための信号であるライトイネーブル信号とを発生し、その信号の出力を制御するメモリ制御信号発生手段とを備え、前記メモリ制御信号発生手段は、同期クロックの同期タイミングにおいて、前記データ制御手段の前記検出手段が検出した前記データラッチの入力側の前記データ信号の状態と、前記データラッチの出力側の前記データアウト信号の状態とを比較し、前記データラッチの入力側の前記データ信号の状態と、前記データラッチの出力側の前記データアウト信号の状態とが異なる場合にのみ、出力する前記ストローブ信号と前記データイネーブル信号と前記ライトイネーブル信号との各信号のうち、前記データイネーブル信号と前記ライトイネーブル信号とを同期クロックの１周期分遅いタイミングに出力することを特徴とする構成となっている。
【００４０】
この構成のメモリ制御装置では、メモリ制御信号発生手段が、同期クロックの同期タイミングにおいて、データ制御手段の検出手段が検出したデータラッチの入力側のデータ信号の状態と、データラッチの出力側のデータアウト信号の状態とを比較し、データラッチの入力側のデータ信号の状態と、データラッチの出力側のデータアウト信号の状態とが異なる場合にのみ、出力するストローブ信号とデータイネーブル信号とライトイネーブル信号との各信号のうち、データイネーブル信号とライトイネーブル信号とを同期クロックの１周期分遅いタイミングに出力することができる。
【００４１】
また、請求項１２に係る発明のメモリ制御装置は、同期クロックに同期してＣＰＵとメモリ装置とがデータ信号の送受信を行う場合において、前記ＣＰＵからの制御信号に基づいて前記データ信号の送受信における同期タイミングを制御するためのメモリ制御装置であって、前記メモリ装置に前記データ信号の送受信を行うための複数の信号線からなるデータバスと、前記ＣＰＵから受信した前記データ信号をラッチするデータラッチを有し、当該データラッチの入力側に接続された信号線上を伝達される前記データ信号と、出力側に接続された信号線上を伝達される前記データ信号とを検出する検出手段を有するデータ制御手段と、前記データラッチにラッチされたデータ信号であって、前記データ制御手段が出力するデータ信号であるデータアウト信号を、前記データバスに出力するタイミングを制御するバッファと、前記データラッチが前記ラッチしたデータ信号を出力するタイミングを制御するための信号であるストローブ信号と、前記バッファが前記データバスにデータアウト信号を出力するタイミングを制御するための信号であるデータイネーブル信号と、前記メモリ装置が前記バッファから出力された前記データ信号を前記データバスから取り込むタイミングを制御するための信号であるライトイネーブル信号とを発生し、その信号の出力を制御するメモリ制御信号発生手段とを備え、前記メモリ制御信号発生手段は、同期クロックの同期タイミングにおいて、前記データ制御手段の前記検出手段が検出した前記データラッチの入力側の前記データ信号の状態と、前記データラッチの出力側の前記データアウト信号の状態とを比較し、前記データラッチの入力側の前記データ信号の電位が、前記データラッチの出力側の前記データアウト信号の電位より低い場合にのみ、出力する前記ストローブ信号と前記データイネーブル信号と前記ライトイネーブル信号との各信号のうち、前記データイネーブル信号と前記ライトイネーブル信号とを同期クロックの１周期分遅いタイミングに出力することを特徴とする構成となっている。
【００４２】
この構成のメモリ制御装置では、メモリ制御信号発生手段が、同期クロックの同期タイミングにおいて、データ制御手段の検出手段が検出したデータラッチの入力側のデータ信号の状態と、データラッチの出力側のデータアウト信号の状態とを比較し、データラッチの入力側のデータ信号の電位が、データラッチの出力側のデータアウト信号の電位より低い場合にのみ、出力するストローブ信号とデータイネーブル信号とライトイネーブル信号との各信号のうち、データイネーブル信号とライトイネーブル信号とを同期クロックの１周期分遅いタイミングに出力することができる。
【００４３】
【発明の実施の形態】
以下、本発明の一実施の形態について、図１，図２を参照して説明する。図１は、ＡＳＩＣ１とＤＩＭＭ１６，１７との接続を示すブロック図である。図２は、バッファ７ｂの出力を示す真理値表である。
【００４４】
図１に示すように、ＣＰＵ１０とデータ信号の送受信を行うメモリ装置としてのＤＩＭＭ１６，１７は、ＡＳＩＣ１によってそのデータ信号の送受信の制御が行われている。ＡＳＩＣ１は、その内部にデータ制御回路３とメモリ制御信号発生回路４とから構成されたメモリ制御回路２を有する。データ制御回路３は、ＣＰＵ１０とＤＩＭＭ１６，１７とデータ信号が送受信を行う場合に一時的にデータ信号をラッチして、その送受信の同期タイミングを図るための回路である。データ制御回路３はＣＰＵ１０に双方向接続され、ＣＰＵ１０がＤＩＭＭ１６，１７にデータ信号の出力を行う場合にデータ信号を一時的にラッチするデータラッチ５と、ＣＰＵから出力されてデータラッチ５に入力されるデータ信号と、データラッチ５からＤＩＭＭ１６，１７に出力されるデータ信号とのそれぞれを分岐させて受信するための検出回路６とが設けられている。尚、データ制御回路３が、本発明における「データ制御手段」であり、メモリ制御信号発生回路４が、本発明における「メモリ制御信号発生手段」であり、検出回路６が、本発明における「検出手段」である。
【００４５】
また、メモリ制御信号発生回路４は、ＣＰＵ１０に双方向接続され、各接続したデータ制御回路５、バッファ７、ＤＩＭＭ１６，１７等を制御するための各制御信号を発生する。また、データ制御回路３の検出回路６に接続され、検出回路６が検出したデータ信号を受信する。
【００４６】
バッファ７は、メモリ制御回路２とデータバス１５を介して接続されたＤＩＭＭ１６，１７との間でデータ信号の送受信のタイミングを調整するためにＡＳＩＣ内に設けられた双方向のバッファである。バッファ７は、ＤＩＭＭ１６，１７から出力されたデータ信号（data_in）をデータ制御回路３に入力するためのバッファ７ａと、データ制御回路３より出力されるデータ信号（data_out）をＤＩＭＭ１６，１７に対して出力するバッファ７ｂとで構成される。また、バッファ７ｂには、メモリ制御信号発生回路４に接続され、制御信号（data_enable）を受信する。尚、バッファ７ｂが、本発明における「バッファ」である。
【００４７】
ここで、図２に示すように、バッファ７ｂから出力されるdataは、２本の入力信号であるdata_enable，data_outによって３通りの状態を有する。data_enableの状態がＬである場合、data_outの状態にかかわらず、dataはハイインピーダンス状態（Hi-Z）となる。このハイインピーダンス状態では、バッファ７ｂからの出力が無効な状態となり、バッファ７ａへの入力が有効となる。また、data_enableの状態がＨである場合、data_outがバッファ７ｂよりそのまま出力される。すなわち、data_outの状態がＬの場合はdataの状態もＬに、data_outの状態がＨの場合はdataの状態もＨとなる。
【００４８】
ＤＩＭＭ１６，１７は、例えばＳＤＲＡＭ等のクロック同期式のＤＲＡＭを複数搭載した１６８ピンの端子を有するＤＩＭＭ（Dual Inline Memory Module）であり、ＤＲＡＭは、電荷を蓄えることで記憶を行う複数のコンデンサからなるセル構造を有する。そして、このそれぞれのセルにアクセスするための各信号、すなわちロー・アドレス・ストローブ信号（ras#），カラム・アドレス・ストローブ信号（cas#），アドレス信号（address）や、データの記憶を行うためのwe#等の制御信号が、ＡＳＩＣ１のメモリ制御信号発生回路４から伝達されるようになっている。尚、この各制御信号用の信号線は、それぞれのＤＩＭＭ１６，１７において各１種類ずつ接続され、同一種類の信号線は両ＤＩＭＭ１６，１７間で共用されている。
【００４９】
また、データバス１５は、ＡＳＩＣ１とＤＩＭＭ１６，１７とを接続し、データ信号の送受信を行うためのバスである。尚、ＣＰＵ１０、ＡＳＩＣ１およびＤＩＭＭ１６，１７では、発振器１１が発生する同期クロック信号clkを基準として、それぞれの制御が行われるようになっている。
【００５０】
次に、本実施の形態のメモリ制御回路２の動作について、図１，図３を参照して説明する。図３は、メモリ制御回路２において、data_outの状態変化に基づいてＤＩＭＭ１６，１７への出力が遅延される様子を示すタイミングチャートである。本発明に係るメモリ制御回路２では、ＣＰＵ１０から入力したデータ信号を、その状態の変化の有無に基づいて遅延させ、ＤＩＭＭ１６，１７に出力する制御を行っている。ＤＩＭＭ１６，１７はそれぞれ６４本のデータ入力端子を有しており、ＣＰＵ１０からＤＩＭＭ１６，１７へは、同時に複数のデータ信号の送信が行われる。この遅延制御は、同じタイミングで制御されるデータ信号のうち１つでも該当した場合にのみ行われる。尚、図３においては、例として（ａ），（ｂ）の２つのデータにおける遅延制御について説明する。
【００５１】
図３に示すように、ＤＩＭＭ１６，１７にデータを記憶させる場合、ＣＰＵ１０は、clkの立ち上がりのタイミングに同期して（Ｔ０タイミング）、ＡＳＩＣ１に対して第１サイクルのデータ信号と制御信号（ライト開始信号）を送信する（Ｔ１タイミング）。ＡＳＩＣ１のデータ制御回路３はデータ信号を受信し、データラッチ５にラッチする。そして、ＣＰＵ１０からのライト開始信号の状態がＴ１〜Ｔ２タイミングにかけてＬからＨとなり、２周期目のclkの立ち上がりのタイミングにおいて（Ｔ３タイミング）、メモリ制御信号発生回路４では、ライト開始信号の状態がＨであるので、データラッチ５に対するストローブ信号と、バッファ７ｂに対するdata_enableと、ＤＩＭＭ１６，１７に対するwe#を発生する。
【００５２】
尚、ストローブ信号とdata_enableの状態は正論理であるので、通常状態ではＬとなっており、Ｈとなった場合がバッファ７ｂに信号を出力する状態である。また、we#は負論理であるので、その状態は、通常状態はＨ、信号を出力する状態がＬとなる。
【００５３】
また、データ制御回路３の検出回路６は、このＴ３タイミングにおいて、データラッチ５の上流側（ＣＰＵ１０側）と下流側（バッファ７ｂ側）の信号線の状態を、メモリ制御信号発生回路４に送信する。データラッチ５の上流の信号線の状態は、ＣＰＵ１０から送信され、このＴ３タイミングにおいてデータラッチ５にラッチされているデータ信号の状態（ＨまたはＬ）であり、下流側の信号線の状態は、clkの１周期前のタイミングにおいてdata_outとして出力されていた信号の状態（ＨまたはＬ）である。
【００５４】
そして、メモリ制御信号発生回路４は、この検出回路６から伝達された２つの信号の比較を行い、状態の変化がない場合、すなわち、ともにＨまたはＬである場合は、Ｔ３タイミングにおいて発生するdata_enableとwe#とを、それぞれバッファ７ｂとＤＩＭＭ１６，１７とに出力する。また、検出回路６から伝達された２つの信号の状態に変化がある場合、すなわち、一方がＨで他方がＬである場合は、Ｔ３タイミングにおいて発生するdata_enableとwe#と、clkの１周期分遅らせて出力させる制御を行う。
【００５５】
具体的には、検出回路６からの２つの信号の排他的論理和（ExclusiveＯＲ）をとり、これと負論理であるwe#との論理和(ＯＲ)がＤＩＭＭ１６，１７に出力される制御が、このＴ３タイミングで行われる。同様に、正論理であるdata_enableに対しては、検出回路６からの２つの信号の排他的論理和の否定（ＮＯＴ）をとり、これとdata_enableとの論理積（ＡＮＤ）がバッファ７ｂに出力される。
【００５６】
ＣＰＵ１０から送信された２つのデータ信号は、一方（（ａ）側）の状態がＬ、他方（（ｂ）側）の状態がＨであり、Ｔ０タイミング以前に制御されたデータ信号の状態がともにＨであった場合、Ｔ３タイミングにおいて検出回路６からメモリ制御信号発生回路４に入力されるの２つの信号の状態が異なるので、このタイミングでdata_enableとwe#とは出力されない。従って、メモリ制御信号発生回路４からはデータラッチ５に対するストローブ信号のみが出力され、データラッチ５にラッチされている２つのデータ信号が、data_out（ａ），data_out（ｂ）としてバッファ７ｂに対して出力される。
【００５７】
次に、Ｔ４〜Ｔ５タイミングで、data_out（ａ）の状態がＨからＬに遷移する。data_out（ｂ）の状態については、Ｈのままである。そして、２周期目のclkの立ち上がりのタイミングで（Ｔ６タイミング）、データラッチ５の上流側と下流側との信号線の状態が、検出回路６からメモリ制御信号発生回路４に、再度、伝達される。このとき、ＣＰＵ１０から次のデータ信号の送信が行われていないので、データラッチ５の上流側の状態は、Ｔ３タイミングの場合と同じ状態が維持されている。しかし、データラッチ５の下流側は、Ｔ３タイミングにメモリ制御信号発生回路４から出力されたストローブ信号によって、ラッチされていたデータ信号が出力されているので、上流側と同じ状態となる。すると、メモリ制御信号発生回路４は、data_enableとwe#とをそれぞれバッファ７ｂとＤＩＭＭ１６，１７とに送信することができる。
【００５８】
メモリ制御信号発生回路４は、Ｔ７タイミングでdata_enable，we#を送信し、それぞれの信号はＴ８タイミングまでには遷移が完了する。また、メモリ制御信号発生回路４は、これら信号の送信と同時に、ＣＰＵ１０に対してライト終了信号を送信する。
【００５９】
そして、data_enableがＨの状態になると、バッファ７ｂがハイインピーダンス状態でなくなるので、data_out（ａ）はdata（ａ）として、また、data_out（ｂ）はdata（ｂ）として、バッファ７ｂからデータバス１５にそれぞれ出力される。さらに、clkの３周期目の立ち上がりのタイミングであるＴ１０タイミングにおいて、ＤＩＭＭ１６，１７ではwe#の状態がＬであるので、前述したように、このタイミングにおけるdataの状態を参照して、それに基づくデータを記憶する。この場合、data（ａ）の状態はＬであるので、ras#，cas#，addressによって指定されたＳＤＲＡＭのセルには「０」が記憶される。また、data（ｂ）の状態はＨであるので、同様に、ＳＤＲＡＭの対応するセルに「１」が記憶される。そして、we#，data_enable，ライト終了信号は、clkの１周期の間遷移され、Ｔ１０〜Ｔ１１タイミングにはもとのアクティブでない状態にそれぞれ遷移される。すなわち、we#の状態はＨに、data_enableの状態はＬに、ライト信号の状態はＬに遷移される。
【００６０】
一方、Ｔ７タイミングでメモリ制御信号発生回路４からＣＰＵ１０に送信されたライト終了信号の状態は、Ｔ８タイミングでＨに遷移しており、clkの立ち下がりのタイミングのＴ９タイミングでＣＰＵ１０に認識される。ＣＰＵ１０は、送信したデータ信号の制御が完了したと判断し、clkの立ち上がりのタイミングのＴ１０タイミングで、第２サイクルのデータの転送を開始する。そして、Ｔ１０〜Ｔ１３タイミングの間、Ｔ０〜Ｔ３タイミングと同様の制御が行われる。
【００６１】
次に、Ｔ１３タイミングで、第２サイクルにおけるclkの２周期目の立ち上がりのタイミングで、Ｔ３タイミングと同様に、検出回路６からの検出結果がメモリ制御信号発生回路４に出力される。第２サイクルで、ＣＰＵ１０が（ａ）側にＬの状態のデータ信号を、また、（ｂ）側にＨの状態のデータ信号を送信する場合、このＴ１３タイミングにおいて、データラッチ５の下流側の信号線の状態は第１サイクルで制御された状態が維持されており、すなわち、data_out（ａ）の信号線の状態はＬであり、data_out（ｂ）の信号線の状態はＨである。そして、データラッチ５の上流側の信号線の状態は、Ｔ１０タイミングでＣＰＵ１０から出力された状態、すなわち、（ａ）側がＬ、（ｂ）側がＨとなっている。
【００６２】
そして、メモリ制御信号発生回路４で前述した検出結果の比較が行われると、（ａ）側、（ｂ）側の信号ともに同一であり、状態の変化がないので、Ｔ１４タイミングにおいてwe#、data_enableおよびストローブ信号が出力される。同時にＣＰＵ１０に対してもライト終了信号が出力される。以降Ｔ１４〜Ｔ１７タイミングの間、Ｔ７〜Ｔ１０タイミングと同様の制御が行われる。
【００６３】
次に、図４を参照して、遅延制御が行われた場合のdataの状態の変化について説明する。図４は、メモリ制御回路２において、data_outの状態変化に基づいてＤＩＭＭ１６，１７への出力が遅延される様子を示すタイミングチャートである。
【００６４】
図４に示す、Ｔ１，Ｔ３，Ｔ４，Ｔ８，Ｔ９，Ｔ１１，Ｔ１３，Ｔ１４，Ｔ１６タイミングは、それぞれ図３に示すＴ３，Ｔ４，Ｔ５，Ｔ６，Ｔ７，Ｔ８，Ｔ１０，Ｔ１１，Ｔ１２タイミングに相当し、それぞれのタイミングにおける各信号に対する制御は、前述の通りである。
【００６５】
例えば、ＤＩＭＭ１６，１７に「１」を記憶させた次のサイクルで「０」を記憶させる場合、Ｔ０タイミング以前の制御でdata_outの状態がＨとなっており、Ｔ０〜Ｔ２タイミングでclkの状態がＬからＨに遷移され、その立ち上がりのタイミングのＴ１タイミングで、データラッチ５の上流側のと下流側の各信号線の状態が、検出回路６によってメモリ制御信号発生回路４に出力されて比較される。
【００６６】
データラッチ５の上流側の信号線の状態はＨであり、下流側の信号線の状態はＬであるので、メモリ制御信号発生回路４では変化ありと判断してwe#とdata_enableとを出力しない。しかし、データラッチ５に対するストローブ信号は出力するので、データラッチ５はラッチしているデータ信号を出力する（Ｔ３タイミング）。そしてＴ４タイミングでデータラッチ５からバッファ７ｂに出力されるdata_outの状態はＬに遷移するが、このタイミングではまだdata_enableがＬの状態であるので、dataは出力がない状態、すなわちハイインピーダンス状態である。
【００６７】
clkの状態は、Ｔ５〜Ｔ６タイミングでＨからＬに遷移し、Ｔ７〜Ｔ９タイミングでＬからＨに遷移して２周期目となる。clkの立ち上がりのＴ８タイミングで、今度はデータラッチ５の上流側と下流側との信号線の状態がともにＬとなっているので、Ｔ９タイミングで、we#とdata_enableとがメモリ制御信号発生回路４より出力される。そして、Ｔ９〜Ｔ１１タイミングにかけて、we#とdata_enableとはそれぞれアクティブな状態（we#：Ｌ、data_enable：Ｈ）に遷移されるが、data_enableの立ち上がりのタイミング、すなわちＴ１０タイミングで、バッファ７ｂがハイインピーダンス状態でなくなるので、dataが出力されることとなる。
【００６８】
Ｔ１０タイミングにおいて、data_outの状態は、すでにＨからＬへの遷移が完了しているので、バッファ７ｂから出力されるdataの状態は、Ｌに遷移する。そして、Ｔ１２〜Ｔ１４タイミングでclkの状態がＬからＨに遷移され、その間のＴ１３タイミングにおけるclkの３周期目の立ち上がりのタイミングで、we#の状態がＬであることに基づいて、前述したように、このタイミングにおけるdataの状態が参照されて、それに基づくデータ、すなわち「０」がＤＩＭＭ１６，１７に記憶される。そして、we#とdata_enableとはＴ１４〜Ｔ１６タイミングで非アクティブな状態に遷移され、これにともなってdataはＴ１５タイミング以降、ハイインピーダンス状態に遷移する。
【００６９】
以上説明したように、本実施の形態のメモリ制御装置は、あるサイクルにおいてＣＰＵ１０がＤＩＭＭ１６，１７にデータの記憶を行う場合に、データ制御回路３において検出した前のサイクルのデータ信号の状態とこのサイクルのデータ信号の状態とをメモリ制御信号発生回路４で比較し、その結果、複数あるデータ信号のうち、１つでも状態が異なるデータ信号があれば、clkの１周期分遅らせたタイミングにwe#とdata_enableとを出力させることで、先に出力されるdata_outの状態の遷移が完了した後にバッファ７ｂからのdataの出力を行わせることができる。このとき、dataの状態はハイインピーダンス状態からＬまたはＨに直接遷移されるので、従来の技術で説明したように、一瞬だけ逆の状態に遷移することで遷移の変化量が大きくなり、反射の影響が顕著となる状況を回避することができる。また、複数あるデータ信号のうち、状態の異なるデータ信号が１つもなければ、遅延制御を行わないことで、そのサイクルのデータ制御は、遅延制御を行う場合と比べ、clkの１周期分、速く完了させることができる。
【００７０】
尚、本発明は、各種の変形が可能なことはいうまでもない。例えば、データラッチ５の上流側と下流側との信号線の状態の比較を行う場合において、ＬからＨに遷移する場合よりＨからＬに遷移する場合の反射の影響の方が顕著に現れるので、ＨからＬに遷移する場合にのみ遅延制御を行うことで、遅延制御を行う場合を減らしてパフォーマンスの低下の防止を図ってもよい。この場合には、データラッチ５の上流側の信号線の状態と、下流側の信号線の状態の否定（ＮＯＴ）との論理積（ＡＮＤ）をとり、この結果を前述の排他的論理和（ExclusiveＯＲ）の代わりとすることで実現できる。また、ＣＰＵ１０から出力されるすべてのデータ信号について、その１つでも状態が異なるデータ信号があれば遅延制御を行うとしたが、ＣＰＵ１０から出力されるデータ信号をいくつかのグループに分け、そのグループ内で１つでも遅延するデータ信号があれば、そのグループについてのみ遅延制御を行うようにしてもよい。
【００７１】
また、we#とdata_outとだけを遅延させてもよい。図５のタイミングチャートに示すように、前記と同様な遅延制御を行う場合、最初のclkの立ち上がりのタイミング（Ｔ０タイミング）では、メモリ制御信号発生回路４が出力するストローブ信号とwe#とdata_enableとの制御信号のうち、data_enableのみを出力させ、clkの２周期目の立ち上がりのタイミング（Ｔ１タイミング）でストローブ信号とwe#とを出力させることで、バッファ７ｂから出力されるdataは、その遷移の変化が、Ｔ２〜Ｔ４タイミングにかけて遷移されるdata_outの状態の変化にともなってＴ３〜Ｔ５タイミングにかけて行われるので、一瞬だけＨとなってからＬになるdataの状態の急激な変化が起こらず（図８参照）、反射の影響を受けにくくすることができ、clkの３周期目の立ち上がりのタイミング（Ｔ６タイミング）で正常なdataの状態の読み取りを行うことができる。
【００７２】
また、we#だけを遅延させてもよい。図６のタイミングチャートに示すように、最初のclkの立ち上がりのタイミング（Ｔ０タイミング）では、メモリ制御信号発生回路４が出力するストローブ信号とwe#とdata_enableとの制御信号のうち、ストローブ信号とdata_enableとを出力し、図８の場合と同様に、バッファ７ｂに伝達されるdata_enableとdata_outとの間の遅延の影響で反射が生じてclkの２周期目の立ち上がりのタイミング（Ｔ３タイミング）でdataの状態が正常でない場合でも、このＴ３タイミングでwe#を遅延させて出力することで、dataの状態がclkの３周期目の立ち上がりのタイミング（Ｔ４タイミング）までには安定するので、正常なdataの状態の読み取りを行うことができる。
【００７３】
また、we#とdata_enableとdata_outとがclkの２周期分の期間中出力されるようにしてもよい。図７のタイミングチャートに示すように、最初のclkの立ち上がりのタイミング（Ｔ０タイミング）で、メモリ制御信号発生回路４が出力するストローブ信号とwe#とdata_enableとの制御信号のすべてを出力し、図８の場合と同様に、バッファ７ｂに伝達されるdata_enableとdata_outとの間の遅延の影響で反射が生じてclkの２周期目の立ち上がりのタイミング（Ｔ２タイミング）でdataの状態が正常でない場合でも、そのままdataの状態に基づくデータをＤＩＭＭ１６，１７に記憶させる。dataの状態はclkの３周期目の立ち上がりのタイミング（Ｔ３タイミング）までには安定するので、このタイミングで再度、dataの状態に基づくデータをＤＩＭＭ１６，１７に上書き記憶させることで、正常なdataの状態の読み取りを行うことができる。
【００７４】
【発明の効果】
以上説明したように、請求項１に係る発明のメモリ制御装置では、メモリ制御信号発生手段が、ＣＰＵから受信した制御信号に基づいて、データ制御手段にラッチされたデータ信号をデータバスに出力させるための信号と、データ制御手段がデータバスに出力したデータ信号をメモリ装置が取り込むための信号とを発生し、且つ、メモリ制御信号発生手段は、データ制御手段の検出手段が検出したデータラッチの入力側のデータ信号の状態と、データラッチの出力側のデータ信号の状態との比較を行い、比較したデータラッチの入力側のデータ信号の状態と、データラッチの出力側のデータ信号の状態との比較結果に基づいて、データ信号の状態が遷移する場合のみデータ制御手段のデータラッチがＣＰＵから受信してラッチしたデータ信号を、データバスの信号線に出力するための信号を出力するタイミングの制御を行うことができる。従って、インピーダンスの差に起因したデータ信号の反射によるノイズの影響を低減することができる。
【００７５】
また、請求項２に係る発明のメモリ制御装置では、メモリ制御信号発生手段が、ＣＰＵから受信した制御信号に基づいて、データ制御手段にラッチされたデータ信号をデータバスに出力させるための信号と、データ制御手段がデータバスに出力したデータ信号をメモリ装置が取り込むための信号とを発生し、且つ、メモリ制御信号発生手段は、データ制御手段の検出手段が検出したデータラッチの入力側のデータ信号の状態と、データラッチの出力側のデータ信号の状態との比較を行い、比較したデータラッチの入力側のデータ信号の状態と、データラッチの出力側のデータ信号の状態との比較結果に基づいて、データ信号の状態が遷移する場合のみメモリ装置がデータ信号をデータバスから取り込むための信号を出力するタイミングの制御を行うことができる。従って、インピーダンスの差に起因したデータ信号の反射によるノイズの影響を低減することができる。
【００７６】
【００７７】
【００７８】
また、請求項３に係る発明のメモリ制御装置では、請求項１又は２に係る発明の効果に加え、メモリ制御信号発生手段が発生する信号であって、バッファがデータバスにデータを出力するためのタイミングを制御するための信号が、データラッチから出力されるラッチされたデータ信号より遅いタイミングでバッファに入力されるように、メモリ制御信号発生手段は、この信号の出力のタイミングを制御することができる。従って、インピーダンスの差に起因したデータ信号の反射によるノイズの影響を低減することができる。
【００７９】
また、請求項４に係る発明のメモリ制御装置では、請求項１又は２に係る発明の効果に加え、データラッチから出力されるラッチされたデータ信号が、メモリ制御信号発生手段が出力する信号であって、バッファがデータバスにデータを出力するためのタイミングを制御するための信号より遅いタイミングでバッファに入力されるように、メモリ制御信号発生手段は、この信号の出力のタイミングを制御することができる。従って、インピーダンスの差に起因したデータ信号の反射によるノイズの影響を低減することができる。
【００８０】
また、請求項５に係る発明のメモリ制御装置では、請求項１又は２に係る発明の効果に加え、メモリ制御信号発生手段が、データラッチがラッチしたデータ信号を出力させるための信号と、バッファがデータバスにデータを出力するためのタイミングを制御するための信号とを同期クロックの同一のタイミングに出力するように制御を行う場合に、そのタイミングより少なくとも同期クロックの１周期分遅い同期タイミングで、バッファからデータバスに出力されたデータ信号をメモリ装置がデータバスから取り込むタイミングを制御するための信号を出力することができる。従って、インピーダンスの差に起因したデータ信号の反射によるノイズの影響を低減することができる。
【００８１】
また、請求項６に係る発明のメモリ制御装置では、請求項１又は２に係る発明の効果に加え、メモリ制御信号発生手段が、データラッチがラッチしたデータ信号を出力させるための信号と、バッファがデータバスにデータを出力するためのタイミングを制御するための信号と、バッファからデータバスに出力されたデータ信号をメモリ装置がデータバスから取り込むタイミングを制御するための信号とを同期クロックの同一のタイミングで出力した場合、同期クロックの２周期分以後のタイミングまで、メモリ装置がデータバスから取り込むタイミングを制御するための信号を継続して出力することができる。従って、インピーダンスの差に起因したデータ信号の反射によるノイズの影響を低減することができる。
【００８２】
また、請求項７に係る発明のメモリ制御装置では、請求項２乃至６の何れかに係る発明の効果に加え、メモリ装置は、メモリ制御信号発生手段が比較したデータラッチの入力側のデータ信号の状態と、データラッチの出力側のデータ信号の状態との比較結果に基づいて、２つのデータ信号の状態が異なる場合にのみ、データ信号をデータバスから取り込むタイミングの制御を行うことができる。従って、データ信号の状態が遷移する場合にのみ制御を行うことで、パフォーマンスの低下を防止することができる。
【００８３】
また、請求項８に係る発明のメモリ制御装置では、請求項２乃至６の何れかに係る発明の効果に加え、メモリ制御信号発生手段が、データラッチの入力側のデータ信号の状態と、データラッチの出力側のデータ信号の状態とを比較し、データラッチの入力側のデータ信号の電位がデータラッチの出力側のデータ信号の電位より低い場合にのみ、メモリ装置が、データ信号をデータバスから取り込むタイミングの制御を行うことができる。従って、データ信号の状態がハイレベルからローレベルに遷移する場合にのみ制御を行うことで、パフォーマンスの低下を防止することができる。
【００８４】
また、請求項９に係る発明のメモリ制御装置では、請求項２乃至６の何れかに係る発明の効果に加え、同期クロックの１回の同期タイミングでＣＰＵがメモリ装置に複数のデータ信号を送信する場合に、メモリ制御信号発生手段が、複数のデータラッチの入力側のデータ信号の状態と、そのそれぞれに対応するデータラッチの出力側のデータ信号の状態とを比較し、複数ある比較した２つのデータ信号の状態のうち、１つでも状態が異なる場合があった場合にのみ、メモリ装置が、データ信号をデータバスから取り込むタイミングの制御を行うことができる。従って、複数のデータ信号の制御を行う場合においても、必要な場合のみに制御を行うことで、パフォーマンスの低下を防止することができる。
【００８５】
また、請求項１０に係る発明のメモリ制御装置では、請求項２乃至６の何れかに係る発明の効果に加え、同期クロックの１回の同期タイミングでＣＰＵがメモリ装置に複数のデータ信号を送信する場合に、メモリ制御信号発生手段が、複数のデータラッチの入力側のデータ信号の状態と、そのそれぞれに対応するデータラッチの出力側のデータ信号の状態とを比較し、複数ある比較した２つのデータ信号の状態のうち、１つでも、データラッチの入力側のデータ信号の電位がデータラッチの出力側のデータ信号の電位より低い場合があった場合にのみ、メモリ装置が、データ信号をデータバスから取り込むタイミングの制御を行うことができる。従って、複数のデータ信号の制御を行う場合においても、必要な場合のみに制御を行うことで、パフォーマンスの低下を防止することができる。
【００８６】
また、請求項１１に係る発明のメモリ制御装置では、メモリ制御信号発生手段が、同期クロックの同期タイミングにおいて、データ制御手段の検出手段が検出したデータラッチの入力側のデータ信号の状態と、データラッチの出力側のデータアウト信号の状態とを比較し、データラッチの入力側のデータ信号の状態と、データラッチの出力側のデータアウト信号の状態とが異なる場合にのみ、出力するストローブ信号とデータイネーブル信号とライトイネーブル信号との各信号のうち、データイネーブル信号とライトイネーブル信号とを同期クロックの１周期分遅いタイミングに出力することができる。従って、インピーダンスの差に起因したデータ信号の反射によるノイズの影響を低減することができる。
【００８７】
また、請求項１２に係る発明のメモリ制御装置では、メモリ制御信号発生手段が、同期クロックの同期タイミングにおいて、データ制御手段の検出手段が検出したデータラッチの入力側のデータ信号の状態と、データラッチの出力側のデータアウト信号の状態とを比較し、データラッチの入力側のデータ信号の電位が、データラッチの出力側のデータアウト信号の電位より低い場合にのみ、出力するストローブ信号とデータイネーブル信号とライトイネーブル信号との各信号のうち、データイネーブル信号とライトイネーブル信号とを同期クロックの１周期分遅いタイミングに出力することができる。従って、インピーダンスの差に起因したデータ信号の反射によるノイズの影響を低減することができる。
【図面の簡単な説明】
【図１】図１は、ＡＳＩＣ１とＤＩＭＭ１６，１７との接続を示すブロック図である。
【図２】図２は、バッファ８の出力を示す真理値表である。
【図３】図３は、ＤＩＭＭ１６，１７で記憶が行われるタイミングにおけるdataの状態を示すタイミングチャートである。
【図４】図４は、メモリ制御回路２において、data_outの状態変化に基づいてＤＩＭＭ１６，１７へのデータの記憶が遅延される様子を示すタイミングチャートである。
【図５】図５は、メモリ制御回路２において、data_outの状態変化に基づいてＤＩＭＭ１６，１７へのデータの記憶が遅延される様子を示す変形例のタイミングチャートである。
【図６】図６は、メモリ制御回路２において、data_outの状態変化に基づいてＤＩＭＭ１６，１７へのデータの記憶が遅延される様子を示す変形例のタイミングチャートである。
【図７】図７は、メモリ制御回路２において、data_outの状態変化に基づいてＤＩＭＭ１６，１７へのデータの記憶が遅延される様子を示す変形例のタイミングチャートである。
【図８】図８は、同期クロックの周波数が低い場合のdata_enableとdata_outの関係を示すタイミングチャートである。
【図９】図９は、同期クロックの周波数が速い場合のdata_enableとdata_outの関係を示すタイミングチャートである。
【符号の説明】
１    ＡＳＩＣ
２    メモリ制御回路
３    データ制御回路
４    メモリ制御信号発生回路
５    データラッチ
６    検出回路
７ｂ  バッファ
１０    ＣＰＵ
１１    発振器
１５    データバス
１６，１７  ＤＩＭＭ
【図１】
0003835328.tif 000002
【図２】
0003835328.tif 000003
【図３】
0003835328.tif 000004
【図４】
0003835328.tif 000005
【図５】
0003835328.tif 000006
【図６】
0003835328.tif 000007
【図７】
0003835328.tif 000008
【図８】
0003835328.tif 000009
【図９】
0003835328.tif 000010