以下、本発明の実施例を説明する。第1実施例は、図10に示した第1の態様の半導体装置システムに対応する。
図15は、本発明の第1実施例の半導体装置システムにおける駆動側半導体装置のクロック発生回路と信号出力回路の部分の構成を示す図である。第1実施例では、図12に示したように、通常モードと受信タイミング調整モードを有し、切り換えられるようになっている。システムを起動する時には、まず受信タイミング調整モードにしてタイミング調整を行った後、通常モードに移行する。また、必要に応じて通常モードを中断して受信タイミング調整モードに移行し、タイミング調整を行った後再び通常モードに戻るようにしてもよい。
図15に示すように、第1実施例の駆動側半導体装置は、クロックCLKを発生して装置の各部に供給するクロック源81と、入力されるクロックCLKから出力タイミングの基礎となる基礎クロックとその半周期シフトした1/2シフトクロックを生成していずれかを出力するシフトクロック発生回路82と、シフトクロック発生回路82の出力するクロックの遅延量を調整して出力信号が外部に出力するクロックと同期するように出力タイミングクロックを調整して出力するディレイ調整回路83と、出力タイミングクロックを出力回路に分配するための等距離配線のクロック分配回路87と、クロック分配回路87からの出力タイミングクロックに同期して出力信号生成回路90の出力する信号を出力する出力回路88−1〜88−nと、出力回路88−1〜88−nに接続された出力端子89−1〜89−nと、ダミー信号生成回路91を有する出力信号生成回路90と、入力される出力回路88−0からの出力信号を受けるダミーカレントミラー回路62と、ダミーカレントミラー回路92の出力を受けてディレイ調整回路83に出力するダミーバッファ回路93とを有する。ディレイ調整回路83は、遅延量が調整できるディレイ回路84と、位相比較回路85と、ディレイ制御回路86とを有し、ダミーカレントミラー回路92とダミーバッファ回路93を介して入力される出力信号とシフトクロック位相シフト回路82の出力する出力タイミングクロックの位相を位相比較回路85で比較し、ディレイ制御回路86はその比較結果に基づいてディレイ回路84の遅延量を調整し、出力信号と出力タイミングクロックの位相が一致するように制御する。これにより内部回路の差にかかわらず、出力信号はクロックに同期して図9に示したようにクロックに対して同じ位相で出力されることになる。第1実施例の駆動側半導体装置は、シフトクロック発生回路82を有する点が特徴であり、他の回路部分についてはこれ以上の説明は省略する。
第1実施例のシフトクロック発生回路82について説明する前に、正確に所定位相ずれたクロックを発生させる回路について説明する。図16は、クロックCLKの位相を2πi/Nずらしたシフトクロックを発生させる回路構成を示す図である。図示のように、同一の構成を有するディレイ回路−A101とバッファ102、ディレイ回路−B103とバッファ104、…、ディレイ回路−N105とバッファ106の組が、前段の出力が後段の入力になるようにしてN段直列に接続されている。各ディレイ回路は、ディレイ制御回路108により同じ制御値が印加されるので遅延量は同時に変化され、各ディレイ回路の遅延量は同一である。位相比較回路107は最終段の組のバッファ106の出力とクロックCLKの位相を比較し、ディレイ制御回路108はその比較結果に基づいて、最終段の出力とクロックCLKの位相が一致するように、ディレイ回路の遅延量を変化させる。最終段の出力とクロックCLKの位相が一致した時には、各段の出力は1サイクルを正確に1/Nずつシフトした信号である。従って、いずれかの段の出力が所望の位相ずれたクロックであればよく、そのような位相ずれが生じるように段数を決定する。前述のように、ここでは、セットアップ時間とホールド時間が等しく、通常モードにおいては、出力信号がクロックの立ち下がりエッジに同期して変化し、入力回路はクロックの立ち上がりエッジに同期して入力信号を取り込むものとしているので、シフトクロックは180°、すなわち1/2クロックサイクルずれた信号であればよく、上記の段数を2段にすることにより実現できる。
図17は、第1実施例のシフトクロック発生回路82の構成を示す図である。図17に示すように、シフトクロック発生回路82は、同一の構成を有する第1と第2の1/2φディレイ回路110と116と、入力段122と、位相比較回路125と、ディレイ制御回路126と、選択回路127とを有する。第1と第2の1/2φディレイ回路110と116は、それぞれ入力段122と同一の入力段111又は117と、遅延量が調整可能なディレイ回路114又は120と、バッファ回路115又は121を有する。入力段111、117、122は、カレントミラー回路(CM)112、118、123と、バッファ回路113、119、124を有する回路である。カレントミラー回路は、入力される信号の変化を正確に取り込むための回路である。
入力段111から出力されたクロックは、ディレイ回路−A114で遅延された後、バッファ回路115と入力段117を介してディレイ回路−B120に入力され、ディレイ回路−A114の遅延量と同じ量遅延され、バッファ回路121と入力段122を介して位相比較回路125に入力される。位相比較回路125では、入力段111から出力されたクロックと入力段122から出力されたクロックの位相が比較され、ディレイ制御回路126はその比較結果に基づいて2つの位相が一致するようにディレイ回路−A114とディレイ回路−B120の遅延量を変化させる。2つの位相が一致した時には、ディレイ回路−A114からバッファ115と入力段117を介してディレイ回路−B120に入力するまでの経路と、ディレイ回路−B120からバッファ121と入力段122を介して位相比較回路125入力するまでの経路は同一であるから、ディレイ回路−B120に入力する信号の位相はディレイ回路−A114に入力する信号の位相とちょうど半周期ずれている。従って、バッファ回路115と121からそれぞれ出力されるクロックの位相も半周期ずれており、バッファ回路121からはクロック信号φ1が出力され、バッファ回路115からは半周期シフトした1/2シフトクロックφ1/2が出力されることになる。選択回路127は、モード選択信号に従ってクロック信号φ1と1/2シフトクロックφ1/2のいずれを出力するかを選択する回路で、モード選択信号が通常モードを示す時にはクロック信号φ1を、受信タイミング調整モードを示す時には1/2シフトクロックφ1/2が出力させるように選択する。なお、図から明らかなように、位相シフト回路82に入力されるクロックCLKとバッファ121から出力されるクロック信号φ1は同位相である。
図15に戻って、受信タイミング調整モード時には、出力信号生成回路90は、ダミー信号生成回路91が生成した受信タイミング調整のためのダミー出力信号を出力し、各出力回路88−0、88−1、…、88−nは1/2シフトクロックφ1/2に同期してダミー出力信号を出力する。ダミー出力信号は、例えば、クロックの周期で変化する信号である。図示していないが、クロック出力回路からは、クロックφ1が出力される。なお、受信タイミング調整モード時には、回路の他の部分は、すべてクロックCLK、すなわちクロックφ1に同期して動作しており、1/2シフトクロックφ1/2に同期して動作するのは、出力タイミングを調整する部分とダミー信号生成回路81のみである。出力タイミングを調整する部分は、シフトクロック発生回路82から出力する信号をクロックφ1に切り換えれば通常の動作を行い、ダミー信号生成回路91は通常モードでは必要ない回路であり、受信タイミング調整モードから通常モードに切り換えても何も問題は生じない。
以上が第1実施例における駆動側半導体装置の説明である。次に受信側半導体装置について説明する。
図18は、第1実施例における受信側半導体装置のクロック入力回路と信号入力回路の部分の構成を示す図である。ここでは、クロック入力回路と、1組の入力回路と入力タイミング調整回路のみを示すが、実際には入力信号の個数分このような組が設けられており、図示したクロック入力回路から内部クロックCLKが供給される。
図18に示すように、第1実施例の受信側半導体装置は、駆動側半導体装置から送信されるクロックが入力され、内部クロックCLKを発生するクロック入力回路131と、駆動側半導体装置から送信される信号を入力信号として取り込む入力回路144を有する。入力回路144で取り込まれた入力信号は内部回路に送られる。これは従来通りである。クロック入力回路131は、クロックカレントミラー回路132とクロックバッファ回路133とを有する。入力回路144は、カレントミラー回路140とクロックバッファ回路141とラッチ回路142とを有する。前述のように、カレントミラー回路は送信されてくる信号を正確に受信するために使用される。カレントミラー回路、バッファ回路、及びラッチ回路は従来のものがそのまま使用される。従って、カレントミラー回路とバッファ回路については、ここでは説明を省略するが、ラッチ回路は他の部分の説明と関係するので、後述する。
第1実施例の受信側半導体装置は、上記のような従来の構成に加えて、クロック入力回路131から出力される内部クロックCLKが入力され、指示された遅延量だけ遅延させるディレイ回路134と、ディレイ回路134の遅延量を制御するディレイ制御回路135と、ディレイ回路134から出力される遅延クロックDCLKを半周期分遅延させたクロックφ1/2Dを出力する1/2位相シフト回路136と、入力回路144と同等の構成を有するダミー入力回路145と、排他的論理和(EXOR)ゲート143とを有する。ダミー入力回路145は、入力回路144のカレントミラー回路140とクロックバッファ回路141とラッチ回路142とに相当するダミーカレントミラー回路137とダミークロックバッファ回路138とダミーラッチ回路139とを有する。クロックφ1/2Dはあまり正確な遅延量は必要ないため、1/2位相シフト回路136は適当な個数のインバータを接続することにより実現できる。入力信号は、入力回路144とダミー入力回路145に入力される。入力回路144のラッチ回路142は、遅延クロックDCLKに同期して入力信号を取り込む。またダミー入力回路145のダミーラッチ回路139は、クロックφ1/2Dに同期して入力信号を取り込む。ラッチ回路142とダミーラッチ回路139がラッチした信号値LDとDLDはEXORゲート143に入力され、そこで排他的論理和が計算されて位相のずれが判定される。ディレイ制御回路135は、位相のずれの判定結果に基づいて位相ずれを無くすようにディレイ回路134の遅延量を1段ずつ変化させる。
図19は、ディレイ回路134とディレイ制御回路135の構成例を示す図である。図示のように、ディレイ回路134は、複数のインバータを直列に接続したインバータ列151と、入力の一方がインバータ列151の2段毎の出力を受けるように設けられた複数のANDゲート152−1、152−2、…、152−nで構成されるANDゲート列と、各ANDゲートの出力がゲートに印加され、ソースは接地され、ドレインが共通に接続されているN−チャンネルトランジスタ153−1、153−2、…、153−nで構成されるトランジスタ列と、各N−チャンネルトランジスタのドレインが共通に接続される信号線と電源の高電位側の間に接続された抵抗154と、入力がこの信号線に接続され内部クロックDCLKを出力するバッファ155とを備える。ディレイ制御回路135は、EXORゲート143の出力CLKCのレベルに応じて、カウントアップとカウントダウンを切り換えるアップ・ダウンカウンタ156と、アップ・ダウンカウンタ156の出力をデコードするデコーダ157とを備える。アップ・ダウンカウンタ156がカウント動作を行うのは、モード選択信号が受信タイミング調整モードを示し、クロックφ1/2Dが立ち上がる時であり、その時のCLKCの値に応じてカウントアップとカウントダウンのいずれかを行う。デコーダ157は、アップ・ダウンカウンタ156の出力に応じて、いずれか1つの出力を「H」にし、他の出力を「L」にする。アップ・ダウンカウンタ156がカウントアップした場合には「H」にする出力位置を右にシフトし、カウントダウンする場合には「H」にする出力位置を左にシフトする。デコーダ157の出力は、順に各ANDゲート152−1、152−2、…、152−nのもう一方の入力に接続されており、デコーダ157から「H」が入力されるANDゲートだけが活性化される。そして、インバータ列の出力のうち、活性化されたANDゲートに入力される信号が内部クロックDCLKとして出力されることになり、どのANDゲートを活性化するかにより、インバータ列を通過する段数が変化するので、内部クロックの遅延量を選択することができる。従って、遅延量制御の調整単位はインバータ2個分の遅延量である。なお、図15や図16に示したディレイ回路とディレイ制御回路として図19に示した構成のものが使用可能である。
図20は、ラッチ回路142の回路構成を示す図であり、ダミーラッチ回路139も同じ回路構成を有する。この回路構成については広く知られているので、ここでは説明を省略する。
図21は、第1実施例のシステムの動作を説明するタイムチャートである。
受信タイミング調整モードでは、駆動側半導体装置11は、クロックCLK(D)の立ち上がりに同期して1周期毎に変化する出力信号CDを出力する。左側には、このような信号が受信側半導体装置12に伝達された時に、入力信号CQはクロックCLK(R)より更に遅れて伝達された場合を、右側には、入力信号CQはクロックCLK(R)より早く伝達された場合を示す。
いま、ディレイ回路134での遅延量がクロックの1周期に等しいとすると、ディレイ回路134から出力される基礎クロックDCLKは、クロックCLK(R)をクロック入力回路131での遅延量分遅延させた信号と同じである。カレントミラー回路140とバッファ回路141はクロック入力回路131のクロックカレントミラー回路132とクロックバッファ回路133と同じであるから、入力信号CQがラッチ回路142に入力するまでの遅延量は、クロック入力回路131での遅延量と同じであり、入力信号CQをクロックCLK(R)の立ち上がりに同期して取り込むのと同じ位相関係である。また、同様の理由で、ダミーラッチ回路139は、入力信号をクロックCLK(R)の立ち下がりに同期して取り込むことになる。
図示のように、出力信号CDはクロックCLK(D)の立ち上がりに同期して1周期毎に変化するので、入力信号が立ち上がるのか立ち下がるのかが分かれば、ラッチ回路142がクロックCLK(R)の立ち上がりに同期して取り込んだ信号値を判定することにより、クロックCLK(R)の立ち上がりエッジが入力信号CQの変化エッジに対して進んでいるか遅れているかが判定できる。例えば、入力信号CQが立ち上がる時には、信号値が「L」であれば遅れており、信号値が「H」であれば進んでおり、立ち下がる時には逆である。入力信号CQは1周期毎に変化するので、半周期前の信号値を判定すれば次にどのように変化するかが分かる。第1実施例では、この判定をダミーラッチ回路139の信号値DLDを判定することにより行う。
ダミーラッチ回路139とラッチ回路142の出力DLDとLDは図示のように変化し、DLDとLDの排他的論理和CLKCは図示のように変化する。従って、カウントアップするかカウントダウンするかの判定は、DCLKが立ち上がってLDが変化した後からDCLKが立ち下がって次にDLDが変化するまでの間に行う必要がある。第1実施例では、図19に示したように、アップ・ダウン・カウンタ156のカウント動作を、クロックφ1/2Dが立ち上がる時のCLKCの値に応じて行うようにしている。すなわち、図21のCLKCの部分に矢印で示したタイミングで判定を行っている。従って、左側の入力信号CQがクロックCLK(R)より遅れている場合にはCLKCが「L」であり、基礎クロックCLK2が進んでいるのでアップ・ダウン・カウンタ156をカウントアップさせてディレイ回路134での遅延量を増加させる。また、右側の入力信号CQがクロックCLK(R)より進んでいる場合にはCLKCが「H」であり、アップ・ダウン・カウンタ156をカウントダウンさせてディレイ回路134での遅延量を減少させる。カウントアップ又はカウントダウンを繰り返して位相ずれがなくなると、交互にカウントアップとカウントダウンを繰り返すことになる。このような状態になったところで、モード選択信号を通常モードに切り換えると、図19のANDゲートによりアップ・ダウン・カウンタ156へのクロックの入力が遮断されるので、アップ・ダウン・カウンタ156はカウント値を保持することになる。この状態は、遅延クロックDCLKの立ち上がりエッジが、入力信号の変化エッジと一致する状態である。
通常モード時には、駆動側半導体装置11から出力される出力信号CDは、クロックCLK(D)の立ち下がりに同期して変化するように切り換えられる。図16と図17で説明したように、正確に半周期分ずらすことが可能であるから、クロックCLK(D)の立ち上がりエッジは、出力信号CDの変化エッジのちょうど中間になる。受信側半導体装置12では、DCLKの立ち上がりエッジは上記のように調整されているので、入力信号が半周期分ずれた信号になると、DCLKの立ち上がりエッジが入力信号CQの変化エッジのちょうど中間になる。従って、入力信号が安定する必要のある期間は、ラッチ回路142がセットアップとホールドのために必要な時間の合計になり、最小限にできる。従って、クロックの周期がこの時間に等しくなるまで、クロック周波数を増加させることが可能で、高速化が図れる。
第1実施例では受信タイミング調整モードを設ける例を示したが、第2実施例では受信タイミング調整モードを設けず、通常モードで常時受信タイミングを調整する例を説明する。従って、第2実施例では、駆動側半導体装置は、クロックに同期して出力信号を出力すればよく、図15に示した構成から、シフトクロック発生回路82を除いた構成を使用すればよい。
図22は、第2実施例の受信側半導体装置の受信部の構成を示す図である。第2実施例は、図14に示した第3の態様に対応する実施例である。
第2実施例の受信側半導体装置は、駆動側半導体装置から端子201に入力されるクロックECLKを取り込んで、内部クロックφ1とφ1を半周期ずらした1/2シフトクロックφ1/2を発生させるクロック発生回路202と、端子203−0〜203−nに入力されるクロックECLKに同期した入力信号D0〜Dnを取り込む入力部204−0、204−1、204−nを有する。
図23は、クロック発生回路202の構成を示す図である。図23において、参照番号210、216、222は同一の構成を有する入力回路−1、−2、−3であり、213と219は同一の構成を有するディレイ回路A、A1であり、214と220は同一の構成を有する補助ディレイ回路B、B1であり、215と221は同一の構成を有するバッファ回路であり、225は位相比較回路であり、226はディレイ制御回路である。図から明らかなように、図17に示したシフトクロック発生回路とほぼ同様の構成を有し、異なるのは選択回路127がなく、φ1とφ1/2が両方出力される点と、バッファ115と121の替わりに補助ディレイ回路214と220が設けられ、ディレイ回路213と219の出力ガバッファ215と221を介して出力される点である。図23のクロック発生回路も、図17のシフトクロック発生回路と同様に、正確に半周期ずれたクロック信号を出力することができる。
図24は、第2実施例の各入力部の構成を示す図である。図示のように、図18に示した構成と類似の構成を有しており、異なるのは、クロックφ1とφ1/2の位相を調整するために別々にディレイ回路231と232が設けられている点と、EXORゲート143の替わりにラッチ240と位相判定回路241が設けられている点である。
第2実施例の入力回路では、通常の入力信号の取込みはクロックφ1に同期して行い、位相のずれを判定するための入力信号の取込みは、クロックφ1/2に同期してダミー入力回路で行う。従って、ラッチ回路に供給されるクロックφ1とφ1/2は、正確に半周期ずれている必要がある。そのため、ディレイ回路231と232はディレイ制御回路233により同一の遅延量になるように共通に制御され、ディレイ回路231と232から出力されるクロックは正確に半周期ずれた位相関係を維持している。これにより、クロックφ1/2に同期してダミー入力回路で取り込んだ信号値を判定して位相のずれを判定できることになる。
入力信号は通常の信号であり、第1実施例のように所定のサイクルで変化する信号ではなく、変化する場合も変化しない場合もある。そのため、第2実施例では、クロックφ1/2の立ち上がりエッジの前後に半周期ずれた時点の信号値を検出して、3つの信号値を判定することにより、入力信号が変化したか、変化した場合にはどちらの方向の変化で、位相はどちらにずれているかを判定する。クロックφ1/2の立ち上がりエッジの前後の半周期ずれた時点の信号値は、入力信号を通常に取り込んだ信号であるので、ラッチ回路239の出力を利用する。前側に半周期ずれた時点で取り込んだ信号値は、後側に半周期ずれた時点で入力信号を取り込むと変化してしまうので、変化する前に記憶して1周期の間保持している必要がある。ラッチ240はこのための回路で、φ1の立ち上がりに同期してラッチ239の出力が変化する直前に記憶し、次にφ1が立ち上がるまでの1周期保持する。位相判定回路241は、このようなクロックφ1/2の立ち上がりエッジとその前後に半周期ずれた時点の3つの信号値から、入力信号が変化したか、変化した場合にはどちらの方向の変化で、位相はどちらにずれているかを判定する回路である。前側に半周期ずれた時点の信号値がRG0であり、クロックφ1/2の立ち上がりエッジの時点の信号値がRG1であり、後側に半周期ずれた時点の信号値がRG2である。
図25は、位相判定回路241の構成を示す回路図である。位相判定回路241の動作を図26から図29を参照して説明する。
位相ずれがない状態では、入力信号はφ1の立ち下がりエッジで変化する。状態1は入力信号が「H」のままで変化しない時であり、この時のRG0、RG1、RG2はすべて「H」であり、位相のずれは判定できないので、カウント動作をしないようにする。同様に、状態2は入力信号が「L」のままで変化しない時であり、この時のRG0、RG1、RG2はすべて「L」であり、位相のずれは判定できないので、カウント動作をしないようにする。
図27に示す状態3と4は、入力信号が「H」から「L」に変化する場合で、状態3のようにφ1/2の立ち上がりエッジに対して入力信号の変化エッジが遅れている場合には、RG0、RG1、RG2はそれぞれ「H」、「H」、「L」になる。この場合は、ディレイ回路231と232の遅延量を増加させる。状態4のようにφ1/2の立ち上がりエッジに対して入力信号の変化エッジが進んでいる場合には、RG0、RG1、RG2はそれぞれ「H」、「L」、「L」になる。この場合は、ディレイ回路231と232の遅延量を減少させる。
図28に示す状態5と6は、入力信号が「L」から「H」に変化する場合で、状態5のようにφ1/2の立ち上がりエッジに対して入力信号の変化エッジが遅れている場合には、RG0、RG1、RG2はそれぞれ「L」、「L」、「H」になる。この場合は、ディレイ回路231と232の遅延量を増加させる。状態6のようにφ1/2の立ち上がりエッジに対して入力信号の変化エッジが進んでいる場合には、RG0、RG1、RG2はそれぞれ「L」、「H」、「H」になる。この場合は、ディレイ回路231と232の遅延量を減少させる。
図29は、上記の各状態とその時のRG0、RG1、RG2の値と、必要な操作を表にしたものである。
図25の位相判定回路は、状態1と2の場合にはホールド信号として「L」を、アップ/ダウン信号として「H」を出力し、状態3から6の場合にはホールド信号として「H」を出力し、その上で、状態3と5の時にはアップ/ダウン信号としてカウントアップを指示する「H」を出力し、状態4と6の時にはアップ/ダウン信号としてカウントダウンを指示する「L」を出力する。
図30は、第2実施例のディレイ回路231及びディレイ制御回路233の構成を示す図である。図24に示すように、ディレイ回路231と同一の構成を有し、ディレイ制御回路233の同一の制御値で制御されるディレイ回路232が設けられているが、ここでは省略してある。図示のように、図19の構成を類似の構成を有しており、異なるのは、CLKCとしてアップ/ダウン信号が入力され、モード選択信号の替わりにホールド信号が入力され、φ1/2Dの替わりにディレイ回路−2から出力されるクロックφ1/2を分周回路159で分周した信号が入力される点である。位相判定回路241での演算及びその結果に基づくアップ・ダウンカウンタ156及びデコーダ157での制御値変更動作により、ディレイ回路134での遅延量が変化するまでにある程度の時間が必要であり、この時間がクロックの半周期より長い場合には、判定結果に基づいて遅延量を変化させても実際に遅延量が変化するのは次の判定が終了した後であり、フィードバックの時間遅れが生じる。このようなフィードバックの時間遅れがあると、位相が一致する付近で、ディレイ回路の2段分の時間範囲で遅延量が周期的に変動することになる。本実施例では、このような問題が生じないように、クロックφ1を分周回路159で分周した後入力している。これにより、フィードバックは数クロックに1回行われることになり、上記の問題は生じない。
第2実施例の半導体装置の入力回路では、半導体装置の動作中は常時位相ずれを調整する動作が行われる。従って、半導体装置の動作中は常時位相ずれを調整する動作が行われるので、温度変化等によって遅延量に差が生じても、自動的に位相ずれをなくすように調整が行われる。第2実施例の半導体装置の入力回路は、モードの切り換え等は行う必要がない。しかし、システムの起動直後は大きくずれている可能性があるので、適当なクロック数分イニシャライズ期間を設け、キャリブレーション動作を行う必要がある。そこで、第2実施例では、最大限ずれている状態から収束するまでに要するクロック数分の時間以上にイニシャライズ期間の時間を設定し、駆動側半導体装置にはダミー信号発生回路を設け、イニシャライズ期間には受信タイミングを調整するのに適した周期的に変化するダミー信号が出力されるようにしている。受信側半導体装置は、イニシャライズ期間中にこのダミー信号に基づいて入力タイミング調整回路の調整を行い、イニシャライズ期間終了後には通常の入力信号で入力タイミング調整回路の調整を行う。
図31は第3実施例の受信側半導体装置のクロック発生回路を、図32は第3実施例の受信側半導体装置の入力部の構成を示す図である。第3実施例は、第2実施例のクロック発生回路と入力回路の一部を変更した例で、基本的な構成は第2実施例と同じである。
図31に示すように、第3実施例のクロック発生回路は、図23に示した第2実施例のクロック発生回路から、入力回路216と222を除いたものである。2つの入力回路216と222が同時に除かれているので、ディレイ回路253からディレイ回路256に至る経路と、ディレイ回路256から位相比較回路259に至る経路は同じであり、クロックφ1とそれを正確に半周期ずらしたクロックφ1/2が出力される。カレントミラー回路は信号を正確なタイミングで取り込むために使用されるが、本発明では位相が調整されるので、この点の制約は少なく、カレントミラー回路を使用しなくてもよい。
図32に示すように、第3実施例の入力部(入力回路と入力タイミング調整回路)は、図24に示した第2実施例の入力部から、カレントミラー回路237、バッファ回路238、ダミーカレントミラー回路234、ダミーバッファ回路235を除き、ラッチ回路の替わりにφディレイ回路276を設け、ディレイ制御回路273で判定結果に応じてカウント動作をするタイミングを調整するディレイ回路278を設けたものである。
上記のように、カレントミラー回路は信号を正確なタイミングで取り込むために使用されるが、本発明では位相が調整されるので、この点の制約な少なく、カレントミラー回路を使用しなくてもよいので、カレントミラー回路を除いている。カレントミラー回路には常時電流が流れるため電力消費が大きいが、カレントミラー回路を使用しないので消費電力を低減できる。
また、第2実施例では、クロックφ1を分周回路で分周することによりフィードバックの遅れによる問題が生じないようにしていたが、第3実施例では、ディレイ回路278で適当なタイミング信号を生成し、このタイミング信号でアップ・ダウン・カウンタのカウント動作が行われるようにすることで、フィードバックの遅れを低減して、上記の問題が生じないようにしている。
第2実施例及び第3実施例では、クロック発生回路が内部クロックと内部クロックから正確に1/2周期ずれたシフトクロックを発生させ、入力タイミング調整回路にはそれぞれを遅延させる2つのディレイ回路を設けていたが、図13に示した第2の態様のように、入力タイミングを調整するためのディレイ回路の出力から正確に1/2周期ずれたシフトクロックを発生させることも可能である。第4実施例は、このような実施例である。
図33は、第4実施例の入力回路と入力タイミング調整回路の構成を示す図である。第4実施例の入力回路と入力タイミング調整回路は、図示のように、図24に示した第2実施例の回路と類似の構成を有しており、異なるのは、ディレイ回路が1つで、その出力からシフトクロックを発生させるシフトクロック発生回路289が設けられている点と、ダミーラッチ284には入力回路のバッファ回路287の出力が入力され、ダミーカレントミラー回路とダミーバッファ回路が除かれている点と、ディレイ制御回路282の制御値が変化しなくなったかを監視する制御値監視回路290が設けられている点である。シフトクロック発生回路289はこれまで説明したものが使用される。第4実施例の入力回路と入力タイミング調整回路は、上記の点を除けば、第2実施例の回路とほぼ同じ動作をする。
前述のように、第2実施例の回路では、システムの起動後のイニシャライズ期間を十分に長くして、たとえ最大限ずれている状態からでもイニシャライズ期間内には制御値が収束するようにしていた。第4実施例では、制御値監視回路290を設け、ディレイ制御回路282の制御値の変動を監視できるようにしている。入力タイミング信号が最適な状態に設定された時には、ディレイ制御回路282の制御値は変化しなくなると考えられるので、制御値監視回路290が同じ制御値が連続したことを検出した時には、入力タイミング信号が最適な状態に設定されたと判定する。
図34は、第4実施例における動作モードを示す図である。システムの起動に応じてパワーオンリセット信号が出され、それに応じて初期化モード(キャリブレーションモード)が開始される。キャリブレーションモードでは、駆動側半導体装置は所定のサイクルで値が切り替わる信号を出力し、受信側半導体装置はこれを受けて入力タイミング調整回路の制御値を最適なタイミングになるように徐々に変化させる。入力タイミングが最適になった時点では、上記のように、ディレイ制御回路282の制御値が変化しなくなり、制御値監視回路290が同じ制御値が連続したことを検出して制御値監視信号をオンにする。これに応じてシステムはモード信号を通常モードを示すように切り換え、通常動作が開始される。受信側半導体装置の入力タイミング調整回路は、通常モードになっても、入力信号に対して位相比較を行い、その比較結果に基づいてフィードバック制御を続ける。
以上説明した第1実施例から第4実施例では、実際に取り込んだ入力信号の値を判定することにより入力信号と入力タイミング信号の位相を比較し、最適なタイミングになるように調整している。ところでクロックの周期が非常に短くなった場合、入力信号が1クロックサイクル毎に変化した場合と、同じ値が連続した場合とでは、最適な入力タイミングに差が生じる。
図35は、この問題を説明する図であり、実線が入力信号が1クロックサイクル毎に変化する場合の入力信号のレベルの変化を、破線が同じ値が連続した場合の入力信号のレベルの変化を示す。図示のように、入力信号が1クロックサイクル毎に変化すると、入力信号が十分なレベルまで変化しないうちに次のレベルに変化を始める。すなわち、入力信号は途中のレベルまでしか変化せず、振幅が小さくなる。これに対して入力信号が同じ値で連続した場合、入力信号は十分なレベルまで変化する。このような同じ値で連続して十分なレベルになった信号が変化した場合、直前の2サイクルで変化して途中のレベルまでしか変化していない場合に比べて振幅の変化が大きくなり、中間のレベルを通過して変化するまでの時間に遅れが生じる。従って、クロックCLKの立ち下がりエッジで位相比較を行う場合、入力信号の値が直前の2サイクルで変化した場合と、同じ値である場合で、位相比較の結果にこの遅れの分だけ差を生じることになる。このため、どのような入力信号のパターンに対して入力タイミングを調整するかにより、図の遅れの分だけずれが生じる。また、図示のように、変化した入力信号を取り込む場合の最適なタイミングも、入力信号の値が直前の2サイクルで変化した場合と、同じ値である場合で差が生じる。
第5実施例では、上記の入力タイミングの調整において入力信号パターンにより差が生じる問題を、入力信号の値が直前の2サイクルで変化した場合にのみ位相の比較を行って、フィードバック補正を行うことで解決する。
図36は、第5実施例の受信側半導体装置の入力回路と入力タイミング調整回路の構成を示す図である。図示のように、第5実施例の入力回路と入力タイミング調整回路は、図24に示した第2実施例の入力部と類似しており、ラッチ306の出力を更にラッチするラッチ307が設けられ、その出力が位相判定回路308にRG3として与えられることである。ラッチ307は、ラッチ306の出力を、ラッチ306と同様にディレイ回路−1の出力する入力タイミング信号に同期して取り込むので、ラッチ306の出力を更に1クロックサイクル保持する役割を行うことになる。また、ディレイ制御回路303の制御値を変更するタイミングとしてディレイ回路301の出力をディレイ回路309で遅延させた信号が入力されるが、これは図32に示した第3実施例の入力部と同じである。
図37は、第5実施例における入力信号のパターンと、各ラッチの取込み値と、位相判定の関係を説明する図である。ラッチ305、306、307は、それぞれ入力タイミング信号に同期して、入力信号、及び前段の出力を取り込み、RG2、RG0、RG3として出力し、ラッチ304は入力タイミング信号から正確に半周期ずれたタイミングで入力信号を取り込んで、RG1として出力するので、RG0、RG1、RG2、RG3は、図示のような関係になる。Qaは「高(H)」又は「低(L)」のままで変化しない入力信号を表し、Qbは1つ前のサイクルでは変化したが、直前のサイクルでは変化しなかった入力信号を表し、QcとQdは1つ前のサイクルでは変化しなかったが、直前のサイクルでは変化した入力信号を表し、Qcは入力タイミング信号DCLKの位相が進んでいる場合を、Qdは入力タイミング信号DCLKの位相が遅れている場合を表し、QeとQfは直前の2サイクルで連続して変化した場合を表し、Qeは入力タイミング信号DCLKの位相が進んでいる場合を、Qfは入力タイミング信号DCLKの位相が遅れている場合を表す。上記のように、第5実施例では、入力信号の値が直前の2サイクルで変化した場合にのみ位相の比較を行って、フィードバック補正を行うので、入力信号Qeの場合には入力タイミング信号DCLKを遅延させるようにディレイ制御回路303の制御値を変化させ、入力信号Qfの場合には入力タイミング信号DCLKを進ませるようにディレイ制御回路303の制御値を変化させ、それ以外の場合には、ディレイ制御回路303の制御値を維持する。
図38は位相判定回路308の回路図であり、図39はその真理値表である。図38の回路により図39の真理値表になるので、入力信号が図37のQeとQfの場合のみ、ホールド信号は「低(L)」になって、アップ/ダウン信号に応じてディレイ制御回路303の制御値を変化させ、入力信号が図37のQa〜Qdの場合には、ホールド信号は「高(H)」になって、ディレイ制御回路303の制御値を維持する。
上記のように、変化した入力信号を取り込む場合の最適なタイミングも、入力信号の値が直前の2サイクルで変化した場合と、同じ値である場合で差が生じる。第6実施例では、第5実施例と同じように入力タイミングを調整した上で、入力信号が直前の2サイクルで異なる値の場合にはその入力タイミング信号に同期して入力信号を取り込むが、直前の2サイクルで同じ値の場合には、次の入力タイミング信号を所定量遅延させて取り込む。
図40は、第6実施例の入力回路の構成を示す図であり、図36の第5実施例とは、スイッチ310と補正用ディレイ回路311が設けられ、ラッチ305に供給される入力タイミング信号DCLKを、補正制御信号H1に応じて、所定量遅延するかしないかの選択が可能になっている点が異なる。図41は第6実施例のスイッチ310と補正用ディレイ回路311の構成を示す図であり、トランスファーゲート321と322及びインバータ323がスイッチ310を構成し、2段のインバータ324と325が補正用ディレイ回路311を構成する。位相判定回路308から出力される補正制御信号H1は、入力信号の値が直前の2サイクルで変化した場合には「L」に、同じ値である場合には「H」になる。補正制御信号H1が「L」の時には、トランスファーゲート322が通過状態になり、入力タイミング信号DCLKは遅延されずにそのままラッチ305に入力され、補正制御信号H1が「H」の時には、トランスファーゲート321が通過状態になり、入力タイミング信号DCLKは2段のインバータ324と325の分遅延されてラッチ305に入力される。
図42は第6実施例の位相判定回路312の構成を示す図であり、図43はその真理値表である。図38及び図39と比較して明らかなように、第5実施例の位相判定回路308に、直前の2サイクルで入力信号の値が異なるか判定する機能が付加されており、直前の2サイクルで入力信号の値が異なるQa、Qc及びQdの場合には補正制御信号H1が「H」になり、直前の2サイクルで入力信号の値が同じであるQb、Qe及びQfの場合には補正制御信号H1が「L」になる。
これまで説明した第1実施例から第6実施例では、受信側半導体装置は図8に示すような基本構成を有し、各入力回路毎に入力タイミング調整回路を設けて、各入力信号毎に最適なタイミングで取り込めるように調整していた。そのため、各入力回路から出力される信号の位相が異なるという問題が生じる。図44は、このような問題を説明する図である。図44では、各入力回路53−0、53−1、…、53−nに入力される時点の入力信号をQ0、Q1、Q2とし、各入力回路の出力が内部回路55に入力される時点の信号をQ00、Q10、Q20で表す。入力信号Q0、Q1、Q2の位相が図示のようにずれていると、各入力タイミング調整回路54−0、54−1、…、54−nは、各入力回路53−0、53−1、…、53−nが入力信号Q0、Q1、…、Qnをもっとも適当なタイミングで取り込むように内部クロックの位相を調整するので、各入力回路から出力されて内部回路55に入力される信号Q00、Q10、Q20の位相も同じようにずれている。図45は、信号Q00、Q10、Q20が1クロックサイクル内でどのようなサイクルの信号になるかを示した図であり、t0からt4は図44に示したタイミングを表す。図45に示すように、t0−t1の間では、Q00とQ20は同じサイクルの信号Q0BとQ2Bになるが、Q10は前のサイクルの信号Q1Aになる。同様に、t2−t3の間では、Q00とQ10は同じサイクルの信号Q0BとQ1Bになるが、Q20は次のサイクルの信号Q2Cになる。もし、内部回路55で、t0−t1やt2−t4の間の信号に基づいた処理が行われると、異なった信号の組みに対して処理が行われることになり、誤った処理が行われることになるという問題が生じる。
次に説明する実施例では、この問題が解決され、受信側でクロックと信号の位相がずれていても、また受信側の半導体装置内部でクロック入力回路と他の信号の入力回路の間で位相差が生じる場合でも高速の信号の受渡しが可能になる。
図46は、本発明の第7実施例の半導体装置の基本構成を示す図である。図46に示すように、第7実施例の半導体装置は、図8に示した本発明の基本構成に加えて、各入力回路の出力信号間の位相差を検出して、同一位相になるように調整する信号間タイミング調整回路を備える。なお、第7実施例の半導体装置システムは図3に示したようなシステムであるとする。
図47は、第7実施例における受信側半導体装置のクロック入力回路と入力部と信号間タイミング調整回路の構成を示す図である。
図47に示すように、第7実施例の受信側半導体装置は、駆動側半導体装置から送信されるクロックが入力され、内部クロックφとφ1/2を発生するクロック入力回路142と、駆動側半導体装置から送信される信号を入力信号として取り込む入力部144−0、144−1、…、144−nと、入力部の出力の論理積を算出するANDゲート401と、ディレイ回路402と、ディレイ制御回路403と、ラッチパルス発生回路404と、ラッチパルス発生回路404の出力するラッチパルスQSYNに従って入力部144−0、144−1、…、144−nの出力をラッチするラッチ回路405−0、405−1、…、405−nとを有する。クロック入力回路142と入力部144−0、144−1、…、144−nは、第2実施例と同じであり、クロック入力回路142は図23に示したような構成を有し、各入力部は図24に示したような構成を有する。従って、第7実施例の半導体装置の入力回路では、半導体装置の動作中は常時位相ずれを調整する動作を行うことができる。しかし、第7実施例では、モード信号が入力され、入力タイミング調整モード時のみ、調整動作が行われる。
図48は図47のディレイ制御回路403の構成を示す図であり、図49はディレイ回路402とラッチパルス発生回路404の構成を示す図であり、図50はディレイ制御回路403の動作を示すタイムチャートである。図47に示すように、ANDゲート401の出力QANDは、入力部144−0、144−1、…、144−nの出力Q00、Q10、…、Qn1がすべて「高(H)」の時に「H」になる。受信タイミング調整モードにおいて入力される入力信号は、「低(L)」が連続した中に特定サイクルのみ「H」になるパターンで変化する。この「H」になるサイクルの部分で、Q00、Q10、…、Qn1がすべて「H」になると、QANDが「H」のパルスになる。このQANDの立ち上がりは、一番遅れている入力信号が立ち上がるタイミングであり、QANDが「H」の期間は、Q00、Q10、…、Qn1がすべて同じサイクルの信号である期間を示している。従って、この期間に、ラッチ回路405−0、405−1、…、405−nで入力部144−0、144−1、…、144−nの出力をラッチすれば、すべての出力が揃うことになる。図48のa0、a1、…、amの信号は徐々に遅延されており、図50に示すように変化している。QANDが立ち上がると、フリップフロップF/Fがa0、a1、…、amの信号をラッチするが、QANDが立ち上がるタイミングでラッチする値が異なる。例えば、図48のb0、b1、…、bmは、b1までが「H」で、それ以降は「L」になる。このような信号が図48のNORゲート列に入力されると、変化点の部分の出力のみが「H」になる。図23では、c2のみが「H」になっている。このような信号c0、c1、…、cnがディレイ回路402に入力されると、cが「H」のディレイ回路のNANDゲートのみが通過状態になる。通過状態になるNANDゲートの位置でクロックφの遅延量が決定される。最終のNORゲートが、クロックφの立ち上がりから所定幅のパルスQSYNを発生させる。このようにして、QANDが立ち上がった直後にQSYNが出力され、ラッチ回路405−0、405−1、…、405−nがQANDが「H」の期間内に入力部144−0、144−1、…、144−nの出力Q00、Q10、…、Qn0をラッチする。
図51は、第7実施例の半導体装置における入力タイミングの調整原理を説明する図である。図51に示すように、入力信号Q0、Q1、…、Qnは、クロックCLK(R)に対してずれていると同時に、相互にもずれている。このような入力信号を取り込む場合、入力信号Q0、Q1、…、Qnが安定した時点で取り込む必要がある。すなわち、図で点で示した時点でラッチすることが望ましい。そこで、入力回路では、点で示した時点でラッチするように内部クロックの位相を調整し、Q00、Q10、…、Qn0が出力される。1パルスの信号に対しては、図示のようにQ00、Q10、…、Qn0がすべて「H」になる時にQANDが「H」になり、これに応じてラッチパルスQSYNが出力され、Q00、Q10、…、Qn0がすべて揃った時点で後段のラッチ回路にラッチされる。
図52は、第7実施例の入力タイミング調整を示す図である。図示のように、入力信号Q0、Q1、…、Qnは安定している期間が限られているが、各入力回路ではそれぞれこの限られた安定期間で入力信号を取り込み、Q00、Q10、…、Qn0を出力する。次いで、Q00、Q10、…、Qn0の同じサイクルの信号が揃った時点で、QSYNが出力され、次段のラッチ回路で同じサイクルの信号がラッチされてQ01、Q11、…、Qn1として出力される。
図53は、第7実施例の半導体装置の全体構成を示す図であり、SDRAMの場合を例として示してある。SDRAM400は、/RAS、/CAS、/WE等が入力される制御信号入力回路411と、アドレス信号が入力されるアドレス信号入力回路部412と、クロックCLKが入力されるクロック発生回路413と、データ信号が入力されるデータ信号入力回路部414と、モードレジスタ・デコーダ415と、信号間タイミング調整回路416とを有する。データ信号入力回路部414と、信号間タイミング調整回路416にこれまで説明した第1実施例の回路が適用されている。前述のように、SDRAMでは高速で信号の入出力を行う必要があるのは、データ信号であり、それ以外の制御信号やアドレス信号はデータ信号に比べて低速で信号の入出力を行えばよい。そこで、モード指示信号は、比較的低速で信号の入力が行われる信号端子、すなわち、制御信号やアドレス信号を組み合わせて行われ、モードレジスタ・デコーダ415で、制御信号からモードレジスタセットが指示されたかを判定し、その上でアドレス信号の値から処理の内容を判定する。
図54は、第7実施例における動作モードの判定と入力タイミング調整モードを説明する図である。図示のように、モードレジスタ・デコーダ415は、制御信号によりモードレジスタセットが指示されると、アドレス信号により入力タイミングを合わせる処理であることを解読し、これまで説明した入力タイミングを調整する処理が開始される。そして、再び制御信号によりモードレジスタセットが指示され、アドレス信号により入力タイミングを合わせる処理を終了する指示が行われると、タイミング調整を停止し、その時点の調整値を維持する。
図55は、入力タイミング調整モードを指示するために別の信号入力端子を設けた変形例を示す図であり、RESET信号が入力されると、SDRAMの内部がリセットされ、新たに入力タイミング調整モードが開始される。
図56は、この変形例における動作モードの判定と入力タイミング調整モードを説明する図である。入力タイミング調整モードの指示がRESET信号により行われる点以外は、図54と同じである。
図57は、第8実施例の半導体装置の構成を示す図である。第7実施例と異なるのは、ラッチ回路405−0、405−1、…、405−nの代わりに、ディレイ回路431−0、431−1、…、431−nが設けれている…と、それに伴って、ディレイ制御レジスタ430が設けられている点である。また、第7実施例のディレイ回路402とディレイ制御回路403も除かれ、内部回路でこれらの入力信号を受けるレジスタ432が示されている。ディレイ制御レジスタ430には、QANDに加えて、各入力回路の出力Q00、Q10、…、Qn0が入力されている。ディレイ制御レジスタ430は、Q00、Q10、…、Qn0のうちもっとも遅い信号にあわせるように、各ディレイ回路431−0、431−1、…、431−nでの遅延量を設定する制御を行う。そのため、ディレイ制御レジスタ430では、QANDとQ00、Q10、…、Qn0の排他的論理和を算出してQ00、Q10、…、Qn0の遅延量を算出して記憶し、その記憶値に基づいてディレイ回路431−0、431−1、…、431−nでの遅延量を設定する。
入力信号の受信タイミングの調整は調整モード時に行い、調整モード終了後は調整値を維持する。調整モードであることを認識するには、外部から入力されるモード指示信号を認識するモードレジスタ・デコーダを備えるようにする。この受信タイミング調整モード中には、駆動側半導体装置からは所定の信号パターンを有する信号が出力される。このパターンは、例えば、同じ論理値が連続した中に特定サイクルのみ異なる論理値になるパターンである。
SDRAMでは高速で信号の入出力を行う必要があるのは、データ信号であり、それ以外の制御信号やアドレス信号はデータ信号に比べて低速で信号の入出力を行えばよい。そこで、モード指示信号は、比較的低速で信号の入力が行われる信号端子、すなわち、長い周期の入力信号の値を組み合わせて行うとよい。また、モード指示信号を入力する専用の入力信号端子を設けてもよい。モード指示信号として、例えば、リセット信号を使用してもよく、リセット信号が入力された場合には、自動的に所定期間調整モードに入るようにしてもよい。その場合、受信タイミング調整モードの終了を指示した後も、所定期間の間は所定の信号パターンの入力信号が入力されるようにすることが望ましい。
図58は、本発明の第9実施例の半導体装置の基本構成を示す図である。図58に示すように、本発明の第9実施例の半導体装置は、入力回路部をカレントミラー回路等の入力バッファ441−0、441−1、…、441−nで構成し、各入力バッファの出力が所定の内部クロックで最適に取り込めるように、各入力バッファの出力の遅延量を調整した後に取り込むタイミング調整取込み回路443を備えることを特徴とする。タイミング調整取込み回路443は、入力信号のタイミングを調整するタイミング調整回路445−0、445−1、…、445−nと、タイミング制御回路444−0、444−1、…、444−nの組みが各入力信号毎に設けられている。この組みは、具体的には、入力バッファ回路441−0、441−1、…、441−nの出力を遅延させ、遅延量が選択可能なディレイ回路と、内部クロックに同期して前記入力バッファ回路の出力を取り込む信号入力回路と、信号入力回路の出力信号値を判定することにより、入力バッファ回路の出力の内部クロックに対する位相を判定する位相判定回路と、位相判定回路の判定結果に基づいて、入力バッファ回路の出力が内部クロックに対して所定の位相になるようにディレイ回路の遅延量を制御するディレイ制御回路とを備える。
図59は、第9実施例の半導体装置の構成を示す図である。第7実施例と異なるのは、内部回路で入力信号を受けるレジスタ456の近くに信号間タイミング調整回路455を配置し、その近くに、タイミング調整ラッチ回路454−0、454−1、…、454−nとシフトクロック発生回路453を配置し、入力部には、カレントミラー回路452−0、452−1、…、452−nのみを配置した…である。信号間タイミング調整回路455で各信号の位相が一致するように調整しても、信号間タイミング調整回路45からレジスタ456までの距離が長いと、その間に位相差が生じる恐れがある。そのため、信号間タイミング調整回路455はレジスタ456の近くに配置することが望ましい。入力信号を取り込む入力回路もこの近くに配置した方がよい。そのため、第9実施例では、第7実施例の入力回路を、カレントミラー回路と入力タイミングを調整してラッチする部分のタイミングラッチ回路とに分け、カレントミラー回路452−0、452−1、…、452−nは信号端子の近傍に配置し、タイミングラッチ回路454−0、454−1、…、454−nは信号間タイミング調整回路455の近傍に配置する。それに応じて、シフトクロック発生回路453もタイミングラッチ回路454−0、454−1、…、454−nの近傍に配置することが望ましい。
図60は、第9実施例における入力タイミング調整を説明する図である。図52に示した第7実施例の動作と異なるのは、入力信号が不確定な状態を含んだまま内部のタイミングラッチ回路454−0、454−1、…、454−nまで送られる点だけである。
図61は、第10実施例の半導体装置の構成を示す図である。この実施例は、第9実施例と同じように、入力信号端子に近い所にはカレントミラー回路452−0、452−1、…、452−nを配置するが、タイミング調整ラッチ回路454−0、454−1、…、454−nと信号間タイミング調整回路455の代わりにタイミング調整ラッチ回路458−0、458−1、…、458−nを配置した点である。
図62は、タイミング調整ラッチ回路458−0、458−1、…、458−nの1つの構成を示す図である。このタイミング調整ラッチ回路は、クロックを遅延させるのではなく、入力信号の遅延量を調整して入力信号Q0Z、Q1Z、…、Q2Zの位相をシフトクロック発生回路453から出力されるクロックφとφ1/2の位相に合わせる。ディレイ回路460、ディレイ制御回路461、ラッチ回路462と463と464、及び位相判定回路465は、図32に示したものと同じである。従って、これ以上の詳しい説明は省略する。
図63は、第10実施例におけるタイミング調整を示す図である。Q0、Q1、Q2はカレントミラー回路452−0、452−1、…、452−nへの入力信号を、Q0Z、Q1Z、Q2Zはタイミング調整ラッチ回路454−0、454−1、…、454−nへの入力信号を、Q00、Q10、Q20はタイミング調整ラッチ回路の内部で位相を揃えた状態を、Q01、Q11、Q21はタイミング調整ラッチ回路からの出力を示す。図示のように、タイミング調整ラッチ回路454−0、454−1、…、454−nの内部で所定の内部クロックで最適に取り込めるように位相を揃えた上で、ラッチ回路に取り込まれるので、タイミング調整ラッチ回路から出力される信号の位相は揃っている。このように、第10実施例の半導体装置では、所定の内部クロックで最適に取り込めるように、入力信号の遅延量を調整する。従って、入力信号が複数ある場合でも、各入力信号毎にこの調整を行えば、すべての入力信号の位相が揃うので、それ以上のタイミング調整は必要ない。
図64は、入力信号間のずれ(スキュー)が、1クロックサイクル以上の場合を示している。この場合、第7実施例のように、入力回路でこれらの入力信号を取り込んでた出力Q00、Q10、…、Qn0は同じサイクルの部分が相互に重ならない。従って、図47に示した構成では、QANDが「H」になることがなく、入力信号間に位相を揃えることができない。第11実施例は、この問題を解決した実施例である。
図65は、第11実施例の構成を示す図である。第7実施例の構成と異なるのは、入力回路501の部分に、遅延回路502と、1/2分周回路503と、ラッチ回路504と505とが追加され、ラッチパルス発生回路510からQSYNA、QSYNB、QSYNCが出力される点である。
図66図67は、第11実施例の半導体装置の動作を説明する図である。この図を参照して第11実施例の動作を説明する。
1/2分周回路503からはクロックを1/2分周した逆相の1/2分周クロックが出力され、ラッチ回路504と505は逆相の1/2分周クロックに従って入力回路501の出力をラッチするので、ラッチ回路504はQ00Aをラッチし、ラッチ回路505はQ00Bをラッチする。他の入力信号についても同様である。ORゲート506−0でラッチ回路504と505の出力をとると、Q00AとQ00Bが「H」である期間を示す信号が出力される。いわば3クロックサイクルに広げられた入力信号が出力されることになる。従って、これをANDゲート507に入力すると、その出力QANDは、3クロックサイクルに広げられた入力信号が重なる期間を示すことになる。入力信号の位相差が3クロックサイクル以下であれば、QANDが「H」に変化することになる。後は、第1実施例と同様に、QSYNAが生成される。ラッチ回路504と505はラッチした入力信号を2クロックサイクルにわたって保持し、ラッチ回路504と505の出力する信号は1クロックサイクルずれた信号である。ラッチ回路511−0は、ラッチ回路504の出力する信号を更に1クロックサイクル保持する動作を行う。ラッチ回路504と505の出力及びラッチ回路511−0の出力はラッチ/選択回路512−0に入力されるので、各入力信号の遅延量に応じて、ラッチ/選択回路512−0はこれらのうちのいずれかを選択してラッチする。QSYNBとQSYNCはこのためのラッチ信号である。
図68は第12実施例の入力信号を示す図である。第12実施例では、クロックCLKの2倍の周波数でデータ信号が入力される。そして、一旦取り込まれたデータ信号は連続した2つのデータ信号が並列のデータ信号に変換されて処理される。第12実施例では、第11実施例で示した構成を利用して、この変化を行う。
図69は、第12実施例の半導体装置の構成を示す図であり、第11実施例と異なるのは、ラッチ/選択回路512−0、…、512−nが連続した2つの信号を出力する点と、それをラッチするラッチ回路513−0、…、513−nが設けられている点である。
図70と図71は、第12実施例の半導体装置の動作を説明する図である。この図を参照して第12実施例の動作を説明する。
ラッチ回路511−1は、Q01Aに対してQ01Bを1クロックサイクル遅れて出力する。そして、ラッチ/選択回路512−0、…、512−nは同じクロックサイクルの信号の位相を合わせて出力する。すなわち、次のクロックサイクルの信号Q01BはQ01Aに対して1クロックサイクル遅れて出力される。しかし、Q01AとQ11Aは位相が一致しており、Q01BとQ11Bも位相が一致している。これをラッチ回路513−0、…、513−nが、QSYNCに同期してラッチすることにより、ラッチ回路513−0、…、513−nから出力されるQ02A、Q02B、Q12A、Q12Bの位相がすべて一致する。これにより、信号を並列にする変換が行われたことになる。
図72は、第13実施例の構成を示す図である。第13実施例は、第10実施例において、入力信号の位相が1クロックサイクル以上ずれている場合にも、入力タイミングの調整が行えるようにするものである。図72に示すように、カレントミラー回路452の出力を1/2分周する1/2分周回路521と、タイミング調整ライッチ回路455へ入力する信号を、カレントミラー回路452の出力と、1/2分周回路521の出力との間で切り換える切り換え回路522が設けられている。この場合、受信タイミング調整モードの初期段階では、1/2分周回路の出力がタイミング調整ライッチ回路455へ入力されるように切り換え、その後カレントミラー回路452出力がタイミング調整ライッチ回路455へ入力されるように切り換える。この場合、受信タイミング調整モードでは、入力信号として4クロックサイクルの周期以上の周期で変化するパターンの信号を入力する。
以上説明した第7実施例から第13実施例では、入力タイミング調整されて取り込まれた入力信号を再同期化するのに、所定のパターンで変化する入力信号が必要である。そのため、調整モード時を設け、調整モード時には駆動側からそのようなパターンで変化する信号を出力する必要がある。回路における遅延量は、温度変化や電源電圧の変化に応じて変化する。そのため、定期的に調整モードを設けて、このような変化があっても最適なタイミングで入力信号を取り込むと共に、再同期化する必要がある。しかし、このような調整モードを設けずに、常時フィードバック制御して最適なタイミングで入力信号を取り込むと共に、再同期化できることが望まれる。
前述のように、第2実施例から第6実施例では、調整モードを設けずに、最適なタイミングで入力信号を取り込むようにフィードバック調整が行える。そこで、入力信号にかかわらず再同期化が行えれば、常時フィードバック制御して最適なタイミングで入力信号を取り込むと共に、再同期化できることになる。第14実施例はこのようなことを可能にした実施例である。第14実施例では、各入力回路における入力タイミング信号が、入力回路から出力される信号の位相に対応することに着目して、入力タイミング信号を利用してもっとも遅い入力信号を検出する。
図73は、第14実施例の受信側半導体装置の構成を示す図である。図示のように、第14実施例の半導体装置は、ANDゲート401に入力する信号を入力タイミング信号を分周した信号DK0、…、DKnとした以外は、図47に示した第7実施例と同じである。図74は、第14実施例の入力回路の構成を示す図である。図示のように、1/2分周回路521が設けられている点を除けば、図24に示した回路と同じである。
図75は、第14実施例の半導体装置の動作を説明する図である。各入力タイミング信号DCLKは、各入力回路の出力Q00、Q10、…、Qn0が変化する直前に立ち上がる、クロックと同じ周期の信号である。従って、1/2分周回路521で入力タイミング信号DCLKを分周すると、ほぼQ00、Q10、…、Qn0と同じように変化する信号DK0、…、DKnになる。ここで、パワーオンリセット時に、信号DK0、…、DKnが同じ位相になるようにすれば、信号DK0、…、DKnは入力タイミング信号DCLKの立ち上がりエッジで変化するクロックの2倍の周期で変化する信号となる。従って、信号DK0、…、DKnをANDゲート401に入力すれば、第7実施例と同じように、再同期化することができる。
入力回路で取り込んだ入力信号を内部回路に供給する場合、信号間タイミング調整回路は内部回路の近傍に設けることが望ましい。更に、入力部はカレントミラー回路等の入力バッファとし、ラッチ回路や入力タイミング調整回路は内部回路の近傍に設けるようにしてもよい。
入力タイミング調整回路は、複数個まとめて配置し、クロックの位相を調整するためのディレイ回路等を共用することが望ましい。これにより、回路規模を低減できる。
入力信号の位相ずれが1クロックサイクル以上の場合には、複数の入力回路の出力がすべて重なる状態は存在しないため、その論理積は変化しない。そのため、そのような場合には、入力回路に、前記入力信号を取り込んだ後入力信号の連続する2つの信号を並列の信号に変換する並列変換回路を設け、それらの出力が重なる期間を検出するようにする。そして、信号間タイミング調整回路は、並列変換回路の出力を同一サイクルの信号が同一位相になるように調整する。更に、SDRAMでは、データ信号のサイクルがクロックのサイクルより短く、入力信号の連続した複数のサイクルの信号で組みをなす場合がある。このような場合には、この並列変換回路を利用して連続する入力信号の並列信号への変換を行うようにする。この場合、信号間タイミング調整回路は、1組の並列変換回路の出力を同一位相になるように調整する。
以上説明したように、第7実施例から第13実施例では、信号経路の伝達時間の差のために、受信したクロックと入力信号の間に位相ずれがあっても、位相ずれをなくした状態で取り込まれ、しかも取り込んで出力される信号にも位相ずれがないので、誤動作等を生じなくなる。
第1実施例から第13実施例における受信側半導体装置は、図8に示すように、各入力回路毎に入力タイミング調整回路を有している。これにより各入力信号間にスキューがある場合でも、各入力信号を最適なタイミングで取り込むことができる。しかし、このような半導体装置は、各入力信号毎に入力タイミング調整回路を設ける必要があるので、回路が大きくなるという問題がある。半導体装置システムでは、配線や負荷の関係から、クロックと入力信号群の間のスキューは大きいが、入力信号間のスキューは小さいという例が数多くある。そのような場合には、1つの代表的な入力信号についてこれまで説明した入力タイミング調整回路を設け、他の入力信号については同じ入力タイミング信号に同期して取り込むようにしてもよい。これであれば回路規模は大幅に縮小できる上、ほぼ最適なタイミングで入力信号を取り込むことができる。
また、半導体装置システムでは、図1に示すように、駆動側半導体装置11から受信側半導体装置12への信号の伝達を行う配線をできるだけ平行に配置することで信号間のスキューをできるだけ小さくしている。そのため、受信側半導体装置の端子に入力されるクロックと入力信号間のスキューは無視できる程度に小さい場合がある。受信側半導体装置の内部回路は、受信したクロックから発生された内部クロックに同期して動作するため、内部クロックを内部の各所に分配する必要があり、しかも各部は内部クロックに同期して動作するため、分配された内部クロックは位相差が小さいことが必要である。内部クロックの分配の個数が多く装置内に分散している場合、内部クロック発生回路から分配先までの配線長が長くなる上、途中に多数のクロックバッファを設ける必要があるため、分配された内部クロックは入力されたクロックに対して大きな遅延を生じることになる。入力回路がこのような遅延した内部クロックに同期して入力信号を取り込む場合、たとえ入力端子の所ではクロックと入力信号のスキューが小さくても、入力回路が入力信号を取り込む内部クロック、すなわち入力タイミング信号と入力信号の間には大きな位相差が生じることになる。このような場合には、上記のように、代表的な1つの入力信号についてこれまで説明した入力タイミング調整回路を設け、そこで調整した入力タイミング信号に同期して入力信号を取り込むことが考えられる。しかし、入力タイミング調整ができるようにするには、図16に示すようなシフトクロック発生回路を駆動側又は受信側のいずれかに設ける必要があり、更にディレイ回路やディレイ制御回路を有する入力タイミング調整を設ける必要があり、そのための回路規模が大きいという問題がある。そこで、入力タイミング調整ができるようにするための回路をできるだけ小さな規模で実現することが要求される。
上記のような、クロック分配システムによる遅延で分配されるクロックと入力信号の間に生じる位相差が問題である場合、クロック分配システムは、かなりの回路規模になるため、そこでの遅延量は温度や電源電圧により変動する。そのため、上記の位相差は環境により変動する可能性があり、タイミングを一定量ずらすだけでは良好なタイミングで入力信号を取り込むことはできない。この位相差は、半導体装置内で内部クロックを分配する分配システムにおける遅延であり、いいかえれば入力されたクロックと分配されたクロックの位相差であるといえる。そこで、第15実施例では、入力されたクロックと分配されたクロックの位相差をなくすように調整する。
図76は、本発明の第15実施例の受信側半導体装置の内部クロック発生回路と信号入力回路の部分の構成を示す図である。
図76において、参照番号610は外部クロックCLKから内部クロックCLK2を発生するクロック発生回路であり、620はダミー入力回路であり、630は信号入力回路である。図76では、信号入力回路は1個だけ示してあるが、入力信号の個数分存在する。また、ダミー入力回路620は、すべての信号入力回路に共通に1個設けるが、複数の信号入力回路で構成される組み毎に設ける場合も、各信号入力回路毎に設けてもよい。クロック発生回路610は、従来例のクロック入力回路と同様に、入力された外部クロックCLKを正確に受けるためのクロックカレントミラー回路611と、クロックカレントミラー回路611の出力をバッファリングするクロックバッファ回路612とを備え、更に、ディレイ回路613とディレイ回路613での遅延量を制御するディレイ制御回路614とを備える。
信号入力回路630は、従来の信号入力回路と同様に、入力信号を受けるカレントミラー回路631と、入力バッファ回路632と、ラッチ回路633とを備える。信号入力回路630は信号入力端子の近くに設けられるのが一般的であり、本実施例でも信号入力端子の近くに設けられる。ダミー入力回路620は、信号入力回路630と同等の構成を有する回路であり、外部クロックCLKが入力されるカレントミラー回路631と、入力バッファ回路632と、ラッチ回路633に対応するダミーカレントミラー回路621と、ダミー入力バッファ回路622と、ダミーラッチ回路623とを備える。ダミー入力回路620も、外部クロックCLKが入力されるクロック入力端子の近くに設けられる。それぞれのカレントミラー回路、バッファ回路、及びラッチ回路は従来のものがそのまま使用される。従って、カレントミラー回路とバッファ回路については、ここでは説明を省略する。また、ラッチ回路は図20に示したような構成を有し、ディレイ回路613及びディレイ制御回路614は図19のような構成を有する。
図77は、図76の動作を示すタイムチャートである。
図77に示すように、入力信号は、外部クロックCLKの立ち上がりの前後で有効になるように入力される。クロックカレントミラー回路611の出力CLK0とクロックバッファ回路612の出力CLK1は、それぞれの回路での遅延のために、図示のようになる。破線の矢印で示したように、CLK1はディレイ回路613でクロックの約1サイクル分遅延されて出力される。カレントミラー回路631の出力SIG0と入力信号バッファ回路632の出力SIG1は、入力信号がそれぞれの回路で遅延されるために、有効な期間は図示のようになる。ダミーカレント回路621には外部クロックCLKが入力されるが、ダミーカレント回路621とダミーバッファ回路622は、カレントミラー回路631と入力信号バッファ回路632の遅延量と同じ遅延を生じるので、その出力DCLK0とDCLK1は図示のようになる。すなわち、DCLK1はSIG1の有効期間に対し、最適なタイミングで立ち上がる。従って、内部クロックCLK2がDCLK1と同じタイミングで立ち上がるようにディレイ回路613における遅延量を調整すればよい。
ダミーラッチ回路623では、内部クロックCLK2に応じてDCLK1がラッチされる。DCLK1が内部クロックCLK2より先に立ち上がるか後で立ち上がるかによってダミーラッチ回路623の出力CLKCが異なるので、CLKCに応じてディレイ制御回路614のアップ・ダウンカウンタをカウントアップさせるかカウントダウンさせ、内部クロックCLK2がDCLK1と同じタイミングで立ち上がるようにディレイ回路613における遅延量をフィードバック調整する。
図78はDCLK1が内部クロックCLK2に対して進んでいる場合を示すタイムチャートであり、図79はDCLK1が内部クロックCLK2に対して遅れている場合を示すタイムチャートである。
図78に示すように、入力信号は外部クロックCLKの立ち上がりの前後の適切な期間有効であるとする。クロック発生回路610から出力されダミーラッチ回路623に入力される内部クロックCLK2に対して、ダミーバッファ回路622から出力されるDCLK1がaだけ進んでいるとする。この場合、ダミーラッチ回路623の出力CLKCは図示のように変化し、内部クロックCLK2が「H」である期間「H」である。ディレイ制御回路614は、CLKCが「H」で内部クロックCLK2が立ち下がる時にディレイ回路613での遅延量を減少させる。これにより、内部クロックCLK2はDCLK1と立ち上がりが一致するように変化する。逆に、図79に示すように、内部クロックCLK2に対してDCLK1がbだけ遅れている場合、CLKCは図示のようにほぼ全期間にわたって「L」である。ディレイ制御回路614は、CLKCが「L」で内部クロックCLK2が立ち下がる時にディレイ回路613での遅延量を増加させる。これにより、内部クロックCLK2はDCLK1と立ち上がりが一致するように変化する。
以上説明したように、第15実施例では、信号入力回路と等価なダミー入力回路に外部クロックを入力し、内部クロックでラッチした時の値から、信号入力回路で入力信号を内部クロックでラッチする場合のタイミングがどちらにずれているか検出し、その検出結果に基づいて最適なタイミングになるように調整しているため、温度条件や電源電圧にかかわらず、常に最適なタイミングで入力信号を取り込むことができる。
図80は、第16実施例の半導体装置のクロック発生回路と信号入力回路の部分の構成を示す図である。第15実施例と異なるのは、クロック発生回路610で発生された内部クロックを、半導体装置内の各部分に分配するクロック分配回路640が設けられており、クロック分配回路640から分配される内部クロックがダミー入力回路625と信号入力回路635に入力される点と、ダミー入力回路625と信号入力回路635が、外部クロックCLK又は入力信号がラッチ回路に直接入力されるラッチ型である点である。
既に説明したように、外部からの信号を受ける部分にカレントミラー回路を使用するのは、信号の変化を正確に取り込むためである。信号を取り込む時の誤差はそのままタイミングの誤差になるため、従来は信号の変化を正確に取り込むことが可能なカレントミラー回路を使用していた。カレントミラー回路は信号の変化を正確に取り込むことが可能であるが、常時電流が流れるため消費電力が大きくなるという問題があった。本発明を適用すれば、半導体装置の内部で入力信号が所定の適切なタイミングで取り込まれるように調整されるため、カレントミラー回路を使用しなくても信号を取り込む時のタイミングの誤差は発生しない。従って、図示のように、信号入力回路35を、カレントミラー回路を使用せずに、入力信号ラッチ回路636とバッファ回路637で構成することができる。もちろん、ダミー入力回路625も、等価なダミーラッチ回路626とダミーバッファ回路627で構成する。これにより消費電力が低減できる。
図81は、第16実施例における、クロック分配回路640と、クロック発生回路610と、ダミー入力回路(DSC)625と、複数の信号入力回路の配置例を示す図である。
図示のように、この半導体装置には、複数の信号Sig−1、Sig−2、…、Sig−nが入力されるので、入力信号毎に信号入力回路(SC−1、SC−2、…、SC−n)35−1、35−2、…、35−nが設けられている。クロック分配回路640は、バッファ回路(CB1、CB21、…、CB34)641から647を介して、クロック発生回路610からの内部クロックを半導体装置内に分配するが、分配先までの配線長と経由するバッファ回路の個数がすべて同じになる等距離配線になっている。従って、図81においては、各信号入力回路635−1、635−2、…、635−nとダミー入力回路625に入力される内部クロックの位相はすべて一致している。従って、ダミー入力回路625で外部クロックCLKに対する内部クロックの位相の進み具合を判定して、判定結果に基づいてクロック発生回路610での遅延量を調整すれば、すべての信号入力回路635−1、635−2、…、635−nで、入力信号Sig−1、Sig−2、…、Sig−nを適切なタイミングで取り込むことができる。
図82は、第17実施例の半導体装置のクロック発生回路と信号入力回路の部分の構成を示す図であり、図83は第17実施例の動作を示すタイムチャートである。クロック発生回路610、ダミー入力回路620、及び入力回路630は第15実施例と同じものであり、第15実施例と異なるのは、PLL回路680が設けられている点である。第1実施例では、入力信号は外部クロックの立ち上がりの前後の所定期間有効であったが、入力信号が外部クロックの立ち上がり又は立ち下がりに対してずれた位相を中心として所定期間有効になる場合もある。図83に示すように、第17実施例では、入力信号は、外部クロックCLKの立ち上がりと立ち下がりのちょうど中間のCLKが「L」の時点で切り換わり、CLKが「H」のCLKの立ち上がりと立ち下がりのちょうど中間の時点で取り込まれるとして示してある。ダミー入力回路で、タイミングを判定するには、入力信号と同じ位相のCLKが「H」のCLKの立ち上がりと立ち下がりのちょうど中間の時点で変化する信号をダミー入力回路に入力する必要がある。このような信号を外部クロックCLKを遅延させて生成することも考えられるが、その場合にはCLKを遅延させるための回路での誤差が問題になり、正確な判定が行えない。そのため、図82に示すように、外部クロックCLKからクロックの1/4サイクル分遅延させた信号DCLKaを生成し、これをダミー入力回路に入力するようにしている。PLL回路の替わりにDLL(Deley Locked Loop)回路を使用することも可能である。
以上説明したように、本発明によれば、信号経路の伝達時間の差のために、受信したクロックと入力信号の間に位相ずれがあっても、位相ずれをなくした状態で取り込まれるため、入力確定時間を回路動作から必要な最低限の長さにできる。しかも、取り込んで出力される信号は再同期化されるので、位相ずれがなく、御動作などを生じなくなる。