(57)【要約】【課題】温度、電源電圧、プロセス条件等によりばらつきを生じるインバータを用いた場合でも、所望の遅延時間を得ることのできる遅延回路を提供する。【解決手段】Ｎ個（Ｎは自然数）のインバータ１[1]〜１[N]を直列接続した第１遅延生成部１０と、第１遅延生成部１０の６００段目〜２０００段目までの８個のインバータ１の出力と、クロック信号ＣＬＫとの同期を、ＡＮＤ回路２[1]〜２[8]、Ｄ−フリップフロップ３[1]〜３[8]、Ｄ−フリップフロップ４[1]〜４[8]によって検出する。同期が検出されたインバータ１[1]〜１[N]の段数に応じて、デコーダ回路５によって、セレクタ回路６に第２遅延生成部３０における直列接続されたＭ個（ＭはＮ＞Ｍの自然数）のインバータ8[1]〜8[M]のいずれかの段数のインバータ８の出力ノードの信号を、出力信号とする。【選択図】図１
2013251831.tif 000002
【特許請求の範囲】
【請求項１】
初段に入力クロック信号が供給され直列に接続されたＮ（Ｎは自然数）個のインバータを備えた第１遅延生成部と、
前記第１遅延生成部のいずれかの複数のインバータの出力ノードに接続され、各出力ノードの出力信号と、前記入力クロック信号との同期を検出する制御部と、
初段に入力信号が供給され直列に接続されたＭ（ＭはＮ＞Ｍの自然数）個のインバータを備え、前記制御部において同期を検出した前記Ｎ個のインバータのうちのいずれかの出力ノードに対応して、前記Ｍ個のインバータのうちのいずれかのインバータ出力ノードの信号を出力信号とする第２遅延生成部と、
を具備することを特徴とする遅延回路。
【請求項２】
同期が検出されたインバータをｎ段目（ｎはＮ＞ｎの自然数）のインバータとし、前記入力クロック信号の周期をＴとし、第２遅延生成部において得られる遅延時間をｔｄとすると、第２遅延生成部において出力信号を取り出すインバータは、ｔｄ／（Ｔ／ｎ）段目のインバータとなるように設定されていることを特徴とする請求項１の遅延回路。
【請求項３】
一つの前記第１遅延生成部、および、一つの制御部に対して、複数の前記第２遅延生成部を備えることを特徴とする請求項１または請求項２に記載の遅延回路。
【請求項４】
前記第１遅延生成部、制御部、および第２遅延生成部の組み合わせを複数備えることを特徴とする請求項１ないし請求項３のいずれか一項に記載の遅延回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数ｎｓ程度の短い時間の遅延を、インバータを用いて生成する技術に関する。
【背景技術】
【０００２】
スイッチド・キャパシタ・フィルタを構成するときには、複数のクロック信号間で数ｎｓ程度のオフタイムが必要になるが、この数ｎｓ程度のオフタイムを生成するために遅延回路が用いられる。
数ｎｓ程度の遅延を生成する回路としては、電流源とキャパシタを用いて遅延時間分の充電を行い、充電の完了をコンパレータによって判定した際に、充電した電流を放電させる回路がある。しかし、この回路では、遅延の生成に、コンパレータによる判定処理部分が支配的になるため、遅延時間を制御することが難しい。また、アナログ回路であるため、回路規模が大きくなってしまう。
【０００３】
また、電流制限付きのインバータによって遅延を生成し、ＰＬＬを用いて所定のクロックの周期と同期するように制御を行って、所望の遅延時間に相当する段数の電流制限付きのインバータによりディレイを生成する回路がある。しかし、この回路では、インピーダンスの高いアナログ信号を配線することになるので、実現が容易ではない。また、アナログ回路を用いるので、回路規模が大きくなってしまう。
【０００４】
そこで、例えば特許文献１のように、複数のインバータを直列接続して構成した遅延回路を実現する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−１２６３９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１の回路では、個々のインバータの遅延時間のばらつきが考慮されていないため、使用環境等により正確な遅延時間が得られないという問題がある。
つまり、インバータの遅延時間は、温度、電源電圧、プロセス条件等により、約−５０％〜＋１００％の範囲でばらつくことがある。特許文献１の回路では、単に、偶数番目または奇数番目のインバータを利用して遅延時間を生成する構成であるため、このような個々のインバータの遅延量のばらつきが、遅延回路全体の遅延時間に影響してしまう。
本発明は、以上の事情を考慮して、温度、電源電圧、プロセス条件等によりばらつきを生じるインバータを用いた場合でも、所望の遅延時間を得ることのできる遅延回路を提供することを目的とする。
【課題を解決するための手段】
【０００７】
以上の課題を解決するために、本発明に係る遅延回路は、初段に入力クロック信号が供給され直列に接続されたＮ（Ｎは自然数）個のインバータを備えた第１遅延生成部と、前記第１遅延生成部のいずれかの複数のインバータの出力ノードに接続され、各出力ノードの出力信号と、前記入力クロック信号との同期を検出する制御部と、初段に入力信号が供給され直列に接続されたＭ（ＭはＮ＞Ｍの自然数）個のインバータと、前記制御部において同期を検出した前記Ｎ個のインバータのうちのいずれかの出力ノードに対応して、前記Ｍ個のインバータのうちのいずれかのインバータ出力ノードの信号を出力信号とする第２遅延生成部とを具備する。
【０００８】
以上の構成においては、第１遅延生成部の初段のインバータに入力クロック信号が入力されると、第１遅延生成部の個々のインバータの遅延時間に、直列接続されたインバータの数を乗算した分の累積の遅延時間が得られることになる。この累積の遅延時間と、前記入力クロック信号との同期を、制御部において検出する。第１遅延生成部において十分な数のインバータを直列に接続しておけば、個々のインバータの遅延時間にばらつきが生じた場合でも、いずれかの累積の遅延時間と前記入力クロック信号とが同期するタイミングを検出できる。制御部において、この同期が検出された場合には、同期を検出したＮ個のインバータのうちのいずれかの出力ノードに対応して、第２遅延生成部におけるＭ個のインバータのうちのいずれかのインバータ出力ノードの信号を出力信号とする。
【０００９】
第１遅延生成部において十分な数のインバータを直列に接続しておけば、個々のインバータの遅延時間にばらつきが生じた場合でも、いずれかの累積の遅延時間と前記入力クロック信号とが同期するタイミングが検出され、個々のインバータの実際の遅延時間が分かる。この実際の遅延時間と、第１遅延生成部において前記累積の遅延時間が得られるインバータの個数、つまり、直列接続における順番とは対応しているので、この直列接続における順番に対応させて、所望の遅延時間を得るためのインバータの個数となるように、第２遅延生成部のインバータの出力ノードの信号を出力信号とする。その結果、個々のインバータの遅延時間にばらつきがある場合でも、その実際の遅延時間に応じてインバータの直列接続数が変わることになるので、所望の遅延時間を正確に得ることができる。
より具体的には、第１遅延生成部は、各々がＮ個のインバータの出力のいずれかとなる複数の出力ノードを備え、制御部は、各出力ノードの出力信号と入力クロック信号との位相を比較して、比較結果に基づいて、入力クロック信号と同期した出力信号を出力する出力ノードを示す制御信号を生成し、第２遅延生成部は、制御信号の示す出力ノードに対応したインバータから入力信号を遅延した出力信号を取り出すことが好ましい。
【００１０】
本発明に係る遅延回路の第１態様において、同期が検出されたインバータをｎ段目（ｎはＮ＞ｎの自然数）のインバータとし、前記入力クロック信号の周期をＴとし、第２遅延生成部において得られる遅延時間をｔｄとすると、第２遅延生成部において出力信号となるインバータは、ｔｄ／（Ｔ／ｎ）段目のインバータとなるように設定するようにしてもよい。
この態様によれば、同期が検出されたインバータがｎ段目のインバータであれば、入力クロック信号の周期Ｔをこのｎで除算することにより、１個のインバータの実際の遅延時間、つまり、ばらつきを含んだ遅延時間が分かる。そして、所望の遅延時間であるｔｄを、この１個のインバータの実際の遅延時間で除算することにより、第２遅延生成部において、いくつのインバータを直列接続すればよいかが分かる。
したがって、このように入力クロック信号との同期が得られる第１遅延生成部におけるインバータの個数と、第２遅延生成部において出力信号として取り出すインバータの個数とを対応させておくことにより、個々のインバータの遅延時間にばらつきがある場合でも、所望の遅延時間を正確に得ることができる。なお、第１態様の具体例は第１実施形態として後述される。
【００１１】
本発明に係る信号生成装置の第２態様において、一つの前記第１遅延生成部、および、一つの制御部に対して、複数の前記第２遅延生成部を備えるようにしてもよい。このような態様によれば、例えば、ＩＣチップ内の一つの個所において、所望の遅延時間が複数ある場合でも、それらの遅延時間を正確に得ることが可能になる。なお、第２態様の具体例は第２実施形態として後述される。
【００１２】
本発明に係る信号生成装置の第３態様において、前記第１遅延生成部、制御部、および第２遅延生成部の組み合わせを複数備えるようにしてもよい。このような態様によれば、例えば、ＩＣチップ内の複数の個所において、所望の遅延時間を得ることが可能になる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１実施形態に係る遅延回路のブロック図である。
【図２】本発明の第１実施形態に係る遅延回路のインバータの段数と遅延時間の関係を説明するための表である。
【図３】本発明の第１実施形態に係る遅延回路のタイミングチャートである。
【図４】本発明の第２実施形態に係る遅延回路のブロック図である。
【発明を実施するための形態】
【００１４】
＜Ａ：第１実施形態＞
図１は、本発明の第１実施形態に係る遅延回路１００のブロック図である。遅延回路１００は、ＩＣチップ内に形成される遅延回路であり、第１遅延生成部１０と、制御部２０と、第２遅延生成部３０とを備えている。
【００１５】
第１遅延生成部１０は、Ｎ個（Ｎは自然数）のインバータ１ [1]〜１[N]を含んで構成される。各インバータ１[n]（ｎ＝１〜Ｎ）は、MOSFET等で構成される論理回路であり、本実施形態では、１段のインバータ１[n]の遅延時間が０．２ｎｓのものを用いている。
クロック信号ＣＬＫは、トグルフリップフロップを用いた分周器４０によって１／２分周されたクロック信号ＣＫとして、初段のインバータ１[1]、および後述するＤ−フリップフロップのクロック端子に入力される。本実施形態では、一例として、５ＭＨｚのクロック信号ＣＬＫを用いているので、１／２分周されたクロック信号ＣＫは、２．５ＭＨｚとなっている    。
【００１６】
第１遅延生成部１０を構成するインバータ１[n]（ｎ＝１〜Ｎ）の個数は、適宜変更が可能であるが、本実施形態では、一例として、２０００段以上のインバータ１[n]（ｎ＝１〜Ｎ）を備えている。また、直列に接続されたＮ段のインバータ１[n]、すなわち、第１遅延生成部１０は、複数の（この例では８個の）出力ノードを備え、各出力ノードから遅延されたクロック信号ＣＫが取り出されるようになっている。
【００１７】
制御部２０は、８個のＡＮＤ回路２[1]〜２[8]、８個の初段のＤ−フリップフロップ回路３[1]〜３[8]、および、８個の２段目のＤ−フリップフロップ回路４[1]〜４[8]を備える。なお、図１においては、３個のＡＮＤ回路２[1]、２[5]、２[8]、３個の初段のＤ−フリップフロップ回路３[1]、３[5]、３[8]、および、３個の２段目のＤ−フリップフロップ回路４[1]、４[5]、４[8]のみを表示して、他のＡＮＤ回路およびＤ−フリップフロップ回路については表示を省略している。制御部２０は、Ｎ段のインバータ１[n]、すなわち、第１遅延生成部１０に設けられた８個の出力ノードの出力信号とクロック信号ＣＫとの位相を比較して、比較結果に基づいて、クロック信号ＣＫと同期した信号を出力する出力ノードを示すコントロール信号ＣＴＬを生成する。
【００１８】
ＡＮＤ回路２[1]〜２[8]は、MOSFET等で構成される論理回路である。ＡＮＤ回路２[1]の一方の入力ノードには、第１遅延生成部１０における６００段目のインバータ１[600]の出力ノードが接続されている。以下、同様に、ＡＮＤ回路２[2]〜２[8]の一方の入力ノードには、第１遅延生成部１０における８００段目のインバータ１[800]の出力ノード、１０００段目のインバータ１[1000]の出力ノード、１２００段目のインバータ１[1200]の出力ノード、１４００段目のインバータ１[1400]の出力ノード、１６００段目のインバータ１[1600]の出力ノード、１８００段目のインバータ１[1800]の出力ノード、および２０００段目のインバータ１[2000]の出力ノードがそれぞれ接続されている。
【００１９】
また、ＡＮＤ回路２[1]〜２[8]のそれぞれの他方の入力ノードには、イニシャルクリア信号ＩＮＣが入力される。イニシャルクリア信号ＩＮＣは、本実施形態の遅延回路１００の動作開始時においてローレベルからハイレベルに立ち上がる信号である。
【００２０】
初段のＤ−フリップフロップ回路３[1]〜３[8]のクロック端子には、クロック信号ＣＬＫを１／２分周したクロック信号ＣＫが入力される。また、２段目のＤ−フリップフロップ回路４[1]〜４[8]のクロック端子には、遅延用のインバータ５０［1］〜５０[8]、５１［1］〜５１[8]を介して、クロック信号ＣＬＫを１／２分周したクロック信号ＣＫが入力される。
【００２１】
初段のＤ−フリップフロップ回路３[1]〜３[8]と２段目のＤ−フリップフロップ回路４[1]〜４[8]の非同期リセット端子には、ＡＮＤ回路２[1]〜２[8]の出力ノードがそれぞれ接続される。
【００２２】
初段のＤ−フリップフロップ回路３[1]〜３[8]のデータノードＤは、それぞれハイレベルの電源線に接続され、初段のＤ−フリップフロップ回路３[1]〜３[8]の出力ノードＱは、それぞれ２段目のＤ−フリップフロップ回路４[1]〜４[8]のデータノードＤに接続される。
【００２３】
第２遅延生成部３０は、デコーダ回路５と、セレクタ回路６と、Ｍ個（ＭはＮ＞Ｍの自然数）のインバータ８[1]〜８[M]を含む遅延出力回路７とを備えて構成される。
【００２４】
デコーダ回路５は、８個の２段目のＤ−フリップフロップ回路４[1]〜４[8]の出力ノードの出力データを８ビットのコントロール信号ＣＴＬとして入力し、そのコントロール信号ＣＴＬの値をデコードして、所望の遅延時間を得るために、セレクタ回路６によって何段目のインバータ８の出力ノードを選択させるかを決定するデータを出力する。
また、デコーダ回路５には、選択信号ＳＥＬが入力されるようになっており、選択信号ＳＥＬによって、所望の遅延時間を例えば２ｎｓと３ｎｓから選択できるようになっている。選択信号ＳＥＬを複数のビットで構成し、さらに多数の遅延時間を選択できるようにしてもよい。
【００２５】
セレクタ回路６は、遅延出力回路７のインバータ８[1]〜８[M]のうちの所定の段数目のインバータ８の出力ノードと接続されており、デコーダ回路５からの出力されるデコードデータを入力して、いずれかのインバータ８の出力ノードからの出力信号を、出力端子ＯＵＴより出力する。
図１には、一例として、遅延出力回路７の９段目のインバータ８[9]の出力ノード、２２段目のインバータ８[22]の出力ノード、３０段目のインバータ８[30]の出力ノードに接続されているところを示す。図１には省略されているが、他の段のインバータ８の出力ノードもセレクタ回路６に接続されている。
【００２６】
第２遅延生成部３０の遅延出力回路７の各インバータ８[m]（m＝１〜Ｍ）は、MOSFET等で構成される論理回路であり、第１遅延生成部１０のインバータ１[n]（n＝１〜Ｎ）と同じインバータである。つまり、１段のインバータ８[m]の遅延時間も０．２ｎｓである。ただし、直列接続されている個数は、第１遅延生成部１０よりも少なく、本実施形態では、一例として、３０段程度となっている。
【００２７】
第２遅延生成部３０における遅延出力回路７の入力信号ＩＮは、クロック信号ＣＬＫと同じクロック信号でもよいし、異なるクロック信号でも、他の信号でもよい。この入力信号ＩＮが、セレクタ回路の出力信号ＯＵＴから、所望の遅延時間を経て出力される。
【００２８】
次に、本実施形態における遅延回路１００の動作について説明する。図２は、本実施形態における遅延回路１００のインバータの段数と遅延時間との関係を説明するための表である。本実施形態では、一例として、５ＭＨｚのクロック信号ＣＬＫを用いた例について説明する。本実施形態で用いているインバータ１[n]およびインバータ８[m]の標準的な遅延時間は０．２ｎｓである。
【００２９】
しかしながら、インバータの遅延時間は、温度、電源電圧、プロセス条件により、約−５０％〜＋１００％の範囲でばらつきがある。そこで、５ＭＨｚのクロック信号ＣＬＫの１周期である２００ｎｓの遅延時間が得られるインバータの段数を考える。例えば、図２に示すように、６００段目のインバータ１[600]で遅延時間が２００ｎｓであったとすると、その時のインバータの１段当たりの遅延時間は、２００ｎｓ／６００で、０．３３ｎｓとなる。
【００３０】
以下、同様にして、８００段目、１０００段目、１２００段目、１４００段目、１６００段目、１８００段目、２０００段目のインバータで遅延時間が２００ｎｓであったとすると、その時のインバータの１段当たりの遅延時間は、それぞれ、０．２５ｎｓ〜０．１０ｎｓとなる。
【００３１】
したがって、２００ｎｓの遅延時間が得られるインバータの段数が分かれば、１段当たりのインバータの遅延時間が分かるので、所望の遅延時間を実現するためにはインバータを何段直列接続すればよいかを知ることができる。
【００３２】
例えば、実際に必要な遅延時間が３ｎｓの場合を考える。その時に２００ｎｓの遅延時間が得られるインバータの段数が６００段ならば、１段当たりのインバータの遅延時間は０．３３ｎｓであるから、９段のインバータがあれば、３ｎｓの遅延時間が得られることになる。
また、２００ｎｓの遅延時間が得られるインバータの段数が１４００段ならば、１段当たりのインバータの遅延時間は０．１４ｎｓであるから、２２段のインバータがあれば、３ｎｓの遅延時間が得られることになる。
そして、２００ｎｓの遅延時間が得られるインバータの段数が２０００段ならば、１段当たりのインバータの遅延時間は０．１０ｎｓであるから、３０段のインバータがあれば、３ｎｓの遅延時間が得られることになる。
【００３３】
同様に、所望の遅延時間が２ｎｓ、４ｎｓ、５ｎｓの場合にも、図２に示すように、２００ｎｓの遅延時間が得られるインバータの段数に応じて、必要なインバータの段数が分かることになる。
【００３４】
そこで、本実施形態では、インバータのばらつきを考慮して、２０００段程度のインバータを直列接続させておき、基準となるクロック信号の１周期分の遅延時間が得られる段数を検出し、検出した段数に基づいて、実際に必要な数ｎｓの遅延時間を得るためのインバータの直列接続段数を選択するようにしたものである。
【００３５】
本実施形態では、一例として、第１遅延生成部１０から、６００段目、８００段目、１０００段目、１２００段目、１４００段目、１６００段目、１８００段目、および、２０００段目のインバータの出力ノードの出力信号と、クロック信号ＣＬＫが同期するタイミングを検出し、同期が検出された時のインバータの段数に応じて、所望の遅延時間が得られるように、第２遅延生成部３０におけるインバータの直列接続段数を選択するように構成した。
【００３６】
図３は、本実施形態における遅延回路１００の動作を示すタイミングチャートである。図３に示すクロック信号ＣＬＫは、５ＭＨｚのクロック信号であり、クロック信号ＣＬＫは、分周器４０により１／２分周される。１／２分周されたクロック信号ＣＫは、第１遅延生成部１０の初段のインバータ１[1]の入力ノード、および、初段のＤ−フリップフロップ回路３[1]〜３[8]のクロック端子に入力される。また、１／２分周されたクロック信号ＣＫは、遅延用のインバータ５０[1]〜５０[8]および５１[1]〜５１[8]を介して、２段目のＤ−フリップフロップ回路４[1]〜４[8]のクロック端子に入力される。
【００３７】
まず、イニシャルクリア信号ＩＮＣがローレベルの場合には、ＡＮＤ回路２[1]〜２[8]の出力ノードの出力レベルがローレベルなので、初段のＤ−フリップフロップ回路３[1]〜３[8]および２段目のＤ−フリップフロップ回路４[1]〜４[8]はリセットが掛けられて、初段のＤ−フリップフロップ回路３[1]〜３[8]および２段目のＤ−フリップフロップ回路４[1]〜４[8]のそれぞれの出力ノードの出力信号は全てローレベルとなる。図３に示すタイミングｔ０はこの状態を示している。
なお、図３において、６００〜２０００の数字で示している信号は、第１遅延生成部１０のインバータ１の６００段〜２０００段に相当する初段のＤ−フリップフロップ回路３[1]〜３[8]および２段目のＤ−フリップフロップ回路４[1]〜４[8]の各信号である。
【００３８】
次に、図３にタイミングｔ１で示すように、イニシャルクリア信号ＩＮＣがローレベルからハイレベルに立ち上がると、初段のＤ−フリップフロップ回路３[1]〜３[8]および２段目のＤ−フリップフロップ回路４[1]〜４[8]のそれぞれの非同期リセット端子には、第１遅延生成部１０のインバータ１の６００段、８００段、１０００段、１２００段、１４００段、１６００段、１８００段、２０００段の出力ノードの出力信号に相当する信号が入力される。
【００３９】
そして、図３にタイミングｔ２で示すように、クロック信号ＣＬＫのローレベルからハイレベルへ立ち上がり、１／２分周されたクロック信号ＣＫがローレベルからハイレベルへ立ち上がると、初段のＤ−フリップフロップ回路３[1]〜３[8]のうち、非同期リセット端子にハイレベルの信号が入力されているＤ−フリップフロップ回路３においては、入力ノードのハイレベル信号がラッチされ、そのＤ−フリップフロップ回路３の出力ノードからはハイレベルの信号が出力される。
【００４０】
図３では、タイミングｔ２において、クロック信号ＣＫのローレベルからハイレベルへの立ち上がりに同期して、１０００段目のインバータ１[1000]の出力ノードの出力信号が、ローレベルからハイレベルへ立ち上がる例を示している。
つまり、この例は、１０００段目のインバータ１[1000]の出力ノードの出力信号と、クロック信号ＣＬＫとが同期しており、１０００段目のインバータ１[1000]における遅延時間が、クロック信号ＣＬＫの１周期分に相当する２００ｎｓである場合を示している。
１０００段目のインバータ１[1000] における遅延時間が２００ｎｓなので、１段のインバータ１の遅延時間は０．２ｎｓとなる。
【００４１】
図３のタイミングｔ２においては、１０００段目のインバータ１[1000]に相当する初段のＤ−フリップフロップ回路３[3]のリセット端子に入力される信号がローレベルからハイレベルに立ち上がり、Ｄ−フリップフロップ回路３[3]のクロック端子にも同じタイミングでローレベルからハイレベルに立ち上がる信号が入力されるので、Ｄ−フリップフロップ回路３[3]の出力ノードの出力信号は、ローレベルからハイレベルに立ち上がることになる。
【００４２】
この例では、２００ｎｓの遅延時間を得るために１０００段のインバータ１が必要となっているから、１０００段よりも前の段の６００段目のインバータ１[600]と８００段目のインバータ１[800]の出力ノード出力信号は、１０００段目のインバータ１[1000]の出力信号よりも遅延時間が少ない。したがって、図３のタイミングｔ２においては、６００段目のインバータ１[600]と８００段目のインバータ１[800]の出力ノード出力信号もハイレベルの信号であり、６００段目のインバータ１[600]に相当するＤ−フリップフロップ回路３[1]のリセット端子と、８００段目のインバータ１[800] に相当するＤ−フリップフロップ回路３[2]のリセット端子にもハイレベルの信号が入力されている。その結果、図３のタイミングｔ２においては、Ｄ−フリップフロップ回路３[1]とＤ−フリップフロップ回路３[2]の出力ノードの出力信号もローレベルからハイレベルに立ち上がる。
【００４３】
しかし、１２００段目のインバータ１[1200]以降のインバータにおいては、１０００段目のインバータ１[1000]の出力信号よりも遅延時間が長いので、図３のタイミングｔ２においては、１２００段目のインバータ１[1200]以降のインバータの出力ノード出力信号はローレベルの信号である。したがって、１２００段目のインバータ１[1200]以降のインバータに相当するＤ−フリップフロップ回路３[4]〜３[8]のリセット端子には、ローレベルの信号が入力され、図３のタイミングｔ２においては、Ｄ−フリップフロップ回路３[4]〜３[8]の出力ノードの出力信号はローレベルになる。
【００４４】
以上のような初段のＤ−フリップフロップ回路３[1]〜３[8]の出力ノードの出力信号は、遅延用のインバータ５０[1]〜５０[8]および５１[1]〜５１[8]によって遅延されたクロック信号ＣＫによって、２段目のＤ−フリップフロップ回路４[1]〜４[8]によってラッチされる。
その結果、図３のタイミングｔ２においては、６００段から１０００段のインバータに相当する２段目のＤ−フリップフロップ回路４[1]〜４[3]の出力ノードの出力信号がローレベルからハイレベルに立ち上がり、その他の２段目のＤ−フリップフロップ回路４[4]〜４[8]の出力ノードの出力信号はローレベルになる。
【００４５】
このような２段目のＤ−フリップフロップ回路４[1]〜４[8]の出力ノードの出力信号を８ビットの信号と考え、６００段目のインバータ１[600]に相当するＤ−フリップフロップ回路４[1]の出力ノードの出力信号を最下位ビット、２０００段目のインバータ１[2000]に相当するＤ−フリップフロップ回路４[8]の出力ノードの出力信号を最上位ビットとする。
この８ビットの信号をコントロール信号ＣＴＬとすると、１０００段目のインバータ１[1000]において２００ｎｓの遅延時間が得られるときには、２進数で[00000111]という値のコントロール信号ＣＴＬが得られることになる。
【００４６】
本実施形態では、６００段目から２０００段目まで、２００段刻みのインバータの出力ノードの出力信号を取り出しているから、それぞれの出力信号の位相差は、１段のインバータの遅延時間のばらつきに応じて変化はするものの、遅延時間の前後関係は変わらない。したがって、１０００段目以外のインバータ１において２００ｎｓの遅延時間が得られる場合、つまり、１０００段目以外のインバータ１の出力ノードの出力信号とクロック信号ＣＬＫが同期する場合にも、それぞれのインバータ１の出力ノードの出力信号は一定の関係を有することになる。その結果、いずれのインバータ１において２００ｎｓの遅延時間が得られる場合でも、それぞれ異なったコントロール信号ＣＴＬが得られることになる。
【００４７】
つまり、コントロール信号ＣＴＬの値によって、何段目のインバータ１において２００ｎｓの遅延時間が得られたのかが分かり、１段当たりのインバータ１の遅延時間を知ることができる。
【００４８】
本実施形態では、以上のような８ビットのコントロール信号ＣＴＬを、デコーダ回路５に入力し、デコーダ回路５において、第２遅延生成部３０の何段目のインバータ８の出力ノードの出力信号を取り出すのかを決定する。
【００４９】
デコーダ回路５には、選択信号ＳＥＬが入力されており、この選択信号ＳＥＬによって、所望の遅延時間が２ｎｓか３ｎｓなのかを選択するようになっている。一例として、所望の遅延時間として３ｎｓが選択されていた場合には、デコーダ回路５は、第２遅延生成部３０の１５段目のインバータ８[15]の出力ノードをセレクタ回路６に選択させる信号を出力する。
【００５０】
１０００段目のインバータ１[1000]で遅延時間が２００ｎｓなので、１段当たりのインバータの遅延時間は０．２ｎｓである。したがって、３ｎｓの遅延時間を得るには、１５段のインバータが必要であることが分かる。
つまり、本実施形態においては、クロック信号ＣＬＫとの同期が検出されたインバータをｎ段目（ｎはＮ＞ｎの自然数）のインバータとし、クロック信号ＣＬＫの周期をＴ、第２遅延生成部３０において得られる遅延時間をｔｄとすると、第２遅延生成部３０において出力信号を出力するインバータとして、ｔｄ／（Ｔ／ｎ）段目のインバータを選択する。
【００５１】
２００ｎｓの遅延時間が得られるインバータの段数と、所望の遅延時間を得るためのインバータの段数との関係は、図２示すように予め分かっているので、デコーダ回路５においては、コントロール信号ＣＴＬに応じて適切な段数のインバータを選択する出力信号を出力するように構成することができる。
【００５２】
このようにして、デコーダ回路５から、第２遅延生成部３０の１５段目のインバータ８[15]の出力ノードをセレクタ回路６に選択させる信号が出力されると、セレクタ回路６は、この信号に応じて、１５段目のインバータ８[15]の出力ノードを選択し、この出力ノードの信号を出力端子ＯＵＴから出力する。
【００５３】
以上のように、本実施形態によれば、インバータの遅延時間が、温度、電源電圧、プロセス条件によってばらついたとしても、多数段に直列接続したインバータの出力と、所定のクロック信号との同期検出によって、そのばらつきを判定し、ばらつきに応じて、所望の遅延時間を得るためのインバータの段数を選択するようにしたので、数ｎｓという短い時間の遅延時間を正確に得ることができる。
【００５４】
また、本実施形態においては、遅延回路を、アナログ回路を用いることなく、ディジタル回路のみによって構成したので、実施化が容易であり、回路規模も小さくすることができる。したがって、ＩＣチップ内の所望の個所に、本実施形態の遅延回路を配置することが可能となる。
【００５５】
本実施形態では、インバータを２段づつ使用するようにしたので、その精度は、±０．４ｎｓ程度の誤差に入れることが可能である。また、さらに誤差を小さくするためには、第１遅延生成部１０および第２遅延生成部３０において取り出すインバータの段数を多くすればよい。
【００５６】
＜Ｂ：第２実施形態＞
本発明の第２実施形態を以下に説明する。図４は、本発明の第２実施形態に係る遅延回路１００’のブロック図である。なお、以下に例示する各態様において作用や機能が第１実施形態と同様である要素については、以上の説明で参照した符号を流用して各々の詳細な説明を適宜に省略する。
【００５７】
本実施形態は、第２遅延生成部３０を複数設けた例である。第２遅延生成部３０[1]は、第１の実施形態のように２ｎｓまたは３ｎｓの遅延時間を得るために使用し、第２遅延生成部３０[2]は、４ｎｓまたは５ｎｓの遅延時間を得るために使用するようにしてもよい。また、第２遅延生成部３０[1]と第２遅延生成部３０[2]とで同じ遅延時間を生成するようにしてもよい。
【００５８】
第２遅延生成部３０[1]における所望の遅延時間の切り替えは、選択信号ＳＥｌ１で行い、第２遅延生成部３０[2]における所望の遅延時間の切り替えは、選択信号ＳＥｌ２で行う。そして、第２遅延生成部３０[1]の出力端子ＯＵＴ１および第２遅延生成部３０[2]の出力端子ＯＵＴ２から出力信号を各々出力する。
【００５９】
このようにすれば、１つのチップ内において、複数の個所に適宜の遅延信号を供給することが可能になる。
【００６０】
なお、第２遅延生成部３０は、２個だけでなく、３個以上に増やしても構わない。
【００６１】
＜Ｃ：変形例＞
以上の各形態は多様に変形され得る。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された２以上の態様は適宜に併合され得る。
【００６２】
（１）変形例１
以上の各形態では、一例として、第１遅延生成部１０において取り出すインバータの段数を、６００段、８００段、１０００段、１２００段、１４００段、１６００段、１８００段、２０００段とした場合について説明したが、本発明はこれに限定されるものではなく、適宜の段数を取り出すことが可能である。また、取り出す種類も８種類に限定されることはなく、より多くの段数を取り出すようにしてもよい。
【００６３】
また、本実施形態では、一例として、実際に必要となる遅延時間を２ｎｓまたは３ｎｓの場合について説明したが、本発明はこれに限定されるものではなく、選択信号ＳＥＬを複数ビットの信号とすることにより、例えば、図２に示すように、２ｎｓ〜５ｎｓ、あるいはそれ以外の遅延時間を適宜選択することが可能である。
【００６４】
（２）変形例２
本実施形態では、デコーダ回路５とセレクタ回路６を別々の回路として説明したが、これらを一つの回路として構成するようにしてもよい。また、以上の各形態で例示した遅延回路全体を、１つのチップの中の複数個所に設けるようにしてもよい。くわえて、第２遅延生成部３０の遅延時間が固定の場合には、選択信号ＳＥＬをデコード回路５に供給する必要はなく、デコード回路５は、コントール信号ＣＴＬにのみ基づいて、セレクタ回路６を制御すればよい。
【符号の説明】
【００６５】
１００，１００’……遅延回路、１[1]〜１[N]……インバータ、２ [1]〜２[8]……ＡＮＤ回路、３[1]〜３[8]……Ｄ−フリップフロップ回路、４[1]〜４[8]……Ｄ−フリップフロップ回路、５……デコーダ回路、６……セレクタ回路、７……遅延出力回路、８[1]〜８[M]……インバータ、１０……第１遅延生成部、２０……制御部、３０……第２遅延生成部。
【図１】
2013251831.tif 000003
【図２】
2013251831.tif 000004
【図３】
2013251831.tif 000005
【図４】
2013251831.tif 000006