(57)【要約】【課題】半導体装置の設計時間を短縮することができる半導体装置の設計方法等を提供する。【解決手段】この設計方法は、設計対象である半導体装置のネットリストを受信するステップ（ａ）と、複数の機能ブロックを仮配置するステップ（ｂ）と、ロジック領域を複数の矩形領域に分割するステップ（ｃ）と、データベース及び設計対象である半導体装置のネットリストに基づいて、配線長の予測値及びロジック領域の利用率の予測値を算出するステップ（ｄ）と、所定の条件を満たさない場合にステップ（ｂ）〜ステップ（ｄ）を繰り返すステップ（ｅ）と、所定の条件を満たす場合に複数の基本セル及び配線を配置するステップ（ｆ）と、配線長の予測値を出力するステップ（ｇ）とを具備する。【選択図】　図１０
2004062598.tif 000002
【特許請求の範囲】
【請求項１】
半導体装置の設計を行うための方法であって、
設計対象である半導体装置のネットリストを受信するステップ（ａ）と、
設計対象である半導体装置のレイアウト領域内に複数の機能ブロックを仮配置するステップ（ｂ）と、
設計対象である半導体装置のロジック領域を複数の矩形領域に分割するステップ（ｃ）と、
過去に設計された半導体装置及び設計対象である半導体装置に関するデータベース並びに前記設計対象である半導体装置のネットリストに基づいて、設計対象である半導体装置の配線長の予測値及びロジック領域の利用率の予測値を算出するステップ（ｄ）と、
前記設計対象である半導体装置のロジック領域の利用率の予測値が所定の条件を満たさない場合に、ステップ（ｂ）〜ステップ（ｄ）を繰り返すステップ（ｅ）と、
前記設計対象である半導体装置のロジック領域の利用率の予測値が所定の条件を満たす場合に、複数の機能ブロック、基本セル、及び、配線を設計対象である半導体装置のロジック領域内に配置するためのフロアプラン情報を出力するステップ（ｆ）と、
前記設計対象である半導体装置の配線長の予測値を出力するステップ（ｇ）と、
を具備する半導体装置の設計方法。
【請求項２】
過去に設計された半導体装置のロジック領域内に配置された基本セルに関する情報、過去に設計された半導体装置のネットリストに関する情報、過去に設計された半導体装置の配線長に関する情報、過去に設計された半導体装置のロジック領域の利用率に関する情報、又は、設計対象である半導体装置のロジック領域内に配置される可能性のある基本セルに関する情報を含むデータベースを作成するステップをさらに具備する請求項１記載の半導体装置の設計方法。
【請求項３】
前記過去に設計された半導体装置のロジック領域内に配置された基本セルに関する情報又は前記設計対象である半導体装置のロジック領域内に配置される可能性のある基本セルに関する情報が、基本セルが有するピンの数に関する情報、基本セルに接続されるネットの数に関する情報、又は、基本セルの種類に関する情報を含むことを特徴とする請求項２記載の半導体装置の設計方法。
【請求項４】
前記過去に設計された半導体装置のネットリストに関する情報が、ゲート総数、全てのネットを接続ピン数別に分類することによって得られるネットリストとピン数の関係に関する情報、又は、ネット数とピン数の割合関係を示す情報を含むことを特徴とする請求項２又は３記載の半導体装置の設計方法。
【請求項５】
前記過去に設計された半導体装置の配線長に関する情報が、アルミニウム配線層の層数が所定の数である場合におけるネットリストの総配線長に関する情報、又は、全てのネットを接続ピン数別に分類することによって得られるピン数と配線長の関係に関する情報を含むことを特徴とする請求項２〜４のいずれか１項に記載の半導体装置の設計方法。
【請求項６】
前記過去に設計された半導体装置のロジック領域の利用率に関する情報が、アルミニウム配線層の層数が所定の数であり且つロジック領域の形状が正方形である場合の利用率の最大値を含むことを特徴とする請求項２〜５のいずれか１項に記載の半導体装置の設計方法。
【請求項７】
ステップ（ｄ）が、
前記データベースに基づいて、設計対象である半導体装置の全ネットの配線長の平均値の予測値を算出するための第１の式、設計対象である半導体装置の全ネットに関し、横軸方向に接続ピン数を、縦軸方向に、各接続ピン数毎のネットの配線長の平均値の予測値を配したグラフの傾きを算出するための第２の式、又は、設計対象である半導体装置のネットの内の接続ピン数が「２」であるネットの配線長の平均値の予測値を算出するための第３の式を、設計対象である半導体装置のアルミニウム配線層の層数に応じて作成するステップ（ｈ）と、
前記第１〜第３の式及び前記設計対象である半導体装置のネットリストを用いて、設計対象である半導体装置の全ネットの配線長の平均値の予測値、設計対象である半導体装置の全ネットに関し、横軸方向に接続ピン数を、縦軸方向に、各接続ピン数毎のネットの配線長の平均値の予測値を配したグラフの傾き、又は、設計対象である半導体装置のネットの内の接続ピン数が「２」であるネットの配線長の平均値の予測値を、設計対象である半導体装置のアルミニウム配線層の層数に応じて算出するステップ（ｉ）と、
ステップ（ｉ）にて算出された設計対象である半導体装置の全ネットの配線長の平均値の予測値、設計対象である半導体装置の全ネットに関し、横軸方向に接続ピン数を、縦軸方向に、各接続ピン数毎のネットの配線長の平均値の予測値を配したグラフの傾き、又は、設計対象である半導体装置のネットの内の接続ピン数が「２」であるネットの配線長の平均値の予測値を、前記矩形領域の形状に応じて補正するステップ（ｊ）と、
前記データベース、ステップ（ｉ）にて算出された設計対象である半導体装置の全ネットの配線長の平均値の予測値、設計対象である半導体装置の全ネットに関し、横軸方向に接続ピン数を、縦軸方向に、各接続ピン数毎のネットの配線長の平均値の予測値を配したグラフの傾き、又は、設計対象である半導体装置のネットの内の接続ピン数が「２」であるネットの配線長の平均値の予測値、並びに、前記設計対象である半導体装置のネットリストに基づいて、設計対象である半導体装置のロジック領域の利用率の予測値を算出するための第４の式を、前記設計対象である半導体装置のアルミニウム配線層の層数に応じて作成するステップ（ｋ）と、
前記第４の式に基づいて、設計対象である半導体装置のロジック領域の利用率の予測値を、前記設計対象である半導体装置のアルミニウム配線層の層数に応じて算出するステップ（ｌ）と、
ステップ（ｌ）にて算出された設計対象である半導体装置のロジック領域の利用率の予測値を、前記矩形領域の形状に応じて補正するステップ（ｍ）と、
を含むことを特徴とする請求項２〜６のいずれか１項に記載の半導体装置の設計方法。
【請求項８】
ステップ（ｈ）が、回帰分析によって前記第１〜第３の式を作成し、ステップ（ｌ）が、回帰分析によって前記第４の式を作成することを特徴とする請求項７記載の半導体装置の設計方法。
【請求項９】
請求項１〜８のいずれか１項に記載の半導体装置の設計方法によって設計されたことを特徴とする半導体装置。
【請求項１０】
半導体装置の設計を行うための装置であって、
設計対象である半導体装置のネットリスト及び設計対象である半導体装置内に配置すべき複数の機能ブロックの配置位置を指定する情報を入力するための入力手段と、
前記設計対象である半導体装置のネットリストを記録する第１の記録手段と、
過去に設計された半導体装置及び設計対象である半導体装置に関するデータベースを記録する第２の記録手段と、
過去に設計された半導体装置内に配置された基本セル及び設計対象である半導体装置のロジック領域内に配置される可能性のある基本セルに関する情報を記録する第３の記録手段と、
前記配置位置を指定する情報に応じて、設計対象である半導体装置のレイアウト領域内に複数の機能ブロックを仮配置する機能ブロック仮配置手段と、
設計対象である半導体装置のロジック領域を複数の矩形領域に分割するロジック領域分割手段と、
前記データベース及び前記設計対象である半導体装置のネットリストに基づいて、設計対象である半導体装置の配線長の予測値及びロジック領域の利用率の予測値を算出するロジック領域利用率予測値算出手段と、
前記設計対象である半導体装置のロジック領域の利用率の予測値が所定の条件を満たすか否かを判断し、前記設計対象である半導体装置のロジック領域の利用率の予測値が所定の条件を満たさない場合に、設計対象である半導体装置内に配置すべき複数の機能ブロックの新たな配置位置を指定する情報を入力するようにユーザを促すロジック領域利用率予測値判断手段と、
前記設計対象である半導体装置のロジック領域の利用率の予測値が所定の条件を満たす場合に、複数の機能ブロック、基本セル、及び、配線を設計対象である半導体装置のロジック領域内に配置するためのフロアプラン情報又はロジック領域の利用率予測値を出力し、若しくは、複数の機能ブロック、基本セル、及び、配線の配置を行うフロアプラン情報出力手段と、
前記設計対象である半導体装置の配線長の予測値を出力する配線長予測値出力手段と、
前記機能ブロック仮配置手段によって複数の機能ブロックの仮配置が行われた設計対象である半導体装置のレイアウト、前記設計対象である半導体装置のロジック領域の利用率の予測値が所定の条件を満たさない場合に、設計対象である半導体装置内に配置すべき複数の機能ブロックの新たな配置位置を指定する情報を入力するようにユーザを促す画像、又は、前記フロアプラン情報出力手段によって複数の基本セル及び配線の配置が行われた設計対象である半導体装置のレイアウトを表示するための表示手段と、
を具備する半導体装置の設計装置。
【請求項１１】
過去に設計された半導体装置のネットリストを記録する第４の記録手段と、
前記過去に設計された半導体装置のネットリスト、並びに、過去に設計された半導体装置内に配置された基本セル及び設計対象である半導体装置のロジック領域内に配置される可能性のある基本セルに関する情報に基づいて、過去に設計された半導体装置のロジック領域内に配置された基本セルに関する情報、過去に設計された半導体装置のネットリストに関する情報、過去に設計された半導体装置の配線長に関する情報、過去に設計された半導体装置のロジック領域の利用率に関する情報、又は、設計対象である半導体装置のロジック領域内に配置される可能性のある基本セルに関する情報を含むデータベースを作成するデータベース作成手段と、
をさらに具備する請求項１０記載の半導体装置の設計装置。
【請求項１２】
前記過去に設計された半導体装置のロジック領域内に配置された基本セルに関する情報又は前記設計対象である半導体装置のロジック領域内に配置される可能性のある基本セルに関する情報が、基本セルが有するピンの数に関する情報、基本セルに接続されるネットの数に関する情報、又は、基本セルの種類に関する情報を含むことを特徴とする請求項１１記載の半導体装置の設計装置。
【請求項１３】
前記過去に設計された半導体装置のネットリストに関する情報が、ゲート総数、全てのネットを接続ピン数別に分類することによって得られるネットリストとピン数の関係に関する情報、又は、ネット数とピン数の割合関係を示す情報を含むことを特徴とする請求項１１又は１２記載の半導体装置の設計装置。
【請求項１４】
前記過去に設計された半導体装置の配線長に関する情報が、アルミニウム配線層の層数が所定の数である場合におけるネットリストの総配線長に関する情報、又は、全てのネットを接続ピン数別に分類することによって得られるピン数と配線長の関係に関する情報を含むことを特徴とする請求項１１〜１３のいずれか１項に記載の半導体装置の設計装置。
【請求項１５】
前記過去に設計された半導体装置のロジック領域の利用率に関する情報が、アルミニウム配線層の層数が所定の数であり且つロジック領域の形状が正方形である場合の利用率の最大値を含むことを特徴とする請求項１１〜１４のいずれか１項に記載の半導体装置の設計装置。
【請求項１６】
前記ロジック領域利用率予測値算出手段が、
前記データベースに基づいて、設計対象である半導体装置の全ネットの配線長の平均値の予測値を算出するための第１の式、設計対象である半導体装置の全ネットに関し、横軸方向に接続ピン数を、縦軸方向に、各接続ピン数毎のネットの配線長の平均値の予測値を配したグラフの傾きを算出するための第２の式、又は、設計対象である半導体装置のネットの内の接続ピン数が「２」であるネットの配線長の平均値の予測値を算出するための第３の式を、設計対象である半導体装置のアルミニウム配線層の層数に応じて作成する配線長平均予測値等算出式作成部と、
前記第１〜第３の式及び前記設計対象である半導体装置のネットリストを用いて、設計対象である半導体装置の全ネットの配線長の平均値の予測値、設計対象である半導体装置の全ネットに関し、横軸方向に接続ピン数を、縦軸方向に、各接続ピン数毎のネットの配線長の平均値の予測値を配したグラフの傾き、又は、設計対象である半導体装置のネットの内の接続ピン数が「２」であるネットの配線長の平均値の予測値を、設計対象である半導体装置のアルミニウム配線層の層数に応じて算出する配線長平均予測値等算出部と、
前記配線長平均予測値等算出部によって算出された設計対象である半導体装置の全ネットの配線長の平均値の予測値、設計対象である半導体装置の全ネットに関し、横軸方向に接続ピン数を、縦軸方向に、各接続ピン数毎のネットの配線長の平均値の予測値を配したグラフの傾き、又は、設計対象である半導体装置のネットの内の接続ピン数が「２」であるネットの配線長の平均値の予測値を、前記矩形領域の形状に応じて補正する第１補正部と、
前記データベース、前記配線長平均予測値等算出部によって算出された設計対象である半導体装置の全ネットの配線長の平均値の予測値、設計対象である半導体装置の全ネットに関し、横軸方向に接続ピン数を、縦軸方向に、各接続ピン数毎のネットの配線長の平均値の予測値を配したグラフの傾き、又は、設計対象である半導体装置のネットの内の接続ピン数が「２」であるネットの配線長の平均値の予測値、並びに、前記設計対象である半導体装置のネットリストに基づいて、設計対象である半導体装置のロジック領域の利用率を算出するための第４の式を、前記設計対象である半導体装置のアルミニウム配線層の層数に応じて作成する利用率予測値算出式作成部と、
前記第４の式に基づいて、設計対象である半導体装置のロジック領域の利用率を、前記設計対象である半導体装置のアルミニウム配線層の層数に応じて算出する利用率予測値算出部と、
前記利用率予測値算出部によって算出された設計対象である半導体装置のロジック領域の利用率を、前記矩形領域の形状に応じて補正する第２補正部と、
を含むことを特徴とする請求項１１〜１５のいずれか１項に記載の半導体装置の設計装置。
【請求項１７】
前記配線長平均予測値等算出式作成部が、回帰分析によって前記第１〜第３の式を作成し、前記利用率予測値算出式作成部が、回帰分析によって前記第４の式を作成することを特徴とする請求項１６記載の半導体装置の設計装置。
【請求項１８】
半導体装置の設計を行うためのプログラムであって、
設計対象である半導体装置のネットリストを受信する手順（ａ）と、
設計対象である半導体装置のレイアウト領域内に複数の機能ブロックを仮配置する手順（ｂ）と、
設計対象である半導体装置のロジック領域を複数の矩形領域に分割する手順（ｃ）と、
過去に設計された半導体装置及び設計対象である半導体装置に関するデータベース並びに前記設計対象である半導体装置のネットリストに基づいて、設計対象である半導体装置の配線長の予測値及びロジック領域の利用率の予測値を算出する手順（ｄ）と、
前記設計対象である半導体装置のロジック領域の利用率の予測値が所定の条件を満たさない場合に、手順（ｂ）〜手順（ｄ）を繰り返す手順（ｅ）と、
前記設計対象である半導体装置のロジック領域の利用率の予測値が所定の条件を満たす場合に、複数の基本セル及び配線を設計対象である半導体装置のロジック領域内に配置するためのフロアプラン情報を出力する手順（ｆ）と、
前記設計対象である半導体装置の配線長の予測値を出力する手順（ｇ）と、
をＣＰＵに実行させるためのプログラム。
【請求項１９】
過去に設計された半導体装置のロジック領域内に配置された基本セルに関する情報、過去に設計された半導体装置のネットリストに関する情報、過去に設計された半導体装置の配線長に関する情報、過去に設計された半導体装置のロジック領域の利用率に関する情報、又は、設計対象である半導体装置のロジック領域内に配置される可能性のある基本セルに関する情報を含むデータベースを作成する手順をさらにＣＰＵに実行させる請求項１８記載のプログラム。
【請求項２０】
前記過去に設計された半導体装置のロジック領域内に配置された基本セルに関する情報又は前記設計対象である半導体装置のロジック領域内に配置される可能性のある基本セルに関する情報が、基本セルが有するピンの数に関する情報、基本セルに接続されるネットの数に関する情報、又は、基本セルの種類に関する情報を含むことを特徴とする請求項１９記載のプログラム。
【請求項２１】
前記過去に設計された半導体装置のネットリストに関する情報が、ゲート総数、全てのネットを接続ピン数別に分類することによって得られるネットリストとピン数の関係に関する情報、又は、ネット数とピン数の割合関係を示す情報を含むことを特徴とする請求項１９又は２０記載のプログラム。
【請求項２２】
前記過去に設計された半導体装置の配線長に関する情報が、アルミニウム配線層の層数が所定の数である場合におけるネットリストの総配線長に関する情報、又は、全てのネットを接続ピン数別に分類することによって得られるピン数と配線長の関係に関する情報を含むことを特徴とする請求項１９〜２１のいずれか１項に記載のプログラム。
【請求項２３】
前記過去に設計された半導体装置のロジック領域の利用率に関する情報が、アルミニウム配線層の層数が所定の数であり且つロジック領域の形状が正方形である場合の利用率の最大値を含むことを特徴とする請求項２０〜２３のいずれか１項に記載のプログラム。
【請求項２４】
手順（ｄ）が、
前記データベースに基づいて、設計対象である半導体装置の全ネットの配線長の平均値の予測値を算出するための第１の式、設計対象である半導体装置の全ネットに関し、横軸方向に接続ピン数を、縦軸方向に、各接続ピン数毎のネットの配線長の平均値の予測値を配したグラフの傾きを算出するための第２の式、又は、設計対象である半導体装置のネットの内の接続ピン数が「２」であるネットの配線長の平均値の予測値を算出するための第３の式を、設計対象である半導体装置のアルミニウム配線層の層数に応じて作成する手順（ｈ）と、
前記第１〜第３の式及び前記設計対象である半導体装置のネットリストを用いて、設計対象である半導体装置の全ネットの配線長の平均値の予測値、設計対象である半導体装置の全ネットに関し、横軸方向に接続ピン数を、縦軸方向に、各接続ピン数毎のネットの配線長の平均値の予測値を配したグラフの傾き、又は、設計対象である半導体装置のネットの内の接続ピン数が「２」であるネットの配線長の平均値の予測値を、設計対象である半導体装置のアルミニウム配線層の層数に応じて算出する手順（ｉ）と、
手順（ｉ）にて算出された設計対象である半導体装置の全ネットの配線長の平均値の予測値、設計対象である半導体装置の全ネットに関し、横軸方向に接続ピン数を、縦軸方向に、各接続ピン数毎のネットの配線長の平均値の予測値を配したグラフの傾き、又は、設計対象である半導体装置のネットの内の接続ピン数が「２」であるネットの配線長の平均値の予測値を、前記矩形領域の形状に応じて補正する手順（ｊ）と、
前記データベース、手順（ｉ）にて算出された設計対象である半導体装置の全ネットの配線長の平均値の予測値、設計対象である半導体装置の全ネットに関し、横軸方向に接続ピン数を、縦軸方向に、各接続ピン数毎のネットの配線長の平均値の予測値を配したグラフの傾き、又は、設計対象である半導体装置のネットの内の接続ピン数が「２」であるネットの配線長の平均値の予測値、並びに、前記設計対象である半導体装置のネットリストに基づいて、設計対象である半導体装置のロジック領域の利用率の予測値を算出するための第４の式を、前記設計対象である半導体装置のアルミニウム配線層の層数に応じて作成する手順（ｋ）と、
前記第４の式に基づいて、設計対象である半導体装置のロジック領域の利用率を、前記設計対象である半導体装置のアルミニウム配線層の層数に応じて算出する手順（ｌ）と、
手順（ｌ）にて算出された設計対象である半導体装置のロジック領域の利用率を、前記矩形領域の形状に応じて補正する手順（ｍ）と、
を含むことを特徴とする請求項１９〜２３のいずれか１項に記載のプログラム。
【請求項２５】
手順（ｈ）が、回帰分析によって前記第１〜第３の式を作成し、手順（ｌ）が、回帰分析によって前記第４の式を作成することを特徴とする請求項２４記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体装置の設計方法及びそのような半導体装置の設計方法によって設計された半導体装置に関する。さらに、本発明は、そのような半導体装置の設計方法を用いた半導体装置の設計装置及び半導体装置の設計を行うためのプログラムに関する。
【０００２】
【従来の技術】
従来より、半導体装置の設計において、フロアプランを行うためのフロアプラン装置が用いられている。なお、フロアプランとは、設計対象である半導体装置の機能ブロック、基本セル、アルミニウム配線等のおおよその配置を決定することである。
【０００３】
半導体装置には、ロジック領域と呼ばれる領域が存在する。ロジック領域とは、入出力領域及び機能ブロックが配置されている領域を除いた領域のことである。このロジック領域には、複数の基本セル、並びに、基本セル間を接続する配線、基本セルと機能ブロックの間を接続する配線、及び、機能ブロック間を接続する配線が配置される。
上記した従来のフロアプラン装置を用いた半導体装置の設計においては、最初に機能ブロックの配置が行われ、次いでロジック領域への基本セルの配置が行われ、その後電源間を接続する配線、基本セル間を接続する配線、基本セルと機能ブロックの間を接続する配線、及び、機能ブロック間を接続する配線の配置が行われる。
【０００４】
ところで、半導体装置の設計においては、ロジック領域の利用率が用いられる場合がある。ロジック領域の利用率は、
【数１】
2004062598.tif 000003
・・・（１）
で表される。従って、ロジック領域の利用率は、ロジック領域内への基本セルの配置が完了した後に確定するものである。
【０００５】
なお、半導体装置のゲート規模（ゲート総数）が同じであっても、ロジック領域の形状が異なれば、ロジック領域の利用率は異なることが知られている。一方、ロジック領域の形状は、機能ブロックの配置によって変化する。従って、ロジック領域の利用率は、機能ブロックの配置によって変化することとなる。
【０００６】
設計対象である半導体装置のロジック領域の利用率が所定の値以上である場合には、設計対象である半導体装置のロジック領域内のアルミニウム配線を配置するためのスペースが少なくなる。また、基本セル間の接続が多くなり、基本セル間を接続するためのアルミニウム配線の比率も高くなる。そのため、設計対象である半導体装置のロジック領域内へのアルミニウム配線の配置が困難となる。
従って、半導体装置のフロアプランの段階でロジック領域の利用率が判明すれば、半導体装置の設計時間を短縮することができる。また、半導体装置のフロアプランの段階で配線長の予測値を高い精度で算出することができれば、半導体装置の設計効率を向上させることができる。
【０００７】
しかしながら、上記したように、ロジック領域の利用率は、ロジック領域内への基本セルの配置が完了した後に確定するものである。そのため、上記した従来のフロアプラン装置においては、設計対象である半導体装置のロジック領域の利用率を考慮することはなかった。
【０００８】
ところで、日本国特許出願公開（特開）平４−２５１９６２号公報（以下、「文献１」ともいう）には、スタンダードセル方式もしくはゲートアレイ方式を用いたビルディングブロック方式によって半導体集積回路装置を設計する際に、半導体集積回路装置が有する各機能を実現するブロックのおおよその配置位置及びこのブロック内に配置すべきセルを初期フロアプランで決定し、この初期フロアプランに基づいてブロックの面積及び形状を予測して表示し、表示されたブロックの形状あるいは配置位置を会話的に修正可能であることを特徴とする半導体集積回路装置の設計方法が掲載されている。
しかしながら、文献１に掲載された半導体集積回路装置の設計方法は、ロジック領域の利用率を用いてフロアプランを行うものではない。
【０００９】
また、特開平９−２３２４３６号公報（以下、「文献２」ともいう）には、ハードウエア記述言語で記述された半導体集積回路の仕様を入力とし、ブロック単位でゲートレベルの回路を生成し、仮想配線容量とセルの入力容量との和に基づいてセルの駆動能力が不足するかどうかを判断し、セル駆動能力が不足すると判断した場合にセル間にドライバセルを挿入する論理合成方法であって、該ゲートレベルの回路を生成した後、該判断の前において、フロアプラニングを行って該ブロックの配置を決定し、チップ領域に相当するフロアの辺に平行な線で異なるブロックの重心間を結んだ最短経路の長さを、異なるブロックのセル間の仮想配線長として求め、異なるブロックのセル間の該仮想配線容量を該仮想配線長に基づいて求めることを特徴とする論理合成方法が掲載されている。
しかしながら、文献２に掲載された論理合成方法は、回帰式を用いて仮想配線容量を算出するものではなく、ロジック領域の利用率を用いてフロアプランを行うものではない。
【００１０】
また、特開平１０−１１６９１５号公報（以下、「文献３」ともいう）には、ＬＳＩの接続情報を記述するネットリストおよびＬＳＩ設計に用いるセルの情報を格納するセルライブラリから、ＬＳＩの配線長を推定する配線長推定方法であって、ネットリストおよびセルライブラリから、推定対象のブロックについて、総ネット数、ファンアウト毎のネット数、並びに各ネットに含まれるセルの種類および面積を含む情報を抽出する情報抽出工程と、情報抽出工程において抽出した情報を基にして、各ファンアウトのネットの基本配線長を配線長推定の基準として決定する基本配線長決定工程と、情報抽出工程において抽出した情報を基にして、各ファンアウトのネットの配線長を、基本配線長決定工程において決定した当該ファンアウトのネットの基本配線長を基準にし、セルの配置ばらつきによるネットの広がりを想定して、推定するネット配線長推定工程とを備え、推定した各ファンアウトのネットの配線長を基にして、推定対象のブロックの総配線長を推定することを特徴とする配線長推定方法が掲載されている。
しかしながら、文献３に掲載された配線長推定方法は、配線長を推定するものではあるが、回帰式を用いて配線長を推定するものではなく、ロジック領域の利用率を用いてフロアプランを行うものではない。
【００１１】
また、特開平７−２２５７８２号公報（以下、「文献４」ともいう）には、入力された機能記述言語の論理合成結果に対して面積最適化処理を施して論理ネットリストを生成する論理合成装置であって、面積最適化処理が施された論理合成結果における信号線の配線領域を算出する配線領域算出手段と、外部から指定された希望レイアウト領域と配線領域算出手段の算出結果とを基に使用可能なゲート領域を算出するゲート領域算出手段と、ゲート領域算出手段の算出結果と論理合成結果のゲート領域とから論理合成結果に対する面積最適化処理の必要の有無を判断する最適化判断手段とを有することを特徴とする論理合成装置が掲載されている。
しかしながら、文献４に掲載された論理合成装置は、設計者の希望するレイアウトサイズへの最適化を行うものではあるが、ロジック領域の利用率を用いてフロアプランを行うものではない。
【００１２】
また、特開平１１−２２４２８０号公報（以下、「文献５」ともいう）には、ＬＳＩのレイアウト設計のために、ＬＳＩの接続情報を記述したネットリスト及びＬＳＩ設計に用いるセルの情報を格納したセルライブラリから、対象ＬＳＩの配線長を推定するための方法であって、ネットリスト及びセルライブラリから抽出した情報に基づき、各ファンアウト数のネットについてセルの平均面積に当該ファンアウト数のネット１個当たりのセル個数を乗じた値に相当する面積を持つ正方形の半周囲長から決定した各基本配線長を基にして、対象ＬＳＩの初期配線長を推定する工程と、セルライブラリから抽出した情報に基づき対象ＬＳＩの総セル面積を得て、該総セル面積から対象ＬＳＩのレイアウト上の配線可能面積を推定する工程と、初期配線長から対象ＬＳＩのレイアウト上で配線が占める配線面積を求め、配線面積が配線可能面積より大きいときには配線面積と配線可能面積との差を総セル面積に加えて得た面積を採用することにより、対象ＬＳＩのレイアウト面積を推定する工程と、対象ＬＳＩの総配線長を決定するように、総セル面積からレイアウト面積への増加分に応じて初期配線長を補正する工程とを備えたことを特徴とする配線長推定方法が掲載されている。
しかしながら、文献５に掲載された配線長推定方法は、配線長を推定するものではあるが、回帰式を用いて配線長を推定するものではなく、ロジック領域の利用率を用いてフロアプランを行うものではない。
【００１３】
【発明が解決しようとする課題】
そこで、上記の点に鑑み、本発明は、設計対象である半導体装置の配線長の予測値及びロジック領域の利用率の予測値を算出し、これらの配線長の予測値及びロジック領域の利用率の予測値を用いて半導体装置の設計を行うことができる半導体装置の設計方法を提供することを第１の目的とする。また、本発明はそのような半導体装置の設計方法によって設計された半導体装置を提供することを第２の目的とする。また、本発明は、そのような半導体装置の設計方法を用いた半導体装置の設計装置を提供することを第３の目的とする。また、本発明は、半導体装置の設計を行うためのプログラムを提供することを第４の目的とする。
【００１４】
【課題を解決するための手段】
以上の課題を解決するため、本発明に係る半導体装置の設計方法は、半導体装置の設計を行うための方法であって、設計対象である半導体装置のネットリストを受信するステップ（ａ）と、設計対象である半導体装置のレイアウト領域内に複数の機能ブロックを仮配置するステップ（ｂ）と、設計対象である半導体装置のロジック領域を複数の矩形領域に分割するステップ（ｃ）と、過去に設計された半導体装置及び設計対象である半導体装置に関するデータベース並びに設計対象である半導体装置のネットリストに基づいて、設計対象である半導体装置の配線長の予測値及びロジック領域の利用率の予測値を算出するステップ（ｄ）と、設計対象である半導体装置のロジック領域の利用率の予測値が所定の条件を満たさない場合に、ステップ（ｂ）〜ステップ（ｄ）を繰り返すステップ（ｅ）と、設計対象である半導体装置のロジック領域の利用率の予測値が所定の条件を満たす場合に、複数の機能ブロック、基本セル、及び、配線を設計対象である半導体装置のロジック領域内に配置するためのフロアプラン情報を出力するステップ（ｆ）と、設計対象である半導体装置の配線長の予測値を出力するステップ（ｇ）とを具備する。
【００１５】
また、上記した課題を解決するため、本発明に係る半導体装置は、本発明に係る半導体装置の設計方法によって設計されたことを特徴とする。
【００１６】
また、上記した課題を解決するため、本発明に係る半導体装置の設計装置は、半導体装置の設計を行うための装置であって、設計対象である半導体装置のネットリスト及び設計対象である半導体装置内に配置すべき複数の機能ブロックの配置位置を指定する情報を入力するための入力手段と、設計対象である半導体装置のネットリストを記録する第１の記録手段と、過去に設計された半導体装置及び設計対象である半導体装置に関するデータベースを記録する第２の記録手段と、過去に設計された半導体装置内に配置された基本セル及び設計対象である半導体装置のロジック領域内に配置される可能性のある基本セルに関する情報を記録する第３の記録手段と、配置位置を指定する情報に応じて、設計対象である半導体装置のレイアウト領域内に複数の機能ブロックを仮配置する機能ブロック仮配置手段と、設計対象である半導体装置のロジック領域を複数の矩形領域に分割するロジック領域分割手段と、データベース及び設計対象である半導体装置のネットリストに基づいて、設計対象である半導体装置の配線長の予測値及びロジック領域の利用率の予測値を算出するロジック領域利用率予測値算出手段と、設計対象である半導体装置のロジック領域の利用率の予測値が所定の条件を満たすか否かを判断し、設計対象である半導体装置のロジック領域の利用率の予測値が所定の条件を満たさない場合に、設計対象である半導体装置内に配置すべき複数の機能ブロックの新たな配置位置を指定する情報を入力するようにユーザを促すロジック領域利用率予測値判断手段と、設計対象である半導体装置のロジック領域の利用率の予測値が所定の条件を満たす場合に、複数の機能ブロック、基本セル、及び、配線を設計対象である半導体装置のロジック領域内に配置するためのフロアプラン情報又はロジック領域の利用率予測値を出力し、若しくは、複数の機能ブロック、基本セル、及び、配線の配置を行うフロアプラン情報出力手段と、設計対象である半導体装置の配線長の予測値を出力する配線長予測値出力手段と、機能ブロック仮配置手段によって複数の機能ブロックの仮配置が行われた設計対象である半導体装置のレイアウト、設計対象である半導体装置のロジック領域の利用率の予測値が所定の条件を満たさない場合に、設計対象である半導体装置内に配置すべき複数の機能ブロックの新たな配置位置を指定する情報を入力するようにユーザを促す画像、又は、フロアプラン情報出力手段によって複数の基本セル及び配線の配置が行われた設計対象である半導体装置のレイアウトを表示するための表示手段とを具備する。
【００１７】
また、上記した課題を解決するため、本発明に係る半導体装置の設計プログラムは、半導体装置の設計を行うためのプログラムであって、設計対象である半導体装置のネットリストを受信する手順（ａ）と、設計対象である半導体装置のレイアウト領域内に複数の機能ブロックを仮配置する手順（ｂ）と、設計対象である半導体装置のロジック領域を複数の矩形領域に分割する手順（ｃ）と、過去に設計された半導体装置及び設計対象である半導体装置に関するデータベース並びに設計対象である半導体装置のネットリストに基づいて、設計対象である半導体装置の配線長の予測値及びロジック領域の利用率の予測値を算出する手順（ｄ）と、設計対象である半導体装置のロジック領域の利用率の予測値が所定の条件を満たさない場合に、手順（ｂ）〜手順（ｄ）を繰り返す手順（ｅ）と、設計対象である半導体装置のロジック領域の利用率の予測値が所定の条件を満たす場合に、複数の基本セル及び配線を設計対象である半導体装置のロジック領域内に配置するためのフロアプラン情報を出力する手順（ｆ）と、設計対象である半導体装置の配線長の予測値を出力する手順（ｇ）とをＣＰＵに実行させる。
【００１８】
以上の構成によれば、半導体装置の設計時間を短縮することができる。
【００１９】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態について説明する。なお、同一の構成要素については、同一の参照番号で示している。
図１に、本発明の一実施形態に係る半導体装置のフロアプランを行うための装置を示す。図１において、この装置１は、入力部２と、表示部３と、第１ネットリスト記録部４と、機能ブロック仮配置部５と、ロジック領域分割部６と、ロジック領域利用率予測値算出部７と、ロジック領域利用率予測値判断部８と、フロアプラン情報出力部９と、第２ネットリスト記録部１１と、基本セル情報記録部１２と、データベース作成部１３と、データベース記録部１４と、配線長予測値出力部２１とを具備する。
【００２０】
入力部２は、設計対象である半導体装置のネットリストの入力、設計対象である半導体装置に内蔵されるべき機能ブロックの仮配置の指示等を行うためのキーボード、マウス等である。
表示部３は、文字、画像等を表示するためのＣＲＴ、ＬＣＤ等である。
【００２１】
第１ネットリスト記録部４は、設計対象である半導体装置のネットリストを入力部２から受け取って記録する。
機能ブロック仮配置部５は、ユーザの配置指示に応じて、設計対象である半導体装置に内蔵されるべき機能ブロックの仮配置を行う。
【００２２】
ロジック領域分割部６は、設計対象である半導体装置のロジック領域の形状が矩形でない場合に、ロジック領域を複数の矩形領域に分割する。図２及び図３は、ロジック領域分割部６が行うロジック領域の分割の一例を示す図である。図２に示すように、半導体装置５０の周辺部には、入出力バッファ、入出力パッド等を配置するための環状の入出力領域５１が存在しており、この入出力領域５１に囲まれた場所に、４つの機能ブロック５２〜５５が仮配置されている。この半導体装置５０のロジック領域５６は、十字状の形状を有している。この場合、ロジック領域分割部６は、図３に示すように、ロジック領域５６を、５つの矩形領域５７〜６１に分割する。これらの矩形領域５７〜６１内には、後に、複数の基本セル及び複数のアルミニウム配線が配置される。
【００２３】
再び図１を参照すると、第２ネットリスト記録部１１は、過去に設計された半導体装置のネットリストを記録する。
基本セル情報記録部１２は、過去に設計された半導体装置のロジック領域内に配置された基本セルに関するデータ、及び設計対象である半導体装置のロジック領域に配置される可能性のある基本セルに関するデータを記録する。
【００２４】
データベース作成部１３は、過去に設計された半導体装置のネットリスト、過去に設計された半導体装置のロジック領域内に配置された基本セルに関するデータ、及び、設計対象である半導体装置のロジック領域に配置される可能性のある基本セルに関するデータを用いて、データベースを作成する。データベース作成部１３が作成するデータベースは、（ｉ）過去に設計された半導体装置のロジック領域内に配置された基本セルに関する情報、（ｉｉ）過去に設計された半導体装置のネットリストに関する情報、（ｉｉｉ）過去に設計された半導体装置の配線長に関する情報、（ｉｖ）過去に設計された半導体装置のロジック領域の利用率に関する情報、（ｖ）設計対象である半導体装置のロジック領域に配置される可能性のある基本セルに関する情報を含む。
上記した（ｉ）過去に設計された半導体装置のロジック領域内に配置された基本セルに関する情報は、（ア）基本セル１個当たりのピン数の割合、（イ）基本セル１個当たりのネット数の割合、（ウ）基本セルの種類に関する情報（例えば、フリップフロップが多い、複合ゲートが多い、アルミニウム配線層の上位配線の量、空グリッドの量等）を含む。
【００２５】
上記した（ｉｉ）過去に設計された半導体装置のネットリストに関する情報は、（エ）ゲート規模（ゲート総数）、ネット本数、使用している基本セル数、（オ）全てのネットを接続されているピン数（以下、「接続ピン数」という）の少ないネットから接続ピン数の多いネットに整列し、接続ピン数の少ないネットから累計していった場合に、累計したネット数の全ネット数に対する比率が所定の値（例えば、９０％、８０％、７０％等）を超えることとなる接続ピン数、（カ）接続ピン数が「２」であるネット数の全ネット数に対する割合、（キ）横軸方向に接続ピン数を、縦軸方向に、全てのネットを接続ピン数の少ないネットから接続ピン数の多いネットに整列し、接続ピン数の少ないネットから累計していった場合における、累計したネット数の全ネット数に対する比率を配したグラフにおいて、接続ピン数が「２」の点と、接続ピン数の少ないネットから累計していった場合に累計したネット数の全ネット数に対する比率が所定の値を超えることとなる接続ピン数の点を結ぶ直線の傾き、（ク）ネット１本当たりの接続ピン数の割合を含む。
ここで、ネットの接続ピン数について、図４〜図６を参照しながら説明する。図４に示すように、基本セル６２の出力ピン及び基本セル６３の入力ピンの２個のピンに接続されたネット６４の接続ピン数は、「２」となる。また、図５に示すように、基本セル６５の出力ピン並びに基本セル６６及び６７の入力ピンの３個のピンに接続されたネット６８の接続ピン数は、「３」となる。さらに、図６に示すように、基本セル６９の出力ピン及び基本セル７０〜７２の入力ピンの４個のピンに接続されたネット７３の接続ピン数は、「４」となる。このように、ｎ個（ｎは、２以上の整数）のピンに接続されたネットの接続ピン数は、「ｎ」となる。
【００２６】
次に、上記した（オ）全てのネットを接続ピン数の少ないネットから接続ピン数の多いネットに整列し、接続ピン数の少ないネットから累計していった場合に、累積したネット数の全ネット数に対する比率が所定の値を超えることとなる接続ピン数について、図７を参照しながら説明する。図７は、横軸方向に接続ピン数を、縦軸方向に、全てのネットを接続ピン数の少ないネットから接続ピン数の多いネットに整列し、接続ピン数の少ないネットから累計していった場合における、累計したネット数の全ネット数に対する比率を配したグラフの一例である。
【００２７】
図７に示すように、接続ピン数が「２」であるネット数の全ネット数に対する比率は６３％程度である。また、接続ピン数が「２」又は「３」であるネット数の全ネット数に対する比率は７９％程度である。また、接続ピン数が「２」、「３」、又は、「４」であるネット数の全ネット数に対する比率は８８％程度である。また、接続ピン数が「２」、「３」、「４」、又は、「５」であるネット数の全ネット数に対する比率は９２％程度である。
図７に示すグラフにおいて、全てのネットを接続ピン数の少ないネットから接続ピン数の多いネットに整列し、接続ピン数の少ないネットから累計していった場合に、累計したネット数の全ネット数に対する比率が所定の値（ここでは、９０％とする）を超えることとなる接続ピン数は、「５」となる。
【００２８】
次に、上記した（キ）横軸方向に接続ピン数を、縦軸方向に、全てのネットを接続ピン数の少ないネットから接続ピン数の多いネットに整列し、接続ピン数の少ないネットから累計していった場合における、累計したネット数の全ネット数に対する比率を配したグラフにおいて、接続ピン数が「２」の点と、接続ピン数の少ないネットから累計していった場合に、累計したネット数の全ネット数に対する比率が所定の値を超えることとなる接続ピン数の点を結ぶ直線の傾きについて、図７を参照しながら説明する。
図７において、接続ピン数の少ないネットから累計していった場合に、累計したネット数の全ネット数に対する比率が所定の値（ここでは、９０％とする）を超えることとなる接続ピン数は、「５」である。図７において、上記した（キ）横軸方向に接続ピン数を、縦軸方向に、全てのネットを接続ピン数の少ないネットから接続ピン数の多いネットに整列し、接続ピン数の少ないネットから累計していった場合における、累計したネット数の全ネット数に対する比率を配したグラフにおいて、接続ピン数が「２」の点と、接続ピン数の少ないネットから累計していった場合に、累計したネット数の全ネット数に対する比率が所定の値を超えることとなる接続ピン数の点を結ぶ直線の傾きは、接続ピン数が「２」の点と、接続ピン数が「５」の点を結ぶ太い点線の傾きとなる。なお、接続ピン数が「２」の点と接続ピン数が「５」の点を結ぶ太い点線の傾きを用いるのではなく、接続ピン数が「２」の点、接続ピン数が「３」の点、接続ピン数が「４」の点、又は、接続ピン数が「５」の点による近似直線の傾きを用いることとしても良い。
【００２９】
また、上記した（ｉｉｉ）過去に設計された半導体装置の配線長に関する情報は、（ケ）使用可能な配線層の層数のそれぞれに対する全ネットの配線長の平均値、（コ）横軸方向に接続ピン数を、縦軸方向に、各接続ピン数毎のネットの配線長の平均値を配したグラフの傾き、（サ）接続ピン数が「２」であるネットの配線長の平均値を含む。
【００３０】
次に、上記した（コ）横軸方向に接続ピン数を、縦軸方向に、全ネットを接続ピン数で分類し、接続ピン数毎に算出したネットの配線長の平均値を配したグラフの傾きについて、図８を参照しながら説明する。図８は、横軸方向に接続ピン数を、縦軸方向に、全ネットを接続ピン数で分類し、接続ピン数毎に算出したネットの配線長の平均値を配したグラフの一例を示す図である。なお、傾きの精度を向上させるために、全ネット数の９０％を占める接続ピン数までの傾きを求める例とする。この図８のグラフの対象である半導体装置が、接続ピン数が「２」〜「７」のネット数が全ネット数の９０％を占める半導体装置である場合、接続ピン数が「２」の点から接続ピン数が「７」の点までの傾きを用いる。
【００３１】
なお、接続ピン数毎のネットの配線長の平均値は、接続ピン数毎の全ネットの配線長の平均値としても良いが、接続ピン数毎に定められた所定の配線長以下の配線長を有するネットのみを抽出し、これらの平均値としても良い。また、接続ピン数毎に、配線長の短いネットから配線長の長いネットに整列し、配線長の短いネットから累計していった場合に、累計したネット数の当該接続ピン数の全ネット数に対する比率が所定の値（例えば、９０％、８０％、７０％等）を超えることとなるネットの平均値を用いることとしても良い。
これは、配線長の長いネットによる影響を少なくして、設計対象である半導体装置のロジック領域の利用率の予測値の精度を向上させるためである。
【００３２】
同様に、上記した（サ）接続ピン数が「２」であるネットの配線長の平均値は、接続ピン数が「２」であるネットの内の所定の配線長以下の配線長を有するネットのみを抽出し、これらの平均値としても良い。また、接続ピン数が「２」であるネットを配線長の短いネットから配線長の長いネットに整列し、配線長の短いネットから累計していった場合に、累計したネット数の、接続ピン数が「２」の全ネット数に対する比率が所定の値（例えば、９０％、８０％、７０％等）を超えることとなるネットの平均値を用いることとしても良い。
【００３３】
また、上記した（ｉｖ）過去に設計された半導体装置のロジック領域の利用率に関する情報は、（シ）所定のアルミニウム配線層の層数であり且つロジック領域の形状が正方形である場合の利用率の最大値を含む。
【００３４】
再び図１を参照すると、データベース記録部１４は、データベース作成部１３によって作成されたデータベースを記録する。
ロジック領域利用率予測値算出部７は、データベース記録部１４に記録されているデータベース、及び、設計対象である半導体装置のネットリストを用いて、設計対象である半導体装置の配線長の予測値及びロジック領域の利用率の予測値を算出する。ロジック領域の利用率は、半導体装置の設計が完了した後に確定するものであるが、ロジック領域利用率予測値算出部７は、設計対象である半導体装置に内蔵されるべき機能ブロックが仮配置された時点で、設計対象である半導体装置のロジック領域の利用率の予測値を算出する。
【００３５】
図９は、ロジック領域利用率予測値算出部７の内部構成を示す図である。図９に示すように、ロジック領域利用率予測値算出部７は、配線長平均予測値等算出式作成部１５と、配線長平均予測値等算出部１６と、第１補正部１７と、利用率予測値算出式作成部１８と、利用率予測値算出部１９と、第２補正部２０とを具備する。
【００３６】
配線長平均予測値等算出式作成部１５は、データベース記録部１４に記録されているデータベースを参照し、（ス）使用可能な全ての配線層の層数に対し、設計対象である半導体装置の全ネットの配線長の平均値の予測値を算出するための式、（セ）使用可能な全ての配線層の層数に対し、設計対象である半導体装置の全ネットに関し、横軸方向に接続ピン数を、縦軸方向に、各接続ピン数毎のネットの配線長の平均値の予測値を配したグラフの傾きを算出するための式、（ソ）使用可能な全ての配線層数に対し、設計対象である半導体装置の接続ピン数が「２」であるネットの配線長の平均値の予測値を算出するための式を作成する。配線長平均予測値等算出式作成部１５は、例えば、回帰分析により、上記（ス）〜（ソ）の式を作成する。
【００３７】
配線長平均予測値等算出部１６は、第１ネットリスト記録部４（図１参照）に記録されている設計対象である半導体装置のネットリスト及び配線長平均予測値等算出式作成部１５によって作成された上記（ス）〜（ソ）の式を用いて、（タ）使用可能な全ての配線層数に対する、設計対象である半導体装置の全ネットの配線長の平均値の予測値、（チ）使用可能な全ての配線層数に対する、横軸方向に接続ピン数を、縦軸方向に、各接続ピン数毎のネットの配線長の平均値の予測値を配したグラフの傾き、（ツ）使用可能な全ての配線層数に対する、接続ピン数が「２」であるネットの配線長の平均値の予測値を算出する。
第１補正部１７は、配線長平均予測値等算出部１６によって算出された上記（タ）〜（ツ）の値の補正を行う。ロジック領域はロジック領域分割部６（図１参照）によって複数の矩形領域に分割されるが、分割によって生ずる矩形領域には、正方形に近い形状のもの（例えば、図３の矩形領域５９）もあれば、非常に細長い長方形の形状のもの（例えば、図３の矩形領域５７、５８、６０、６１）もある。第１補正部１７は、このような矩形領域の形状に応じて、上記（タ）〜（ツ）の値の補正を行う。このようにして補正された上記（タ）〜（ツ）の値の内の上記（タ）使用可能な全ての配線層数に対する、設計対象である半導体装置の全ネットの配線長の平均値の予測値（補正後の値）は、配線長予測値出力部２１（図１参照）に出力される。
【００３８】
利用率予測値算出式作成部１８は、データベース記録部１４に記録されているデータベースを参照するとともに、配線長平均予測値等算出部１６によって算出された上記（タ）〜（ツ）の値を用いて、設計対象である半導体装置のロジック領域の利用率の予測値を算出するための式を作成する。利用率予測値算出式作成部１８は、例えば、回帰分析により、設計対象である半導体装置のロジック領域の利用率の予測値を算出するための式を作成する。
利用率予測値算出部１９は、第１ネットリスト記録部４（図１参照）に記録されている設計対象である半導体装置のネットリスト及び利用率予測値算出式作成部１８によって作成された設計対象である半導体装置のロジック領域の利用率の予測値を算出するための式を用いて、設計対象である半導体装置のロジック領域の利用率の予測値を算出する。
【００３９】
第２補正部２０は、利用率予測値算出部１９によって算出された設計対象である半導体装置のロジック領域の利用率の予測値の補正を行う。ロジック領域はロジック領域分割部６（図１参照）によって複数の矩形領域に分割されるが、分割によって生ずる矩形領域には、正方形に近い形状のもの（例えば、図３の矩形領域５９）もあれば、非常に細長い長方形の形状のもの（例えば、図３の矩形領域５７、５８、６０、６１）もある。第２補正部２０は、このような矩形領域の形状に応じて、設計対象である半導体装置のロジック領域の利用率の予測値の補正を行う。
【００４０】
再び図１を参照すると、ロジック領域利用率予測値判断部８は、ロジック領域利用率予測値算出部７によって算出された、設計対象である半導体装置のロジック領域の利用率の予測値が所定の条件を満たしているか否かを判断する。
フロアプラン情報出力部９は、ロジック領域利用率予測値判断部８が設計対象である半導体装置のロジック領域の利用率の予測値が所定の条件を満たしていると判断した場合に、複数の機能ブロック及び基本セルを設計対象である半導体装置のロジック領域内に配置し、さらに、基本セルと基本セルを接続する配線、基本セルと機能ブロックを接続する配線、及び、機能ブロックと機能ブロックを接続する配線をロジック領域内に配置するためのフロアプラン情報を出力し、又は複数の機能ブロック、基本セル、及び、配線の配置を行う。
配線長予測値出力部２１は、設計対象である半導体装置の配線長の予測値をロジック領域利用率予測値算出部７から受け取って、外部に出力する。
【００４１】
図１に示す第１ネットリスト記録部４、第２ネットリスト記録部１１、基本セル情報記録部１２、及び、データベース記録部１４としては、ハードディスク、フレキシブルディスク、ＭＯ、ＭＴ、ＲＡＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等が該当する。また、図１に示す機能ブロック仮配置部５、ロジック領域分割部６、ロジック領域利用率予測値算出部７、ロジック領域利用率予測値判断部８、フロアプラン情報出力部９、及び、データベース作成部１３、並びに、図９に示す配線長平均予測値等算出式作成部１５、配線長平均予測値等算出部１６、第１補正部１７、利用率予測値算出式作成部１８、利用率予測値算出部１９、及び、第２補正部２０は、ＣＰＵとソフトウェア（プログラム）で構成することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＭＯ、ＭＴ、ＲＡＭ、ＣＤ−ＲＯＭ、又は、ＤＶＤ−ＲＯＭ等の記録媒体に記録することができる。
【００４２】
次に、半導体装置のフロアプランを行うための装置１の動作について、図１、図９〜図１１を参照しながら説明する。図１０及び図１１は、半導体装置のフロアプランを行うための装置の動作を示すフローチャートである。
まず、ロジック領域利用率予測値算出部７のデータベース作成部１３が、第２ネットリスト記録部１１に記録されている過去に設計された半導体装置のネットリスト、並びに、基本セル情報記録部１２に記録されている過去に設計された半導体装置のロジック領域内に配置された基本セルに関するデータ及び設計対象である半導体装置のロジック領域に配置される可能性のある基本セルに関するデータを用いて、データベースを作成する（ステップＳ１１）。先に説明したように、ロジック領域利用率予測値算出部７のデータベース作成部１３によって作成されるデータベースは、（ｉ）過去に設計された半導体装置のロジック領域内に配置された基本セルに関する情報、（ｉｉ）過去に設計された半導体装置のネットリストに関する情報、（ｉｉｉ）過去に設計された半導体装置の配線長に関する情報、（ｉｖ）過去に設計された半導体装置のロジック領域の利用率に関する情報、（ｖ）設計対象である半導体装置のロジック領域に配置される可能性のある基本セルに関する情報を含む。データベース記録部１４は、データベース作成部１３によって作成されたデータベースを記録する。
【００４３】
次に、ユーザが、設計対象である半導体装置のネットリストを入力部２から入力し、第１ネットリスト記録部４が、入力されたネットリストを受信して記録する（ステップＳ１２）。なお、第１ネットリスト記録部４が、入力部２から入力されたネットリストを受信するのではなく、他のＣＡＤ装置、ＣＡＤソフトウェア等が出力するネットリストを受信して記録することとしても良い。
さらに、ユーザが、機能ブロックを仮配置しようとする位置を特定する情報を入力部２から入力し、機能ブロック仮配置部５が、ユーザから指示された位置に、機能ブロックを仮配置する（ステップＳ１３）。機能ブロック仮配置部５は、機能ブロックが仮配置された半導体装置のレイアウトを表示部３に表示させ、ユーザは、表示部３に表示された半導体装置のレイアウトを見ながら、機能ブロックの配置の変更を指示することができる。
次に、ロジック領域分割部６が、ロジック領域を複数の矩形領域に分割する（ステップＳ１４）。
【００４４】
次に、ロジック領域利用率予測値算出部７が、ロジック領域の利用率の予測値を算出する（ステップＳ１５）。図１１は、図１０のステップＳ１５の内容を示すフローチャートである。
図１１の処理を開始すると、ロジック領域利用率予測値算出部７の配線長平均予測値等算出式作成部１５が、データベース記録部１４に記録されているデータベースを参照して、（ス）使用可能な全ての配線層の層数に対し、設計対象である半導体装置の全ネットの配線長の平均値の予測値を算出するための式、（セ）使用可能な全ての配線層の層数に対し、横軸方向に接続ピン数を、縦軸方向に、各接続ピン数毎のネットの配線長の平均値の予測値を配したグラフの傾きを算出するための式、（ソ）使用可能な全ての配線層の層数に対し、接続ピン数が「２」であるネットの配線長の平均値の予測値を算出するための式を作成する（ステップＳ２１）。本実施形態においては、配線長平均予測値等算出式作成部１５は、回帰分析により、上記（ス）〜（ソ）の式を作成するものとする。
【００４５】
配線長平均予測値等算出式作成部１５は、使用可能な全ての配線層の層数に対し、設計対象である半導体装置の全ネットの配線長の平均値の予測値（ここでは、Ｙ１とする）を算出するための式として、例えば、
【数２】
2004062598.tif 000004
・・・（２）
を作成する。ここで、
Ａ：設計対象である半導体装置のゲート規模（ゲート総数）の情報に基づく変数
Ｂ：設計対象である半導体装置のロジック領域内に配置される基本セルの大きさとピン数の関係を示す情報に基づく変数
Ｃ：設計対象である半導体装置の全てのネットを接続ピン数の少ないネットから接続ピン数の多いネットに整列し、接続ピン数の少ないネットから累計していった場合に、累計したネット数の全ネット数に対する比率が所定の値を超えることとなる接続ピン数（変数）
Ｄ：１本のネットが接続されるピン数の割合を示す情報に基づく変数
Ｅ：設計対象であるネットに対する、接続ピン数が「２」であるネットの比率（変数）
Ｆ：横軸方向に接続ピン数を、縦軸方向に、設計対象である半導体装置の予測対象の全てのネットを接続ピン数の少ないネットから接続ピン数の多いネットに整列し、接続ピン数の少ないネットから累計していった場合における、累計したネット数の全ネット数に対する比率を配したグラフにおいて、接続ピン数が「２」の点と、接続ピン数の少ないネットから累計していった場合に、累計したネット数の全ネット数に対する比率が所定の値を超えることとなる接続ピン数の点を結ぶ直線の傾き（変数）
Ｇ：設計対象であるネットに関し、ネット数とピン数の関係を示す情報に基づく変数
Ｈ：設計対象である半導体装置のロジック領域内に配置される基本セルの大きさとネット数の関係を示す情報に基づく変数
である。また、ａ１、ｂ１、ｃ１、ｄ１、ｅ１、ｆ１、ｇ１、ｈ１、及び、ｉ１は、例えば、回帰分析によって求められる係数である。
【００４６】
また、配線長平均予測値等算出式作成部１５は、所定の配線層における、設計対象である半導体装置の全ネットに関し、横軸方向に接続ピン数を、縦軸方向に、各接続ピン数毎のネットの配線長の平均値の予測値を配したグラフの傾き（ここでは、Ｙ５とする）を算出するための式として、例えば、
【数３】
2004062598.tif 000005
・・・（３）
を作成する。ここで、ａ２、ｂ２、ｃ２、ｄ２、ｅ２、ｆ２、ｇ２、ｈ２、及び、ｉ２は、例えば、回帰分析によって求められる係数である。
【００４７】
さらに、配線長平均予測値等算出式作成部１５は、所定の配線層における、設計対象である半導体装置の接続ピン数が「２」であるネットの配線長の平均値の予測値（ここでは、Ｙ７とする）を算出するための式として、例えば、
【数４】
2004062598.tif 000006
・・・（４）
を作成する。ここで、
Ｊ１：アルミニウム配線層の層数に応じた変数
である。また、ａ３、ｂ３、ｃ３、ｄ３、ｅ３、ｆ３、ｇ３、ｈ３、及び、ｉ３は、例えば、回帰分析によって求められる係数である。
【００４８】
次に、ロジック領域利用率予測値算出部７の配線長平均予測値等算出部１６が、第１ネットリスト記録部４（図１参照）に記録されている設計対象である半導体装置のネットリスト及び式（２）〜式（４）を用いて、（タ）所定の配線層における、設計対象である半導体装置の全ネットの配線長の平均値の予測値（チ）横軸方向に接続ピン数を、縦軸方向に、接続ピン数毎のネットの配線長の平均値の予測値を配したグラフの傾き、（ツ）接続ピン数が「２」であるネットの配線長の平均値の予測値を算出する（ステップＳ２２）。
次に、ロジック領域利用率予測値算出部７の第１補正部１７が、設計対象である半導体装置の矩形領域の形状に応じて、配線長平均予測値等算出部１６によって算出された（タ）所定の配線層における、設計対象である半導体装置の全ネットの配線長の平均値の予測値、（チ）横軸方向に接続ピン数を、縦軸方向に、接続ピン数毎のネットの配線長の平均値の予測値を配したグラフの傾き、（ツ）接続ピン数が「２」であるネットの配線長の平均値の予測値を補正する（ステップＳ２３）。
【００４９】
次に、ロジック領域利用率予測値算出部７の利用率予測値算出式作成部１８が、データベース記録部１４に記録されているデータベースを参照するとともに、配線長平均予測値等算出部１６によって算出された上記（タ）〜（ツ）の値を用いて、設計対象である半導体装置のロジック領域の利用率の予測値を算出するための式を作成する（ステップＳ２４）。本実施形態においては、利用率予測値算出式作成部１８は、回帰分析により、設計対象である半導体装置のロジック領域の利用率の予測値を算出するための式を作成するものとする。
【００５０】
利用率予測値算出式作成部１８は、所定の配線層における、設計対象である半導体装置のロジック領域の利用率の予測値（ここでは、Ｙ３とする）を算出するための式として、例えば、
【数５】
2004062598.tif 000007
・・・（５）
を作成する。ここで、ａ４、ｂ４、ｃ４、ｄ４、ｅ４、ｆ４、ｇ４、ｈ４、ｉ４、ｊ４、ｋ４、及び、ｌ４は、例えば、回帰分析によって求められる係数である。
【００５１】
次に、ロジック領域利用率予測値算出部７の利用率予測値算出部１９が、第１ネットリスト記録部４（図１参照）に記録されている設計対象である半導体装置のネットリスト並びに式（５）を用いて、設計対象である半導体装置のロジック領域の利用率の予測値を算出する（ステップＳ２５）。
次に、ロジック領域利用率予測値算出部７の第２補正部２０が、設計対象である半導体装置の矩形領域の形状に応じて、利用率予測値算出部１９によって算出された設計対象である半導体装置のロジック領域の利用率の予測値の補正を行う（ステップＳ２６）。このようにして補正された、設計対象である半導体装置のロジック領域の利用率の予測値は、ロジック領域利用率予測値判断部８（図１参照）に出力される。
【００５２】
再び図１０を参照すると、ロジック領域利用率予測値判断部８が、設計対象である半導体装置のロジック領域の利用率の予測値（補正後の値）が所定の値以下であるか否かをチェックする。そして、ロジック領域利用率予測値判断部８は、設計対象である半導体装置のロジック領域の利用率の予測値が所定の値以下でないと判断した場合には処理をステップＳ１３に戻し、そうでない場合には処理をステップＳ１７に移す（ステップＳ１６）。
【００５３】
ロジック領域利用率予測値判断部８が、設計対象である半導体装置のロジック領域の利用率の予測値（補正後の値）が所定の値以下でないと判断した場合（ステップＳ１６）、機能ブロック仮配置部５が、ユーザ（半導体装置の設計者）に対し機能ブロックの仮配置を行うように促すメッセージを表示部３に表示させる（ステップＳ１３）。
このように、設計対象である半導体装置のロジック領域の利用率の予測値（補正後の値）が所定の値以下でない場合に処理をステップＳ１３に戻し、機能ブロックの仮配置を再度行うこととする理由は、設計対象である半導体装置のロジック領域の利用率の予測値が所定の値以上の場合には、設計対象である半導体装置のロジック領域内のアルミニウム配線を配置するためのスペースが少ないこととなり、アルミニウム配線の配置が困難となるためである。
【００５４】
一方、ロジック領域利用率予測値判断部８が、設計対象である半導体装置のロジック領域の利用率の予測値（補正後の値）が所定の値以下であると判断した場合（ステップＳ１６）、フロアプラン情報出力部９が、基本セル、並びに、基本セルと基本セルを接続する配線、基本セルと機能ブロックを接続する配線、及び、機能ブロックと機能ブロックを接続する配線を、設計対象である半導体装置のロジック領域内に配置し、又は、配置のためのフロアプラン情報を出力する（ステップＳ１７）。
【００５５】
以上説明したように、半導体装置のフロアプランを行うための装置１によれば、過去に設計された半導体装置のネットリスト及び過去に設計された半導体装置のロジック領域内に配置された基本セルに関するデータに基づいてデータベースを作成し、このデータベースに基づいて設計対象である半導体装置のロジック領域の利用率の予測値を算出し、設計対象である半導体装置のロジック領域の利用率の予測値が所定の値以下でない場合に、機能ブロックの仮配置を再度行い、設計対象である半導体装置のロジック領域の利用率の予測値が所定の値以下である場合に、基本セル及び配線を設計対象である半導体装置のロジック領域内に配置する。そのため、半導体装置の設計効率を向上させることができ、半導体装置の設計時間を短縮することができる。
【００５６】
【発明の効果】
以上述べた様に、本発明によれば、半導体装置の設計時間を短縮することが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る半導体装置のフロアプランを行うための装置を示す図である。
【図２】フロアプランが行われた半導体装置の一例を示す図である。
【図３】図１のロジック領域を複数の矩形領域に分割した様子を示す図である。
【図４】２個のピンに接続されたネットの一例を示す図である。
【図５】３個のピンに接続されたネットの一例を示す図である。
【図６】４個のピンに接続されたネットの一例を示す図である。
【図７】横軸方向に接続ピン数を、縦軸方向に、全てのネットを接続ピン数の少ないネットから接続ピン数の多いネットに整列し、接続ピン数の少ないネットから累計していった場合における、累計したネット数の全ネット数に対する比率を配したグラフの一例を示す図である。
【図８】横軸方向に接続ピン数を、縦軸方向に、全ネットを接続ピン数で分類し、接続ピン数毎に算出したネットの配線長の平均値を配したグラフの一例を示す図である。
【図９】図１のロジック領域利用率予測値算出部の内部構成を示す図である。
【図１０】本発明の一実施形態に係る半導体装置のフロアプランを行うための装置の動作を示すフローチャートである。
【図１１】本発明の一実施形態に係る半導体装置のフロアプランを行うための装置の動作を示すフローチャートである。
【符号の説明】
１　半導体装置のフロアプランを行うための装置
２　入力部
３　表示部
４　第１ネットリスト記録部
５　機能ブロック仮配置部
６　ロジック領域分割部
７　ロジック領域利用率予測値算出部
８　ロジック領域利用率予測値判断部
９　フロアプラン情報出力部
１１　第２ネットリスト記録部
１２　基本セル情報記録部
１３　データベース作成部
１４　データベース記録部
１５　配線長平均予測値等算出式作成部
１６　配線長平均予測値等算出部
１７　第１補正部
１８　利用率予測値算出式作成部
１９　利用率予測値算出部
２０　第２補正部
２１　配線長予測値出力部
６２、６３、６５〜６７、６９〜７２　基本セル
６４、６８、７３　ネット
５０　半導体装置
５１　入出力領域
５２〜５５　機能ブロック
５６　ロジック領域
５７〜６１　矩形領域
【図１】
2004062598.tif 000008
【図２】
2004062598.tif 000009
【図３】
2004062598.tif 000010
【図４】
2004062598.tif 000011
【図５】
2004062598.tif 000012
【図６】
2004062598.tif 000013
【図７】
2004062598.tif 000014
【図８】
2004062598.tif 000015
【図９】
2004062598.tif 000016
【図１０】
2004062598.tif 000017
【図１１】
2004062598.tif 000018