(57)【要約】  半導体集積回路ごとに異なるクリティカルパス遅延回路を設ける必要があるという問題点を解決する遅延モニタ回路を提供することである。  基本遅延リング部２は、入力信号Ｄａｔａを発振して、半導体集積回路の設計情報に応じた周波数特性の入力信号Ｄａｔａを生成する。カウンタ部３は、基本遅延リング部２の出力信号をカウントし、そのカウント値が基準値より大きいか否かを判定する。カウンタ部３は、カウント値が基準値より大きいと、内部信号を出力する。評価部は、カウンタ部３から出力された内部信号に基づいて、半導体集積回路の遅延時間を評価する。
2009084396.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路の遅延時間を評価する遅延モニタ回路であって、
前記半導体集積回路の設計情報に応じて決定された遅延特性で入力信号を繰り返し遅延し、該遅延された入力信号を、遅延が繰り返されるたびに出力する基本遅延手段と、
前記基本遅延手段から出力された入力信号をカウントし、該カウント値が予め定められた基準値より大きいか否かを判定し、前記カウント値が前記基準値より大きいと、内部信号を出力するカウンタ手段と、
前記カウンタ手段から出力された内部信号に基づいて、前記半導体集積回路の遅延時間を評価する評価手段と、を含む遅延モニタ回路。
【請求項２】
請求の範囲第１項に記載の遅延モニタ回路において、
前記基本遅延手段は、複数あり、前記複数の基本遅延手段のそれぞれでは、前記遅延特性が互いに異なる、遅延モニタ回路。
【請求項３】
請求の範囲第２項に記載の遅延モニタ回路において、
前記カウンタ手段は、複数あり、前記複数のカウンタ手段のそれぞれは、前記複数の基本遅延手段のいずれかと一対一で対応付けられ、該対応付けられた基本遅延手段から出力された入力信号をカウントし、
前記複数のカウンタ手段のそれぞれが出力した内部信号のうち、最後に出力された内部信号を出力する最大遅延検出手段を含み、
前記評価手段は、前記最大遅延検出手段から出力された内部信号に基づいて、前記半導体集積回路の遅延時間を評価する、遅延モニタ回路。
【請求項４】
請求の範囲第３項に記載の遅延モニタ回路において、
前記最大遅延検出手段は、ＡＮＤゲート回路である、遅延モニタ回路。
【請求項５】
請求の範囲第２項に記載の遅延モニタ回路において、
前記複数の基本遅延手段のそれぞれから出力された入力信号のうち、最後に出力された入力信号を出力する最大遅延検出手段を含み、
前記カウンタ手段は、前記最大遅延検出手段から出力された入力信号をカウントする、遅延モニタ回路。
【請求項６】
請求の範囲第５項に記載の遅延モニタ回路において、
前記最大遅延検出手段は、
前記複数の基本遅延手段のそれぞれから出力された入力信号の位相を比較する位相比較手段と、
前記位相比較手段の比較結果に基づいて、前記最後に出力された入力信号を出力する選択手段と、を含む、遅延モニタ回路。
【請求項７】
請求の範囲第５項または請求の範囲第６項に記載の遅延モニタ回路において、
前記最大遅延検出手段は、
前記入力信号を最後に出力した基本遅延手段と異なる基本遅延手段の動作を停止するゲーティング手段を含む、遅延モニタ回路。
【請求項８】
請求の範囲第２項に記載の遅延モニタ回路において、
前記カウンタ手段は、前記複数の基本遅延手段のそれぞれから出力された入力信号のそれぞれを所定時間ずつ順番にカウントし、該カウント値が前記基準値より大きくなるたびに内部信号を出力し、
前記評価部は、前記カウンタ手段から出力された内部信号ごとに、該内部信号に基づいて、前記半導体集積回路の遅延時間を評価し、各評価結果に基づいて、前記半導体集積回路の真の遅延時間を評価する、遅延モニタ回路。
【請求項９】
請求の範囲第２項ないし請求の範囲第８項のいずれか１項に記載の遅延モニタ回路において、
前記複数の基本遅延手段のそれぞれは、所定の動作環境で互いに遅延時間が等しい、遅延モニタ回路。
【請求項１０】
請求の範囲第１項ないし請求の範囲第９項のいずれか１項に記載の遅延モニタ回路において、
前記半導体集積回路のクロック信号を分周して分周クロック信号を生成する分周手段を含み、
前記評価手段は、前記内部信号の前記入力信号に対する遅延時間と、前記分周クロック信号の周期とを比較して、前記半導体集積回路の遅延時間を評価する、遅延モニタ回路。
【請求項１１】
請求の範囲第１０項に記載の遅延モニタ回路において、
前記評価手段は、前記分周手段の分周比に応じた遅延時間だけ前記内部信号を遅延するレジスタ遅延手段と、
前記レジスタ遅延手段にて遅延された内部信号の前記入力信号に対する遅延時間と、前記分周クロック信号の周期とを比較して、前記半導体集積回路の遅延時間を評価する判断手段と、を含む、遅延モニタ回路。
【請求項１２】
請求の範囲第１項ないし請求の範囲第１１項のいずれか１項に記載の遅延モニタ回路において、
前記基本遅延手段は、前記設計情報に応じた複数の遅延回路をリング状に接続したリングオシレータを含み、
前記リングオシレータは、前記リング状の遅延回路で繰り返し遅延する、遅延モニタ回路。
【請求項１３】
請求の範囲第１２項に記載の遅延モニタ回路において、
前記リングオシレータは、前記半導体集積回路の設計で使用されるライブラリ中のインバータゲート回路のうち、トランジスタの縦積み段数が最小のインバータゲート回路を前記遅延回路として含む、遅延モニタ回路。
【請求項１４】
請求の範囲第１２項に記載の遅延モニタ回路において、
前記リングオシレータは、前記半導体集積回路の設計で使用されるライブラリ中のＮＡＮＤゲート回路のうち、ｎＭＯＳトランジスタの縦積み段数が最大のＮＡＮＤゲート回路を前記遅延回路として含む、遅延モニタ回路。
【請求項１５】
請求の範囲第１２項に記載の遅延モニタ回路において、
前記リングオシレータは、前記半導体集積回路の設計で使用されるライブラリ中のＮＯＲゲート回路のうち、ｐＭＯＳトランジスタの縦積み段数が最大のＮＯＲゲート回路を前記遅延回路として含む、遅延モニタ回路。
【請求項１６】
請求の範囲第１２項に記載の遅延モニタ回路において、
前記リングオシレータは、前記半導体集積回路の設計で使用されるライブラリ中の複合ゲート回路のうち、ｎＭＯＳトランジスタの縦積み段数が最大、かつ、ｐＭＯＳトランジスタの縦積み段数が最大の複合ゲート回路を前記遅延回路として含む、遅延モニタ回路。
【請求項１７】
請求の範囲第１２項に記載の遅延モニタ回路において、
リングオシレータは、前記半導体集積回路の設計で使用されるライブラリ中のリピータ回路を前記遅延回路として含み、前記リピータ回路は、前記半導体集積回路の設計基準で許容される最大の長さの配線を負荷に有する、遅延モニタ回路。
【請求項１８】
請求の範囲第１２項に記載の遅延モニタ回路において、
前記リングオシレータは、前記半導体集積回路の設計で使用されるライブラリ中の論理ゲート回路を遅延回路として含み、前記論理ゲート回路は、前記半導体集積回路の設計基準で許容される最大の容量負荷を有する、遅延モニタ回路。
【請求項１９】
請求の範囲第１２項ないし請求の範囲第１８項のいずれか１項に記載の遅延モニタ回路において、
前記基本遅延手段の段数は、前記内部信号の前記入力信号に対する遅延時間が、前記半導体集積回路の設計情報に応じて、前記半導体集積回路の設計基準で許容される許容範囲内の所定条件で所望の遅延時間となるような値に設定される、遅延モニタ回路。
【請求項２０】
請求の範囲第１９項に記載の遅延モニタ回路において、
前記基準値は、前記内部信号の前記入力信号に対する遅延時間が、前記半導体集積回路の設計情報に応じて、前記所定条件で前記所望の遅延時間となるような値に設定される、遅延モニタ回路。
【請求項２１】
請求の範囲第１９項に記載の遅延モニタ回路において、
前記基準値は、前記内部信号の前記入力信号に対する遅延時間が、特定の動作環境で行われた動作テストのテスト結果に応じて、前記所望の遅延時間になるような値に設定される、遅延モニタ回路。
【請求項２２】
請求の範囲第１９項ないし請求の範囲２１のいずれか１項に記載の遅延モニタ回路において、
前記基準値には、前記内部信号の前記入力信号に対する遅延時間が所定の追加遅延時間分増加するような値が加えられた、遅延モニタ回路。
【請求項２３】
請求の範囲第１１項ないし請求の範囲第２２項のいずれか１項に記載の遅延モニタ回路において、
前記リングオシレータは、奇数段のリングオシレータである遅延モニタ回路。
【請求項２４】
請求の範囲第１１項ないし請求の範囲第２２項のいずれか１項に記載の遅延モニタ回路において、
前記リングオシレータは、偶数段のリングオシレータである遅延モニタ回路。
【請求項２５】
半導体集積回路の遅延時間を評価する遅延モニタ方法であって、
前記半導体集積回路の設計情報に応じて決定された遅延特性で入力信号を繰り返し遅延し、該遅延された入力信号を、遅延が繰り返されるたびに出力し、
前記出力された入力信号をカウントし、前記カウント値が予め定められた基準値より大きいか否かを判定し、前記カウント値が前記基準値より大きいと、内部信号を出力し、
前記出力された内部信号に基づいて、前記半導体集積回路の遅延時間を評価する、遅延モニタ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の遅延時間を評価する遅延モニタ回路に関し、特には、電源電圧やしきい値電圧などを制御するために半導体集積回路の遅延時間を評価する遅延モニタ回路及び遅延モニタ方法に関する。
【背景技術】
【０００２】
近年、低消費電力システムＬＳＩ技術が発展している。低消費電力システムＬＳＩ技術では、クロック周波数に応じて電源電圧やトランジスタなどのしきい値電圧を制御することで低消費電力化を図る電源制御方式が採用されている。【０００３】
このような電源制御方式では、半導体集積回路の遅延時間が評価され、その遅延時間が所定の範囲内になるように電源電圧やしきい値電圧が制御される。【０００４】
図１は、半導体集積回路の遅延時間を評価する遅延モニタ回路の構成を示したブロック図である。【０００５】
この遅延モニタ回路は、レジスタ部１０１および１０５の間に、クリティカルパス遅延部１０２と、遅延マージン部１０３および１０４を有する。【０００６】
クリティカルパス遅延部１０２は、レジスタ部１０１に取り込まれた入力信号Ｄａｔａを半導体集積回路のクリティカルパス遅延時間だけ遅延して出力する。遅延マージン部１０３は、クリティカルパス遅延部１０２から出力された信号を第１追加遅延時間だけ遅延して出力する。遅延マージン部１０４は、遅延マージン部１０３から出力された信号を第２追加遅延時間だけ遅延して出力する。【０００７】
判定部１０６は、クリティカルパス遅延部１０２、遅延マージン部１０３および１０４のそれぞれが出力した信号に基づいて、半導体集積回路の遅延時間が、クリティカルパス遅延時間と第１遅延時間の和より大きく、かつ、クリティカルパス遅延時間と第２遅延時間との和より小さい範囲に含まれるか否かを判定する。【０００８】
また、このような遅延モニタ回路の応用例は、例えば、非特許文献１および非特許文献２に記載されている。【０００９】
非特許文献１に記載の遅延モニタ回路は、複数のクリティカルパス遅延部を含む。クリティカルパスは、半導体集積回路の動作環境に応じて変化するため、クリティカルパス遅延回路が一つだけでは、クリティカルパス遅延時間を正確に評価することが困難である。非特許文献１に記載の遅延モニタ回路は、複数のクリティカルパス遅延部を含むため、クリティカルパス遅延時間をより正解に評価することが可能になる。【００１０】
非特許文献２に記載の遅延モニタ回路は、クリティカルパス遅延回路を設ける代わりに、複数のゲート要素や配線要素を有する。この遅延モニタ回路は、そのゲート要素および配線要素を用いて、クリティカルパス遅延部を生成する。
【非特許文献１】J.  Friedrich,  et  al.,  “Design  of  the  Power6TM  Microprocessor,”  ISSCC2007,  pp.96  ‐  97,  2007.
【非特許文献２】M.  Nakai,  S.  Akui,  K.  Seno,  T.  Meguro,  T.  Seki,  T.  Kondo,  A.  Hashiguchi,  H.  Kawahara,  K.  Kumano,  and  M.  Shimura,  "Dynamic  voltage  and  frequency  management  for  a  low-power  embedded  microprocessor,"  IEEE  Journal  of  Solid-State  Circuits,  vol.  40,  pp.  28  ‐  35,  January  2005.
【発明の開示】
【発明が解決しようとする課題】
【００１１】
非特許文献１および非特許文献２に記載の遅延モニタ回路では、クリティカルパス遅延時間を評価するためには、半導体集積回路ごとにクリティカルパスが特定され、そのクリティカルパスと同じ遅延特性の有するクリティカルパス遅延回路が設けられなくてはならない。このため、半導体集積回路ごとに異なるクリティカルパス遅延回路が設けられる必要があるという問題点がある。【００１２】
例えば、非特許文献１に記載の遅延モニタ回路では、半導体集積回路ごとにクリティカルパスを特定し、そのクリティカルパスと同じ遅延特性を有するクリティカルパス遅延回路をその遅延回路に組み込む必要がある。【００１３】
また、非特許文献２に記載の遅延モニタ回路では、半導体集積回路ごとにクリティカルパスを特定し、そのクリティカルパスと同じ遅延特性を有する回路構成を決定し、その回路を生成する必要がある。【００１４】
そこで、本発明の目的は、上記の課題である、半導体集積回路ごとに異なるクリティカルパス遅延回路を設ける必要があるという問題点を解決する遅延モニタ回路および遅延モニタ方法を提供することである。
【課題を解決するための手段】
【００１５】
本発明による遅延モニタ回路は、半導体集積回路の遅延時間を評価する遅延モニタ回路であって、前記半導体集積回路の設計情報に応じて決定された遅延特性で入力信号Ｄａｔａを繰り返し遅延し、該遅延された入力信号を、遅延が繰り返されるたびに出力する基本遅延手段と、前記基本遅延手段から出力された入力信号をカウントし、該カウント値が基準値より大きいか否かを判定し、前記カウント値が前記基準値より大きいと、内部信号を出力するカウンタ手段と、前記カウンタ手段から出力された内部信号に基づいて、前記半導体集積回路の遅延時間を評価する評価手段と、を含む。【００１６】
本発明による遅延モニタ方法は、半導体集積回路の遅延時間を評価する遅延モニタ方法であって、前記半導体集積回路の設計情報に応じて決定された遅延特性で入力信号Ｄａｔａを繰り返し遅延し、該遅延された入力信号を、遅延が繰り返されるたびに出力し、前記出力された入力信号をカウントし、前記カウント値が基準値より大きいか否かを判定し、前記カウント値が前記基準値より大きいと、内部信号を出力し、前記出力された内部信号に基づいて、前記半導体集積回路の遅延時間を評価する。
【発明の効果】
【００１７】
本発明によれば、半導体集積回路ごとに異なるクリティカルパス遅延回路を設けなくてもよくなる。
【図面の簡単な説明】
【００１８】
【図１】関連する技術の遅延モニタ回路の構成を示したブロック図である。
【図２】本発明の第１の実施形態の遅延モニタ回路の構成を示したブロック図である。
【図３】基本遅延リング部の構成例を示した回路図である。
【図４】カウンタ部の構成例を示した回路図である。
【図５】遅延モニタ回路の動作を説明するためのタイミングチャートである。
【図６】本発明の第２の実施形態の遅延モニタ回路の構成を示したブロック図である。
【図７】本発明の第３の実施形態の遅延モニタ回路の構成を示したブロック図である。
【図８】基本遅延リング部の他の構成例を示した回路図である。
【図９】基本遅延リング部の動作例を説明するためのタイミングチャートである。
【図１０】本発明の第４の実施形態の遅延モニタ回路の構成を示したブロック図である。
【図１１】最大遅延検出部の構成例を示したブロック図である。
【図１２】本発明の第５の実施形態の遅延モニタ回路の構成を示したブロック図である。
【図１３】本発明の第６の実施形態の遅延モニタ回路の構成を示したブロック図である。
【図１４】本発明の第７の実施形態の遅延モニタ回路の構成を示したブロック図である。
【図１５】セレクタ部の構成例を示した回路図である。
【図１６】カウンタ部の他の構成例を示した回路図である。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施形態について図面を参照して説明する。なお、各図面において、同じ機能を有するものには同じ符号を付け、その説明を省略する場合がある。【００２０】
図２は、本発明の第１の実施形態の遅延モニタ回路の構成を示したブロック図である。図２において、遅延モニタ回路は、レジスタ部１と、基本遅延リング部２と、カウンタ部３と、遅延マージン部４ａおよび４ｂと、レジスタ部５と、判定部６と、レジスタ部７とを含む。ここで、遅延マージン部４ａおよび４ｂと、レジスタ部５と、判定部６と、レジスタ部７とは、評価部を構成する。また、レジスタ部５と判定部６とは、判断部を構成する。【００２１】
レジスタ部１は、入力信号Ｄａｔａを半導体集積回路のクロック信号ＣＬＫに同期して取り込み、その取り込んだ入力信号Ｄａｔａを基本遅延リング部２およびレジスタ部５に入力する。入力信号Ｄａｔａは、例えば、クロック信号ＣＬＫの１周期分の幅だけＨｉｇｈ（ハイ）のパルスである。なお、以下では、各信号は、Ｈｉｇｈの場合、１であり、Ｌｏｗ（ロウ）の場合、０であるとする。【００２２】
基本遅延リング部２は、基本遅延手段の一例である。基本遅延リング部２は、入力信号Ｄａｔａを、半導体集積回路の設計情報に応じて決定された遅延特性で入力信号Ｄａｔａを繰り返し遅延し、その遅延された入力信号Ｄａｔａを、遅延が繰り返されるたびに出力する。【００２３】
設計情報は、半導体集積回路の設計に使用されるライブラリ、および、半導体集積回路や各ゲートの配線長および容量負荷の許容範囲などを示す設計基準などである。また、基本遅延リング部２の遅延特性は、クリティカルパス遅延時間を反映するように決定される。【００２４】
具体的には、基本遅延リング部２は、半導体集積回路の設計情報に応じた複数の遅延回路をリング状に接続したリングオシレータを含む。リングオシレータは、入力信号Ｄａｔａを、そのリング状の遅延回路で繰り返し遅延し、発振信号を得る。【００２５】
ここで、遅延回路が、クリティカルパスの遅延を反映するように、設計情報に応じて決定されることで、基本遅延リング部２の遅延特性が、クリティカルパスの遅延特性を反映するように決定される。【００２６】
クリティカルパスの遅延特性を反映する遅延回路としては、例えば、ライブラリ中のインバータゲート回路のうちトランジスタの縦積み段数が最小のインバータゲート回路、ライブラリ中のＮＡＮＤゲート回路のうちｎＭＯＳトランジスタの縦積み段数が最大のＮＡＮＤゲート回路、ライブラリ中のＮＯＲゲート回路のうちｐＭＯＳトランジスタの縦積み段数が最大のＮＯＲゲート回路などがある。また、その遅延回路としては、ライブラリ内の複合ゲート回路のうち、ｎＭＯＳトランジスタの縦積み段数が最大、かつ、ｐＭＯＳトランジスタの縦積み段数が最大の複合ゲート回路でもよい。また、その遅延回路としては、ライブラリ中のリピータ回路において、設計基準で許容される最大の長さの配線を負荷に有する回路や、ライブラリ中の論理ゲート回路において、設計基準で許容される最大の容量負荷を有する回路などが用いられてもよい。【００２７】
また、本実施形態では、リングオシレータは、奇数段のリングオシレータであるとする。なお、奇数段のリングオシレータとは、奇数個の遅延回路をリング状に接続したリングオシレータである。【００２８】
図３は、基本遅延リング部２の構成例を示した回路図である。図３において、基本遅延リング部２は、偶数個の遅延ゲート回路１１と、ＮＡＮＤゲート回路１２とを有する奇数段のリングオシレータと、インバータゲート回路１３とを含む。ＮＡＮＤゲート回路１２は、リングオシレータの一段目である。遅延ゲート回路１１は、本実施形態では、インバータゲート回路とする。また、遅延ゲート回路１１およびＮＡＮＤゲート回路１２は、遅延回路の一例である。【００２９】
図２に戻る。カウンタ部３は、基本遅延リング部２から出力された入力信号Ｄａｔａをカウントする。例えば、カウンタ部３は、入力信号Ｄａｔａの立ち上がりエッジの数をカウントする。【００３０】
また、カウンタ部３は、そのカウント値が予め定められた基準値より大きいか否かを判定する。カウンタ部３は、カウント値が基準値より大きいと、内部信号ｔＤ０を出力する。【００３１】
図４は、カウンタ部３の構成例を示した回路図である。図４において、カウンタ部３は、カウンタ２１と、カウント値設定部２２と、比較器２３と、ＳＲラッチ２４とを含む。【００３２】
カウンタ２１は、基本遅延リング部２から出力された入力信号Ｄａｔａをカウントし、そのカウント値を出力する。【００３３】
カウント値設定部２２は、基準値を保持し、その基準値を出力する。【００３４】
比較器２３は、カウンタ２１から出力されたカウント値と、カウント値設定部２２から出力された基準値とを比較する。比較器２３は、カウント値が基準値より大きくなると、入力信号Ｄａｔａを、内部信号ｔＤ０としてＳＲラッチ２４を介して出力する。【００３５】
ここで、リングオシレータの段数および基準値は、内部信号ｔＤ０の入力信号Ｄａｔａに対する遅延時間を決定する。この遅延時間は、半導体集積回路の設計情報に応じて、半導体集積回路の設定基準で許容される許容範囲内の所定条件で、所望の遅延時間になるような値に設定される。【００３６】
所定条件は、例えば、配線の太さが許容範囲内で最も細く、かつ、半導体集積回路の温度が許容範囲内で最も高い条件や、ライブラリ中のトランジスタのしきい値電圧が許容範囲内で最も大きいまたは中程度である条件などである。【００３７】
所望の遅延時間は、半導体集積回路のクロック信号ＣＬＫの周期である。しかしながら、内部信号ｔＤ０の入力信号Ｄａｔａに対する遅延時間が、半導体集積回路の設計情報に応じてクロック信号ＣＬＫの周期に設定されても、実際の半導体集積回路のクロック信号ＣＬＫの周期とずれる可能性がある。このため、内部信号ｔＤ０の入力信号Ｄａｔａに対する遅延時間は、特定の動作環境で行われた遅延モニタ回路の動作テストのテスト結果に基づいて、所望の遅延時間になるような値に設定されてもよい。【００３８】
特定の動作環境は、例えば、温度および電源電圧が以下の値になるような動作環境である。【００３９】
例えば、温度は、クリティカルパス遅延時間が最長になる温度である。また、電源電圧は、設計基準で許容される電源電圧内であり、かつ、半導体集積回路が最も高い周波数で動作するときの電源電圧である。【００４０】
また、温度は室温である。また、電源電圧は、設計基準で許容される電源電圧内であり、かつ、クリティカルパス遅延時間が最長になる温度において半導体集積回路が動作する最も高い周波数に相当する室温での周波数で動作する電源電圧である。【００４１】
図２に戻る。遅延マージン部４ａおよび４ｂと、レジスタ部５と、判定部６と、レジスタ部７とを含む評価部は、カウンタ部３から出力された内部信号ｔＤ０に基づいて、半導体集積回路の遅延時間を評価する。具体的には、評価部を構成する各部が以下の処理を行う。【００４２】
遅延マージン部４ａは、カウンタ部３から出力された内部信号ｔＤ０を第１遅延時間だけ遅延して内部信号ｔＤ１を生成する。また、遅延マージン部４ｂは、遅延マージン部４ａにて生成された内部信号ｔＤ１を第２遅延時間だけ遅延して内部信号ｔＤ２を生成する。【００４３】
クリティカルパス遅延時間は、デバイスのばらつきに応じて変化する。第１遅延時間は、このデバイスのばらつきを補償するためのマージンに相当する。また、第２遅延時間は、回路速度制御における行き過ぎや制御遅れなどを補償するためのマージンに相当する。【００４４】
レジスタ部５と判定部６とを含む判断部は、遅延マージン部４ａおよび４ｂにて遅延された内部信号ｔＤ１およびｔＤ２の入力信号Ｄａｔａに対する遅延時間と、クロック信号ＣＬＫの周期とを比較して、半導体集積回路の遅延時間を評価する。【００４５】
具体的には、先ず、レジスタ部５は、レジスタ部１から出力された入力信号Ｄａｔａと、遅延マージン部４ａおよび４ｂのそれぞれにて生成された内部信号ｔＤ１およびｔＤ２とのそれぞれを、クロック信号ＣＬＫに同期して取り込む。【００４６】
判定部６は、レジスタ部５に取り込まれた信号に基づいて、半導体集積回路の遅延時間を評価する。【００４７】
具体的には、判定部６は、半導体集積回路の遅延時間が所定の範囲内の値か、その遅延時間が所定の範囲より大きい値か、その遅延時間が所定の範囲より小さい値かを評価する。【００４８】
より具体的には、判定部６は、レジスタ部５に取り込まれた内部信号ｔＤ１およびｔＤ２が共に０の場合、半導体集積回路の遅延時間が所定の範囲より大きい値であると評価する。なお、この場合、クロック周期は、入力信号Ｄａｔａに対する内部信号ｔＤ１の遅延時間より小さい。【００４９】
また、判定部６は、レジスタ部５に取り込まれた内部信号ｔＤ１が１であり、かつ、レジスタ部５に取り込まれた内部信号ｔＤ２が０の場合、半導体集積回路の遅延時間が所定の範囲内の値であると評価する。なお、この場合、クロック周期は、入力信号Ｄａｔａに対する内部信号ｔＤ１の遅延時間より大きく、かつ、入力信号Ｄａｔａに対する内部信号ｔＤ２の遅延時間より小さい。【００５０】
さらに、判定部６は、レジスタ部５に取り込まれた内部信号ｔＤ１およびｔＤ２が共に１の場合、半導体集積回路の遅延時間が所定の範囲より小さい値であると評価する。なお、この場合、クロック周期は、入力信号Ｄａｔａに対する内部信号ｔＤ２の遅延時間より大きい。【００５１】
レジスタ部７は、判定部６の評価結果を、評価クロック信号ＣＬＫ０と同期して取り込み、その取り込んだ評価結果を評価出力信号として出力する。【００５２】
次に動作を説明する。【００５３】
図５は、本実施形態の遅延モニタ回路の動作を説明するためのタイミングチャートである。図５では、クロック信号ＣＬＫ、入力信号Ｄａｔａ、内部信号ｔＤ１およびｔＤ２、評価結果Ｕｐ０およびＤｏｗｎ０、評価クロック信号ＣＬＫ０、評価出力信号ＵｐおよびＤｏｗｎの波形変化を示す。【００５４】
レジスタ部１は、入力信号Ｄａｔａをクロック信号ＣＬＫに同期して取り込み、取り込んだ入力信号Ｄａｔａを、基本遅延リング部２およびレジスタ部５に出力する。【００５５】
基本遅延リング部２は、レジスタ部１から出力された入力信号Ｄａｔａを受け付ける。基本遅延リング部２は、その入力信号Ｄａｔａを発振することで、その入力信号Ｄａｔｅを基本遅延時間ごとにカウンタ部３のカウンタ２１に出力する。【００５６】
カウンタ２１は、基本遅延リング部２から出力された入力信号Ｄａｔａをカウントし、そのカウント値を比較器２３に出力する。【００５７】
比較器２３は、カウンタ２１からカウント値を受け付け、カウント値設定部２２から基準値を受け付ける。比較器２３は、そのカウント値および基準値を比較し、カウント値が基準値より大きくなると、入力信号Ｄａｔａを、内部信号ｔＤ０としてＳＲラッチ２４を介して遅延マージン部４ａに出力する。【００５８】
遅延マージン部４ａは、カウンタ部３から出力された内部信号ｔＤ０を受け付け、その内部信号ｔＤ０を第１遅延時間だけ遅延して内部信号ｔＤ１を生成する。そして、遅延マージン部４ａは、内部信号ｔＤ１を遅延マージン部４ｂおよびレジスタ部５に出力する。【００５９】
遅延マージン部４ｂは、遅延マージン部４ａから出力された内部信号ｔＤ１を受け付け、その内部信号ｔＤ１を第２遅延時間だけ遅延して内部信号ｔＤ２を生成する。そして、遅延マージン部４ａは、内部信号ｔＤ２をレジスタ部５に出力する。【００６０】
レジスタ部５は、レジスタ部１から出力された入力信号Ｄａｔａと、遅延マージン部４ａから出力された内部信号ｔＤ１と、遅延マージン部４ｂから出力された内部信号ｔＤ２とを、クロック信号ＣＬＫに同期して取り込む。レジスタ部５は、取り込んだ信号のそれぞれを判定部６に出力する。【００６１】
判定部６は、レジスタ部５から出力された、入力信号Ｄａｔａ、内部信号ｔＤ１および内部信号ｔＤ２を受け付ける。【００６２】
判定部６は、入力信号Ｄａｔａおよび内部信号ｔＤ１を比較する。判定部６は、入力信号Ｄａｔａが１かつ内部信号ｔＤ１が０の場合、値が１の評価結果Ｕｐ０をレジスタ部７に出力し、それ以外の場合、値が０の評価結果Ｕｐ０をレジスタ部７に出力する。【００６３】
また、判定部６は、入力信号Ｄａｔａおよび内部信号ｔＤ２を比較する。判定部６は、入力信号Ｄａｔａが１かつ内部信号ｔＤ２が１の場合、値が１の評価結果Ｄｏｗｎ０をレジスタ部７に出力し、それ以外の場合、値が０の評価結果Ｄｏｗｎ０をレジスタ部７に出力する。【００６４】
レジスタ部７は、判定部６から出力された評価結果Ｕｐ０およびＤｏｗｎ０を、評価クロック信号ＣＬＫ０に同期して取り込む。なお、評価クロック信号ＣＬＫ０は、評価結果Ｕｐ０およびＤｏｗｎ０の値が確定した後にレジスタ部７に到着するように調整されている。【００６５】
レジスタ部７は、取り込んだ評価結果Ｕｐ０およびＤｏｗｎ０に応じて、評価出力信号ＵｐおよびＤｏｗｎを出力する。【００６６】
ここで、評価結果Ｕｐ０が１、かつ、評価結果Ｄｏｗｎが０の場合、レジスタ部７は、評価出力信号Ｕｐを１とし、評価出力信号Ｄｏｗｎを０とする。また、評価結果Ｕｐ０が０、かつ、評価結果Ｄｏｗｎが０の場合、レジスタ部７は、評価出力信号Ｕｐを０とし、評価出力信号Ｄｏｗｎを０とする。さらに、評価結果Ｕｐ０が０、かつ、評価結果Ｄｏｗｎが１の場合、レジスタ部７は、評価出力信号Ｕｐを０とし、評価出力信号Ｄｏｗｎを１とする。【００６７】
なお、評価出力信号Ｕｐが１の場合、回路速度が上昇するように電源電圧やしきい値電圧などが制御され、評価出力信号Ｄｏｗｎが１の場合、回路速度が低下するように電源電圧やしきい値電圧などが制御される。【００６８】
また、評価クロック信号ＣＬＫ０は、リセット信号としても利用可能である。カウンタ部３内のカウンタ２１およびＳＲラッチ２４を評価クロック信号ＣＬＫ０でリセットすることで、次の評価に備えて、カウンタ部３をリセットすることが可能になる。【００６９】
次に効果を説明する。【００７０】
本実施形態では、基本遅延リング部２は、半導体集積回路の設計情報に応じて決定された遅延特性で入力信号Ｄａｔａを繰り返し遅延し、その遅延された入力信号Ｄａｔａを、遅延が繰り返されるたびに出力する。カウンタ部３は、基本遅延リング部２から出力された入力信号Ｄａｔａをカウントし、そのカウント値が基準値より大きいか否かを判定する。カウンタ部３は、カウント値が基準値より大きいと、内部信号ｔＤ０を出力する。評価部は、カウンタ部３から出力された内部信号ｔＤ０に基づいて、半導体集積回路の遅延時間を評価する。【００７１】
この場合、入力信号Ｄａｔａが半導体集積回路の設計情報に応じた遅延特性で繰り返し遅延される。また、その遅延された入力信号Ｄａｔａが、遅延が繰り返されるたびに出力される。その出力された入力信号Ｄａｔａがカウントされ、そのカウント値が基準値より大きいと、内部信号ｔＤ０が出力される。さらに、半導体集積回路の遅延時間が内部信号ｔＤ０に基づいて評価される。【００７２】
この場合、基準値が、入力信号Ｄａｔａに対する内部信号ｔＤ０の遅延時間が半導体集積回路のクロック周期になるように設定されれば、半導体集積回路ごとにクリティカルパス遅延回路を設けなくても、半導体集積回路の遅延時間を評価することが可能になる。【００７３】
また、本実施形態では、基本遅延リング部２は、半導体集積回路の設計情報に応じた複数の遅延回路をリング状に接続したリングオシレータを含み、そのリングオシレータが入力信号Ｄａｔａを発振することで、入力信号Ｄａｔａを繰り返し遅延する。【００７４】
この場合、遅延回路が適宜選択されれば、半導体集積回路ごとにクリティカルパス遅延回路が設けられなくても、半導体集積回路の遅延時間を評価することが可能になる。【００７５】
また、本実施形態では、リングオシレータ内の遅延回路は、ライブラリ中のインバータゲート回路のうちトランジスタの縦積み段数が最小のインバータゲート回路、ライブラリ中のＮＡＮＤゲート回路のうちｎＭＯＳトランジスタの縦積み段数が最大のＮＡＮＤゲート回路、ライブラリ中のＮＯＲゲート回路のうちｐＭＯＳトランジスタの縦積み段数が最大のＮＯＲゲート回路、ライブラリ内の複合ゲート回路のうち、ｎＭＯＳトランジスタの縦積み段数が最大、かつ、ｐＭＯＳトランジスタの縦積み段数が最大の複合ゲート回路、設計基準で許容される最大の配線長を負荷に有する回路や、ライブラリ中の論理ゲート回路において、設計基準で許容される最大の容量負荷を有する回路などである。【００７６】
この場合、クリティカルパスの遅延特性を的確に反映することが可能になる。【００７７】
また、本実施形態では、リングオシレータの段数は、半導体集積回路の設計情報に応じて、内部信号ｔＤ０の入力信号Ｄａｔａに対する遅延時間が、半導体集積回路の設計基準で許容される許容範囲内の所定条件で、所望の遅延時間となるような値に設定される。【００７８】
この場合、クリティカルパス遅延時間がその所望の遅延時間になるように、電源電圧やしきい値電圧を制御することが可能になり、半導体集積回路の性能をターゲット性能に近づけることが可能になる。【００７９】
また、本実施形態では、基準値は、半導体集積回路の設計情報に応じて、内部信号ｔＤ０の入力信号Ｄａｔａに対する遅延時間が、半導体集積回路の設計基準で許容される許容範囲内の所定条件で、所望の遅延時間となるような値に設定される。【００８０】
この場合、クリティカルパス遅延時間がその所望の遅延時間になるように、電源電圧やしきい値電圧を制御することが可能になり、半導体集積回路の性能をターゲット性能に近づけることが可能になる。【００８１】
また、本実施形態では、基準値は、内部信号ｔＤ０の入力信号Ｄａｔａに対する遅延時間が、特定の動作環境で行われた動作テストのテスト結果に応じて、所望の遅延時間になるような値に設定される。【００８２】
この場合、より正確に半導体集積回路の遅延時間を評価することが可能になる。その結果、例えば、遅延マージン部４ａによるマージンを小さくすることが可能になる。【００８３】
また、本実施形態では、基本遅延リング部２として、奇数段のリングオシレータも利用可能である。【００８４】
この場合、基本遅延リング部２の構成を簡潔にすることが可能になる。【００８５】
次に第２の実施形態について説明する。【００８６】
図６は、第２の実施形態の遅延モニタ回路の構成を示したブロック図である。図６において、遅延モニタ回路は、図２で示した構成から遅延マージン部４ａを除いた構成を有する。【００８７】
また、カウンタ部３が保持する基準値は、第１の実施形態と比べて増加している。つまり、基準値には、入力信号Ｄａｔａに対する内部信号ｔＤ１の遅延時間が、遅延マージン部４ａの第１遅延時間分増加するような値が加えられている。なお、第１遅延時間は、追加遅延時間の一例である。【００８８】
次に効果を説明する。【００８９】
本実施形態では、基準値には、入力信号Ｄａｔａに対する内部信号ｔＤ１の遅延時間が、第１遅延時間分増加するような値が加えられている。【００９０】
この場合、第一遅延時間が適宜設定されれば、例えば、デバイスのばらつきを補償するためのマージンに相当する遅延時間だけ内部信号を遅延する回路を設けなくても良くなる。【００９１】
次に第３の実施形態について説明する。【００９２】
クリティカルパスは、デバイス性能、温度、電源電圧および基板バイアス電圧など動作環境によって変化する。これは、トランジスタや配線などの遅延特性が、動作環境によって変化することや、ゲートの種類によってトランジスタの縦積み段数が異なることなどに起因する。【００９３】
このため、基本遅延リング部２が一つだけであると、基本遅延リング部２の遅延特性は、動作環境が変化することによって、クリティカルパスを反映しくなる可能性がある。本実施形態は、複数の基本遅延リング部２を設けることで、動作環境の変化によるクリティカルパスの変化を補完する。【００９４】
図７は、第３の実施形態の遅延モニタ回路の構成を示したブロック図である。図７において、遅延モニタ回路は、図６で示した構成に加えて、最大遅延検出部８をさらに含む。また、基本遅延リング部２およびカウンタ部３は、複数ずつある。なお、基本遅延リング部２およびカウンタ部３の数は、図７では、４だが、実際には４に限定されない。【００９５】
基本遅延リング部２のそれぞれは、互いに遅延特性が異なる。これは、例えば、第１の基本遅延リング部２内のリングオシレータが、ライブラリ中においてトランジスタの縦積み段数が最小となるインバータゲート回路を遅延回路とし、第２の基本遅延リング部２が、ライブラリ中においてｎＭＯＳトランジスタの縦積み段数が最大となるＮＡＮＤゲート回路を遅延回路とすることによって実現できる。【００９６】
また、基本遅延リング部２のそれぞれは、所定の動作環境で互いに遅延時間が等しくなるように調整されている。なお、所定の動作環境は、電源電圧の制御による半導体集積回路の遅延時間の補償が可能で、かつ、最も半導体集積回路の性能が高くなる動作環境が望ましい。例えば、デバイス性能が中程度、電源電圧が中程度、かつ、温度が高温である。また、所定の動作環境は、デバイス性能が低く、電源電圧が中程度、かつ、温度が高温でもよい。【００９７】
カウンタ部３のそれぞれは、基本遅延リング部２のそれぞれに一対一で対応している。カウンタ部３のそれぞれは、自己に対応付けられた基本遅延リング部２から出力される入力信号Ｄａｔａをカウントする。カウンタ部３は、そのカウント値が基準値より大きいか否かを判定し、カウント値が基準値より大きいと、入力信号Ｄａｔａを内部信号ｔＤ０として出力する。【００９８】
最大遅延検出部８は、カウンタ部３のそれぞれから出力され内部信号ｔＤ０のうち、最後に出力された内部信号ｔＤ０を内部信号ｔＤ１として出力する。【００９９】
最大遅延検出部８は、例えば、ＡＮＤゲート回路である。この場合、最大遅延検出部８は、カウンタ部３から出力された内部信号ｔＤ０の全てが１になると、値が１の内部信号ｔＤ１を出力する。【０１００】
また、遅延回路としてバッファが用いられる場合などでは、遅延回路の遅延時間が変化する。例えば、遅延回路の遅延時間は、その遅延回路を伝搬する信号の立ち上がりエッジまたは立ち下がりエッジの場合に最大となる。【０１０１】
この場合、基本遅延リング部２は、偶数段のリングオシレータにて入力信号Ｄａｔａを発振することで、遅延時間を正確に評価することが可能になる。なお、偶数段のリングオシレータとは、偶数個の遅延ゲートをリング状に接続したリングオシレータである。【０１０２】
図８は、偶数段のリングオシレータを示した回路図である。また、図９は、この偶数段のリングオシレータの動作例を示したタイミングチャートである。【０１０３】
偶数段のリングオシレータは、偶数段遅延ゲート回路３１と、ＮＡＮＤゲート回路３２と、ＮＯＲゲート回路３３と、インバータゲート回路３４と、リセット機能付きレジスタ３５と、ＳＲラッチ３６とを含む。ここで、偶数段遅延ゲート回路３１は、偶数段の遅延ゲート回路を直列に接続した回路である。また、ＮＯＲゲート回路３３、インバータゲート回路３４およびリセット機能付きレジスタ３５は、二つずつある。【０１０４】
偶数段のリングオシレータでは、図９のタイミングチャートに示すように、入力信号ＥＮがＨｉｇｈになると、Ｈｉｇｈの信号がＳＲラッチ３６および二つのＮＯＲゲート回路３３を介して、リセット機能付きレジスタ３５に取り込まれる。リセット機能付きレジスタ３５は、取り込んだＨｉｇｈの信号を偶数段遅延ゲート回路３１に入力することで、偶数段遅延ゲート３１にＨｉｇｈの信号が伝搬する。【０１０５】
偶数段遅延ゲート３１内を伝搬している信号は、偶数段遅延ゲート３１から中途信号Ａとして抽出される。リセット機能付きレジスタ３５は、その中途信号Ａを用いて、取り込んだＨｉｇｈの信号をＬｏｗに立ち下げる。その後、Ｌｏｗの信号が偶数段遅延ゲート回路３１から出力されると、再度、Ｈｉｇｈの信号が偶数段遅延ゲート３１回路を伝搬する。【０１０６】
以上の動作が繰り返されることで、偶数段のリングオシレータで入力信号Ｄａｔａを発振することが可能になる。【０１０７】
次に効果を説明する。【０１０８】
本実施形態によれば、基本遅延リング部２は、複数ある。また、基本遅延リング部２のそれぞれでは、遅延特性が互いに異なる。【０１０９】
基本遅延リング部２のそれぞれの遅延特性を、動作環境に応じて変化するクリティカルパスのそれぞれの遅延特性に反映させることが可能になる。したがって、動作環境が変化することでクリティカルパスが変化しても、半導体集積回路の遅延時間を正確に評価することが可能になる。【０１１０】
また、本実施形態では、カウンタ部３のそれぞれは、基本遅延リング部２のそれぞれに一対一で対応付けられている。カウンタ部３のそれぞれは、自己に対応する基本遅延リング部から出力される入力信号Ｄａｔａをカウントする。最大遅延検出部８は、カウンタ部３のそれぞれから出力され内部信号ｔＤ０のうち、最後に出力された内部信号ｔＤ０を内部信号ｔＤ１として出力する。評価部は、最大遅延検出部８から出力された内部信号ｔＤ１に基づいて、半導体集積回路の遅延時間を評価する。【０１１１】
この場合、半導体集積回路の遅延時間が、内部信号ｔＤ０のうち最後に出力された内部信号ｔＤ０に基づいて評価される。なお、最後に出力された内部信号の入力信号Ｄａｔａに対する遅延時間は、クリティカルパス遅延時間を反映する。【０１１２】
したがって、動作環境を計測しなくても、半導体集積回路の遅延時間を、クリティカルパス遅延時間を反映する内部信号に基づいて評価することが可能になる。よって、半導体集積回路の遅延時間を容易に評価することが可能になる。【０１１３】
また、本実施形態では、基本遅延リング部２のそれぞれは、基本遅延リング部２のそれぞれに応じて、カウンタ部の基準値を設定すれば良く、所定の動作環境で内部信号ｔＤ０のそれぞれの遅延時間が等しい。【０１１４】
この場合、所定の動作環境が適宜設定されれば、半導体集積回路のターゲット性能からのズレを直接観測することが可能になる。【０１１５】
また、本実施形態では、基本遅延リング部２として、偶数段のリングオシレータも利用可能である。【０１１６】
この場合、リングオシレータの遅延回路としてバッファなどが用いられても、半導体集積回路の遅延時間を正確に評価することが可能になる。【０１１７】
次に第４の実施形態について説明する。【０１１８】
図１０は、本発明の第４の実施形態の遅延モニタ回路の構成例を示したブロック図である。【０１１９】
第３の実施形態では、遅延モニタ回路は、複数の基本遅延リング部２およびカウンタ部３の後段に最大遅延検出部８を有していた。本実施形態では、遅延モニタ回路は、複数の基本遅延リング部２の後段に最大遅延検出部８を有し、最大遅延検出部８の後段にカウンタ部３を有する。【０１２０】
最大遅延検出部８は、基本遅延リング部２のそれぞれから出力された入力信号Ｄａｔａのうち、最後に出力された入力信号Ｄａｔａを出力する。カウンタ部３は、最大遅延検出部８から出力された入力信号Ｄａｔａをカウントする。【０１２１】
図１１は、本実施形態の最大遅延検出部８の構成を示したブロック図である。【０１２２】
図１１において、最大遅延検出部８は、位相比較部６１と、セレクタ６２と、先頭パルス除去部６３と、イネーブル信号生成部６４とを含む。【０１２３】
位相比較部６１は、複数の基本遅延リング部２のそれぞれから出力された入力信号Ｄａｔａの位相を比較する。【０１２４】
セレクタ６２は、選択手段の一例である。セレクタ６２は、位相比較部６１の比較結果に基づいて、最後に出力された入力信号Ｄａｔａを出力する。【０１２５】
先頭パルス除去部６３は、最後に出力された入力信号Ｄａｔａの検出遅れによる先頭パルスのつぶれを防止する。【０１２６】
イネーブル信号生成部６４は、ゲーティング手段の一例である。イネーブル信号生成部６４は、入力信号Ｄａｔａを最後に出力した基本遅延リング部２と異なる基本遅延リング部２の動作を停止する。【０１２７】
次に動作を説明する。なお、図１１において、Ｓ１ないしＳ４のそれぞれは、基本遅延リング部２のそれぞれから出力された入力信号Ｄａｔａを示す。また、ＡＴ、ＢＴ、ＣＴ、ＡＢ、ＢＢおよびＣＢのそれぞれは、位相比較部６１の比較結果を示す。【０１２８】
位相比較部６１は、リセット信号Ｒが入力されると、ＡＴ＝ＢＴ＝ＣＴ＝０、かつ、ＡＢ＝ＢＢ＝ＣＢ＝１になり、先頭パルス除去部６３内のＮＯＲゲート回路の出力が１になる。【０１２９】
リセット解除後、入力信号ＤａｔａＳ１の出力より入力信号ＤａｔａＳ２の出力が遅い場合、ＡＴ＝１およびＡＢ＝０となり、逆の場合、ＡＴ＝０およびＡＢ＝１となる。また、入力信号ＤａｔａＳ３の出力より入力信号ＤａｔａＳ４の出力が遅い場合、ＣＴ＝１およびＣＢ＝０となり、逆の場合、ＣＴ＝０およびＣＢ＝１となる。【０１３０】
また、入力信号ＤａｔａＳ１と入力信号ＤａｔａＳ２の出力の遅い方の出力より、入力信号ＤａｔａＳ３と入力信号ＤａｔａＳ４の出力の遅い方の出力が遅い場合、ＢＴ＝１およびＢＢ＝０となり、逆の場合、ＢＴ＝０およびＢＢ＝１となる。そして、ＯＲゲート回路の出力は、入力信号Ｄａｔａが全て出力されると、１から０に出力する。【０１３１】
セレクタ６２は、比較結果ＡＴ、ＢＴ、ＣＴ、ＡＢ、ＢＢおよびＣＢのそれぞれに基づいて、最後に出力された入力信号Ｄａｔａを出力する。例えば、ＡＴ＝ＣＴ＝ＢＴ＝１、かつ、ＡＢ＝ＢＢ＝ＣＢ＝０の場合、セレクタ６２は、入力信号ＤａｔａＳ４を出力する。【０１３２】
先頭パルス除去部６３は、リセット信号Ｒが入力されると、入力信号Ｄａｔａの伝搬をマスクして入力信号Ｄａｔａの出力を停止する。そして、最後に出力した入力信号Ｄａｔａが入力されて位相比較部６１のＯＲゲート回路の出力が１から０になった後にその入力信号Ｄａｔａが１から０に変化すると、ＮＯＲゲート回路の入力が００になり、マスクが解除される。その後、入力信号Ｄａｔａが出力される。【０１３３】
イネーブル信号生成部６４は、リセット信号Ｒが入力されると、全ての基本遅延リング部２にイネーブル信号を出力し続ける。また、イネーブル信号生成部６４は、最後に出力した入力信号Ｄａｔａを出力した基本遅延リング部２へのイネーブル信号のみを出力し続け、他の基本遅延リング部２へのイネーブル信号の出力を停止する。【０１３４】
次に効果を説明する。【０１３５】
本実施形態によれば、最大遅延検出部８は、基本遅延リング部２のそれぞれから出力された入力信号Ｄａｔａのうち、最後に出力された入力信号Ｄａｔａを出力する。カウンタ部３は、最大遅延検出部８から出力された入力信号Ｄａｔａをカウントする。【０１３６】
この場合、基本遅延リング部２ごとにカウンタ部３を設けなくてもよくなるため、カウンタ部３の数を軽減することが可能になる。したがって、面積オーバヘッドを低減することが可能になる。【０１３７】
また、本実施形態では、最大遅延検出部８は、位相比較部６１と、セレクタ６２とを含む。位相比較部６１は、基本遅延リング部２のそれぞれにて生成された入力信号Ｄａｔａの位相を比較する。セレクタ６２は、位相比較部６１の比較結果に基づいて、最後に出力された入力信号Ｄａｔａを出力する。【０１３８】
この場合、容易に、最後に出力された入力信号Ｄａｔａを出力することが可能になる。【０１３９】
また、本実施形態では、イネーブル信号生成部６４は、入力信号Ｄａｔａを最後に出力した基本遅延リング部２と異なる基本遅延リング部２の動作を停止する。【０１４０】
この場合、クリティカルパスの遅延特性を反映しない基本遅延リング部２の動作を停止することが可能になるので、省電力化を図ることが可能になる。【０１４１】
次に第５の実施形態について説明する。【０１４２】
図１２は、本発明の第５の実施形態の遅延モニタ回路の構成を示したブロック図である。図１２において、遅延モニタ回路は、図６で示した構成に加えて、分周部９をさらに含む。【０１４３】
分周部９は、クロック信号ＣＬＫを分周して分周クロック信号ＣＬＫＤＩＶを生成する。【０１４４】
分周部９は、分周クロック信号ＣＬＫＤＩＶをレジスタ部１および５に出力する。なお、基準値は、分周部９の分周比に応じて増加される。例えば、基準値は、分周比がｎの場合、ｎ倍に増加される。【０１４５】
評価部は、内部信号ｔＤ１の入力信号Ｄａｔａの遅延時間と、分周クロック信号ＣＬＫＤＩＶの周期とを比較して、半導体集積回路の遅延時間を評価する。【０１４６】
評価部を構成する各部が行う処理の相違点は、以下のものである。【０１４７】
レジスタ部１は、入力信号Ｄａｔａを分周クロック信号ＣＬＫＤＩＶに同期して取り込む。また、レジスタ部５は、入力信号Ｄａｔａ、内部信号ｔＤ１および内部信号ｔＤ２のそれぞれを、分周クロック信号ＣＬＫＤＩＶに同期して取り込む。【０１４８】
次に効果を説明する。【０１４９】
半導体集積回路のクロック信号ＣＬＫの周期と、内部信号ｔＤ０の入力信号Ｄａｔａに対する遅延時間とが比較されると、クロック信号ＣＬＫの周期に対する基準遅延リング部２の遅延時間の割合が大きくなる場合がある。この場合、基準値は、小さくなるので、基準値の設定誤差が大きくなる。【０１５０】
本実施形態によれば、分周部９は、半導体集積回路のクロック信号ＣＬＫを分周して分周クロック信号ＣＬＫＤＩＶを生成する。評価部は、内部信号ｔＤ１の入力信号に対する遅延時間と、分周クロック信号ＣＬＫＤＩＶの周期とを比較して、半導体集積回路の遅延時間を評価する。なお、内部信号ｔＤ１の入力信号Ｄａｔａに対する遅延時間は、基準遅延リング部２の遅延時間に基準値を乗算した値であり、クリティカルパス遅延時間を表す。【０１５１】
この場合、内部信号ｔＤ０の入力信号Ｄａｔａに対する遅延時間が、クロック信号ＣＬＫが分周された分周クロック信号ＣＬＫＤＩＶの周期と比較される。このため、分周クロック信号ＣＬＫＤＩＶの周期に対する基準遅延リング部２の遅延時間の割合が小さくなる。よって、クロック信号ＣＬＫの周期に対する基準遅延リング部２の遅延時間の割合が大きくなっても、基準値を大きくすることが可能になる。したがって、基準値の設定誤差を小さくすることが可能になる。【０１５２】
次に第６の実施形態について説明する。【０１５３】
図１３は、第６の実施形態の遅延モニタ回路の構成を示したブロック図である。図１３において、遅延モニタ回路は、図１２で示した構成に加えて、レジスタ遅延部１０をさらに含む。【０１５４】
レジスタ遅延部１０は、カウンタ部３から出力された内部信号ｔＤ０を第３遅延時間だけ遅延して内部信号ｔＤ１を生成する。ここで、第３遅延時間は、分周部９の分周比に応じた遅延時間に相当する。【０１５５】
レジスタ５と判定部６とを含む判断部は、レジスタ遅延部１０にて生成された内部信号ｔＤ１の入力信号Ｄａｔａに対する遅延時間と、分周クロック信号ＣＬＫＤＩＶの周期とを比較して、半導体集積回路の遅延時間を評価する。【０１５６】
次に効果を説明する。【０１５７】
本実施形態では、レジスタ遅延部１０は、カウンタ部３から出力された内部信号ｔＤ０を第３遅延時間だけ遅延する。第３遅延時間は、分周部９の分周比に応じた遅延時間に相当する。判断部は、レジスタ遅延部１０にて遅延された内部信号ｔＤ０の入力信号Ｄａｔａに対する遅延時間と、分周クロック信号ＣＬＫＤＩＶの周期とを比較して、半導体集積回路の遅延時間を評価する。【０１５８】
この場合、クロック信号を分周することによって生じる内部信号ｔＤ０の遅延時間の誤差を低減することが可能になる。【０１５９】
次に第７の実施形態について説明する。【０１６０】
図１４は、第７の実施形態の遅延モニタ回路の構成を示したブロック図である。図１４において、遅延モニタ回路では、図６で示した構成に加えて、セレクタ部１５と、レジスタ部１６ａないし１６ｄと、ＯＲゲート回路１７と、ＡＮＤゲート回路１８とを含む。ここで、レジスタ部１６ａないし１６ｄと、ＯＲゲート回路１７と、ＡＮＤゲート回路１８とは、評価部（より具体的には、判断部）に含まれる。また、基本遅延リング部２は、複数ある。なお、基本遅延リング部２の数は、図１４では、４だけだが、実際には４に限定されない。【０１６１】
カウンタ部３は、基本遅延リング部２のそれぞれから出力された入力信号Ｄａｔａを所定時間ずつ順番にカウントする。カウンタ部３は、そのカウント値が基準値より大きくなるごとに内部信号ｔＤ０を出力する。なお、所定時間は、評価クロック信号ＣＬＫ０の周期である。また、基準値は、所定時間ごとに異なっていてもよい。【０１６２】
具体的には、先ず、セレクタ部１５は、基本遅延リング部４のそれぞれから出力された入力信号Ｄａｔａのいずれかを選択する。セレクタ部１５は、その選択する入力信号Ｄａｔａを、所定時間ごとに順番に変えていく。【０１６３】
続いて、カウンタ部３は、セレクタ部１５から出力された入力信号をカウントし、そのカウント値が基準値より大きくなると、内部信号ｔＤ１を出力する。また、カウンタ部３は、所定時間ごとにカウント値をリセットする。【０１６４】
以下、図１５および図１６を用いて、カウンタ部３およびセレクタ部１５の構成を依り詳細に説明する。【０１６５】
図１５は、セレクタ部１５の構成例を示したブロック図である。図１５において、セレクタ部１５は、セレクト値設定部１５１と、セレクタ部１５２とを含む。なお、図１５では、図１１と同様に、Ｓ１ないしＳ４のそれぞれは、基本遅延リング部２のそれぞれから出力された入力信号Ｄａｔａを示す。【０１６６】
カウント値設定部１５１は、４つのセレクト値設定レジスタ部１５１ａを含む。セレクト値設定レジスタ部１５１ａのそれぞれは、基本遅延リング部１のいずれかと一対一で対応付けられている。【０１６７】
セレクト値設定レジスタ部１５１ａのそれぞれは、自己に対応する基本遅延リング部１から出力した入力信号Ｄａｔａの選択を示す選択信号と、その入力信号Ｄａｔａの非選択を示す非選択信号とのどちらか一方を保持する。また、セレクト値設定レジスタ部１５１ａのそれぞれは、その保持している選択信号または非選択信号をセレクタ部１５２に出力する。【０１６８】
ここで、セレクト値設定レジスタ部１５１ａのいずれか一つが、選択信号を保持し、その他のセレクト値設定レジスタ部１５１ａは、非選択信号を保持する。【０１６９】
また、セレクト値設定レジスタ部１５１ａのそれぞれは、評価クロック信号ＣＬＫ０に同期して、予め定められた他のセレクト値設定レジスタ部１５１から出力された選択信号または非選択信号を取り込む。【０１７０】
セレクタ部１５２は、４つのセレクタ１５２ａを含む。セレクタ１５２ａのそれぞれは、セレクト値設定レジスタ部１５１ａのいずれかと、そのセレクト値設定レジスタ部１５１ａに対応する基本遅延リング部２と、にそれぞれ一対一で対応付けられている。【０１７１】
セレクタ１５２ａのそれぞれは、自己に対応する基本遅延リング部２から出力された入力信号Ｄａｔａと、自己に対応するセレクト値設定レジスタ部１５１ａから出力された選択信号または非選択信号を受け付ける。【０１７２】
セレクタ１５２ａのそれぞれは、選択信号を受け付けてから非選択信号を受け付けるまで、入力信号Ｄａｔａを受け付けるたびに、その入力信号Ｄａｔａを出力する。また、セレクタ１５２ａのそれぞれは、非選択信号を受け付けると、その後、入力信号Ｄａｔａの出力を停止する。【０１７３】
図１６は、カウンタ部３の構成例を示したブロック図である。図１６において、カウンタ部３では、カウント値設定部２２が、４つのカウント値設定レジスタ部２２ａを含む。【０１７４】
カウント値設定レジスタ部２２ａは、シフトレジスタを構成する。カウント値設定レジスタ部２２ａのそれぞれは、基準値を保持し、その基準値を出力する。なお、カウント値設定レジスタ部２２ａのそれぞれが保持している基準値は、互いに異なっていてもよい。【０１７５】
また、カウント値設定レジスタ部２２ａは、評価クロック信号ＣＬＫ０に同期して、予め定められた他のカウント値設定レジスタ部２２ａから出力された基準値を取り込む。さらに、カウント値設定レジスタ部２２ａのいずれか一つは、保持している基準値を比較器２３に出力する。【０１７６】
また、カウンタ２１は、評価クロック信号ＣＬＫ０をリセット信号として受け付ける。【０１７７】
図１４に戻る。評価部は、カウンタ部３から出力された内部信号ごとに、その内部信号に基づいて、半導体集積回路の遅延時間を評価する。また、評価部は、各評価結果に基づいて、半導体集積回路の真の遅延時間を評価する。【０１７８】
具体的には、評価部は、評価結果の全てが半導体集積回路の遅延時間が所定の範囲より小さいことを示すと、半導体集積回路の真の遅延時間が所定の範囲より小さいと評価する。【０１７９】
また、評価部は、評価結果の少なくともいずれか一つが半導体集積回路の遅延時間が所定範囲より大きいことを示すと、半導体集積回路の真の遅延時間が所定の範囲より大きいと評価する。【０１８０】
より具体的には、評価部は、以下のように半導体集積回路の真の遅延時間を評価する。【０１８１】
レジスタ部１６ａないし１６ｄのそれぞれは、互いに直列に接続される。なお、レジスタ部１６ａが一段目である。レジスタ部１６ａは、判定部５から出力された評価結果ＵｐおよびＤｏｗｎを評価クロック信号ＣＬＫ０に同期して取り込む。レジスタ部１６ａは、その取り込んだ評価結果ＵｐおよびＤｏｗｎを出力する。【０１８２】
レジスタ部１６ｂないし１６ｄのそれぞれは、前段のレジスタ部から出力された評価結果ＵｐおよびＤｏｗｎを評価クロック信号ＣＬＫ０に同期して取り込む。レジスタ部１６ｂないし１６ｄのそれぞれは、その取り込んだ評価結果ＵｐおよびＤｏｗｎを出力する。【０１８３】
ＯＲゲート回路１７は、レジスタ部１６ａないし１６ｄのそれぞれが出力した評価結果ＵＰ０の少なくとも一つが１であると、値が１の評価結果Ｕｐを出力し、その評価結果Ｕｐの全てが０であると、値が０の評価結果Ｕｐを出力する。【０１８４】
ＡＮＤゲート回路１８は、レジスタ部１６ａないし１６ｄのそれぞれが出力した評価結果Ｄｏｗｎの全てが１であると、値が１の評価結果Ｄｏｗｎを出力し、その評価結果Ｄｏｗｎの少なくとも一つが０であると、値が０の評価結果Ｄｏｗｎを出力する。【０１８５】
レジスタ部７は、ＯＲゲート回路１７から出力された評価結果Ｕｐと、ＡＮＤゲート回路１８から出力された評価結果Ｄｏｗｎとを、分周評価クロック信号に同期して取り込む。分周評価クロック信号ＣＬＫ０／４は、評価クロック信号ＣＬＫ０を分周した信号である。この分周比は、基本遅延リング部２の数と同じである。つまり、本実施形態では、分周比は、４である。【０１８６】
次に効果を説明する。【０１８７】
本実施形態によれば、カウンタ部３は、基本遅延リング部２のそれぞれから出力された入力信号Ｄａｔａのそれぞれを所定時間ずつ順番にカウントし、そのカウント値が基準値より大きくなるたびにごとに内部信号を出力する。評価部は、カウンタ部３から出力された内部信号ごとに、その内部信号に基づいて、半導体集積回路の遅延時間を評価する。また、評価部は、各評価結果に基づいて、半導体集積回路の真の遅延時間を評価する。【０１８８】
この場合、基本遅延リング部２ごとにカウンタ部３を設けなくてもよくなるため、カウンタ部３の数を軽減することが可能になる。したがって、面積オーバヘッドを低減することが可能になる。【０１８９】
なお、本発明は、ＤＶＦＳ（Dynamic  Voltage  and  Frequency  Scaling）対応のシステムＬＳＩの遅延モニタ回路などに利用できる。【０１９０】
以上、実施形態を参照して本願発明を説明したが、本願発明は、上記実施形態に限定されたものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更を行うことができる。【０１９１】
この出願は、２００７年１２月２８日に出願された日本出願特願２００７−３４０３８５号公報を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2009084396.tif 000003
【図２】
2009084396.tif 000004
【図３】
2009084396.tif 000005
【図４】
2009084396.tif 000006
【図５】
2009084396.tif 000007
【図６】
2009084396.tif 000008
【図７】
2009084396.tif 000009
【図８】
2009084396.tif 000010
【図９】
2009084396.tif 000011
【図１０】
2009084396.tif 000012
【図１１】
2009084396.tif 000013
【図１２】
2009084396.tif 000014
【図１３】
2009084396.tif 000015
【図１４】
2009084396.tif 000016
【図１５】
2009084396.tif 000017
【図１６】
2009084396.tif 000018
【手続補正書】
【提出日】平成22年6月25日(2010.6.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
半導体集積回路の遅延時間を評価する遅延モニタ回路であって、
前記半導体集積回路の設計情報に応じて決定された遅延特性で入力信号を繰り返し遅延し、該遅延された入力信号を、遅延が繰り返されるたびに出力する基本遅延手段と、
前記基本遅延手段から出力された入力信号をカウントし、該カウント値が予め定められた基準値より大きいか否かを判定し、前記カウント値が前記基準値より大きいと、内部信号を出力するカウンタ手段と、
前記カウンタ手段から出力された内部信号に基づいて、前記半導体集積回路の遅延時間を評価する評価手段と、を含む遅延モニタ回路。
【請求項２】
請求の範囲第１項に記載の遅延モニタ回路において、
前記基本遅延手段は、複数あり、前記複数の基本遅延手段のそれぞれでは、前記遅延特性が互いに異なる、遅延モニタ回路。
【請求項３】
請求の範囲第２項に記載の遅延モニタ回路において、
前記カウンタ手段は、複数あり、前記複数のカウンタ手段のそれぞれは、前記複数の基本遅延手段のいずれかと一対一で対応付けられ、該対応付けられた基本遅延手段から出力された入力信号をカウントし、
前記複数のカウンタ手段のそれぞれが出力した内部信号のうち、最後に出力された内部信号を出力する最大遅延検出手段を含み、
前記評価手段は、前記最大遅延検出手段から出力された内部信号に基づいて、前記半導体集積回路の遅延時間を評価する、遅延モニタ回路。
【請求項４】
請求の範囲第２項に記載の遅延モニタ回路において、
前記複数の基本遅延手段のそれぞれから出力された入力信号のうち、最後に出力された入力信号を出力する最大遅延検出手段を含み、
前記カウンタ手段は、前記最大遅延検出手段から出力された入力信号をカウントする、遅延モニタ回路。
【請求項５】
請求の範囲第４項に記載の遅延モニタ回路において、
前記最大遅延検出手段は、
前記複数の基本遅延手段のそれぞれから出力された入力信号の位相を比較する位相比較手段と、
前記位相比較手段の比較結果に基づいて、前記最後に出力された入力信号を出力する選択手段と、を含む、遅延モニタ回路。
【請求項６】
請求の範囲第４項または請求の範囲第５項に記載の遅延モニタ回路において、
前記最大遅延検出手段は、
前記入力信号を最後に出力した基本遅延手段と異なる基本遅延手段の動作を停止するゲーティング手段を含む、遅延モニタ回路。
【請求項７】
請求の範囲第２項に記載の遅延モニタ回路において、
前記カウンタ手段は、前記複数の基本遅延手段のそれぞれから出力された入力信号のそれぞれを所定時間ずつ順番にカウントし、該カウント値が前記基準値より大きくなるたびに内部信号を出力し、
前記評価部は、前記カウンタ手段から出力された内部信号ごとに、該内部信号に基づいて、前記半導体集積回路の遅延時間を評価し、各評価結果に基づいて、前記半導体集積回路の真の遅延時間を評価する、遅延モニタ回路。
【請求項８】
請求の範囲第２項ないし請求の範囲第７項のいずれか１項に記載の遅延モニタ回路において、
前記複数の基本遅延手段のそれぞれは、所定の動作環境で互いに遅延時間が等しい、遅延モニタ回路。
【請求項９】
請求の範囲第１項ないし請求の範囲第８項のいずれか１項に記載の遅延モニタ回路において、
前記半導体集積回路のクロック信号を分周して分周クロック信号を生成する分周手段を含み、
前記評価手段は、前記内部信号の前記入力信号に対する遅延時間と、前記分周クロック信号の周期とを比較して、前記半導体集積回路の遅延時間を評価する、遅延モニタ回路。
【請求項１０】
半導体集積回路の遅延時間を評価する遅延モニタ方法であって、
前記半導体集積回路の設計情報に応じて決定された遅延特性で入力信号を繰り返し遅延し、該遅延された入力信号を、遅延が繰り返されるたびに出力し、
前記出力された入力信号をカウントし、前記カウント値が予め定められた基準値より大きいか否かを判定し、前記カウント値が前記基準値より大きいと、内部信号を出力し、
前記出力された内部信号に基づいて、前記半導体集積回路の遅延時間を評価する、遅延モニタ方法。
【国際調査報告】
2009084396.tif 000019
2009084396.tif 000020
2009084396.tif 000021
2009084396.tif 000022