(57)【要約】【課題】フロアプランのやり直しを減らすことによってフロアプランの処理時間を短縮することが可能な自動フロアプラン決定方法を得ること。【解決手段】半導体集積回路装置の自動フロアプラン決定方法であって、レジスタＦと論理演算セルＷ〜Ｚを抽出する抽出ステップと、論理演算セルＷ〜Ｚの集合をクラスタセルとして生成するクラスタセル生成ステップと、クラスタセル内の論理演算セルＷ〜Ｚが近接配置するようクラスタセルおよびレジスタＦの配置位置を決定する第１のセル配置ステップと、フロアプランを行う論理階層ブロックを選択する選択ステップと、論理階層ブロックを配置する領域を決定する階層ブロック配置配線領域決定ステップとからなる。【選択図】      図１
2004334565.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路装置の自動フロアプラン決定方法であって、設計対象の半導体集積回路装置内のレジスタと論理演算セルを抽出する抽出ステップと、
前記論理演算セルに直接または他の論理演算セルを介して信号を入力する可能性のある第１のレジスタの集合および前記論理演算セルから直接または他の論理演算セルを介して信号が入力される可能性のある第２のレジスタの集合を抽出し、該抽出結果に基づいて前記論理演算セルの集合をクラスタセルとして生成するクラスタセル生成ステップと、
クラスタセル内の論理演算セルが近接配置するよう前記クラスタセルおよび前記レジスタの配置位置を決定する第１のセル配置ステップと、
半導体集積回路装置内の前記論理演算セルおよび前記レジスタの集合で構成される任意の論理階層ブロックの中からフロアプランを行う論理階層ブロックをフロアプラニング対象ブロックとして選択する選択ステップと、
前記第１のセル配置ステップの結果に基づいて、前記選択された各論理階層ブロックの配置配線領域がその論理階層ブロックに属するセルをできるだけ多く含むように配置配線領域を決定する階層ブロック配置配線領域決定ステップと、
を備えることを特徴とする半導体集積回路装置の自動フロアプラン決定方法。
【請求項２】
前記第１のレジスタの集合および前記第２のレジスタの集合には外部と半導体集積回路装置内の信号の入出力を行う入出力セルを含むことを特徴とする請求項１に記載の半導体集積回路装置の自動フロアプラン決定方法。
【請求項３】
前記クラスタセル生成ステップは、
回路接続中の信号伝播速度を考慮する必要のない信号を除外して、前記第１のレジスタの集合および前記第２のレジスタの集合を抽出することを特徴とする請求項１または２に記載の半導体集積回路装置の自動フロアプラン決定方法。
【請求項４】
前記クラスタセル生成ステップは、
前記論理演算セルに対する前記第１のレジスタの集合および前記第２のレジスタの集合の両方が互いに共通する論理演算セルをまとめて１つのクラスタセルとすることを特徴とする請求項１〜３のいずれか１つに記載の半導体集積回路装置の自動フロアプラン決定方法。
【請求項５】
前記クラスタセル生成ステップは、
前記論理演算セルに対する前記第１のレジスタの集合と前記第２のレジスタの集合の和集合が互いに共通する論理演算セルをまとめて１つのクラスタセルとすることを特徴とする請求項１〜３のいずれか１つに記載の半導体集積回路装置の自動フロアプラン決定方法。
【請求項６】
前記クラスタセル生成ステップは、
前記論理演算セルに対する前記第１のレジスタの集合と前記第２のレジスタの集合の和集合が他の論理演算セルに対する該和集合の真部分集合である場合に、これらの論理演算セルをまとめて１つのクラスタセルとすることを特徴とする請求項１〜３のいずれか１つに記載の半導体集積回路装置の自動フロアプラン決定方法。
【請求項７】
前記クラスタセル生成ステップは、
１つのクラスタセルの前記和集合と、他のクラスタセルの前記和集合または前記論理演算セルの前記和集合とが真部分集合の関係にある場合に、
前記１つのクラスタセルと前記他のクラスタセルまたは前記論理演算セルとをさらにまとめて１つのクラスタセルとする処理を繰り返すことを特徴とする請求項６に記載の半導体集積回路装置の自動フロアプラン決定方法。
【請求項８】
前記クラスタセル生成ステップは、
前記クラスタセルに含まれる論理演算セルの合計サイズが所定のサイズ以下になるよう制限することを特徴とする請求項１〜７のいずれか１つに記載の半導体集積回路装置の自動フロアプラン決定方法。
【請求項９】
前記セル配置ステップの後であって前記選択ステップ前に、
前記クラスタセルに含まれる論理演算セルの合計サイズが所定のサイズ以上であった場合、該クラスタセルを分割して改めてクラスタセル内の論理演算セルが近接配置するよう前記クラスタセルおよび前記レジスタの配置位置を決定する第２のセル配置ステップをさらに備えることを特徴とする請求項１〜８のいずれか１つに記載の半導体集積回路装置の自動フロアプラン決定方法。
【請求項１０】
前記第２のセル配置ステップは、前記第１のセル配置ステップによって配置されたレジスタとクラスタセルの位置関係に基づいて前記クラスタセルを分割することを特徴とする請求項９に記載の半導体集積回路装置の自動フロアプラン決定方法。
【請求項１１】
前記クラスタセル生成ステップ、前記第１のセル配置ステップまたは前記第２のセル配置ステップは、
前記論理階層ブロックおよび前記クラスタセルの関係を記憶して画面に表示し、
前記表示画面上の前記論理階層ブロックまたは前記クラスタセルの一方を選択することによって他方を該画面上で強調して表示しながら処理することを特徴とする請求項１〜１０のいずれか１つに記載の半導体集積回路装置の自動フロアプラン決定方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は自動フロアプラン決定方法に関するものであり、特に、半導体集積回路装置における回路配置を効率よく行うためのフロアプラン決定方法に関するものである。
【０００２】
【従来の技術】
近年、半導体集積回路装置の製造工程における微細化技術の進化に伴い、１チップに搭載できるセル数が増加する傾向にある。そして、セル数の増加に伴い、半導体集積回路装置のフロアプランといわれるレイアウト設計がますます複雑となり、重要となってきている。このため、半導体集積回路装置のフロアプランを容易かつ短時間で行い、半導体集積回路装置の設計期間を短縮することが望まれている。
【０００３】
半導体集積回路装置の設計においては、論理設計が終了した後セルの配置等を行うフロアプラニングがなされる。従来のフロアプラン決定方法では、まず論理階層ブロック毎にチップ上の領域を決定し、それぞれの論理階層ブロックをその領域内で設計するといった階層設計手法が用いられる。
【０００４】
このような階層設計手法では、例えばセルの集合で構成されている階層ブロックの情報を示す論理階層ブロック情報やセル端子間の接続情報を定義した回路接続情報、半導体集積回路装置を作りこむシリコン基板等の情報を示すチップ基板情報やセル内の物理的な構造（大きさ、形状）を示すセル構造情報等からなるライブラリデータをフロアプランを行うためのコンピュータに読み込む。この後、設計者はフロアプランを行う論理階層ブロックを選択し、この論理階層ブロックの配置配線領域（レイアウト領域）を決定する。
【０００５】
論理階層ブロックの配置配線領域内ではセルの配置やセル端子間の配線がなされる。そして、最終的に得られた配置配線結果に基づいてシミュレーション（回路動作の検証）を行い、遅延等の問題が生じた場合は配置配線領域を修正するため再度フロアプランを行うという作業を繰り返している。
【０００６】
しかしながら、このようなフロアプラン決定方法による階層ブロックの配置配線領域の決定は設計者によってなされるものであるため、シミュレーションの結果によってはフロアプランのやり直しが多くなり設計時間が長くなるという問題があった。そこで、設計時間短縮のためにこのフロアプランを容易にし、階層ブロックの配置配線領域のやり直しを減らすことが望まれる。
【０００７】
特許文献１に記載のフロアプラン決定方法では、まず同一機能を実現するセル毎にグループ分けを行っている。つぎに、グループ間の配線を仮想的に決定し、このグループ間の配線に基づいて機能シミュレーションを行っている。そして、駆動セルの駆動能力が不十分な駆動セルに対しては駆動セルの変更を行っている。これによってフロアプランのやり直し（配置配線処理の回数）を減らしている。
【０００８】
【特許文献１】
特開平６−２０４４３７号公報（第３項）
【０００９】
【発明が解決しようとする課題】
しかしながら、上記従来の技術によれば駆動セルの駆動能力が不十分な場合、論理シミュレーションの前において駆動セルの変更を行うため多数の駆動セルを変更させる必要が生じる。また、駆動セルの変更だけでは、フロアプランのやり直しの回数を減らすことが不十分であるという問題があった。
【００１０】
この発明は上記に鑑みてなされたものであって、フロアプランのやり直しを減らすことによって最適なフロアプランを短時間で生成することが可能な自動フロアプラン決定方法を得ることを目的とする。
【００１１】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するために、本発明にかかる自動フロアプラン決定方法にあっては、半導体集積回路装置の自動フロアプラン決定方法であって、設計対象の半導体集積回路装置内のレジスタと論理演算セルを抽出する抽出ステップと、前記論理演算セルに直接または他の論理演算セルを介して信号を入力する可能性のある第１のレジスタの集合および前記論理演算セルから直接または他の論理演算セルを介して信号が入力される可能性のある第２のレジスタの集合を抽出し、該抽出結果に基づいて前記論理演算セルの集合をクラスタセルとして生成するクラスタセル生成ステップと、クラスタセル内の論理演算セルが近接配置するよう前記クラスタセルおよび前記レジスタの配置位置を決定する第１のセル配置ステップと、半導体集積回路装置内の前記論理演算セルおよび前記レジスタの集合で構成される任意の論理階層ブロックの中からフロアプランを行う論理階層ブロックをフロアプラニング対象ブロックとして選択する選択ステップと、前記第１のセル配置ステップの結果に基づいて、前記選択された各論理階層ブロックの配置配線領域がその論理階層ブロックに属するセルをできるだけ多く含むように配置配線領域を決定する階層ブロック配置配線領域決定ステップと、を備えることを特徴とする。
【００１２】
この発明によれば、各論理演算セルに対して信号出力レジスタ（第１のレジスタ）と信号入力レジスタ（第２のレジスタ）に基づいてクラスタセルを生成抽出し、このクラスタセルを１つの単位としてセル配置を行うため、信号出力レジスタと信号入力レジスタの両方が共通する論理演算セル同士は近接配置される。
【００１３】
【発明の実施の形態】
以下、本発明にかかる自動フロアプラン決定方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１４】
実施の形態１．
図１〜４に従ってこの発明の実施の形態１について説明する。図１はこの発明の実施の形態１にかかる自動フロアプラン決定方法の手順を示すフローチャートである。
【００１５】
まず、フロアプランを行うための例えばパーソナルコンピュータにセルの集合で構成されている階層ブロックの情報を示す論理階層ブロック情報やセル端子間の接続情報を定義した回路接続情報、半導体集積回路装置を作りこむシリコン基板等の情報を示すチップ基板情報やセル内の物理的な構造（大きさ、形状）を示すセル構造情報等のライブラリデータを読み込む（ステップＳ１００）。
【００１６】
回路接続情報から、一時的にデータを保持するレジスタ、論理回路を構成する論理演算セルを抽出する。なお、半導体集積回路装置の外部と内部回路との信号の入出力を行うための入出力セルもレジスタの１つとみなしてレジスタとともに抽出しておく（ステップＳ２００）。
【００１７】
ここで、ステップＳ１００においては、図２に示すようなレジスタや論理演算セルが抽出されたものとする。図２は、この発明の実施の形態１にかかる半導体集積回路装置を搭載する回路基板１０のレイアウト構成の一例を示す図である。図２において、回路基板１０は回路基板１０と半導体集積回路装置の内部回路との信号の入出力を行う入出力セルＰ１〜Ｐ６、フリップフロップ等のレジスタＦ１〜Ｆ６、論理回路を構成する論理演算セルＷ１〜Ｗ３，Ｘ１〜Ｘ３，Ｙ１〜Ｙ３，Ｚ１〜Ｚ３で構成されている。そして、論理演算セルＷ１〜Ｗ３，Ｘ１〜Ｘ３とレジスタＦ１，Ｆ４が１つの論理階層ブロック２０を構成し、論理演算セルＹ１〜Ｙ３，Ｚ１〜Ｚ３とレジスタＦ２，Ｆ３，Ｆ５，Ｆ６が１つの論理階層ブロック２０を構成している。
【００１８】
入出力セルは、基板上に配置されレジスタや論理演算セルと電気的に接続されている。この実施の形態１においては、入出力セルＰ２からの信号をレジスタＦ２に入力し、入出力セルＰ３からの信号をレジスタＦ３に入力する構成となっている。また、レジスタＦ４は入出力セルＰ４に信号を出力し、レジスタＦ５は入出力セルＰ５に信号を出力し、レジスタＦ６は入出力セルＰ６に信号を出力する構成となっている。また、入出力セルＰ１からの信号を論理演算セルＷ３に入力する構成となっている。
【００１９】
また、レジスタＦ１〜Ｆ６は、入出力セルＰ１〜Ｐ６や論理演算セルＷ１〜Ｗ３，Ｘ１〜Ｘ３，Ｙ１〜Ｙ３，Ｚ１〜Ｚ３と電気的に接続されている。
【００２０】
論理演算セルは、レジスタとレジスタの間に複数配置されており、１つのレジスタからの入力信号を他のレジスタへ出力する。ここでは、レジスタＦ１とレジスタＦ４の間に論理演算セルＸ１、論理演算セルＸ２、論理演算セルＸ３を配置するとともに、レジスタＦ４とレジスタＦ１の間に論理演算セルＷ１、論理演算セルＷ２、論理演算セルＷ３を配置している。また、レジスタＦ２とレジスタＦ５の間に論理演算セルＹ１、論理演算セルＹ２、論理演算セルＹ３を配置し、レジスタＦ３とレジスタＦ６の間に論理演算セルＺ１、論理演算セルＺ２、論理演算セルＺ３を配置している。さらに、論理演算セルＺ１からの信号は論理演算セルＹ２に入力され、論理演算セルＹ２からの入力は論理演算セルＸ３にも入力されている。
【００２１】
つぎに、１つの論理演算セルに対して直接または他の論理演算セルを介して信号を供給する可能性のあるレジスタ（請求項に記載の第１のレジスタに対応）の集合（以下、信号出力レジスタという）を論理演算セル毎に抽出するとともに、論理演算セルから直接または他の論理演算セルを介して信号が供給される可能性のあるレジスタ（請求項に記載の第２のレジスタに対応）の集合（以下、信号入力レジスタという）を論理演算セル毎に抽出する。なお、入出力セルを信号出力レジスタや信号入力レジスタの対象としてもよいし、対象から除外してもよい。本実施の形態１においては、入出力セルも信号出力レジスタや信号入力レジスタの対象とした場合について説明する。したがって、入出力セルＰ１〜Ｐ６も信号出力レジスタや信号入力レジスタの対象となる。
【００２２】
例えば、論理演算セルＸ１はレジスタＦ１から信号が供給される可能性があるためレジスタＦ１を論理演算セルＸ１の信号出力レジスタとして抽出し、論理演算セルＸ１はレジスタＦ４へ信号を供給する可能性があるためレジスタＦ４を論理演算セルＸ１の信号入力レジスタとして抽出する。また、論理演算セルＸ３においてはレジスタＦ１、レジスタＦ２、レジスタＦ３から信号が供給される可能性があるためレジスタＦ１、レジスタＦ２、レジスタＦ３を論理演算セルＸ３の信号出力レジスタとして抽出し、論理演算セルＸ３はレジスタＦ４へ信号を供給する可能性があるためレジスタＦ４を論理演算セルＸ３の信号入力レジスタとして抽出する。そして、このような抽出を全論理演算セルに対して行う。
【００２３】
そして、１つの論理演算セルと他の論理演算セルの間で、信号出力レジスタと信号入力レジスタの両方が共通する場合、これらの論理演算セルを１つのクラスタセルとして生成抽出する（ステップＳ３００）。例えば、論理演算セルＺ２と論理演算セルＺ３は共にレジスタＦ３が信号出力レジスタであり、共にレジスタＦ６が信号入力レジスタである。したがって、論理演算セルＺ２と論理演算セルＺ３は１つのクラスタセルとして生成抽出されることとなる。ここでは同様に、論理演算セルＸ１と論理演算セルＸ２、論理演算セルＷ１と論理演算セルＷ２がそれぞれ１つのクラスタセルとして生成抽出されることとなる。
【００２４】
なお、他の論理演算セルに対して、信号出力レジスタと信号入力レジスタの両方が共通する論理演算セルがない場合は、この論理演算セルは単独で１つのクラスタセルとする。例えば、論理演算セルＸ３に対して信号出力レジスタと信号入力レジスタの両方が共通する論理演算セルがないため論理演算セルＸ３は単独で１つのクラスタセルを構成する。
【００２５】
つぎに、生成抽出されたクラスタセルとレジスタの配置を行う（ステップＳ４００）。ここで、ステップＳ３００で生成抽出されたクラスタセルは複数の論理演算セルから生成されたものであっても１つのセルとして取り扱う。したがって、クラスタセルを生成する論理演算セルＷ１と論理演算セルＷ２、論理演算セルＸ１と論理演算セルＸ２、論理演算セルＺ２と論理演算セルＺ３はそれぞれ近接配置されることとなる。
【００２６】
図３は、クラスタセルを生成抽出した後にクラスタセルとレジスタの配置を行った半導体集積回路装置を搭載する回路基板１０のレイアウト構成を示した図である。図３において、論理演算セルＷ１と論理演算セルＷ２、論理演算セルＸ１と論理演算セルＸ２、論理演算セルＺ１と論理演算セルＺ２はそれぞれ１つのクラスタセルを構成している。その他の論理演算セルＷ３，Ｘ３，Ｙ１〜Ｙ３，Ｚ１はそれぞれが単独でクラスタセルとなっている。そして、１つのクラスタセルを構成している論理演算セルＷ１と論理演算セルＷ２、論理演算セルＸ１と論理演算セルＸ２、論理演算セルＺ１と論理演算セルＺ２はそれぞれ近接配置されている。
【００２７】
このような配置結果から、フロアプランの対象とする任意の階層ブロックを選択する（ステップＳ５００）。ここでは、論理演算セルＷ１〜Ｗ３，Ｘ１〜Ｘ３とレジスタＦ１，Ｆ４からなる論理階層ブロック２０と、論理演算セルＹ１〜Ｙ３，Ｚ１〜Ｚ３とレジスタＦ２，Ｆ３，Ｆ５，Ｆ６からなる論理階層ブロック２０の両方を選択している。通常、階層ブロックの配置配線領域は他の配置配線領域と重なりがなく、さらに矩形状をしている必要がある。したがって、それぞれの階層ブロック内のセルをできるだけ多く含むように配置配線領域を決定する（ステップＳ６００）。
【００２８】
図４は、図３で示したクラスタセルとレジスタの配置結果から決定された配置配線領域を示す図である。図４においては、論理演算セルＷ１〜Ｗ３，Ｘ１〜Ｘ３、レジスタＦ１，Ｆ２からなる論理階層ブロック２０と論理演算セルＹ１〜Ｙ３，Ｚ１〜Ｚ３とレジスタＦ２，Ｆ３，Ｆ５，Ｆ６からなる論理階層ブロック２０はそれぞれの階層ブロックが矩形状となるよう配置配線領域が決定されている。
【００２９】
つぎに、この配置配線領域においてセルの配置配線や回路構成等を最適化する（ステップＳ７００）。このようにして得られた配置配線や回路構成の結果をシミュレーションによって検証し（ステップＳ８００）、問題が無ければフロアプランを終了する。なお、シミュレーションによって配置配線や回路構成が最適化されていないと判断された場合はステップＳ４００〜７００のいずれかに戻ってステップＳ４００〜ステップＳ７００の処理を繰り返す。
【００３０】
フロアプラン作成用のコンピュータに回路接続情報中の論理階層ブロック２０と生成されたクラスタセルの関係を記憶させておき、グラフィックウィンドウ上において表示することもできる。例えば、このグラフィックウィンドウ上で論理階層ブロック２０を選択すればクラスタセルを強調表示し、クラスタセルを選択すれば論理階層ブロック２０を強調表示するようにしてフロアプランを行ってもよい。さらに、この実施の形態１にかかるフロアプランにおいて設計者が手作業で修正を加えながら所望のフロアプランを行えるようにしてもよい。
【００３１】
このように実施の形態１によれば、各論理演算セルに対して信号出力レジスタと信号入力レジスタに基づいてクラスタセルを生成抽出し、このクラスタセルを１つの単位としてセル配置を行うため、信号出力レジスタと信号入力レジスタの両方が共通する論理演算セル同士は近接配置される。したがって、フロアプランの配置配線処理において高速動作可能なチップ設計を容易かつ短時間で行うことができる。さらに、セル配置の対象となるセル数が少なくなるためフロアプランの配置配線処理において高速動作可能なチップ設計を容易かつ短時間で行うことができる。
【００３２】
実施の形態２．
図２および図５に従ってこの発明の実施の形態２について説明する。図５はこの発明の実施の形態２にかかる自動フロアプラン決定方法の手順を示すフローチャートである。
【００３３】
まず、フロアプランを行うための例えばパーソナルコンピュータに回路接続情報、ライブラリデータを読み込み（ステップＳ１００）、回路接続情報からレジスタ（入出力セル）、論理演算セルを抽出する。
【００３４】
つぎに、論理演算セル毎に信号出力レジスタと信号入力レジスタを抽出する（ステップＳ２００）。本実施の形態２においても図２に示す実施の形態１の半導体集積回路装置と同じレジスタや論理演算セルが抽出されたものとする。
【００３５】
本実施の形態２においては、１つの論理演算セルに対する信号出力レジスタと信号入力レジスタの和集合を論理演算セル毎にとり、この和集合が共通する論理演算セルを１つのクラスタセルとして生成抽出する（ステップＳ３１０）。
【００３６】
例えば、論理演算セルＷ１と論理演算セルＷ２の信号出力レジスタと信号入力レジスタの和集合はともに｛レジスタＦ１，レジスタＦ４｝で一致している。同様に、論理演算セルＸ１と論理演算セルＸ２の信号出力レジスタと信号入力レジスタの和集合はともに｛レジスタＦ１，レジスタＦ４｝で一致している。したがって、論理演算セルＷ１，Ｗ２は１つのクラスタセルを構成し，論理演算セルＸ１，Ｘ２は１つのクラスタセルを構成することとなる。
【００３７】
さらに、論理演算セルＺ２と論理演算セルＺ３の信号出力レジスタと信号入力レジスタの和集合はともに｛レジスタＦ３，レジスタＦ６｝で一致している。したがって、論理演算セルＺ２と論理演算セルＺ３は１つのクラスタセルを構成することになる。この後、図１の実施の形態１にかかる自動フロアプラン決定方法と同じ手順でフロアプランを行い、フロアプランを終了する（ステップＳ４００〜８００）。
【００３８】
このように実施の形態２によれば、各論理演算セルに対して信号出力レジスタと信号入力レジスタの和集合をとり、この和集合が共通する論理演算セルを１つのクラスタセルとして生成抽出し、このクラスタセルを１つの単位としてセル配置を行うため、信号出力レジスタと信号入力レジスタの和集合が共通する論理演算セル同士は近接配置される。したがって、フロアプランの配置配線処理において高速動作可能なチップ設計を容易かつ短時間で行うことができる。さらに、セル配置の対象となるセル数が少なくなるためフロアプランの配置配線処理において高速動作可能なチップ設計を容易かつ短時間で行うことができる。
【００３９】
実施の形態３．
図２および図６〜図８に従ってこの発明の実施の形態３について説明する。図６はこの発明の実施の形態３にかかる自動フロアプラン決定方法の手順を示すフローチャートである。
【００４０】
まず、フロアプランを行うための例えばパーソナルコンピュータに回路接続情報、ライブラリデータを読み込み（ステップＳ１００）、回路接続情報からレジスタ、論理演算セル、入出力セルを抽出する。なお、本実施の形態３においては、実施の形態１とは異なり入出力セルを信号出力レジスタや信号入力レジスタの対象とはしない場合について説明する。つぎに、論理演算セル毎に信号出力レジスタと信号入力レジスタを抽出する（ステップＳ２００）。本実施の形態３においても図２に示す実施の形態１の半導体集積回路装置と同じレジスタや論理演算セルが抽出されたものとする。
【００４１】
本実施の形態３においては、まず１つの論理演算セルに対する信号出力レジスタと信号入力レジスタの和集合を論理演算セル毎にとり、この和集合が共通する論理演算セルを１つのクラスタセルとして生成抽出する（ステップＳ３１０）。そして、この和集合をクラスタセルのレジスタ集合とした場合に、あるクラスタセルのレジスタ集合が他のクラスタセルのレジスタ集合の真部分集合になればこれら２つのクラスタセルをマージ（併合）して１つのクラスタセルとする（ステップＳ３２０）。
【００４２】
例えば、論理演算セルＷ１と論理演算セルＷ２は、信号出力レジスタがレジスタＦ１で共通し、信号入力レジスタがレジスタＦ４で共通しており、信号出力レジスタと信号入力レジスタの和集合は｛レジスタＦ１，レジスタＦ４｝となる。したがって、論理演算セルＷ１と論理演算セルＷ２で構成されるクラスタセルのレジスタ集合は｛レジスタＦ１，レジスタＦ４｝となる。
【００４３】
また、論理演算セルＸ１と論理演算セルＸ２は、信号出力レジスタがレジスタＦ４で共通し、信号入力レジスタがレジスタＦ１で共通しており、信号出力レジスタと信号入力レジスタの和集合は｛レジスタＦ１，レジスタＦ４｝となる。したがって論理演算セルＸ１と論理演算セルＸ２で構成されるクラスタセルのレジスタ集合は｛レジスタＦ１，レジスタＦ４｝となる。
【００４４】
一方、論理演算セルＸ３は信号出力レジスタがレジスタＦ１、レジスタＦ２、レジスタＦ３であり信号入力レジスタがレジスタＦ４である。そして、信号出力レジスタと信号入力レジスタの和集合は｛レジスタＦ１，レジスタＦ２，レジスタＦ３，レジスタＦ４｝となり、クラスタセルのレジスタ集合も｛レジスタＦ１，レジスタＦ２，レジスタＦ３，レジスタＦ４｝となる。
【００４５】
このように論理演算セルＷ１と論理演算セルＷ２からなるクラスタセルと論理演算セルＸ１と論理演算セルＸ２からなるクラスタセルのレジスタ集合は論理演算セルＸ３からなるクラスタセルのレジスタ集合の真部分集合となる。したがって、論理演算セルＷ１，Ｗ２からなるクラスタセルと論理演算セルＸ１，Ｘ２からなるクラスタセルは、論理演算セルＸ３からなるクラスタセルとマージされて論理演算セルＷ１，Ｗ２，Ｘ１〜Ｘ３からなる１つのクラスタセルが構成される。同様の手順によって論理演算セルＹ１と論理演算セルＹ２は１つのクラスタセルとなり、論理演算セルＺ１、論理演算セルＺ２、論理演算セルＺ３も１つのクラスタセルを構成する。
【００４６】
なお、ここでは例えば、論理演算セルＷ１〜Ｗ３，Ｘ１，Ｘ２を１つのクラスタセルとし、論理演算セルＸ３を１つのクラスタセルとしてもよい。さらに、論理演算セルＹ２と論理演算セルＹ３を１つのクラスタセルとしてもよい。この後、図１の実施の形態１にかかる自動フロアプラン決定方法と同じ手順を行い、フロアプランを終了する（ステップＳ４００〜８００）。
【００４７】
図７は、この実施の形態３にかかるクラスタセルの生成抽出方法によって得られたクラスタセルとレジスタの配置を行った半導体集積回路装置を搭載する回路基板１０のレイアウト構成を示した図である。
【００４８】
図７において、論理演算セルＷ１，Ｗ２，Ｘ１〜Ｘ３は１つのクラスタセルを構成している。さらに、論理演算セルＹ１，Ｙ２は１つのクラスタセルを構成し、論理演算セルＺ１〜Ｚ３も１つのクラスタセルを構成している。そして、論理演算セルＷ３、論理演算セルＹ３はそれぞれが単独でクラスタセルとなっている。したがって、１つのクラスタセルを構成する論理演算セルＷ１，Ｗ２，Ｘ１〜Ｘ３はそれぞれ近接配置されることとなる。同様に１つのクラスタセルを構成する論理演算セルＹ１，Ｙ２と１つのクラスタセルを構成する論理演算セルＺ１〜Ｚ３もそれぞれ近接配置されることとなる。なお、ステップＳ３２０の処理を繰り返すことによってさらにマージを行ってもよい（ステップＳ３３０）。
【００４９】
図７において、論理演算セルＷ１，Ｗ２，Ｘ１〜Ｘ３で構成されるクラスタセルのレジスタ集合は｛レジスタＦ１，レジスタＦ２，レジスタＦ３，レジスタＦ４｝であり、論理演算セルＷ３からなるクラスタセルのレジスタ集合は｛レジスタＦ１，レジスタＦ４｝である。したがって、論理演算セルＷ３からなるクラスタセルのレジスタ集合は、論理演算セルＷ１，Ｗ２，Ｘ１〜Ｘ３からなるクラスタセルのレジスタ集合の部分集合となり、論理演算セルＷ１〜Ｗ３，Ｘ１〜Ｘ３は１つのクラスタセルを構成することとなる。同様に、論理演算セルＹ１〜Ｙ３は１つのクラスタセルを構成し、論理演算セルＺ１〜Ｚ３は１つのクラスタセルを構成する。
【００５０】
図８は、この実施の形態３にかかるクラスタセルの生成抽出方法によって得られたクラスタセルとレジスタの配置を行った半導体集積回路装置を搭載する回路基板１０のレイアウト構成を示した図である。
【００５１】
図８において、論理演算セルＷ１〜Ｗ３，Ｘ１〜Ｘ３は１つのクラスタセルを構成している。したがって、１つのクラスタセルを構成する論理演算セルＷ１〜Ｗ３，Ｘ１〜Ｘ３はそれぞれ互いに近接配置されることとなる。さらに、１つのクラスタセルを構成する論理演算セルＹ１〜Ｙ３は互いに近接配置され、１つのクラスタセルを構成する論理演算セルＺ１〜Ｚ３も互いに近接配置されることとなる。この後、図１の実施の形態１にかかる自動フロアプラン決定方法と同じ手順でフロアプランを行い、フロアプランを終了する（ステップＳ４００〜８００）。
【００５２】
このように実施の形態３によれば、１つの論理演算セルに対する信号出力レジスタと信号入力レジスタの和集合をとり、この和集合が共通する論理演算セルを１つのクラスタセルとして生成抽出し、さらにこの和集合をクラスタセルのレジスタ集合とした場合に、あるクラスタセルのレジスタ集合が他のクラスタセルのレジスタ集合の真部分集合になればこれら２つのクラスタセルをマージ（併合）して１つのクラスタセルとしている。したがって、１つのクラスタセルを構成する論理演算セルは近接配置されるため、フロアプランの配置配線処理において高速動作可能なチップ設計を容易かつ短時間で行うことができる。さらに、セル配置の対象となるセル数が少なくなるためフロアプランの配置配線処理において高速動作可能なチップ設計を容易かつ短時間で行うことができる。
【００５３】
実施の形態４．
図２、図９および図１０に従ってこの発明の実施の形態４について説明する。図９はこの発明の実施の形態４にかかる自動フロアプラン決定方法の手順を示すフローチャートである。
【００５４】
まず、フロアプランを行うための例えばパーソナルコンピュータに回路接続情報、ライブラリデータを読み込み（ステップＳ１００）、回路接続情報からレジスタ、論理演算セル、入出力セルを抽出する。なお、本実施の形態３においては、実施の形態１と同様に入出力セルを信号出力レジスタや信号入力レジスタの対象とする場合について説明する。つぎに、論理演算セル毎に信号出力レジスタと信号入力レジスタを抽出する（ステップＳ２００）。
【００５５】
本実施の形態４においても図２に示す実施の形態１の半導体集積回路装置と同じレジスタや論理演算セルが抽出されたものとする。本実施の形態４においては、接続回路において伝播信号速度を考慮する必要のないフォールスパスを除外して和集合を求める。
【００５６】
例えば、レジスタＦ３からレジスタＦ６への信号がフォールスパスであるとする。この場合、フォールスパス上の信号接続は接続されていないものとみなして除外しておく（ステップＳ３０５）。ここでは、レジスタＦ３からレジスタＦ６への信号がフォールスパスであるため論理演算セルＺ１から論理演算セルＺ２への信号、論理演算セルＺ２から論理演算セルＺ３への信号、論理演算セルＺ３からレジスタＦ６への信号は無いものとして扱う。
【００５７】
ここでは、論理演算セルＺ１を流れる可能性のある信号はレジスタＦ３から論理演算セルＺ１、論理演算セルＹ２、論理演算セルＹ３を介してレジスタＦ５へ流れる信号と、レジスタＦ３から論理演算セルＺ１、論理演算セルＹ２、論理演算セルＸ３を介してレジスタＦ４へ流れる信号だけとなる。したがって、論理演算セルＺ１に対する信号出力レジスタはレジスタＦ３となり、論理演算セルＺ１に対する信号入力レジスタはレジスタＦ４とレジスタＦ５になる。さらに、論理演算セルＸ３の信号入力レジスタと信号出力レジスタの和集合は｛レジスタＦ３，レジスタＦ４，レジスタＦ５｝となる。
【００５８】
この場合において、実施の形態３と同じ手順でクラスタセルを生成する。まず各論理演算セルに対して信号出力レジスタと信号入力レジスタの和集合をとり、この和集合が共通する論理演算セルを１つのクラスタセルとして生成抽出する（ステップＳ３１０）。そして、この和集合をクラスタセルのレジスタ集合とした場合に、あるクラスタセルのレジスタ集合が他のクラスタセルのレジスタ集合の真部分集合になればこれら２つのクラスタセルをマージ（併合）して１つのクラスタセルとする（ステップＳ３２０）。さらに、ステップＳ３２０の処理を繰り返すことによってさらにマージを行う（ステップＳ３３０）。
【００５９】
図１０は、この実施の形態４にかかるクラスタセルの生成抽出方法によって得られたクラスタセルとレジスタの配置を行った半導体集積回路装置を搭載する基板のレイアウト構成を示した図である。
【００６０】
図１０において、論理演算セルＹ１〜Ｙ３，Ｚ１は１つのクラスタセルを構成している。したがって、１つのクラスタセルを構成する論理演算セルＹ１〜Ｙ３，Ｚ１はそれぞれ互いに近接配置されることとなる。また、論理演算セルＺ２と論理演算セルＺ３それぞれ単独で１つのクラスタセルを構成することとなる。さらに、論理演算セルＷ１，Ｗ２，Ｘ１〜Ｘ３は１つのクラスタセルを構成し、１つのクラスタセルを構成する論理演算セルＷ１，Ｗ２，Ｘ１〜Ｘ３はそれぞれ互いに近接配置されることとなる。この後、図１の実施の形態１にかかる自動フロアプラン決定方法と同じ手順でフロアプランを行い、フロアプランを終了する（ステップＳ４００〜８００）。
【００６１】
このように実施の形態４によれば、フォールスパス上の信号接続は接続されていないものとみなしてクラスタセルの生成を行うため、タイミングを考慮すべき信号線で接続された論理演算セル同士が１つのクラスタセルを構成する。したがって、タイミングを考慮する必要のある論理演算セルは近接配置されることとなる。したがって、フロアプランの配置配線処理において高速動作可能なチップ設計を容易かつ短時間で行うことができる。さらに、セル配置の対象となるセル数が少なくなるためフロアプランの配置配線処理において高速動作可能なチップ設計を容易かつ短時間で行うことができる。
【００６２】
実施の形態５．
図１１に従ってこの発明の実施の形態５について説明する。図１１はこの発明の実施の形態５にかかる自動フロアプラン決定方法の手順を示すフローチャートである。
【００６３】
まず、フロアプランを行うための例えばパーソナルコンピュータに回路接続情報、ライブラリデータを読み込み（ステップＳ１００）、回路接続情報からレジスタ、論理演算セルを抽出する。つぎに、論理演算セル毎に信号出力レジスタと信号入力レジスタを抽出する（ステップＳ２００）。本実施の形態６においても図２に示す実施の形態１の半導体集積回路装置と同じレジスタや論理演算セルが抽出されたものとする。
【００６４】
本実施の形態５においては、例えば、実施の形態１で説明したように他の論理演算セルに対して、信号出力レジスタと信号入力レジスタの両方が共通する論理演算セルを１つのクラスタセルとして生成抽出する（ステップＳ３００）。
【００６５】
つぎに、生成抽出されたクラスタセルとレジスタの配置を行う（ステップＳ４００）。このとき、クラスタセルを構成する論理演算セルの合計サイズに上限値を設けておき（ステップＳ４１０）、この上限値を超えるようなクラスタセル内の論理演算セルを分割する（ステップＳ４２０）。ここでの分割は、クラスタセル内の論理演算セルがどのレジスタの近くに配置されるべきかによって分割の仕方を決定する。
【００６６】
例えば、図８に示す論理演算セルＷ１〜Ｗ３，Ｘ１〜Ｘ３からなるクラスタセルの合計サイズが所定の上限値より大きく、このクラスタセルを分割する場合について説明する。例えば、レジスタＦ１の近くに配置されるべき論理演算セルとして論理演算セルＷ３，Ｘ１，Ｘ２を選択し、レジスタＦ４の近くに配置されるべき論理演算セルとして論理演算セルＷ１，Ｗ２，Ｘ３を選択すれば論理演算セルＷ３，Ｘ１，Ｘ２からなるクラスタセルと論理演算セルＷ１，Ｗ２，Ｘ３からなるクラスタセルの２つのクラスタセルに分割することができる。そして、生成抽出されたクラスタセルとレジスタの配置を改めて行う（ステップＳ４００）。
【００６７】
なお、本実施の形態５におけるクラスタセルの抽出方法は実施の形態１で説明したクラスタセルの生成抽出方法に限定されるものではなく、実施の形態２〜４で説明したクラスタセルの生成抽出方法によって生成抽出してもよい。この後、図１の実施の形態１にかかる自動フロアプラン決定方法と同じ手順を行い、フロアプランを終了する（ステップＳ５００〜Ｓ８００）。
【００６８】
なお、ステップＳ４００において所定サイズ以上のクラスタセルを生成させないように制限を設けてもよい。これによってクラスタセルの分割や分割後のクラスタセルの再配置の処理は行わなくてもよいこととなる。
【００６９】
このように実施の形態５によれば、生成抽出されるクラスタセルを構成する論理演算セルの合計サイズに上限を設けるとともに所定サイズ以上のクラスタセルをレジスタとの位置関係に基づいて分解しているため、生成抽出されるクラスタセルのサイズが均等化され、クラスタセルとレジスタの配置処理を容易に行える。したがって、フロアプランを得るための時間を短縮することができ、半導体集積回路装置の設計時間を短縮することができる。さらに、セル配置の対象となるセル数が少なくなるためフロアプランの配置配線処理において高速動作可能でかつ良質なチップ設計を容易かつ短時間で行うことができる。
【００７０】
【発明の効果】
以上説明したとおり、この発明によれば、信号出力レジスタと信号入力レジスタの両方が共通する論理演算セル同士は１つのクラスタセルを構成するため近接配置される。したがって、フロアプランの配置配線処理において高速動作可能なチップ設計を容易かつ短時間で行うことができ、半導体集積回路装置の設計時間の短縮を図ることができるという効果を奏する。
【図面の簡単な説明】
【図１】この発明の実施の形態１にかかる自動フロアプラン決定方法の手順を示すフローチャートである。
【図２】この発明の実施の形態１にかかるレイアウト構成の一例を示す図である。
【図３】クラスタセルを生成抽出した後にクラスタセルとレジスタの配置を行った回路基板のレイアウト構成を示した図である。
【図４】図３で示したクラスタセルとレジスタの配置結果から決定された配置配線領域を示す図である。
【図５】この発明の実施の形態２にかかる自動フロアプラン決定方法の手順を示すフローチャートである。
【図６】この発明の実施の形態３にかかる自動フロアプラン決定方法の手順を示すフローチャートである。
【図７】この発明の実施の形態３にかかるクラスタセルを生成抽出した後の回路基板のレイアウト構成を示した図である。
【図８】この発明の実施の形態３にかかるクラスタセルを生成抽出した後の回路基板のレイアウト構成を示した図である。
【図９】この発明の実施の形態４にかかる自動フロアプラン決定方法の手順を示すフローチャートである。
【図１０】この発明の実施の形態４にかかるクラスタセルを生成抽出した後の回路基板のレイアウト構成を示した図である。
【図１１】この発明の実施の形態５にかかる自動フロアプラン決定方法の手順を示すフローチャートである。
【符号の説明】
１０  回路基板、２０  論理階層ブロック、３０  クラスタセル、４０  配置配線領域、Ｆ１〜Ｆ６  レジスタ、Ｐ１〜Ｐ６  入出力セル、Ｗ１〜Ｗ３，Ｘ１〜Ｘ３，Ｙ１〜Ｙ３，Ｚ１〜Ｚ３  論理演算セル。
【図１】
2004334565.tif 000003
【図２】
2004334565.tif 000004
【図３】
2004334565.tif 000005
【図４】
2004334565.tif 000006
【図５】
2004334565.tif 000007
【図６】
2004334565.tif 000008
【図７】
2004334565.tif 000009
【図８】
2004334565.tif 000010
【図９】
2004334565.tif 000011
【図１０】
2004334565.tif 000012
【図１１】
2004334565.tif 000013