(57)【要約】      （修正有）【課題】  複数のブロックを含む半導体集積回路のレイアウト設計の設計ＴＡＴが削減される設計方法を提供することにある。【解決手段】  複数の回路ブロックの回路ブロックデータと複数の回路ブロックのブロック間の接続データとを含むネットリストと、回路ブロック間の接続の各々に対するタイミング制約条件と、配線長とタイミングとの関係を示す関係データとを用いて半導体集積回路のフロアプランを設計する。第１のステップは、回路ブロックを配置するステップＳ１１である。第２のステップは、回路ブロックを配置した位置と前記接続データとを用いて、回路ブロック間の見積配線長を計算するステップＳ１２である。第３のステップは、関係データに基づいて、見積配線長がタイミング制約条件を満たすか否かを判定するステップＳ１４である。第４のステップは、第３のステップで判定した判定結果を表示するステップＳ１７である。【選択図】  図３
2006323643.tif 000002
【特許請求の範囲】
【請求項１】
予めコンピュータが読み取り可能な媒体に記録された
複数の回路ブロックの回路ブロックデータと前記複数の回路ブロックのブロック間の接続データとを含むネットリストと、
前記回路ブロック間の接続の各々に対するタイミング制約条件と、
配線長とタイミングとの関係を示す関係データと
を用いてコンピュータに半導体集積回路のフロアプランを設計させるプログラムであって、
前記回路ブロックを配置する第１のステップと、
前記回路ブロックを配置した位置と前記接続データとを用いて回路ブロック間の見積配線長を計算する第２のステップと、
前記関係データに基づいて前記見積配線長が前記タイミング制約条件を満たすか否かを判定する第３のステップと、
前記第３のステップで判定した判定結果を表示する第４のステップと
をコンピュータに実行させる半導体集積回路のフロアプラン設計プログラム。
【請求項２】
前記回路ブロックを一つずつ追加して配置する毎に前記第１乃至第４のステップを実行する
請求項１に記載の半導体集積回路のフロアプラン設計プログラム。
【請求項３】
前記関係データは、動作周波数と許容配線長との対応を示すテーブルデータであり、
前記第３のステップは、前記タイミング制約条件により示される前記動作周波数に基づいて前記関係データから求められる前記許容配線長に基づいて前記見積配線長が前記タイミング制約条件を満たすか否かを判定する
請求項１または請求項２に記載の半導体集積回路のフロアプラン設計プログラム。
【請求項４】
前記関係データは、単位配線長当たりの遅延時間を示すデータを含み、
前記第３のステップは、前記見積配線長と前記単位配線長当たりの遅延時間を示すデータとに基づいて求められる見積遅延時間が前記タイミング制約条件を満たすか否かを判定する
請求項１または請求項２に記載の半導体集積回路のフロアプラン設計プログラム。
【請求項５】
前記第４のステップは、
前記第１のステップで配置した前記回路ブロックの配置位置を示す情報と、
前記第３のステップで判定した前記判定結果と
を重ね合わせてビジュアルに表示する
請求項１から請求項４のいずれかに記載の半導体集積回路のフロアプラン設計プログラム。
【請求項６】
前記第１のステップは、前記複数の回路ブロックのブロック間の配線接続本数に基づいて、前記複数の回路ブロックのうち未配置の第１回路ブロックの配置位置を決定する
請求項１から請求項５のいずれかに記載の半導体集積回路のフロアプラン設計プログラム。
【請求項７】
前記第２のステップは、
前記第１回路ブロックの端子位置を代表し、前記複数の回路ブロックのうち前記第１回路ブロックと接続関係がある配置済みの第２回路ブロックに接続される配線の端点の座標と、
前記第２回路ブロックの端子位置を代表し、前記第１回路ブロックに接続される配線の端点の座標と
に基づいて前記見積配線長を算出する
請求項６に記載の半導体集積回路のフロアプラン設計プログラム。
【請求項８】
前記第１回路ブロックに設定される前記端点は、前記第１回路ブロックの幾何学的中心を示す第１中心点、前記第２回路ブロックに最も近接する第１近接点、前記第２回路ブロックまで最も離れる第１遠隔点を候補とし、
前記第２回路ブロックに設定される前記端点は、前記第２回路ブロックの幾何学的中心を示す第２中心点、前記第１回路ブロックに最も近接する第２近接点、前記第１回路ブロックまで最も離れる第２遠隔点を候補とし、
前記第２のステップは、
前記第１中心点と前記第２中心点とを接続する配線の配線長、
前記第１近接点と前記第２近接点とを接続する配線の配線長、
前記第１遠隔点と前記第２遠隔点とを接続する配線の配線長
のうちのいずれかを前記見積配線長として選択する
請求項７に記載の半導体集積回路のフロアプラン設計プログラム。
【請求項９】
前記第２のステップは、前記第１回路ブロックと前記第２回路ブロックとの少なくとも一方に回路ブロック内の配置位置が設定される既配置セルを含むとき、前記既配置セルの端子位置を前記端点として前記見積配線長を算出する
請求項７または請求項８に記載の半導体集積回路のフロアプラン設計プログラム。
【請求項１０】
前記第２のステップは、前記第１回路ブロックと前記第２回路ブロックとの少なくとも一方が他の回路ブロックと接続される端子の端子位置が設定されている階層ブロックであるとき、前記他の回路ブロックと接続される端子の端子位置を前記端点として前記見積配線長を算出する
請求項７から請求項９のいずれかに記載の半導体集積回路のフロアプラン設計プログラム。
【請求項１１】
前記タイミング制約条件は、配線毎に対応付けて設定される動作周波数で示される
請求項１から請求項１０のいずれかに記載の半導体集積回路のフロアプラン設計プログラム。
【請求項１２】
複数の回路ブロックの回路ブロックデータと前記複数の回路ブロックのブロック間の接続データとを含むネットリストと、
前記回路ブロック間の接続の各々に対するタイミング制約条件と、
配線長とタイミングとの関係を示す関係データと
を記憶する記憶部と、
前記回路ブロックを配置する回路ブロック配置部と、
前記回路ブロックを配置した位置と前記接続データとを用いて回路ブロック間の見積配線長を計算する配線長見積部と、
前記関係データに基づいて前記見積配線長が前記タイミング制約条件を満たすか否かを判定する判定部と、
前記判定部で判定した判定結果を表示する表示部と
を具備する
半導体集積回路のフロアプラン設計装置。
【請求項１３】
前記回路ブロックを一つずつ配置する毎に前記見積配線長を計算し、前記タイミング制約条件を満たすか否かを判定して前記判定結果を表示する
請求項１２に記載の半導体集積回路のフロアプラン設計装置
【請求項１４】
前記関係データは、動作周波数と許容配線長との対応を示すテーブルデータであり、
前記判定部は、前記タイミング制約条件により示される前記動作周波数に基づいて前記関係データから求められる前記許容配線長に基づいて前記見積配線長が前記タイミング制約条件を満たすか否かを判定する
請求項１２または請求項１３に記載の半導体集積回路のフロアプラン設計装置。
【請求項１５】
前記関係データは、単位配線長当たりの遅延時間を示すデータを含み、
前記判定部は、前記見積配線長と前記単位配線長当たりの遅延時間を示すデータとに基づいて計算される見積遅延時間が前記タイミング制約条件を満たすか否かを判定する
請求項１２または請求項１３に記載の半導体集積回路のフロアプラン設計装置。
【請求項１６】
前記表示部は、
前記回路ブロック配置部で配置した前記回路ブロックの配置位置を示す情報と、
前記判定部で判定した前記判定結果と
を重ね合わせてビジュアルに表示する
請求項１２から請求項１５のいずれかに記載の半導体集積回路のフロアプラン設計装置。
【請求項１７】
前記回路ブロック配置部は、前記複数の回路ブロックのブロック間の配線接続本数に基づいて、前記複数の回路ブロックのうち未配置の第１回路ブロックの配置位置を決定する
請求項１２から請求項１６のいずれかに記載の半導体集積回路のフロアプラン設計装置。
【請求項１８】
前記配線長見積部は、
前記第１回路ブロックの端子位置を代表し、前記複数の回路ブロックのうち前記第１回路ブロックと接続関係がある配置済みの第２回路ブロックに接続される配線の端点の座標と、
前記第２回路ブロックの端子位置を代表し、前記第１回路ブロックに接続される配線の端点の座標と
に基づいて前記見積配線長を算出する
請求項１７に記載の半導体集積回路のフロアプラン設計装置。
【請求項１９】
前記第１回路ブロックに設定される前記端点は、前記第１回路ブロックの幾何学的中心を示す第１中心点、前記第２回路ブロックに最も近接する第１近接点、前記第２回路ブロックまで最も離れる第１遠隔点を候補とし、
前記第２回路ブロックに設定される前記端点は、前記第２回路ブロックの幾何学的中心を示す第２中心点、前記第１回路ブロックに最も近接する第２近接点、前記第１回路ブロックまで最も離れる第２遠隔点を候補とし、
前記配線長見積部は、
前記第１中心点と前記第２中心点とを接続する配線の配線長、
前記第１近接点と前記第２近接点とを接続する配線の配線長、
前記第１遠隔点と前記第２遠隔点とを接続する配線の配線長
のうちのいずれかを前記見積配線長として選択する
請求項１８に記載の半導体集積回路のフロアプラン設計装置。
【請求項２０】
前記配線長見積部は、前記第１回路ブロックと前記第２回路ブロックとの少なくとも一方に回路ブロック内の配置位置が設定される既配置セルを含むとき、前記既配置セルの端子位置を前記端点として前記見積配線長を算出する
請求項１８または請求項１９に記載の半導体集積回路のフロアプラン設計装置。
【請求項２１】
前記配線長見積部は、前記第１回路ブロックと前記第２回路ブロックとの少なくとも一方が他の回路ブロックと接続される端子の端子位置が設定されている階層ブロックであるとき、前記他の回路ブロックと接続される端子の端子位置を前記端点として前記見積配線長を算出する
請求項１８から請求項２０のいずれかに記載の半導体集積回路のフロアプラン設計装置。
【請求項２２】
前記タイミング制約条件は、配線毎に対応付けて設定される動作周波数で示される
請求項１２から請求項２１のいずれかに記載の半導体集積回路のフロアプラン設計装置。
【請求項２３】
予めコンピュータが読み取り可能な媒体に記録された
複数の回路ブロックの回路ブロックデータと前記複数の回路ブロックのブロック間の接続データとを含むネットリストと、
前記回路ブロック間の接続の各々に対するタイミング制約条件と、
配線長とタイミングとの関係を示す関係データと
を用いて半導体集積回路のフロアプランを設計する設計方法であって、
前記回路ブロックを配置する第１のステップと、
前記回路ブロックを配置した位置と前記接続データとを用いて回路ブロック間の見積配線長を計算する第２のステップと、
前記関係データに基づいて前記見積配線長が前記タイミング制約条件を満たすか否かを判定する第３のステップと、
前記第３のステップで判定した判定結果を表示する第４のステップと
を具備する半導体集積回路のフロアプラン設計方法。
【請求項２４】
前記回路ブロックを一つずつ追加して配置する毎に前記第１乃至第４のステップを繰り返す
請求項２３に記載の半導体集積回路のフロアプラン設計方法。
【請求項２５】
前記関係データは、動作周波数と許容配線長との対応を示すテーブルデータであり、
前記第３のステップは、前記タイミング制約条件により示される前記動作周波数に基づいて前記関係データから求められる前記許容配線長に基づいて前記見積配線長が前記タイミング制約条件を満たすか否かを判定する
請求項２３または請求項２４に記載の半導体集積回路のフロアプラン設計方法。
【請求項２６】
前記関係データは、単位配線長当たりの遅延時間を示すデータを含み、
前記第３のステップは、前記見積配線長と前記単位配線長当たりの遅延時間を示すデータとに基づいて求められる見積遅延時間が前記タイミング制約条件を満たすか否かを判定する
請求項２３または請求項２４に記載の半導体集積回路のフロアプラン設計方法。
【請求項２７】
前記第４のステップは、
前記第１のステップで配置した前記回路ブロックの配置位置を示す情報と、
前記第３のステップで判定した前記判定結果と
を重ね合わせてビジュアルに表示する
請求項２３から請求項２６のいずれかに記載の半導体集積回路のフロアプラン設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計方法に関し、特に複数のブロックを含む半導体集積回路のレイアウト設計に関する。
【背景技術】
【０００２】
近年はシステム・オン・シリコン時代といわれるように、１つの半導体集積回路内にシステム全体が搭載されるようになり、半導体集積回路の大規模化が進行している。また、高い周波数で動作する高集積のＬＳＩを実現する必要があり、設計の難易度が増加している。この大規模な半導体集積回路を設計する際に、高動作周波数で動作させるように、かつ、高集積になるようにレイアウトするには、配置配線をレイアウトする配置配線レイアウト処理前のフロアプラン段階で、如何に最適なフロアプランを得るかが重要となる。
【０００３】
複数の回路ブロックを含む半導体集積回路をレイアウトする場合、フロアプラン段階に各回路ブロック間の接続本数を基に配線混雑度を考慮したフロアプラン設計を行っている。このようなフロアプラン設計では、回路ブロック間のタイミング制約を考慮したフロアプランの作成を行うことができない。その結果、配置配線を行った後にタイミング違反が判明し、フロアプラン設計に戻るという繰り返しが頻繁に発生することになる。即ち、設計ＴＡＴ（Ｔｕｒｎ  Ａｒｏｕｎｄ  Ｔｉｍｅ）が膨大にかかることになる。
【０００４】
従来のフロアプラン設計ツールは、複数の回路ブロックをフロアプラン設計する際、各回路ブロック間の接続本数を基にして配線混雑度を考慮し、配線混雑が発生し難いフロアプランを実現する機能を有している。しかし、複数の回路ブロックをフロアプラン設計する際に回路ブロック間のタイミング制約を確認し、タイミング制約違反が発生しない位置に回路ブロックを配置するようなフロアプラン設計する機能は、完全には実現されていない。従来のフロアプラン設計ツールにおいて、タイミング制約違反が発生しないように回路ブロックを配置するフロアプラン設計に向けて補われる技術として、以下に示すような技術がある。
【０００５】
特開２００２−３６６５９８号公報によれば、近接配置すべきブロックの優先順位付けを行い、フロアプラン作成時間を短縮する技術が記載されている。この半導体チップのフロアプラン作成方法は、スタティックタイミング解析を行う工程と、近接配置すべきブロックの優先順位付けを行う工程とを含む。スタティックタイミング解析を行う工程は、仮配線容量値から算出した各ブロック間の遅延値に幅を持たせてスタティックタイミング解析を行う。近接配置すべきブロックの優先順位付けを行う工程は、スタティックタイミング解析の結果を用いて近接配置すべきブロックの優先順位付けを行う。また、近接配置すべきブロックの優先順位付けを行う工程は、スタティックタイミング解析の結果と各ブロック間の配線数の割合とを考慮して近接配置すべきブロックの優先順位付けを行うこともできる。さらに、近接配置すべきブロックの優先順位付けを行う工程は、スタティックタイミング解析の結果に重み付けをした値と各ブロック間の配線数の割合とを考慮するか、または、スタティックタイミング解析の結果と各ブロック間の配線数の割合に重み付けをした値とを考慮して近接配置すべきブロックの優先順位付けを行うこともできる。
【０００６】
図１４は、この半導体チップのフロアプラン作成方法を示すフローチャートである。まず、ステップＳ８１において、ネットリストに基づく各ブロック間の仮配線容量値から、製造プロセス、温度、電圧のワースト条件での各ブロック間の遅延値が算出される。次に、ステップＳ８２において、算出された各ブロック間の遅延値にブロック間距離が近い場合の係数、遠い場合の係数、平均的な場合の係数が掛けられる。これらの係数は、予め準備されている。したがって、ブロックが近くに配置された場合（アンダー）、遠くに配置された場合（オーバー）、平均的な距離で配置された場合（センター）の各遅延値が算出される。さらに、ステップＳ８３において、各ブロック間の３種類の遅延値に基づいてスタティックタイミング解析を行う。この解析の結果、タイミング制約違反のパスがどのブロック間で発生しているか分類される。続いて、ステップＳ８４において、計算式に基づいてタイミング制約違反のあるブロックの配置順番が算出される。配置順番が算出されると、ステップＳ８５において、近接配置すべきブロックの優先順位が決定されてフロアプラン情報として出力され、これに基づいてフロアプラン設計を行う。
【０００７】
このように、この技術は、ブロックに配置の優先順位付けし、フロアプラン作成時間の短縮化を図るものであるが、フロアプラン作成ＴＡＴが増加したり、また、フロアプラン最適化ができないことがある。
【０００８】
（１）上記の技術では、近接配置すべきブロックの優先順位の情報を得ることはできる。しかし、実際にこれらのブロックをフロアプラン設計においてチップ上に配置する際にどれだけブロック間を離して配置してよいかの具体的判断材料となるブロック間の距離値が示されないため、ブロック間の距離の許容範囲を知ることができない。そのため、チップに配置すべきブロックが多数含まれるとき、近接配置すべきブロックの優先順位にしたがってブロックを配置していったとしても、ブロックの数が多いためにブロック間の距離を離さなければブロックを配置することができないことがある。その場合、ブロック間の距離はどこまでがタイミング制約を満たす範囲かの情報がない。このため、タイミング制約を満たせないフロアプランが作成されてしまい、フロアプラン作成ＴＡＴが増加することがある。
【０００９】
（２）また、実際のレイアウトでは配線混雑による配線迂回もタイミング収束性の悪化の原因となる。上記の技術では、優先して近接配置すべきブロックの情報作成のみに留まっている。したがって、配線の混雑が考慮されていないため、配線混雑を考慮したフロアプラン最適化を実施することができないことがある。
【００１０】
また、特開２００３−３３０９８６号公報によれば、チップ面積を増加させず、かつ再フロアプランやＲＴＬ修正等の後戻り作業を発生させずに配置配線混雑やタイミング制約違反を解決するという半導体集積回路の設計方法が開示される。この半導体集積回路の設計方法は、論理セルやメモリ等の機能マクロで構成された複数のブロックと、これらのブロックを接続する配線とを有する半導体集積回路をレイアウト設計する設計方法である。このレイアウト設計する設計方法は、混雑状況を確認するステップと、タイミング制約違反を確認するステップと、形状を変更させるステップとを含む。混雑状況を確認するステップは、ブロックの内外の配置および配線の混雑状況を確認する。タイミング制約違反を確認するステップは、ブロックの内外のタイミング制約違反を確認する。形状を変更させるステップは、配置および配線の混雑状況やタイミング制約違反に応じてブロックの形状を変更させる。このレイアウト設計する設計方法は、さらにタイミング制約の違反を改善する再配置配線を行うステップを有する。この再配置配線を行うステップは、ブロックの形状変更に伴って発生するブロック内の論理セルや機能マクロの配置変更およびブロック内外の配線変更に対し、タイミング制約の違反を改善するように再配置配線を行う。また、このレイアウト設計する設計方法は、配置配線混雑を改善する再配置配線を行うステップを有する。この再配置配線を行うステップは、ブロックの形状変更に伴って発生するブロック内の論理セルや機能マクロの配置変更に対し、配置配線混雑を改善するように再配置配線を行う。
【００１１】
図１５は、上記の半導体集積回路の設計方法を示すフロー図である。まず、配置配線結果とタイミング制約とライブラリとを入力し（ステップＳ９１）、次に、ブロック形状を変更し（ステップＳ９３）、結果を出力する（ステップＳ９８）、というものである。ステップＳ９３で処理するブロック形状の変更は、次の手順で処理される。
【００１２】
まず、ブロック内外の配置および配線の混雑状況とタイミング制約違反を確認する（ステップＳ９４）。次に、確認された配線混雑とタイミング制約違反を解決可能とならしめるブロック形状を決定する（ステップＳ９５）。具体的には、次の３つの考え方により変更するブロックの形状を決定する。第１に、配線混雑している領域を広げるべくブロック形状を変更する。第２に、セットアップタイミング制約違反部のブロック形状を広げ、ブロック間距離を短くする。第３に、ホールドタイミング制約違反部のブロック形状を縮め、ブロック間距離を長くする。このように決定されたブロックの形状に変更する（ステップＳ９６）。次にブロック形状を変更した部分に関する配置と配線を変更する（ステップＳ９７）。
【００１３】
このようにしてブロックの形状を変更し、ステップＳ９８において、その配置と配線を変更した後の配置配線結果が出力される。この技術では、次に示すように、配線混雑および、タイミング制約違反部の修正を行えないケースや、別の配線混雑やタイミング制約違反が発生するケースが予想される。
【００１４】
（１）この技術では、配置配線結果に基づき、配置配線混雑とタイミング制約違反部分をブロック形状の変更により解決する。しかし、実際には、この配置配線結果を得る前にフロアプラン設計を実施する必要がある。ところが、この段階のフロアプランでは配線結果が存在しないため、上記の手法を適用することができず、配置配線混雑およびタイミング制約を考慮したフロアプラン作成することができない。このため、配置配線を行う対象となるフロアプランが最適でない場合、配置配線結果に基づくブロック形状の変更のみでは、配線混雑および、タイミング制約違反部の修正を行えないケースが発生する。
【００１５】
（２）上記技術では、配線混雑部分とタイミング制約違反部分が集中あるいは重複しているとき、該当ブロックのみに対してブロック形状を変更してこれらの問題を解決しようとする。即ち、該当ブロックしか考慮していないことにより、周囲の他ブロック間、または、周囲の他領域で別の配線混雑やタイミング制約違反が発生することがある。
【００１６】
（３）さらに、セットアップタイミング制約違反とホールドタイミング制約違反が同時に発生した場合、ブロック形状を広げたり縮めたりするだけでは、フロアプランが収束しないことがある。即ち、セットアップタイミング違反を修正するためのブロック形状の変更により、ブロック間の距離が近くなり、これにより、ホールド違反の発生する可能性がある。また、逆に、ホールド違反を修正するためのブロック形状変更により、ブロック間の距離が遠くなり、これにより、セットアップ違反が発生する可能性がある。このため、上記技術では、セットアップとホールドの両タイミング制約違反を同時に収束するフロアプランを作成することができないことがある。
【００１７】
上述のように、これらの技術では、半導体集積回路をフロアプラン設計する際、配線混雑とタイミング制約の両方を同時に考慮することができず、この結果、配線混雑やタイミング制約違反が収束できないことがあり、フロアプラン設計から配置配線設計までの処理を繰り返すことになる。
【００１８】
【特許文献１】特開２００２−３６６５９８号公報
【特許文献２】特開２００３−３３０９８６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１９】
このように、従来のフロアプラン処理は、ブロック間の接続強度に基づいてチップ上にブロックを配置すると共に、ブロックの形状を決定する方法をとっている。したがって、ブロック間の接続強度に基づくブロック間の配線混雑を考慮することは可能であるが、最終的に要求されるタイミング制約を満たすようブロックの位置が決定されているか否かは、実際に配置、配線を実行しなければ判らない。このため、配線の混雑がなく、かつ、タイミング制約を満足するようなフロアプランを得るためには、フロアプラン設計から配置配線設計までの処理を何度も繰り返して行う必要がある。したがって、膨大な設計ＴＡＴが必要となっている。
【００２０】
本発明が解決しようとする課題は、複数のブロックを含む半導体集積回路のレイアウト設計の設計ＴＡＴが削減される設計方法を提供することにある。
【課題を解決するための手段】
【００２１】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００２２】
本発明の観点では、半導体集積回路のフロアプラン設計プログラムは、複数の回路ブロックの回路ブロックデータと複数の回路ブロックのブロック間の接続データとを含むネットリストと、回路ブロック間の接続の各々に対するタイミング制約条件と、配線長とタイミングとの関係を示す関係データとを用いてコンピュータに半導体集積回路のフロアプランを設計させるプログラムである。これらのデータは、予めコンピュータが読み取り可能な媒体に記録されている。このフロアプラン設計プログラムは、第１から第４までのステップをコンピュータに実行させる。第１のステップは、回路ブロックを配置するステップである。第２のステップは、回路ブロックを配置した位置と前記接続データとを用いて、回路ブロック間の見積配線長を計算するステップである。第３のステップは、関係データに基づいて、見積配線長がタイミング制約条件を満たすか否かを判定するステップである。第４のステップは、第３のステップで判定した判定結果を表示するステップである。第１から第４のステップは、回路ブロックを一つずつ追加して配置する毎に実行される。即ち、回路ブロックが一つ配置されるたびに、その見積配線長がタイミング制約条件を満たすか否かの判定結果が表示されることになる。
【００２３】
上記の関係データは、動作周波数と許容配線長との対応を示すテーブルデータである。したがって、第２のステップは、タイミング制約条件により示される動作周波数に基づいて関係データから許容配線長を求める。第３のステップは、その許容配線長に基づいて、見積配線長がタイミング制約条件を満たすか否かを判定することになる。この関係データは単位配線長当たりの遅延時間を示すデータを含んでもよい。その場合、第３のステップは、見積配線長と単位配線長当たりの遅延時間を示すデータとに基づいて見積遅延時間を求め、見積遅延時間がタイミング制約条件を満たすか否かを判定する。第３のステップで判定された判定結果は、第４のステップにおいて、第１のステップで配置した回路ブロックの配置位置を示す情報と重ね合わせられてビジュアルに表示される。
【００２４】
第２のステップは、第１回路ブロックの端子位置を代表する点と第２回路ブロックの端子位置を代表する点とを接続する配線の端点の座標に基づいて見積配線長を算出する。第１回路ブロックの端子位置を代表する点は、複数の回路ブロックのうち第１回路ブロックと接続関係がある配置済みの第２回路ブロックに接続される配線の第１回路ブロック側の端点である。第２回路ブロックの端子位置を代表する点は、第１回路ブロックに接続される配線の第２回路ブロック側の端点である。この第１回路ブロックに設定される端点は、第１回路ブロックの幾何学的中心を示す第１中心点、第２回路ブロックに最も近接する第１近接点、第２回路ブロックまで最も離れる第１遠隔点を候補とする。また、第２回路ブロックに設定される端点は、第２回路ブロックの幾何学的中心を示す第２中心点、第１回路ブロックに最も近接する第２近接点、第１回路ブロックまで最も離れる第２遠隔点を候補とする。これらの候補点の組み合せの中から第２のステップは、（１）第１中心点と前記第２中心点とを接続する配線の配線長、（２）第１近接点と第２近接点とを接続する配線の配線長、（３）第１遠隔点と前記第２遠隔点とを接続する配線の配線長のうちのいずれかを前記見積配線長として選択して見積配線長とする。
【００２５】
本発明の他の観点では、半導体集積回路のフロアプラン設計装置は、記憶部（２５／２６）と、回路ブロック配置部（１１）と、配線長見積部（１２、１３）と、判定部（１４、１５）と、表示部（１６）とを具備する。記憶部（２５／２６）は、複数の回路ブロックの回路ブロックデータと、ブロック間の接続データとを含むネットリスト（１０）と、回路ブロック間の接続の各々に対するタイミング制約条件（１７）と、配線長とタイミングとの関係を示す関係データ（１８、１９）とを記憶する。回路ブロック配置部（１１）は、回路ブロックを配置する。配線長見積部（１２、１３）は、回路ブロックを配置した位置と接続データとを用いて回路ブロック間の見積配線長を計算する。判定部（１４、１５）は、関係データ（１８、１９）に基づいて見積配線長がタイミング制約条件（１７）を満たすか否かを判定する。表示部（１６）は、判定部（１４、１５）で判定した判定結果を表示する。判定結果は、回路ブロックを一つずつ配置する毎に見積配線長を計算し、タイミング制約条件を満たすか否かを判定して表示してもよい。
【００２６】
本発明の関係データは、動作周波数と許容配線長との対応を示すテーブルデータである。したがって、判定部（１４）は、タイミング制約条件により示される動作周波数に基づいて関係データから求められる許容配線長に基づいて見積配線長がタイミング制約条件を満たすか否かを判定する。また、関係データは、単位配線長当たりの遅延時間を示すデータを含む。その場合、判定部（１５）は、見積配線長と単位配線長当たりの遅延時間を示すデータとに基づいて見積遅延時間を求め、見積遅延時間がタイミング制約条件を満たすか否かを判定する。判定部（１４、１５）で判定された判定結果は、表示部（１６）において回路ブロック配置部（１１）で配置した回路ブロックの配置位置を示す情報とを重ね合わせてビジュアルに表示される。
【００２７】
また、本発明の他の観点では、半導体集積回路のフロアプラン設計方法は、予めコンピュータが読み取り可能な媒体に記録された複数の回路ブロックの回路ブロックデータとブロック間の接続データとを含むネットリストと、回路ブロック間の接続の各々に対するタイミング制約条件と、配線長とタイミングとの関係を示す関係データとを用いて半導体集積回路のフロアプランを設計する設計方法であり、第１から第４のステップを具備する。第１のステップは、回路ブロックを配置する。第２のステップは、回路ブロックを配置した位置と接続データとを用いて回路ブロック間の見積配線長を計算する。第３のステップは、関係データに基づいて見積配線長がタイミング制約条件を満たすか否かを判定する。第４のステップは、第３のステップで判定した判定結果を表示する。判定結果は、回路ブロックを一つずつ追加して配置する毎に表示してもよい。
【発明の効果】
【００２８】
本発明によれば、複数のブロックを含む半導体集積回路のレイアウト設計の設計ＴＡＴが削減される設計方法を提供することができる。
【００２９】
また、本発明によれば、従来のブロック間の配線本数に基づく配線混雑を考慮したフロアプランに加え、ブロックを配置するごとに配置したブロックの位置で所望のタイミング制約を満たすことができるか否かを判断できるようになり、配線混雑とタイミング制約の両面を満たす最適なフロアプランを作成することができる。したがって、配線混雑やタイミング制約違反の解消のためにフロアプランまで戻って繰り返し実行されていたフロアプランから配置配線までの処理を削減することができる。
【発明を実施するための最良の形態】
【００３０】
以下、図面を参照して本発明の第１の実施形態に係る半導体集積回路の設計方法を説明する。図１は、半導体集積回路のレイアウト設計装置の処理構成を示す図である。レイアウト設計装置は、回路ブロック配置部１１、配線長見積部１２、配線長比較部１４、表示部１６を具備し、これらの処理に供されるデータであるネットリスト１０、タイミング制約テーブル１７、許容配線長テーブル１８を備える。即ち、レイアウト設計は、ネットリスト１０、タイミング制約テーブル１７、許容配線長テーブル１８が入力あるいは設定されると、回路ブロック配置部１１、配線長見積部１２、配線長比較部１４、表示部１６の各処理が施される。
【００３１】
回路ブロック配置部１１は、ネットリスト１０に示される情報に基づいて配線混雑度を考慮して回路ブロックを配置する。回路ブロックを配置した情報は、配線長見積部１２に出力される。配線長見積部１２は、回路ブロック配置部１１で配置された回路ブロック間の仮の配線の長さを算出し、これを回路ブロック間の配線長見積値とする。計算された配線長見積値は、配線長比較部１４に出力される。配線長比較部１４は、タイミング制約テーブル１７に示される各回路ブロック間の配線の制約条件と、許容配線長テーブル１８に示される各動作周波数における許容配線長とに基づいて各回路ブロック間の許容配線長を算出する。配線長比較部１４は、その許容配線長と配線長見積部１２で見積った配線長見積値とを比較する。配線長比較部１４は、比較結果を表示部１６に出力する。表示部１６は、配線長比較部１４で比較した結果を表示装置に表示する。
【００３２】
ネットリスト１０は、回路の接続関係やサイズ、回路定数などを示すデータであり、当業者にとってよく知られるものである。即ち、ネットリスト１０は、半導体集積回路の構成を示し、レイアウトの対象となるものを示す。タイミング制約テーブル１７は、半導体集積回路の動作周波数データを含むものであり、これにより各ブロック間の配線が満たすべきタイミングが指示される。このタイミング制約テーブル１７は、図５に示されるように、回路ブロック間配線３４に対応させて制約内容（条件）３５を列挙したものである。ここでは、制約条件として動作周波数が図示されている。許容配線長テーブル１８は、図４に示されるように、回路の動作周波数３１に対応させてその動作周波数において許容できる最長配線長である許容配線長３２を列挙させたものである。この許容配線長テーブル１８は、予め半導体集積回路の製造プロセス、温度、電圧を考慮し、動作周波数ごとに許容配線長を求めたものが予め準備されている。なお、この許容配線長３２は、配線遅延を削減するために配線内に挿入するバッファを考慮の上決定される。
【００３３】
図２は、本発明の半導体集積回路フロアプラン設計装置のハードウェア構成を示す図である。フロアプラン設計装置は、パーソナルコンピュータやワークステーションなどに例示される情報処理装置であり、情報処理装置上で実行される設計プログラムによりレイアウト設計がなされる。フロアプラン設計装置は、図２に示されるように、入力装置２１、中央処理装置（ＣＰＵ）２２、出力装置２３、主記憶装置２５、補助記憶装置２６を具備している。
【００３４】
入力装置２１は、キーボードやマウス、あるいはファイル入力装置等であり、回路データや設定条件を入力する。ネットリスト１０、タイミング制約テーブル１７、許容配線長テーブル１８等のデータテーブルも入力装置２１から入力され、補助記憶装置２６に格納される。また、入力装置２１は、変更情報の入力も行う。中央処理装置（ＣＰＵ）２２は、プログラムを解析・実行し、データの入出力および演算を行う。出力装置２３は、比較結果を表示するディスプレイ等の表示装置、レイアウト情報を出力するファイル出力装置である。主記憶装置２５は、プログラムおよびデータを格納し、そのプログラムおよびデータに基づいてＣＰＵ２２により演算が実行される。補助記憶装置２６は、ハードディスク等の記憶装置であり、プログラムや、回路ブロック配置、回路ブロック間の配線長見積等で使用するネットリスト、タイミング制約を含むデータテーブル等の設計情報が記憶されている。
【００３５】
キーボードやマウス等の入力装置２１からコマンドを入力し、ＣＰＵ２２に回路ブロック配置の実行を指示する。ＣＰＵ２２は、補助記憶装置２５に格納されている設計プログラムを主記憶装置２５に読み出し、設計プログラムを実行する。実行後の回路ブロック配置の結果は、ディスプレイ等の出力装置２３に表示される。また、設計結果であるレイアウト情報は、補助記憶装置２５に格納されたり、出力装置２３から出力され、次の配線配置処理などに使用される。
【００３６】
ここで、回路ブロック間の配線長見積について説明する。配線長の見積には、枝分かれを許し、複数の点を枝で結ぶスタイナー木等の高速な配線手法を使用する。図６は、スタイナー木による回路ブロック間の配線長見積を示す図である。回路ブロックＡと回路ブロックＢと回路ブロックＺが既に配置されている。この中に回路ブロックＣを配置する状態である。回路ブロックＡと回路ブロックＢは、共に回路ブロックＣと接続関係があり、回路ブロックＺは回路ブロックＣと接続関係がない。回路ブロックＣを配置する際、回路ブロックＡ、Ｂと回路ブロックＣとを接続する配線長をスタイナー木により見積る。
【００３７】
配線の始点と終点は、各回路ブロックの中心点同士、各回路ブロック間の近接点同士、各回路ブロック間の遠隔点同士のいずれかを選択できることとする。即ち、回路ブロックＢと回路ブロックＣとの配線長を見積る場合、次のように配線の始点と終点となる端点が設定される。回路ブロックＣには、回路ブロックＣの中心点４１、回路ブロックＢから最も遠い遠隔点４２、回路ブロックＢに最も近い近接点４３が設定され、回路ブロックＢには、中心点４５、遠隔点４６、近接点４７が設定される。このうち、回路ブロックＣの中心点４１と回路ブロックＢの中心点４５を接続する配線が、回路ブロックＢとＣとの平均（Ｔｙｐｉｃａｌ）配線長として見積られる。回路ブロックＣの遠隔点４２と回路ブロックＢの遠隔点４６とを接続する配線が、回路ブロックＢと回路ブロックＣとの最長（Ｗｏｒｓｔ）配線長として見積られる。回路ブロックＣの近接点４３と回路ブロックＢの近接点４７とを接続する配線が、回路ブロックＢと回路ブロックＣとの最短（Ｂｅｓｔ）配線長として見積られる。
【００３８】
図６では、説明を簡単にするため各回路ブロックの中心点を接続した平均配線長を見積る状態が示されている。回路ブロックＡと回路ブロックＣとを接続する配線３７は、回路ブロックＡの中心点４８からスタイナー点３９を通り、回路ブロックＣの中心点４１に達する。この配線３７の長さが回路ブロックＡと回路ブロックＣとの間の平均配線長となる。回路ブロックＢと回路ブロックＣとを接続する配線３８は、回路ブロックＢの中心点４５からスタイナー点３９を通り、回路ブロックＣの中心点４１に達する。この配線３８の長さが回路ブロックＢと回路ブロックＣとの間の平均配線長となる。スタイナー点３９から回路ブロックＣの中心点４１までの配線は、共通になっている。したがって、平均配線長が選択された場合、回路ブロックＣに関する配線長は、回路ブロックＡに対して配線３７が、回路ブロックＣに対して配線３８が配線長見積結果となる。ここで、配線長の見積り方法は、スタイナー木に限らず、周知の他の高速な配線手法でもよい。
【００３９】
次に、タイミング制約と配線長見積値との比較方法について説明する。ある動作周波数における許容配線長は、タイミング制約テーブル１７と許容配線長テーブル１８とに基づいて計算される。即ち、比較の対象となる配線のタイミング制約条件をタイミング制約テーブル１７から抽出する。例えば、回路ブロックＢと回路ブロックＣの間の配線は、図５を参照して、動作周波数３００ＭＨｚが設定されていることが判る。また、回路ブロックＡと回路ブロックＣとの間には、動作周波数３００ＭＨｚの配線１と動作周波数５００ＭＨｚの配線２との２種類の配線があることが判る。
【００４０】
動作周波数が抽出されると、許容配線長テーブル１８が参照され、その動作周波数に対応する許容配線長が抽出される。回路ブロックＢとＣの間の配線は、動作周波数３００ＭＨｚが設定されているので、図４に示される許容配線長テーブル１８を参照して許容配線長は１２ｍｍとなる。
【００４１】
このようにして求めた許容配線長と配線長見積部１２で見積った配線長とを配線長比較部１４は比較する。即ち、動作周波数３００ＭＨｚの場合、見積った配線長が１２ｍｍを超えていれば許容配線長を超過していることになり、１２ｍｍ以下であれば、許容範囲内である。このようにして各回路ブロック間の配線の動作周波数ごとに許容配線長の比較を行う。
【００４２】
このとき、回路ブロックＡとＣとの間の配線のように、複数の動作周波数が設定されている場合、それぞれの動作周波数に対応する許容配線長を求める。回路ブロックＡと回路ブロックＣとの間の配線１では、動作周波数３００ＭＨｚが設定されているので許容配線長は１２ｍｍ、回路ブロックＡと回路ブロックＣとの間の配線２では、動作周波数５００ＭＨｚが設定されているので許容配線長は４ｍｍとなる。ここで、回路ブロックＡとＣとの間の配線の見積配線長が１０ｍｍであったとすると、動作周波数３００ＭＨｚの配線は、（許容配線長：１２ｍｍ）−（見積配線長：１０ｍｍ）＝２ｍｍ  というように許容範囲内となる。動作周波数５００ＭＨｚの配線の場合は、（許容配線長：４ｍｍ）−（見積配線長：１０ｍｍ）＝−６ｍｍ  というように、６ｍｍ許容範囲を超過していることになる。
【００４３】
このように求められた比較結果は、表示部１６に送られ、グラフィカルに表示される。なお、タイミング制約テーブル１７および許容配線長テーブル１８における数値は、説明のために設定された値であり、これらの数値に限定されることはない。
【００４４】
次に、フロアプラン設計装置の動作を説明する。図３は、第１の実施の形態に係るフロアプラン処理の動作の流れを示すフローチャートである。フロアプラン処理の前に、ネットリスト１０と、タイミング制約テーブル１７と、許容配線長テーブル１８のデータが補助記憶装置２６に入力されている。
【００４５】
（ステップＳ１１：回路ブロック配置ステップ）
フロアプラン処理では、まず、従来のフロアプラン処理と同じように、回路ブロック配置部１１において、各回路ブロック間の接続本数の情報に基づいて配線混雑が考慮され、１つの回路ブロックが配置される。また、回路ブロックの形状が決定される。
【００４６】
（ステップＳ１２：回路ブロック間配線長見積ステップ）
次に、配線長見積部１２は配置された回路ブロック間の配線長を見積る。上述したように、配線長の見積には、従来の枝分かれを許し複数の点を枝で結ぶスタイナー木等の高速な配線手法を使用する。配線の始点と終点は、各回路ブロックの中心点同士、各回路ブロック間の最も近い近接点同士、各ブロック間の最も遠くなる遠隔点同士のいずれかを選択できるようにしておく。これにより、平均（Ｔｙｐｉｃａｌ）、最短（Ｂｅｓｔ）、最長（Ｗｏｒｓｔ）の配線長を見積ることができる。配線の始点と終点が決定されると、配線の始点と終点とに基づいて配置された回路ブロック間の距離を算出し、これを回路ブロック間の配線長見積値とする。
【００４７】
（ステップＳ１４：配線長比較ステップ）
次に、配線長比較部１４は、見積結果である配線長見積値とその配線の動作周波数に対応する許容配線長とを比較する。比較の前に、まずタイミング制約テーブル１７と許容配線長テーブル１８とに基づいて、タイミング制約テーブル１７で指示される動作周波数に対応する許容配線長を求める。このとき、同一の回路ブロック間に複数のタイミング制約がある場合には、動作周波数ごとの許容配線長テーブル１８から各々の動作周波数に対応する許容配線長を抽出し、各々の動作周波数に対応する許容配線長を求め、配線長見積値と各々の動作周波数に対応する許容配線長とを比較する。
【００４８】
先に説明したように、図４、図５を参照すると、回路ブロックＢとＣとの間の配線は、１２ｍｍ以下の場合は許容範囲内の配線長と判定される。また、回路ブロックＡとＣとの間の配線は、配線長が１０ｍｍの場合、動作周波数３００ＭＨｚの配線１は許容範囲内の配線長と判定されるが、動作周波数５００ＭＨｚの配線２は許容範囲内を超過していると判定される。この判定結果は、表示部１６に送られる。
【００４９】
（ステップＳ１７：比較結果表示ステップ）
回路ブロック間Ａ、Ｂと回路ブロックＣとの間の配線の見積配線長とその動作周波数における許容配線長との比較結果は、表示部１６において表示装置（出力装置）２３の画面上にグラフィカルに表示される。画面上には、配置された回路ブロックを表わす図形と、それに接続される回路ブロックを表わす図形の間を結ぶ線分によりその回路ブロック間の配線が表示される。その配線が、回路ブロック間のタイミングが目標とするタイミング制約を満足できるか否かを判断できるように表示される。即ち、その配線は、十分満足できる状態であるか、ほぼ満足できる状態であるか、満足できない状態であるか、の状態が表示され、さらに、許容配線長をオーバーしている場合には、オーバーしている長さが表示される。
【００５０】
例えば、配線を表わす線分の色を、タイミング制約を十分満足できる場合は青色、ほぼ満足できる場合は黄色、満足できない場合は赤色というように色分けし、回路ブロック間のタイミングの満足度が視覚的に判別されやすいように表示される。また、タイミング制約を満足できていない場合には、タイミング制約と回路ブロック間の配線長見積値の比較結果、即ち、許容配線長を超えた超過値についても表示する。また、このとき、同一の回路ブロック間に複数のタイミング制約がある場合には、タイミング制約ごとに比較結果を表示する。
【００５１】
図７は、回路ブロックＡとＢとが既に配置されている中に回路ブロックＣが配置され、回路ブロックＣとＡ、回路ブロックＣとＢ間の動作周波数３００ＭＨｚのタイミング制約に対する表示例である。動作周波数３００ＭＨｚに対してはブロックＣの配置位置は、ブロックＣとブロックＡ間、ブロックＣとブロックＢ間のタイミング制約が十分満足できていることを示し、その場合は表示５１により「ＯＫ」が表示される。
【００５２】
図８は、回路ブロックＣとＡ間の動作周波数５００ＭＨｚである配線２の表示例である。動作周波数５００ＭＨｚに対して、回路ブロックＣの配置位置は、ブロックＡとの間のタイミング制約において６ｍｍ満足できないことが表示５３により表示されている。即ち、「ＮＧ」の表示により許容配線長を超過していることが、「Ｏｖｅｒ＝６ｍｍ」により許容配線長の超過分が表示されている。
【００５３】
このように、回路ブロックが配置されるごとに、配置される回路ブロックに接続される全ての回路ブロックの、全てのタイミング制約に関するタイミング満足度が画面上にグラフィカルに表示される。したがって、配置される回路ブロックの位置がタイミングを満たす位置であるか否かを、配置の時点で視覚的にユーザが判断できることを可能とする。
【００５４】
（ステップＳ１８：配置完了判定ステップ）
表示が終了すると、未配置の回路ブロックが存在する場合、ステップＳ１１に戻って次の回路ブロックを配置して以上の処理を繰り返す。見積値が許容値を超えていた場合には、再度配置し直す。回路ブロックの配置を繰り返し、全ての回路ブロックの配置が完了した時点で終了とする。
【００５５】
（ステップＳ１９：出力処理ステップ）
全ての回路ブロックの配置が完了すると、このようにして作成された回路ブロック配置情報を含むフロアプラン情報が出力され、後続の配置配線の処理が行われる。
【００５６】
このように、第１の実施例の形態によると、大規模で高動作周波数のＬＳＩのレイアウトにおいて、従来のブロック間の配線本数に基づく配線混雑を考慮したフロアプランに加え、ブロックを配置するごとに配置したブロックの位置で所望のタイミング制約を満たすことができるか否かをユーザが確認することが可能となる。したがって、配線混雑とタイミング制約の両面を満たす最適なフロアプランを作成することができる。配線混雑、あるいはタイミング制約違反によるフロアプランへの後戻り、フロアプランから配置配線までの繰り返しを削減することができる。
【００５７】
即ち、回路ブロックの配置の際には、従来通りの回路ブロック間の接続本数を考慮して回路ブロックを配置するため、配線の混雑をなくすことができる。回路ブロックを配置するごとに配置したブロックの位置でのタイミング満足度が表示され、レイアウト処理後の配置配線を実行しなくとも、回路ブロックの位置がタイミング制約を満たすものであるか否かをユーザが確認することが可能となる。
【００５８】
したがって、フロアプランの段階で回路ブロックの位置がタイミング制約を満たすものであるか否かをユーザが判断することにより、タイミング制約を満足する最適なフロアプランを得るために、フロアプランの検討から配置配線の処理を何度も繰り返すことなく、短いＴＡＴで配置配線可能なフロアプランを得ることができる。
【００５９】
さらに、回路ブロック配置ごとに配置される回路ブロックの位置がタイミングを満足できるか否かが順次表示される。そのため、全ての回路ブロックを配置した後に一括して膨大なタイミング制約違反が表示されるようなことが無くなり、混乱を少なくすることができる。
【００６０】
また、このようにすることによりチップ内の配線混雑とタイミング満足度のバランスをとりつつフロアプランを作成することができ、周囲の他の回路ブロック間、あるいは、周囲の領域に別の配線混雑やタイミング違反を作り込まないようにすることができる。
【００６１】
さらに、回路ブロック間の距離が最適な状態となることから、信号のセットアップとホールドの両タイミング違反を同時に収束することが可能となる。
【００６２】
ここで、第１の変形例として、既配置セルを含む回路ブロックにおける配線長の見積について説明する。図９を参照して、第１の変形例に係るスタイナー木による既配置セルを含む回路ブロックとの配線長の見積を説明する。図９では、回路ブロックＡと回路ブロックＢと回路ブロックＺが既に配置されている。回路ブロックＢは既配置セル６１を含む。ここに回路ブロックＣを配置する状態である。回路ブロックＡと回路ブロックＣは、共に回路ブロックＢの既配置セル６１と接続関係があり、回路ブロックＺは回路ブロックＣと接続関係がない。回路ブロックＣを配置する際、回路ブロックＡと、回路ブロックＢの既配置セル６１と、回路ブロックＣとを接続する配線長をスタイナー木により見積る。既配置セル６１は、回路ブロックＣ、Ａと接続される端子位置６２が設定されている。
【００６３】
既配置セルがない場合、第１の実施の形態において説明したように、配線の始点と終点は、各回路ブロックの中心点同士、各回路ブロック間の近接点同士、各回路ブロック間の遠隔点同士のいずれかを選択できることとする。したがって、回路ブロックＡと回路ブロックＣとの間の配線長は、このように計算される。
【００６４】
図９に示されるように、回路ブロックＢに既配置セル６１が含まれ、既配置セル６１とブロックＣとの間に配線がある場合、次のように配線の端点が設定され、配線長が見積られる。
【００６５】
（１）既配置セル６１が回路ブロックＣから最も遠い位置に配置されている場合
図９に示されるように、既配置セル６１が回路ブロックＢ内において回路ブロックＣから最も遠い位置に配置されていると、回路ブロックＢの回路ブロックＣ遠隔点は、既配置セル６１の端子位置６２となる。回路ブロックＣの回路ブロックＢ遠隔点は、回路ブロックＣの左下隅位置６５となる。したがって、回路ブロックＢとＣとの最長配線は、点６２と点６５とを接続する経路６８となり、その経路長が最長（Ｗｏｒｓｔ）配線長と見積られる。
【００６６】
このとき、回路ブロックＣの回路ブロックＢ近接点と、回路ブロックＢの回路ブロックＣ近接点とを接続する経路が最短配線となり、その経路長が最短（Ｂｅｓｔ）配線長として見積られる。また、回路ブロックＣ中心点と、回路ブロックＢの中心点とを接続する経路が平均配線となり、その経路長が平均（Ｔｙｐｉｃａｌ）配線長として見積られる。
【００６７】
（２）既配置セル６１が回路ブロックＣに最も近い位置に配置されている場合
このとき、回路ブロックＢにおいて、既配置セル６１が回路ブロックＣに最も近い位置に配置されているため、この既配置セル６１の端子位置６２が近接点となる。図９に示されるような回路ブロックの位置関係の場合、回路ブロックＣの回路ブロックＢ近接点は、回路ブロックＣの右上隅の点となる。したがって、この場合、回路ブロックＣの回路ブロックＢ近接点と既配置セル６１の端子位置６２とを接続する配線の配線長が回路ブロックＢとＣとの最短配線長として見積られる。
【００６８】
また、回路ブロックＣの回路ブロックＢ遠隔点と、回路ブロックＢの回路ブロックＣ遠隔点とを接続する経路が最長配線となり、その経路長が最長配線長として見積られる。さらに、回路ブロックＣ中心点と、回路ブロックＢの中心点とを結ぶ経路が平均配線となり、その経路長が平均配線長として見積られる。
【００６９】
（３）既配置セル６１が回路ブロックＣから最も近くも最も遠くでもない場合
既配置セル６１は、回路ブロックＣとの間の配線長を見積するための端点にならない。したがって、回路ブロックＢと回路ブロックＣとを接続する配線の配線長は、既配置セル６１がない場合と同様の見積配線長となる。即ち、回路ブロックＣの中心点と回路ブロックＢの中心点を接続する配線の配線長が、回路ブロックＢと回路ブロックＣとの平均配線長として見積られる。また、回路ブロックＣの回路ブロックＢ遠隔点と回路ブロックＢの回路ブロックＣ遠隔点とを接続する配線の配線長が、回路ブロックＢと回路ブロックＣとの最長配線長として見積られる。さらに、回路ブロックＣの回路ブロックＢ近接点と回路ブロックＢの回路ブロックＣ近接点とを接続する配線の配線長が、回路ブロックＢと回路ブロックＣとの最短配線長として見積られる。
【００７０】
したがって、回路ブロックＡと回路ブロックＣとの間の配線は、その端点を各回路ブロックの中心点、各回路ブロック間の最も近接する点同士、各ブロック間の最も遠隔にある点同士のいずれかを選択できることとする。既配置セル６１を含む回路ブロックＢと回路ブロックＣとの間の配線は、平均配線長の端点として回路ブロックＢ、回路ブロックＣの中心点が設定される。最短配線長の配線の端点は、既配置セル６１が回路ブロックＣから一番近い位置に配置される場合は既配置セル６１の端子６２、そうでない場合は回路ブロックＣと最も近い回路ブロックＢの点が設定される。最長配線長の配線の端点は、既配置セル６１が回路ブロックＣから一番遠い場合には既配置セル６１の端子、そうでない場合には回路ブロックＣと最も遠い回路ブロックＢの点が設定される。
【００７１】
ここで、回路ブロックＢと回路ブロックＣとの配線が全て既配置セル６１に接続される場合、回路ブロックＢの端点は回路ブロックＢの中心点、近接点、遠隔点ではなく、既配置セル６１の端子６２とすることが好ましい。
【００７２】
既配置セル６１の端子６２が配線見積の始点あるいは終点として設定される場合、配線長見積の結果は図９の配線６８に示されるように、既配置セル６１の端子６２からスタイナー点６９を経て回路ブロックＣの端点６５までとなる。このように、既配置セルを含む回路ブロックの場合、既配置セルの端子が配線長見積の端点として扱われるため、配線長見積の精度が向上する。
【００７３】
既配置セルを含む回路ブロックが配置される場合のフロアプラン設計装置の動作は、図３を参照して説明した第１の実施の形態と同様であり、ステップＳ１２において見積る方法が上述のように換わるだけである。したがって、図３を参照して説明すると、以下のようになる。
【００７４】
（１）まず、入力装置２１によりネットリスト１０と、タイミング制約テーブル１７と、許容配線長テーブル１８などデータテーブルが補助記憶装置２６に入力される。
【００７５】
（２）次に回路ブロック配置部１１は、回路ブロックを配置する（ステップＳ１１）。
【００７６】
（３）次に、配線長見積部１２は配置された回路ブロック間の配線長を見積る（ステップＳ１２）。配線の始点と終点は、回路ブロックＡと回路ブロックＣについては、回路ブロックの中心、各回路ブロック間の最も近い点同士、各回路ブロック間の最も遠くなる点同士のいずれかが選択される。ここで、回路ブロックＢは図９に示されるように、既配置セル６１を含んでいる。そのため、回路ブロックＢについては、平均（Ｔｙｐｉｃａｌ）の点として回路ブロックＢの中心点が設定される。既配置セル６１が回路ブロックＣから一番近い場合に既配置セル６１の端子位置６２が、そうでない場合には回路ブロックＣと最も近い回路ブロックＢの点が最短（Ｂｅｓｔ）の点とされる。既配置セル６１が回路ブロックＣから一番遠い場合は既配置セル６１の端子位置６２が、そうでない場合にはブロックＣから最も遠いブロックＢの点が最長（Ｗｏｒｓｔ）の点として設定される。これらの配線の端点から見積のための配線の端点が選択される。これにより、既配置セルを含むブロックの場合、既配置セルの端子位置が配線長見積の始点または終点として扱われるため、配線長見積の精度を向上することが可能となる。
【００７７】
（４）次に配線長比較部１４は、許容配線長テーブル１８に格納される動作周波数ごとの許容配線長とタイミング制約テーブル１７に格納されるタイミング制約とに基づいて指示される動作周波数に対応する許容配線長と、配線長見積部１２により算出された回路ブロック間の配線長見積結果とを比較する（ステップＳ１４）。
【００７８】
（５）次に表示部１６は、配線長比較部１４で比較した結果を出力装置２３の画面上にグラフィカルに表示する（ステップＳ１７）。
【００７９】
（６）未配置の回路ブロックが存在する場合（ステップＳ１８−ＮＯ）、ステップＳ１１に戻り、回路ブロック配置以降の処理を繰り返す。全てのブロックの配置が完了すると（ステップＳ１８−ＹＥＳ）、回路ブロックの配置処理を終了する。
【００８０】
（７）回路ブロックの配置が完了すると、作成したブロック配置情報を含むフロアプラン情報を出力装置２３に出力する。出力されたフロアプラン情報は、後続の配置配線処理に使用される。フロアプラン情報は、補助記憶装置２６に格納したまま、後続の配置配線処理を継続してもよい。
【００８１】
このように、回路ブロックが既配置セルを含む場合、既配置セルの端子位置が配線長見積の始点または終点として扱われるため、配線長見積の精度が向上する。したがって、フロアプラン段階でのタイミング制約の判定の精度がより向上する。
【００８２】
次に、回路ブロックとして階層ブロックが含まれる場合について、第１の実施の形態の第２の変形例として図１０を参照して説明する。半導体集積回路の大規模化が進み、レイアウト設計においても従来の回路全体を一度にレイアウトするフラットレイアウト手法では設計ＴＡＴが膨大なものとなる。このため、現在ではゲートアレイ方式やスタンダードセル方式でレイアウト設計を行う際に、論理階層を複数の階層ブロックに分割し、各階層ブロックを個別にレイアウトした後にトップ階層でこれら階層ブロック間を配線する階層レイアウト手法がとられることが多い。
【００８３】
図１０は第２の変形例に係るスタイナー木による階層ブロック間の配線長見積を説明するための図である。回路ブロックＡと回路ブロックＢと回路ブロックＺが既に配置されている。回路ブロックＢは階層ブロックである。回路ブロックＢは他の回路ブロックと接続される端子を有する。即ち、回路ブロックＢには他の回路ブロックと接続される端子位置が設定されている。ここに回路ブロックＣが配置される。回路ブロックＣは、回路ブロックＡと回路ブロックＢとに接続され、回路ブロックＺには接続されない。
【００８４】
回路ブロックＢと回路ブロックＣとの接続は、回路ブロックＢ側の端点として次の３点が設定される。即ち、回路ブロックＢに設定されている端子のうち、回路ブロックＣとの距離が平均である端子を平均（Ｔｙｐｉｃａｌ）の端点８５、回路ブロックＣとの距離が最も近い端子を最短（Ｂｅｓｔ）の端点８６、回路ブロックＣとの距離が最も遠い端子を最長（Ｗｏｒｓｔ）の端点８７とする。回路ブロックＣ側の端点は、端子位置が設定されていないため、回路ブロックＣの中心点を平均の端点４１、回路ブロックＢからの距離が、最短、最長になる点をそれぞれ最短の端点４３、最長の端点４２とする。回路ブロックＢと回路ブロックＣの平均、最短、最長の端点同士が平均、最短、最長の配線の端点として選択される。
【００８５】
回路ブロックＡと回路ブロックＣとの接続は、これまで説明したように、回路ブロックの中心、各回路ブロック間の最も近い点同士、各回路ブロック間の最も遠くなる点同士のいずれかを配線の端点として選択できる。
【００８６】
階層ブロックＢの端子が始点もしくは終点と決定された場合の平均配線長見積の結果は、図１０に示されるように経路８２と経路８３が見積られる。回路ブロックＡと回路ブロックＣとの平均配線長は、端点４８からスタイナー点８１を経て端点４１までの配線８２の配線長となる。回路ブロックＢ（階層ブロック）と回路ブロックＣとの平均配線長は、端点８５からスタイナー点８１を経て端点４１までの配線８３の配線長となる。これにより、回路ブロックが階層ブロックである場合、階層ブロックの端子が配線長見積の始点または終点として扱われるため、配線長見積の精度を向上することが可能となる。
【００８７】
階層ブロックが配置される場合のフロアプラン設計装置の動作は、図３を参照して説明した第１の実施の形態と同様であり、ステップＳ１２において見積る方法が上述のように換わるだけである。したがって、図３を参照して説明すると、以下のようになる。
【００８８】
（１）まず、入力装置２１によりネットリスト１０と、タイミング制約テーブル１７と、許容配線長テーブル１８などデータテーブルが補助記憶装置２６に入力される。
【００８９】
（２）次に回路ブロック配置部１１は、回路ブロックを配置する（ステップＳ１１）。
【００９０】
（３）次に、配線長見積部１２は配置された回路ブロック間の配線長を見積る（ステップＳ１２）。配線の始点と終点は、回路ブロックＡと回路ブロックＣについては、回路ブロックの中心、各回路ブロック間の最も近い点同士、各回路ブロック間の最も遠くなる点同士のいずれかが選択される。ここで、回路ブロックＢは図１０に示されるように、端ブロックと接続される端子の端子位置が設定された階層ブロックである。そのため、回路ブロックＢについては、回路ブロックＢの端子のうち回路ブロックＣから平均的な位置にある端子位置が平均（Ｔｙｐｉｃａｌ）の端点として設定される。回路ブロックＢの端子のうち回路ブロックＣとの距離が最短、最長である端子位置がそれぞれ最短（Ｂｅｓｔ）の端点、最長（Ｗｏｒｓｔ）の端点として設定される。これらの配線の端点から見積のための配線の端点が選択される。これにより、回路ブロックが階層ブロックである場合、階層ブロックの端子を配線長見積の始点または終点として扱われるため、配線長見積の精度を向上することが可能となる。
【００９１】
（４）次に配線長比較部１４は、許容配線長テーブル１８に格納される動作周波数ごとの許容配線長とタイミング制約テーブル１７に格納されるタイミング制約とに基づいて指示される動作周波数に対応する許容配線長と、配線長見積部１２により算出された回路ブロック間の配線長見積結果とを比較する（ステップＳ１４）。
【００９２】
（５）次に表示部１６は、配線長比較部１４で比較した結果を出力装置２３の画面上にグラフィカルに表示する（ステップＳ１７）。
【００９３】
（６）未配置の回路ブロックが存在する場合（ステップＳ１８−ＮＯ）、ステップＳ１１に戻り、回路ブロック配置以降の処理を繰り返す。全てのブロックの配置が完了すると（ステップＳ１８−ＹＥＳ）、回路ブロックの配置処理を終了する。
【００９４】
（７）回路ブロックの配置が完了すると、作成したブロック配置情報を含むフロアプラン情報を出力装置２３に出力する。出力されたフロアプラン情報は、後続の配置配線処理に使用される。フロアプラン情報は、補助記憶装置２６に格納したまま、後続の配置配線処理を継続してもよい。
【００９５】
このように、回路ブロックが階層ブロックである場合、階層ブロックの端子が配線長見積の始点または終点として扱われるため、配線長見積の精度が向上する。したがって、フロアプラン段階でのタイミング制約の判定の精度がより向上する。
【００９６】
以下、図面を参照して本発明の第２の実施形態に係る半導体集積回路の設計方法を説明する。図１１は、半導体集積回路のレイアウト設計装置の処理構成を示す図である。レイアウト設計装置は、回路ブロック配置部１１、配線長見積部１２、タイミング見積部１３、タイミング比較部１４、表示部１６を具備し、これらの処理に供されるデータであるネットリスト１０、タイミング制約テーブル１７、遅延値テーブル１９を備える。即ち、レイアウト設計は、ネットリスト１０、タイミング制約テーブル１７、遅延値テーブル１９が入力あるいは設定されると、回路ブロック配置部１１、配線長見積部１２、タイミング見積部１３、タイミング比較部１５、表示部１６の各処理が施される。
【００９７】
回路ブロック配置部１１は、ネットリスト１０に示される情報に基づいて配線混雑度を考慮して回路ブロックを配置する。回路ブロックを配置した情報は、配線長見積部１２に出力される。配線長見積部１２は、回路ブロック配置部１１で配置された回路ブロック間の距離を算出し、これを回路ブロック間の配線長見積値とする。計算された配線長見積値は、タイミング見積部１３に出力される。
【００９８】
タイミング見積部１３は、設定された条件に基づいて遅延値テーブル１９を検索し、単位配線長当りの遅延値を抽出する。配線長見積部１２で見積られた配線長に単位配線長当りの遅延値を掛けて回路ブロック間のタイミングを算出する。算出された回路ブロック間のタイミング（遅延値）は、タイミング比較部１５に出力される。タイミング比較部１５は、タイミング制約テーブル１７に示される各回路ブロック間の配線の制約条件から各回路ブロック間配線の許容遅延値を算出する。タイミング比較部１５は、その許容遅延値と、タイミング見積部１３で算出した回路ブロック間のタイミング（遅延値）とを比較し、比較結果を表示部１６に出力する。表示部１６は、タイミング比較部１５で比較した結果を表示装置に表示する。
【００９９】
ネットリスト１０は、回路の接続関係やサイズ、回路定数などを示すデータであり、当業者にとってよく知られるものである。即ち、ネットリスト１０は、半導体集積回路の構成を示し、レイアウトの対象となるものを示す。タイミング制約テーブル１７は、半導体集積回路の動作周波数データを含むものであり、これにより各ブロック間の配線が満たすべきタイミングが指示される。このタイミング制約テーブル１７は、図５に示されるように、回路ブロック間配線３４に対応させて制約内容（条件）３５を列挙させたものである。ここでは、制約条件として動作周波数が図示されている。この動作周波数から許容される遅延量が算出される。
【０１００】
遅延値テーブル１９は、図１３に示されるように、回路動作に関連する設定条件７０に対応させて単位配線長当りの遅延値が格納されている。回路動作に関連する設定条件７０としては、半導体集積回路の製造プロセス７１、温度７２、電圧７３など遅延値変動の要因が設定される。それぞれの条件における遅延値が、例えば、１μｍ当り０．０００３ｎｓの遅延が発生するというように、遅延値テーブル１９に格納されている。配線長見積部１２で見積った回路ブロック間の配線長が２００００μｍであるとすると、回路ブロック間の遅延値は２００００×０．０００３で求めることができる。その結果、回路ブロック間の遅延値、つまり、タイミングは６ｎｓとなる。
【０１０１】
次に、フロアプラン設計装置の動作を説明する。図１２は、第２の実施の形態に係るフロアプラン処理の動作の流れを示すフローチャートである。フロアプラン処理の前に、ネットリスト１０と、タイミング制約テーブル１７と、遅延値テーブル１９のデータが補助記憶装置２６に入力されている。第１の実施の形態に比べ、許容配線長テーブル１８の代わりに遅延値テーブル１９が使用され、見積配線長による比較が、配線遅延値による比較に換わっている。なお、図１２において、第１の実施の形態において説明した図３と同様の処理は、同じ符号が付される。
【０１０２】
（ステップＳ１１：回路ブロック配置ステップ）
フロアプラン処理では、まず、従来のフロアプラン処理と同じように、回路ブロック配置部１１において、各回路ブロック間の接続本数の情報に基づいて配線混雑が考慮され、１つの回路ブロックが配置される。また、回路ブロックの形状が決定される。
【０１０３】
（ステップＳ１２：回路ブロック間配線長見積ステップ）
次に、配線長見積部１２は配置された回路ブロック間の配線長を見積る。上述したように、配線長の見積には、従来の枝分かれを許し複数の点を枝で結ぶスタイナー木等の高速な配線手法が使用される。配線の始点と終点は、各回路ブロックの平均端点同士、各回路ブロック間の最短の端点同士、各ブロック間の最長の端点同士のいずれかを選択できるようにしておく。これにより、平均（Ｔｙｐｉｃａｌ）、最短（Ｂｅｓｔ）、最長（Ｗｏｒｓｔ）の配線長を見積ることができる。配線の始点と終点が決定されると、配線の始点と終点とに基づいて配置された回路ブロック間の距離が算出され、これを回路ブロック間の配線長見積値となる。
【０１０４】
（ステップＳ１５：タイミング見積ステップ）
次に、タイミング見積部１３は、回路ブロック間配線長見積値に、遅延値テーブル１９から抽出された単位配線長当りの遅延値を掛け、回路ブロック間のタイミングを見積る。例えば、回路ブロック間の配線長見積結果が２００００μｍであり、単位配線長当りの遅延値が１μｍ当り０．０００３ｎｓである場合、回路ブロック間の遅延値は２００００×０．０００３で求めることができる。その結果、回路ブロック間の遅延値、つまり、タイミングは６ｎｓと算出される。
【０１０５】
（ステップＳ１６：タイミング比較ステップ）
次に、タイミング比較部１５は、算出された回路ブロック間の遅延値であるタイミング見積結果と、タイミング制約テーブル１７で指示される動作周波数から求められる許容遅延値を比較する。例えば、タイミング制約が１００ＭＨｚである場合には、目標（許容）遅延値が１０ｎｓとなる。回路ブロック間の見積遅延値が６ｎｓである場合は、目標遅延値１０ｎｓに対し、４ｎｓの余裕（１０−６）があることになる。したがって、比較結果としてはタイミングを満足できることとなる。タイミング制約が５００ＭＨｚである場合には、目標（許容）遅延値が２ｎｓとなり、目標遅延値２ｎｓに対して４ｎｓのタイミング違反（２−６）があることになる。即ち、比較結果としてはタイミングを満足することができないこととなる。
【０１０６】
（ステップＳ１７：比較結果表示ステップ）
次に、表示部１６は、見積遅延値と目標遅延値との比較結果を画面上にグラフィカルに表示する。この際、タイミング制約を満足できない場合、タイミング比較部１５で算出した目標遅延値に対する超過遅延値を付加情報として表示する。
【０１０７】
（ステップＳ１８：配置完了判定ステップ）
表示が終了すると、未配置の回路ブロックが存在する場合、ステップＳ１１に戻って次の回路ブロックを配置して以上の処理を繰り返す。見積値が許容値を超えていた場合には、再度配置し直す。回路ブロックの配置を繰り返し、全ての回路ブロックの配置が完了した時点で終了とする。
【０１０８】
（ステップＳ１９：出力処理ステップ）
全ての回路ブロックの配置が完了すると、このようにして作成された回路ブロック配置情報を含むフロアプラン情報が出力され、後続の配置配線の処理を行う。
【０１０９】
このように第２の実施の形態によると、単位配線長当りの遅延値を入力情報とすることにより、配線混雑とタイミング制約の両面を満たす最適なフロアプランを作成することが可能となる。したがって、配線混雑または、タイミング制約違反によるフロアプランへの後戻り、フロアプランから配置配線の繰り返しを削減することができる。
【０１１０】
以上では、配線長を比較する例と遅延値を比較する例を示したが、これらを組み合せて実施することも当然可能である。ある配線においては配線長による制約があり、別の配線においては遅延時間による制約があるという場合にそれらの特性に応じてより最適化が図れる。
【０１１１】
本発明は、半導体集積回路の設計方法の分野に関するものであり、大規模で高動作周波数のＬＳＩをレイアウトする上で、配線の混雑を考慮し、かつ、タイミング条件を満足するようなフロアプランを得るための設計方法である。本発明によれば、従来技術の課題であった、フロアプラン検討から配置、配線の処理を何度も繰り返して行い、膨大な設計ＴＡＴが必要とされるという問題点を解決することが可能となる。即ち、これらの問題に対して、回路ブロックを配置する際、回路ブロック間の接続本数の情報による配線混雑度の考慮に加え、配置した回路ブロックの位置での配線長もしくは遅延値を算出し、回路ブロック間に求められるタイミングを満足するか否かを画面上にグラフィカルに表示することにより解決することが可能となる。
【図面の簡単な説明】
【０１１２】
【図１】本発明の第１の実施の形態に係る装置処理構成を示す図である。
【図２】本発明の実施の形態に係るフロアプラン設計装置のハードウェア構成を示す図である。
【図３】本発明の第１の実施の形態に係るレイアウト設計方法の流れを示すフローチャートである。
【図４】本発明の第１の実施の形態に係る許容配線長テーブルの構成を示す図である。
【図５】本発明の第１の実施の形態に係るタイミング制約テーブルの構成を示す図である。
【図６】本発明の第１の実施の形態に係るスタイナー木による回路ブロック間の配線長見積を示す図である。
【図７】本発明の第１の実施の形態に係るタイミング制約と回路ブロック間配線長見積値の比較結果（ＯＫ）の表示例を示す図である。
【図８】本発明の第１の実施の形態に係るタイミング制約と回路ブロック間配線長見積値の比較結果（ＮＧ）の表示例を示す図である。
【図９】本発明の第１の実施の形態第１変形例に係るスタイナー木による、既配置セルを含むブロック間の配線長見積を示す図である。
【図１０】本発明の第１の実施の形態第２変形例に係るスタイナー木による、階層ブロック間の配線長見積を示す図である。
【図１１】本発明の第２の実施の形態に係る処理構成を示すブロック図である。
【図１２】本発明の第２の実施の形態に係るレイアウト設計方法の流れを示すフローチャートである。
【図１３】本発明の第２の実施の形態に係る遅延値テーブルの構成を示す図である。
【図１４】従来のレイアウト設計の処理手順を示すフローチャートである。
【図１５】従来のレイアウト設計の処理手順を示すフローチャートである。
【符号の説明】
【０１１３】
１０  ネットリスト
１１  回路ブロック配置部
１２  配線長見積部
１３  タイミング見積部
１４  配線長比較部
１５  タイミング比較部
１６  表示部
１７  タイミング制約テーブル
１８  許容配線長テーブル
１９  遅延値テーブル
２１  入力装置
２２  中央処理装置
２３  出力装置
２５  主記憶装置
２６  補助記憶装置
３１  動作周波数
３２  許容配線長
３４  ブロック間配線
３５  制約内容
３７、３８  配線
３９  スタイナー点
４３  近接点
４１、４５、４８  中心点
４２、４６、４７  遠隔点
５１  ＯＫ表示
５３  ＮＧ表示
６１  既配置セル
６２  既配置セル端子
６４、６５  遠隔点
６７、６８  配線
６９  スタイナー点
７０  設定条件
７１  製造プロセス
７２  温度
７３  電圧
７５  遅延時間
８１  スタイナー点
８２、８３  配線
８５  中心点
８６  近接点
８７  遠隔点
【図１】
2006323643.tif 000003
【図２】
2006323643.tif 000004
【図３】
2006323643.tif 000005
【図４】
2006323643.tif 000006
【図５】
2006323643.tif 000007
【図６】
2006323643.tif 000008
【図７】
2006323643.tif 000009
【図８】
2006323643.tif 000010
【図９】
2006323643.tif 000011
【図１０】
2006323643.tif 000012
【図１１】
2006323643.tif 000013
【図１２】
2006323643.tif 000014
【図１３】
2006323643.tif 000015
【図１４】
2006323643.tif 000016
【図１５】
2006323643.tif 000017