(57)【要約】【課題】  半導体集積回路の階層設計において、タイミング収束性や配線容易性を考慮しながら論理階層を併合して、最適な階層ブロックを自動で生成する。【解決手段】  データベース入力手段１０１は、半導体集積回路の論理階層情報を保持した回路情報１０６を入力する。回路構造抽出手段１０２は、前記回路情報から半導体集積回路の各論理階層の回路構造、例えば各論理階層間の信号接続本数、各論理階層間の入出力数、その各入出力間の論理セル段数、遅延値、備えるフリップフロップ回路数やセル数などを抽出する。階層ブロック生成手段１０３は、前記抽出された各論理階層の回路構造に基づいて、各論理階層の併合処理を行って、複数の階層ブロックを生成する。データベース出力手段１０４は、前記階層ブロック生成手段１０３により生成された各階層ブロックの構造を出力する。【選択図】  図１
2005228124.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを用いて、半導体集積回路の論理階層情報を保持した回路情報から複数の階層ブロックを生成する半導体集積回路設計における階層ブロック生成方法であって、
前記半導体集積回路の論理階層情報を保持した回路情報を入力し、この入力した回路情報から前記半導体集積回路の各論理階層について回路構造を抽出する回路構造抽出工程と、
前記抽出された各論理階層の回路構造に基づいて前記各論理階層を併合して複数の階層ブロックを生成し、この生成した階層ブロックの構造を出力する階層ブロック生成工程と
を有することを特徴とする半導体集積回路設計における階層ブロック生成方法。
【請求項２】
前記回路構造抽出工程は、
各論理階層間の各入出力間に位置する論理セル段数と、１つのセルの遅延値とに基づいて、各入出力間の遅延値を算出する遅延値算出工程と、
前記遅延値算出工程で算出された遅延値を、前記半導体集積回路の目標周期に基づいて補正する補正工程とを有して、
前記各論理階層の回路構造として、前記補正工程により補正された遅延値を抽出する
ことを特徴とする請求項１記載の半導体集積回路設計における階層ブロック生成方法。
【請求項３】
前記回路構造抽出工程は、
前記各論理階層の回路構造として、各論理階層間の信号接続本数を抽出し、
前記階層ブロック生成工程は、
前記回路構造抽出工程で抽出された各論理階層間の信号接続本数に基づいて、併合すべき論理階層を決定する
ことを特徴とする請求項１記載の半導体集積回路設計における階層ブロック生成方法。
【請求項４】
前記階層ブロック生成工程は、
前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値のうち、前記半導体集積回路の目標周期を満足しない遅延値を持つ入出力数に基づいて、併合すべき論理階層を決定する
ことを特徴とする請求項２記載の半導体集積回路設計における階層ブロック生成方法。
【請求項５】
前記階層ブロック生成工程は、
前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値の最大値に基づいて、併合すべき論理階層を決定する
ことを特徴とする請求項２記載の半導体集積回路設計における階層ブロック生成方法。
【請求項６】
前記階層ブロック生成工程は、
前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値の平均値に基づいて、併合すべき論理階層を決定する
ことを特徴とする請求項２記載の半導体集積回路設計における階層ブロック生成方法。
【請求項７】
前記階層ブロック生成工程は、
前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値のうち、前記半導体集積回路の目標周期を満足しない遅延値の平均値に基づいて、併合すべき論理階層を決定する
ことを特徴とする請求項２記載の半導体集積回路設計における階層ブロック生成方法。
【請求項８】
前記階層ブロック生成工程は、
前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値をその論理階層間で総和した総和値に基づいて、併合すべき論理階層を決定する
ことを特徴とする請求項２記載の半導体集積回路設計における階層ブロック生成方法。
【請求項９】
前記階層ブロック生成工程は、
前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値のうち、前記半導体集積回路の目標周期を満足しない遅延値をその論理階層間で総和した総和値に基づいて、併合すべき論理階層を決定する
ことを特徴とする請求項２記載の半導体集積回路設計における階層ブロック生成方法。
【請求項１０】
前記階層ブロック生成工程は、
前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値の総和が、全ての論理階層間での各入出力間の遅延値の総和の１／２値以上である論理階層を、併合すべき論理階層に決定する
ことを特徴とする請求項２記載の半導体集積回路設計における階層ブロック生成方法。
【請求項１１】
前記階層ブロック生成工程は、
前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値のうち、前記半導体集積回路の目標周期を満足しない遅延値の総和が、全ての論理階層間での前記目標周期を満足しない遅延値の総和の１／２値以上である論理階層を、併合すべき論理階層に決定する
ことを特徴とする請求項２記載の半導体集積回路設計における階層ブロック生成方法。
【請求項１２】
前記階層ブロック生成工程は、
各階層ブロックが内部に有するフリップフロップ回路の数の最大値を設定する最大値設定工程を有して、
前記最大値設定工程で設定された最大値に基づいて、併合すべき論理階層を決定する
ことを特徴とする請求項１記載の半導体集積回路設計における階層ブロック生成方法。
【請求項１３】
前記階層ブロック生成工程は、
各階層ブロックが内部に有するフリップフロップ回路の数の最小値を設定する最小値設定工程を有して、
前記最小値設定工程で設定された最小値に基づいて、併合すべき論理階層を決定する
ことを特徴とする請求項１記載の半導体集積回路設計における階層ブロック生成方法。
【請求項１４】
前記階層ブロック生成工程は、
前記最小値設定工程で設定された最小値を満足しない論理階層と、この論理階層以外の論理階層であって最小の数のフリップフロップ回路を持つ論理階層とを併合する
ことを特徴とする請求項１３記載の半導体集積回路設計における階層ブロック生成方法。
【請求項１５】
前記階層ブロック生成工程は、
各階層ブロックが内部に有するセルの数の最大値を設定する最大値設定工程を有して、
前記最大値設定工程で設定された最大値に基づいて、併合すべき論理階層を決定する
ことを特徴とする請求項１記載の半導体集積回路設計における階層ブロック生成方法。
【請求項１６】
前記階層ブロック生成工程は、
各階層ブロックが内部に有するセルの数の最小値を設定する最小値設定工程を有して、
前記最小値設定工程で設定された最小値に基づいて、併合すべき論理階層を決定する
ことを特徴とする請求項１記載の半導体集積回路設計における階層ブロック生成方法。
【請求項１７】
前記階層ブロック生成工程は、
前記最小値設定工程で設定された最小値を満足しない論理階層と、この論理階層以外の論理階層であって最小の数のセルを持つ論理階層とを併合する
ことを特徴とする請求項１６記載の半導体集積回路設計における階層ブロック生成方法。
【請求項１８】
前記階層ブロック生成工程は、
各階層ブロックが内部に有するフリップフロップ回路又はセルの数の最大値及び最小値を設定する閾値設定工程と、
各論理階層を併合し、その併合後のフリップフロップ回路又はセルの数を計算し、その計算した数が前記閾値設定工程の最大値を越えるか否かを判定する第１判定工程と、
前記第１判定工程において最大値を越える併合となる論理階層以外の論理階層を併合対象として、論理階層の併合を行う第１併合工程と、
前記第１併合工程後の論理階層について回路構造を更新する第１更新工程と、
前記第１判定工程において最大値を越える論理階層の併合を併合対象として併合し、その併合後のフリップフロップ回路又はセルの数を計算し、その計算した数が前記閾値設定工程の最小値を越えるか否かを判定する第２判定工程と、
前記第２判定工程において最小値未満の併合となる論理階層以外の論理階層を併合対象として、論理階層の併合を行う第２併合工程と、
前記第２併合工程後の論理階層について回路構造を更新する第２更新工程とを有する
ことを特徴とする請求項１記載の半導体集積回路設計における階層ブロック生成方法。
【請求項１９】
コンピュータを用いて、半導体集積回路の論理階層情報を保持した回路情報から複数の階層ブロックを生成する半導体集積回路設計における階層ブロック生成装置であって、
前記半導体集積回路の論理階層情報を保持した回路情報を入力するデータベース入力手段と、
前記データベース入力手段により入力された回路情報から前記半導体集積回路の各論理階層について回路構造を抽出する回路構造抽出手段と、
前記回路構造抽出手段により抽出された各論理階層の回路構造に基づいて前記各論理階層を併合して複数の階層ブロックを生成する階層ブロック生成手段と、
前記階層ブロック生成手段により生成された階層ブロックの構造を出力するデータベース出力手段と
を備えたことを特徴とする半導体集積回路設計における階層ブロック生成装置。
【請求項２０】
コンピュータを用いて、半導体集積回路の論理階層情報を保持した回路情報から複数の階層ブロックを生成するための半導体集積回路設計における階層ブロック生成プログラムであって、
前記コンピュータに、
半導体集積回路の論理階層情報を保持した回路情報を入力させる手順と、
前記入力された回路情報から前記半導体集積回路の各論理階層について回路構造を抽出させる手順と、
前記抽出された各論理階層の回路構造に基づいて前記各論理階層を併合して複数の階層ブロックを生成させる手順と、
前記生成された階層ブロックの構造を出力させる手順と
を実行させることを特徴とする半導体集積回路設計における階層ブロック生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の階層レイアウト設計において、階層ブロックの生成方法に関するものである。
【背景技術】
【０００２】
従来、半導体集積回路のレイアウト設計方式としては、ゲートアレイ方式やスタンダードセル方式がある。これ等のレイアウト設計方式は、予めライブラリとして用意されているＡＮＤ回路やＮＯＲ回路等の論理セル、又はそれ等を組合せた複合セルをアレイ状にＬＳＩ半導体基板上に配置し、その後、所望の回路接続に従って各セル上の端子間を配線することにより、ＬＳＩ半導体装置を作成するものである。
【０００３】
ここで、近年は、システム・オン・シリコン時代と言われるように、１つの半導体集積回路にシステムを搭載するほどに半導体集積回路の大規模化が進んでいる。そのため、レイアウト設計においても、従来の半導体集積回路の全体を一度にレイアウトするフラットレイアウト手法では設計期間が膨大なものとなる。このため、現在のゲートアレイ方式やスタンダードセル方式でレイアウト設計を行う際に、多数の論理階層を複数の階層ブロックに分割し、各階層ブロックを個別にレイアウトした後に、トップ階層でこれ等の階層ブロック間を配線する階層レイアウト手法が取られることが多い。ここで、階層的に複数の階層ブロックを組み上げてレイアウト設計を行ったＬＳＩ半導体装置をビルディングブロック方式ＬＳＩと呼んでいる。
【０００４】
図７は、従来のビルディングブロック方式による半導体集積回路のレイアウト装置のビルディングブロックレイアウトを示すフローチャート図である。同図では、先ず、回路入力ステップ７０１において、レイアウト装置に半導体集積回路の回路情報を入力し、階層ブロック生成ステップ７０２において、半導体集積回路を機能単位に分割し、機能ブロック毎に階層ブロックを生成する。このとき生成される階層ブロックは半導体集積回路を機能単位に分割しているため、大きさ及び形状は種々の状態である。次に、フロアプラン（階層ブロックの配置）ステップ７０３において、分割した階層ブロックを、階層ブロック間の接続関係を考慮しながらトップ階層上に人手で配置（フロアプラン）し、トップ階層配線ステップ７０４において各階層ブロック間の配線を行う。また、各階層ブロック内は、階層ブロックの配置配線ステップ７０５において、階層ブロック毎にコンカレント配置配線を行う。最終的に、面積及びタイミング判定ステップ７０６において、トップ階層及び各階層ブロックのレイアウト結果の面積及びタイミングを判定し、問題のない場合には、配置配線結果マージステップ７０７において、トップ階層及び各階層ブロックのレイアウト結果をマージ（統合）し、フラットレイアウト結果を作成する。
【０００５】
以上により、レイアウトにおいて多くの処理時間を要する配置処理を、小規模な階層ブロック別に独立して行うことにより、処理時間の大幅な減少を実現している。また、このような階層設計によれば、過去に既に一度設計を行ったことがある階層ブロックについては、過去の設計実績を流用することができ、設計期間の短縮や設計コストを低減することができる。
【０００６】
このような階層レイアウト設計における階層ブロックの配線容易性やタイミング収束性に関しては、階層ブロック分割の品質に依存する点が大きい。従来、階層ブロックの生成は大きく分けて２つの方法により行われてきた。つまり、半導体集積回路を機能単位に分割し、機能ブロック毎に階層ブロックを生成する方法と、論理回路の接続及び図形情報を元に論理回路の階層構造に対して会話的に併合、削除処理を行うことにより、階層ブロックを生成する方法である（特許文献１参照）。
【特許文献１】特開平５−１９０６６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、前記従来の階層レイアウト設計における階層ブロックの生成方法では、以下に説明するように種々の問題点を有していた。
【０００８】
先ず、半導体集積回路を機能単位に分割し、機能ブロック毎に階層ブロックを生成する方法では、ブロックサイズに応じて自由に階層ブロックの併合及び分割を実施することができず、機能的な繋がりやまとまりを元に階層ブロックを生成するため、階層ブロックの配線容易性やタイミング収束性が最適な構成になっていないことが多い。レイアウト設計における配線容易性やタイミング収束性に関しては、階層ブロック分割の品質に依存する点が大きく、最適でない階層ブロックを用いた場合には、設計期間やチップサイズの増大を引き起こすことがある。例えば、階層ブロックの形状が種々であるために、各階層ブロック間の配線領域（チャネル）の形状が複雑になり、更に、トップ階層で階層ブロック間の配線を行うために、トップ階層上での階層ブロックの配置位置に依存して配線が一部に偏り、一部の配線領域に対して配線の混雑が生じて、迂回配線が発生し、配線領域自体の面積が増加する。また、階層ブロックの数に比例して配線領域の数も増加するため、各配線領域の配線混雑も生じ易くなる。更に、クリティカルパスが階層ブロックをまたぐパスになるため、タイミングを収束させるために階層ブロック間でデータや情報のやり取りが発生し、多大な反復作業が必要となる。加えて、配線容易性やタイミング収束性を考慮して階層ブロックの形状や配置位置を最適化するために、フロアプラン作業の反復実行が必要となる。このような要因により、要求される仕様を満たすためには多大な配置配線処理時間が必要になり、設計期間が増大してしまうという問題がある。
【０００９】
一方、階層ブロック間のタイミング収束性や配線容易性を踏まえて、会話的に階層ブロックの併合又は分離処理により階層ブロックを生成する方法では、近年の半導体集積回路の大規模化に伴い、階層ブロックの全てを最適化するためには多大な作業量が必要となる。また、最終的な階層ブロック分割の良し悪しは、設計者の経験とスキルに依存することとなる。更に、半導体集積回路の大規模化に伴い、階層ブロックの数も増加し、複数の設計者により機能設計やレイアウト設計が行われるため、回路全体を把握するのが難しく、階層ブロック全体の最適化を会話的に行うことは困難という問題もある。
【００１０】
本発明の目的は、前記問題点を踏まえて、設計者の経験とスキルに依存することなく、最適な階層ブロックを自動で生成できるようにして、設計期間の短縮とチップ性能の向上を実現することにある。
【課題を解決するための手段】
【００１１】
前記の目的を達成するため、本発明では、大規模半導体集積回路の階層設計の際に、論理階層に捉われず、階層ブロック間のタイミング収束性や配線容易性を定量的に評価できるように、半導体集積回路の各論理階層の回路構造に基づいて、それ等の論理階層を適宜併合することとする。
【００１２】
具体的に、請求項１記載の発明の半導体集積回路設計における階層ブロック生成方法は、コンピュータを用いて、半導体集積回路の論理階層情報を保持した回路情報から複数の階層ブロックを生成する半導体集積回路設計における階層ブロック生成方法であって、前記半導体集積回路の論理階層情報を保持した回路情報を入力し、この入力した回路情報から前記半導体集積回路の各論理階層について回路構造を抽出する回路構造抽出工程と、前記抽出された各論理階層の回路構造に基づいて前記各論理階層を併合して複数の階層ブロックを生成し、この生成した階層ブロックの構造を出力する階層ブロック生成工程とを有することを特徴とする。
【００１３】
請求項２記載の発明は、前記請求項１記載の半導体集積回路設計における階層ブロック生成方法において、前記回路構造抽出工程は、各論理階層間の各入出力間に位置する論理セル段数と、１つのセルの遅延値とに基づいて、各入出力間の遅延値を算出する遅延値算出工程と、前記遅延値算出工程で算出された遅延値を、前記半導体集積回路の目標周期に基づいて補正する補正工程とを有して、前記各論理階層の回路構造として、前記補正工程により補正された遅延値を抽出することを特徴とする。
【００１４】
請求項３記載の発明は、前記請求項１記載の半導体集積回路設計における階層ブロック生成方法において、前記回路構造抽出工程は、前記各論理階層の回路構造として、各論理階層間の信号接続本数を抽出し、前記階層ブロック生成工程は、前記回路構造抽出工程で抽出された各論理階層間の信号接続本数に基づいて、併合すべき論理階層を決定することを特徴とする。
【００１５】
請求項４記載の発明は、前記請求項２記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値のうち、前記半導体集積回路の目標周期を満足しない遅延値を持つ入出力数に基づいて、併合すべき論理階層を決定することを特徴とする。
【００１６】
請求項５記載の発明は、前記請求項２記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値の最大値に基づいて、併合すべき論理階層を決定することを特徴とする。
【００１７】
請求項６記載の発明は、前記請求項２記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値の平均値に基づいて、併合すべき論理階層を決定することを特徴とする。
【００１８】
請求項７記載の発明は、前記請求項２記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値のうち、前記半導体集積回路の目標周期を満足しない遅延値の平均値に基づいて、併合すべき論理階層を決定することを特徴とする。
【００１９】
請求項８記載の発明は、前記請求項２記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値をその論理階層間で総和した総和値に基づいて、併合すべき論理階層を決定することを特徴とする。
【００２０】
請求項９記載の発明は、前記請求項２記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値のうち、前記半導体集積回路の目標周期を満足しない遅延値をその論理階層間で総和した総和値に基づいて、併合すべき論理階層を決定することを特徴とする。
【００２１】
請求項１０記載の発明は、前記請求項２記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値の総和が、全ての論理階層間での各入出力間の遅延値の総和の１／２値以上である論理階層を、併合すべき論理階層に決定することを特徴とする。
【００２２】
請求項１１記載の発明は、前記請求項２記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値のうち、前記半導体集積回路の目標周期を満足しない遅延値の総和が、全ての論理階層間での前記目標周期を満足しない遅延値の総和の１／２値以上である論理階層を、併合すべき論理階層に決定することを特徴とする。
【００２３】
請求項１２記載の発明は、前記請求項１記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、各階層ブロックが内部に有するフリップフロップ回路の数の最大値を設定する最大値設定工程を有して、前記最大値設定工程で設定された最大値に基づいて、併合すべき論理階層を決定することを特徴とする。
【００２４】
請求項１３記載の発明は、前記請求項１記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、各階層ブロックが内部に有するフリップフロップ回路の数の最小値を設定する最小値設定工程を有して、前記最小値設定工程で設定された最小値に基づいて、併合すべき論理階層を決定することを特徴とする。
【００２５】
請求項１４記載の発明は、前記請求項１３記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、前記最小値設定工程で設定された最小値を満足しない論理階層と、この論理階層以外の論理階層であって最小の数のフリップフロップ回路を持つ論理階層とを併合することを特徴とする。
【００２６】
請求項１５記載の発明は、前記請求項１記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、各階層ブロックが内部に有するセルの数の最大値を設定する最大値設定工程を有して、前記最大値設定工程で設定された最大値に基づいて、併合すべき論理階層を決定することを特徴とする。
【００２７】
請求項１６記載の発明は、前記請求項１記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、各階層ブロックが内部に有するセルの数の最小値を設定する最小値設定工程を有して、前記最小値設定工程で設定された最小値に基づいて、併合すべき論理階層を決定することを特徴とする。
【００２８】
請求項１７記載の発明は、前記請求項１６記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、前記最小値設定工程で設定された最小値を満足しない論理階層と、この論理階層以外の論理階層であって最小の数のセルを持つ論理階層とを併合することを特徴とする。
【００２９】
請求項１８記載の発明は、前記請求項１記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、 各階層ブロックが内部に有するフリップフロップ回路又はセルの数の最大値及び最小値を設定する閾値設定工程と、各論理階層を併合し、その併合後のフリップフロップ回路又はセルの数を計算し、その計算した数が前記閾値設定工程の最大値を越えるか否かを判定する第１判定工程と、前記第１判定工程において最大値を越える併合となる論理階層以外の論理階層を併合対象として、論理階層の併合を行う第１併合工程と、前記第１併合工程後の論理階層について回路構造を更新する第１更新工程と、前記第１判定工程において最大値を越える論理階層の併合を併合対象として併合し、その併合後のフリップフロップ回路又はセルの数を計算し、その計算した数が前記閾値設定工程の最小値を越えるか否かを判定する第２判定工程と、前記第２判定工程において最小値未満の併合となる論理階層以外の論理階層を併合対象として、論理階層の併合を行う第２併合工程と、前記第２併合工程後の論理階層について回路構造を更新する第２更新工程とを有することを特徴とする。
【００３０】
請求項１９記載の発明の半導体集積回路設計における階層ブロック生成装置は、コンピュータを用いて、半導体集積回路の論理階層情報を保持した回路情報から複数の階層ブロックを生成する半導体集積回路設計における階層ブロック生成装置であって、前記半導体集積回路の論理階層情報を保持した回路情報を入力するデータベース入力手段と、前記データベース入力手段により入力された回路情報から前記半導体集積回路の各論理階層について回路構造を抽出する回路構造抽出手段と、前記回路構造抽出手段により抽出された各論理階層の回路構造に基づいて前記各論理階層を併合して複数の階層ブロックを生成する階層ブロック生成手段と、前記階層ブロック生成手段により生成された階層ブロックの構造を出力するデータベース出力手段とを備えたことを特徴とする。
【００３１】
請求項２０記載の発明の半導体集積回路設計における階層ブロック生成プログラムは、コンピュータを用いて、半導体集積回路の論理階層情報を保持した回路情報から複数の階層ブロックを生成するための半導体集積回路設計における階層ブロック生成プログラムであって、前記コンピュータに、半導体集積回路の論理階層情報を保持した回路情報を入力させる手順と、前記入力された回路情報から前記半導体集積回路の各論理階層について回路構造を抽出させる手順と、前記抽出された各論理階層の回路構造に基づいて前記各論理階層を併合して複数の階層ブロックを生成させる手順と、前記生成された階層ブロックの構造を出力させる手順とを実行させることを特徴とする。
【００３２】
以上により、請求項１〜２０記載の発明の階層ブロック生成方法では、入力された回路情報から各論理階層の回路構造を抽出する。この回路構造は、例えば、各論理階層間の入出力数、その各入出力間の論理セル段数、各論理階層が内部に備えるフリップフロップ回路の数やセル数である。そして、この回路構造に基づいて論理階層を併合し、階層ブロックを最適化するので、階層ブロックの配線容易性やタイミング収束性が向上し、設計期間の短縮及びチップサイズの削減が実現される。
【００３３】
また、請求項２記載の発明では、得られた論理セル段数にセルの平均遅延値を乗算し、これにより、論理階層間の各入出力における遅延値が求められる。この方法は、従来のセルライブラリを参照して遅延値を算出する方法に比べて、遅延値の算出が高速に行われる。この方法は、従来の方法に比べて簡易的に算出するために精度は劣化するが、階層ブロックの形状や配置も決まっていない状況であるので、タイミング収束性の傾向を判断するには十分な精度であると考えられる。この方法により算出された遅延値のみを基準に論理階層の併合を行うと、半導体集積回路の目標周期に関係なく評価してしまうため、絶対値の大きい遅延値の論理階層を併合の対象に選択してしまうという問題がある。例えば、半導体集積回路の目標周期が１０ｎｓで遅延値が８ｎｓの入力を持つ論理階層Ａと、目標周期が１００ｎｓで遅延値が１２ｎｓの入力を持つ論理階層Ｂでは、遅延値の絶対値の大きい論理階層を選択すると、論理階層Ｂの方が選択されてしまう。そこで、遅延値／目標周期の演算式により遅延値を補正することにより、前記問題を解決する。これにより、前記例では、論理階層Ａの遅延値は０.８、論理階層Ｂの遅延値は０.１２となり、論理階層Ａが選択されることになり、目標周期を考慮して最適な論理階層の選択を行うことが可能である。
【００３４】
請求項３記載の発明では、次の作用を奏する。すなわち、論理階層間の信号接続本数が大きくなると、階層ブロック間の配線数が増加し、多くの配線領域が必要になるため、チップサイズが大きくなるという問題がある。そこで、信号接続本数の多い順に論理階層を併合して行くことにより、最上位階層の配線数を削減できる。例えば、３つの階層ブロックＡ、Ｂ、Ｃがある場合に、各階層ブロック間の信号接続本数が、各々、ＡＢ間が１０本、ＢＣ間が２０本、ＡＣ間が１００本とすると、階層ブロックＡ、Ｃを併合することにより、論理階層間の信号接続本数が１３０本から３０本に削減される。このように、信号接続本数が削減されることにより、最上位階層の配線領域が削減されるので、チップサイズを削減することが可能である。
【００３５】
請求項４記載の発明では、次の作用を奏する。すなわち、例えば２つの論理階層間の遅延値が大きい場合、その両論理階層が別の階層ブロックになると、長距離配線が発生するために、半導体集積回路の目標仕様を満たせない可能性が高い。また、階層ブロック間に目標周期を満足しない信号パスが存在すると、両方の階層ブロックでタイミングを収束させる必要があり、データや情報のやり取りや反復作業が増加し、設計期間の増加の要因になる。そこで、これ等の論理階層を同一階層ブロックに併合することにより、論理階層同士が近くに配置されたり、再合成による論理階層間の論理圧縮が行われたり、配線長が削減されたりして、タイミング収束性の向上が図れる。また、データや情報のやり取りが削減できるため、設計期間の短縮も実現できる。そこで、本請求項では、目標周期を満足しない入出力数の多い論理階層順に論理階層を併合対象とすることにより、タイミング的に厳しい論理階層から併合され、タイミング収束性の良い階層ブロックの生成が可能となる。例えば、３つの階層ブロックＡ、Ｂ、Ｃがある場合に、目標周期を満足しない入出力数を、各々、論理階層Ａ、Ｂ間が３、論理階層Ｂ、Ｃ間が５、論理階層Ａ、Ｃ間が０であるとすると、２つの階層ブロックＢ、Ｃを併合することにより、階層ブロック間の目標周期を満足しない信号パスは、８本から３本に削減されるので、タイミング収束性の向上が図れる。
【００３６】
請求項５記載の発明では、次の作用を奏する。すなわち、前記請求項４記載の発明では、実際の遅延値で評価しない関係上、論理階層Ａ、Ｂ間のクリティカルパスの遅延値が１.５、論理階層Ｂ、Ｃ間のクリティカルパスが１.０５だった場合にも、論理階層Ｂ、Ｃが併合されてしまい、タイミング収束を行い難い論理階層Ａ、Ｂ間の信号パスが残ってしまう。そこで、本請求項では、遅延値の最大値が大きな論理階層を選択して併合して行くことにより、論理階層間に分断されているクリティカルパスを同一階層ブロックに併合することが可能になって、前記問題を解決することが可能となる。即ち、本請求項記載の発明では、前記例では、階層ブロックＡ、Ｂが併合されることになり、よりタイミングの厳しい論理階層から順に併合されるので、タイミング収束性の向上が図れる。
【００３７】
ここで、請求項６記載の発明のように、論理階層間の遅延値の平均値の大きな論理階層同士を選択して併合して行くことにより、相対的にタイミングの厳しい組合せの論理階層同士を同一階層ブロックにすることが可能であり、チップ全体から見たタイミング収束性を向上することができる。例えば、階層ブロック間の平均値を、各々、論理階層Ａ、Ｂ間が０.８、論理階層Ｂ、Ｃ間が０.９５、論理階層Ａ、Ｃ間が０.５であるとすると、階層ブロックＢ、Ｃが併合されて、階層ブロック間のタイミング収束性の向上が図れる。
【００３８】
また、請求項７記載の発明では、目標周期を満足しない入出力間のみの遅延値の平均値が大きな論理階層同士を選択して併合して行くことにより、タイミングがクリティカルな論理階層の情報を反映した階層ブロックの生成が可能である。
【００３９】
請求項８記載の発明では、次の作用を奏する。すなわち、以上説明した階層ブロック生成方法では、接続容易性とタイミング収束性とを共に評価して行くのは困難と考えられる。例えば、３つの階層ブロックＡ、Ｂ、Ｃがある場合に、各階層ブロック間の遅延値の平均値を、階層ブロックＡ、Ｂ間が０.８、階層ブロックＢ、Ｃ間が０.７５、階層ブロックＡ、Ｃ間が０.５であるとすると、遅延値の平均値で見ると、階層ブロックＡ、Ｂが併合されるが、各階層ブロック間の信号接続本数を見ると、階層ブロックＡ、Ｂ間が１０本、階層ブロックＢ、Ｃ間が５０本、階層ブロックＡ、Ｃ間が２０本となっているときには、信号接続本数で考えると、階層ブロックＢ、Ｃ同士を併合した方が信号接続本数の削減が図れることになる。前記例で見ると、遅延値を見るとほとんど相違がなく、信号接続本数には大きな違いが見られるため、階層ブロックＢ、Ｃ同士を併合した方が最適と考えられる。しかし、遅延値に基づいて併合処理を行うと、前記例の場合には階層ブロックＡ、Ｂ同士が併合されてしまい、最適な階層ブロックが生成できない可能性がある。このような問題を解決するため、本請求項８記載の発明では、２つの論理階層毎に、その論理階層間の各入出力間の遅延値の総和を算出し、その総和値を評価して論理階層を併合の対象に選択することにより、各階層ブロック間の信号接続本数及び遅延値を同時に評価する。従って、本請求項８記載の発明では、タイミング収束性と配線容易性とを共に考慮して論理階層を選択し併合することが可能である。前記例では、遅延値の総和は、階層ブロックＡ、Ｂ間では８.０、階層ブロックＢ、Ｃ間では３７.５、階層ブロックＡ、Ｃ間では１０.０となって、階層ブロックＢ、Ｃ同士が併合されるので、階層ブロック間の配線数の削減とタイミング収束性の向上との両立を図ることができる。
【００４０】
また、この際に、請求項９記載の発明のように、目標周期を満足しない入出力のみの遅延値の総和を評価することにより、特にタイミングがクリティカルな部分の情報を反映した階層ブロックの生成が可能である。
【００４１】
次に、請求項１２及び１３記載の発明では、次の作用を奏する。すなわち、階層ブロック内に備えられるフリップフロップ回路の数にばらつきがあると、階層ブロック毎にクロックスキューのばらつきが大きくなったり、消費電力のピーク値にばらつきが発生してしまい、クロックスキューの調整や電圧降下の対策作業に多くの工数が必要となる。そこで、請求項１２及び１３記載の発明では、各階層ブロック内のフリップフロップ回路の数に最大値及び最小値の閾値を設定する。これにより、各階層ブロック間のフリップフロップ回路数のばらつきを抑えて、クロックスキュー及び消費電力のばらつきを抑えることが可能である。
【００４２】
更に、請求項１５及び１６記載の発明では、次の作用を奏する。すなわち、一般に、自動レイアウト設計ツールの処理時間はセル数に依存し、セル数が所定の一定値を超えると、指数関数的に設計処理時間が増加する傾向がある。また、論理階層を細かく分割すると、設計処理時間を削減することができるが、階層ブロック数が増えるために、設計人員が増加するという問題がある。そこで、本請求項１５及び１６記載の発明では、各論理階層に備えるセル数に最大値及び最小値の閾値を設定する。これにより、階層ブロック間のセル数のばらつきが抑えられて、自動レイアウト設計ツールの現実的な処理可能範囲内で最小の階層ブロック数を実現できて、レイアウト設計者も必要最小限となり、設計人員の効率化を図ることができ、更には自動レイアウト設計ツールの性能を最大限活用できる。
【００４３】
加えて、請求項１８記載の発明では、次の作用を奏する。すなわち、階層ブロックの生成に際しては、各論理階層内のフリップフロップ回路数又はセル数に最大値を設定する。次に、全ての論理階層に対して、併合後の論理階層のフリップフロップ回路数又はセル数を算出して、最大値を越える論理階層を併合対象外とし、最大値以下の論理階層を併合対象として併合する。そして、最終的に全ての論理階層が併合対象外となった時点で、最大値以下の論理階層が生成されたことになる。その後は、各論理階層内のフリップフロップ回路数又はセル数に今度は最小値を設定し、前記生成された最大値以下の全ての論理階層に対して、併合後の論理階層内に含まれるフリップフロップ回路数又はセル数を算出して、最小値以上の論理階層を併合対象外とし、最小値未満の論理階層を併合対象として併合する。
【００４４】
前記最小値未満の論理階層の併合に際しては、請求項１０記載の発明では、特にタイミングが厳しい階層ブロック同士のみの併合処理を許可する。例えば、３つの階層ブロックＡ、Ｂ、Ｃがある場合に、階層ブロック間の遅延値の総和値を、各々、階層ブロックＡ、Ｂ間が３００、階層ブロックＢ、Ｃ間が６００、階層ブロックＡ、Ｃ間が１００となるときには、階層ブロックＢ、Ｃ同士の併合を行う。一方、遅延値の総和値が各々例えば階層ブロックＡ、Ｂ間が２５０、階層ブロックＢ、Ｃ間が３００、階層ブロックＡ、Ｃ間が２００であるときには、階層ブロックＢ、Ｃ間が最大となるが、遅延値の総和値は相互間でさほど差がない（これ等３つの遅延総和値の合計値７５０の１／２値未満である）ため、併合は行わない。
【００４５】
この際、請求項１１記載の発明では、タイミングのクリティカルな入出力間のみの遅延値の総和値で評価することも可能である。
【００４６】
前記請求項１０又は１１記載の発明において、各階層ブロック間の遅延値の総和値が相互間でさほど差がない場合には、請求項１４又は１７記載の発明のように、併合後のセル数又はフリップフロップ回路数が最小となるように併合処理が行われる。
【００４７】
そして、最終的に全ての論理階層が併合対象外となった時点で、最大値以下で且つ最小値以上のフリップフロップ回路数又はセル数を持つ複数の階層ブロックが生成されたことになる。この一連の処理により、配線容易性及びタイミング収束性を考慮した最適な階層ブロックが生成される。
【発明の効果】
【００４８】
以上により、請求項１〜２０記載の発明では、次の４つの効果を奏する。
【００４９】
すなわち、第１に、階層ブロック間の配線数を削減して、トップ階層の配線領域を削減できるので、半導体集積回路の面積を縮小できる。また、論理階層間の遅延値が大きい論理階層同士を１つの階層ブロックに併合して、セル同士を近くに配置できるので、セルサイズの縮小及び無駄なバッファの挿入の削減が可能となって、より一層に半導体集積回路の面積を縮小できる。
【００５０】
第２に、階層ブロック間の信号接続数が削減されて、半導体集積回路全体のタイミング収束を行うことが容易になると共に、タイミングがクリティカルになっている部分が同一の階層ブロックに存在して、階層ブロックという部分的な範囲でタイミングの最適化を行い得るので、半導体集積回路のタイミング収束性を向上することができる。
【００５１】
第３に、階層ブロック内のセル数を自動配置配線ツール自体の扱えるデータ規模の制限以内に抑えることができて、配置配線処理の実行時間を削減できるので、階層ブロックの自動配置配線の処理時間を削減できる。
【００５２】
第４に、階層ブロック内のフリップフロップ回路数のばらつきを抑えることができるので、クロックスキューのばらつきや、消費電力のピーク値のばらつきを抑えることが可能である。
【発明を実施するための最良の形態】
【００５３】
以下、本発明の階層ブロック生成方法及び生成装置の実施形態を説明する。尚、本発明に係る階層ブロック生成プログラムの実施形態についても、合わせて説明する。
【００５４】
図１は、本発明の実施形態の階層ブロック生成装置の構成を示すブロック図である。同図において、１０１は、半導体集積回路の論理階層情報を保持した回路情報を入力するデータベース入力手段、１０２は前記データベース入力手段１０１が入力した回路情報に基づいて半導体集積回路の回路構造パラメータを抽出する回路構造抽出手段、１０３は前記回路構造抽出手段１０２が抽出した回路構造パラメータに基づいて論理階層の併合を行って複数の階層ブロックを生成する階層ブロック生成手段、１０４は前記階層ブロック生成手段１０３で生成された各階層ブロックの構造を出力するデータベース出力手段である。尚、図中、１０５は前記回路構造抽出手段１０２が抽出した回路パラメータを示す。
【００５５】
図２は、図１に示した回路構造抽出手段１０２の詳細な構成を示すブロック図である。図２において、２０１は前記回路情報１０６より各論理階層間の入出力数、その各入出力間の論理セル段数、内部に備えるフリップフロップ回路数（ＦＦ数）及びセル数を算出する回路情報解析手段、２０２は論理階層間の各入出力間の論理セル段数とセル遅延値情報とを元に各入出力間の遅延値を算出する遅延値算出手段、２０３はクロック情報を元に各入出力間の遅延値の補正を行う遅延値補正手段、２０４は各論理階層間のタイミング情報である最大遅延値、平均遅延値、遅延値の総和、半導体集積回路の目標周期を満足しない入出力間の遅延値の総和、前記目標周期を満足しない入出力間の平均遅延値を算出するタイミング情報算出手段である。
【００５６】
図３は、前記図１に示した階層ブロック生成手段１０３の詳細な構成を示すブロック図である。同図において、３０１は、与えられたフリップフロップ回路数又はセル数の目標値から、最大値及び最小値を閾値として設定する閾値選択手段、３０２は全ての論理階層の中から２つの論理階層を併合対象として組合せることを繰り返す対象論理階層選択手段、３０３は、前記組合された２つの論理階層を併合した後の階層ブロックが有するフリップフロップ回路数又はセル数が前記最大値を越えるか否かを判定し、越える場合は、それらの論理階層を併合の対象外とする最大閾値判定手段、３０４は併合対象の論理階層から実際に併合する論理階層を選択して併合する最大閾値論理階層併合手段、３０５は併合後の論理階層の回路パラメータの再計算を行い、情報の更新を行う回路パラメータ更新手段である。
【００５７】
また、図３において、３０６は、全ての論理階層又は階層ブロックが前記最小値を満足するか否かを判定し、最小値未満の場合は、それらの論理階層を併合の対象とする最小閾値判定手段、３０７は併合対象の論理階層から実際に併合する論理階層を選択して併合する最小閾値論理階層併合手段、３０８は併合後の論理階層の回路パラメータの再計算を行い、情報の更新を行う回路パラメータ更新手段である。
【００５８】
図４は、図３の階層ブロック生成手段の動作を示すフローチャートを示す。前記のように構成した階層ブロック生成装置について、以下、図１、図２、図３、及び図４の動作フローチャートに基づいて説明する。
【００５９】
先ず、データベース入力手段１０１により、設計対象となる半導体集積回路の階層構造を保持した回路情報１０６を入力する。ここで、半導体集積回路の階層構造について説明する。図５は、階層構造を説明するためのデータ構造図である。図５に示すように、階層構造はツリー上のデータ構造で表される。各符号Ａ、Ｂ１〜Ｂ３及びＣ１〜Ｃ５のＡ、Ｂ、Ｃは各階層を示しており、ツリーの根となる符号Ａは最上位階層のブロックを表し、葉となる各符号Ｂ２、Ｃ１、Ｃ２、Ｃ３、Ｃ４及びＣ５は最下位階層ブロックを表している。また、最下位階層ブロックＢ２、Ｃ１、Ｃ２、Ｃ３、Ｃ４及びＣ５は、複数のマクロセル及び複数のスタンダードセルからなる論理階層である。入力された階層構造に対し、図５に示すように、中間階層Ｂ１、Ｂ３を削除して、最上位階層Ａには最下位階層ブロックＢ２、Ｃ１、Ｃ２、Ｃ３、Ｃ４及びＣ５のみが存在するように、データの変換を行う。
【００６０】
次に、回路構造抽出手段１０２により、入力された回路情報のパラメータ抽出を行う。ここで、回路構造抽出手段１０２について詳細に説明する。先ず、図２において、回路情報解析手段２０１により抽出される回路構造データは、各最下層の論理階層Ｂ２、Ｃ１、Ｃ２、Ｃ３、Ｃ４及びＣ５間の入出力数、その各入出力における次のフリップフロップ回路までの論理セル段数、備えるセル数及びフリップフロップ回路数である。次に、遅延値算出手段２０２により、１つのセルの遅延値情報と前記論理セル段数とから、各入出力別の遅延値を算出する。この際に用いられる演算式は、遅延値＝論理セル段数×セル遅延値である。続いて、遅延値補正手段２０３により、クロック情報に基づいて遅延値補正を行う。ここで用いられる補正式は、遅延値´＝遅延値÷半導体集積回路の目標周期である。以下で用いられる遅延値は、前記補正式を用いて算出された遅延値´を言う。
【００６１】
最後に、タイミング情報算出手段２０４により、論理階層間の最大遅延値、平均遅延値、論理階層間の各入出力間の遅延値の総和、半導体集積回路の目標周期を満足しない入出力数、前記目標周期を満足しない入出力間の遅延値の総和及び平均遅延値を算出する。ここで、最大遅延値とは、２つの論理階層間に複数の入出力がある場合に、各入出力間の遅延値のうち最大値をいう。また、平均遅延値とは、それ等の各入出力間の遅延値の平均値をいう。更に、目標周期を満足しない入出力数とは、２つの論理階層間の複数の入出力のうち、入出力間の遅延値が半導体集積回路の目標周期を越える入出力の数を言う。
【００６２】
次に、階層ブロック生成手段１０３により、論理階層を併合することにより階層ブロックを生成する。ここで、階層ブロック生成手段１０３について図３及び図４を用いて詳細に説明する。先ず、図４の閾値設定工程４０１では、最大閾値選択手段３０１により、階層ブロックを生成する際の閾値を決定する。つまり、論理階層に含まれるフリップフロップ回路数又はセル数の目標値に基づいて、これらフリップフロップ回路数又はセル数の最大値及び最小値を、閾値として定める。
【００６３】
続いて、図４の対象論理階層選択工程４０２では、対象論理階層選択手段３０２により、論理階層の併合対象として２つの論理階層の選択を行う。その後、第１判定工程４０３では、最大閾値判定手段３０３により、全ての論理階層に対して論理階層併合後の閾値を計算し、最大閾値を超える組合せとなる論理階層を併合対象外にする。
【００６４】
次に、第１併合工程４０４では、最大閾値論理階層併合手段３０４により、併合対象となる論理階層の中から、併合する論理階層を選択し、併合処理を行う。この際、併合する論理階層の選択は、適用する半導体集積回路の特性や所望する階層ブロックを踏まえて、以下のように行う。すなわち、第１に、各論理階層間の信号接続本数が最大となる組合せの論理階層同士又は階層ブロック同士を選択する。第２に、各論理階層間の各入出力間の遅延値のうち、目標周期を満足しない入出力の数が最大となる組合せの論理階層同士又は階層ブロック同士を選択する。第３に、各論理階層間の各入出力間の遅延値が最大となる組合せの論理階層同士又は階層ブロック同士を選択する。第４に、各論理階層間の各入出力間の平均遅延値が最大となる組合せの論理階層同士又は階層ブロック同士を選択する。第５に、各論理階層間の各入出力間の遅延値のうち、目標周期を満足しない入出力の遅延値のみの平均値が最大となる論理階層同士又は階層ブロック同士を選択する。第６に、各論理階層間の各入出力間の遅延値の総和が最大となる組合せの論理階層同士又は階層ブロック同士を選択する。第７に、各論理階層間の各入出力間の遅延値のうち、目標周期を満足しない入出力の遅延値のみの総和が最大となる組合せの論理階層同士又は階層ブロック同士を選択する。以上の７種の選択方法のうち何れかの選択方法で選択された２つ論理階層に対し、論理階層の併合処理を行い、新たな階層ブロックを生成する。
【００６５】
次に、図４に示した第１更新工程４０５では、回路パラメータ更新手段３０５により、併合された階層ブロックの回路パラメータを再計算して、情報の更新を行う。具体的には、併合後の階層ブロックについて、備えるフリップフロップ回路数、セル数、入出力数、及びタイミング情報について再計算を行って、その情報を元に回路パラメータの更新を行う。
【００６６】
その後は、図４の対象論理階層選択工程４０２から第１更新工程４０５までの工程を全ての論理階層又は階層ブロックが併合対象外になるまで繰り返し、実行する。
【００６７】
全ての論理階層又は階層ブロックが併合対象外になった時点で、図４の第２判定工程４０６において、全ての論理階層又は階層ブロックについて、そのフリップフロップ回路数又はセル数が最小閾値を満足しているか否かを判定する。全ての論理階層又は階層ブロックについて最小閾値を満足している場合には、階層ブロック生成手段１０３の動作を終了して、図１のデータベース出力手段１０４の動作に移行するが、全ての論理階層又は階層ブロックについて最小閾値を満足していない場合には、第２併合工程４０７において、最小閾値論理階層併合手段３０７により、最小閾値を満足しない論理階層又は階層ブロックについて併合処理を行う。
【００６８】
前記最小閾値論理階層併合手段３０７による併合処理は、次のように行う。すなわち、第１に、論理階層間の各入出力間の遅延値の総和が、全ての論理階層間の各入出力間の遅延値の総和の１／２値以上である論理階層同士又は階層ブロック同士を併合する。第２に、論理階層間の各入出力間の遅延値のうち、目標周期を満足しない遅延値の総和が、全ての論理階層間の各入出力間のうち目標周期を満足しない遅延値の総和の１／２値以上である論理階層同士又は階層ブロック同士を併合する。前記の第１又は第２の選択方法により、タイミングの厳しい階層ブロック同士の併合を行う。この際、前記第１又は第２の選択方法での判断基準で満足する階層ブロックがない場合には、最小閾値を満足しない階層ブロックと、残る階層ブロックのうちフリップフロップ回路数又はセル数が最小の階層ブロックとを併合対象として併合する。
【００６９】
階層ブロックの併合後は、図４の第２更新工程４０８において、回路パラメータ更新手段３０８により、回路情報の再計算及び更新を行う。この一連の処理を全ての論理階層又は階層ブロックが最小閾値を満足するまで繰り返し実行する。そして、最終的に全ての論理階層又は階層ブロックが最小閾値を満足した時点で、階層ブロック生成手段１０３による階層ブロックの生成動作を終了する。
【００７０】
そして、最後に、図１に示したデータベース出力手段１０４では、前記階層ブロック生成手段１０３で生成された階層ブロックの構成を持つ回路情報の出力を行う。
【００７１】
以上のような方法により、タイミング収束性及び配線容易性を考慮した階層ブロックの生成が最適に自動で行われるので、設計期間の短縮やチップサイズの削減が実現できる。
【産業上の利用可能性】
【００７２】
以上説明したように、本発明は、半導体集積回路の階層レイアウト設計において、タイミング収束性及び配線容易性を考慮して、最適な階層ブロックを自動で生成できるので、階層ブロック間の配線数やトップ階層の配線領域を削減できると共に、セルサイズの縮小等が可能となって、設計された半導体集積回路の面積の縮小を図ることができ、半導体集積回路設計における階層ブロック生成方法などとして、有用である。
【図面の簡単な説明】
【００７３】
【図１】本発明の実施形態の階層ブロック生成装置の構成を示すブロック図である。
【図２】同階層ブロック生成装置に備える回路構造抽出手段の詳細な構成を示すブロック図である。
【図３】同階層ブロック生成装置に備える階層ブロック生成手段の詳細な構成を示すブロック図である。
【図４】同階層ブロック生成手段を動作を説明するフローチャート図である。
【図５】半導体集積回路の階層構造を説明するためのデータ構造図である。
【図６】データベース入力手段により変換された階層構造を示すデータ構造図である。
【図７】従来技術のビルディングブロック方式による半導体集積回路のレイアウト設計を示すフローチャート図である。
【符号の説明】
【００７４】
１０１     データベース入力手段
１０２     回路構造抽出手段
１０３     階層ブロック生成手段
１０４     データベース出力手段
２０１     回路情報解析手段
２０２     遅延値算出手段
２０３     遅延値補正手段
２０４     タイミング情報算出手段
３０１     閾値選択手段
３０２     対象論理階層選択手段
３０３     最大閾値判定手段
３０４     最大閾値論理階層選択手段
３０５     回路パラメータ更新手段
３０６     最小閾値判定手段
３０７     最小閾値論理階層併合手段
４０１     閾値設定工程
４０３     第１判定工程
４０４     第１併合工程
４０５     第１更新工程
４０６     第２判定工程
４０７     第２併合工程
４０８     第２更新工程
【図１】
2005228124.tif 000003
【図２】
2005228124.tif 000004
【図３】
2005228124.tif 000005
【図４】
2005228124.tif 000006
【図５】
2005228124.tif 000007
【図６】
2005228124.tif 000008
【図７】
2005228124.tif 000009