(57)【要約】  素子の自己発熱による温度変化だけでなく、隣接する発熱素子からの熱伝達による温度変化をも考慮して回路素子の特性を正確に予測する。シミュレーション部４が、電気回路網入力部２から供給された電気回路網と熱回路網入力部３から供給された熱回路網とを参照し、半導体集積回路を構成する複数の素子のそれぞれについて、当該素子の自己発熱量により生じる第１の発熱温度と他の素子から当該素子に流入する熱量によって生じる第２の発熱温度を求め、該第１および第２の発熱温度に基づいて当該素子の素子温度を算出し、該素子温度での当該素子における電圧値および電流値を予め与えられている当該素子の温度依存性を示すデータに基づいて算出する。
2008075611.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路を構成する複数の素子に関する接続関係を示す電気回路網を入力するための電気回路網入力部と、
前記複数の素子に関する熱等価回路である熱回路網を入力するための熱回路網入力部と、
前記電気回路網入力部から供給された電気回路網と前記熱回路網入力部から供給された熱回路網とを参照し、前記複数の素子のそれぞれについて初期条件として設定された、第１の素子温度、第１の電圧値、第１の電流値および熱抵抗値に基づいて前記半導体集積回路の電気回路シミュレーションを実行するシミュレーション部と、を有し、
前記シミュレーション部は、前記複数の素子のそれぞれについて、当該素子の自己発熱量により生じる第１の発熱温度を、当該素子の前記第１の電圧値、第１の電流値および熱抵抗値に基づいて算出し、他の素子から当該素子に流入する熱量によって生じる第２の発熱温度を、該他の素子の前記第１の電圧値および第１の電流値と当該素子の前記熱抵抗値とに基づいて算出し、該第１および第２の発熱温度と当該素子の前記第１の素子温度とに基づいて当該素子の第２の素子温度を算出し、該第２の素子温度での当該素子における第２の電圧値および第２の電流値を予め与えられている当該素子の温度依存性を示すデータに基づいて算出することを特徴とする回路シミュレータ。
【請求項２】
前記シミュレーション部は、前記複数の素子のそれぞれについて、前記第１の電圧値と前記第２の電圧値の差を算出して、該差の加算和である電圧変化量を算出するとともに、前記第１の電流値と前記第２の電流値の差を算出し、該差の加算和である電流変化量を算出し、該電圧変化量および電流変化量の双方が予め設定された収束条件値以下になるまで、前記第１の電圧値および第１の電流値の各値を変更して、前記複数の素子のそれぞれについて、前記第２の素子温度を算出し、該第２の素子温度での前記第２の電圧値および第２の電流値を算出する処理を反復する、請求の範囲１に記載の回路シミュレータ。
【請求項３】
前記シミュレーション部は、前記複数の素子のそれぞれに関する形状データを含むレイアウトデータが与えられており、前記複数の素子のそれぞれについて、前記レイアウトデータ上の該当する素子の形状データを用いて前記熱抵抗値を導出する、請求の範囲１また２に記載の回路シミュレータ。
【請求項４】
前記シミュレーション部は、前記複数の素子の各素子間の距離データを含むレイアウトデータが与えられており、前記複数の素子のそれぞれについて、前記レイアウトデータ上の該当する素子間の距離データを前記熱抵抗値の代わりに用いて前記第２の発熱温度を算出する、請求の範囲１また２に記載の回路シミュレータ。
【請求項５】
半導体集積回路を構成する複数の素子に関する接続関係を示す電気回路網を入力するための電気回路網入力部と、
前記複数の素子に関する熱等価回路である熱回路網を入力するための熱回路網入力部と、
前記電気回路網入力部から供給された電気回路網と前記熱回路網入力部から供給された熱回路網とを参照し、前記複数の素子のそれぞれについて初期条件として設定された、第１の素子温度、第１の電圧値、第１の電流値および第１の熱抵抗値に基づいて前記半導体集積回路の電気回路シミュレーションを実行するシミュレーション部と、を有し、
前記シミュレーション部は、前記複数の素子のそれぞれについて、当該素子の自己発熱量により生じる第１の発熱温度を、当該素子の前記第１の電圧値、第１の電流値および第１の熱抵抗値に基づいて算出し、他の素子から当該素子に流入する熱量によって生じる第２の発熱温度を、該他の素子の前記第１の電圧値および第１の電流値と当該素子の前記第１の熱抵抗値とに基づいて算出し、該第１および第２の発熱温度と当該素子の前記第１の素子温度とに基づいて当該素子の第２の素子温度を算出し、該第２の素子温度での当該素子における第２の電圧値、第２の電流値および第２の熱抵抗値を予め与えられている当該素子の温度依存性を示すデータに基づいて算出することを特徴とする回路シミュレータ。
【請求項６】
前記シミュレーション部は、前記複数の素子のそれぞれについて、前記第１の電圧値と前記第２の電圧値の差を算出して、該差の加算和である電圧変化量を算出し、前記第１の電流値と前記第２の電流値の差を算出し、該差の加算和である電流変化量を算出し、前記第１の熱抵抗値と前記第２の熱抵抗値の差を算出し、該差の加算和である熱抵抗変化量を算出し、該電圧変化量、電流変化量、および熱抵抗変化量のそれぞれが予め設定された収束条件値以下になるまで、前記第１の電圧値、第１の電流値および第１の熱抵抗値の各値を変更して、前記複数の素子のそれぞれについて、前記第２の素子温度を算出し、該第２の素子温度での前記第２の電圧値、第２の電流値および第２の熱抵抗値を算出する処理を反復する、請求の範囲５に記載の回路シミュレータ。
【請求項７】
前記シミュレーション部は、前記複数の素子のそれぞれに関する形状データを含むレイアウトデータが与えられており、前記複数の素子のそれぞれについて、前記レイアウトデータ上の該当する素子の形状データを用いて前記第１の熱抵抗値を導出する、請求の範囲５また６に記載の回路シミュレータ。
【請求項８】
前記シミュレーション部は、前記複数の素子の各素子間の距離データを含むレイアウトデータが与えられており、前記複数の素子のそれぞれについて、前記レイアウトデータ上の該当する素子間の距離データを前記第１の熱抵抗値の代わりに用いて前記第２の発熱温度を算出する、請求の範囲５また６に記載の回路シミュレータ。
【請求項９】
前記複数の素子の数をＮとし、前記電圧変化量および電流変化量の少なくとも一方が予め設定された収束条件値を超える場合に行われる処理の反復回数をｋとし、前記複数の素子のうちのｍ（１≦ｍ≦Ｎ）番目の素子からｎ（１≦ｎ≦Ｎ）番目の素子に流入する熱量をＱｉ(n,m,k)とし、前記ｎ番目の素子の前記第１の電圧値および第１の電流値をそれぞれＶ(m,k)、Ｉ(m,k)とする場合、前記Ｑｉ(n,m,k)が、係数をＡとして、
Ｑｉ(n,m,k)=Ａ×[Ｖ(m,k)×Ｉ(m,k)]
で与えられる、請求の範囲２または６に記載の回路シミュレータ。
【請求項１０】
前記係数Ａは時間に依存する、請求の範囲９に記載の回路シミュレータ。
【請求項１１】
前記ｎ番目の素子が電流源素子であり、前記係数Ａが前記電流源素子の電流利得である、請求の範囲９または１０に記載の回路シミュレータ。
【請求項１２】
前記複数の素子の数をＮとし、前記電圧変化量および電流変化量の少なくとも一方が予め設定された収束条件値を超える場合に行われる処理の反復回数をｋとし、前記複数の素子のうちのｍ（１≦ｍ≦Ｎ）番目の素子からｎ（１≦ｎ≦Ｎ）番目の素子に流入する熱量をＱｉ(n,m,k)とし、前記ｋが０のときの前記ｍ番目の素子における素子温度をＴ(m,0)とし、前記ｋが０以外のときの前記ｍ番目の素子における素子温度をＴ(m,ｋ)とする場合、前記Ｑｉ(n,m,k)が、係数をＢとして、
Ｑｉ(n,m,k)＝Ｂ×[Ｔ(m,k)-Ｔ(m,0)]で与えられる、請求の範囲２または６に記載の回路シミュレータ。
【請求項１３】
前記係数Ｂは時間に依存する、請求の範囲１２に記載の回路シミュレータ。
【請求項１４】
前記ｎ番目の素子が電圧制御型電流源素子であり、前記係数Ｂが前記電圧制御型電流源素子のトランスコンダクタンスである、請求の範囲１２また１３に記載の回路シミュレータ。
【請求項１５】
複数の素子からなる半導体集積回路のシミュレーション方法であって、
前記複数の素子に関する接続関係を示す電気回路網と前記複数の素子に関する熱等価回路である熱回路網とを参照し、前記複数の素子のそれぞれについて初期条件として設定された、第１の素子温度、第１の電圧値、第１の電流値および熱抵抗値に基づいて前記半導体集積回路の電気回路シミュレーションを実行するステップを含み、
前記電気回路シミュレーション実行ステップは、
前記複数の素子のそれぞれについて、当該素子の自己発熱量により生じる第１の発熱温度を、当該素子の前記第１の電圧値、第１の電流値および熱抵抗値に基づいて算出し、他の素子から当該素子に流入する熱量によって生じる第２の発熱温度を、該他の素子の前記第１の電圧値および第１の電流値と当該素子の前記熱抵抗値とに基づいて算出し、該第１および第２の発熱温度と当該素子の前記第１の素子温度とに基づいて当該素子の第２の素子温度を算出し、該第２の素子温度での当該素子における第２の電圧値および第２の電流値を予め与えられている当該素子の温度依存性を示すデータに基づいて算出するステップを含む回路シミュレーション方法。
【請求項１６】
前記電気回路シミュレーション実行ステップは、前記複数の素子のそれぞれについて、前記第１の電圧値と前記第２の電圧値の差を算出して、該差の加算和である電圧変化量を算出するとともに、前記第１の電流値と前記第２の電流値の差を算出し、該差の加算和である電流変化量を算出し、該電圧変化量および電流変化量の双方が予め設定された収束条件値以下になるまで、前記第１の電圧値および第１の電流値の各値を変更して、前記複数の素子のそれぞれについて、前記第２の素子温度を算出し、該第２の素子温度での前記第２の電圧値および第２の電流値をそれぞれ算出する処理を反復するステップを含む、請求の範囲１５に記載の回路シミュレーション方法。
【請求項１７】
複数の素子からなる半導体集積回路のシミュレーション方法であって、
前記複数の素子に関する接続関係を示す電気回路網と前記複数の素子に関する熱等価回路である熱回路網とを参照し、前記複数の素子のそれぞれについて初期条件として設定された、第１の素子温度、第１の電圧値、第１の電流値および第１の熱抵抗値に基づいて前記半導体集積回路の電気回路シミュレーションを実行するステップを含み、
前記電気回路シミュレーション実行ステップは、前記複数の素子のそれぞれについて、当該素子の自己発熱量により生じる第１の発熱温度を、当該素子の前記第１の電圧値、第１の電流値および第１の熱抵抗値に基づいて算出し、他の素子から当該素子に流入する熱量によって生じる第２の発熱温度を、該他の素子の前記第１の電圧値および第１の電流値と当該素子の前記第１の熱抵抗値とに基づいて算出し、該第１および第２の発熱温度と当該素子の前記第１の素子温度とに基づいて当該素子の第２の素子温度を算出し、該第２の素子温度での当該素子における第２の電圧値、第２の電流値および第２の熱抵抗値を予め与えられている当該素子の温度依存性を示すデータに基づいて算出するステップを含む、回路シミュレーション方法。
【請求項１８】
前記電気回路シミュレーション実行ステップは、前記複数の素子のそれぞれについて、前記第１の電圧値と前記第２の電圧値の差を算出して、該差の加算和である電圧変化量を算出し、前記第１の電流値と前記第２の電流値の差を算出し、該差の加算和である電流変化量を算出し、前記第１の熱抵抗値と前記第２の熱抵抗値の差を算出し、該差の加算和である熱抵抗変化量を算出し、該電圧変化量、電流変化量、および熱抵抗変化量のそれぞれが予め設定された収束条件値以下になるまで、前記第１の電圧値、第１の電流値および第１の熱抵抗値の各値を変更して、前記複数の素子のそれぞれについて、前記第２の素子温度を算出し、該第２の素子温度での前記第２の電圧値、第２の電流値および第２の熱抵抗値をそれぞれ算出する処理を反復するステップを含む、請求の範囲１７に記載の回路シミュレーション方法。
【請求項１９】
半導体集積回路を構成する複数の素子に関する接続関係を示す電気回路網と前記複数の素子に関する熱等価回路である熱回路網とを参照し、前記複数の素子のそれぞれについて初期条件として設定された、第１の素子温度、第１の電圧値、第１の電流値および熱抵抗値に基づいて前記半導体集積回路の電気回路シミュレーションを実行する処理をコンピュータに実行させるプログラムであって、
前記電気回路シミュレーション実行処理は、前記複数の素子のそれぞれについて、当該素子の自己発熱量により生じる第１の発熱温度を、当該素子の前記第１の電圧値、第１の電流値および熱抵抗値に基づいて算出し、他の素子から当該素子に流入する熱量によって生じる第２の発熱温度を、該他の素子の前記第１の電圧値および第１の電流値と当該素子の前記熱抵抗値とに基づいて算出し、該第１および第２の発熱温度と当該素子の前記第１の素子温度とに基づいて当該素子の第２の素子温度を算出し、該第２の素子温度での当該素子における第２の電圧値および第２の電流値を予め与えられている当該素子の温度依存性を示すデータに基づいて算出する処理を含むプログラム。
【請求項２０】
前記電気回路シミュレーション実行処理は、前記複数の素子のそれぞれについて、前記第１の電圧値と前記第２の電圧値の差を算出して、該差の加算和である電圧変化量を算出するとともに、前記第１の電流値と前記第２の電流値の差を算出し、該差の加算和である電流変化量を算出し、該電圧変化量および電流変化量の双方が予め設定された収束条件値以下になるまで、前記第１の電圧値および第１の電流値の各値を変更して、前記複数の素子のそれぞれについて、前記第２の素子温度を算出し、該第２の素子温度での前記第２の電圧値および第２の電流値をそれぞれ算出する処理を反復するステップを含む、請求の範囲１９に記載のプログラム。
【請求項２１】
半導体集積回路を構成する複数の素子に関する接続関係を示す電気回路網と前記複数の素子に関する熱等価回路である熱回路網とを参照し、前記複数の素子のそれぞれについて初期条件として設定された、第１の素子温度、第１の電圧値、第１の電流値および第１の熱抵抗値に基づいて前記半導体集積回路の電気回路シミュレーションを実行する処理をコンピュータに実行させるプログラムであって、
前記電気回路シミュレーション実行処理は、前記複数の素子のそれぞれについて、当該素子の自己発熱量により生じる第１の発熱温度を、当該素子の前記第１の電圧値、第１の電流値および第１の熱抵抗値に基づいて算出し、他の素子から当該素子に流入する熱量によって生じる第２の発熱温度を、該他の素子の前記第１の電圧値および第１の電流値と当該素子の前記第１の熱抵抗値とに基づいて算出し、該第１および第２の発熱温度と当該素子の前記第１の素子温度とに基づいて当該素子の第２の素子温度を算出し、該第２の素子温度での当該素子における第２の電圧値、第２の電流値および第２の熱抵抗値を予め与えられている当該素子の温度依存性を示すデータに基づいて算出する処理を含むプログラム。
【請求項２２】
前記電気回路シミュレーション実行ステップは、前記複数の素子のそれぞれについて、前記第１の電圧値と前記第２の電圧値の差を算出して、該差の加算和である電圧変化量を算出し、前記第１の電流値と前記第２の電流値の差を算出し、該差の加算和である電流変化量を算出し、前記第１の熱抵抗値と前記第２の熱抵抗値の差を算出し、該差の加算和である熱抵抗変化量を算出し、該電圧変化量、電流変化量、および熱抵抗変化量のそれぞれが予め設定された収束条件値以下になるまで、前記第１の電圧値、第１の電流値および第１の熱抵抗値の各値を変更して、前記複数の素子のそれぞれについて、前記第２の素子温度を算出し、該第２の素子温度での前記第２の電圧値、第２の電流値および第２の熱抵抗値をそれぞれ算出する処理を反復するステップを含む、請求の範囲２１に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の回路設計に用いられる回路シミュレータに関し、特に、複数の素子を接続してなる回路を備え、これら素子のうちの少なくとも１つが発熱素子よりなる半導体集積回路の回路設計を行うための回路シミュレータに関する。
【背景技術】
【０００２】
特開平８−３２７６９８号公報には、複数の回路素子が接続されてなる回路の自己発熱を考慮した設計が可能な回路シミュレーション方法が記載されている。この回路シミュレーション方法では、まず、回路を構成する各回路素子について、自己発熱を考慮しない場合の温度Ｔにおける電流および電圧の大きさを算出する（第１のステップ）。そして、回路の消費電力により変化する各回路素子の電流の大きさを求め、この電流変化による回路の消費電力の変化から温度変化ΔＴを求め、温度（Ｔ＋ΔＴ）を新たな温度Ｔとする（第２のステップ）。回路の状態が収束するまで第１および第２のステップを交互に繰り返すことで、回路素子の発熱を考慮した電圧又は電流を求めることができる。【０００３】
また、特開平１１−１７５５７６号公報には、熱回路網を用いたレイアウト検証を行うシステムが開示されている。このレイアウト検証システムでは、まず、論理回路を元にレイアウトを行ったレイアウト結果から回路図を得、その回路図を用いて各配線セグメントの電流密度を計算する。次いで、回路図から熱回路を得、その熱回路を用いて各配線セグメントの温度を計算し、その温度に基づいて各配線セグメントの許容電流密度を得る。そして、回路図から求めた各配線セグメントの電流密度と熱回路から求めた各配線セグメントの許容電流密度とを比較して検証を行う。
【発明の開示】
【０００４】
近年は、半導体集積回路の微細化・小型化が進み、その結果、回路を構成する素子の自己発熱による温度上昇だけでなく、隣接する発熱素子からの熱伝達によっても温度上昇が生じ、それにより非発熱素子の電流電圧特性が変化するようになったため、回路素子の特性を正確に予測することが難しくなってきている。
【０００５】
特開平８−３２７６９８号公報に記載のシミュレーション方法および特開平１１−１７５５７６号公報に記載の検証システムはいずれも、発熱素子間の熱の影響を考慮したシミュレーションを行うようになっていないため、発熱素子間の熱の伝達を正確に検証することは困難である。加えて、特開平１１−１７５５７６号公報に記載の検証システムにおいては、発熱素子である熱流源の間に、熱コンダクタンスとなる抵抗を配置した熱回路を用いるため、発熱素子間の熱の伝達を正確に表現することができない。
【０００６】
本発明の目的は、上記問題を解決し、素子の自己発熱による温度変化だけでなく、隣接する発熱素子からの熱伝達による温度変化をも考慮して、回路素子の特性を正確に予測することが可能な、回路シミュレータ、回路シミュレーション方法およびプログラムを提供することにある。
【０００７】
上記目的を達成するため、本発明の第１の回路シミュレータは、半導体集積回路を構成する複数の素子に関する接続関係を示す電気回路網を入力するための電気回路網入力部と、前記複数の素子に関する熱等価回路である熱回路網を入力するための熱回路網入力部と、前記電気回路網入力部から供給された電気回路網と前記熱回路網入力部から供給された熱回路網とを参照し、前記複数の素子のそれぞれについて初期条件として設定された、第１の素子温度、第１の電圧値、第１の電流値および熱抵抗値に基づいて前記半導体集積回路の電気回路シミュレーションを実行するシミュレーション部と、を有し、
前記シミュレーション部が、前記複数の素子のそれぞれについて、当該素子の自己発熱量により生じる第１の発熱温度を、当該素子の前記第１の電圧値、第１の電流値および熱抵抗値に基づいて算出し、他の素子から当該素子に流入する熱量によって生じる第２の発熱温度を、該他の素子の前記第１の電圧値および第１の電流値と当該素子の前記熱抵抗値とに基づいて算出し、該第１および第２の発熱温度と当該素子の前記第１の素子温度とに基づいて当該素子の第２の素子温度を算出し、該第２の素子温度での当該素子における第２の電圧値および第２の電流値を予め与えられている当該素子の温度依存性を示すデータに基づいて算出することを特徴とする。
【０００８】
本発明の第２の回路シミュレータは、半導体集積回路を構成する複数の素子に関する接続関係を示す電気回路網を入力するための電気回路網入力部と、前記複数の素子に関する熱等価回路である熱回路網を入力するための熱回路網入力部と、前記電気回路網入力部から供給された電気回路網と前記熱回路網入力部から供給された熱回路網とを参照し、前記複数の素子のそれぞれについて初期条件として設定された、第１の素子温度、第１の電圧値、第１の電流値および第１の熱抵抗値に基づいて前記半導体集積回路の電気回路シミュレーションを実行するシミュレーション部と、を有し、
前記シミュレーション部が、前記複数の素子のそれぞれについて、当該素子の自己発熱量により生じる第１の発熱温度を、当該素子の前記第１の電圧値、第１の電流値および第１の熱抵抗値に基づいて算出し、他の素子から当該素子に流入する熱量によって生じる第２の発熱温度を、該他の素子の前記第１の電圧値および第１の電流値と当該素子の前記第１の熱抵抗値とに基づいて算出し、該第１および第２の発熱温度と当該素子の前記第１の素子温度とに基づいて当該素子の第２の素子温度を算出し、該第２の素子温度での当該素子における第２の電圧値、第２の電流値および第２の熱抵抗値を予め与えられている当該素子の温度依存性を示すデータに基づいて算出することを特徴とする。
【０００９】
本発明の第１の回路シミュレーション方法は、複数の素子からなる半導体集積回路のシミュレーション方法であって、
前記複数の素子に関する接続関係を示す電気回路網と前記複数の素子に関する熱等価回路である熱回路網とを参照し、前記複数の素子のそれぞれについて初期条件として設定された、第１の素子温度、第１の電圧値、第１の電流値および熱抵抗値に基づいて前記半導体集積回路の電気回路シミュレーションを実行するステップを含み、
前記電気回路シミュレーション実行ステップは、
前記複数の素子のそれぞれについて、当該素子の自己発熱量により生じる第１の発熱温度を、当該素子の前記第１の電圧値、第１の電流値および熱抵抗値に基づいて算出し、他の素子から当該素子に流入する熱量によって生じる第２の発熱温度を、該他の素子の前記第１の電圧値および第１の電流値と当該素子の前記熱抵抗値とに基づいて算出し、該第１および第２の発熱温度と当該素子の前記第１の素子温度とに基づいて当該素子の第２の素子温度を算出し、該第２の素子温度での当該素子における第２の電圧値および第２の電流値を予め与えられている当該素子の温度依存性を示すデータに基づいて算出するステップを含む。
【００１０】
本発明の第２の回路シミュレーション方法は、複数の素子からなる半導体集積回路のシミュレーション方法であって、
前記複数の素子に関する接続関係を示す電気回路網と前記複数の素子に関する熱等価回路である熱回路網とを参照し、前記複数の素子のそれぞれについて初期条件として設定された、第１の素子温度、第１の電圧値、第１の電流値および第１の熱抵抗値に基づいて前記半導体集積回路の電気回路シミュレーションを実行するステップを含み、
前記電気回路シミュレーション実行ステップは、前記複数の素子のそれぞれについて、当該素子の自己発熱量により生じる第１の発熱温度を、当該素子の前記第１の電圧値、第１の電流値および第１の熱抵抗値に基づいて算出し、他の素子から当該素子に流入する熱量によって生じる第２の発熱温度を、該他の素子の前記第１の電圧値および第１の電流値と当該素子の前記第１の熱抵抗値とに基づいて算出し、該第１および第２の発熱温度と当該素子の前記第１の素子温度とに基づいて当該素子の第２の素子温度を算出し、該第２の素子温度での当該素子における第２の電圧値、第２の電流値および第２の熱抵抗値を予め与えられている当該素子の温度依存性を示すデータに基づいて算出するステップを含む。
【００１１】
本発明の第１のプログラムは、半導体集積回路を構成する複数の素子に関する接続関係を示す電気回路網と前記複数の素子に関する熱等価回路である熱回路網とを参照し、前記複数の素子のそれぞれについて初期条件として設定された、第１の素子温度、第１の電圧値、第１の電流値および熱抵抗値に基づいて前記半導体集積回路の電気回路シミュレーションを実行する処理をコンピュータに実行させるプログラムであって、
前記電気回路シミュレーション実行処理は、前記複数の素子のそれぞれについて、当該素子の自己発熱量により生じる第１の発熱温度を、当該素子の前記第１の電圧値、第１の電流値および熱抵抗値に基づいて算出し、他の素子から当該素子に流入する熱量によって生じる第２の発熱温度を、該他の素子の前記第１の電圧値および第１の電流値と当該素子の前記熱抵抗値とに基づいて算出し、該第１および第２の発熱温度と当該素子の前記第１の素子温度とに基づいて当該素子の第２の素子温度を算出し、該第２の素子温度での当該素子における第２の電圧値および第２の電流値を予め与えられている当該素子の温度依存性を示すデータに基づいて算出する処理を含む。
【００１２】
本発明の第２のプログラムは、半導体集積回路を構成する複数の素子に関する接続関係を示す電気回路網と前記複数の素子に関する熱等価回路である熱回路網とを参照し、前記複数の素子のそれぞれについて初期条件として設定された、第１の素子温度、第１の電圧値、第１の電流値および第１の熱抵抗値に基づいて前記半導体集積回路の電気回路シミュレーションを実行する処理をコンピュータに実行させるプログラムであって、
前記電気回路シミュレーション実行処理は、前記複数の素子のそれぞれについて、当該素子の自己発熱量により生じる第１の発熱温度を、当該素子の前記第１の電圧値、第１の電流値および第１の熱抵抗値に基づいて算出し、他の素子から当該素子に流入する熱量によって生じる第２の発熱温度を、該他の素子の前記第１の電圧値および第１の電流値と当該素子の前記第１の熱抵抗値とに基づいて算出し、該第１および第２の発熱温度と当該素子の前記第１の素子温度とに基づいて当該素子の第２の素子温度を算出し、該第２の素子温度での当該素子における第２の電圧値、第２の電流値および第２の熱抵抗値を予め与えられている当該素子の温度依存性を示すデータに基づいて算出する処理を含む。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態である回路シミュレータの主要部の構成を示すブロック図である。
【図２】図１に示す回路シミュレータにて行われる電気回路シミュレーションの処理手順を示すフローチャートである。
【図３】図１に示す回路シミュレータにて行われる電気回路シミュレーションの他の処理手順を示すフローチャートである。
【図４】電流源素子の一例を示す回路図である。
【図５】電圧制御型電流源素子の一例を示す回路図である。
【図６】本発明の第２の実施形態である回路シミュレータの主要部の構成を示すブロック図である。
【図７】図６に示す回路シミュレータにて行われる電気回路シミュレーションの処理手順を示すフローチャートである。
【符号の説明】
【００１４】
１、１１  初期条件入力部
２、１２  電気回路網入力部
３  熱回路網入力部
４、１４  シミュレーション部
５、１５  出力部
１３  レイアウト入力部
１６  熱回路網変換部
【発明を実施するための最良の形態】
【００１５】
次に、本発明の実施形態について図面を参照して説明する。【００１６】
(第１の実施形態)
図１は、本発明の第１の実施形態である回路シミュレータの主要部の構成を示すブロック図である。【００１７】
本実施形態の回路シミュレータは、プログラムにより動作するコンピュータシステムにより実現されるシミュレータであって、例えば半導体集積回路の設計に用いられる。この回路シミュレータの主要部は、図１に示すように、初期条件入力部１、電気回路網入力部２、熱回路網入力部３、シミュレーション部４および出力部５から構成されている。【００１８】
電気回路網入力部２は、シミュレーションの対象となる半導体集積回路の電気回路網をシミュレーション部４に供給する。電気回路網は、複数の素子を接続してなる回路であって、回路を構成する素子のうちの少なくとも１つが発熱素子よりなる。電気回路網は、例えばトランジスタや抵抗などの回路素子単位で設計された回路であって、外部コンピュータ装置から提供されても、当該シミュレータにて作成されてもよい。当該シミュレータで作成する場合は、電気回路網を作成するためのアプリケーションを予め用意しておき（不図示の記憶部にインストールしておく）、使用者が、キーボードなどの操作部（不図示）を通じて、アプリケーションを起動して、任意に電気回路網を作成する。【００１９】
熱回路網入力部３は、シミュレーションの対象となる半導体集積回路の熱回路網をシミュレーション部４に供給する。熱回路網の作成には、既存の熱回路網法で用いられている作成手法を適用する。熱回路網は、半導体集積回路の熱遷移の生じる部分を対象物とし、対象物を節点と節点の間を結ぶ熱抵抗に置き換え、節点間の熱抵抗（℃／Ｗ）、温度（℃）、熱の流れ（Ｗ）をそれぞれ抵抗（Ω）、電圧（Ｖ）、電流（Ａ）と見なして作成した熱等価回路である。この熱回路網も、電気回路網と同様で、外部コンピュータ装置から提供されても、当該シミュレータにて作成されてもよい。【００２０】
初期条件入力部１は、使用者が不図示の操作部を通じて設定した初期条件をシミュレーション部４に供給する。初期条件として設定するパラメータは、回路を構成する素子の数Ｎ、温度Ｔ、電圧Ｖ、電流Ｉ、熱抵抗Ｒｔｈ、電圧収束判定条件εｖ、電流収束判定条件εｉ、何番目の素子であるかを示す係数ｎ、ｍ、反復数を示す変数ｋである。【００２１】
シミュレーション部４は、電気回路網入力部２から供給された電気回路網と熱回路網入力部３から供給された熱回路網とを参照して半導体集積回路の電気回路シミュレーションを行い、その結果を出力部５に供給する。出力部５は、例えばＬＣＤ（Liquid  Crystal  Display）などの表示装置であって、シミュレーション部４から供給されたシミュレーション結果を使用者に提示する。【００２２】
図２に、本実施形態の回路シミュレータにて行われる電気回路シミュレーションの処理手順を示す。以下、図２を参照して、電気回路シミュレーションを具体的に説明する。【００２３】
まず、電気回路シミュレーションを実行するための初期条件を設定する（ステップ１０１）。具体的には、素子数をＮとし、ｎ番目の素子における温度、電圧、電流、熱抵抗をそれぞれＴ（n,k）、Ｖ（n,k）、Ｉ（n,k）、Ｒｔｈ（n）とし、ｍ番目の素子における電圧、電流をそれぞれＶ（m,k）、Ｉ（m,k）とし、電圧収束判定条件をεｖとし、電流収束判定条件をεｉとする。そして、変数ｋを０とし、係数ｎ、ｍをそれぞれ１とする。係数ｎ、ｍの範囲はそれぞれ、１以上、Ｎ以下である。【００２４】
初期条件の設定後、ｎ番目の素子における電圧値Ｖ（n,k）および電流値Ｉ（n,k）に基づいてｎ番目の素子における自己発熱量Ｑｓ(n,k)を計算し（ステップ１０２）、その自己発熱量Ｑｓ(n,k)とｎ番目の素子における熱抵抗値Ｒｔｈ（n）に基づいて、ｎ番目の素子における自己発熱温度ΔＴｓ(n,k)を計算する（ステップ１０３）。さらに、このステップ１０２、１０３の処理と同時に、または連続的に、ｍ番目の素子における電圧値Ｖ（m,k）および電流値Ｉ（m,k）に基づいて、ｍ番目の素子からｎ番目の素子へ流入する熱量Ｑｉ(n,m,k)を計算する（ステップ１０４）。そして、その熱量Ｑｉ(n,m,k)の変数ｍが１からｎ−１の範囲及び変数ｍがｎ＋１からＮまでの範囲における可算和を計算し、その可算和とｎ番目の素子における熱抵抗値Ｒｔｈ（n）とに基づいて、ｍ番目の素子からｎ番目の素子へ流入した熱量によって生じるｎ番目の素子における発熱温度ΔＴｉ(n,m,k)を計算する（ステップ１０５）。【００２５】
次に、ｎ番目の素子の温度Ｔ(n,k)と自己発熱温度ΔＴｓ(n,k)と発熱温度ΔＴｉ(n,m,k)を加算した値をｎ番目の素子温度Ｔ(n,k+1)とする（ステップ１０６）。そして、ｎ番目の素子における素子温度Ｔ(n,k+1)での新たな電圧値Ｖ(n,k+1)および電流値Ｉ(n,k+1)を計算し（ステップ１０７）、係数ｎの値と素子数Ｎの値を比較する（ステップ１０８）。ここで、ｎ番目の素子における新たな電圧値Ｖ(n,k+1)および電流値Ｉ(n,k+1)は、予め与えられているｎ番目の素子の温度依存性（温度を含む電圧電流特性）を示すデータに基づいて算出される。【００２６】
ステップ１０８にて、係数ｎの値が素子数Ｎ未満である判定された場合は、係数ｎに１を足した値を新たな係数ｎとして、ステップ１０２及びステップ１０４へ移行する（ステップ１０９）。ステップ１０８にて、係数ｎが素子数Ｎ以上であると判定された場合は、ステップ１０７で求めた電圧値Ｖ(n,k+1)と電圧値Ｖ(n,k)の差の、係数ｎが１からＮまでの範囲における可算和を電圧変化量ＥＶとし、ステップ１０７で求めた電流値Ｉ(n,k+1)と電流値Ｉ(n,k)の差の、係数ｎが１からＮまで範囲における可算和を電流変化量ＥＩとする（ステップ１１０）。そして、電圧変化量ＥＶと電圧収束判定条件εｖ、電流変化量ＥＩと電流収束判定条件εｉをそれぞれ比較する（ステップ１１１）。【００２７】
ステップ１１１にて、ＥＶの値がεｖの値より大きいと判定された場合、または、ＥＩの値がεｉの値より大きいと判定された場合は、変数ｋの値に１を足した値を新たな変数ｋとして、ステップ１０２およびステップ１０４に移行する（ステップ１１２）。ステップ１１１にて、ＥＶの値がεｖの値以下で、かつ、ＥＩの値がεｉの値以下と判定された場合は、シミュレーション処理を終了する。【００２８】
以上のシミュレーション処理の手順においては、ステップ１０１を実行した後、ステップ１０８にてｎ≧Ｎとなるまで、ステップ１０２〜１０７の処理が繰り返し実行される。そして、ステップ１１０を実行した後、ステップ１１１にてＥＶ及びＥＩがともに収束判定条件の値以下と判定されるまで、電圧値Ｖ(n,k)および電流値Ｉ(n,k)の各値を変更してステップ１０２〜１１０の処理を繰り返し実行する。このような反復処理により、回路を構成する複数の素子のそれぞれの自己発熱および素子間の発熱の影響を考慮した、電圧、電流および温度を求めることができる。【００２９】
本実施形態の回路シミュレータによれば、回路を構成する複数の素子のそれぞれについて、当該素子の自己発熱による温度変化と、他の発熱素子からの熱伝達による当該素子の温度変化とをそれぞれ計算することが可能であるので、それら温度変化に基づいて当該素子の電流・電圧特性を正確に求めることが可能である。本実施形態の回路シミュレータは、小型な半導体集積回路の正確なシミュレーションを可能にし、リワーク回数の低減や、開発費用の削減に寄与する。【００３０】
本実施形態の回路シミュレータは、本発明の一例であり、その構成および動作は適宜に変更することができる。例えば、レイアウトデータから熱回路網を生成する場合は、図３で示すように、ステップ１０１を実行する前に、ｎ番目の素子における熱抵抗値Ｒｔｈ（n）を、レイアウトデータ上におけるｎ番目の素子の素子形状を用いて導出するステップ（図３の１１３）を追加してもよい。このように、レイアウトデータの素子形状からｎ番目の素子における熱抵抗値Ｒｔｈ（n）を導出することで、例えばマスク作製と回路設計のシームレスな設計が可能となる。【００３１】
また、ステップ１０４において、レイアウトデータに基づいて、ｎ番目の素子とｍ番目の素子の間の距離を取得し、その素子間距離とｍ番目の素子における電圧Ｖ値（m,k）および電流値Ｉ（m,k）とに基づいて、ｍ番目の素子からｎ番目の素子へ流入する熱量Ｑｉ(n,m,k)を導出してもよい。この場も、マスク作製と回路設計のシームレスな設計が可能となる。【００３２】
また、熱量Ｑｉ(n,m,k)は、係数Ａを用いて、Ｑｉ(n,m,k)=A×[V(m,k)×I(m,k)]と表してもよい。この場合、係数Ａは時間に依存してもよい。時間に依存する係数Ａを用いることで、熱の過渡応答（時間過渡応答特性）を考慮した素子の電圧・電流特性をシミュレーションすることが可能になる。【００３３】
さらに、図４に示すような一端が接地された電流源素子２０が与えられた場合で、その電流源素子２０の熱量Ｑｉ(n,m,k)の計算を行う場合に、係数Ａをその電流源素子の電流利得αで表してもよい。具体的には、ｍ番目の素子における電圧および電流の値をそれぞれ電圧値Ｖ（m,k）および電流値Ｉ（m,k）とするとき、ｍ番目の素子の自己発熱量Ｑｓ(m,k)は、
Ｑｓ(m,k)＝Ｖ（m,k）×Ｉ（m,k）
で与えられ、熱量Ｑｉ(n,m,k)は、
Ｑｉ(n,m,k)＝Ａ×Ｑｓ(m,k)
で与えられる。そして、熱量Ｑｉ(n,m,k)を電流に置き換えた変数をｌｃ(n,m,k)とし、自己発熱量Ｑｓ(m,k)を電流に置き換えた変数をｌｃ(m,k)とすると、
ｌｃ(n,m,k)＝α×ｌｃ(m,k)
の関係式が成り立つ。これら関係式により、係数Ａをその電流源素子の電流利得αで表すことが可能である。これにより、電気回路シミュレータを用いて、熱回路網と電気回路網を同時に正確にシミュレーションすることが可能になる。以下にその理由を簡単に説明する。【００３４】
半導体素子の電流電圧特性は、温度と時間に依存する。温度と時間を考慮して半導体素子の電流電圧特性をシミュレーションするには、電気回路シミュレータにて、熱回路網と電気回路網とを同時にシミュレーションする必要がある。既存の有限要素法による熱シミュレータでは、温度の計算は可能であるが、電圧電流特性をシミュレーションすることはできない。電気回路シミュレータは、電気の基本法則（オームの法則、キルヒホッフの法則、ジュールの法則等）に則ったシミュレーションが行われるため、電気回路網と熱回路網を同時にシミュレーションすることが可能である。熱回路網を電気回路網に変換することが可能であることから、温度は電圧に、熱は電流に、熱抵抗は抵抗に変換することができる。さらに、熱遷移の対象物を電流源に変換することで、電流源は周波数の関数で表すことができ、周波数の逆数である時間を含めて、熱回路網と電気回路網を同時にシミュレーションすることができる。このように、本実施形態の電気回路シミュレータは、熱の過渡応答を考慮した素子の電圧・電流特性を正確にシミュレーションすることができる。【００３５】
また、熱量Ｑｉ(n,m,k)は、係数Ｂを用いて、Ｑｉ(n,m,k)=B×[T(m,k)-T(m,0)]と表してもよい。この場合も、係数Ｂは時間に依存してもよい。時間に依存する係数を用いることで、熱の過渡応答（時間過渡応答特性）を考慮した素子の電圧・電流特性をシミュレーションすることが可能になる。【００３６】
さらに、図５に示すような、ｍ番目の素子からｎ番目の素子へ流れる電流Ｉnm（熱量に対応する）および電圧Ｖc（m,k）が与えられる電圧制御型電流源素子が与えられた場合で、その電圧制御型電流源素子の熱量Ｑｉ(n,m,k)の計算を行う場合に、係数Ｂをその電圧制御型電流源素子のトランスコンダクタンスｇで表してもよい。具体的には、ｍ番目の素子の温度をＴ（m,k）とするとき、ｍ番目の素子からｎ番目の素子へ流入する熱量Ｑｉ(n,m,k)は、
Ｑｉ(n,m,k)＝Ｂ×Ｔ(m,k)
で与えられる。そして、Ｑｉ(n,m,k)を電流に置き換えた変数をｌｃ(n,m,k)とし、Ｔ（m,k）の変化の大きさであるΔＴを電圧で置き換えた値を電圧Ｖc（m,k）とすると、
ｌｃ(n,m,k)＝ｇ×ｌｃ(m,k)
の関係式が成り立つ。これら関係式により、係数Ｂをその電圧制御型電流源素子のトランスコンダクタンスｇで表すことが可能である。これにより、電気回路シミュレータを用いて、熱回路網と電気回路網を同時に正確にシミュレーションすることが可能になる。【００３７】
(第２の実施形態)
図６は、本発明の第２の実施形態である回路シミュレータの主要部の構成を示すブロック図である。【００３８】
本実施形態の回路シミュレータは、プログラムにより動作するコンピュータシステムにより実現されるシミュレータであって、例えば半導体集積回路の設計に用いられる。この回路シミュレータの主要部は、図６に示すように、初期条件入力部１１、電気回路網入力部１２、レイアウト入力部１３、シミュレーション部１４、出力部１５、および熱回路網変換部１６から構成されている。電気回路網入力部１２および出力部１５は図１に示したものと同じである。【００３９】
初期条件入力部１１は、使用者が不図示の操作部を通じて設定した初期条件をシミュレーション部４に供給する。初期条件として設定するパラメータは、回路を構成する素子の数Ｎ、温度Ｔ、電圧Ｖ、電流Ｉ、熱抵抗Ｒｔｈ、電圧収束判定条件εｖ、電流収束判定条件εｉ、熱抵抗収束判定条件εｒ、何番目の素子であるかを示す係数ｎ、ｍ、反復数を示す変数ｋである。【００４０】
レイアウト入力部１３は、シミュレーションの対象となる半導体集積回路のレイアウトデータをシミュレーション部１４に供給する。レイアウトデータは、半導体集積回路を構成する素子や配線などをそれぞれ規定した単位セルを配置してなる回路図であって、外部コンピュータ装置から提供されても、当該シミュレータにて作成されてもよい。【００４１】
熱回路網変換部１６は、レイアウト入力部１３で作成されたレイアウトデータを熱回路網に変換する。レイアウトデータから熱回路網への変換において、熱遷移の生じる部分（対象物）が節点と節点の間を結ぶ熱抵抗に置き換えられ、節点間の熱抵抗（℃／Ｗ）、温度（℃）、熱の流れ（Ｗ）がそれぞれ抵抗（Ω）、電圧（Ｖ）、電流（Ａ）と見なされて熱等価回路が作成される。【００４２】
シミュレーション部１４は、電気回路網入力部１２から供給された電気回路網とレイアウト入力部１３から供給されたレイアウトデータと熱回路網変換部１６から供給された熱回路網とを参照して半導体集積回路の電気回路シミュレーションを行い、その結果を出力部１５に供給する。【００４３】
図７に、本実施形態の回路シミュレータにて行われる電気回路シミュレーションの処理手順を示す。以下、図７を参照して、電気回路シミュレーションを具体的に説明する。【００４４】
まず、電気回路シミュレーションを実行するための初期条件を設定する（ステップ２０１）。具体的には、素子数をＮとし、ｎ番目の素子における温度、電圧、電流、熱抵抗をそれぞれＴ（n,k）、Ｖ（n,k）、Ｉ（n,k）、Ｒｔｈ（n,k)とし、ｍ番目の素子における電圧、電流をそれぞれＶ（m,k）、Ｉ（m,k）とし、電圧収束判定条件をεｖとし、電流収束判定条件をεｉとし、熱抵抗収束判定条件をεｒする。そして、変数ｋを０とし、係数ｎ、ｍをそれぞれ１とする。係数ｎ、ｍの範囲はそれぞれ、１以上、Ｎ以下である。【００４５】
初期条件の設定後、ｎ番目の素子における電圧値Ｖ（n,k）、電流値Ｉ（n,k）および熱抵抗値Ｒｔｈ（n,k)に基づいてｎ番目の素子における自己発熱量Ｑｓ(n,k)を計算し（ステップ２０２）、その自己発熱量Ｑｓ(n,k)とｎ番目の素子における熱抵抗値Ｒｔｈ（n,k)に基づいて、ｎ番目の素子における自己発熱温度ΔＴｓ(n,k)を計算する（ステップ２０３）。さらに、このステップ２０２、２０３の処理と同時に、または連続的に、ｍ番目の素子における電圧値Ｖ（m,k）および電流値Ｉ（m,k）に基づいて、ｍ番目の素子からｎ番目の素子へ流入する熱量Ｑｉ(n,m,k)を計算する（ステップ２０４）。そして、その熱量Ｑｉ(n,m,k)の変数ｍが１からｎ−１の範囲及び変数ｍがｎ＋１からＮまでの範囲における可算和を計算し、その可算和の値とｎ番目の素子における熱抵抗値Ｒｔｈ（n,k)とに基づいて、ｍ番目の素子からｎ番目の素子へ流入した熱量によって生じるｎ番目の素子における発熱温度ΔＴｉ(n,m,k)を計算する（ステップ２０５）。【００４６】
次に、ｎ番目の素子の温度Ｔ(n,k)と自己発熱温度ΔＴｓ(n,k)と発熱温度ΔＴｉ(n,m,k)をそれぞれ加算した値をｎ番目の素子温度Ｔ(n,k+1)とする（ステップ２０６）。そして、ｎ番目の素子における素子温度Ｔ(n,k+1)での新たな電圧値Ｖ(n,k+1)、電流値Ｉ(n,k+1)および熱抵抗値Ｒｔｈ（n,k+1)を計算し（ステップ２０７）、係数ｎの値と素子数Ｎの値を比較する（ステップ２０８）。ここで、ｎ番目の素子における新たな電圧値Ｖ(n,k+1)、電流値Ｉ(n,k+1)および熱抵抗値Ｒｔｈ（n,k+1)は、予め与えられているｎ番目の素子の温度依存性（温度を含む電圧電流特性）を示すデータに基づいて算出される。【００４７】
ステップ２０８にて、係数ｎの値が素子数Ｎ未満である判定された場合は、係数ｎに１を足した値を新たな係数ｎとして、ステップ２０２及びステップ２０４へ移行する（ステップ２０９）。ステップ２０８にて、係数ｎが素子数Ｎ以上であると判定された場合は、ステップ２０７で求めた電圧値Ｖ(n,k+1)と電圧値Ｖ(n,k)の差の、係数ｎが１からＮまでの範囲における可算和を電圧変化量ＥＶとし、ステップ２０７で求めた電流値Ｉ(n,k+1)と電流値Ｉ(n,k)の差の、係数ｎが１からＮまで範囲における可算和を電流変化量ＥＩとし、ステップ２０７で求めた熱抵抗値Ｒｔｈ（n,k+1)と熱抵抗値Ｒｔｈ（n,k)の差の、係数ｎが１からＮまで範囲における可算和を熱抵抗変化量ＥＲとする（ステップ２１０）。そして、電圧変化量ＥＶと電圧収束判定条件εｖ、電流変化量ＥＩと電流収束判定条件εｉ、熱抵抗変化量ＥＲと熱抵抗収束判定条件εｒをそれぞれ比較する（ステップ２１１）。【００４８】
ステップ２１１にて、ＥＶの値がεｖの値より大きいとの判定、ＥＩの値がεｉの値より大きいとの判定、およびＥＲの値がεｒの値より大きいとの判定、のいずれかの判定結果を得た場合は、変数ｋの値に１を足した値を新たな変数ｋとして、ステップ２０２およびステップ２０４に移行する（ステップ２１２）。ステップ２１１にて、ＥＶの値がεｖの値以下、かつ、ＥＩの値がεｉの値以下、かつ、ＥＲの値がεｒの値以下と判定された場合は、シミュレーション処理を終了する。【００４９】
以上のシミュレーション処理の手順においては、ステップ２０１を実行した後、ステップ２０８にてｎ≧Ｎとなるまで、ステップ２０２〜２０７の処理が繰り返し実行される。そして、ステップ２１０を実行した後、ステップ２１１にてＥＶ、ＥＩおよびＥＲの各値がそれぞれ収束判定条件の値以下と判定されるまで、電圧値Ｖ(n,k)、電流値Ｉ(n,k)および熱抵抗値Ｒｔｈ（n,k)の各値を変更してステップ２０２〜２１０の処理を繰り返し実行する。このような反復処理により、回路を構成する複数の素子のそれぞれの自己発熱および素子間の発熱の影響を考慮した、電圧、電流および温度を求めることができる。【００５０】
本実施形態の回路シミュレータによれば、第１の実施形態の効果に加えて、熱抵抗の温度依存性も正確に計算することが可能になるため、発熱に起因した回路の温度変化を正確に計算することが可能になり、温度変化に伴う素子の電流・電圧特性を求めることが可能になる。したがって、本実施形態の回路シミュレータは、小型な半導体集積回路の正確なシミュレーションを可能にし、リワーク回数の低減や、開発費用の削減に寄与する。【００５１】
本実施形態の回路シミュレータは、本発明の一例であり、その構成および動作は適宜に変更することができる。例えば、図７に示した処理手順において、ステップ２０１の前に、ｎ番目の素子における熱抵抗を、レイアウトデータ上のｎ番目の素子の素子形状を用いて導出するステップを追加してもよい。このように、レイアウトデータの素子形状からｎ番目の素子における熱抵抗Ｒｔｈを導出することで、例えばマスク作製と回路設計のシームレスな設計が可能となる。【００５２】
また、ステップ２０４において、レイアウトデータに基づいて、ｎ番目の素子とｍ番目の素子の間の距離を取得し、その素子間距離とｍ番目の素子における電圧Ｖ（m,k）および電流Ｉ（m,k）とに基づいて、ｍ番目の素子からｎ番目の素子へ流入する熱量Ｑｉ(n,m,k)を導出してもよい。この場も、マスク作製と回路設計のシームレスな設計が可能となる。【００５３】
また、第１の実施形態と同様に、熱量Ｑｉ(n,m,k)は、係数Ａを用いて、Ｑｉ(n,m,k)=A×[V(m,k)×I(m,k)]と表してもよい。この場合、係数Ａは時間に依存してもよい。時間に依存する係数Ａを用いることで、熱の過渡応答（時間過渡応答特性）を考慮した素子の電圧・電流特性をシミュレーションすることが可能になる。さらに、図４に示した電流源素子が与えられた場合で、その電流源素子の熱量Ｑｉ(n,m,k)の計算を行う場合に、係数Ａをその電流源素子の電流利得αで表してもよい。これにより、電気回路シミュレータを用いて、熱回路網と電気回路網を同時に正確にシミュレーションすることが可能になる。【００５４】
また、第１の実施形態と同様に、熱量Ｑｉ(n,m,k)は、係数Ｂを用いて、Ｑｉ(n,m,k)=B×[T(m,k)-T(m,0)]と表してもよい。この場合も、係数Ｂは時間に依存してもよい。時間に依存する係数Ｂを用いることで、熱の過渡応答（時間過渡応答特性）を考慮した素子の電圧・電流特性をシミュレーションすることが可能になる。さらに、図５に示した電圧制御型電流源素子が与えられた場合で、その電圧制御型電流源素子の熱量Ｑｉ(n,m,k)の計算を行う場合に、係数Ｂをその電圧制御型電流源素子のトランスコンダクタンスｇで表してもよい。これにより、電気回路シミュレータを用いて、熱回路網と電気回路網を同時に正確にシミュレーションすることが可能になる。【００５５】
以上説明した各実施形態の回路シミュレータにて行われる電気回路シミュレーション処理（図２、図３、図７に示したような電気回路シミュレーション処理）は、基本的に、コンピュータがプログラムを実行することで実現される。プログラムはＣＤ−ＲＯＭ（Compact  Disc  Read  Only  Memory）やＤＶＤ（Digital  Versatile  Disc）などの記録媒体により提供されてもよく、また、インターネットなどのネットワークを通じて提供されてもよい。【００５６】
以上、実施形態を参照して本発明を説明したが、本発明は上述した実施形態に限定されるものではない。本発明の構成および動作については、本発明の趣旨を逸脱しない範囲において、当業者が理解し得る様々な変更を行うことができる。【００５７】
この出願は、２００６年１２月１９日に出願された日本出願特願２００６−３４１２７６を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2008075611.tif 000003
【図２】
2008075611.tif 000004
【図３】
2008075611.tif 000005
【図４】
2008075611.tif 000006
【図５】
2008075611.tif 000007
【図６】
2008075611.tif 000008
【図７】
2008075611.tif 000009
【国際調査報告】
2008075611.tif 000010
2008075611.tif 000011
2008075611.tif 000012