(57)【要約】【課題】  半導体集積回路において、フリップフロップ間の配線遅延が小さい場合、ホールドタイムを確保するために遅延バッファを挿入する必要があった。これによりチップコストや消費電力増大につながっていた。【解決手段】  遅延基準データを出力する遅延基準データ保持手段と、前記遅延基準データ保持手段の出力データを入力とする遅延データ保持手段と、前記遅延基準データ保持手段の出力データと前記遅延データ保持手段との一致を比較するデータ比較手段と、比較すべきタイミングで前記データ比較手段の結果を保持する遅延比較結果保持手段と、前記遅延比較結果保持手段により制御されるシステム制御手段を持つことにより、半導体集積回路に通電後にチップ温度が上昇し、ホールドタイムを満たす条件となった時点で、システムが起動する。これにより、遅延バッファ数を削減することができる。【選択図】  図１
2006203687.tif 000002
【特許請求の範囲】
【請求項１】
遅延基準データを出力する遅延基準データ保持手段と、前記遅延基準データ保持手段の出力データを入力とする遅延データ保持手段と、前記遅延基準データ保持手段とその遅延データ保持手段が基準クロックの同じタイミングでデータを保持してしまうホールドタイムエラーを検出するホールドタイムエラー検出手段と、前記ホールドタイムエラー検出手段による検出結果を保持するエラー検出結果保持手段と、前記エラー検出結果保持手段により制御されるシステム制御手段を持つことを特徴とする半導体集積回路。
【請求項２】
請求項１記載の遅延基準データ保持手段、遅延データ保持手段、ホールドタイムエラー検出手段、エラー検出結果保持手段で構成する遅延検出回路を複数持ち、前記複数の遅延検出回路の各々の検出結果により前記システム制御手段を制御することを特長とする半導体集積回路。
【請求項３】
請求項２記載の半導体集積回路において、制御対象となる回路を取り囲んで配置することを特長とする半導体集積回路。
【請求項４】
請求項２記載の半導体集積回路において、制御対象とする回路を複数に分割し、その各々に請求項１記載の半導体集積回路、或いは請求項３記載の半導体集積回路を持つことを特長とする半導体集積回路。
【請求項５】
請求項１記載の半導体集積回路において、エラー検出結果保持手段から正常動作の保証が得られたことを確認してリセットを解除或いはシステム起動させることを特長とする半導体集積回路。
【請求項６】
請求項１において、前記システム制御手段は、エラー検出状況に応じて外部に取り付けた半導体冷却手段や半導体加熱手段を制御することを特長とする半導体集積回路。
【請求項７】
請求項１において、前記システム制御手段は、エラー検出状況に応じて動作電圧を制御してデータ遅延値の正常値に保つことを特長とする半導体集積回路。
【請求項８】
請求項１記載の半導体集積回路において、起動時から正常動作が求められる回路においては、請求項１記載のシステム制御手段の制御対象とせずに起動時から動作させることにより、半導体温度を上昇させ、その他の回路のデータ遅延値を正常化させることを特長とする半導体集積回路。
【請求項９】
遅延基準データを出力する遅延基準データ保持手段と、前記遅延基準データ保持手段の出力データを入力とする遅延データ保持手段と、前記遅延基準データ保持手段と遅延データ保持手段が基準クロックの次のタイミングでデータを保持できない遅延データ保持手段のセットアップタイムエラーを検出するセットアップタイムエラー検出手段と、前記セットアップタイムエラー検出手段による検出結果を保持するエラー検出結果保持手段と、前記エラー検出結果保持手段により制御されるシステム制御手段を持つことを特徴とする半導体集積回路。
【請求項１０】
請求項９記載の遅延基準データ保持手段、遅延データ保持手段、セットアップタイムエラー検出手段、エラー検出結果保持手段で構成するセットアップタイム検出回路を複数持ち、前記複数のセットアップタイム検出回路の各々の検出結果により前記システム制御手段を制御することを特長とする半導体集積回路。
【請求項１１】
請求項９記載の半導体集積回路において、制御対象となる回路を取り囲んで配置することを特長とする半導体集積回路。
【請求項１２】
請求項１０記載の半導体集積回路において、制御対象とする回路を複数に分割し、その各々に請求項９記載の半導体集積回路、或いは請求項１１記載の半導体集積回路を持つことを特長とする半導体集積回路。
【請求項１３】
請求項９において、前記システム制御手段は、エラー検出状況に応じて外部に取り付けた半導体冷却手段や半導体加熱手段を制御することを特長とする半導体集積回路。
【請求項１４】
請求項９において、前記システム制御手段は、エラー検出状況に応じて動作電圧を制御してデータ遅延値の正常値に保つことを特長とする半導体集積回路。
【請求項１５】
請求項９において、前記システム制御手段は、エラー検出状況に応じて動作中機能の動作クロックの周波数を下げて正常動作範囲内に抑えることを特長とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計及び内部遅延時間によるシステム制御に係る。
【背景技術】
【０００２】
半導体集積回路では、通常、内部にＡＮＤ／ＯＲゲートに代表される組み合わせ回路とフリップフロップに代表される順序回路を内蔵集積している。
【０００３】
近年、一般的に用いられる同期設計では、単一或いは複数の動作クロックを基準として、そのクロックの周期を一動作の単位としている。例えば、順序回路はある動作クロックの立ち上がりエッジである状態を保持し、それらに接続されている組み合わせ回路はこの状態を使って論理演算を行なう。順序回路は、動作クロックの次のエッジにてそれまでの組み合わせ回路の演算結果を保持する。このように、組み合わせ回路は、動作クロックのエッジとエッジの期間（即ち動作クロック周期）内に演算を終える必要がある。従って回路設計時には、前段の順序回路から後段の順序回路までの組み合わせ回路による遅延時間を動作クロック周期内に収まるように設計しておかなければならない。
【０００４】
また、これらの遅延時間は、動作温度、動作電圧などによって変動する。半導体集積回路の動作環境は製品によって様々であるが、例えば周囲温度０〜４０℃（チップ内はそれ以上になりうる）といった範囲で動作保証する必要がある。また、動作電圧についても、要求電圧に対して、マージンや変動を見越して設計する必要がある。
【０００５】
従来の設計では、これらの要求事項を満たすため、設計した回路に対して動作電圧、動作温度のパラメータを振ってシミュレーションすることで、動作保証範囲内の如何なる温度、如何なる電圧でも動作するよう保証している。
【０００６】
この例を図６〜図９を使って説明する。
【０００７】
図６において、２０１、２０３がエッジトリガのフリップフロップ（順序回路）、２０２が組み合わせ回路群、信号線２５１、２５２、２５３、２５４が通常のデータ信号、信号線２５５、２５６、２５７が動作クロック信号である。図７は各信号のタイミングチャートである。本回路においては、フリップフロップ２０１に時刻Ｔ１に保持されているデータは、組み合わせ回路２０２により演算され、次の動作クロックにより時刻Ｔ２にその演算結果がフリップフロップ２０３に保持されるよう設計されている。
【０００８】
理想回路においては、フリップフロップ２０１と２０３のクロック入力端子には、同一タイミングでクロックが供給されている。また、信号線２５２、２５３には配線遅延が、組み合わせ回路２０２には回路遅延が含まれるため、時刻Ｔ１で保持されてフリップフロップ２０１から出力されたデータが、時刻Ｔ１にフリップフロップ２０３の入力に反映されることはあり得ない。しかしながら、実際の半導体回路においては、クロックスキューが発生する。すなわち、信号線２５５から供給するクロック信号が必ずしも信号線２５６と信号線２５７に同一タイミングで供給されない。これは、半導体設計による配線遅延差や経路途中に存在するリピータバッファ（信号衰弱を補うバッファ。図示せず）による遅延差による。通常の半導体集積回路内にフリップフロップが無数にあることを考えると、この遅延差はある程度やむを得ない。このクロックスキューが存在する結果、図８に示すように、時刻Ｔ１において、フリップフロップ２０１はその時刻での保持データを出力しながら、フリップフロップ２０３は時刻Ｔ１に対する信号線２５７からのクロックが供給されていない。その間に組み合わせ回路２０２は演算を終了して結果をフリップフロップ２０３に伝える。フリップフロップ２０３はその結果をＴ１’で保持する結果となる。これは図７で示した本来動作すべきタイミングより早い処理となってしまう誤動作である。本誤動作をホールドエラーという。
【０００９】
このホールドエラーを防ぐため、通常はできるだけクロックスキューを小さくする設計を行なうが、前述の通りゼロにするのは困難なため、多少のスキューがあってもホールドエラーが発生しないようデータ信号の回路に遅延回路を挿入する手法がとられる。すなわち、フリップフロップ２０１、２０３間の遅延が組み合わせ回路２０２とその接続配線遅延だけではクロックスキューを補うに不足する場合、図９に示す通り、遅延回路５０４を挿入する手法にて正常動作に必要な一定の遅延時間（これをホールドタイムという）を確保する。回路によっては組み合わせ回路２０２が存在しない場合もあり、その場合には大きな遅延を確保するために、遅延回路５０４を複数挿入する場合もある。なお、この遅延回路５０４は言うまでもなく論理的は不要なものである。
【００１０】
また、図６において、組み合わせ回路２０２が大きな回路遅延を持っている場合には、先ほどのホールドエラーとは別の問題が発生する。例えば、組み合わせ回路の遅延が動作クロックの周期よりも大きい場合、組み合わせ回路による演算結果が図７における時刻Ｔ２までに出力されず、時刻Ｔ２でフリップフロップ２０３にその結果が保持されない。このような場合をセットアップエラーという。この場合の時刻Ｔ２でフリップフロップ２０３にその結果を保持するための最大遅延時間をセットアップタイムという。
【００１１】
回路設計時には、このようなセットアップエラーが発生しないよう、組み合わせ回路２０２の遅延時間をクロック周期内に収める設計をする必要がある。その際、前述の通り、クロックスキューが存在することを考慮しなければならない。そのため、組み合わせ回路を並列に並べることで回路遅延を小さくしたり、回路に使われるゲートを駆動能力の高いものに置き換えたりすることがある。いずれも半導体集積回路の面積を増大させる方向であり、前述の遅延回路挿入と合わせて、できるだけ避けたいものである。
【００１２】
また、これらのホールドエラーやセットアップエラーを動作保証範囲内の如何なる温度、如何なる電圧でも動作するよう保証する必要がある。一般に配線遅延は温度が高くなると大きくなり、温度が低いと小さくなる傾向がある。従って、ホールドエラーをについては特に温度が低い場合に注意する必要がある。
【００１３】
さらに動作電圧が高いとゲートの駆動能力が上がり、遅延が小さくなる傾向がある。
【００１４】
なお、実際にはフリップフロップ単体にもセットアップタイム、ホールドタイムが要求される。すなわち、データの更新タイミングである動作クロックの立ち上がりエッジのタイミングの前後でデータを固定させておかなければならない。エッジ前の固定期間をセットアップタイム、エッジ後の固定時間をホールドタイムという。従って、先のホールドエラー、セットアップエラーを起こさないようにするためには、これらフリップフロップ単体のセットアップタイム、ホールドタイムも含めて考慮する必要がある。
【００１５】
動作中の遅延を監視して制御する従来の技術して、下記特許文献１のような従来例があった。だが本例では、動作中の遅延を監視して周波数等を制御する手法であり、設計時にセットアップタイム、ホールドタイムの合わせ込みを最小限にする本発明の趣旨とは異なっている。また、特許文献１は、温度上昇における遅延増大をマイナス要因として捉え、それをリカバーする手法であり、積極的に利用する本発明とは課題や手法、解決する課題が異なる。
【特許文献１】特願平１１−４６０１６１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
従来の技術において、前述のホールドエラーが発生しない回路とするため、論理的には不要なバッファを挿入することで回路遅延を与えていた。集積回路におけるバッファのゲートサイズは小さいが、挿入するバッファの数はスキャンチェーン等フリップフロップ同士が直結する箇所を含め、数千、数万個以上となる。その結果、集積回路のチップサイズが増大し、チップコスト上昇につながる。
【００１７】
また、このバッファ挿入については、集積回路設計の配置配線工程が終了し、クロック信号線のスキュー調整後のタイミング設計を実施する際に挿入する必要があるが、その数が膨大なため、開発期間を少なからず増大させる要因にもなっていた。、
元々不要なバッファを挿入することでチップコストアップ、開発期間増大を招いている。また、消費電力の増大にもつながる。従って、これらのバッファ挿入をなくすか、削減することが課題となっていた。
【課題を解決するための手段】
【００１８】
本発明は、集積回路が電力を消費することにより集積回路そのものの温度が上昇することと、配線遅延が温度の高い時に大きくなることに着目してなされたものである。通常、半導体集積回路では、動作温度或いは半導体集積回路の周囲温度が製品として規定されており、その範囲内で動作することが動作保証温度として求めれらる。実際の使用状況では、例えばこの動作保証温度の最下限で通電した場合でも、半導体集積回路の電力消費に伴って半導体集積回路の温度が上昇する。
【００１９】
これらを請求項１記載の遅延基準データを出力する遅延基準データ保持手段と、前記遅延基準データ保持手段の出力データを入力とする遅延データ保持手段と、前記遅延基準データ保持手段の出力データと前記遅延データ保持手段との一致を比較するデータ比較手段と、比較すべきタイミングで前記データ比較手段の結果を保持する遅延比較結果保持手段と、前記遅延比較結果保持手段により制御されるシステム制御手段により、検出、制御する。
【００２０】
これにより、動作保証温度の下限付近におけるホールドタイム確保のための遅延バッファ挿入を削減することができる。
【００２１】
また、この発明においては、ホールドタイムのみならず、セットアップタイムの検出回路を構成することにより、セットアップタイムが不足するような事態に陥った場合の制御を実現することができる。
【発明の効果】
【００２２】
この発明によれば、半導体集積回路における遅延バッファ数を削減でき、集積回路のコスト削減、電力低減と、開発期間短縮を図ることができる。また、信頼性向上も実現できる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施形態を図面を参照して詳しく説明する。なお、図面において同一または相当する部分には同じ参照符号を伏してその説明は繰り返さない。
【００２４】
（第１の実施形態）
本発明の実施の形態として、遅延検出回路とその動作について説明する。
【００２５】
図１に回路構成を示す。１００が遅延検出回路部である。１０１、１０２はフリップフロップである。１０３はロード／ホールド制御付きフリップフロップであり、入力される動作クロックの立ち上がりエッジ時にロード／ホールド制御入力端子が‘Ｈ’レベルの場合に入力の値が取り込まれ、‘Ｌ’レベルの場合には前の状態が保持されるものとする。なお、ロード／ホールド制御付きを含む各フリップフロップの動作に必要なクロックは、信号線１５７からリピータバッファ１２１、１２２、１２３を介して各フリップフロップに供給される。なお、信号線１５７にも配線遅延が存在するため、フリップフロップ１０１、１０２、１０３に入力される直前の信号線を便宜上、信号線１５７−１、１５７−２、１５７−３と区別している。１１０は、システム制御部であり、信号線１５５の入力状態によって信号線１５６を制御するものである。さらに図示していないが、各フリップフロップはリセット機能を有しており、ここでは初期状態は‘Ｌ’であるものとする（原理的には‘Ｈ’でも同様）。
【００２６】
本回路において、フリップフロップ１０１と１０２を接続している信号線１５２−１と信号線１５２−２は論理的には同一信号線であるが、本発明における信号の伝達遅延を説明するために、便宜的に２つにわけている。すなわち、信号線１５２−１はフリップフロップ１０１の出力直後近辺の信号線を表しており、信号線１５２−２はフリップフロップ１０２の入力直前近辺の信号線を表している。ここで、信号線１５２−１から信号線１５２−２までの配線遅延時間は、本回路を含む半導体集積回路チップ内におけるフリップフロップ間の最小遅延を実現しているものとする。
【００２７】
ＮＡＮＤゲート１０４はフリップフロップ１０２の出力である信号線１５３と、フリップフロップ１０１の出力である信号線１５２−３を入力とする。さらに信号線１５２−３をロード／ホールド制御とするフリップフロップ１０３にて、ＮＡＮＤゲート１０４の出力を保持する構成となっている。ここで信号線１５２−３は、信号線１５２−１からの配線遅延量が適切になるよう設計されており、フリップフロップ１０１とフリップフロップ１０３間のホールドタイム及びセットアップタイムを十分満たしているものとする。
【００２８】
次に、本回路の動作を図１、図２を使って説明する。
【００２９】
本回路は、信号線１５７にて配信されている動作クロックにて同期方式にて動作している。信号線１５１には、本回路を内蔵する半導体集積回路チップ（図示せず）通電後、図２に示すように定期的にパルスが入力されている。フリップフロップ１０１にて信号線１５１のパルスを保持し、信号線１５２−１には、図２に示すように信号線１５１の入力に対して信号線１５７―１の立ち上がりエッジ（Ｔ２）にほぼそろった遅延で出力される。
【００３０】
信号線１５２−２には、信号線１５２−１に対して、配線遅延分だけ遅れた信号が伝搬する。このデータをフリップフロップ１０２が、信号線１５７−２にて入力されるクロックの立ち上がりエッジにてロードされることになる。このタイミングを図２のＴ２に示す。信号線１５７−２は信号線１５７の遅延であり、Ｔ２のタイミングにおいて若干遅れている。そのため、信号線１５７−２の立ち上がりエッジ（Ｔ３）にて信号線１５２−２の値がフリップフロップ１０２に保持されることになる。ここで図１の回路を見てわかるように、本来、Ｔ４のタイミングでフリップフロップ１０２にロードされるべきパルスがＴ３でロードされており、動作としては不具合となるタイミング（ホールドエラー）である。つまり、信号線１５２−１と信号線１５３の双方が‘Ｈ’になると、図１の回路構成と１クロック周期のパルス入力ではホールドエラーを意味する。これを図１におけるＮＡＮＤゲート１０４にて検出して保持しておくことにより、ホールドエラーがなくなった時点で、信号線１５５が‘Ｈ’となることになる。
【００３１】
本遅延検出回路を含む半導体集積回路チップへの通電後、時間が経つにつれてチップ温度が上昇することにより配線遅延が増大する。それにより信号線１５２―１から信号線１５２−２への信号伝搬が遅くなる。すると、図２のＴ６で示すようにＴ５で信号線１５２−１から出力されたパルスがＴ６ではロードできず、Ｔ７でロードされることになる。この結果、ＮＡＮＤゲート１０４の出力が‘Ｈ’となり、それがフリップフロップ１０３に保持される。
【００３２】
このようにして、半導体集積回路チップ内のシステムを制御するための遅延検出をすることができる。
【００３３】
（第２の実施形態）
第１の実施形態で説明した遅延検出回路は、半導体集積回路チップ内に１個或いは複数個内蔵される。一例を図３に示す。８０１は半導体集積回路チップを表している。１００が第１の実施形態で説明した遅延検出回路である。遅延検出回路１００とシステム制御部１１０以外の回路においては、動作保証温度の下限温度では動作せず、温度が上昇しないと動作しない設計になっているものとする。半導体集積回路チップ８０１に通電後、遅延検出回路１００が動作を始める。機能８０４、機能８０５、機能８０６は、システム制御部１１０に制御されて停止中である。もし、各機能がこのまま動作を始めたとしても、前述の通り、動作保証温度の下限温度では正常には動作しない。
【００３４】
次に、通電により半導体集積回路チップ内では電力が消費されて、チップ温度が上昇する。これに伴い、遅延検出回路１００が第１の実施形態で説明した通りに動作して、ホールドタイムが満たされ次第、その旨をシステム制御部１１０に通知する。これを受けてシステム制御部１１０は、各機能に対して動作を開始するように制御する。制御の方法としては、リセットを解除する、動作のためのクロックを供給する、各機能のイネーブルスイッチをオンにするなどの方法が考えられる。これらの方法により動作を開始する時点で、チップ温度は動作保証温度内まで上昇しており、各機能は正常に動作する。
【００３５】
このような半導体集積回路チップでは、動作保証温度の下限温度では動作しない設計が可能なため、下限温度でも動作するようにするための過剰な遅延バッファを持たせずに済む。これにより、論理的に不要な回路や電力を削減することができる。
【００３６】
遅延検出回路を用いた別の実施の形態を図４に示す。
【００３７】
１つの半導体集積回路チップ９０１に５つの遅延検出回路１００ａ〜１００ｅが搭載されている。遅延検出回路１００ａ〜１００ｅの各々は第１の実施形態で説明した遅延検出回路１００と同様のものである。システム制御部１１０は、各遅延検出回路１００ａ〜１００ｅの遅延検出結果をまとめ、各機能８０４、８０５、８０６を制御する。ここで、システム制御部１１０はすべての遅延検出回路からホールドタイム確保の確認が取れてから一斉に動作開始制御をしても構わない。また、例えば機能８０４に関しては、その近辺にある遅延検出回路１００ｃ、１００ｅの確認が取れた段階で、他の遅延検出回路の状態に関わらず、動作を開始するようにしても構わない。いずれにしろ、図３に示した例と比べて、制御の精度を向上させることができる。遅延検出回路そのものの回路規模は非常に小さいので、このように複数の遅延検出回路を内蔵することは、前述の通り論理的に不要な回路や電力を削減することができるほか、信頼性を向上させることができる。
【００３８】
ここで、図４では、遅延検出回路を各機能から独立して記載しているが、各機能内に内蔵させることも可能である。また、システム制御部は半導体集積回路チップ９０１に１つしか記載していないが、遅延検出回路の数だけ装備して、各機能ごとに別々に制御するような方法も考えられる。さらに、ここでは遅延検出回路を５つ搭載した例を示したが、設計方針、チップの大きさ、製品の温度保証範囲などで増減が可能であることは言うまでもない。
【００３９】
（第３の実施形態）
第１の実施形態で説明した遅延検出回路は、ホールドタイムが確保できた時点でその旨を出力しているが、逆に考えると、ホールドタイムが確保できていない状態も検出することが可能である。
【００４０】
本発明においては、ホールドタイムを確保するためには、チップ温度を上昇させて配線遅延を増大させる必要がある。本回路を含む半導体集積回路チップへの通電直後から遅延検出回路にてホールドタイムが確保されるまでの間、外部に取り付けられた冷却ファンを停止しておく、ヒーター等で温めるなどの施策により、チップ温度上昇を促してホールドタイム確保までの時間を短縮することができる。
【００４１】
半導体集積回路チップのうち例えばシステムＬＳＩでは、内部にマイコン機能を持つ。システムＬＳＩの動作では、通電後、まず内蔵マイコンが起動及び初期化を行ない、次にこの内蔵マイコンの制御によって他の機能が動作を始めることが多い。
【００４２】
このような特長と本発明を組み合わせて、最適なシステムＬＳＩを実現することが可能である。すなわち、システムＬＳＩの各機能のうち、マイコン機能とその周辺機能のみ、動作保証温度内で十分にホールドタイムを確保した設計をしておく。他の機能については、第２の実施形態で説明した通り、動作保証温度の下限温度では動作しないように設計して、過剰なバッファを持たないようにする。システムＬＳＩ起動時にはマイコン機能のみが動作しており、他の機能は正常に動作しなくても問題ない。マイコンの初期化中のチップ温度が上昇して他機能におけるホールドタイムが確保されるようになる。マイコンは遅延検出回路を確認して、ホールドタイムが確保されていることを確認ののち、他機能を起動させる。
【００４３】
これにより、実質的にはホールドタイム確保のための温度上昇の時間ロスをなくすることができる。
【００４４】
（第４の実施形態）
遅延検出回路の別の形態としてセットアップタイム検出回路の一例を図５に示す。
【００４５】
図５に示したセットアップタイム検出回路１０００において、１００４はＥｘｃｌｕｓｉｖｅ ＯＲゲートである。１０３１は大きな遅延を持つ組み合わせ回路である。１０３２はフリップフロップである。その他の構成は図１と同様なので説明を省略する。
【００４６】
次にこのセットアップタイム検出回路１０００の動作について、図１の回路と異なる部分を中心に説明する。
【００４７】
フリップフロップ１０１が保持しているデータは信号線１５２−１に出力されている。このデータは組み合わせ回路１０３１を介してフリップフロップ１０２に入力される。本回路１０００は信号線１５７から入力されるクロックで同期動作しており、フリップフロップ１０１から出力されたデータは、次のクロックエッジでフリップフロップ１０２にロードされるのが正常な動作である。また、フリップフロップ１０３２にもフリップフロップ１０１のデータが入力されており、フリップフロップ１０２と１０３２は、同じデータを保持しているはずである。
【００４８】
しかしながら、本回路では組み合わせ回路１０３１のゲート遅延と各配線の配線遅延を合わせた遅延時間によっては、次のクロックまでにフリップフロップ１０２に到達しないセットアップエラーが発生することが考えられる。例えば、本回路を含む半導体集積回路チップ内の温度が上昇して配線遅延が増大した場合などである。その場合、図５の回路であきらかなように、フリップフロップ１０２の出力とフリップフロップ１０３２の出力が異なることになる。これをＥｘｃｌｕｓｉｖｅ ＯＲゲート１００４で検出することにより、この異常状態を検出することができる。
【００４９】
本状態を検出すれば、図３で説明した場合と同様、システム制御部１１０により制御する。各機能８０４〜８０６において、前述のセットアップタイム検出回路１０００よりもマージンを持つ設計を行なっておけば、セットアップタイム検出回路１０００にてセットアップエラーを検出しても正常に動作しているはずである。だが温度上昇によりセットアップタイムのマージンがなくなってきているので、動作電圧を制御して、遅延時間を短縮することによりセットアップエラーを回避する、動作周波数を下げて余裕時間を取ることによりセットアップエラーを回避する、外部冷却装置を稼働させて温度を下げることによりセットアップエラーを回避する、実際に誤動作する前にリカバー処理を行なう、などの手だてを事前に行なうことができる。
【００５０】
このように、本セットアップタイム検出回路１０００を用いることにより、本回路を含む半導体集積回路チップ内の信頼性を高め、万が一、動作保証温度を超えた環境で使用した場合でも最低限のリカバー処理を行なうことが可能となる。
【００５１】
なお、複数の遅延検出回路１００ａ〜１００ｅを使った例（図４）と同様、複数のセットアップタイム検出回路を用いることもできる。
【産業上の利用可能性】
【００５２】
本発明は、半導体集積回路におけるホールドタイム及びセットアップタイム検出回路を有し、同期設計を基本としたシステムＬＳＩ等への搭載に有用である。
【図面の簡単な説明】
【００５３】
【図１】本発明におけるホールドタイム検出回路の一例である。
【図２】図１の回路におけるタイミングチャートの一例である。
【図３】遅延検出回路を用いた半導体集積回路チップの一例である。
【図４】遅延検出回路を用いた半導体集積回路チップの一例である。
【図５】本発明におけるセットアップタイム検出回路の一例である。
【図６】本発明におけるホールドタイム、セットアップタイムを説明するための回路例である。
【図７】図６の回路におけるタイミングチャートの一例である。
【図８】図６の回路におけるタイミングチャートの一例である。
【図９】従来の技術における遅延調整バッファ挿入回路例である。
【符号の説明】
【００５４】
１００，１００ａ，１００ｂ，１００ｃ，１００ｄ，１００ｅ  遅延検出回路
１０１，１０２，２０１，２０３，１０３２  フリップフロップ（データ保持素子）
１０３  ロード／ホールド制御付きフリップフロップ（データ保持素子）
１０４  積論理（アンドゲート）
１１０  システム制御部
１２１，１２２，１２３  リピータバッファ
２０２  組み合わせ回路
５０４  遅延バッファ
８０１，９０１  半導体集積回路チップ
８０４，８０５，８０６  機能回路
１００４  排他的論理和（Ｅｘｃｌｕｓｉｖｅ ＯＲゲート）
１０３１  組み合わせ回路
【図１】
2006203687.tif 000003
【図２】
2006203687.tif 000004
【図３】
2006203687.tif 000005
【図４】
2006203687.tif 000006
【図５】
2006203687.tif 000007
【図６】
2006203687.tif 000008
【図７】
2006203687.tif 000009
【図８】
2006203687.tif 000010
【図９】
2006203687.tif 000011