(57)【要約】【課題】他の外部装置に転送する非クロック信号の確定遅延の増加を抑えることができる半導体集積回路装置を提供する。【解決手段】遅延補正回路８０は、所定の内部回路から内部バスを介して与えられる外部に出力すべきクロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３を入力し、遅延補正制御回路８１に制御されて信号入出力部３におけるＳＳＯノイズによるデータ信号ＤＯ０〜ＤＯ３の確定遅延の増加を抑えるようにクロック信号ＳＤＣＫの遅延補正を行い、この遅延補正を行ったクロック信号ＳＤＣＫと、所定時間遅延させたデータ信号ＤＯ０〜ＤＯ３とを出力する。【選択図】図５
2009081588.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号と、前記クロック信号により確定遅延が決まる非クロック信号とを複数の出力バッファを介して他の装置に転送する半導体集積回路装置であって、
前記複数の出力バッファの前段に、ＳＳＯノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記クロック信号の遅延補正を行う遅延補正部を有する
ことを特徴とする半導体集積回路装置。
【請求項２】
前記遅延補正部は、
所定の内部回路から与えられる前記クロック信号および前記非クロック信号を入力し、前記クロック信号については遅延補正を行い、前記非クロック信号については一定時間遅延させる遅延補正回路と、
前記ＳＳＯノイズによる出力バッファ遅延変動を予測し、前記ＳＳＯノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記遅延補正回路を制御する遅延補正制御回路と
を有することを特徴とする請求項１に記載の半導体集積回路装置。
【請求項３】
前記遅延補正回路は、
通常動作準備モード時は、信号生成回路が生成する擬似クロック信号および擬似非クロック信号を選択し、通常動作モード時は、前記所定の内部回路から与えられる前記クロック信号および前記非クロック信号を選択するセレクタと、
前記通常動作準備モード時は、前記セレクタが出力する前記擬似クロック信号および前記擬似非クロック信号を入力し、前記通常動作モード時は、前記セレクタが出力する前記クロック信号および前記非クロック信号を入力するＦＩＦＯと、
前記通常動作準備モード時は、前記ＦＩＦＯが出力する前記擬似クロック信号を遅延し、前記通常動作モード時は、前記ＦＩＦＯが出力する前記クロック信号を遅延する可変遅延ラインと、
前記通常動作準備モード時は、前記ＦＩＦＯが出力する前記擬似非クロック信号を遅延し、前記通常動作モード時は、前記ＦＩＦＯが出力する前記非クロック信号を遅延する固定遅延ラインと、
前記通常動作モード時に、前記可変遅延ラインの遅延を制御し、前記ＳＳＯノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記クロック信号の遅延補正を行うための遅延補正コードを保持させる遅延補正コードレジスタと
を有することを特徴とする請求項２に記載の半導体集積回路装置。
【請求項４】
クロック信号と前記クロック信号により確定遅延が決まる非クロック信号を複数の出力バッファを介して他の装置に転送する半導体集積回路装置におけるクロック信号の遅延補正方法であって、
前記複数の出力バッファの前段で、ＳＳＯノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記クロック信号の遅延補正を行う遅延補正工程を有する
ことを特徴とする半導体集積回路装置におけるクロック信号の遅延補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック信号と該クロック信号で確定遅延が決まる非クロック信号（アドレス信号、コマンド信号、データ信号など）を複数の出力バッファを介して他の装置に転送する半導体集積回路装置、および、このような半導体集積回路装置におけるクロック信号の遅延補正方法に関する。
【背景技術】
【０００２】
半導体集積回路装置においては、複数のＩ／Ｏバッファが同時にスイッチングすると、これらＩ／Ｏバッファの電源電圧および接地電圧に急激な変動が発生する。これらＩ／Ｏバッファの電源電圧および接地電圧の急激な変動の大きさは、同時にスイッチングするＩ／Ｏバッファの個数や外部負荷条件などに依拠する。なお、Ｉ／Ｏバッファにおいては、出力バッファがスイッチングすると、入力バッファもまた出力バッファの出力信号によりスイッチングする。
【０００３】
半導体集積回路装置におけるＩ／Ｏバッファの同時スイッチングによる電源電圧変動および接地電圧変動は、半導体集積回路装置の安定動作を阻害するものであり、一般に、同時スイッチングノイズ（ＳＳＮ［Simultaneous Switching Noise］）と呼ばれている。類義語として、ＳＳＯノイズ（Simultaneous Switching Output Noise）や、ＳＳＩノイズ（Simultaneous Switching Input Noise）がある。
【０００４】
半導体集積回路装置の設計においては、ＳＳＯノイズ検証が非常に面倒な作業となる。Ｉ／Ｏバッファの同時スイッチングによるＩ／Ｏバッファの電源電圧変動および接地電圧変動は、半導体集積回路装置内の電源線網および接地線網を伝わって伝搬するが、これらＳＳＯノイズは、空間的な広がりとして、隣接するＩ／Ｏバッファの電源電圧および接地電圧を揺らすことになるからである。
【０００５】
ＳＳＯノイズを時間軸方向で捉えると、或るＩ／Ｏバッファがスイッチングして電源電圧変動および接地電圧変動を引き起こし、これらが時間的に収まらないうちに、隣接するＩ／Ｏバッファがスイッチングして電源電圧変動および接地電圧変動を引き起こした場合、これら２個のＩ／Ｏバッファのスイッチングによる電源電圧変動および接地電圧変動が助長する方向で重なれば、電源電圧変動および接地電圧変動は大きく成長し、抑制する方向で重なれば、電源電圧変動および接地電圧変動は減衰することになる。
【０００６】
したがって、電源線網および接地線網を空間的に忠実にモデリングすることができたとしても、問題になるのが、時間軸方向のスイッチングステミラスの定義方法となる。ここで、Ｉ／Ｏバッファを構成する出力バッファの出力端子電圧を半導体集積回路装置が動作する製品寿命の生涯に渡って超高速に過渡解析することができるのであれば、Ｉ／Ｏバッファがスイッチングする瞬間瞬間の電源電圧変動および接地電圧変動を高精度に解析することができる。
【０００７】
しかしながら、半導体集積回路装置の実際の設計においては、半導体集積回路装置に搭載されているインタフェースごとに、たとえば、ＳＤＲＡＭインタフェースやＰＣＩインタフェースごとにＩ／Ｏバッファのスイッチング確率を求め、同時にスイッチングする可能性があるＩ／Ｏバッファは、同時にスイッチングするとみなすことになる。更に、インタフェース信号のプロトコルが不確かな信号の場合には、同時にスイッチングするという仮定を用いることになり、電源電圧変動および接地電圧変動は、ワースト目に解析することになる。
【特許文献１】特開平５−３５９２７号公報
【特許文献２】特開昭６１−８２４５４号公報
【特許文献３】特開２００６−１４０６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
半導体集積回路装置においては、Ｉ／Ｏバッファのスイッチングに伴って発生する電源電圧変動および接地電圧変動により、スイッチングしたＩ／Ｏバッファ自身や、隣接したＩ／Ｏバッファのスイッチング特性（Ｉ／Ｏバッファの遅延特性）が揺らいでしまうことから、この対策が要請されている。
【０００９】
従来技術としては、「Ｉ／Ｏバッファの電源電圧や接地電圧を測定し、電源電圧変動や接地電圧変動が規定値以上の場合、スイッチングを行わないようにする工夫」を施したものや、「Ｉ／Ｏバッファに電源電圧変動や接地電圧変動を検出する回路を埋め込み、電源電圧や接地電圧の変動具合にあわせて動的にＩ／Ｏバッファのスイッチング特性を改善させる工夫」を施したものがある。
【００１０】
「Ｉ／Ｏバッファの電源電圧や接地電圧を測定し、電源電圧変動や接地電圧変動が規定値以上の場合、スイッチングを行わないようにする工夫」は、検出された電源電圧変動や接地電圧変動により、スイッチングを止めてしまうものであるが、この技術は、タイミングにクリティカルなインタフェースを持つ部分には適用することができない。
【００１１】
なぜなら、恒常的に電源電圧変動や接地電圧変動が発生するような高速・多信号インタフェースの場合、電源電圧変動や接地電圧変動が規定値以下に収まるまで、単純にスイッチングを遅らせるような措置では、高速インタフェースの設計マージン（ＡＣ特性のガードバンド）が広くなる可能性があるばかりか、設計上想定したものよりも、実際のチップでは電源電圧変動や接地電圧変動の揺れが大きく、半永久的にスイッチングしないチップを作り上げてしまう危険性があるからである。
【００１２】
また、「Ｉ／Ｏバッファに電源電圧変動や接地電圧変動を検出する回路を埋め込み、電源電圧や接地電圧の変動具合にあわせて動的にＩ／Ｏバッファのスイッチング特性を改善させる工夫」には、Ｉ／Ｏバッファに組み込む特性改善回路の有効範囲（フィードバック応答制御の検証）を設計で見込んでチップインプリすることに実運用上無理があると考えられる。
【００１３】
なぜなら、ＳＳＯノイズは、隣接するＩ／Ｏバッファのスイッチングの重ね合わせによるものであり、電源電圧変動や接地電圧変動を検出し、フィードバック信号を生成し、正しい方向に制動をかけるような回路は、同時にスイッチングするＩ／Ｏバッファの組み合わせが規則的であれば、正しい動きをするかもしれないが、同時にスイッチングするＩ／Ｏバッファの組み合わせが不規則であればあるほど、正しい動きをすることが疑わしいからである。
【００１４】
ここで、遷移パターンが不規則な多ビット信号による電源電圧変動や接地電圧変動は、複数のＩ／Ｏバッファのスイッチングによる電源電圧変動や接地電圧変動の伝播波が重なり合ったものとなり、信号形状が揃っている多ビット信号により複数のＩ／Ｏバッファが同時にスイッチングする場合に発生する電源電圧変動や接地電圧変動よりも複雑な変動となる。
【００１５】
そして、このような複雑な電源電圧変動や接地電圧変動が発生する場合には、電源電圧変動や接地電圧変動の揺れを検出する特性改善回路が、「電源電圧変動・接地電圧変動の検出」→「電源電圧変動・接地電圧変動の制動」というフィードバック制御を正しく実行しなくなり、結果的に制御不能の回路動作となってしまう。
【００１６】
したがって、「Ｉ／Ｏバッファに電源電圧変動や接地電圧変動を検出する回路を埋め込み、電源電圧や接地電圧の変動具合にあわせて動的にＩ／Ｏバッファのスイッチング特性を改善させる工夫」は、全ビットが同時スイッチングを起こす特異な信号パターンには有効であるが、遷移パターンが不規則な多ビット信号による電源電圧変動や接地電圧変動には有効ではない。
【００１７】
ここで、クロック信号とこのクロック信号により確定遅延（output valid delay）が決まるデータ信号を複数のＩ／Ｏバッファセル内の複数の出力バッファを介して他の装置に転送する半導体集積回路装置においては、これら複数の出力バッファの同時スイッチングによる電源電圧変動および接地電圧変動を出力バッファ遅延変動ΔDelayとして検出することができれば、前記複数のＩ／ＯバッファセルにおけるＳＳＯノイズによる前記データ信号の確定遅延の増加を抑える手段を講じることができ、設計マージンを容易に確保することができる。
【００１８】
本発明は、かかる点に鑑み、クロック信号とこのクロック信号により確定遅延が決まる非クロック信号を複数の出力バッファを介して他の装置に転送する場合に、ＳＳＯノイズによる前記非クロック信号の確定遅延の増加を抑えることができ、設計マージンを容易に確保することができるようにした半導体集積回路装置および半導体集積回路装置におけるクロック信号の遅延補正方法を提供することを目的とする。
【課題を解決するための手段】
【００１９】
本出願で開示する半導体集積回路装置は、クロック信号と、前記クロック信号により確定遅延が決まる非クロック信号とを複数の出力バッファを介して他の装置に転送する半導体集積回路装置であって、前記複数の出力バッファの前段に、ＳＳＯノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記クロック信号の遅延補正を行う遅延補正部を有するものである。
【００２０】
本出願で開示する半導体集積回路装置におけるクロック信号の遅延補正方法は、クロック信号と前記クロック信号により確定遅延が決まる非クロック信号を複数の出力バッファを介して他の装置に転送する半導体集積回路装置におけるクロック信号の遅延補正方法であって、前記複数の出力バッファの前段で、ＳＳＯノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記クロック信号の遅延補正を行う遅延補正工程を有するものである。
【発明の効果】
【００２１】
開示した半導体集積回路装置によれば、前記複数の出力バッファの前段に、ＳＳＯノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記クロック信号の遅延補正を行う遅延補正部を有するので、ＳＳＯノイズによる前記非クロック信号の確定遅延の増加を抑えることができ、設計マージンを容易に確保することができる。
【００２２】
開示した半導体集積回路装置におけるクロック信号の遅延補正方法によれば、前記複数の出力バッファの前段で、ＳＳＯノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記クロック信号の遅延補正を行う遅延補正工程を有するので、ＳＳＯノイズによる前記非クロック信号の確定遅延の増加を抑えることができ、設計マージンを容易に確保することができる。
【発明を実施するための最良の形態】
【００２３】
以下、図１〜図３７を参照して、本発明の半導体集積回路装置の第１実施形態および第２実施形態について、本発明の半導体集積回路装置におけるクロック信号の遅延補正方法の第１実施形態および第２実施形態を含めて説明する。
【００２４】
（第１実施形態）
図１は本発明の半導体集積回路装置の第１実施形態の一部分の概略的構成図である。図１中、１、２は電源入力部であり、外部から電源電圧、接地電圧、基準電圧を入力するためのものである。ＶＤＥ、ＶＳＳ、ＶＲＥＦ１、ＡＭＰ＿ＶＳＳは外部から与えられる電圧であり、ＶＤＥは電源電圧、ＶＳＳは接地電圧、ＶＲＥＦ１は基準電圧、ＡＭＰ＿ＶＳＳは後述する出力バッファ遅延変動検出用信号生成回路内の差動アンプ専用の接地電圧である。
【００２５】
３は信号入出力部であり、信号入力モード時には、外部からの信号を入力し、信号出力モード時には、外部に信号を出力するためのものである。ＳＤＣＫ、ＤＯ０〜ＤＯ３は信号入出力部３から外部に出力する信号であり、ＳＤＣＫはクロック信号、ＤＯ０〜ＤＯ３はデータ信号である。データ信号ＤＯ０〜ＤＯ３は、クロック信号ＳＤＣＫにより確定遅延が決まる信号である。
【００２６】
本例において、データ信号ＤＯ０〜ＤＯ３の確定遅延とは、クロック信号ＳＤＣＫが立ち上がって又は立ち下がってデータ信号ＤＯ０〜ＤＯ３の値が確定してから、データ信号ＤＯ０〜ＤＯ３が遷移するまでの遅延を言う。
【００２７】
４は遅延補正部であり、クロック信号ＳＤＣＫについて遅延補正を実行しない場合におけるクロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３による信号入出力部３でのＳＳＯノイズを予測し、この予測したＳＳＯノイズによるデータ信号ＤＯ０〜ＤＯ３の確定遅延の増加を抑えるようにクロック信号ＳＤＣＫの遅延補正を行うものである。
【００２８】
本発明の半導体集積回路装置の第１実施形態では、電源が投入されると、まず、通常動作準備モードであるアップデートモードとされ、アップデート工程が実行された後、通常動作モードとされる。アップデート工程は、遅延補正部４が通常動作モード時にクロック信号ＳＤＣＫの遅延補正を行うために必要な準備工程である。
【００２９】
図２は電源入力部１、２および信号入出力部３の概略的構成図である。図２中、７、８は外部電源電圧ＶＤＥの入力に使用するＶＤＥ電源パッド、９、１０は外部接地電圧ＶＳＳの入力に使用するＶＳＳ電源パッド、１１は電圧値をＶＤＥ／２とする外部基準電圧ＶＲＥＦ１の入力に使用するＶＲＥＦ１電源パッド、１２は外部接地電圧ＡＭＰ＿ＶＳＳの入力に使用するＡＭＰ＿ＶＳＳ電源パッド、１３〜１７は信号の入出力に使用する信号パッドである。
【００３０】
１８、１９はＶＤＥ電源セルであり、ＶＤＥ電源セル１８はＶＤＥ電源パッド７に接続され、ＶＤＥ電源セル１９はＶＤＥ電源パッド８に接続されている。２０、２１はＶＳＳ電源セルであり、ＶＳＳ電源セル２０はＶＳＳ電源パッド９に接続され、ＶＳＳ電源セル２１はＶＳＳ電源パッド１０に接続されている。２２はＶＲＥＦ１電源セルであり、ＶＲＥＦ１電源パッド１１に接続されている。２３はＡＭＰ＿ＶＳＳ電源セルであり、ＡＭＰ＿ＶＳＳ電源パッド１２に接続されている。
【００３１】
２４〜２８は同一構成のＩ／Ｏバッファセルであり、２９〜３３は同一構成のＩ／Ｏバッファ、３４〜３８は同一構成の出力バッファ、３９〜４３は同一構成の出力バッファ遅延変動検出用信号生成回路である。Ｉ／Ｏバッファ２９〜３３内の入力バッファは図示を省略している。
【００３２】
Ｉ／Ｏバッファ２９は、その信号入力端子に遅延補正部４が出力する擬似クロック信号ＦＳＤＣＫ又はクロック信号ＳＤＣＫが与えられるものであり、その信号入出力端子を信号パッド１３および出力バッファ遅延変動検出用信号生成回路３９の信号入力端子に接続している。
【００３３】
Ｉ／Ｏバッファ３０は、その信号入力端子に遅延補正部４が出力する擬似データ信号ＦＤＯ０又はデータ信号ＤＯ０が与えられるものであり、その信号入出力端子を信号パッド１４および出力バッファ遅延変動検出用信号生成回路４０の信号入力端子に接続している。
【００３４】
Ｉ／Ｏバッファ３１は、その信号入力端子に遅延補正部４が出力する擬似データ信号ＦＤＯ１又はデータ信号ＤＯ１が与えられるものであり、その信号入出力端子を信号パッド１５および出力バッファ遅延変動検出用信号生成回路４１の信号入力端子に接続している。
【００３５】
Ｉ／Ｏバッファ３２は、その信号入力端子に遅延補正部４が出力する擬似データ信号ＦＤＯ２又はデータ信号ＤＯ２が与えられるものであり、その信号入出力端子を信号パッド１６および出力バッファ遅延変動検出用信号生成回路４２の信号入力端子に接続している。
【００３６】
Ｉ／Ｏバッファ３３は、その信号入力端子に遅延補正部４が出力する擬似データ信号ＦＤＯ３又はデータ信号ＤＯ３が与えられるものであり、その信号入出力端子を信号パッド１７および出力バッファ遅延変動検出用信号生成回路４３の信号入力端子に接続している。
【００３７】
出力バッファ遅延変動検出用信号生成回路３９は、クロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３による信号入出力部３でのＳＳＯノイズに起因する出力バッファ３４の遅延変動ΔDelayを検出するために用いる３個の出力バッファ遅延変動検出用信号ＳＡ１、ＳＢ１、ＳＣ１を生成するものであり、出力バッファ遅延変動検出用信号ＳＡ１、ＳＢ１、ＳＣ１は、遅延補正部４に与えられる。
【００３８】
出力バッファ遅延変動検出用信号生成回路４０は、クロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３による信号入出力部３でのＳＳＯノイズに起因する出力バッファ３５の遅延変動ΔDelayを検出するために用いる３個の出力バッファ遅延変動検出用信号ＳＡ２、ＳＢ２、ＳＣ２を生成するものであり、出力バッファ遅延変動検出用信号ＳＡ２、ＳＢ２、ＳＣ２は、遅延補正部４に与えられる。
【００３９】
出力バッファ遅延変動検出用信号生成回路４１は、クロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３による信号入出力部３でのＳＳＯノイズに起因する出力バッファ３６の遅延変動ΔDelayを検出するために用いる３個の出力バッファ遅延変動検出用信号ＳＡ３、ＳＢ３、ＳＣ３を生成するものであり、出力バッファ遅延変動検出用信号ＳＡ３、ＳＢ３、ＳＣ３は、遅延補正部４に与えられる。
【００４０】
出力バッファ遅延変動検出用信号生成回路４２は、クロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３による信号入出力部３でのＳＳＯノイズに起因する出力バッファ３７の遅延変動ΔDelayを検出するために用いる３個の出力バッファ遅延変動検出用信号ＳＡ４、ＳＢ４、ＳＣ４を生成するものであり、出力バッファ遅延変動検出用信号ＳＡ４、ＳＢ４、ＳＣ４は、遅延補正部４に与えられる。
【００４１】
出力バッファ遅延変動検出用信号生成回路４３は、クロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３による信号入出力部３でのＳＳＯノイズに起因する出力バッファ３８の遅延変動ΔDelayを検出するために用いる３個の出力バッファ遅延変動検出用信号ＳＡ５、ＳＢ５、ＳＣ５を生成するものであり、出力バッファ遅延変動検出用信号ＳＡ５、ＳＢ５、ＳＣ５は、遅延補正部４に与えられる。
【００４２】
ここで、出力バッファの遅延変動ΔDelayとは、ＳＳＯノイズがない理想電源下を想定した場合の出力バッファの遅延時間と、ＳＳＯノイズがある状態での出力バッファの遅延時間との差であり、「ＳＳＯノイズがある状態での出力バッファの遅延時間＞ＳＳＯノイズがない理想電源下を想定した場合の出力バッファの遅延時間」の場合には、出力バッファの遅延変動ΔDelay＞０であり、「ＳＳＯノイズがある状態での出力バッファの遅延時間＜ＳＳＯノイズがない理想電源下を想定した場合の出力バッファの遅延時間」の場合には、出力バッファの遅延変動ΔDelay＜０である。
【００４３】
４４はＶＤＥ電源線である。ＶＤＥ電源線４４は、ＶＤＥ電源セル１８、１９等、ＶＤＥ電源セルに接続されており、出力バッファ３４〜３８のＶＤＥ電源端子には、ＶＤＥ電源線４４から外部電源電圧ＶＤＥが与えられる。
【００４４】
４５はＶＳＳ電源線である。ＶＳＳ電源線４５は、ＶＳＳ電源セル２０、２１等、ＶＳＳ電源セルに接続されており、出力バッファ３４〜３８のＶＳＳ電源端子には、ＶＳＳ電源線４５から外部接地電圧ＶＳＳが与えられる。
【００４５】
４６は出力バッファ３４〜３８が出力する擬似クロック信号ＦＳＤＣＫおよび擬似データ信号ＦＤＯ０〜ＦＤＯ３を遅延補正部４のΔDelay−ΔDTテーブル作成部に転送するための出力信号線、４７は出力バッファ遅延変動検出用信号生成回路３９〜４３が出力する出力バッファ遅延変動検出用信号ＳＡ１、ＳＢ１、ＳＣ１、…、ＳＡ５、ＳＢ５、ＳＣ５を遅延補正部４のΔDelay−ΔDTテーブル作成部に転送するための出力バッファ遅延変動検出用信号線である。
【００４６】
図２では、外部基準電圧ＶＲＥＦ１を出力バッファ遅延変動検出用信号生成回路３９〜４３に供給するＶＲＥＦ１電源線や、外部接地電圧ＡＭＰ＿ＶＳＳを出力バッファ遅延変動検出用信号生成回路３９〜４３に供給するＡＭＰ＿ＶＳＳ電源線や、出力バッファ３４〜３８のＶＤＤ電源端子に電源電圧ＶＤＤ（＜ＶＤＥ）を供給するＶＤＤ電源線や、入力バッファに電源電圧ＶＤＤを供給するＶＤＤ電源線などは、図示を省略している。
【００４７】
なお、本発明の半導体集積回路装置の第１実施形態においては、ＶＤＥ電源セル１８、ＶＳＳ電源セル２０およびＩ／Ｏバッファセル２４〜２８がＳＳＯノイズを解析し、その対策を講じる一つのグループ（ＳＳＯグループ）とされている。
【００４８】
図３はＩ／Ｏバッファセル２４の一部分の構成図であり、Ｉ／Ｏバッファセル２５〜２８も同様に構成されている。図３中、５１は信号入力端子、５２はＶＤＥ電源端子、５３はＶＳＳ電源端子、５４はＶＲＥＦ１電源端子、５５はＡＭＰ＿ＶＳＳ電源端子である。
【００４９】
信号入力端子５１は、遅延補正部４のクロック信号ＳＤＣＫ用の出力端子に接続されている。ＶＤＥ電源端子５２は、ＶＤＥ電源線４４に接続されている。ＶＳＳ電源端子５３は、ＶＳＳ電源線４５に接続されている。ＶＲＥＦ１電源端子５４は、ＶＲＥＦ１電源線５６に接続されている。ＡＭＰ＿ＶＳＳ電源端子５５は、ＡＭＰ＿ＶＳＳ電源線５７に接続されている。
【００５０】
また、Ｉ／Ｏバッファ２９において、５８はＶＤＥ電源端子、５９はＶＳＳ電源端子、６０は信号入出力端子であり、Ｉ／Ｏバッファ２９内の入力バッファは図示を省略している。ＶＤＥ電源端子５８は、ＶＤＥ電源端子５２に接続されている。ＶＳＳ電源端子５９は、ＶＳＳ電源端子５３に接続されている。信号入出力端子６０は、信号パッド１３に接続されている。
【００５１】
また、出力バッファ遅延変動検出用信号生成回路３９において、６１〜６３は差動アンプである。差動アンプ６１は、その電源端子ＶＤをＶＤＥ電源端子５８に接続し、その接地端子ＶＳをＡＭＰ＿ＶＳＳ電源端子５５に接続し、その非反転入力端子ＩＮ１をＶＳＳ電源端子５９に接続し、その反転入力端子ＩＮ２を信号入出力端子６０に接続し、その出力端子ＯＵＴを出力バッファ遅延変動検出用信号ＳＡ１用の出力端子６４に接続している。
【００５２】
差動アンプ６１は、ＶＤＥ電源端子５８の電圧変動およびＶＳＳ電源端子５９の電圧変動を受けている信号入出力端子６０の電圧からＶＳＳ電源端子５９の電圧変動分をキャンセルし、ＶＤＥ電源端子５８の電圧変動が乗った状態での出力バッファ３４の遅延を出力バッファ遅延変動検出用信号ＳＡ１として検出するものである。
【００５３】
差動アンプ６２は、その電源端子ＶＤをＶＤＥ電源端子５８に接続し、その接地端子ＶＳをＡＭＰ＿ＶＳＳ電源端子５５に接続し、その非反転入力端子ＩＮ１を信号入出力端子６０に接続し、その反転入力端子ＩＮ２をＶＤＥ電源端子５８に接続し、その出力端子ＯＵＴを出力バッファ遅延変動検出用信号ＳＢ１用の出力端子６５に接続している。
【００５４】
差動アンプ６２は、ＶＤＥ電源端子５８の電圧変動およびＶＳＳ電源端子５９の電圧変動を受けている信号入出力端子６０の電圧からＶＤＥ電源端子５８の電圧変動分をキャンセルし、ＶＳＳ電源端子５９の電圧変動が乗った状態での出力バッファ３４の遅延を出力バッファ遅延変動検出用信号ＳＢ１として検出するものである。
【００５５】
差動アンプ６３は、その電源端子ＶＤをＶＤＥ電源端子５８に接続し、その接地端子ＶＳをＡＭＰ＿ＶＳＳ電源端子５５に接続し、その非反転入力端子ＩＮ１をＶＲＥＦ１電源端子５４に接続し、その反転入力端子ＩＮ２を信号入出力端子６０に接続し、その出力端子ＯＵＴを出力バッファ遅延変動検出用信号ＳＣ１用の出力端子６６に接続している。
【００５６】
差動アンプ６３は、ＶＤＥ電源端子５８の電圧変動およびＶＳＳ電源端子５９の電圧変動の影響を受けていない状態での出力バッファ３４の遅延を出力バッファ遅延変動検出用信号ＳＣ１として検出するものである。
【００５７】
なお、差動アンプ６１〜６３の電源端子ＶＤをＶＤＥ電源端子５８に接続することについては何ら問題はないが、差動アンプ６１〜６３の接地端子ＶＳをＶＳＳ電源端子５９に接続してしまうと、良好な電圧波形の出力バッファ遅延変動検出用信号ＳＡ１、ＳＢ１、ＳＣ１を得ることができない場合がある。
【００５８】
そこで、本例では、ＡＭＰ＿ＶＳＳ電源パッド１２を設け、差動アンプ６１〜６３の接地端子ＶＳをＡＭＰ＿ＶＳＳ電源端子５５、ＡＭＰ＿ＶＳＳ電源線５７およびＡＭＰ＿ＶＳＳ電源セル２３を介してＡＭＰ＿ＶＳＳ電源パッド１２に接続し、差動アンプ６１〜６３がＳＳＯノイズの影響を受けないようにしている。
【００５９】
また、差動アンプ６３の非反転入力端子ＩＮ１に与える基準電圧ＶＲＥＦ１もＳＳＯノイズの影響を受けないように、外部基準電圧ＶＲＥＦ１をＶＲＥＦ１電源パッド１１、ＶＲＥＦ１電源セル２２、ＶＲＥＦ１電源線５６およびＶＲＥＦ１電源端子５４を介して差動アンプ６３の非反転入力端子ＩＮ１に与えるようにしている。
【００６０】
出力バッファ遅延変動検出用信号生成回路４０〜４３も出力バッファ遅延変動検出用信号生成回路３９と同様に構成されている。出力バッファ遅延変動検出用信号生成回路４０は、出力バッファ遅延変動検出用信号ＳＡ１、ＳＢ１、ＳＣ１に相当する信号として、出力バッファ遅延変動検出用信号ＳＡ２、ＳＢ２、ＳＣ２を出力する。
【００６１】
出力バッファ遅延変動検出用信号生成回路４１は、出力バッファ遅延変動検出用信号ＳＡ１、ＳＢ１、ＳＣ１に相当する信号として、出力バッファ遅延変動検出用信号ＳＡ３、ＳＢ３、ＳＣ３を出力する。
【００６２】
出力バッファ遅延変動検出用信号生成回路４２は、出力バッファ遅延変動検出用信号ＳＡ１、ＳＢ１、ＳＣ１に相当する信号として、出力バッファ遅延変動検出用信号ＳＡ４、ＳＢ４、ＳＣ４を出力する。
【００６３】
出力バッファ遅延変動検出用信号生成回路４３は、出力バッファ遅延変動検出用信号ＳＡ１、ＳＢ１、ＳＣ１に相当する信号として、出力バッファ遅延変動検出用信号ＳＡ５、ＳＢ５、ＳＣ５を出力する。
【００６４】
図４は差動アンプ６１の構成図であり、差動アンプ６２、６３も同様に構成されている。差動アンプ６１は、差動増幅部６９と、差動増幅部６９に流れる電流を設定する電流設定部７０を備えている。差動増幅部６９において、７１、７２は駆動素子であるＮＭＯＳトランジスタ、７３、７４は負荷素子であるＰＭＯＳトランジスタ、７５は定電流源を構成するＮＭＯＳトランジスタである。
【００６５】
ＰＭＯＳトランジスタ７３は、ソースを電源端子ＶＤに接続し、ゲートをドレインに接続し、ドレインをＮＭＯＳトランジスタ７１のドレインに接続している。ＰＭＯＳトランジスタ７４は、ソースを電源端子ＶＤに接続し、ゲートをＰＭＯＳトランジスタ７３のゲートに接続し、ドレインを出力端子６４およびＮＭＯＳトランジスタ７２のドレインに接続している。
【００６６】
ＮＭＯＳトランジスタ７１は、ゲートを非反転入力端子ＩＮ１に接続し、ソースをＮＭＯＳトランジスタ７５のドレインに接続している。ＮＭＯＳトランジスタ７２は、ゲートを反転入力端子ＩＮ２に接続し、ソースをＮＭＯＳトランジスタ７５のドレインに接続している。ＮＭＯＳトランジスタ７５は、ソースを接地端子ＶＳに接続している。
【００６７】
電流設定部７０において、７６はＰＭＯＳトランジスタ、７７はＮＭＯＳトランジスタである。ＰＭＯＳトランジスタ７６は、ゲートをソースに接続し、ソースを電源端子ＶＤに接続し、ドレインをＮＭＯＳトランジスタ７７のドレインに接続している。ＮＭＯＳトランジスタ７７は、ゲートをソースに接続し、ソースを接地端子ＶＳに接続している。そして、ＰＭＯＳトランジスタ７６のドレインとＮＭＯＳトランジスタ７７のドレインとの接続点をＮＭＯＳトランジスタ７５のゲートに接続している。
【００６８】
電流設定部７０は、ＰＭＯＳトランジスタ７６のオフ抵抗とＮＭＯＳトランジスタ７７のオフ抵抗とで構成される分圧回路を利用し、差動増幅部６９の定電流源をなすＮＭＯＳトランジスタ７５のゲートバイアス電圧を生成している。なお、差動アンプ６１〜６３を構成するＭＯＳトランジスタは、出力バッファ３４のハイボルテージトランジスタ回路部のハイボルテージトランジスタと同様にハイボルテージトランジスタで構成する。
【００６９】
図５は遅延補正部４の構成を示す概略図である。遅延補正部４は、遅延補正回路８０と、遅延補正制御回路８１と、距離重み係数データベース８２と、Ｗ−ΔDelayテーブル８３と、ΔDelay−ΔDTテーブル８４と、ΔDelay−ΔDTテーブル作成部８５を備えている。
【００７０】
遅延補正回路８０は、アップデートモード時と通常動作モード時とで異なる動作を行うものである。アップデートモード時は、遅延補正回路８０は、遅延補正回路８０内の信号生成回路が生成するΔDelay−ΔDTテーブル８４を作成するための擬似クロック信号ＦＳＤＣＫおよび擬似データ信号ＦＤＯ０〜ＦＤＯ３を入力し、これら擬似クロック信号ＦＳＤＣＫおよび擬似データ信号ＦＤＯ０〜ＦＤＯ３を所定時間遅延させて出力する。
【００７１】
これに対して、通常動作モード時は、遅延補正回路８０は、所定の内部回路から内部バスを介して与えられる外部に出力すべきクロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３を入力し、遅延補正制御回路８１に制御されて、信号入出力部３におけるＳＳＯノイズによるデータ信号ＤＯ０〜ＤＯ３の確定遅延の増加を抑えるようにクロック信号ＳＤＣＫの遅延補正を行い、この遅延補正を行ったクロック信号ＳＤＣＫと、所定時間遅延させたデータ信号ＤＯ０〜ＤＯ３を出力する。
【００７２】
遅延補正制御回路８１は、通常動作モード時に、遅延補正回路８０からクロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３を入力し、クロック信号ＳＤＣＫについて遅延補正を実行しない場合におけるクロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３による信号入出力部３でのＳＳＯノイズを予測し、この予測したＳＳＯノイズによるデータ信号ＤＯ０〜ＤＯ３の確定遅延の増加を抑えるように遅延補正回路８０を制御するものである。
【００７３】
距離重み係数データベース８２は、遅延補正制御回路８１内の重み関数計算回路がＳＳＯノイズによる出力バッファ３４〜３８の遅延変動ΔDelayを予測するために必要な重み関数Ｗを計算する際に使用する距離重み係数Ｌを保存するものである。
【００７４】
Ｗ−ΔDelayテーブル８３は、重み関数Ｗと出力バッファ遅延変動ΔDelayとの関係を示すものであり、遅延補正制御回路８１内のΔDelay検索回路が、遅延補正制御回路８１内の重み関数計算回路が計算した重み関数Ｗに対応する出力バッファ遅延変動ΔDelayを検索する場合に使用するものである。
【００７５】
ΔDelay−ΔDTテーブル８４は、出力バッファ遅延変動ΔDelayと出力バッファ遅延差ΔDTとの関係を示すものであり、遅延補正制御回路８１内のΔDT検索回路が、遅延補正制御回路８１内のΔDelay検索回路が検索した出力バッファ遅延変動ΔDelayに対応する出力バッファ遅延差ΔDTを検索する場合に使用するものである。
【００７６】
ここで、出力バッファ遅延差ΔDTとは、着目する出力バッファが単独でスイッチングした場合における当該着目する出力バッファの遅延時間と、当該着目する出力バッファが当該着目する出力バッファ以外の出力バッファと同時にスイッチングした場合における当該着目する出力バッファの遅延時間との差である。
【００７７】
ΔDelay−ΔDTテーブル作成部８５は、アップデートモード時に使用されるものであり、出力バッファ３４〜３８のそれぞれについて、出力バッファ遅延変動ΔDelayおよび出力バッファ遅延差ΔDTを高速クロック信号φでカウントし、これら出力バッファ遅延変動ΔDelayおよび出力バッファ遅延差ΔDTの高速クロック信号φによるカウント値を実時間に変換してΔDelay−ΔDTテーブル８４を作成するものである。
【００７８】
図６は遅延補正回路８０の構成図である。遅延補正回路８０は、信号生成回路８８と、セレクタ８９と、先入れ先出しバッファ回路であるＦＩＦＯ（first-in first-out）９０と、遅延補正コードレジスタ９１と、可変遅延ライン９２と、固定遅延ライン９３〜９６を備えている。
【００７９】
信号生成回路８８は、アップデートモード時に、ΔDelay−ΔDTテーブル８５を作成するために必要な擬似クロック信号ＦＳＤＣＫおよび擬似データ信号ＦＤＯ０〜ＦＤＯ３を生成して出力するものである。
【００８０】
セレクタ８９は、アップデート信号ＵＰＤＡＴＥに制御されて、信号生成回路８８が出力する擬似クロック信号ＦＳＤＳＣＫおよび擬似データ信号ＦＤＯ０〜ＦＤＯ３又は内部バスを介して与えられる外部に出力すべきクロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３を選択するものである。
【００８１】
アップデート信号ＵＰＤＡＴＥは、アップデートモード時は“１”、通常動作モード時は“０”となるものであり、セレクタ８９は、アップデート信号ＵＰＤＡＴＥ＝“１”の場合には、信号生成回路８８が出力する擬似クロック信号ＦＳＤＣＫおよび擬似データ信号ＦＤＯ０〜ＦＤＯ３を選択し、アップデート信号ＵＰＤＡＴＥ＝“０”の場合には、内部バスを介して与えられる外部に出力すべきクロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３を選択する。
【００８２】
ＦＩＦＯ９０は、システムクロック信号ＳＹＳＣＬＫに同期して動作するものであり、セレクタ８９が出力する擬似クロック信号ＦＳＤＣＫおよび擬似データ信号ＦＤＯ０〜ＦＤＯ３、又は、クロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３を入力し、擬似クロック信号ＦＳＤＣＫおよび擬似データ信号ＦＤＯ０〜ＦＤＯ３、又は、クロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３を、システムクロック信号ＳＹＳＣＬＫで３サイクル分遅延して出力するものである。
【００８３】
遅延補正コードレジスタ９１は、システムクロック信号ＳＹＳＣＬＫに同期して動作するものであり、通常動作モード時に、遅延補正制御回路８１内の遅延補正コード生成回路が生成する遅延補正コードＤＬＣＮＴを更新的に格納するものである。
【００８４】
可変遅延ライン９２は、ＦＩＦＯ９０が出力する擬似クロック信号ＦＳＤＣＫ又はクロック信号ＳＤＣＫを遅延するものであり、遅延補正コードＤＬＣＮＴを遅延制御信号として遅延時間を可変する可変遅延バッファ９７〜１００を縦列接続して構成されている。
【００８５】
固定遅延ライン９３は、ＦＩＦＯ９０が出力する擬似データ信号ＦＤＯ０又はデータ信号ＤＯ０を一定時間遅延するものであり、遅延時間を固定とする遅延バッファ１０１、１０２を縦列接続して構成されている。固定遅延ライン９４は、ＦＩＦＯ９０が出力する擬似データ信号ＦＤＯ１又はデータ信号ＤＯ１を一定時間遅延するものであり、遅延時間を固定とする遅延バッファ１０３、１０４を縦列接続して構成されている。
【００８６】
固定遅延ライン９５は、ＦＩＦＯ９０が出力する擬似データ信号ＦＤＯ２又はデータ信号ＤＯ２を一定時間遅延するものであり、遅延時間を固定とする遅延バッファ１０５、１０６を縦列接続して構成されている。固定遅延ライン９６は、ＦＩＦＯ９０が出力する擬似データ信号ＦＤＯ３又はデータ信号ＤＯ３を一定時間遅延するものであり、遅延時間を固定とする遅延バッファ１０７、１０８を縦列接続して構成されている。
【００８７】
本例では、固定遅延ライン９３〜９６の遅延時間は、可変遅延ライン９２の遅延時間が中点（出力バッファ立ち上がり遅延変動＋ΔDelayと、出力バッファ立ち下がり遅延変動−ΔDelayとが打ち消されるポイント）にある場合における可変遅延ライン９２の遅延時間と同一とされる。
【００８８】
また、可変遅延ライン９２は、初期設定時には、遅延時間を中点に設定される。なお、本発明の半導体集積回路装置の第１実施形態においては、可変遅延ライン９２の遅延時間を中点に設定して遅延検証および論理検証を行い、ユーザが本発明の半導体集積回路装置の第１実施形態を使用するときに、本発明の半導体集積回路装置におけるクロック信号の補正方法の第１実施形態を実行することが好適である。
【００８９】
図７は信号生成回路８８が生成する擬似クロック信号ＦＳＤＣＫおよび擬似データ信号ＦＤＯ０〜ＦＤＯ３の例を示す波形図である。（Ａ）はＩ／Ｏバッファ２９〜３３のうち、Ｉ／Ｏバッファ２９のみを連続してスイッチングさせる場合、（Ｂ）はＩ／Ｏバッファ２９〜３３をスイッチングさせる場合の一例である。
【００９０】
図８は信号生成回路８８が図７に示す擬似クロック信号ＦＳＤＣＫおよび擬似データ信号ＦＤＯ０〜ＦＤＯ３を生成する場合の出力バッファ３８の遅延時間を示す図であり、＃ｋ（但し、ｋ＝１、２、…、９）はシステムクロックでのｋサイクル目を示している。
【００９１】
また、Ｂ１は信号生成回路８８が図７（Ａ）に示す擬似クロック信号ＦＳＤＣＫおよび擬似データ信号ＦＤＯ０〜ＦＤＯ３を出力した場合における出力バッファ３８の立ち上がり遅延、Ｂ２は信号生成回路８８が図７（Ｂ）に示す擬似クロック信号ＦＳＤＣＫおよび擬似データ信号ＦＤＯ０〜ＦＤＯ３を出力した場合における出力バッファ３８の立ち上がり遅延を示している。
【００９２】
また、Ｂ３は信号生成回路８８が図７（Ａ）に示す擬似クロック信号ＦＳＤＣＫおよび擬似データ信号ＦＤＯ０〜ＦＤＯ３を出力した場合における出力バッファ３８の立ち下がり遅延、Ｂ４は信号生成回路８８が図７（Ｂ）に示す擬似クロック信号ＦＳＤＣＫおよび擬似データ信号ＦＤＯ０〜ＦＤＯ３を出力した場合における出力バッファ３８の立ち下がり遅延を示している。
【００９３】
ここで、一般に、電源および接地の設計は、パッド数、パッケージのプレーン面積、パッケージのボール数、プリント基板のプレーン面積のいずれをとっても、結果的に、容量が大きく、抵抗とインダクタンスが小さいものとなり、結果的に接地の方が電気的に安定していると言える。そのため、出力バッファ立ち上がり遅延差よりも出力バッファ立ち下がり遅延差の方が小さくなる。
【００９４】
図９はＦＩＦＯ９０の構成図である。ＦＩＦＯ９０は、たとえば、擬似クロック信号ＦＳＤＣＫおよびクロック信号ＳＤＣＫ用に、システムクロック信号ＳＹＳＣＬＫの立ち下がりエッジに同期して動作するＤフリップフロップ１１１＿１〜１１１＿３を縦列接続するとともに、擬似データ信号ＦＤＯ０〜ＦＤＯ３およびデータ信号ＤＯ０〜ＤＯ３用に、システムクロック信号ＳＹＳＣＬＫの立ち上がりエッジに同期して動作する４入力のＤフリップフロップ１１２＿１〜１１２＿３を縦列接続して構成される。
【００９５】
図１０は遅延補正制御回路８１の構成図である。遅延補正制御回路８１は、出力信号遷移パターン解析回路１１６と、重み関数計算回路１１７と、ΔDelay検索回路１１８と、ΔDT検索回路１１９と、遅延補正コード生成回路１２０とを備えている。
【００９６】
出力信号遷移パターン解析回路１１６は、システムクロック信号ＳＹＳＣＬＫと、遅延補正回路８０のセレクタ８９が出力するクロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３を入力し、システムクロック信号ＳＹＳＣＬＫの立ち上がり時を基準として、通常動作モード時におけるクロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３の遷移パターンを解析するものである。
【００９７】
本例では、クロック信号ＳＤＣＫの遷移パターンをＰ１、データ信号ＤＯ０の遷移パターンをＰ２、データ信号ＤＯ１の遷移パターンをＰ３、データ信号ＤＯ２の遷移パターンをＰ４、データ信号ＤＯ３の遷移パターンをＰ５とし、これら遷移パターンＰ１〜Ｐ５は、それぞれ、立ち上がりの場合は「１」、立ち下がりの場合は「−１」、遷移しない場合は「０」としている。
【００９８】
図１１は出力信号遷移パターン解析回路１１６の動作を説明するための波形図であり、遅延補正制御回路８１に入力するシステムクロック信号ＳＹＳＣＬＫ、クロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３の一例を示している。
【００９９】
図１１に示す例の場合、クロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３の遷移パターン［Ｐ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５］は、時刻Ｔ１では［０、０、０、−１、１］、時刻Ｔ２では［０、１、１、１、−１］、時刻Ｔ３では［０、−１、−１、−１、０］、時刻Ｔ４では［０、０、０、０、１］となる。
【０１００】
また、図１０において、重み関数計算回路１１７は、Ｉ／Ｏバッファセル２４〜２８のそれぞれについて、距離重み係数データベース８２を参照して、信号入出力部３におけるＳＳＯノイズによる出力バッファ遅延変動ΔDelayの指標となるものとして、数１に示す重み関数Ｗを計算するものである。
【０１０１】
【数１】
2009081588.tif 000003
【０１０２】
ここで、Ｌｉは距離重み係数である。距離重み係数Ｌｉは、同一のＳＳＯグループ内のＶＤＥ電源セル１８およびＶＳＳ電源セル２０からのＩ／Ｏバッファセル２４〜２８の距離を考慮した係数であり、本例では、Ｉ／Ｏバッファセル２４の距離重み係数をＬ１、Ｉ／Ｏバッファセル２５の距離重み係数をＬ２、Ｉ／Ｏバッファセル２６の距離重み係数をＬ３、Ｉ／Ｏバッファセル２７の距離重み係数をＬ４、Ｉ／Ｏバッファセル２８の距離重み係数をＬ５としている。
【０１０３】
そして、ＶＤＥ電源セル１８およびＶＳＳ電源セル２０からの距離が大きいＩ／Ｏバッファセルほど、ＳＳＯノイズは大きくなるという事実を考慮し、図１２に示すように、Ｉ／Ｏバッファセル２４の距離重み係数Ｌ１を１、Ｉ／Ｏバッファセル２５の距離重み係数Ｌ２を２、Ｉ／Ｏバッファセル２６の距離重み係数Ｌ３を３、Ｉ／Ｏバッファセル２７の距離重み係数Ｌ４を４、Ｉ／Ｏバッファセル２８の距離重み係数Ｌ５を５としている。
【０１０４】
また、Ｆｉは干渉係数である。干渉係数Ｆｉは、着目するＩ／Ｏバッファセルに対する着目するＩ／Ｏバッファセルおよび他のＩ／Ｏバッファセルのスイッチングの影響（干渉の程度）を考慮したものであり、本例では、着目するＩ／Ｏバッファセルに対するＩ／Ｏバッファセル２４の干渉係数をＦ１、着目するＩ／Ｏバッファセルに対するＩ／Ｏバッファセル２５の干渉係数をＦ２、着目するＩ／Ｏバッファセルに対するＩ／Ｏバッファセル２６の干渉係数をＦ３、着目するＩ／Ｏバッファセルに対するＩ／Ｏバッファセル２７の干渉係数をＦ４、着目するＩ／Ｏバッファセルに対するＩ／Ｏバッファセル２８の干渉係数をＦ５としている。
【０１０５】
そして、着目するＩ／Ｏバッファセルに対する着目するＩ／Ｏバッファセルの干渉係数を５、着目するＩ／Ｏバッファセルに対する着目するＩ／Ｏバッファセルの１つ隣りのＩ／Ｏバッファセルの干渉係数を４、着目するＩ／Ｏバッファセルに対する着目するＩ／Ｏバッファセルの２つ隣りのＩ／Ｏバッファセルの干渉係数を３、着目するＩ／Ｏバッファセルに対する着目するＩ／Ｏバッファセルの３つ隣りのＩ／Ｏバッファセルの干渉係数を２、着目するＩ／Ｏバッファセルに対する着目するＩ／Ｏバッファセルの４つ隣りのＩ／Ｏバッファセルの干渉係数を１としている。
【０１０６】
したがって、たとえば、図１３に示すように、重み関数Ｗを求めるＩ／ＯバッファセルがＩ／Ｏバッファセル２４の場合には、Ｉ／Ｏバッファセル２４の干渉係数Ｆ１は５、Ｉ／Ｏバッファセル２５の干渉係数Ｆ２は４、Ｉ／Ｏバッファセル２６の干渉係数Ｆ３は３、Ｉ／Ｏバッファセル２７の干渉係数Ｆ４は２、Ｉ／Ｏバッファセル２８の干渉係数Ｆ５は１となる。
【０１０７】
また、図１４に示すように、重み関数Ｗを求めるＩ／ＯバッファセルがＩ／Ｏバッファセル２５の場合には、Ｉ／Ｏバッファセル２４の干渉係数Ｆ１は４、Ｉ／Ｏバッファセル２５の干渉係数Ｆ２は５、Ｉ／Ｏバッファセル２６の干渉係数Ｆ３は４、Ｉ／Ｏバッファセル２７の干渉係数Ｆ４は３、Ｉ／Ｏバッファセル２８の干渉係数Ｆ５は２となる。
【０１０８】
また、図１５に示すように、重み関数Ｗを求めるＩ／ＯバッファセルがＩ／Ｏバッファセル２６の場合には、Ｉ／Ｏバッファセル２４の干渉係数Ｆ１は３、Ｉ／Ｏバッファセル２５の干渉係数Ｆ２は４、Ｉ／Ｏバッファセル２６の干渉係数Ｆ３は５、Ｉ／Ｏバッファセル２７の干渉係数Ｆ４は４、Ｉ／Ｏバッファセル２８の干渉係数Ｆ５は３となる。
【０１０９】
また、図１６に示すように、重み関数Ｗを求めるＩ／ＯバッファセルがＩ／Ｏバッファセル２７の場合には、Ｉ／Ｏバッファセル２４の干渉係数Ｆ１は２、Ｉ／Ｏバッファセル２５の干渉係数Ｆ２は３、Ｉ／Ｏバッファセル２６の干渉係数Ｆ３は４、Ｉ／Ｏバッファセル２７の干渉係数Ｆ４は５、Ｉ／Ｏバッファセル２８の干渉係数Ｆ５は４となる。
【０１１０】
また、図１７に示すように、重み関数Ｗを求めるＩ／ＯバッファセルがＩ／Ｏバッファセル２８の場合には、Ｉ／Ｏバッファセル２４の干渉係数Ｆ１は１、Ｉ／Ｏバッファセル２５の干渉係数Ｆ２は２、Ｉ／Ｏバッファセル２６の干渉係数Ｆ３は３、Ｉ／Ｏバッファセル２７の干渉係数Ｆ４は４、Ｉ／Ｏバッファセル２８の干渉係数Ｆ５は５となる。
【０１１１】
図１８〜図２２は重み関数計算回路１１７が計算する重み関数Ｗの例を示す表図であり、図１８はＩ／Ｏバッファセル２４の重み関数Ｗの例、図１９はＩ／Ｏバッファセル２５の重み関数Ｗの例、図２０はＩ／Ｏバッファセル２６の重み関数Ｗの例、図２１はＩ／Ｏバッファセル２７の重み関数Ｗの例、図２２はＩ／Ｏバッファセル２８の重み関数Ｗの例を示しており、＃ｋ（但し、ｋ＝１、２、…、１６）は、システムクロック信号ＳＹＳＣＬＫのkサイクル目の立ち上がり時を示している。
【０１１２】
図２３は重み関数Ｗのシステムクロックサイクルに対する変化例を示す図である。図２３中、ＷＡ１は図１８に示すＩ／Ｏバッファセル２４の重み関数Ｗのシステムクロックサイクルに対する変化、ＷＡ３は図２０に示すＩ／Ｏバッファセル２６の重み関数Ｗのシステムクロックサイクルに対する変化、ＷＡ５は図２２に示すＩ／Ｏバッファセル２８の重み関数Ｗのシステムクロックサイクルに対する変化を示している。
【０１１３】
また、図１０において、ΔDelay検索回路１１８は、Ｗ−ΔDelayテーブル８３を参照して、重み関数計算回路１１７が計算したＩ／Ｏバッファセル２４〜２８の重み関数Ｗに対応する出力バッファ３４〜３８の遅延変動ΔDelayを検索するものである。
【０１１４】
図２４はＷ−ΔDelayテーブル８３の例を示す図であり、重み関数Ｗと出力バッファ遅延変動ΔDelayとが対応つけられている。このＷ−ΔDelayテーブル８３は、信号生成回路８８から種々の擬似クロック信号ＦＳＤＣＫおよび擬似データ信号ＦＤＯ０〜ＦＤＯ３を出力させて種々の重み関数Ｗにおける出力バッファ遅延変動ΔDelayをシミュレーション又は実測することにより求めることができる。
【０１１５】
なお、重み関数Ｗと出力バッファ遅延変動ΔDelayとの関係を、Ｗ−ΔDelayテーブル８３の代わりに、式で持つ場合には、重み関数Ｗと出力バッファ遅延変動ΔDelayの正値との関係を示す式と、重み関数Ｗと出力バッファ遅延変動ΔDelayの負値との関係を示す式に分け、それぞれをＷ軸（Ｗ＝０の縦軸）の切片とΔDelay軸（ΔDelay＝０の横軸）に対する傾きとで示す線形式で持つことが可能である。
【０１１６】
また、図１０において、ΔDT検索回路１１９は、ΔDelay−ΔDTテーブル８４を参照して、ΔDelay検索回路１１８が検索した出力バッファ３４〜３８の遅延変動ΔDelayに対応する出力バッファ３４〜３８の遅延差ΔDTを検索するものである。図２５はΔDelay−ΔDTテーブル８４の例を示しており、出力バッファ遅延変動ΔDelayと出力バッファ遅延差ΔDTとが対応づけられている。このΔDelay−ΔDTテーブル８４は、ΔDelay−ΔDTテーブル作成部８５により作成される。
【０１１７】
また、図１０において、遅延補正コード作成回路１２０は、ΔDelay検索回路１１８が検索した出力バッファ３４〜３８の遅延差ΔDTのうち、最も大きな遅延差ΔDTを入力して、遅延補正コードＤＬＣＮＴを作成するものである。図２６は遅延補正コードＤＬＣＮＴの例を示す表図である。
【０１１８】
図２７はΔDelay−ΔDTテーブル作成部８５の構成図である。ΔDelay−ΔDTテーブル作成部８５は、アップデートモード時に使用されるものであり、出力バッファ遅延変動ΔDelayと出力バッファ遅延差ΔDTとを計測して、ΔDelay−ΔDTテーブル８４を作成するものである。
【０１１９】
本例では、ΔDelay−ΔDTテーブル作成部８５は、ΔDelay／ΔDTカウンタ部１２３と、セレクタ１２４と、カウント値−実時間変換回路１２５と、ΔDelay−ΔDTテーブル作成回路１２６を備えている。
【０１２０】
ΔDelay／ΔDTカウンタ部１２３は、出力バッファ３４〜３８の遅延変動ΔDelayと出力バッファ３４〜３８の遅延差ΔDTとを高速クロック信号φでカウントするものであり、ΔDelay／ΔDTカウンタ１２７〜１３１を備えている。ΔDelay／ΔDTカウンタ１２７〜１３１は、Ｉ／Ｏバッファセル２４〜２８のうち、対応するＩ／Ｏバッファセル内に設けるようにしても良い。
【０１２１】
前述したように、一般に、出力バッファ立ち下がり遅延差−ΔDTは、出力バッファ立ち上がり遅延差＋ΔDTよりも小さいが、接地が強固に設計されていれば、出力バッファ立ち下がり遅延差−ΔDTは見えにくいことから、出力バッファ立ち下がり遅延差−ΔDTの検出のために精度の高いカウンタを用いるのは得策ではなく、出力バッファ立ち上がり遅延差＋ΔDTを十分な分解能でカウントすることを目的として、高速クロック信号φの周波数を決定しても良い。
【０１２２】
ΔDelay／ΔDTカウンタ１２７は、出力バッファ遅延変動検出用信号生成回路３９が出力する出力バッファ遅延変動検出用信号ＳＡ１〜ＳＣ１と、出力バッファ３４に入力する擬似クロック信号ＦＳＤＣＫと、出力バッファ３４が出力する擬似クロック信号ＦＳＤＣＫと、基準電圧ＶＲＥＦ１（ＶＤＥ／２）、ＶＲＥＦ２（ＶＤＤ／２）、ＶＲＥＦ３（ＶＤＤ）とを入力し、出力バッファ３４の遅延変動ΔDelayと出力バッファ３４の遅延差ΔDTとを高速クロック信号φでカウントするものである。
【０１２３】
ΔDelay／ΔDTカウンタ１２８は、出力バッファ遅延変動検出用信号生成回路４０が出力する出力バッファ遅延変動検出用信号ＳＡ２〜ＳＣ２と、出力バッファ３５に入力する擬似データ信号ＦＤＯ０と、出力バッファ３５が出力する擬似データ信号ＦＤＯ０と、基準電圧ＶＲＥＦ１（ＶＤＥ／２）、ＶＲＥＦ２（ＶＤＤ／２）、ＶＲＥＦ３（ＶＤＤ）とを入力し、出力バッファ３５の遅延変動ΔDelayおよび遅延差ΔDTを高速クロック信号φでカウントするものである。
【０１２４】
ΔDelay／ΔDTカウンタ１２９は、出力バッファ遅延変動検出用信号生成回路４１が出力する出力バッファ遅延変動検出用信号ＳＡ３〜ＳＣ３と、出力バッファ３６に入力する擬似データ信号ＦＤＯ１と、出力バッファ３６が出力する擬似データ信号ＦＤＯ１と、基準電圧ＶＲＥＦ１（ＶＤＥ／２）、ＶＲＥＦ２（ＶＤＤ／２）、ＶＲＥＦ３（ＶＤＤ）とを入力し、出力バッファ３６の遅延変動ΔDelayおよび遅延差ΔDTを高速クロック信号φでカウントするものである。
【０１２５】
ΔDelay／ΔDTカウンタ１３０は、出力バッファ遅延変動検出用信号生成回路４２が出力する出力バッファ遅延変動検出用信号ＳＡ４〜ＳＣ４と、出力バッファ３７に入力する擬似データ信号ＦＤＯ２と、出力バッファ３７が出力する擬似データ信号ＦＤＯ２と、基準電圧ＶＲＥＦ１（ＶＤＥ／２）、ＶＲＥＦ２（ＶＤＤ／２）、ＶＲＥＦ３（ＶＤＤ）とを入力し、出力バッファ３７の遅延変動ΔDelayおよび遅延差ΔDTを高速クロック信号φでカウントするものである。
【０１２６】
ΔDelay／ΔDTカウンタ１３１は、出力バッファ遅延変動検出用信号生成回路４３が出力する出力バッファ遅延変動検出用信号ＳＡ５〜ＳＣ５と、出力バッファ３８に入力する擬似データ信号ＦＤＯ３と、出力バッファ３７が出力する擬似データ信号ＦＤＯ３と、基準電圧ＶＲＥＦ１（ＶＤＥ／２）、ＶＲＥＦ２（ＶＤＤ／２）、ＶＲＥＦ３（ＶＤＤ）とを入力し、出力バッファ３８の遅延変動ΔDelayおよび遅延差ΔDTを高速クロック信号φでカウントするものである。
【０１２７】
セレクタ１２４は、セレクト制御信号ＣＨによりセレクト動作が制御されるものであり、ΔDelay／ΔDTカウンタ１２７〜１３１が出力するカウント値を選択して出力するものである。カウント値−実時間変換回路１２５は、セレクタ１２４が出力する出力バッファ３４〜３８の遅延変動ΔDelayおよび遅延差ΔDTの高速クロック信号φによるカウント値に高速クロック信号φのサイクルタイムを乗じることにより、セレクタ１２４が出力する出力バッファ３４〜３８の遅延変動ΔDelayおよび遅延差ΔDTの高速クロック信号φによるカウント値を実時間に変換するものである。
【０１２８】
ΔDelay−ΔDTテーブル作成回路１２６は、カウント値−実時間変換回路１２５が出力する出力バッファ３４〜３８の遅延変動ΔDelayおよび出力バッファ３４〜３８の遅延差ΔDTの実時間を入力し、実時間で表示したΔDelay−ΔDTテーブル８４を作成するものである。
【０１２９】
図２８はΔDelay／ΔDTカウンタ１２７の構成図であり、ΔDelay／ΔDTカウンタ１２８〜１３１も同様に構成されている。ΔDelay／ΔDTカウンタ１２７は、ΔDelay計測部１３４と、ΔDT計測部１３５を備えている。ΔDelay計測部１３４は、出力バッファ３４の遅延変動ΔDelayを計測するものであり、レベル比較器１３６〜１３８と、カウンタ１３９、１４０を備えている。
【０１３０】
レベル比較器１３６は、出力バッファ遅延変動検出用信号ＳＣ１のレベルと基準電圧ＶＲＥＦ１（ＶＤＥ／２）とを比較し、出力バッファ遅延変動検出用信号ＳＣ１のレベルが基準電圧ＶＲＥＦ１（ＶＤＥ／２）を超える値から基準電圧ＶＲＥＦ１（ＶＤＥ／２）に下降したとき、および、基準電圧ＶＲＥＦ１（ＶＤＥ／２）未満の値から基準電圧ＶＲＥＦ１（ＶＤＥ／２）に上昇したときに、それぞれ、カウンタ１３９、１４０にストップ信号ＳＴＯＰを出力するものである。
【０１３１】
レベル比較器１３７は、出力バッファ遅延変動検出用信号ＳＡ１のレベルと基準電圧ＶＲＥＦ２（ＶＤＤ／２）とを比較し、出力バッファ遅延変動検出用信号ＳＡ１のレベルが基準電圧ＶＲＥＦ２（ＶＤＤ／２）を超える値から基準電圧ＶＲＥＦ２（ＶＤＤ／２）に下降したときに、カウンタ１３９にスタート信号ＳＴＡＲＴを出力するものである。
【０１３２】
レベル比較器１３８は、出力バッファ遅延変動検出用信号ＳＢ１のレベルと基準電圧ＶＲＥＦ３（ＶＤＤ）とを比較し、出力バッファ遅延変動検出用信号ＳＢ１のレベルが基準電圧ＶＲＥＦ３（ＶＤＤ）を超える値から基準電圧ＶＲＥＦ３（ＶＤＤ）に下降したときに、カウンタ１４０にスタート信号ＳＴＡＲＴを出力するものである。
【０１３３】
カウンタ１３９は、レベル比較器１３７がスタート信号ＳＴＡＲＴを出力すると、高速クロック信号φのカウントを開始し、その後、レベル比較器１３６がストップ信号ＳＴＯＰを出力すると、高速クロック信号φのカウントを終了し、それまでのカウント値を出力バッファ３４の立ち上がり遅延変動＋ΔDelayとして出力するものである。
【０１３４】
カウンタ１４０は、レベル比較器１３８がスタート信号ＳＴＡＲＴを出力すると、高速クロック信号φのカウントを開始し、その後、レベル比較器１３６がストップ信号ＳＴＯＰを出力すると、高速クロック信号φのカウントを終了し、それまでのカウント値を出力バッファ３４の立ち下がり遅延変動−ΔDelayとして出力するものである。
【０１３５】
また、ΔDT計測部１３５は、出力バッファ３４の遅延差ΔDTを計測するものであり、レベル比較器１４１、１４２と、カウンタ１４３と、レジスタ１４４と、減算器１４５を備えている。
【０１３６】
レベル比較器１４１は、出力バッファ３４に入力する擬似クロック信号ＦＳＤＣＫのレベルと基準電圧ＶＲＥＦ２（ＶＤＤ／２）とを比較し、出力バッファ３４に入力する擬似クロック信号ＦＳＤＣＫがＬレベルから基準電圧ＶＲＥＦ２（ＶＤＤ／２）に上昇した場合およびＨレベルから基準電圧ＶＲＥＦ２（ＶＤＤ／２）に下降した場合に、それぞれ、カウンタ１４３にスタート信号ＳＴＡＲＴを出力するものである。
【０１３７】
レベル比較器１４２は、出力バッファ３４が出力する擬似クロック信号ＦＳＤＣＫのレベルと基準電圧ＶＲＥＦ１（ＶＤＥ／２）とを比較し、出力バッファ３４が出力する擬似クロック信号ＦＳＤＣＫがＬレベルから基準電圧ＶＲＥＦ１（ＶＤＥ／２）に上昇した場合およびＨレベルから基準電圧ＶＲＥＦ１（ＶＤＥ／２）に下降した場合に、それぞれ、カウンタ１４３にストップ信号ＳＴＯＰを出力するものである。
【０１３８】
カウンタ１４３は、レベル比較器１４１がスタート信号ＳＴＡＲＴを出力すると、高速クロック信号φのカウントを開始し、レベル比較器１４２がストップ信号ＳＴＯＰを出力すると、高速クロック信号φのカウントを終了するものである。
【０１３９】
レジスタ１４４は、カウンタ１４３がカウントしたカウント値を格納するものである。減算器１４５は、カウンタ１４３のカウント値からレジスタ１４４の格納値を減算し、出力バッファ３４の遅延差ΔDTを出力するものである。
【０１４０】
本例では、出力バッファ３４の立ち上がり遅延差＋ΔDTを計測する場合には、まず、出力バッファ３４に対して、ＬレベルからＨレベルに遷移する擬似クロック信号ＦＳＤＣＫを与えて、出力バッファ３４のみをスイッチングさせる。このようにすると、カウンタ１４３は、出力バッファ３４のみが駆動された場合の立ち上がり遅延をカウントすることになる。そして、このカウント値をレジスタ１４４に転送する。
【０１４１】
次に、出力バッファ３４に対して、ＬレベルからＨレベルに遷移する擬似クロック信号ＦＳＤＣＫを与えるとともに、出力バッファ３５〜３８の一部又は全部を駆動させる。このようにすると、カウンタ１４３は、出力バッファ３４と、出力バッファ３５〜３８の一部又は全部が駆動された場合の出力バッファ３４の立ち上がり遅延をカウントすることになる。
【０１４２】
本例では、この状態で、減算器１４５において、カウンタ１４３のカウント値からレジスタ１４４の格納値の減算を行う。この結果、出力バッファ３４と、出力バッファ３５〜３８の一部又は全部が駆動された場合の出力バッファ３４の立ち上がり遅延差＋ΔDTが算出されることになる。
【０１４３】
以上の動作を出力バッファ３４〜３８の種々の遷移パターンについて行うことにより、出力バッファ３４について種々の遅延変動ΔDelayに対する立ち上がり遅延差＋ΔDTを求めることができる。出力バッファ３４の立ち下がり遅延差−ΔDTについても、出力バッファ３４にＨレベルからＬレベルの擬似クロック信号ＦＳＤＣＫを与えることにより、同様にして立ち下がり遅延差−ΔDTを求めることができる。
【０１４４】
図２９はΔDelay計測部１３４の動作を説明するための波形図であり、出力バッファ３４のＶＤＥ電源端子５８の電圧波形１４７と、ＶＳＳ電源端子５９の電圧波形１４８と、出力バッファ３４が出力する擬似クロック信号ＦＳＤＣＫと、出力バッファ遅延変動検出用信号ＳＡ１、ＳＢ１、ＳＣ１を示している。
【０１４５】
本例では、レベル比較器１３６、１３７とカウンタ１３９とで、出力バッファ遅延変動検出用信号ＳＡ１が基準電圧ＶＲＥＦ２（ＶＤＤ／２）に下降した時点から、出力バッファ遅延変動検出用信号ＳＣ１が基準電圧ＶＲＥＦ１（ＶＤＥ／２）に下降した時点までの期間が出力バッファ３４の立ち上がり遅延変動＋ΔDelayとしてカウントされる。
【０１４６】
また、レベル比較器１３６、１３８とカウンタ１４０とで、出力バッファ遅延変動検出用信号ＳＢ１が基準電圧ＶＲＥＦ３（ＶＤＤ）に下降した時点から、出力バッファ遅延変動検出用信号ＳＣ１が基準電圧ＶＲＥＦ１（ＶＤＥ／２）に上昇した時点までの期間が出力バッファ３４の立ち下がり遅延変動−ΔDelayとしてカウントされる。
【０１４７】
図３０はΔDT計測部１３５の動作を説明するための波形図であり、出力バッファ３４のＶＤＥ電源端子５８の電圧波形１４７と、ＶＳＳ電源端子５９の電圧波形１４８と、出力バッファ３４に入力する擬似クロック信号ＦＳＤＣＫと、出力バッファ３４が出力する擬似クロック信号ＦＳＤＣＫを示している。
【０１４８】
図３０中、ΔＴ１は、出力バッファ３４〜３８を駆動させた場合の出力バッファ３４の立ち上がり遅延を示し、ΔＴ２は、出力バッファ３４〜３８を駆動させた場合の出力バッファ３４の立ち下がり遅延を示している。
【０１４９】
ΔDT計測部１３５では、たとえば、出力バッファ３４〜３８を駆動させた場合の出力バッファ３４の立ち上がり遅延ΔＴ１から、出力バッファ３４のみを駆動させた場合の出力バッファ３４の立ち上がり遅延を減算することにより、出力バッファ３４〜３８を駆動させた場合の出力バッファ３４の立ち上がり遅延差＋ΔDTが求められる。
【０１５０】
また、ΔDT計測部１３５では、たとえば、出力バッファ３４〜３８を駆動させた場合の出力バッファ３４の立ち下がり遅延ΔＴ１から、出力バッファ３４のみを駆動させた場合の出力バッファ３４の立ち下がり遅延を減算することにより、出力バッファ３４〜３８を駆動させた場合の出力バッファ３４の立ち下がり遅延差−ΔDTが求められる。
【０１５１】
また、出力バッファ３５〜３８についても、遅延変動ΔDelay（立ち上がり遅延変動＋ΔDelayおよび立ち下がり遅延変動−ΔDelay）と遅延差ΔDT（立ち上がり遅延差＋ΔDTおよび立ち下がり遅延差−ΔDT）が出力バッファ３４の場合と同様に計測される。
【０１５２】
図３１は本発明の半導体集積回路の第１実施形態の動作（本発明の半導体集積回路装置におけるクロック信号の補正方法の第１実施形態）を示すフローチャートである。本発明の半導体集積回路装置の第１実施形態においては、電源が投入されると、まず、可変遅延ライン９２の遅延を中心値にセットし（ステップＰ１）、設定すべき動作モードを判断する（ステップＰ２）。最初は、アップデートモードとし、通常動作準備工程であるアップデート工程を実行し（ステップＰ３）、ステップＰ２に戻る。
【０１５３】
次に、再び、動作モードを判断するが（ステップＰ２）、アップデート工程が終了したので、通常動作モードとし、出力クロック信号ＳＤＣＫの遅延補正を行う遅延補正工程を実行する（ステップＰ４）。そして、遅延補正工程を終了すると、ΔDelay−ΔDTテーブル８４をクリアするか否かを判断し（ステップＰ５）、ΔDelay−ΔDTテーブル８４をクリアしない場合には、ステップＰ２に戻る。これに対して、ΔDelay−ΔDTテーブル８４をクリアする場合には、ステップＰ１に戻る。
【０１５４】
なお、アップデート工程（ステップＰ３）は、電源の投入後に、まず、実行されるが、その後に、本発明の半導体集積回路装置の第１実施形態をリセットした場合や、通常動作モードとなった後に一定期間毎に行うようにすることもできる。
【０１５５】
図３２はアップデート工程を示すフローチャートである。アップデート工程では、出力バッファ３４〜３８を１番目〜５番目の出力バッファとし、Ｊ番目の出力バッファを出力バッファ遅延変動ΔDelayおよび出力バッファの遅延差ΔDTの計測対象として信号生成回路８８を動作させる（ステップＱ１）。
【０１５６】
そして、出力バッファ遅延変動ΔDelayを計測するか、出力バッファ遅延差ΔDTを計測するかという計測の切り替えを判断しながら（ステップＱ２）、ΔDelay−ΔDTテーブル作成部８５において、出力バッファ遅延変動ΔDelayの高速クロック信号φによるカウント（ステップＱ３）と、出力バッファ遅延差ΔDTの高速クロック信号φによるカウント（ステップＱ４）と、カウント値の実時間への変換（ステップＱ５）と、ΔDelay−ΔDTテーブル８４の作成（ステップＱ６）をＪ＝１からＪ＝５となるまで実行する。
【０１５７】
図３３は遅延補正工程を示すフローチャートである。遅延補正工程では、信号生成回路８８を遮断し、所定の内部回路から内部バスを介して与えられるクロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３をＦＩＦＯ９０および出力信号遷移パターン解析回路１１６に渡す（ステップＳ１）。
【０１５８】
そして、重み関数計算回路１１７により、出力信号遷移パターン解析回路１１６が解析した出力信号遷移パターンと重み関数テーブル８２とを用いて重み関数Ｗを計算する（ステップＳ２）。
【０１５９】
次に、ΔDelay検索回路１１８により、重み関数計算回路１１７が計算した重み関数Ｗに対応する出力バッファ遅延変動ΔDelayをＷ−ΔDelayテーブル８３から検索する（ステップＳ３）。
【０１６０】
次に、ΔDT検索回路１１９により、ΔDelay検索回路１１８が取得した出力バッファ遅延変動ΔDelayに対応する出力バッファ遅延差ΔDTをΔDelay−ΔDTテーブル８４から検索する（ステップＳ４）。
【０１６１】
次に、遅延補正コード生成回路１２０により、ΔDT検索回路１１９が検索した出力バッファ遅延差ΔDTに対応する遅延補正コードＤＬＣＮＴを生成する（ステップＳ５）。そして、この遅延補正コードＤＬＣＮＴを遅延補正コードレジスタ９１に格納し、可変遅延ライン９２の遅延を制御し、クロック信号ＳＤＣＫの遅延補正を行う（ステップＳ６）。
【０１６２】
図３４および図３５は本発明の半導体集積回路装置の第１実施形態の動作を説明するための波形図である。図３４はクロック信号ＳＤＣＫの遅延補正を実行しない場合、図３５はクロック信号ＳＤＣＫの遅延補正を実行する場合であり、図３４および図３５は共にＩ／Ｏバッファセル２５の重み関数Ｗに対応する遅延補正コードＤＬＣＮＴが生成される場合を例にしている。
【０１６３】
図３４および図３５において、（Ａ）はシステムクロック信号ＳＹＳＣＬＫと、遅延補正部４に入力するクロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３、（Ｂ）は出力バッファ３４〜３８に入力するクロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３、（Ｃ）は出力バッファ３４〜３８が出力する出力クロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３、（Ｄ）は受信側デバイスにおけるクロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３を示している。
【０１６４】
ここで、仮に、遅延補正コードＤＬＣＮＴを可変遅延ライン９２に与えず、クロック信号ＳＤＣＫの遅延補正を実行しない場合には、データパス側のデータ信号ＤＯ０〜ＤＯ３に乗る出力バッファ遅延変動ΔDelayは、そのまま、出力バッファ３４〜３８の出力側に現れてしまう。このため、データ信号ＤＯ０〜ＤＯ３の確定遅延ＴＯＶＡＬは、図３４に示すように、理想電源下を想定した場合よりも長くなってしまう。
【０１６５】
ここで、クロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３の受信側デバイスのセットアップタイムをｔＩＳ、信号入出力部３の動作周期をｔＣＫとすると、受信側デバイスのマージンは、｛（ｔＣＫ−ＴＯＶＡＬ）−ｔＩＳ｝となる。このため、送信側である本発明の半導体集積回路装置の第１実施形態のデータ確定遅延ＴＯＶＡＬは小さいことが望ましい。
【０１６６】
図３５に示す例は、クロック信号ＳＤＣＫの遅延補正を行う場合であるが、この場合には、遅延補正コードＤＬＣＮＴが可変遅延ライン９２に得られた後、データ信号ＤＯ０〜ＤＯ３よりも、システムクロック信号ＳＹＳＣＬＫで半周期遅く出力されるクロック信号ＳＤＣＫを遅延補正ライン９２で遅延補正し、ＳＳＯノイズによりＩ／Ｏバッファセル２５〜２８で発生するデータ信号ＤＯ０〜ＤＯ３の遅延と同様の遅延をクロック信号ＳＤＣＫに付けるようにしている。
【０１６７】
この遅延補正工程により、データ信号ＤＯ０〜ＤＯ３の確定遅延ＴＯＶＡＬのＳＳＯノイズによる増加は、ＳＳＯノイズの影響を受けた分だけ、クロック信号ＳＤＣＫを遅延補正することで事実上キャンセルされる。即ち、信号入出力部３におけるＳＳＯノイズによるクロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３を受信する装置でのデータ信号ＤＯ０〜ＤＯ３の確定遅延ＴＯＶＡＬの増加を抑えるようにクロック信号ＳＤＣＫの遅延補正を行うことができる。
【０１６８】
以上のように、本発明の半導体集積回路装置の第１実施形態によれば、遅延補正部４において、信号入出力部３におけるＳＳＯノイズによるクロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３を受信する装置でのデータ信号ＤＯ０〜ＤＯ３の確定遅延ＴＯＶＡＬの増加を抑えるようにクロック信号ＳＤＣＫの遅延補正を行うことができる。したがって、信号入出力部３におけるＳＳＯノイズによるクロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３を受信する装置でのデータ信号ＤＯ０〜ＤＯ３の確定遅延ＴＯＶＡＬの増加を抑えることができ、設計マージンを容易に確保することができる。
【０１６９】
本発明の半導体集積回路装置の第１実施形態は、ＤＤＲ（double data rate）やＤＤＲ２（double data rate 2）やＬＶＤＳ（low voltage differential signaling）などの小信号の高速インタフェース部を有する半導体集積回路装置に適用して好適である。
【０１７０】
（第２実施形態）
図３６は本発明の半導体集積回路装置の第２実施形態の一部分の概略的構成図である。本発明の半導体集積回路装置の第２実施形態は、本発明の半導体集積回路装置の第１実施形態が備える遅延補正部４と構成の異なる遅延補正部１５０を備え、その他については、本発明の半導体集積回路装置の第１実施形態と同様に構成したものである。
【０１７１】
遅延補正部１５０は、遅延補正部４が備えるΔDelay−ΔDTテーブル作成部８５と構成の異なるΔDelay−ΔDTテーブル作成部１５１を備え、その他については、遅延補正部４と同様に構成したものである。
【０１７２】
図３７はΔDelay−ΔDTテーブル作成部１５１の構成図である。ΔDelay−ΔDTテーブル作成部１５１は、ΔDelay−ΔDTテーブル作成部８５が備えるカウント値−実時間変換回路１２５を設けず、ΔDelay−ΔDTテーブル作成回路１２６は、セレクタ１２４が出力する出力バッファ３４〜３８の遅延変動ΔDelayおよび出力バッファ３４〜３８の遅延差ΔDTのカウント値を入力して、カウント値で表示したΔDelay−ΔDTテーブル８４を作成するようにし、その他については、ΔDelay−ΔDTテーブル作成部８５と同様に構成したものである。
【０１７３】
したがって、また、本例においては、Ｗ−ΔDelayテーブル８３における出力バッファ遅延変動ΔDelayはカウント値で表示される。また、遅延補正コード生成回路１２０は、ΔDelay−ΔDTテーブル８４に表示されている出力バッファ遅延差ΔDTのカウント値から遅延補正コードＤＬＣＮＴを生成することになる。
【０１７４】
本発明の半導体集積回路装置の第２実施形態によっても、本発明の半導体集積回路装置の第１実施形態と同様に、遅延補正部４において、信号入出力部３におけるＳＳＯノイズによるクロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３を受信する装置でのデータ信号ＤＯ０〜ＤＯ３の確定遅延ＴＯＶＡＬの増加を抑えるようにクロック信号ＳＤＣＫの遅延補正を行うことができる。したがって、信号入出力部３におけるＳＳＯノイズによるクロック信号ＳＤＣＫおよびデータ信号ＤＯ０〜ＤＯ３を受信する装置でのデータ信号ＤＯ０〜ＤＯ３の確定遅延ＴＯＶＡＬの増加を抑えることができ、設計マージンを容易に確保することができる。
【０１７５】
本発明の半導体集積回路装置の第２実施形態は、本発明の半導体集積回路装置の第１実施形態と同様に、ＤＤＲやＤＤＲ２やＬＶＤＳなどの小信号の高速インタフェース部を有する半導体集積回路装置に適用して好適である。
【０１７６】
なお、本発明の半導体集積回路装置の第１実施形態および第２実施形態においては、クロック信号ＳＤＣＫにより確定遅延が決まる非クロック信号としてデータ信号ＤＯ０〜ＤＯ３を転送する場合について説明したが、本発明は、その他、クロック信号ＳＤＣＫにより確定遅延が決まる非クロック信号としてアドレス信号やコマンド信号を転送する場合にも適用することができる。
【０１７７】
また、本発明の半導体集積回路装置の第１実施形態および第２実施形態においては、電源を投入する毎に、アップデートモードとし、アップデート工程を実行する場合について説明したが、ΔDelay−ΔDTテーブル８４をフラッシュメモリ等の書き換え可能な不揮発性メモリを使用して作成する場合には、最初の電源投入後にΔDelay−ΔDTテーブル８４を作成しておけば、その後、電源を投入する毎に、アップデート工程を実効する必要はなく、電源投入後の起動シーケンスを速くすることができる。
【０１７８】
また、本発明の半導体集積回路装置の第１実施形態および第２実施形態においては、信号入出力部３を設ける場合について説明したが、本発明は、信号入出力部３の代わりに、出力バッファセルを配列する信号出力部を設ける場合にも適用することができる。
【０１７９】
ここで、本発明を整理すると、本発明には、少なくとも、以下の半導体集積回路装置および半導体集積回路装置におけるクロック信号の遅延補正方法が含まれる。
【０１８０】
（付記１）クロック信号と、前記クロック信号により確定遅延が決まる非クロック信号とを複数の出力バッファを介して他の装置に転送する半導体集積回路装置であって、
前記複数の出力バッファの前段に、ＳＳＯノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記クロック信号の遅延補正を行う遅延補正部を有することを特徴とする半導体集積回路装置。
【０１８１】
（付記２）前記遅延補正部は、
所定の内部回路から与えられる前記クロック信号および前記非クロック信号を入力し、前記クロック信号については遅延補正を行い、前記非クロック信号については一定時間遅延させる遅延補正回路と、
前記ＳＳＯノイズによる出力バッファ遅延変動を予測し、前記ＳＳＯノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記遅延補正回路を制御する遅延補正制御回路とを有することを特徴とする付記１に記載の半導体集積回路装置。
【０１８２】
（付記３）前記遅延補正回路は、
通常動作準備モード時は、信号生成回路が生成する擬似クロック信号および擬似非クロック信号を選択し、通常動作モード時は、前記所定の内部回路から与えられる前記クロック信号および前記非クロック信号を選択するセレクタと、
前記通常動作準備モード時は、前記セレクタが出力する前記擬似クロック信号および前記擬似非クロック信号を入力し、前記通常動作モード時は、前記セレクタが出力する前記クロック信号および前記非クロック信号を入力するＦＩＦＯと、
前記通常動作準備モード時は、前記ＦＩＦＯが出力する前記擬似クロック信号を遅延し、前記通常動作モード時は、前記ＦＩＦＯが出力する前記クロック信号を遅延する可変遅延ラインと、
前記通常動作準備モード時は、前記ＦＩＦＯが出力する前記擬似非クロック信号を遅延し、前記通常動作モード時は、前記ＦＩＦＯが出力する前記非クロック信号を遅延する固定遅延ラインと、
前記通常動作モード時に、前記可変遅延ラインの遅延を制御し、前記ＳＳＯノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記クロック信号の遅延補正を行うための遅延補正コードを保持させる遅延補正コードレジスタとを有することを特徴とする付記２に記載の半導体集積回路装置。
【０１８３】
（付記４）前記複数の出力バッファは、それぞれ、異なるＩ／Ｏバッファセルに含まれており、
前記遅延補正制御回路は、
前記セレクタが出力する前記クロック信号および前記非クロック信号の遷移パターンを解析する出力信号遷移パターン解析回路と、
着目するＩ／Ｏバッファセル毎に、前記出力信号遷移パターン解析回路が解析した出力信号遷移パターンと、前記着目するＩ／Ｏバッファセルの所定の電源セルからの距離と、前記着目するＩ／Ｏバッファセルおよび他のＩ／Ｏバッファセルのスイッチングの干渉とを考慮し、前記ＳＳＯノイズによる出力バッファ遅延変動の指標となる重み関数を計算する重み関数計算回路と、
前記重み関数と前記出力バッファ遅延変動との関係を示す重み関数−出力バッファ遅延変動テーブルから、前記重み関数計算回路が計算した前記重み関数に対応する出力バッファ遅延変動を検索する出力バッファ遅延変動検索回路と、
前記出力バッファ遅延変動と出力バッファ遅延差との関係を示す出力バッファ遅延変動−出力バッファ遅延差テーブルから、前記出力バッファ遅延変動検索回路が検索した前記出力バッファ遅延変動に対応する出力バッファ遅延差を検索する出力バッファ遅延差検索回路と、
前記出力バッファ遅延差検索回路が検索した出力バッファ遅延差のうち、最も大きな出力バッファ遅延差に対応した前記遅延補正コードを生成する遅延補正コード生成回路とを有することを特徴とする付記２又は３に記載の半導体集積回路装置。
【０１８４】
（付記５）前記Ｉ／Ｏバッファセルは、その内部の出力バッファの電源端子電圧、接地端子電圧および出力端子電圧と基準電圧とから、前記ＳＳＯノイズによる前記出力バッファ遅延変動を検出するための出力バッファ遅延変動検出用信号生成回路を有し、
前記遅延補正部は、前記出力バッファ遅延変動−出力バッファ遅延差テーブルを作成する出力バッファ遅延変動−出力バッファ遅延差テーブル作成部を有し、
前記出力バッファ遅延変動−出力バッファ遅延差テーブル作成部は、
前記ＦＩＦＯが出力する前記擬似クロック信号および前記擬似非クロック信号と、前記複数の出力バッファが出力する前記擬似クロック信号および前記擬似非クロック信号と、前記出力バッファ遅延変動検出用信号生成回路が出力する出力バッファ遅延変動検出用信号とを入力し、前記出力バッファ遅延変動および前記出力バッファ遅延差をカウント用のクロック信号でカウントするカウンタと、
前記出力バッファ遅延変動のカウント値および前記出力バッファ遅延差のカウント値を実時間に変換するカウント値−実時間変換回路と、
実時間で表示した前記出力バッファ遅延変動−出力バッファ遅延差テーブルを作成する出力バッファ遅延変動−出力バッファ遅延差テーブル作成回路とを有することを特徴とする付記４に記載の半導体集積回路装置。
【０１８５】
（付記６）前記Ｉ／Ｏバッファセルは、その内部の出力バッファの電源端子電圧、接地端子電圧および出力端子電圧と基準電圧とから、前記ＳＳＯノイズによる前記出力バッファ遅延変動を検出するための出力バッファ遅延変動検出用信号生成回路を有し、
前記遅延補正部は、前記出力バッファ遅延変動−出力バッファ遅延差テーブルを作成する出力バッファ遅延変動−出力バッファ遅延差テーブル作成部を有し、
前記出力バッファ遅延変動−出力バッファ遅延差テーブル作成部は、
前記ＦＩＦＯが出力する前記擬似クロック信号および前記擬似非クロック信号と、前記複数の出力バッファが出力する前記擬似クロック信号および前記擬似非クロック信号と、前記出力バッファ遅延変動検出用信号生成回路が出力する出力バッファ遅延変動検出用信号とを入力し、前記出力バッファ遅延変動および前記出力バッファ遅延差をカウント用のクロック信号でカウントするカウンタと、
前記カウンタによるカウント値で表示した前記出力バッファ遅延変動−出力バッファ遅延差テーブルを作成する出力バッファ遅延変動−出力バッファ遅延差テーブル作成回路とを有することを特徴とする付記４に記載の半導体集積回路装置。
【０１８６】
（付記７）前記出力バッファ遅延変動検出用信号生成回路は、
前記接地端子電圧と前記出力端子電圧との電圧差を検出する第１の差動アンプと、
前記出力端子電圧と前記電源端子電圧との電圧差を検出する第２の差動アンプと、
前記基準電圧と前記出力端子電圧との電圧差を検出する第３の差動アンプと
を有することを特徴とする付記５又は６に記載の半導体集積回路装置。
【０１８７】
（付記８）前記カウンタは、
前記複数の出力バッファの各々に対応して、第１のカウント手段と、第２のカウント手段と、第３のカウント手段とを有し、
前記第１のカウント手段は、前記第１の差動アンプが出力する第１の出力バッファ遅延変動検出用信号が第２の基準電圧に下降した時から、前記第３の差動アンプが出力する第３の出力バッファ遅延変動検出用信号が前記基準電圧に上昇するまでを前記カウント用のクロック信号でカウントし、
前記第２のカウント手段は、前記第２の差動アンプが出力する第２の出力バッファ遅延変動検出用信号が第３の基準電圧に下降した時から、前記第３の出力バッファ遅延変動検出用信号が前記基準電圧に上昇するまでを前記カウント用のクロック信号でカウントし、
前記第３のカウント手段は、入力する前記擬似クロック信号又は擬似データ信号が一方のレベルから前記第２の基準電圧に達した時から、出力する前記擬似クロック信号又は擬似データ信号が一方のレベルから前記基準電圧に達するまでを前記カウント用のクロック信号でカウントし、かつ、入力する前記擬似クロック信号又は擬似データ信号が他方のレベルから前記第２の基準電圧に達した時から、出力する前記擬似クロック信号又は擬似データ信号が他方のレベルから前記基準電圧に達するまでを前記カウント用のクロック信号でカウントすることを特徴とする付記７に記載の半導体集積回路装置。
【０１８８】
（付記９）クロック信号と前記クロック信号により確定遅延が決まる非クロック信号を複数の出力バッファを介して他の装置に転送する半導体集積回路装置におけるクロック信号の遅延補正方法であって、
前記複数の出力バッファの前段で、ＳＳＯノイズによる前記非クロック信号の確定遅延の増加を抑えるように前記クロック信号の遅延補正を行う遅延補正工程を有することを特徴とする半導体集積回路装置におけるクロック信号の遅延補正方法。
【図面の簡単な説明】
【０１８９】
【図１】本発明の半導体集積回路装置の第１実施形態の一部分の概略的構成図である。
【図２】本発明の半導体集積回路装置の第１実施形態が備える電源入力部および信号入出力部の概略的構成図である。
【図３】本発明の半導体集積回路装置の第１実施形態が備えるＩ／Ｏバッファセルの一部分の構成図である。
【図４】本発明の半導体集積回路装置の第１実施形態が備える出力バッファ遅延変動検出用信号生成回路内の差動アンプの構成図である。
【図５】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部の構成を示す概略図である。
【図６】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内の遅延補正回路の構成図である。
【図７】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内の遅延補正回路を構成する信号生成回路が生成する擬似クロック信号および擬似データ信号の例を示す波形図である。
【図８】本発明の半導体集積回路装置の第１実施形態において信号生成回路が図７に示す擬似クロック信号および擬似データ信号を生成する場合の出力バッファの遅延時間を示す図である。
【図９】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内の遅延補正回路を構成するＦＩＦＯの構成図である。
【図１０】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内の遅延補正制御回路の構成図である。
【図１１】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内の遅延補正制御回路を構成する出力信号遷移パターン解析回路の動作を説明するための波形図である。
【図１２】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が使用する距離重み係数を説明するための図である。
【図１３】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が使用する干渉係数を説明するための図である。
【図１４】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が使用する干渉係数を説明するための図である。
【図１５】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が使用する干渉係数を説明するための図である。
【図１６】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が使用する干渉係数を説明するための図である。
【図１７】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が使用する干渉係数を説明するための図である。
【図１８】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が計算する重み関数の例を示す表図である。
【図１９】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が計算する重み関数の例を示す表図である。
【図２０】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が計算する重み関数の例を示す表図である。
【図２１】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が計算する重み関数の例を示す表図である。
【図２２】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が計算する重み関数の例を示す表図である。
【図２３】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内の遅延補正制御回路を構成する重み関数計算回路が計算する重み関数のシステムクロックサイクルに対する変化例を示す図である。
【図２４】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内のＷ−ΔDelayテーブルの例を示す図である。
【図２５】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内のΔDelay−ΔDTテーブルの例を示す図である。
【図２６】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内の遅延補正制御回路を構成する遅延補正コード生成回路が生成する遅延補正コードの例を示す表図である。
【図２７】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内のΔDelay−ΔDTテーブル作成部の構成図である。
【図２８】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内のΔDelay−ΔDTテーブル作成部を構成するΔDelay／ΔDTカウンタの構成図である。
【図２９】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内のΔDelay−ΔDTテーブル作成部を構成するΔDelay／ΔDTカウンタ内のΔDelay計測部の動作を説明するための波形図である。
【図３０】本発明の半導体集積回路装置の第１実施形態が備える遅延補正部内のΔDelay−ΔDTテーブル作成部を構成するΔDelay／ΔDTカウンタ内のΔDT計測部の動作を説明するための波形図である。
【図３１】本発明の半導体集積回路装置の第１実施形態の動作を示すフローチャートである。
【図３２】本発明の半導体集積回路装置の第１実施形態で実行されるアップデート工程を示すフローチャートである。
【図３３】本発明の半導体集積回路装置の第１実施形態で実行される遅延補正工程を示すフローチャートである。
【図３４】本発明の半導体集積回路装置の第１実施形態においてクロック信号の遅延補正を実行しない場合の動作を説明するための波形図である。
【図３５】本発明の半導体集積回路装置の第１実施形態においてクロック信号の遅延補正を実行する場合の動作を説明するための波形図である。
【図３６】本発明の半導体集積回路装置の第２実施形態の一部分の概略的構成図である。
【図３７】本発明の半導体集積回路装置の第２実施形態が備える遅延補正部内のΔDelay−ΔDTテーブル作成部の構成図である。
【符号の説明】
【０１９０】
１、２…電源入力部
３…信号入出力部
４…遅延補正部
７、８…ＶＤＥ電源パッド
９、１０…ＶＳＳ電源パッド
１１…ＶＲＥＦ１電源パッド
１２…ＡＭＰ＿ＶＳＳ電源パッド
１３〜１７…信号パッド
１８、１９…ＶＤＥ電源セル
２０、２１…ＶＳＳ電源セル
２２…ＶＲＥＦ１電源セル
２３…ＡＭＰ＿ＶＳＳ電源セル
２４〜２８…Ｉ／Ｏバッファセル
２９〜３３…Ｉ／Ｏバッファ
３４〜３８…出力バッファ
３９〜４３…出力バッファ遅延変動検出用信号生成回路
４４…ＶＤＥ電源線
４５…ＶＳＳ電源線
４６…出力信号線
４７…出力バッファ遅延変動検出用信号線
５１…信号入力端子
５２…ＶＤＥ電源端子
５３…ＶＳＳ電源端子
５４…ＶＲＥＦ１電源端子
５５…ＡＭＰ＿ＶＳＳ電源端子
５６…ＶＲＥＦ１電源線
５７…ＡＭＰ＿ＶＳＳ電源線
５８…ＶＤＥ電源端子
５９…ＶＳＳ電源端子
６０…信号入出力端子
６１〜６３…差動アンプ
６４〜６６…出力バッファ遅延変動検出用信号の出力端子
６９…差動増幅部
７０…電流設定部
７１、７２…ＮＭＯＳトランジスタ
７３、７４…ＰＭＯＳトランジスタ
７５…ＮＭＯＳトランジスタ
７６…ＰＭＯＳトランジスタ
７７…ＮＭＯＳトランジスタ
８０…遅延補正回路
８１…遅延補正制御回路
８２…距離重み係数データベース
８３…Ｗ−ΔDelayテーブル
８４…ΔDelay−ΔDTテーブル
８５…ΔDelay−ΔDTテーブル作成部
８８…信号生成回路
８９…セレクタ
９０…ＦＩＦＯ
９１…遅延補正コードレジスタ
９２…可変遅延ライン
９３〜９６…遅延ライン
９７〜１００…可変遅延バッファ
１０１〜１０８…遅延バッファ
１１１＿１〜１１１＿３、１１２＿１〜１１２＿３…Ｄフリップフロップ
１１６…出力信号遷移パターン解析回路
１１７…重み関数計算回路
１１８…ΔDelay検索回路
１１９…ΔDT検索回路
１２０…遅延補正コード生成回路
１２３…ΔDelay／ΔDTカウンタ部
１２４…セレクタ
１２５…カウント値−実時間変換回路
１２６…ΔDelay−ΔDTテーブル作成回路
１２７〜１３１…ΔDelay／ΔDTカウンタ
１５０…遅延補正部
１５１…ΔDelay−ΔDTテーブル作成部
【図１】
2009081588.tif 000004
【図２】
2009081588.tif 000005
【図３】
2009081588.tif 000006
【図４】
2009081588.tif 000007
【図５】
2009081588.tif 000008
【図６】
2009081588.tif 000009
【図７】
2009081588.tif 000010
【図８】
2009081588.tif 000011
【図９】
2009081588.tif 000012
【図１０】
2009081588.tif 000013
【図１１】
2009081588.tif 000014
【図１２】
2009081588.tif 000015
【図１３】
2009081588.tif 000016
【図１４】
2009081588.tif 000017
【図１５】
2009081588.tif 000018
【図１６】
2009081588.tif 000019
【図１７】
2009081588.tif 000020
【図１８】
2009081588.tif 000021
【図１９】
2009081588.tif 000022
【図２０】
2009081588.tif 000023
【図２１】
2009081588.tif 000024
【図２２】
2009081588.tif 000025
【図２３】
2009081588.tif 000026
【図２４】
2009081588.tif 000027
【図２５】
2009081588.tif 000028
【図２６】
2009081588.tif 000029
【図２７】
2009081588.tif 000030
【図２８】
2009081588.tif 000031
【図２９】
2009081588.tif 000032
【図３０】
2009081588.tif 000033
【図３１】
2009081588.tif 000034
【図３２】
2009081588.tif 000035
【図３３】
2009081588.tif 000036
【図３４】
2009081588.tif 000037
【図３５】
2009081588.tif 000038
【図３６】
2009081588.tif 000039
【図３７】
2009081588.tif 000040