(57)【要約】【課題】  本発明は、ボード上にチップを実装しチップ間を配線した後の状態で、チップの入出力インターフェース部分において信号遅延を補正することにより、正常にデータを受信することが可能な半導体装置を提供することを目的とする。【解決手段】  半導体装置は、入力データ信号が供給される外部端子に結合され、入力データ信号と内部クロック信号との相対的なタイミングを段階的に異ならせた複数の相対的ラッチタイミングで一方の信号を他方の信号に応じてラッチし、ラッチ結果に応じて最適な相対的タイミングを選択するタイミング補正回路と、タイミング補正回路に結合され最適な相対的ラッチタイミングで入力データ信号をラッチするラッチ回路を含む。【選択図】  図１
2006128221.tif 000002
【特許請求の範囲】
【請求項１】
入力データ信号が供給される外部端子に結合され、該入力データ信号と内部クロック信号との相対的なタイミングを段階的に異ならせた複数の相対的ラッチタイミングで一方の信号を他方の信号に応じてラッチし、該ラッチ結果に応じて最適な相対的タイミングを選択するタイミング補正回路と、
該タイミング補正回路に結合され該最適な相対的ラッチタイミングで該入力データ信号をラッチするラッチ回路
を含むことを特徴とする半導体装置。
【請求項２】
該タイミング補正回路は、
該内部クロック信号を入力として該内部クロック信号を段階的に異なる遅延量で遅らせた複数の遅延クロック信号を出力する遅延回路と、
該遅延回路及び該外部端子に結合され該入力データ信号に応じたタイミングで該複数の遅延クロック信号をラッチする遅延値格納レジスタと、
該遅延値格納レジスタ及び該内部クロック信号及び該複数の遅延クロック信号に入力が結合され該遅延値格納レジスタの格納値に応じて該内部クロック信号及び該複数の遅延クロック信号のうちの１つを選択して出力するセレクタ回路
を含み、該ラッチ回路は、該セレクタ回路から出力される該選択されたクロック信号が示すタイミングで該入力データ信号をラッチすることを特徴とする請求項１記載の半導体装置。
【請求項３】
該セレクタ回路は、該遅延値格納レジスタの格納値における０と１との間の境界位置に対応するクロック信号を該選択されたクロック信号として選択して出力することを特徴とする請求項２記載の半導体装置。
【請求項４】
該セレクタ回路は、該内部クロック信号及び該複数の遅延クロック信号のうちで必要最小限のセットアップ時間を有するクロック信号を該選択されたクロック信号として選択して出力することを特徴とする請求項２記載の半導体装置。
【請求項５】
所定のデータを格納する比較データ格納レジスタと、
該比較データ格納レジスタと該外部端子とに結合され該所定のデータと該入力データ信号とが一致すると出力信号をアサートする比較器
を更に含み、該遅延値格納レジスタは該比較器の該出力信号に応答して該複数の遅延クロック信号をラッチすることを特徴とする請求項２記載の半導体装置。
【請求項６】
該タイミング補正回路は、
該入力データ信号を入力として該入力データ信号を段階的に異なる遅延量で遅らせた複数の遅延データ信号を出力する遅延回路と、
該遅延回路に結合され該内部クロック信号に応じたタイミングで該複数の遅延データ信号をラッチする遅延値格納レジスタと、
該遅延値格納レジスタ及び該入力データ信号及び該複数の遅延データ信号に入力が結合され該遅延値格納レジスタの格納値に応じて該入力データ信号及び該複数の遅延データ信号のうちの１つを選択して出力するセレクタ回路
を含み、該ラッチ回路は、該セレクタ回路から出力される該選択されたデータ信号を該内部クロック信号が示すタイミングでラッチすることを特徴とする請求項１記載の半導体装置。
【請求項７】
該セレクタ回路は、該遅延値格納レジスタの格納値における０と１との間の境界位置に対応するデータ信号を該選択されたデータ信号として選択して出力することを特徴とする請求項６記載の半導体装置。
【請求項８】
該セレクタ回路は、該入力データ信号及び該複数の遅延データ信号のうちで必要最小限のホールド時間を有するデータ信号を該選択されたデータ信号として選択して出力することを特徴とする請求項６記載の半導体装置。
【請求項９】
所定のデータを格納する比較データ格納レジスタと、
該比較データ格納レジスタに第１の入力端が結合され該外部端子に第２の入力端が結合され該所定のデータと該第２の入力端のデータ信号とが一致すると出力信号をアサートする比較器
を更に含み、該遅延値格納レジスタのデータ入力は該比較器の出力に結合されることを特徴とする請求項６記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に半導体装置に関し、詳しくは外部から供給される信号をタイミング信号に応じて取り込む半導体装置に関する。
【背景技術】
【０００２】
ＬＳＩ（Large Scale Integrated Circuit：大規模集積回路）の半導体装置を設計する場合、製品仕様に従いセットアップ時間やホールド時間等を含むＡＣ規格を予め規定しておき、設計段階においてＣＡＤ（Computer Aided Design）を用いたタイミング検証を行う。具体的には、設計対象の論理回路のレイアウトに基づいてタイミング検証を行い、問題が発見されると、タイミングに問題がある回路部分のレイアウトを変更する。レイアウト変更後に再びタイミング検証を行い、このタイミング検証でまた問題が発見されれば、問題がある回路部分のレイアウトを変更する。このようにタイミング検証及びレイアウト変更を繰り返すことによって、タイミング違反がなくなるように論理回路の設計を収束させる。
【０００３】
しかし半導体装置の動作速度が高速になるに伴い、ＡＣ規格に対して十分なマージンを確保することが難しくなっている。マージンが十分でない状態では、僅かな製品バラツキにより製品が不良となってしまうために、製品の歩留り率を上げることが難しくなる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
不良としてリジェクトされなかった製品であっても、データ信号を入出力するための入出力インターフェースには、製造ばらつきによる何らかの遅延変動が存在する。動作周波数が高い条件ではＡＣ規格について十分なマージンが存在しないので、入出力インターフェースの遅延変動が存在すると、チップ間のデータ送受信において入力のセットアップ時間、ホールド時間、出力の最大遅延等の要件が満たされない場合が生じる。特にチップ間の配線経路の長さの違いによる信号の伝播時間の違いの影響や、１つの出力に複数のチップを接続することによる負荷の増大等の影響があると、チップ間のデータ送受信がうまくいかない場合がある。
【０００５】
以上を鑑みて本発明は、ボード上にチップを実装しチップ間を配線した後の状態で、チップの入出力インターフェース部分において信号遅延を補正することにより、正常にデータを受信することが可能な半導体装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明による半導体装置は、入力データ信号が供給される外部端子に結合され、該入力データ信号と内部クロック信号との相対的なタイミングを段階的に異ならせた複数の相対的ラッチタイミングで一方の信号を他方の信号に応じてラッチし、該ラッチ結果に応じて最適な相対的タイミングを選択するタイミング補正回路と、該タイミング補正回路に結合され該最適な相対的ラッチタイミングで該入力データ信号をラッチするラッチ回路を含むことを特徴とする。
【発明の効果】
【０００７】
本発明の少なくとも１つの実施例によれば、入力データ信号と内部クロック信号との相対的なタイミング差を段階的に変化させて複数のタイミング関係を生成し、それら複数のタイミング関係におけるラッチ動作の結果に応じて最適なタイミング関係を選択する。これにより、入力データ信号と内部クロック信号との相対的なタイミングが最適な状態で、入力データをラッチする。この際、内部クロック信号を相対的に遅らせていくことで、十分なセットアップ時間を確保することが可能となるとともに、内部クロック信号を相対的に進めていくことで、十分なホールド時間を確保することが可能となる。これにより、ボード上にチップを実装しチップ間を配線した後において、チップの入出力インターフェース部分において信号遅延を補正して、正常なデータ受信を実現することができる。
【発明を実施するための最良の形態】
【０００８】
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
【０００９】
図１は、本発明による半導体装置の第１の実施例を示す図である。図１の例では、半導体記憶装置にアクセスして読み出したデータを受信するＣＰＵやメモリコントローラ等のメモリドライバ装置を想定しているが、クロック信号に同期してデータを受信する機能が設けられる半導体装置であれば、如何なる種類の半導体装置であっても本発明を適用することが可能である。
【００１０】
図１の半導体装置１０は、ＲＡＭ制御部１１、タイミング補正回路１２、入力バッファ１３、及びラッチ回路１４を含む。半導体装置１０は、半導体記憶装置（ＲＡＭ）１００に接続される。半導体装置１０のＲＡＭ制御部１１は、半導体記憶装置１００にアドレス信号とリードイネーブル信号とを供給して、アドレス信号が示すアドレスからデータを読み出す。読み出されたデータは、データバスを介して半導体装置１０の入力バッファ１３に供給される。入力バッファ１３は、受信した読み出しデータをタイミング補正回路１２に供給するとともにラッチ回路１４に供給する。ラッチ回路１４は、例えば各ビット毎にクロック入力ＣＫに応答してデータを取り込むフリップフロップにより構成される。
【００１１】
タイミング補正回路１２は、ＲＡＭ制御部１１から供給されるバスクロック信号と入力バッファ１３から供給される入力データ（ＲＡＭ読み出しデータ）を受け取る。タイミング補正回路１２は、入力データに応じてバスクロック信号のタイミングを補正することにより、ラッチ回路１４のラッチ動作をトリガするための補正後クロック信号を生成する。補正後クロック信号はラッチ回路１４にクロック入力ＣＫとして供給される。
【００１２】
タイミング補正回路１２は、遅延バッファ２１乃至２４、フリップフロップ２５乃至２８（遅延値格納レジスタ）、比較データ格納レジスタ２９、比較器３０、デコーダ３１、及びセレクタ３２を含む。遅延バッファ２１乃至２４は直列に接続される。先頭の遅延バッファ２１にＲＡＭ制御部１１から供給されるバスクロック信号が入力され、各遅延バッファによりバスクック信号が順次遅延されていく。各遅延バッファ２１乃至２４の出力は、遅延バスクロック信号１乃至４として、フリップフロップ２５乃至２８にそれぞれ供給される。
【００１３】
入力バッファ１３から供給される入力データは、比較器３０の一方の入力に供給される。比較器３０のもう一方の入力には、比較データ格納レジスタ２９が格納するデータが供給される。比較器３０は、入力バッファ１３からの入力データと比較データ格納レジスタ２９からのデータとが一致すると、その出力をＨＩＧＨにする。比較データ格納レジスタ２９には所定のデータを格納しておき、また半導体記憶装置１００の所定のアドレスにはこの所定のデータを予め書き込んでおく。
【００１４】
半導体記憶装置１００の所定のアドレスは、例えばアドレスに応じてデータ読み出しタイミングにバラツキが存在する場合には、最も読み出しタイミングが遅くなるアドレスであってよい。アドレスに関わらずデータ読み出しタイミングが一定である場合には、半導体装置１０のクロック補正動作用に使用するアドレスを適宜選定して当該所定のアドレスとすればよい。
【００１５】
比較器３０は、入力バッファ１３からの入力データ、即ち半導体記憶装置１００から読み出した読み出しデータが、期待したとおりのデータ（比較データ格納レジスタ２９に格納されるデータ）であるか否かを判断する。両データが一致するタイミングは、入力データが期待したとおりのデータとして受信されたタイミングである。この両データが一致するタイミングにおいて、比較器３０はその出力をＨＩＧＨにする。従って比較器３０の出力のＨＩＧＨへの変化は、入力データが正常に受信されたタイミングを示すものであると考えることができる。
【００１６】
比較器３０の出力は、フリップフロップ２５乃至２８のクロック入力ＣＫに供給される。フリップフロップ２５乃至２８は、クロック入力ＣＫの立ち上がりに応答して、遅延バッファ２１乃至２４から供給される遅延バスクロック信号１乃至４を取り込む。クロック入力ＣＫの立ち上がりは、比較器３０の出力のＨＩＧＨへの変化であるので、入力データが正常に受信されたタイミングで各遅延バスクロック信号を取り込んでいることになる。この結果、フリップフロップ２５乃至２８の出力信号は、入力データが正常に受信されたタイミングを反映したタイミング指示信号となる。
【００１７】
デコーダ３１は、フリップフロップ２５乃至２８の出力であるタイミング指示信号を受け取り、それをデコードする。このデコード処理により、バスクロック信号及び遅延バスクロック信号１乃至４のうちで、入力データをラッチするために最適なタイミングを有したクロック信号を決定する。デコーダ３１は、最適なクロック信号を示すデコード結果をセレクタ３２に供給する。
【００１８】
セレクタ３２は、バスクロック信号及び遅延バスクロック信号１乃至４を受け取るとともに、デコーダ３１から最適なクロック信号を示すデコード結果を受け取る。セレクタ３２は、デコード結果に基づいて、バスクロック信号及び遅延バスクロック信号１乃至４のうちで最適なクロック信号を選択して出力する。出力されたクロック信号は、補正後クロック信号としてラッチ回路１４に供給される。
【００１９】
以降、半導体記憶装置１００からの読み出しデータが半導体装置１０に到来するたびに、入力バッファ１３を経由して読み込まれる入力データを、ラッチ回路１４により補正後クロック信号が示すタイミングでラッチする。これにより、半導体記憶装置１００の出力タイミングの誤差・変動、半導体記憶装置１００及び半導体装置１０間の信号伝達経路の変動をタイミング補正回路１２によるタイミング補正により吸収して、適正なタイミングで入力データを読み込むことが可能となる。
【００２０】
このようにして、タイミング検出及び補正処理を実行したいときに、半導体装置１０から半導体記憶装置１００の所定のアドレスの所定のデータを読み出すことで、タイミング補正回路１２によりタイミング検出及び補正処理を実行する。これによりタイミング補正回路１２のフリップフロップ２５乃至２８に遅延バスクロック信号が一度取り込まれると、フリップフロップ２５乃至２８の格納データはそのまま保持され、その後のメモリ読み出し動作においては適正タイミングの補正後クロック信号が一貫して使用されることになる。
【００２１】
なお比較器３０において、常に入力データと比較データ格納レジスタ２９との比較を行う構成とすると、読み出したデータが偶然に比較データ格納レジスタ２９の格納データと一致すると、タイミング補正回路１２によるタイミング検出及び補正処理がそのたびに実行されることになる。これを避けるためには、比較器３０をイネーブル信号により比較動作のオン／オフを制御可能な比較器として構成すればよい。タイミング検出及び補正処理を実行したいときにはイネーブル信号をオンにし、それ以外の時にはイネーブル信号をオフに設定しておくことで余計なタイミング検出及び補正処理を避けることができる。
【００２２】
図２は、図１の半導体装置１０の動作を説明するためのタイミング図である。（ａ）に示されるバスクロック信号に同期して、半導体装置１０のＲＡＭ制御部１１が（ｂ）に示すアドレス信号を出力するとともに、（ｃ）に示すリードイネーブル信号をアサート（ＬＯＷでアサート）する。これに応答して、半導体記憶装置１００からデータが読み出されて半導体装置１０の入力バッファ１３で受信され、入力バッファ１３から（ｄ）に示す入力読み出しデータが比較器３０及びラッチ回路１４に供給される。比較器３０は、期待されるデータと入力読み出しデータとが一致すると、（ｅ）に示すようにその出力信号であるデータ比較結果をＨＩＧＨにアサートする。
【００２３】
図２の（ｆ）乃至（ｉ）には、遅延バッファ２１乃至２４により遅延され段階的に遅延量が増大する遅延バスクロック１乃至４が示される。例示されるように、遅延バスクロック１乃至４は、遅延バスクロック１が最も小さい遅延、遅延バスクロック４が最も大きい遅延を有し、遅延バスクロック１から遅延バスクロック４に向けて遅延が段階的に大きくなる。この遅延バスクロック１乃至４（図２（ｆ）乃至（ｉ））をデータ比較結果（図２（ｅ））の立ち上がりのタイミングでフリップフロップ２５乃至２８に取り込む。フリップフロップ２５乃至２８の格納データが、タイミング指示信号として（ｊ）に示される。図２の例では、データ比較結果の立ち上がりのタイミングにおいて、遅延バスクロック１乃至４はそれぞれ、ＨＩＧＨ、ＨＩＧＨ、ＬＯＷ、ＬＯＷである。従って、タイミング指示信号はバイナリデータ“００１１”となる。
【００２４】
図１を参照して説明したように、このタイミング指示信号をデコーダ３１によりデコードすることにより、適正なタイミングの遅延バスクロック信号を選択する。図２の例では、（ｇ）に示す遅延バスクロック信号２が最適なタイミングのクロック信号として選択される。選択されたクロック信号が補正後クロック信号として（ｋ）に示される。
【００２５】
クロック選択について具体的に説明すると、データ比較結果の立ち上がりのタイミングにおいて、遅延バスクロック１乃至４はそれぞれ、ＨＩＧＨ、ＨＩＧＨ、ＬＯＷ、ＬＯＷである。即ち、正常な入力データが受信されたタイミングにおいて、遅延バスクロック信号１及び２については既に立ち上がり済みであり、遅延バスクロック信号３及び４についてはまだ立ち上がっていない。ラッチ回路１４はクロック入力ＣＫの立ち上がりで入力データをラッチするので、遅延バスクロック信号３又は４をクロック入力ＣＫとして用いれば、十分なセットアップ時間を確保して確実に入力データを取り込むことができる。またラッチ回路１４がデータ入力とクロック入力ＣＫとが同一タイミングであれば、問題なくデータ取り込み可能な回路構成であるとすると、図示の例の遅延バスクロック信号２を用いても入力データを取り込むことが可能である。
【００２６】
ラッチ用のクロック信号のタイミングを余り遅くすると、ホールド時間に問題が生じる可能性がある。従って、タイミング指示信号“００１１”において“０”と“１”との境界の直前及び直後に位置する遅延バスクロック信号２及び遅延バスクロック信号３が、セットアップ時間及びホールド時間の両方を考慮したときに適切なタイミングのクロック信号であると考えられる。図２の例では、遅延バスクロック信号２及び遅延バスクロック信号３のうちで、タイミングが早いほうの遅延バスクロック信号２を適正なタイミングのクロックとして選択している。
【００２７】
図３は、本発明による半導体装置の第２の実施例を示す図である。図３の例では、半導体記憶装置にアクセスして読み出したデータを受信するＣＰＵやメモリコントローラ等のメモリドライバ装置を想定しているが、クロック信号に同期してデータを受信する機能が設けられる半導体装置であれば、如何なる種類の半導体装置であっても本発明を適用することが可能である。第１の実施例では、セットアップ時間に着目してタイミングを調整する構成であったが、第２の実施例では、ホールド時間に着目してタイミングを調整する構成となっている。
【００２８】
図３の半導体装置１０Ａは、ＲＡＭ制御部１１、タイミング補正回路１２Ａ、入力バッファ１３、及びラッチ回路１４を含む。半導体装置１０Ａは、半導体記憶装置（ＲＡＭ）１００に接続される。半導体装置１０ＡのＲＡＭ制御部１１は、半導体記憶装置１００にアドレス信号とリードイネーブル信号とを供給して、アドレス信号が示すアドレスからデータを読み出す。読み出されたデータは、データバスを介して半導体装置１０Ａの入力バッファ１３に供給される。入力バッファ１３は、受信した読み出しデータをタイミング補正回路１２に供給する。
【００２９】
タイミング補正回路１２は、ＲＡＭ制御部１１から供給されるクロック信号と入力バッファ１３から供給される入力データ（ＲＡＭ読み出しデータ）とを受け取る。タイミング補正回路１２は、入力データとクロック信号との相対的なタイミング関係に基づいて入力データのタイミングを補正することにより、補正後入力データを生成する。補正後入力データはラッチ回路１４に供給される。ラッチ回路１４は、例えば各ビット毎にクロック入力ＣＫに応答してデータを取り込むフリップフロップにより構成される。ラッチ回路１４は、ＲＡＭ制御部１１からタイミング補正回路１２Ａに供給されたのと同一のクロック信号をクロック入力ＣＫとして、タイミング補正回路１２から供給される補正後入力データを取り込む。
【００３０】
タイミング補正回路１２は、遅延バッファ４１乃至４４、フリップフロップ４５乃至４８（遅延値格納レジスタ）、デコーダ５１、セレクタ５２、及びデータ比較回路６１乃至６４を含む。データ比較回路６１乃至６４は各々同一の構成であり、比較データ格納レジスタ４９及び比較器５０を含む。遅延バッファ４１乃至４４は直列に接続される。先頭の遅延バッファ４１に入力バッファ１３から供給される入力データが入力され、各遅延バッファにより入力データが順次遅延されていく。各遅延バッファ４１乃至４４の出力は、遅延入力データ１乃至４として、データ比較回路６１乃至６４にそれぞれ供給される。
【００３１】
データ比較回路６１乃至６４の各々において、遅延入力データは比較器５０の一方の入力に供給される。比較器５０のもう一方の入力には、比較データ格納レジスタ４９が格納するデータが供給される。比較器５０は、遅延入力データと比較データ格納レジスタ４９からのデータとが一致すると、その出力をＨＩＧＨにする。比較データ格納レジスタ４９には所定のデータを格納しておき、また半導体記憶装置１００の所定のアドレスにはこの所定のデータを予め書き込んでおく。
【００３２】
比較器５０は、遅延入力データが、期待したとおりのデータ（比較データ格納レジスタ４９に格納されるデータ）であるか否かを比較して判断する。比較された両データが一致する期間、比較器５０はその出力をＨＩＧＨに設定する。従って、比較器５０の出力である比較結果信号がＨＩＧＨである期間は、遅延入力データが正常な値である期間、即ちデータ有効期間を示すものであると考えることができる。
【００３３】
データ比較回路６１乃至６４のそれぞれの比較器５０の出力である比較結果信号は、フリップフロップ４５乃至４８のデータ入力Ｄに供給される。フリップフロップ４５乃至４８のクロック入力ＣＫには、ＲＡＭ制御部１１からのクロック信号が供給される。このクロック信号の立ち上がりに応答して、フリップフロップ４５乃至４８はデータ比較回路６１乃至６４から供給される比較結果信号を取り込む。データ比較回路６１乃至６４からの比較結果信号は、それぞれ異なる遅延量を有する遅延入力データにおいてデータ有効期間中のみＨＩＧＨになる信号であるので、このデータ有効期間中にクロック入力ＣＫが立ち上がったフリップフロップにおいてのみ格納値がＨＩＧＨになる。この結果、フリップフロップ４５乃至４８の出力信号は、クロック信号で取り込み可能な遅延入力データのタイミングを反映したタイミング指示信号となる。
【００３４】
デコーダ５１は、フリップフロップ４５乃至４８の出力であるタイミング指示信号を受け取り、それをデコードする。このデコード処理により、入力データ及び遅延入力データ１乃至４のうちで、クロック信号でラッチする対象として最適なタイミングを有したデータ信号を決定する。デコーダ５１は、最適なデータ信号を示すデコード結果をセレクタ５２に供給する。
【００３５】
セレクタ５２は、入力データ及び遅延入力データ１乃至４を受け取るとともに、デコーダ５１から最適なデータ信号を示すデコード結果を受け取る。セレクタ５２は、デコード結果に基づいて、入力データ及び遅延入力データ１乃至４のうちで最適なデータ信号を選択して出力する。出力されたデータ信号は、補正後入力データとしてラッチ回路１４に供給される。
【００３６】
以降、半導体記憶装置１００からの読み出しデータが半導体装置１０Ａに到来するたびに、入力バッファ１３を経由して読み込まれタイミング補正回路１２Ａによりタイミング補正された補正後入力データを、ラッチ回路１４においてクロック入力ＣＫの立ち上がりタイミングでラッチする。これにより、半導体記憶装置１００の出力タイミングの誤差・変動、半導体記憶装置１００及び半導体装置１０Ａ間の信号伝達経路の変動をタイミング補正回路１２Ａによるタイミング補正により吸収して、適正なタイミングで入力データを読み込むことが可能となる。
【００３７】
第１の実施例同様に、タイミング補正回路１２Ａのフリップフロップ４５乃至４８に遅延入力データが一度取り込まれると、フリップフロップ４５乃至４８の格納データはそのまま保持され、その後のメモリ読み出し動作においては適正タイミングの補正後入力データが一貫して使用されることになる。またデータ比較回路６１乃至６４においては、比較器５０をイネーブル信号により比較動作のオン／オフを制御可能なように構成してある。タイミング検出及び補正処理を実行したいときにはイネーブル信号をオンにし、それ以外の時にはイネーブル信号をオフに設定しておくことで余計なタイミング検出及び補正処理を避けることができる。
【００３８】
図４は、図３の半導体装置１０Ａの動作を説明するためのタイミング図である。（ａ）に示されるクロック信号に同期して、半導体装置１０ＡのＲＡＭ制御部１１が（ｂ）に示すアドレス信号を出力するとともに、（ｃ）に示すリードイネーブル信号をアサート（ＬＯＷでアサート）する。これに応答して、半導体記憶装置１００からデータが読み出されて半導体装置１０Ａの入力バッファ１３で受信され、入力バッファ１３から（ｄ）に示す入力読み出しデータがタイミング補正回路１２Ａに供給される。
【００３９】
図４の（ｆ）乃至（ｉ）には、遅延バッファ４１乃至４４により遅延され段階的に遅延量が大きくなる遅延入力データ１乃至４が示される。例示されるように、遅延入力データ１乃至４は、遅延入力データ１が最も小さい遅延、遅延入力データ４が最も大きい遅延を有し、遅延入力データ１から遅延入力データ４に向けて遅延が段階的に大きくなる。この遅延入力データ１乃至４（図４（ｆ）乃至（ｉ））をクロック信号（図４（ｅ））の立ち上がりのタイミングでフリップフロップ４５乃至４８に取り込む。フリップフロップ４５乃至４８の格納データが、タイミング指示信号として（ｊ）に示される。図４の例では、データ比較結果の立ち上がりのタイミングにおいて、遅延入力データ１乃至４はそれぞれ、ＬＯＷ、ＬＯＷ、ＨＩＧＨ、ＨＩＧＨとなる。従って、タイミング指示信号はバイナリデータ“１１００”となる。
【００４０】
図３を参照して説明したように、このタイミング指示信号をデコーダ５１によりデコードすることにより、適正なタイミングの遅延入力データを選択する。図４の例では、（ｇ）に示す遅延入力データ信号２が最適なタイミングのデータ信号として選択される。選択されたデータ信号が補正後入力データとして（ｋ）に示される。
【００４１】
データ信号選択について具体的に説明すると、クロック信号の立ち上がりのタイミングにおいて、遅延入力データ１乃至４はそれぞれ、ＬＯＷ、ＬＯＷ、ＨＩＧＨ、ＨＩＧＨである。即ち、クロック信号が立ち上がるタイミングにおいて、遅延入力データ１及び２については既にデータ有効期間が終了しており、遅延入力データ３及び４についてはまだ有効期間中である。ラッチ回路１４はクロック入力ＣＫの立ち上がりで入力データをラッチするので、遅延入力データ信号３又は４をクロック入力ＣＫとして用いれば、十分なホールド時間を確保して確実に入力データを取り込むことができる。またラッチ回路１４がデータ有効期間終了とクロック入力ＣＫとが同一タイミングであれば、問題なくデータ取り込み可能な回路構成であるとすると、図示の例の遅延入力データ２を用いても入力データを取り込むことが可能である。
【００４２】
ラッチ対象であるデータ信号のタイミングを余り遅くすると、セットアップ時間に問題が生じる可能性がある。従って、タイミング指示信号“１１００”において“１”と“０”との境界の直前及び直後に位置する遅延入力データ２及び遅延入力データ３が、セットアップ時間及びホールド時間の両方を考慮したときに適切なタイミングのデータ信号であると考えられる。図４の例では、遅延入力データ２及び遅延入力データ３のうちで、タイミングが早いほうの遅延入力データ２を適正なタイミングのクロックとして選択している。
【００４３】
以上のようにして、本発明においては、他のチップからデータが到来したときに、タイミング補正回路により入力データ信号と内部クロック信号との相対的なタイミングを補正することにより、適切なタイミングで入力データをラッチに取り込むことが可能となる。この際、入力データ信号と内部クロック信号との相対的なタイミング差を段階的に変化させて複数のタイミング関係を生成し、それら複数のタイミング関係におけるラッチ動作の結果に応じて最適なタイミング関係を選択する。これにより、入力データ信号と内部クロック信号との相対的なタイミングが最適な状態で、入力データをラッチする。この際、内部クロック信号を相対的に遅らせていくことで、十分なセットアップ時間を確保することが可能となるとともに、内部クロック信号を相対的に進めていくことで、十分なホールド時間を確保することが可能となる。
【００４４】
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
【図面の簡単な説明】
【００４５】
【図１】本発明による半導体装置の第１の実施例を示す図である。
【図２】図１の半導体装置の動作を説明するためのタイミング図である。
【図３】本発明による半導体装置の第２の実施例を示す図である。
【図４】図３の半導体装置の動作を説明するためのタイミング図である。
【符号の説明】
【００４６】
１１  ＲＡＭ制御部
１２  タイミング補正回路
１３  入力バッファ
１４  ラッチ回路
２１〜２４  遅延バッファ
２５〜２８  フリップフロップ
２９  比較データ格納レジスタ
３０  比較器
３１  デコーダ
３２  セレクタ
１００  半導体記憶装置
【図１】
2006128221.tif 000003
【図２】
2006128221.tif 000004
【図３】
2006128221.tif 000005
【図４】
2006128221.tif 000006