(57)【要約】【課題】チップ温度を正確に検出する温度センサのレイアウトを提案する。【解決手段】本発明の例に関わる半導体集積回路は、発熱源となる複数の演算器のブロック１１と、複数の演算器のブロック１１のうち少なくとも２つの演算器のブロック１１からの距離が等しい点を結ぶ線上、例えば、演算器のブロック１１の対称軸上に配置される温度センサ１２とを備える。【選択図】図２
2006245395.tif 000002
【特許請求の範囲】
【請求項１】
発熱源となる複数のコアと、前記複数のコアのうち少なくとも２つのコアからの距離が等しい点を結ぶ線上に配置される温度センサとを具備することを特徴とする半導体集積回路。
【請求項２】
発熱源となる複数のコアと、前記複数のコアに対して一対一に対応し、前記複数のコアの特定の一辺に沿って配置される複数の温度センサとを具備することを特徴とする半導体集積回路。
【請求項３】
発熱源となる複数のコアと、前記複数のコアの対称軸に対して対称的に配置される複数の温度センサとを具備することを特徴とする半導体集積回路。
【請求項４】
チップの縁に沿って配置されるＩ／Ｏ回路と、前記Ｉ／Ｏ回路に隣接し、かつ、前記チップの縁に沿って配置される温度センサとを具備することを特徴とする半導体集積回路。
【請求項５】
演算器と、前記演算器における演算データの入出力を行うＩ／Ｏ回路と、前記演算器と前記Ｉ／Ｏ回路との間に配置される温度センサとを具備することを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、温度センサを有する半導体集積回路に関する。
【背景技術】
【０００２】
高性能化された半導体集積回路では、演算の並列化や、演算速度の高速化などが進行し、それに伴うチップ温度の上昇が問題となっている。
【０００３】
チップ温度がある限度以上になると、トランジスタの破壊や、発火などの現象が発生するため、これを防止する技術が必要になる。
【０００４】
その技術の一つに、半導体集積回路内に温度センサを組み込み、チップ温度が所定値を超えたときに、演算速度を低速化させたり、演算そのものを停止させたりする技術がある（例えば、特許文献１参照）。
【０００５】
しかし、チップ温度が局所的に高温となるような場合には、これを正確に検出することが難しく、温度センサが装備されているにもかかわらず、トランジスタの破壊や、発火などの現象が発生することがある。
【特許文献１】特開平１０−４１４６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の例では、温度センサのレイアウトの工夫により、局所的な温度上昇も含め、チップ温度を正確に検出する技術を提案する。
【課題を解決するための手段】
【０００７】
本発明の例に関わる半導体集積回路は、発熱源となる複数のコアと、前記複数のコアのうち少なくとも２つのコアからの距離が等しい点を結ぶ線上に配置される温度センサとを備える。
【０００８】
本発明の例に関わる半導体集積回路は、発熱源となる複数のコアと、前記複数のコアに対して一対一に対応し、前記複数のコアの特定の一辺に沿って配置される複数の温度センサとを備える。
【０００９】
本発明の例に関わる半導体集積回路は、発熱源となる複数のコアと、前記複数のコアの対称軸に対して対称的に配置される複数の温度センサとを備える。
【００１０】
本発明の例に関わる半導体集積回路は、チップの縁に沿って配置されるＩ／Ｏ回路と、前記Ｉ／Ｏ回路に隣接し、かつ、前記チップの縁に沿って配置される温度センサとを備える。
【００１１】
本発明の例に関わる半導体集積回路は、演算器と、前記演算器における演算データの入出力を行うＩ／Ｏ回路と、前記演算器と前記Ｉ／Ｏ回路との間に配置される温度センサとを備える。
【発明の効果】
【００１２】
本発明の例によれば、局所的な温度上昇も含め、チップ温度を正確に検出することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しながら、本発明の例を実施するための最良の形態について詳細に説明する。
【００１４】
１．  概要  
本発明の例では、オンチップ温度センサの新規レイアウトを提案する。
【００１５】
温度センサは、例えば、図１に示すように、半導体集積回路（ＬＳＩ）内に組み込まれ、チップ温度を検出する。
【００１６】
制御回路は、例えば、チップ温度が所定値を超えたときに低速モード切替信号を出力し、演算器の演算速度を低速化させる。また、制御回路は、例えば、チップ温度が所定値を超えたときに停止信号を出力し、ＬＳＩに対する電源の供給を停止し、演算器における演算そのものを停止させる。
【００１７】
まず、本発明の例では、チップ内にホットスポットの原因となる発熱源、例えば、演算器のブロック（コア）が複数存在する場合の温度センサのレイアウトを提案する。そのレイアウトは、演算動作の状態（演算器の動作の有無）に応じてホットスポットの位置が変わる点を考慮すると、以下のようになる。
【００１８】
・  温度センサを少なくとも２つのコアからの距離が等しくなる点を結ぶ線上、例えば、コアの対称軸上に配置する。  
・  温度センサが複数存在する場合には、温度センサをコアの対称軸又はその交差点に対して対称に配置する。
【００１９】
以上のレイアウトは、コアの数や温度センサの数に制限されることはないが、特に、コアの数よりも少ない数の温度センサしかチップ内に配置することができないような場合に有効である。
【００２０】
例えば、近年では、管理すべきホットスポットが多いこと、また、面積のオーバーヘッドの縮小とノイズによる精度低下の防止とを図るために温度センサをコアの近傍に配置できないことなどから、温度センサの数は、ホットスポットの原因となるコアの数よりも少なくなっている。
【００２１】
このような場合においても、上記レイアウトを用いることにより、チップ内のホットスポットを精度よくモニタすることができる。
【００２２】
また、本発明の例では、チップ内に、ホットスポットの原因となる複数の発熱源、例えば、複数の演算器のブロック（コア）と、これら複数の演算器のブロックに一対一に対応する複数の温度センサとが配置される場合の温度センサのレイアウトを提案する。
【００２３】
この場合に考慮すべきことは、各温度センサのホットスポットの温度の検出能力を均一化して温度管理を容易にしなければならないという点にある。そのための温度センサのレイアウトは、以下のようになる。
【００２４】
・  コアと温度センサの位置関係を全てのペアで同一にする。  
・  温度センサをコアの対称軸又はその交差点に対して対称に配置する。
【００２５】
さらに、本発明の例では、温度センサを配置することによる面積のオーバーヘッドを最小限にし、かつ、ノイズの影響をなくして温度の検出精度を向上させるための温度センサのレイアウトを提案する。
【００２６】
これを実現するための温度センサのレイアウトは、以下のようになる。
【００２７】
・  温度センサをチップの縁に沿って配置する。  
・  温度センサをチップ内で最も高速に動作するＩ／Ｏ（入出力）回路の近傍に配置する。  
・  温度センサをチップ内で最も高速に動作するＩ／Ｏ回路と最も高速に動作する演算器との間に配置する。
【００２８】
２．  実施の形態  
次に、最良と思われるいくつかの実施の形態について説明する。
【００２９】
(1)   第１実施の形態  
第１実施の形態では、チップ内に演算器のブロック（コア）が複数存在する場合に、温度センサを少なくとも２つのコアからの距離が等しくなる点を結ぶ線上、例えば、コアの対称軸上に配置する。
【００３０】
このようなレイアウトにすることで、例えば、演算動作の状態に応じてホットスポットの位置が変わっても、全てのホットスポットの温度を正確にモニタすることができる。
【００３１】
尚、第１実施の形態に関しては、コアの数や温度センサの数に制限はないが、特に、コアの数よりも少ない数の温度センサしかチップ内に配置することができない場合に有効である。
【００３２】
図２乃至図７は、チップ内にホットスポットの原因となる４つの演算器のブロックが配置されている場合の温度センサのレイアウトの例を示している。
【００３３】
ここで、説明を簡単にするため、４つの演算器のブロック１１は、チップ１０内に規則的かつ対称的に配置されているものとする。また、チップ１０上には、これら４つの演算器のブロック１１の対称軸（一点破線）を想定する。この対称軸は、少なくとも２つの演算器のブロック１１からの距離が等しい点を結ぶ線となる。
【００３４】
図２及び図３のレイアウトでは、温度センサ１２は、チップ１０内に１つ設けられる。温度センサ１２は、演算器のブロック１１の対称軸上であって、かつ、チップ１０の縁に沿った位置に配置される。
【００３５】
温度センサ１２は、隣接する２つの演算器のブロック１１からの距離が等しい位置に配置されるため、チップ１０内の局所的な温度上昇を検出できる。また、チップ１０の縁部に温度センサ１２を配置することにより、温度センサによる面積のオーバーヘッドを最小限にし、かつ、ノイズの影響を最小化することができる。
【００３６】
図４のレイアウトでは、温度センサ１２は、チップ１０の中心に１つ設けられる。温度センサ１２は、演算器のブロック１１の対称軸上であって、かつ、全ての演算器のブロック１１からの距離が等しい点に配置されるため、演算器のブロック１１が原因となる全てのホットスポットの温度を正確にモニタできる。
【００３７】
図５及び図６のレイアウトでは、温度センサ１２は、演算器のブロック１１の対称軸上であって、かつ、チップ１０の縁に沿った位置に複数配置される。
【００３８】
複数の温度センサ１２は、演算器のブロック１１の対称軸に対して線対称、又は、演算器のブロック１１の対称軸の交差点（チップの中心点）に対して点対称に配置されるため、演算器のブロック１１が原因となる全てのホットスポットの温度を正確にモニタできる。
【００３９】
また、チップ１０の縁部に温度センサ１２を配置することにより、温度センサによる面積のオーバーヘッドを最小限にし、かつ、ノイズの影響を最小化することができる。
【００４０】
図７及び図８のレイアウトは、図５及び図６のレイアウトの特徴の全てを含んでいる。さらに、このレイアウトでは、演算器のブロック１１の対称軸の交差点（チップの中心点）に１つの温度センサ１２が配置される。
【００４１】
このようなレイアウトでは、チップ１０の中心部と縁部の温度を同時に検出できるため、さらに、ホットスポットの温度の正確な検出が可能になる。
【００４２】
ここで、第１実施の形態では、温度センサ１２は、例えば、少なくとも２つの演算器のブロック１１の対称軸上に配置される。
【００４３】
図２乃至図８の例では、この対称軸は、チップ１０の中心軸に等しくなっているが、複数の演算器のブロック１１のチップ１０内におけるレイアウトによっては、温度センサ１２は、必ずしも、チップ１０の中心軸上に配置されるとは限らない。
【００４４】
例えば、図９のレイアウトの場合、ホットスポットの原因となる４つの演算器のブロック１１は、チップ１０内に均等に配置されず、１つの角部に偏って配置される。この場合、温度センサ１２は、少なくとも２つの演算器のブロック１１の対称軸上に配置されるが、この対称軸は、チップ１０の中心軸とは異なる。
【００４５】
(2)   第２実施の形態  
第２実施の形態では、チップ内に、複数の演算器のブロック（コア）に一対一に対応する複数の温度センサを配置する場合に、演算器のブロックと温度センサとの位置関係を全てのペアで同一にする。
【００４６】
このようなレイアウトにすることで、例えば、各温度センサの温度の検出能力を均一化することができ、温度センサによる温度管理を容易化できる。
【００４７】
図１０は、チップ内にホットスポットの原因となる４つの演算器のブロックが配置されている場合の温度センサのレイアウトの例を示している。
【００４８】
温度センサ１２は、４つの演算器のブロック１１に対応して４つ設けられている。演算器のブロック１１と温度センサ１２とは、一対一に対応しており、１つの演算器のブロック１１と１つの温度センサ１２との位置関係は、全てのペアで同一になっている。
【００４９】
本例の場合には、全ての温度センサ１２は、演算器のブロック１１の特定の一辺に沿って配置される。このようなレイアウトによれば、ホットスポットの原因となる演算器のブロック１１と温度センサ１２との位置関係が全てのペアで同一であるため、全てのホットスポットの温度を正確にモニタできる。
【００５０】
(3)   第３実施の形態  
第３実施の形態では、第２実施の形態と同様に、チップ内に、複数の演算器のブロック（コア）に一対一に対応する複数の温度センサを配置する場合を想定し、この場合に、温度センサを演算器のブロックの対称軸又はその交差点に対して対称に配置する。
【００５１】
つまり、演算器のブロックと温度センサとの位置関係は、全てのペアで、回転、反転などの関係、例えば、温度センサが、演算器のブロックの対称軸に対して線対称（鏡面対称）又は演算器のブロックの対称軸の交差点に対して点対称となる関係に設定される。
【００５２】
このようなレイアウトにしても、第２実施の形態と同様に、例えば、ホットスポットの温度の検出能力を各温度センサで均一化することができ、温度センサによる温度管理を容易化できる。
【００５３】
図１１乃至図１５は、チップ内にホットスポットの原因となる４つの演算器のブロックが配置されている場合の温度センサのレイアウトの例を示している。
【００５４】
いずれの場合においても、複数の温度センサ１２は、チップ１０内において、演算器のブロック１１の対称軸に対して互いに対称的に配置される。
【００５５】
図１１のレイアウトでは、温度センサ１２は、演算器のブロック１１の一辺に隣接し、かつ、チップ１０の縁部に配置される。図１２のレイアウトでは、温度センサ１２は、演算器のブロック１１の１つの角に隣接し、かつ、チップ１０の縁部に配置される。
【００５６】
図１３のレイアウトでは、温度センサ１２は、演算器のブロック１１の一辺に隣接し、かつ、チップ１０の中央部（複数の演算器のブロック１１の間）に配置される。図１４のレイアウトでは、温度センサ１２は、演算器のブロック１１の１つの角に隣接し、かつ、チップ１０の中央部に配置される。
【００５７】
図１５のレイアウトでは、温度センサ１２は、複数の演算器のブロック１１の間であって、かつ、チップ１０の縁部に配置される。
【００５８】
このように、チップ１０内において複数の温度センサを対称的に配置することにより、ホットスポットの温度を正確にモニタできる。
【００５９】
(4)   第４実施の形態  
第４実施の形態では、温度センサをチップの縁に沿って配置する。
【００６０】
このようなレイアウトにすることで、温度センサを配置することによる面積のオーバーヘッドを最小限にし、かつ、ノイズの影響をなくして温度の検出精度を向上させることができる。
【００６１】
図１６は、第４実施の形態のレイアウトの概要を示している。
【００６２】
温度センサ１２は、チップ１０の縁に沿って配置される。
【００６３】
チップ１０の縁に沿う領域にはレイアウト上の余裕が比較的あるため、ここに温度センサ１２を配置することにより面積のオーバーヘッドを最小限にできる。また、チップ１０の縁に沿う領域は温度検出精度に影響を与えるノイズが少ないため、ここに温度センサ１２を配置することは非常に有効である。
【００６４】
尚、図１７に示すように、チップ１０の縁に沿う領域には、Ｉ／Ｏ（入出力）回路１５が配置されることが多い。
【００６５】
このような場合には、温度センサ１２は、チップ１０の縁、例えば、角部であって、Ｉ／Ｏ回路１５に隣接する位置に配置する。
【００６６】
(5)   第５実施の形態  
第５実施の形態では、温度センサを、チップ内で最も高速に動作するＩ／Ｏ回路に隣接して配置することにより、チップ内での局所的な温度上昇を検出し、半導体集積回路の信頼性の向上を図る。
【００６７】
図１８は、第５実施の形態のレイアウトの概要を示している。
【００６８】
チップ１０の縁に沿う領域には、Ｉ／Ｏ回路１５，１５ｘが配置される。Ｉ／Ｏ回路１５ｘは、通常のＩ／Ｏ回路１５よりも高速に動作する高速Ｉ／Ｏ回路である。高速Ｉ／Ｏ回路１５ｘは、高速動作のために発熱量が大きく、これが原因となり、高速Ｉ／Ｏ回路１５ｘの近傍で局所的な温度上昇、即ち、ホットスポットが発生する可能性が高い。
【００６９】
そこで、温度センサ１２は、高速Ｉ／Ｏ回路１５ｘの近傍、例えば、チップ１０の角部に配置する。
【００７０】
(6)   第６実施の形態  
第６実施の形態では、温度センサを、チップ内で最も高速に動作するＩ／Ｏ回路と最も高速に動作する演算器のブロックとの間に配置することにより、チップ内での局所的な温度上昇を検出し、半導体集積回路の信頼性の向上を図る。
【００７１】
図１９は、第６実施の形態のレイアウトの概要を示している。
【００７２】
チップ１０の中央部には、高速演算器のブロック１１ｘ及び低速演算器のブロック１１ｙが配置される。高速演算器のブロック１１ｘは、低速演算器のブロック１１ｙよりも高速に動作する。チップ１０の縁に沿う領域には、Ｉ／Ｏ回路１５，１５ｘが配置される。
【００７３】
Ｉ／Ｏ回路１５，１５ｘは、高速演算器のブロック１１ｘ及び低速演算器のブロック１１ｙにおける演算データの入出力を行う。高速Ｉ／Ｏ回路１５ｘは、通常のＩ／Ｏ回路１５よりも高速に動作する。
【００７４】
温度センサ１２は、高速演算器のブロック１１ｘと高速Ｉ／Ｏ回路１５ｘとの間に配置される。最も高速に動作する高速Ｉ／Ｏ回路１５ｘと高速演算器のブロック１１ｘとの間に温度センサ１２を配置することで、チップ１０内の局所的な温度上昇を正確に検出できる。
【００７５】
(7)   その他  
上述の第１乃至第６実施の形態においては、温度センサ１２の形式や回路構成などの要素については、特に限定されない。
【００７６】
例えば、電流電圧特性をチップの外部でモニタし、チップ内の局所的な温度上昇を検出する場合には、温度センサとしては、ＯＴＤ(on-chip thermal diode)を使用すればよい。
【００７７】
また、例えば、チップ内で温度を検出する場合には、温度センサとしては、アラート(alert)回路を使用することができる。
【００７８】
アラート回路は、例えば、ＢＧＲ(band gap reference)回路により生成される温度依存性を持たない参照電位と温度依存性を持つ接合ダイオード（ＯＴＤ）の閾値電圧Ｖｆとを比較し、温度が所定値を超えたときにアラート信号を出力するオンチップ温度検出回路のことである。
【００７９】
３．  適用例  
次に、本発明の例に関わる半導体集積回路のレイアウトの適用例について説明する。
【００８０】
図２０は、ＧＰＵ(graphics processing unit)のチップレイアウトを示している。
【００８１】
チップ１０内には、ホットスポットの原因となる演算器のブロック１１、温度センサ１２、高速Ｉ／Ｏ回路１５ｘ及びエンベデッドＤＲＡＭ(eDRAM)１６が配置される。
【００８２】
温度センサ１２（ＯＴＤ）は、ＯＴＤからなるセンサであり、演算器のブロック１１の対称軸上であって、かつ、チップ１０の縁に沿って配置される。
【００８３】
温度センサ１２（Ａｌｅｒｔ）は、アラート回路からなるセンサであり、チップ１０内において対称的に配置される。また、温度センサ１２（Ａｌｅｒｔ）は、演算器のブロック１１とエンベデッドＤＲＡＭ１６との間に配置され、かつ、演算器のブロック１１の対称軸に対して線対称、又は、演算器のブロック１１の対称軸の交差点に対して点対称に配置される。
【００８４】
尚、本発明の例は、ＧＰＵの他、ＣＰＵ(central processing unit)などの一般のプロセッサに適用することもできる。
【００８５】
４．  その他  
本発明の例によれば、温度センサにより観測される温度とホットスポットの実際の温度との差（オフセット）及びその差の変動量を小さくできる。このため、チップの温度制御に対するマージンを小さくでき、チップの温度制御を容易に行うことができる。
【００８６】
また、ホットスポットに対する全ての温度センサの感度を均一化できるため、チップ内に組み込む温度センサの形式や回路構成などを統一化できる。これにより、回路やチップレイアウトの設計、トリミング、さらには、半導体プロセスの容易化を実現できる。
【００８７】
本発明の例は、上述の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で、各構成要素を変形して具体化できる。また、上述の実施の形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を構成できる。例えば、上述の実施の形態に開示される全構成要素から幾つかの構成要素を削除してもよいし、異なる実施の形態の構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００８８】
【図１】ＬＳＩの温度制御の一例を示す図。
【図２】第１実施の形態のチップレイアウトを示す図。
【図３】第１実施の形態のチップレイアウトを示す図。
【図４】第１実施の形態のチップレイアウトを示す図。
【図５】第１実施の形態のチップレイアウトを示す図。
【図６】第１実施の形態のチップレイアウトを示す図。
【図７】第１実施の形態のチップレイアウトを示す図。
【図８】第１実施の形態のチップレイアウトを示す図。
【図９】第１実施の形態のチップレイアウトを示す図。
【図１０】第２実施の形態のチップレイアウトを示す図。
【図１１】第３実施の形態のチップレイアウトを示す図。
【図１２】第３実施の形態のチップレイアウトを示す図。
【図１３】第３実施の形態のチップレイアウトを示す図。
【図１４】第３実施の形態のチップレイアウトを示す図。
【図１５】第３実施の形態のチップレイアウトを示す図。
【図１６】第４実施の形態のチップレイアウトを示す図。
【図１７】第４実施の形態のチップレイアウトを示す図。
【図１８】第５実施の形態のチップレイアウトを示す図。
【図１９】第６実施の形態のチップレイアウトを示す図。
【図２０】適用例であるＡＬＵのチップレイアウトを示す図。
【符号の説明】
【００８９】
１０：  チップ、  １１，１１ｘ，１１ｙ：  演算器のブロック、  １２：  温度センサ、  １５，１５ｘ：  Ｉ／Ｏ回路、  １６：  エンベデッドＤＲＡＭ。
【図１】
2006245395.tif 000003
【図２】
2006245395.tif 000004
【図３】
2006245395.tif 000005
【図４】
2006245395.tif 000006
【図５】
2006245395.tif 000007
【図６】
2006245395.tif 000008
【図７】
2006245395.tif 000009
【図８】
2006245395.tif 000010
【図９】
2006245395.tif 000011
【図１０】
2006245395.tif 000012
【図１１】
2006245395.tif 000013
【図１２】
2006245395.tif 000014
【図１３】
2006245395.tif 000015
【図１４】
2006245395.tif 000016
【図１５】
2006245395.tif 000017
【図１６】
2006245395.tif 000018
【図１７】
2006245395.tif 000019
【図１８】
2006245395.tif 000020
【図１９】
2006245395.tif 000021
【図２０】
2006245395.tif 000022