(57)【特許請求の範囲】
【請求項１】
複数の遅延素子を用いて構成される可変遅延回路であって、
前記複数の遅延素子間におけるトランジスタ性能のばらつきを補償すべく前記複数の遅延素子について個別に遅延時間を補正する遅延時間補正回路を備え、
前記遅延時間補正回路は、
複数の発振用遅延素子と、
補正対象遅延素子として前記複数の発振用遅延素子の全てを選択した後、補正対象遅延素子として前記複数の遅延素子を順次選択する補正対象選択回路と、
前記補正対象選択回路の選択に応じて、前記複数の発振用遅延素子によるリング発振回路を形成するか、又は補正対象遅延素子および前記複数の発振用遅延素子によるリング発振回路を形成するか、を切り換える経路切換回路と、
前記補正対象選択回路により補正対象遅延素子が選択される度に、前記経路切換回路により形成されるリング発振回路の発振信号をカウントするカウンタと、
基準値と前記カウンタのカウント値との差分に基づいて、前記補正対象遅延素子の遅延時間を調整する遅延調整回路と
を備えることを特徴とする可変遅延回路。
【請求項２】
請求項１に記載の可変遅延回路において、
前記遅延時間補正回路は、動作環境の変化に起因する前記複数の遅延素子におけるトランジスタ性能の変動を補償すべく前記複数の遅延素子について一律に遅延時間を補正し、
前記遅延時間補正回路が前記複数の遅延素子について一律に遅延時間を補正する場合、前記補正対象選択回路は、補正対象遅延素子として前記複数の発振用遅延素子の全てを繰り返し選択し、前記遅延調整回路は、前記基準値と前記カウント値との前記差分に基づいて、前記複数の発振用遅延素子および前記複数の遅延素子について一律に遅延時間を調整することを特徴とする可変遅延回路。
【請求項３】
請求項１に記載の可変遅延回路において、
前記基準値は、前記経路切換回路により形成されるリング発振回路の発振周期、および前記補正対象遅延素子の遅延時間分解能に基づき規定されることを特徴とする可変遅延回路。
【請求項４】
請求項１に記載の可変遅延回路において、
前記基準値は、前記経路切換回路により形成されるリング発振回路の発振周期、および前記補正対象遅延素子の遅延時間分解能の除算結果と所定係数（２以上の整数）との乗算結果を用いて規定されることを特徴とする可変遅延回路。
【請求項５】
請求項１〜請求項４のいずれかに記載の可変遅延回路において、
前記カウンタは、前記基準値および前記経路切換回路により形成されるリング発振回路の発振周期の乗算結果を用いて規定されるカウント許可時間の間に、前記発振信号をカウントすることを特徴とする可変遅延回路。
【請求項６】
請求項１〜請求項５のいずれかに記載の可変遅延回路において、
前記複数の遅延素子は、異なる理想遅延時間を有する第１および第２遅延素子を含むことを特徴とする可変遅延回路。
【請求項７】
請求項１〜請求項６のいずれかに記載の可変遅延回路において、
前記遅延時間補正回路は、前記可変遅延回路を含む半導体集積回路の起動時に前記複数の遅延素子の遅延時間を補正することを特徴とする可変遅延回路。
【請求項８】
請求項１〜請求項７のいずれかに記載の可変遅延回路を備えることを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可変遅延回路および半導体集積回路に関する。
【背景技術】
【０００２】
図１６は、可変遅延回路の第１従来例を示している。第１従来例の可変遅延回路ＶＡＲＤＬＹＡは、遅延時間τｆを有する遅延素子ＢＡ１〜ＢＡ１０と、遅延時間τｓ（τｓ＞τｆ）を有する遅延素子ＢＢ１〜ＢＢ９と、スイッチＳＷ１〜ＳＷ１０とを備えて構成されている。なお、可変遅延回路ＶＡＲＤＬＹＡは、特許文献１に開示されたものに相当する。遅延素子ＢＡ１〜ＢＡ９は、可変遅延回路ＶＡＲＤＬＹＡの入力端子ＩＮを始点として直列に接続されている。遅延素子ＢＢ１〜ＢＢ９、ＢＡ１０は、可変遅延回ＶＡＲＤＬＹＡの出力端子ＯＵＴを終点として直列に接続されている。スイッチＳＷ１は、可変遅延回路ＶＡＲＤＬＹＡの入力端子ＩＮと遅延素子ＢＢ１の入力端子との間に接続されている。スイッチＳＷ２（ＳＷ３〜ＳＷ９）は、遅延素子ＢＡ１（ＢＡ２〜ＢＡ８）の出力端子と遅延素子ＢＢ２（ＢＢ３〜ＢＢ９）の入力端子との間に接続されている。スイッチＳＷ１０は、遅延素子ＢＡ９の出力端子と遅延素子ＢＡ１０の入力端子との間に接続されている。スイッチＳＷ１〜ＳＷ１０は、これらの中でいずれか１つがオンするように制御される。
【０００３】
以上のような構成の可変遅延回路ＶＡＲＤＬＹＡは、遅延素子ＢＡ１〜ＢＡ１０と遅延素子ＢＢ１〜ＢＢ９との間での微小な遅延時間差（τｓ−τｆ）が遅延時間分解能となる点に特徴がある。例えば、遅延素子ＢＡ１〜ＢＡ１０の遅延時間τｆが１．０Ｄ（Ｄ：単位時間）であり、遅延素子ＢＢ１〜ＢＢ９の遅延時間τｓが１．１Ｄであるものとすると、可変遅延回路ＶＡＲＤＬＹＡの遅延時間を１０．０Ｄ〜１０．９Ｄの範囲において０．１Ｄ単位で調整することができる。
【０００４】
図１７は、可変遅延回路の第２従来例を示している。第２従来例の可変遅延回路ＶＡＲＤＬＹＢは、遅延素子ＢＣ１〜ＢＣ９と、セレクタＳＯＵＴとを備えて構成されている。遅延素子ＢＣ１〜ＢＣ９は、可変遅延回路ＶＡＲＤＬＹＢの入力端子ＩＮを始点として直列に接続されている。遅延素子ＢＣ１〜ＢＣ９は、可変遅延回路ＶＡＲＤＬＹＢのバイアス端子ＢＩＡＳから供給される電圧に応じて遅延時間が変動する電圧制御遅延素子である。セレクタＳＯＵＴは、可変遅延回路ＶＡＲＤＬＹＢの制御端子ＣＴＬ［９：０］の中で制御端子ＣＴＬ［０］から供給される信号が“１”に設定されている場合に可変遅延回路ＶＡＲＤＬＹＢの入力端子ＩＮから供給される信号を選択して可変遅延回路ＶＡＲＤＬＹＢの出力端子ＯＵＴに出力する。セレクタＳＯＵＴは、制御端子ＣＴＬ［９：０］の中で制御端子ＣＴＬ［１］（ＣＴＬ［２］〜ＣＴＬ［９］）から供給される信号が“１”に設定されている場合に遅延素子ＢＣ１（ＢＣ２〜ＢＣ９）から供給される信号を選択して可変遅延回路ＶＡＲＤＬＹＢの出力端子ＯＵＴに出力する。
【０００５】
以上のような構成の可変遅延回路ＶＡＲＤＬＹＢでは、制御端子ＣＴＬ［９：０］を介してセレクタＳＯＵＴにより選択される信号が切り換えられることで可変遅延回路ＶＡＲＤＬＹＢの遅延時間が粗く調整され（概略遅延調整）、バイアス端子ＢＡＩＳを介して遅延素子ＢＣ１〜ＢＣ９の遅延時間が制御されることで可変遅延回路ＶＡＲＤＬＹＢの遅延時間が細かく調整される（詳細遅延調整）。可変遅延回路ＶＡＲＤＬＹＢにおいては、詳細遅延調整にて遅延素子ＢＣ１〜ＢＣ９が一括して遅延時間を調整されるため、遅延時間分解能が可変遅延回路ＶＡＲＤＬＹＡに比べて粗いという欠点がある。
【０００６】
第１従来例の可変遅延回路ＶＡＲＤＬＹＡのような高分解能可変遅延回路においては、遅延素子の遅延時間が設計者の意図した通りになっていることが非常に重要である。しかしながら、実際には、可変遅延回路が搭載される半導体集積回路の動作環境（温度や電源電圧など）の変化やトランジスタ性能の製造ばらつきの影響により、遅延素子の遅延時間は設計者の意図したもの（理想遅延時間）にはなっていない。このため、可変遅延回路内の遅延素子の遅延時間を補正する機能が必要になる。
【０００７】
図１８は、可変遅延回路の第３従来例を示している。第３従来例の可変遅延回路ＶＡＲＤＬＹＣは、第１従来例の可変遅延回路ＶＡＲＤＬＹＡについて、遅延素子ＢＡ１〜ＢＡ１０、ＢＢ１〜ＢＢ９を遅延素子ＢＡ１ａ〜ＢＡ１０ａ、ＢＢ１ａ〜ＢＢ９ａに置き換えるとともに、遅延時間補償回路ＤＬＹＣＯＭＰＡ、ＤＬＹＣＯＭＰＢを追加して構成されている。なお、可変遅延回路ＶＡＲＤＬＹＣは、特許文献２に開示されたものに相当する。遅延素子ＢＡ１ａ〜ＢＡ１０ａ（ＢＢ１ａ〜ＢＢ９ａ）は、遅延時間補償回路ＤＬＹＣＯＭＰＡ（ＤＬＹＣＯＭＰＢ）から供給される電圧に応じて遅延時間が変動する電圧制御遅延素子である。遅延時間補償回路ＤＬＹＣＯＭＰＡ（ＤＬＹＣＯＭＰＢ）は、遅延素子ＢＡ１ａ〜ＢＡ１０ａ（ＢＢ１ａ〜ＢＢ９ａ）と同一の電圧制御遅延素子を用いて構成される遅延回路を有し、遅延回路全体の遅延時間が基準クロック信号の周期と一致するように遅延回路を構成する電圧制御遅延素子のバイアス電圧を調整する。遅延時間補償回路ＤＬＹＣＯＭＰＡ（ＤＬＹＣＯＭＰＢ）は、遅延回路を構成する電圧制御遅延素子のバイアス電圧を遅延素子ＢＡ１ａ〜ＢＡ１０ａ（ＢＢ１ａ〜ＢＢ９ａ）に供給することにより、遅延素子ＢＡ１ａ〜ＢＡ１０ａ（ＢＢ１ａ〜ＢＢ９ａ）の遅延時間を補正する。
【０００８】
なお、可変遅延回路に関連する技術は、特許文献３などにも開示されている。
【特許文献１】特開２００６−９２７３０号公報
【特許文献２】特開平９−１８３０５号公報
【特許文献３】特開２００３−４６３７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
トランジスタ性能の製造ばらつきには、チップ間製造ばらつきと呼ばれるものとチップ内製造ばらつきと呼ばれるものとが存在する。チップ間製造ばらつきとは、同一のマスクパターンを使用して製造された半導体集積回路間でのトランジスタ性能のばらつきのことである。一方、チップ内ばらつきとは、数千万という数のトランジスタで構成される半導体集積回路におけるトランジスタ間でのトランジスタ性能のばらつきのことである。
【００１０】
高分解能可変遅延回路においては、遅延素子間の微小な遅延時間差を利用して高分解能での遅延時間の調整が実現されているため、遅延素子間の遅延時間の大小関係が設計者の意図した通りになっている必要がある。トランジスタ性能のチップ内製造ばらつきは、遅延素子間の遅延時間の大小関係に影響を与え、その結果、可変遅延回路の遅延時間精度を低下させる。特許文献２に開示された可変遅延回路では、可変遅延回路内の複数の遅延素子が一律に遅延時間を調整されるため、トランジスタ性能のチップ間製造ばらつきは補償されるが、トランジスタ性能のチップ内製造ばらつきは補償されない。従って、特許文献２に開示された可変遅延回路では、トランジスタ性能のチップ内製造ばらつきに起因して可変遅延回路の遅延時間精度が低下してしまう。
【００１１】
本発明は、このような問題点に鑑みてなされたものであり、可変遅延回路の遅延時間精度を向上させることを目的とする。
【課題を解決するための手段】
【００１２】
本発明の一態様では、可変遅延回路は、複数の遅延素子を用いて構成される可変遅延回路であって、複数の遅延素子間におけるトランジスタ性能のばらつきを補償すべく複数の遅延素子について個別に遅延時間を補正する遅延時間補正回路を備え、遅延時間補正回路は、複数の発振用遅延素子と、補正対象遅延素子として複数の発振用遅延素子の全てを選択した後、補正対象遅延素子として複数の遅延素子を順次選択する補正対象選択回路と、補正対象選択回路の選択に応じて、複数の発振用遅延素子によるリング発振回路を形成するか、又は補正対象遅延素子および複数の発振用遅延素子によるリング発振回路を形成するか、を切り換える経路切換回路と、補正対象選択回路により補正対象遅延素子が選択される度に、経路切換回路により形成されるリング発振回路の発振信号をカウントするカウンタと、基準値とカウンタのカウント値との差分に基づいて、補正対象遅延素子の遅延時間を調整する遅延調整回路とを備える。
本発明に関連する技術において、半導体集積回路に搭載される可変遅延回路は、複数の遅延素子を用いて構成される可変遅延回路であって、遅延時間補正回路を備える。遅延時間補正回路は、複数の遅延素子間におけるトランジスタ性能のばらつきを補償すべく複数の遅延素子について個別に遅延時間を補正する。また、遅延時間補正回路は、動作環境の変化に起因する複数の遅延素子におけるトランジスタ性能の変動を補償すべく複数の遅延素子について一律に遅延時間を補正する。
【００１３】
例えば、遅延時間補正回路は、複数の発振用遅延素子、補正対象選択回路、経路切換回路、カウンタおよび遅延調整回路を備えて構成される。補正対象選択回路は、補正対象遅延素子として複数の発振用遅延素子の全てを選択した後、補正対象遅延素子として複数の遅延素子を順次選択する。経路切換回路は、補正対象選択回路の選択に応じて、複数の発振用遅延素子によるリング発振回路を形成するか、又は補正対象遅延素子および複数の発振用遅延素子によるリング発振回路を形成するか、を切り換える。カウンタは、補正対象選択回路により補正対象遅延素子が選択される度に、経路切換回路により形成されるリング発振回路の発振信号をカウントする。遅延調整回路は、基準値とカウンタのカウント値との差分に基づいて、補正対象遅延素子の遅延時間を調整する。また、補正対象選択回路は、補正対象遅延素子として複数の発振用遅延素子の全てを繰り返し選択する。遅延調整回路は、基準値とカウント値との差分に基づいて、複数の発振用遅延素子および複数の遅延素子について一律に遅延時間を調整する。
【００１４】
以上のような構成の可変遅延回路では、複数の遅延素子間におけるトランジスタ性能のばらつきが補償され、更に、動作環境の変化に起因する複数の遅延素子におけるトランジスタ性能の変動も補償されるため、可変遅延回路の遅延時間精度を大幅に向上させることができる。
【発明の効果】
【００１５】
本発明によれば、可変遅延回路の遅延時間精度を向上させることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施形態について図面を用いて説明する。図１は、本発明の第１実施形態を示している。図２〜図８は、図１の遅延素子として利用される可変遅延素子を示している。図９は、図１の判定回路を示している。第１実施形態においてＶＬＳＩ（Very Large Scale Integration）に搭載される可変遅延回路ＶＡＲＤＬＹ１は、セレクタＳＢ０〜ＳＢｎ、ＳＥ０〜ＳＥｎ、ＳＨ０〜ＳＨｎ、ＳＩＮＣと、遅延素子Ｂ０〜Ｂｎ、Ｅ０〜Ｅｎ、Ｈ０〜Ｈｎ＋１と、ゲート回路ＮＡＮＤと、カウンタＣＮＴと、判定回路ＪＤＧと、除算器ＤＩＶと、増減値出力回路ＩＮＣＯＵＴと、加算器ＡＢ０〜ＡＢｎ、ＡＥ０〜ＡＥｎ、ＡＨと、レジスタＲＢ０〜ＲＢｎ、ＲＥ０〜ＲＥｎ、ＲＨと、制御回路ＣＴＲとを備えて構成されている。なお、可変遅延回路ＶＡＲＤＬＹ１は、可変遅延回路ＶＡＲＤＬＹＡ（図１６）について遅延素子ＢＡ１０を取り除いて本発明を適用したものに相当する。可変遅延回路ＶＡＲＤＬＹ１における遅延素子Ｂ０〜Ｂｎ、Ｅ０〜Ｅｎは、可変遅延回路ＶＡＲＤＬＹＡにおける遅延素子ＢＡ１〜ＢＡ９、ＢＢ１〜ＢＢ９に対応している。
【００１７】
セレクタＳＢ０は、制御回路ＣＴＲから供給されるセレクタ制御信号ＣＭ０［２：０］の中でセレクタ制御信号ＣＭ０［０］、ＣＭ０［２］のいずれかが“１”に設定されている場合、可変遅延回路ＶＡＲＤＬＹ１の入力端子から供給される信号を選択して出力する。セレクタＳＢ０は、セレクタ制御信号ＣＭ０［２：０］の中でセレクタ制御信号ＣＭ０［１］が“１”に設定されている場合、遅延素子Ｈ０の出力信号を選択して出力する。セレクタＳＢ１（ＳＢ２〜ＳＢｎ）は、制御回路ＣＴＲから供給されるセレクタ制御信号ＣＭ１［２：０］（ＣＭ２［２：０］〜ＣＭｎ［２：０］）の中でセレクタ制御信号ＣＭ１［０］（ＣＭ２［０］〜ＣＭｎ［０］）、ＣＭ１［２］（ＣＭ２［２］〜ＣＭｎ［２］）のいずれかが“１”に設定されている場合、遅延素子Ｂ０（Ｂ１〜Ｂｎ−１）の出力信号を選択して出力する。セレクタＳＢ１（ＳＢ２〜ＳＢｎ）は、セレクタ制御信号ＣＭ１［２：０］（ＣＭ２［２：０］〜ＣＭｎ［２：０］）の中でセレクタ制御信号ＣＭ１［１］（ＣＭ２［１］〜ＣＭｎ［１］）が“１”に設定されている場合、遅延素子Ｈ１（Ｈ２〜Ｈｎ）の出力信号を選択して出力する。遅延素子Ｂ０（Ｂ１〜Ｂｎ）は、セレクタＳＢ０（ＳＢ１〜ＳＢｎ）の出力信号を受けて出力する。遅延素子Ｂ０（Ｂ１〜Ｂｎ）は、レジスタＲＢ０（ＲＢ１〜ＲＢｎ）の設定値に応じて遅延時間が変動する可変遅延素子である。
【００１８】
セレクタＳＥ０は、制御回路ＣＴＲから供給されるセレクタ制御信号ＣＭ０［２：０］の中でセレクタ制御信号ＣＭ０［０］、ＣＭ０［１］のいずれかが“１”に設定されている場合、可変遅延回路ＶＡＲＤＬＹ１の入力端子からスイッチを経由して供給される信号を選択して出力する。セレクタＳＥ０は、セレクタ制御信号ＣＭ０［２：０］の中でセレクタ制御信号ＣＭ０［２］が“１”に設定されている場合、遅延素子Ｈ０の出力信号を選択して出力する。セレクタＳＥ１（ＳＥ２〜ＳＥｎ）は、制御回路ＣＴＲから供給されるセレクタ制御信号ＣＭ１［２：０］の中でセレクタ制御信号ＣＭ１［０］（ＣＭ２［０］〜ＣＭｎ［０］）、ＣＭ１［１］（ＣＭ２［１］〜ＣＭｎ［１］）のいずれかが“１”に設定されている場合、遅延素子Ｅ０（Ｅ１〜Ｅｎ−１）の出力信号を選択して出力する。セレクタＳＥ１（ＳＥ２〜ＳＥｎ）は、セレクタ制御信号ＣＭ１［２：０］の中でセレクタ制御信号ＣＭ１［２］（ＣＭ２［２］〜ＣＭｎ［２］）が“１”に設定されている場合、遅延素子Ｈ１（Ｈ２〜Ｈｎ）の出力信号を選択して出力する。遅延素子Ｅ０（Ｅ１〜Ｅｎ）は、セレクタＳＥ０（ＳＥ１〜ＳＥｎ）の出力信号を受けて出力する。遅延素子Ｅ０（Ｅ１〜Ｅｎ）は、レジスタＲＥ０（ＲＥ１〜ＲＥｎ）の設定値に応じて遅延時間が変動する可変遅延素子である。
【００１９】
セレクタＳＨ０（ＳＨ１〜ＳＨｎ）は、制御回路ＣＴＲから供給されるセレクタ制御信号ＣＭ０［２：０］（ＣＭ１［２：０］〜ＣＭｎ［２：０］）の中でセレクタ制御信号ＣＭ０［０］（ＣＭ１［０］〜ＣＭｎ［０］）が“１”に設定されている場合、遅延素子Ｈ０（Ｈ１〜Ｈｎ）の出力信号を選択して出力する。セレクタＳＨ０（ＳＨ１〜ＳＨｎ）は、セレクタ制御信号ＣＭ０［２：０］（ＣＭ１［２：０］〜ＣＭｎ［２：０］）の中でセレクタ制御信号ＣＭ０［１］（ＣＭ１［１］〜ＣＭｎ［１］）が“１”に設定されている場合、遅延素子Ｂ０（Ｂ１〜Ｂｎ）の出力信号を選択して出力する。セレクタＳＨ０（ＳＨ１〜ＳＨｎ）は、セレクタ制御信号ＣＭ０［２：０］（ＣＭ１［２：０］〜ＣＭｎ［２：０］）の中でセレクタ制御信号ＣＭ０［２］（ＣＭ１［２］〜ＣＭｎ［２］）が“１”に設定されている場合、遅延素子Ｅ０（Ｅ１〜Ｅｎ）の出力信号を選択して出力する。遅延素子Ｈ０は、ゲート回路ＮＡＮＤの出力信号を受けて出力する。遅延素子Ｈ１（Ｈ２〜Ｈｎ＋１）は、セレクタＳＨ０（ＳＨ１〜ＳＨｎ）の出力信号を受けて出力する。遅延素子Ｈ０〜Ｈｎ＋１は、レジスタＲＨの設定値に応じて遅延時間が変動する可変遅延素子である。ゲート回路ＮＡＮＤは、リングオシレータ制御信号ＲＯＳＣＥＮが“０”に設定されている場合に出力信号を“１”に設定し、リングオシレータ制御信号ＲＯＳＣＥＮが“１”に設定されている場合に遅延素子Ｈｎ＋１の出力信号を反転させて出力する。
【００２０】
なお、可変遅延回路ＶＡＲＤＬＹ１における遅延素子Ｂ０〜Ｂｎ、Ｅ０〜Ｅｎ、Ｈ０〜Ｈｎ＋１は、例えば、以下に示す可変遅延素子ＤＬＹ１〜ＤＬＹ７（図２〜図８）のいずれかを用いて構成されている。可変遅延素子ＤＬＹ１は、ＰＭＯＳトランジスタＴＰ１０、ＴＰ１１、ＳＰ１０〜ＳＰ１ｐと、ＮＭＯＳトランジスタＴＮ１０、ＴＮ１１、ＳＮ１０〜ＳＮ１ｐと、インバータＩＮＶ１０〜ＩＮＶ１ｐとを備えて構成されている（図２（ａ））。ＰＭＯＳトランジスタＴＰ１０、ＴＰ１１のソースは、相互に接続されている。ＰＭＯＳトランジスタＴＰ１０およびＮＭＯＳトランジスタＴＮ１０のドレインは、相互に接続されている。ＰＭＯＳトランジスタＴＰ１１およびＮＭＯＳトランジスタＴＮ１１のドレインは、相互に接続されている。ＮＭＯＳトランジスタＴＮ１０、ＴＮ１１のソースは、相互に接続されている。ＰＭＯＳトランジスタＴＰ１０およびＮＭＯＳトランジスタＴＮ１０のゲートは、可変遅延素子ＤＬＹ１の入力端子ＩＮに接続されている。ＰＭＯＳトランジスタＴＰ１１およびＮＭＯＳトランジスタＴＮ１１のゲートは、ＰＭＯＳトランジスタＴＰ１０およびＮＭＯＳトランジスタＴＮ１０の接続ノードに接続されている。ＰＭＯＳトランジスタＴＰ１１およびＮＭＯＳトランジスタＴＮ１１の接続ノードは、可変遅延素子ＤＬＹ１の出力端子ＯＵＴに接続されている。
【００２１】
ＰＭＯＳトランジスタＳＰ１０〜ＳＰ１ｐのソースは、電源線ＶＤＤに接続されている。ＰＭＯＳトランジスタＳＰ１０〜ＳＰ１ｐのドレインは、ＰＭＯＳトランジスタＴＰ１０、ＴＰ１１の接続ノードに接続されている。ＰＭＯＳトランジスタＳＰ１０〜ＳＰ１ｐのゲートは、可変遅延素子ＤＬＹ１の制御端子ＣＴＬ［０］〜ＣＴＬ［ｐ］にインバータＩＮＶ１０〜ＩＮＶ１ｐを介して接続されている。ＮＭＯＳトランジスタＳＮ１０〜ＳＮ１ｐのソースは、接地線ＶＳＳに接続されている。ＮＭＯＳトランジスタＳＮ１０〜ＳＮ１ｐのドレインは、ＮＭＯＳトランジスタＴＮ１０、ＴＮ１１の接続ノードに接続されている。ＮＭＯＳトランジスタＳＮ１０〜ＳＮ１ｐのゲートは、可変遅延素子ＤＬＹ１の制御端子ＣＴＬ［０］〜ＣＴＬ［ｐ］に接続されている。以上のような構成の可変遅延素子ＤＬＹ１では、ＰＭＯＳトランジスタＳＰ１０〜ＳＰ１ｐにおけるオン状態のＰＭＯＳトランジスタの個数およびＮＭＯＳトランジスタＳＮ１０〜ＳＮ１ｐにおけるオン状態のＮＭＯＳトランジスタの個数が制御されることにより、遅延時間が調整される。
【００２２】
なお、可変遅延素子ＤＬＹ１は、遅延時間−電流値特性曲線（図２（ｂ））において線形的に変化する部分を利用して構成されている。具体的には、可変遅延素子ＤＬＹ１は、ＰＭＯＳトランジスタＳＰ１０〜ＳＰ１ｐにおけるオン状態のＰＭＯＳトランジスタの個数およびＮＭＯＳトランジスタＳＮ１０〜ＳＮ１ｐにおけるオン状態のＮＭＯＳトランジスタの個数が１個である場合に電流値がＩｍｉｎとなり、ＰＭＯＳトランジスタＳＰ１０〜ＳＰ１ｐにおけるオン状態のＰＭＯＳトランジスタの個数およびＮＭＯＳトランジスタＳＮ１０〜ＳＮ１ｐにおけるオン状態のＮＭＯＳトランジスタの個数がｐ＋１個である場合に電流値がＩｍａｘとなるように構成されている。
【００２３】
可変遅延素子ＤＬＹ２は、ＰＭＯＳトランジスタＴＰ２０、ＴＰ２１、ＳＰ２０〜ＳＰ２４と、ＮＭＯＳトランジスタＴＮ２０、ＴＮ２１、ＳＮ２０〜ＳＮ２４と、インバータＩＮＶ２０〜ＩＮＶ２３とを備えて構成されている（図３）。ＰＭＯＳトランジスタＴＰ２０、ＴＰ２１のソースは、相互に接続されている。ＰＭＯＳトランジスタＴＰ２０およびＮＭＯＳトランジスタＴＮ２０のドレインは、相互に接続されている。ＰＭＯＳトランジスタＴＰ２１およびＮＭＯＳトランジスタＴＮ２１のドレインは、相互に接続されている。ＮＭＯＳトランジスタＴＰ２０、ＴＮ２１のソースは、相互に接続されている。ＰＭＯＳトランジスタＴＰ２０およびＮＭＯＳトランジスタＴＮ２０のゲートは、可変遅延素子ＤＬＹ２の入力端子ＩＮに接続されている。ＰＭＯＳトランジスタＴＰ２１およびＮＭＯＳトランジスタＴＮ２１のゲートは、ＰＭＯＳトランジスタＴＰ２０およびＮＭＯＳトランジスタＴＮ２０の接続ノードに接続されている。ＰＭＯＳトランジスタＴＰ２１およびＮＭＯＳトランジスタＴＮ２１の接続ノードは、可変遅延素子ＤＬＹ２の出力端子ＯＵＴに接続されている。
【００２４】
ＰＭＯＳトランジスタＳＰ２０〜ＳＰ２４のソースは、電源線ＶＤＤに接続されている。ＰＭＯＳトランジスタＳＰ２０〜ＳＰ２４のドレインは、ＰＭＯＳトランジスタＴＰ２０、ＴＰ２１の接続ノードに接続されている。ＰＭＯＳトランジスタＳＰ２０〜ＳＰ２３のゲートは、可変遅延素子ＤＬＹ２の制御端子ＣＴＬ［０］〜ＣＴＬ［３］にインバータＩＮＶ２０〜ＩＮＶ２３を介して接続されている。ＰＭＯＳトランジスタＳＰ２４のゲートは、接地線ＶＳＳに接続されている。なお、ＰＭＯＳトランジスタＳＰ２１のトランジスタサイズは、ＰＭＯＳトランジスタＳＰ２０のトランジスタサイズの２倍である。ＰＭＯＳトランジスタＳＰ２２、ＳＰ２４のトランジスタサイズは、ＰＭＯＳトランジスタＳＰ２０のトランジスタサイズの４倍である。ＰＭＯＳトランジスタＳＰ２３のトランジスタサイズは、ＰＭＯＳトランジスタＳＰ２０のトランジスタサイズの８倍である。
【００２５】
ＮＭＯＳトランジスタＳＮ２０〜ＳＮ２４のソースは、接地線ＶＳＳに接続されている。ＮＭＯＳトランジスタＳＮ２０〜ＳＮ２４のドレインは、ＮＭＯＳトランジスタＴＮ２０、ＴＮ２１の接続ノードに接続されている。ＮＭＯＳトランジスタＳＮ２０〜ＳＮ２３のゲートは、可変遅延素子ＤＬＹ２の制御端子ＣＴＬ［０］〜ＣＴＬ［３］に接続されている。ＮＭＯＳトランジスタＳＮ２４のゲートは、電源線ＶＤＤに接続されている。なお、ＮＭＯＳトランジスタＳＮ２１のトランジスタサイズは、ＮＭＯＳトランジスタＳＮ２０のトランジスタサイズの２倍である。ＮＭＯＳトランジスタＳＮ２２、ＳＮ２４のトランジスタサイズは、ＮＭＯＳトランジスタＳＮ２０のトランジスタサイズの４倍である。ＮＭＯＳトランジスタＳＮ２３のトランジスタサイズは、ＮＭＯＳトランジスタＳＮ２０のトランジスタサイズの８倍である。以上のような構成の可変遅延素子ＤＬＹ２では、ＰＭＯＳトランジスタＳＰ２０〜ＳＰ２３におけるオン状態のＰＭＯＳトランジスタの個数およびＮＭＯＳトランジスタＳＮ２０〜ＳＮ２３におけるオン状態のＮＭＯＳトランジスタの個数が制御されることにより、遅延時間が調整される。
【００２６】
可変遅延素子ＤＬＹ３は、駆動能力可変インバータＤＶＩＮＶ３０、ＤＶＩＮＶ３１を備えて構成されている（図４（ａ））。駆動能力可変インバータＤＶＩＮＶ３０の入力端子ＩＡは、可変遅延素子ＤＬＹ３の入力端子ＩＮに接続されている。駆動能力可変インバータＤＶＩＮＶ３０の出力端子ＯＡは、駆動能力可変インバータＤＶＩＮＶ３１の入力端子ＩＡに接続されている。駆動能力可変インバータＤＶＩＮＶ３０の出力端子ＯＡは、可変遅延素子ＤＬＹ３の出力端子ＯＵＴに接続されている。駆動能力可変インバータＤＶＩＮＶ３０、ＤＶＩＮＶ３１の制御端子ＣＡ［４：０］は、可変遅延素子ＤＬＹ３の制御端子ＣＴＬ［４：０］に接続されている。
【００２７】
駆動能力可変インバータＤＶＩＮＶ３０（ＤＶＩＮＶ３１）は、インバータＩＮＶ３０と、制御端子付きインバータＳＷＩＮＶ３０〜ＳＷＩＮＶ３４とを備えて構成されている（図４（ｂ））。インバータＩＮＶ３０および制御端子付きインバータＳＷＩＮＶ３０〜ＳＷＩＮＶ３４の入力端子ＩＢは、駆動能力可変インバータＤＶＩＮＶ３０（ＤＶＩＮＶ３１）の入力端子ＩＡに接続されている。インバータＩＮＶ３０および制御端子付きインバータＳＷＩＮＶ３０〜ＳＷＩＮＶ３４の出力端子ＯＢは、駆動能力可変インバータＤＶＩＮＶ３０（ＤＶＩＮＶ３１）の出力端子ＯＡに接続されている。制御端子付きインバータＳＷＩＮＶ３０〜ＳＷＩＮＶ３４の制御端子ＣＢは、駆動能力可変インバータＤＶＩＮＶ３０（ＤＶＩＮＶ３１）の制御端子ＣＡ［０］〜ＣＡ［４］に接続されている。なお、制御端子付きインバータＳＷＩＮＶ３１の駆動能力（インバータを構成するトランジスタのトランジスタサイズ）は、制御端子付きインバータＳＷＩＮＶ３０の駆動能力の２倍である。制御端子付きインバータＳＷＩＮＶ３２の駆動能力は、制御端子付きインバータＳＷＩＮＶ３０の駆動能力の４倍である。制御端子付きインバータＳＷＩＮＶ３３の駆動能力は、制御端子付きインバータＳＷＩＮＶ３０の駆動能力の８倍である。制御端子付きインバータＳＷＩＮＶ３３の駆動能力は、制御端子付きインバータＳＷＩＮＶ３０の駆動能力の１６倍である。また、インバータＩＮＶ３０の駆動能力は、制御端子付きインバータＳＷＩＮＶ３０の駆動能力の２倍である。
【００２８】
制御端子付きインバータＳＷＩＮＶ３０（ＳＷＩＮＶ３１〜ＳＷＩＮＶ３４）は、ＰＭＯＳトランジスタＴＰ３０、ＳＰ３０と、ＮＭＯＳトランジスタＴＮ３０、ＳＮ３０と、インバータＩＮＶ３１とを備えて構成されている（図４（ｃ））。ＰＭＯＳトランジスタＴＰ３０のソースは、電源線ＶＤＤに接続されている。ＰＭＯＳトランジスタＴＰ３０のドレインおよびＰＭＯＳトランジスタＳＰ３０のソースは、相互に接続されている。ＰＭＯＳトランジスタＳＰ３０およびＮＭＯＳトランジスタＳＮ３０のドレインは、相互に接続されている。ＮＭＯＳトランジスタＳＮ３０のソースおよびＮＭＯＳトランジスタＴＮ３０のドレインは、相互に接続されている。ＮＭＯＳトランジスタＴＰ３０のソースは、接地線ＶＳＳに接続されている。ＰＭＯＳトランジスタＴＰ３０およびＮＭＯＳトランジスタＴＮ３０のゲートは、制御端子付きインバータＳＷＩＮＶ３０（ＳＷＩＮＶ３１〜ＳＷＩＮＶ３４）の入力端子ＩＢに接続されている。ＰＭＯＳトランジスタＳＰ３０のゲートは、制御端子付きインバータＳＷＩＮＶ３０（ＳＷＩＮＶ３１〜ＳＷＩＮＶ３４）の制御端子ＣＢにインバータＩＮＶ３１を介して接続されている。ＮＭＯＳトランジスタＴＮ３０のゲートは、制御端子付きインバータＳＷＩＮＶ３０（ＳＷＩＮＶ３１〜ＳＷＩＮＶ３４）の制御端子ＣＢに接続されている。ＰＭＯＳトランジスタＳＰ３０およびＮＭＯＳトランジスタＳＮ３０の接続ノードは、制御端子付きインバータＳＷＩＮＶ３０（ＳＷＩＮＶ３１〜ＳＷＩＮＶ３４）の出力端子ＯＢに接続されている。以上のような構成の可変遅延素子ＤＬＹ３では、駆動能力可変インバータＤＶＩＮＶ３０、ＤＶＩＮＶ３１内の制御端子付きインバータＳＷＩＮＶ３０〜ＳＷＩＮＶ３４におけるオン状態の制御端子付きインバータの個数が制御されることにより、遅延時間が調整される。
【００２９】
可変遅延素子ＤＬＹ４は、駆動能力可変インバータＤＶＩＮＶ４０、ＤＶＩＮＶ４１を備えて構成されている（図５（ａ））。駆動能力可変インバータＤＶＩＮＶ４０の入力端子ＩＡは、可変遅延素子ＤＬＹ４の入力端子ＩＮに接続されている。駆動能力可変インバータＤＶＩＮＶ４０の出力端子ＯＡは、駆動能力可変インバータＤＶＩＮＶ４１の入力端子ＩＡに接続されている。駆動能力可変インバータＤＶＩＮＶ４１の出力端子ＯＡは、可変遅延素子ＤＬＹ３の出力端子ＯＵＴに接続されている。駆動能力可変インバータＤＶＩＮＶ４０、ＤＶＩＮＶ４１の制御端子ＣＡ［４：０］は、可変遅延素子ＤＬＹ４の制御端子ＣＴＬ［４：０］に接続されている。
【００３０】
駆動能力可変インバータＤＶＩＮＶ４０（ＤＶＩＮＶ４１）は、インバータＩＮＶ４０と、制御端子付きインバータＳＷＩＮＶ４０〜ＳＷＩＮＶ４４とを備えて構成されている（図５（ｂ））。インバータＩＮＶ４０および制御端子付きインバータＳＷＩＮＶ４０〜ＳＷＩＮＶ４４の入力端子ＩＢは、駆動能力可変インバータＤＶＩＮＶ４０（ＤＶＩＮＶ４１）の入力端子ＩＡに接続されている。インバータＩＮＶ４０および制御端子付きインバータＳＷＩＮＶ４０〜ＳＷＩＮＶ４４の出力端子ＯＢは、駆動能力可変インバータＤＶＩＮＶ４０（ＤＶＩＮＶ４１）の出力端子ＯＡに接続されている。制御端子付きインバータＳＷＩＮＶ４０〜ＳＷＩＮＶ４４の制御端子ＣＢは、駆動能力可変インバータＤＶＩＮＶ４０（ＤＶＩＮＶ４１）の制御端子ＣＡ［０］〜ＣＡ［４］に接続されている。なお、制御端子付きインバータＳＷＩＮＶ４１の駆動能力は、制御端子付きインバータＳＷＩＮＶ４０の駆動能力の２倍である。制御端子付きインバータＳＷＩＮＶ４２の駆動能力は、制御端子付きインバータＳＷＩＮＶ４０の駆動能力の４倍である。制御端子付きインバータＳＷＩＮＶ４３の駆動能力は、制御端子付きインバータＳＷＩＮＶ４０の駆動能力の８倍である。制御端子付きインバータＳＷＩＮＶ４３の駆動能力は、制御端子付きインバータＳＷＩＮＶ４０の駆動能力の１６倍である。また、インバータＩＮＶ４０の駆動能力は、制御端子付きインバータＳＷＩＮＶ４０の駆動能力の２倍である。
【００３１】
制御端子付きインバータＳＷＩＮＶ４０（ＳＷＩＮＶ４１〜ＳＷＩＮＶ４４）は、ＰＭＯＳトランジスタＴＰ４０と、ＮＭＯＳトランジスタＴＮ４０と、ＣＭＯＳスイッチＳＰＮ４０と、インバータＩＮＶ４１とを備えて構成されている（図５（ｃ））。ＰＭＯＳトランジスタＴＰ４０のドレインは、電源線ＶＤＤに接続されている。ＰＭＯＳトランジスタＴＰ４０およびＮＭＯＳトランジスタＴＮ４０のドレインは、相互に接続されている。ＰＭＯＳトランジスタＴＰ４０およびＮＭＯＳトランジスタＴＮ５０のゲートは、制御端子付きインバータＳＷＩＮＶ４０（ＳＷＩＮＶ４１〜ＳＷＩＮＶ４４）の入力端子ＩＢに接続されている。ＣＭＯＳスイッチＳＰＮ４０は、ＰＭＯＳトランジスタＴＰ４０およびＮＭＯＳトランジスタＴＮ４０の接続ノードと制御端子付きインバータＳＷＩＮＶ４０（ＳＷＩＮＶ４１〜ＳＷＩＮＶ４４）の出力端子ＯＢとの間に接続されている。ＣＭＯＳスイッチＳＰＮ４０を構成するＰＭＯＳトランジスタのゲートは、制御端子付きインバータＳＷＩＮＶ４０（ＳＷＩＮＶ４１〜ＳＷＩＮＶ４４）の制御端子ＣＢにインバータＩＮＶ４１を介して接続されている。ＣＭＯＳスイッチＳＰＮ４０を構成するＮＭＯＳトランジスタのゲートは、制御端子付きインバータＳＷＩＮＶ４０（ＳＷＩＮＶ４１〜ＳＷＩＮＶ４４）の制御端子ＣＢに接続されている。以上のような構成の可変遅延素子ＤＬＹ４では、可変遅延素子ＤＬＹ３（図４）と同様に、駆動能力可変インバータＤＶＩＮＶ４０、ＤＶＩＮＶ４１内の制御端子付きインバータＳＷＩＮＶ４０〜ＳＷＩＮＶ４４におけるオン状態の制御端子付きインバータの個数が制御されることにより、遅延時間が調整される。
【００３２】
可変遅延素子ＤＬＹ５は、インバータＩＮＶ５０、５１と、容量回路ＶＡＲＣＡＰ５０〜ＶＡＲＣＡＰ５４とを備えて構成されている（図６（ａ））。インバータＩＮＶ５０の入力端子Ｉは、可変遅延素子ＤＬＹ５の入力端子ＩＮに接続されている。インバータＩＮＶ５０の出力端子Ｏは、インバータＩＮＶ５１の入力端子Ｉに接続されている。インバータＩＮＶ５１の出力端子Ｏは、可変遅延素子ＤＬＹ５の出力端子ＯＵＴに接続されている。容量回路ＶＡＲＣＡＰ５０〜ＶＡＲＣＡＰ５４の入力端子Ｉは、インバータＩＮＶ５０、ＩＮＶ５１の接続ノードに接続されている。容量回路ＶＡＲＣＡＰ５０〜ＶＡＲＣＡＰ５４の制御端子Ｃは、可変遅延素子ＤＬＹ５の制御端子ＣＴＬ［０］〜ＣＴＬ［４］に接続されている。なお、容量回路ＶＡＲＣＡＰ５１の容量は、容量回路ＶＡＲＣＡＰ５０の容量の２倍である。容量回路ＶＡＲＣＡＰ５２の容量は、容量回路ＶＡＲＣＡＰ５０の駆動能力の４倍である。容量回路ＶＡＲＣＡＰ５３の容量は、容量回路ＶＡＲＣＡＰ５０の容量の８倍である。容量回路ＶＡＲＣＡＰ５４の容量は、容量回路ＶＡＲＣＡＰ５０の容量の１６倍である。
【００３３】
容量回路ＶＡＲＣＡＰ５０（ＶＡＲＣＡＰ５１〜ＶＡＲＣＡＰ５４）は、ＰＭＯＳトランジスタＴＰ５０と、ＮＭＯＳトランジスタＴＮ５０と、ＣＭＯＳスイッチＳＰＮ５０と、インバータＩＮＶ５２とを備えて構成されている（図６（ｂ））。ＰＭＯＳトランジスタＴＰ５０のソースおよびドレインは、電源線ＶＤＤに接続されている。ＮＭＯＳトランジスタＴＮ５０のソースおよびドレインは、接地線ＶＳＳに接続されている。ＰＭＯＳトランジスタＴＰ５０およびＮＭＯＳトランジスタＴＮ５０のゲートは、相互に接続されている。ＣＭＯＳスイッチＳＰＮ５０は、ＰＭＯＳトランジスタＴＰ５０およびＮＭＯＳトランジスタＴＮ５０の接続ノードと容量回路ＶＡＲＣＡＰ５０（ＶＡＲＣＡＰ５１〜ＶＡＲＣＡＰ５４）の入力端子Ｉとの間に接続されている。ＣＭＯＳスイッチＳＰＮ５０を構成するＰＭＯＳトランジスタのゲートは、容量回路ＶＡＲＣＡＰ５０（ＶＡＲＣＡＰ５１〜ＶＡＲＣＡＰ５４）の制御端子Ｃに接続されている。ＣＭＯＳスイッチＳＰＮ５０を構成するＮＭＯＳトランジスタのゲートは、容量回路ＶＡＲＣＡＰ５０（ＶＡＲＣＡＰ５１〜ＶＡＲＣＡＰ５４）の制御端子ＣにインバータＩＮＶ５２を介して接続されている。以上のような構成の可変遅延素子ＤＬＹ５では、容量回路ＶＡＲＣＡＰ５０〜ＶＡＲＣＡＰ５４におけるオン状態の容量回路の個数（インバータＩＮＶ５０、ＩＮＶ５１の接続ノードの負荷容量）が制御されることにより、遅延時間が調整される。
【００３４】
可変遅延素子ＤＬＹ６は、駆動能力可変インバータＤＶＩＮＶ３０、ＤＶＩＮＶ３１（図４）と容量回路ＶＡＲＣＡＰ５０〜ＶＡＲＣＡＰ５４（図６）とを組み合わせて構成されている（図７）。駆動能力可変インバータＤＶＩＮＶ３０の入力端子ＩＡは、可変遅延素子ＤＬＹ６の入力端子ＩＮに接続されている。駆動能力可変インバータＤＶＩＮＶ３０の出力端子ＯＡは、駆動能力可変インバータＤＶＩＮＶ３１の入力端子ＩＡに接続されている。駆動能力可変インバータＤＶＩＮＶ３１の出力端子ＯＡは、可変遅延素子ＤＬＹ６の出力端子ＯＵＴに接続されている。駆動能力可変インバータＤＶＩＮＶ３０、ＤＶＩＮＶ３１の制御端子ＣＡ［４：０］は、可変遅延素子ＤＬＹ６の制御端子ＣＴＬ［９：５］に接続されている。容量回路ＶＡＲＣＡＰ５０〜ＶＡＲＣＡＰ５４の入力端子Ｉは、駆動能力可変インバータＤＶＩＮＶ３０、ＤＶＩＮＶ３１の接続ノードに接続されている。容量回路ＶＡＲＣＡＰ５０〜ＶＡＲＣＡＰ５４の制御端子Ｃは、可変遅延素子ＤＬＹ６の制御端子ＣＴＬ［０］〜ＣＴＬ［４］に接続されている。以上のような構成の可変遅延素子ＤＬＹ６では、駆動能力可変インバータＤＶＩＮＶ３０、ＤＶＩＮＶ３１内の制御端子付きインバータＳＷＩＮＶ３０〜ＳＷＩＮＶ３４におけるオン状態の制御端子付きインバータの個数が制御されるとともに、容量回路ＶＡＲＣＡＰ５０〜ＶＡＲＣＡＰ５４におけるオン状態の容量回路の個数が制御されることにより、遅延時間が調整される。
【００３５】
可変遅延素子ＤＬＹ７は、駆動能力可変インバータＤＶＩＮＶ４０、ＤＶＩＮＶ４１（図５）と容量回路ＶＡＲＣＡＰ５０〜ＶＡＲＣＡＰ５４（図６）とを組み合わせて構成されている（図８）。駆動能力可変インバータＤＶＩＮＶ４０の入力端子ＩＡは、可変遅延素子ＤＬＹ７の入力端子ＩＮに接続されている。駆動能力可変インバータＤＶＩＮＶ４０の出力端子ＯＡは、駆動能力可変インバータＤＶＩＮＶ４１の入力端子ＩＡに接続されている。駆動能力可変インバータＤＶＩＮＶ４１の出力端子ＯＡは、可変遅延素子ＤＬＹ７の出力端子ＯＵＴに接続されている。駆動能力可変インバータＤＶＩＮＶ４０、ＤＶＩＮＶ４１の制御端子ＣＡ［４：０］は、可変遅延素子ＤＬＹ７の制御端子ＣＴＬ［９：５］に接続されている。容量回路ＶＡＲＣＡＰ５０〜ＶＡＲＣＡＰ５４の入力端子Ｉは、駆動能力可変インバータＤＶＩＮＶ４０、ＤＶＩＮＶ４１の接続ノードに接続されている。容量回路ＶＡＲＣＡＰ５０〜ＶＡＲＣＡＰ５４の制御端子Ｃは、可変遅延素子ＤＬＹ７の制御端子ＣＴＬ［０］〜ＣＴＬ［４］に接続されている。以上のような構成の可変遅延素子ＤＬＹ７では、駆動能力可変インバータＤＶＩＮＶ４０、ＤＶＩＮＶ４１内の制御端子付きインバータＳＷＩＮＶ４０〜ＳＷＩＮＶ４４におけるオン状態の制御端子付きインバータの個数が制御されるとともに、容量回路ＶＡＲＣＡＰ５０〜ＶＡＲＣＡＰ５４におけるオン状態の容量回路の個数が制御されることにより、遅延時間が調整される。
【００３６】
カウンタＣＮＴは、遅延素子Ｈｎ＋１の出力信号をクロック信号ＣＬＫとして受けている。カウンタＣＮＴは、制御回路ＣＴＲから供給されるカウンタ制御信号ＣＮＴＥＮが“１”に設定されている場合にのみ、クロック信号ＣＬＫに同期してカウント動作を実施する。なお、カウンタＣＮＴは、カウント動作を終了してから所定時間の経過後に全ビットを“０”に初期化する。判定回路ＪＤＧは、カウンタＣＮＴのカウント動作の終了に伴って、制御回路ＣＴＲから供給されるディジタル値Ｄｔｏｓｃ、ＤｈとカウンタＣＮＴから供給されるディジタル値Ｄｃｎｔとに基づいてディジタル値Ｄｉｎｃを出力する。なお、ディジタル値Ｄｔｏｓｃは、クロック信号ＣＬＫの周期を示すディジタル値である。ディジタル値Ｄｈは、遅延素子Ｂ０〜Ｂｎ、Ｅ０〜Ｅｎ、Ｈ０〜Ｈｎ＋１の遅延時間分解能を示すディジタル値である。ディジタル値Ｄｃｎｔは、カウンタＣＮＴのカウント値を示すディジタル値である。ディジタル値Ｄｉｎｃは、遅延素子Ｂ０〜Ｂｎ、Ｅ０〜Ｅｎ、Ｈ０〜Ｈｎ＋１の中から選択される補正対象遅延素子の遅延時間の補正に用いられる増減値を示すディジタル値である。判定回路ＪＤＧにより導出される増減値ＩＮＣは、基準値ＮｔａｒｇおよびカウンタＣＮＴのカウント値Ｎを用いて式（１）で表される。基準値Ｎｔａｒｇは、クロック信号ＣＬＫの周期Ｔｏｓｃおよび遅延素子Ｂ０〜Ｂｎ、Ｅ０〜Ｅｎ、Ｈ０〜Ｈｎ＋１の遅延時間分解能ｈを用いて式（２）で表される。なお、制御回路ＣＴＲによりカウンタ制御信号ＣＮＴＥＮが“１”に設定される時間Ｔｅｎは、基準値Ｎｔａｒｇおよびクロック信号ＣＬＫの周期Ｔｏｓｃを用いて式（３）で表される。
ＩＮＣ＝（Ｎｔａｒｇ−Ｎ）・Ｎｔａｒｇ／Ｎ／２  ・・・（１）
Ｎｔａｒｇ＝Ｔｏｓｃ／ｈ                        ・・・（２）
Ｔｅｎ＝Ｎｔａｒｇ・Ｔｏｓｃ                    ・・・（３）
例えば、判定回路ＪＤＧは、前述のような動作を実現するために、レジスタＲＥＧ０〜ＲＥＧ４と、除算器ＤＩＶ０〜ＤＩＶ２と、減算器ＳＵＢ０と、乗算器ＭＵＬ０とを備えて構成されている（図９）。レジスタＲＥＧ０は、制御回路ＣＴＲから供給されるディジタル値Ｄｔｏｓｃを所定周期で取り込む。レジスタＲＥＧ１は、制御回路ＣＴＲから供給されるディジタル値Ｄｈを所定周期で取り込む。除算器ＤＩＶ０は、レジスタＲＥＧ０の設定値をレジスタＲＥＧ１の設定値で除算する。レジスタＲＥＧ２は、除算器ＤＩＶ０の除算結果を所定周期で取り込む。レジスタＲＥＧ３は、カウンタＣＮＴから供給されるディジタル値Ｄｃｎｔを所定周期で取り込む。減算器ＳＵＢ０は、レジスタＲＥＧ２の設定値からレジスタＲＥＧ３の設定値を減算する。乗算器ＭＵＬ０は、レジスタＲＥＧ２の設定値と減算器ＳＵＢ０の減算結果とを乗算する。除算器ＤＩＶ１は、乗算器ＭＵＬ０の乗算結果をレジスタＲＥＧ３の設定値で除算する。除算器ＤＩＶ２は、除算器ＤＩＶ１の除算結果をディジタル値Ｄ２で除算する。なお、ディジタル値Ｄ２は、２を示すディジタル値である。レジスタＲＥＧ４は、カウンタＣＮＴのカウント動作の終了に伴って除算器ＤＩＶ２の除算結果を取り込む。レジスタＲＥＧ４の設定値は、ディジタル値Ｄｉｎｃとして供給される。なお、レジスタＲＥＧ４は、除算器ＤＩＶ２の除算結果を取り込んでから所定時間の経過後に全ビットを“０”に初期化する。
【００３７】
除算器ＤＩＶは、判定回路ＪＤＧから供給されるディジタル値Ｄｉｎｃをディジタル値Ｄｍで除算する。なお、ディジタル値Ｄｍは、遅延素子Ｈ０〜Ｈｎ＋１の個数を示すディジタル値である。セレクタＳＩＮＣは、制御回路ＣＴＲから供給されるセレクタ制御信号ＳＥＬＩ［１：０］の中でセレクタ制御信号ＳＥＬＩ［０］が“１”に設定されている場合に判定回路ＪＤＧから供給されるディジタル値Ｄｉｎｃを選択して出力する。セレクタＳＩＮＣは、セレクタ制御信号ＳＥＬＩ［１：０］の中でセレクタ制御信号ＳＥＬＩ［１］が“１”に設定されている場合に除算器ＤＩＶの除算結果を選択して出力する。
【００３８】
増減値出力回路ＩＮＣＯＵＴは、制御回路ＣＴＲから供給される出力制御信号ＯＵＴＨ（ＯＵＴＢ［０］〜ＯＵＴＢ［ｎ］、ＯＵＴＥ［０］〜ＯＵＴＥ［ｎ］）が“０”に設定されている場合、０を示すディジタル値を加算器ＡＨ（ＡＢ０〜ＡＢｎ、ＡＥ０〜ＡＥｎ）に出力する。増減値出力回路ＩＮＣＯＵＴは、出力制御信号ＯＵＴＨ（ＯＵＴＢ［０］〜ＯＵＴＢ［ｎ］、ＯＵＴＥ［０］〜ＯＵＴＥ［ｎ］）が“１”に設定されている場合、セレクタＳＩＮＣから供給されるディジタル値を加算器ＡＨ（ＡＢ０〜ＡＢｎ、ＡＥ０〜ＡＥｎ）に出力する。加算器ＡＨ（ＡＢ０〜ＡＢｎ、ＡＥ０〜ＡＥｎ）は、増減値出力回路ＩＮＣＯＵＴから供給されるディジタル値とレジスタＲＨ０（ＲＢ０〜ＲＢｎ、ＲＥ０〜ＲＥｎ）の設定値とを加算する。レジスタＲＨ（ＲＢ０〜ＲＢｎ、ＲＥ０〜ＲＥｎ）は、加算器ＡＨ（ＡＢ０〜ＡＢｎ、ＡＥ０〜ＡＥｎ）の加算結果を所定周期で取り込む。制御回路ＣＴＲは、セレクタ制御信号ＣＭ０［２：０］〜ＣＭｎ［２：０］、ＳＥＬＩ［１：０］、リングオシレータ制御信号ＲＯＳＣＥＮ、出力制御信号ＯＵＴＨ、ＯＵＴＢ［ｎ：０］、ＯＵＴＥ［ｎ：０］、カウンタ制御信号ＣＮＴＥＮおよびディジタル値Ｄｔｏｓｃ、Ｄｈを介して可変遅延回路ＶＡＲＤＬＹ１の各部を制御する。
【００３９】
図１０は、図１の可変遅延回路の遅延補正動作を示している。図１１は、図１の可変遅延回路における遅延補正動作時の動作タイミングを示している。可変遅延回路ＶＡＲＤＬＹ１が搭載されるＶＬＳＩでは、リセット信号が“１”から“０”に遷移するとリセット動作が開始され、その後、リセット信号が“１”から“０”に遷移すると起動シーケンスが開始され、起動シーケンスが終了すると所定時間の経過後に通常動作が開始される。可変遅延回路ＶＡＲＤＬＹ１では、ＶＬＳＩの起動シーケンス中に、遅延素子Ｂ０〜Ｂｎ間のトランジスタ性能のばらつきおよび遅延素子Ｅ０〜Ｅｎ間のトランジスタ性能のばらつきを補償するための第１遅延補正動作が実施され、ＶＬＳＩの通常動作中に、動作環境の変化に起因する遅延素子Ｂ０〜Ｂｎ、Ｅ０〜Ｅｎのトランジスタ性能の変動を補償するための第２遅延補正動作が常時実施される。可変遅延回路ＶＡＲＤＬＹ１の第１遅延補正動作においては、遅延素子Ｈ０〜Ｈｎ＋１の遅延補正動作、遅延素子Ｂ０の遅延補正動作、・・・、遅延素子Ｂｎの遅延補正動作、遅延素子Ｅ０の遅延補正動作、・・・、遅延素子Ｅｎの遅延補正動作が順番に実施される。
【００４０】
遅延素子Ｈ０〜Ｈｎ＋１の遅延補正動作において、制御回路ＣＴＲは、遅延素子Ｈ０〜Ｈｎ＋１の全てを補正対象遅延素子として選択し、セレクタ制御信号ＣＭ０［２：０］〜ＣＭｎ［２：０］の中でセレクタ制御信号ＣＭ０［０］〜ＣＭｎ［０］を“１”に設定する。これにより、ゲート回路ＮＡＮＤおよび遅延素子Ｈ０〜Ｈｎ＋１によるリングオシレータが形成される。また、制御回路ＣＴＲは、ゲート回路ＮＡＮＤおよび遅延素子Ｈ０〜Ｈｎ＋１によるリングオシレータの発振周期（クロック信号ＣＬＫの周期）を示すディジタル値をディジタル値Ｄｔｏｓｃとして出力するとともに、遅延素子Ｂ０〜Ｂｎ、Ｅ０〜Ｅｎ、Ｈ０〜Ｈｎ＋１の遅延時間分解能を示すディジタル値をディジタル値Ｄｈとして出力する。更に、制御回路ＣＴＲは、セレクタ制御信号ＳＥＬＩ［１：０］の中でセレクタ制御信号ＳＥＬＩ［０］を“１”に設定するとともに、出力制御信号ＯＵＴＨ、ＯＵＴＢ［ｎ：０］、ＯＵＴＥ［ｎ：０］の中で出力制御信号ＯＵＴＨを“１”に設定する。この状態で、制御回路ＣＴＲは、リングオシレータ制御信号ＲＯＳＣＥＮを“１”に設定し（図１１（１））、ゲート回路ＮＡＮＤおよび遅延素子Ｈ０〜Ｈｎ＋１によるリングオシレータの発振動作を開始させる（図１１（２））。次に、制御回路ＣＴＲは、ゲート回路ＮＡＮＤおよび遅延素子Ｈ０〜Ｈｎ＋１によるリングオシレータの発振安定期間に合わせてカウンタ制御信号ＣＮＴＥＮを“１”に設定し（図１１（３））、カウンタＣＮＴのカウント動作を開始させる（図１１（４））。そして、制御回路ＣＴＲは、ゲート回路ＮＡＮＤおよび遅延素子Ｈ０〜Ｈｎ＋１によるリングオシレータの発振周期および遅延回路Ｂ０〜Ｂｎ、Ｅ０〜Ｅｎ、Ｈ０〜Ｈｎ＋１の遅延時間分解能を用いて導出される時間Ｔｅｎの経過後にカウンタ制御信号ＣＮＴＥＮを“０”に設定し（図１１（５））、カウンタＣＮＴのカウント動作を終了させる（図１１（６））。この後、制御回路ＣＴＲは、リングオシレータ制御信号ＲＯＳＣＥＮを“０”に設定し（図１１（７））、ゲート回路ＮＡＮＤおよび遅延素子Ｈ０〜Ｈｎ＋１によるリングオシレータの発振動作を終了させる（図１１（８））。カウンタＣＮＴのカウント動作の終了に伴って、判定回路ＪＤＧにより増減値ＩＮＣが導出され（図１１（９））、増減値ＩＮＣを示すディジタル値Ｄｉｎｃとディジタル値Ｄｍとの除算結果がレジスタＲＨの設定値に加算されることにより、遅延素子Ｈ０〜Ｈｎ＋１の遅延時間が補正される。制御回路ＣＴＲは、このような一連の動作を繰り返し実施し、判定回路ＪＤＧにより導出される増減値ＩＮＣが所定回数連続して０になった時点で終了する。
【００４１】
遅延素子Ｂ０（Ｂ１〜Ｂｎ）の遅延補正動作において、制御回路ＣＴＲは、遅延素子Ｂ０（Ｂ１〜Ｂｎ）を補正対象遅延素子として選択し、セレクタ制御信号ＣＭ０［２：０］（ＣＭ１［２：０］〜ＣＭｎ［２：０］）の中でセレクタ制御信号ＣＭ０［１］（ＣＭ１［１］〜ＣＭｎ［１］）を“１”に設定する。これにより、ゲート回路ＮＡＮＤおよび遅延素子Ｈ０〜Ｈｎ＋１、Ｂ０（Ｂ１〜Ｂｎ）によるリングオシレータが形成される。また、制御回路ＣＴＲは、ゲート回路ＮＡＮＤおよび遅延素子Ｈ０〜Ｈｎ＋１、Ｂ０（Ｂ１〜Ｂｎ）によるリングオシレータの発振周期（クロック信号ＣＬＫの周期）を示すディジタル値をディジタル値Ｄｔｏｓｃとして出力する。更に、制御回路ＣＴＲは、セレクタ制御信号ＳＥＬＩ［１：０］の中でセレクタ制御信号ＳＥＬＩ［０］を“０”に設定するとともに、出力制御信号ＯＵＴＨ、ＯＵＴＢ［ｎ：０］、ＯＵＴＥ［ｎ：０］の中で出力制御信号ＯＵＴＢ［０］（ＯＵＴＢ［１］〜ＯＵＴＢ［ｎ］）を“１”に設定する。この状態で、制御回路ＣＴＲは、リングオシレータ制御信号ＲＯＳＣＥＮを“１”に設定してゲート回路ＮＡＮＤおよび遅延素子Ｈ０〜Ｈｎ＋１、Ｂ０（Ｂ１〜Ｂｎ）によるリングオシレータの発振動作を開始させる。次に、制御回路ＣＴＲは、遅延素子Ｈ０〜Ｈｎ＋１、Ｂ０（Ｂ１〜Ｂｎ）によるリングオシレータの発振安定期間に合わせてカウンタ制御信号ＣＮＴＥＮを“１”に設定してカウンタＣＮＴのカウント動作を開始させる。そして、制御回路ＣＴＲは、ゲート回路ＮＡＮＤおよび遅延素子Ｈ０〜Ｈｎ＋１、Ｂ０（Ｂ１〜Ｂｎ）によるリングオシレータの発振周期および遅延素子Ｂ０〜Ｂｎ、Ｅ０〜Ｅｎ、Ｈ０〜Ｈｎ＋１の遅延時間分解能を用いて導出される時間Ｔｅｎの経過後にカウンタ制御信号ＣＮＴＥＮを“０”に設定してカウンタＣＮＴのカウント動作を終了させる。この後、制御回路ＣＴＲは、リングオシレータ制御信号ＲＯＳＣＥＮを“０”に設定してゲート回路ＮＡＮＤおよび遅延素子Ｈ０〜Ｈｎ＋１、Ｂ０（Ｂ１〜Ｂｎ）によるリングオシレータの発振動作を終了させる。カウンタＣＮＴのカウント動作の終了に伴って判定回路ＪＤＧにより増減値ＩＮＣが導出され、増減値ＩＮＣを示すディジタル値ＤｉｎｃがレジスタＲＢ０（ＲＢ１〜ＲＢｎ）の設定値に加算されることにより、遅延素子Ｂ０（Ｂ１〜Ｂｎ）の遅延時間が補正される。制御回路ＣＴＲは、このような一連の動作を繰り返し実施し、判定回路ＪＤＧにより導出される増減値ＩＮＣが所定回数連続して０になった時点で終了する。
【００４２】
遅延素子Ｅ０（Ｅ１〜Ｅｎ）の遅延補正動作において、制御回路ＣＴＲは、遅延素子Ｅ０（Ｅ１〜Ｅｎ）を補正対象遅延素子として選択し、セレクタ制御信号ＣＭ０［２：０］（ＣＭ１［２：０］〜ＣＭｎ［２：０］）の中でセレクタ制御信号ＣＭ０［２］（ＣＭ１［２］〜ＣＭｎ［２］）を“１”に設定する。これにより、ゲート回路ＮＡＮＤおよび遅延素子Ｈ０〜Ｈｎ＋１、Ｅ０（Ｅ１〜Ｅｎ）によるリングオシレータが形成される。また、制御回路ＣＴＲは、ゲート回路ＮＡＮＤおよび遅延素子Ｈ０〜Ｈｎ＋１、Ｅ０（Ｅ１〜Ｅｎ）によるリングオシレータの発振周期（クロック信号ＣＬＫの周期）を示すディジタル値をディジタル値Ｄｔｏｓｃとして出力する。更に、制御回路ＣＴＲは、セレクタ制御信号ＳＥＬＩ［１：０］の中でセレクタ制御信号ＳＥＬＩ［０］を“０”に設定するとともに、出力制御信号ＯＵＴＨ、ＯＵＴＢ［ｎ：０］、ＯＵＴＥ［ｎ：０］の中で出力制御信号ＯＵＴＥ［０］（ＯＵＴＥ［１］〜ＯＵＴＥ［ｎ］）を“１”に設定する。この状態で、制御回路ＣＴＲは、リングオシレータ制御信号ＲＯＳＣＥＮを“１”に設定してゲート回路ＮＡＮＤおよび遅延素子Ｈ０〜Ｈｎ＋１、Ｅ０（Ｅ１〜Ｅｎ）によるリングオシレータの発振動作を開始させる。次に、制御回路ＣＴＲは、遅延素子Ｈ０〜Ｈｎ＋１、Ｅ０（Ｅ１〜Ｅｎ）によるリングオシレータの発振安定期間に合わせてカウンタ制御信号ＣＮＴＥＮを“１”に設定してカウンタＣＮＴのカウント動作を開始させる。そして、制御回路ＣＴＲは、ゲート回路ＮＡＮＤおよび遅延素子Ｈ０〜Ｈｎ＋１、Ｅ０（Ｅ１〜Ｅｎ）によるリングオシレータの発振周期および遅延素子Ｂ０〜Ｂｎ、Ｅ０〜Ｅｎ、Ｈ０〜Ｈｎ＋１の遅延時間分解能を用いて導出される時間Ｔｅｎの経過後にカウンタ制御信号ＣＮＴＥＮを“０”に設定してカウンタＣＮＴのカウント動作を終了させる。この後、制御回路ＣＴＲは、リングオシレータ制御信号ＲＯＳＣＥＮを“０”に設定してゲート回路ＮＡＮＤおよび遅延素子Ｈ０〜Ｈｎ＋１、Ｅ０（Ｅ１〜Ｅｎ）によるリングオシレータの発振動作を終了させる。カウンタＣＮＴのカウント動作の終了に伴って判定回路ＪＤＧにより増減値ＩＮＣが導出され、増減値ＩＮＣを示すディジタル値ＤｉｎｃがレジスタＲＥ０（ＲＥ１〜ＲＥｎ）の設定値に加算されることにより、遅延素子Ｅ０（Ｅ１〜Ｅｎ）の遅延時間が補正される。制御回路ＣＴＲは、このような一連の動作を繰り返し実施し、判定回路ＪＤＧにより導出される増減値ＩＮＣが所定回数連続して０になった時点で終了する。
【００４３】
また、可変遅延回路ＶＡＲＤＬＹ１の第２遅延補正動作においては、遅延素子Ｈ０〜Ｈｎ＋１の遅延補正動作およびレジスタＲＢ０〜ＲＢｎ、ＲＥ０〜ＲＥｎの更新動作が繰り返し実施される。レジスタＲＢ０〜ＲＢｎ、ＲＥ０〜ＲＥｎの更新動作において、制御回路ＣＴＲは、出力制御信号ＯＵＴＢ［０］〜ＯＵＴＢ［ｎ］、ＯＵＴＥ［０］〜ＯＵＴＥ［ｎ］を“１”に設定する。これにより、遅延素子Ｈ０〜Ｈｎ＋１の遅延補正動作においてレジスタＲＨの設定値に加算されたディジタル値がレジスタＲＢ０〜ＲＢｎ、ＲＥ０〜ＲＥｎの設定値にも加算され、その結果、遅延素子Ｂ０〜Ｂｎ、Ｅ０〜Ｅｎの遅延時間が補正される。
【００４４】
以上のような第１実施形態では、可変遅延回路ＶＡＲＤＬＹ１が搭載されるＶＬＳＩの起動シーケンス時に、可変遅延回路ＶＡＲＤＬＹ１において、第１遅延補正動作が実施されることにより、遅延素子Ｂ０〜Ｂｎ間のトランジスタ性能のばらつきおよび遅延素子Ｅ０〜Ｅｎ間のトランジスタ性能のばらつきが補償される。更に、可変遅延回路ＶＡＲＤＬＹ１が搭載されるＶＬＳＩの通常動作時に、可変遅延回路ＶＡＲＤＬＹ１において、第２遅延補正動作が常時実施されることにより、ＶＬＳＩの動作環境（温度や電源電圧など）の変化に起因する遅延素子Ｂ０〜Ｂｎ、Ｅ０〜Ｅｎのトランジスタ性能の変動も補償される。従って、可変遅延回路ＶＡＲＤＬＹ１の遅延時間精度を格段に向上させることができる。
【００４５】
図１２は、本発明の第２実施形態を示している。図１３は、図１２の判定回路を示している。なお、第２実施形態を説明するにあたって、第１実施形態で説明した要素と同一の要素については、第１実施形態で使用した符号と同一の符号を使用し、詳細な説明を省略する。第２実施形態においてＶＬＳＩに搭載される可変遅延回路ＶＡＲＤＬＹ２は、可変遅延回路ＶＡＲＤＬＹ１（第１実施形態）について制御回路ＣＴＲおよび判定回路ＪＤＧを制御回路ＣＴＲａおよび判定回路ＪＤＧａに置き換えて構成されている。
【００４６】
制御回路ＣＴＲａは、カウンタ制御信号ＣＮＴＥＮを“１”に設定する時間をｋ倍（ｋ≧１００００）に長くする点と定数ｋを示すディジタル値Ｄｋを出力する点とを除いて、制御回路ＣＴＲ（第１実施形態）と同一である。判定回路ＪＤＧａは、カウンタＣＮＴのカウント動作の終了に伴って、制御回路ＣＴＲａから供給されるディジタル値Ｄｔｏｓｃ、Ｄｈ、ＤｋとカウンタＣＮＴから供給されるディジタル値Ｄｃｎｔとに基づいてディジタル値Ｄｉｎｃを出力する。判定回路ＪＤＧａにより導出される増減値ＩＮＣは、基準値Ｎｔａｒｇ’、カウンタＣＮＴのカウント値Ｎ’および定数ｋを用いて式（４）で表される。基準値Ｎｔａｒｇ’は、クロック信号ＣＬＫの周期Ｔｏｓｃ、遅延素子Ｂ０〜Ｂｎ、Ｅ０〜Ｅｎ、Ｈ０〜Ｈｎ＋１の遅延時間分解能ｈおよび定数ｋを用いて式（５）で表される。なお、制御回路ＣＴＲａによりカウンタ制御信号ＣＮＴＥＮが“１”に設定される時間Ｔｅｎ’は、基準値Ｎｔａｒｇ’およびクロック信号ＣＬＫの周期Ｔｏｓｃを用いて式（６）で表される。
ＩＮＣ＝（Ｎｔａｒｇ’−Ｎ’）・Ｎｔａｒｇ’／Ｎ’／ｋ／２  ・・・（４）
Ｎｔａｒｇ’＝ｋ・Ｔｏｓｃ／ｈ                              ・・・（５）
Ｔｅｎ’＝Ｎｔａｒｇ’・Ｔｏｓｃ                            ・・・（６）
例えば、判定回路ＪＤＧａは、前述のような動作を実現するために、判定回路ＪＤＧ（第１実施形態）についてレジスタＲＥＧ５、乗算器ＭＵＬ１および除算器ＤＩＶ３を追加して構成されている（図１３）。レジスタＲＥＧ５は、制御回路ＣＴＲａから供給されるディジタル値Ｄｋを所定周期で取り込む。乗算器ＭＵＬ１は、除算器ＤＩＶ０の除算結果とレジスタＲＥＧ５の設定値とを乗算する。なお、レジスタＲＥＧ２は、除算器ＤＩＶ０の除算結果ではなく乗算器ＭＵＬ１の乗算結果を所定周期で取り込む。除算器ＤＩＶ３は、除算器ＤＩＶ１の除算結果をレジスタＲＥＧ５の設定値で除算する。なお、除算器ＤＩＶ２は、除算器ＤＩＶ１の除算結果ではなく除算器ＤＩＶ３の除算結果をディジタル値Ｄ２で除算する。
【００４７】
以上のような第２実施形態では、可変遅延回路ＶＡＲＤＬＹ２が搭載されるＶＬＳＩの電源電圧の変動に伴って制御回路ＣＴＲａによりカウンタ制御信号ＣＮＴＥＮが“１”に設定される時間に誤差が生じる可能性があり、その場合、カウンタＣＮＴのカウント値に誤差が生じて可変遅延回路ＶＡＲＤＬＹ２の遅延時間精度が低下することを考慮して、制御回路ＣＴＲａによりカウンタ制御信号ＣＮＴＥＮが“１”に設定される時間がｋ倍に長くされているため、カウンタＣＮＴのカウント値の誤差を平均へ回帰させることができる。従って、可変遅延回路ＶＡＲＤＬＹ２の遅延時間精度を更に向上させることができる。
【００４８】
図１４は、本発明の第３実施形態を示している。なお、第３実施形態を説明するにあたって、第１実施形態で説明した要素と同一の要素については、第１実施形態で使用した符号と同一の符号を使用し、詳細な説明を省略する。第３実施形態においてＶＬＳＩに搭載される可変遅延回路ＶＡＲＤＬＹ３は、セレクタＳＢ０ａ〜ＳＢｎａ、ＳＨ０ａ〜ＳＨｎａ、ＳＩＮＣと、遅延素子Ｂ０〜Ｂｎ、Ｈ０〜Ｈｎ＋１と、ゲート回路ＮＡＮＤと、カウンタＣＮＴと、判定回路ＪＤＧと、除算器ＤＩＶと、増減値出力回路ＩＮＣＯＵＴａと、加算器ＡＢ０〜ＡＢｎ、ＡＨと、レジスタＲＢ０〜ＲＢｎ、ＲＨと、制御回路ＣＴＲｂとを備えて構成されている。なお、可変遅延回路ＶＡＲＤＬＹ３は、入力端子を始点として直列接続される遅延素子Ｂ０〜Ｂｎと遅延素子Ｂ０〜Ｂｎの出力信号のいずれかを選択して出力端子に供給するセレクタとを有する可変遅延回路に本発明を適用したものに相当する。
【００４９】
セレクタＳＢ０ａは、セレクタ制御信号ＣＭ０［１：０］の中でセレクタ制御信号ＣＭ０［０］が“１”に設定されている場合、可変遅延回路ＶＡＲＤＬＹ３の入力端子から供給される信号を選択して出力する。セレクタＳＢ０ａは、セレクタ制御信号ＣＭ０［１：０］の中でセレクタ制御信号ＣＭ０［１］が“１”に設定されている場合、遅延素子Ｈ０の出力信号を選択して出力する。セレクタＳＢ１ａ（ＳＢ２ａ〜ＳＢｎａ）は、セレクタ制御信号ＣＭ１［１：０］（ＣＭ２［１：０］〜ＣＭｎ［１：０］）の中でセレクタ制御信号ＣＭ１［０］（ＣＭ２［０］〜ＣＭｎ［０］）が“１”に設定されている場合、遅延素子Ｂ０（Ｂ１〜Ｂｎ−１）の出力信号を選択して出力する。セレクタＳＢ１ａ（ＳＢ２ａ〜ＳＢｎａ）は、セレクタ制御信号ＣＭ１［１：０］（ＣＭ２［１：０］〜ＣＭｎ［１：０］）の中でセレクタ制御信号ＣＭ１［１］（ＣＭ２［１］〜ＣＭｎ［１］）が“１”に設定されている場合、遅延素子Ｈ１（Ｈ２〜Ｈｎ）の出力信号を選択して出力する。
【００５０】
セレクタＳＨ０ａ（ＳＨ１ａ〜ＳＨｎａ）は、セレクタ制御信号ＣＭ０［１：０］（ＣＭ１［１：０］〜ＣＭｎ［１：０］）の中でセレクタ制御信号ＣＭ０［０］（ＣＭ１［０］〜ＣＭｎ［０］）が“１”に設定されている場合、遅延素子Ｈ０（Ｈ１〜Ｈｎ）の出力信号を選択して出力する。セレクタＳＨ０ａ（ＳＨ１ａ〜ＳＨｎａ）は、セレクタ制御信号ＣＭ０［１：０］（ＣＭ１［１：０］〜ＣＭｎ［１：０］）の中でセレクタ制御信号ＣＭ０［１］（ＣＭ１［１］〜ＣＭｎ［１］）が“１”に設定されている場合、遅延素子Ｂ０（Ｂ１〜Ｂｎ）の出力信号を選択して出力する。
【００５１】
増減値出力回路ＩＮＣＯＵＴａは、増減値出力回路ＩＮＣＯＵＴ（第１実施形態）について加算器ＡＥ０〜ＡＥｎにディジタル値を出力するための回路構成を取り除いて構成されている。制御回路ＣＴＲｂは、制御回路ＣＴＲ（第１実施形態）について第１遅延補正動作における遅延素子Ｅ０〜Ｅｎに関する遅延補正動作を実施するための回路構成および第２遅延補正動作におけるレジスタＲＥ０〜ＲＥｎに関する更新動作を実施するための回路構成を取り除いて構成されている。以上のような第３実施形態でも、第１実施形態と同様の効果が得られる。
【００５２】
図１５は、本発明の第４実施形態を示している。なお、第４実施形態を説明するにあたって、第１〜第３実施形態で説明した要素と同一の要素については、第１〜第３実施形態で使用した符号と同一の符号を使用し、詳細な説明を省略する。第４実施形態においてＶＬＳＩに搭載される可変遅延回路ＶＡＲＤＬＹ４は、可変遅延回路ＶＡＲＤＬＹ３（第３実施形態）について制御回路ＣＴＲｂおよび判定回路ＪＤＧを制御回路ＣＴＲｃおよび判定回路ＪＤＧａに置き換えて構成されている。制御回路ＣＴＲｃは、制御回路ＣＴＲ（第１実施形態）から制御回路ＣＴＲａ（第２実施形態）への変形と同様に制御回路ＣＴＲｂを変形させて構成されている。以上のような第４実施形態でも、第１および第２実施形態と同様の効果が得られる。
【００５３】
以下に、本発明の諸態様を付記としてまとめる。
（付記１）
複数の遅延素子を用いて構成される可変遅延回路であって、
前記複数の遅延素子間におけるトランジスタ性能のばらつきを補償すべく前記複数の遅延素子について個別に遅延時間を補正する遅延時間補正回路を備えることを特徴とする可変遅延回路。
（付記２）
付記１に記載の可変遅延回路において、
前記遅延時間補正回路は、動作環境の変化に起因する前記複数の遅延素子におけるトランジスタ性能の変動を補償すべく前記複数の遅延素子について一律に遅延時間を補正することを特徴とする可変遅延回路。
（付記３）
付記１に記載の可変遅延回路において、
前記遅延時間補正回路は、
複数の発振用遅延素子と、
補正対象遅延素子として前記複数の発振用遅延素子の全てを選択した後、補正対象遅延素子として前記複数の遅延素子を順次選択する補正対象選択回路と、
前記補正対象選択回路の選択に応じて、前記複数の発振用遅延素子によるリング発振回路を形成するか、又は補正対象遅延素子および前記複数の発振用遅延素子によるリング発振回路を形成するか、を切り換える経路切換回路と、
前記補正対象選択回路により補正対象遅延素子が選択される度に、前記経路切換回路により形成されるリング発振回路の発振信号をカウントするカウンタと、
基準値と前記カウンタのカウント値との差分に基づいて、前記補正対象遅延素子の遅延時間を調整する遅延調整回路と
を備えることを特徴とする可変遅延回路。
（付記４）
付記３に記載の可変遅延回路において、
前記補正対象選択回路は、補正対象遅延素子として前記複数の発振用遅延素子の全てを繰り返し選択し、
前記遅延調整回路は、前記基準値と前記カウント値との前記差分に基づいて、前記複数の発振用遅延素子および前記複数の遅延素子について一律に遅延時間を調整することを特徴とする可変遅延回路。
（付記５）
付記３に記載の可変遅延回路において、
前記基準値は、前記経路切換回路により形成されるリング発振回路の発振周期、および前記補正対象遅延素子の遅延時間分解能に基づき規定されることを特徴とする可変遅延回路。
（付記６）
付記３に記載の可変遅延回路において、
前記基準値は、前記経路切換回路により形成されるリング発振回路の発振周期、および前記補正対象遅延素子の遅延時間分解能の除算結果と所定係数（２以上の整数）との乗算結果を用いて規定されることを特徴とする可変遅延回路。
（付記７）
付記３〜付記６のいずれかに記載の可変遅延回路において、
前記カウンタは、前記基準値および前記経路切換回路により形成されるリング発振回路の発振周期の乗算結果を用いて規定されるカウント許可時間の間に、前記発振信号をカウントすることを特徴とする可変遅延回路
（付記８）
付記１〜付記７のいずれかに記載の可変遅延回路において、
前記複数の遅延素子は、異なる理想遅延時間を有する第１および第２遅延素子を含むことを特徴とする可変遅延回路。
（付記９）
付記１〜付記７のいずれかに記載の可変遅延回路において、
前記複数の遅延素子は、同一の理想遅延時間を有することを特徴とする可変遅延回路。
（付記１０）
付記１〜付記９のいずれかに記載の可変遅延回路において、
前記遅延時間補正回路は、前記可変遅延回路を含む半導体集積回路の起動時に前記複数の遅延素子の遅延時間を補正することを特徴とする可変遅延回路。
（付記１１）
付記１〜付記１０のいずれかに記載の可変遅延回路を備えることを特徴とする半導体集積回路。
【００５４】
以上、本発明について詳細に説明してきたが、前述の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれらに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【図面の簡単な説明】
【００５５】
【図１】本発明の第１実施形態を示す説明図である。
【図２】図１の遅延素子として利用される可変遅延素子を示す説明図（その１）である。
【図３】図１の遅延素子として利用される可変遅延素子を示す説明図（その２）である。
【図４】図１の遅延素子として利用される可変遅延素子を示す説明図（その３）である。
【図５】図１の遅延素子として利用される可変遅延素子を示す説明図（その４）である。
【図６】図１の遅延素子として利用される可変遅延素子を示す説明図（その５）である。
【図７】図１の遅延素子として利用される可変遅延素子を示す説明図（その６）である。
【図８】図１の遅延素子として利用される可変遅延素子を示す説明図（その７）である。
【図９】図１の判定回路を示す説明図である。
【図１０】図１の可変遅延回路の遅延補正動作を示す説明図である。
【図１１】図１の可変遅延回路における遅延補正動作時の動作タイミングを示す説明図である。
【図１２】本発明の第２実施形態を示す説明図である。
【図１３】図１２の判定回路を示す説明図である。
【図１４】本発明の第３実施形態を示す説明図である。
【図１５】本発明の第４実施形態を示す説明図である。
【図１６】可変遅延回路の第１従来例を示す説明図である。
【図１７】可変遅延回路の第２従来例を示す説明図である。
【図１８】可変遅延回路の第３従来例を示す説明図である。
【符号の説明】
【００５６】
ＡＢ０〜ＡＢｎ、ＡＥ０〜ＡＥｎ、ＡＨ‥加算器；Ｂ０〜Ｂｎ、Ｅ０〜Ｅｎ、Ｈ０〜Ｈｎ＋１‥遅延素子；ＣＮＴ‥カウンタ；ＣＴＲ、ＣＴＲａ、ＣＴＲｂ、ＣＴＲｃ‥制御回路；ＤＩＶ‥除算器；ＩＮＣＯＵＴ、ＩＮＣＯＵＴａ‥増減値出力回路；ＪＤＧ、ＪＤＧａ‥判定回路；ＮＡＮＤ‥ゲート回路；ＲＢ０〜ＲＢｎ、ＲＥ０〜ＲＥｎ、ＲＨ‥レジスタ；ＳＢ０〜ＳＢｎ、ＳＢ０ａ〜ＳＢｎａ、ＳＥ０〜ＳＥｎ、ＳＨ０〜ＳＨｎ、ＳＨ０ａ〜ＳＨｎａ、ＳＩＮＣ‥セレクタ；ＶＡＲＤＬＹ１〜ＶＡＲＤＬＹ４‥可変遅延回路
【図１】
0005169069.tif 000002
【図２】
0005169069.tif 000003
【図３】
0005169069.tif 000004
【図４】
0005169069.tif 000005
【図５】
0005169069.tif 000006
【図６】
0005169069.tif 000007
【図７】
0005169069.tif 000008
【図８】
0005169069.tif 000009
【図９】
0005169069.tif 000010
【図１０】
0005169069.tif 000011
【図１１】
0005169069.tif 000012
【図１２】
0005169069.tif 000013
【図１３】
0005169069.tif 000014
【図１４】
0005169069.tif 000015
【図１５】
0005169069.tif 000016
【図１６】
0005169069.tif 000017
【図１７】
0005169069.tif 000018
【図１８】
0005169069.tif 000019