(57)【要約】【課題】クランプする端子が多数あるハードマクロのクランプ処理を、適切に実行する。【解決手段】マクロに設けられた機能ブロックが使用する使用端子と機能ブロックが使用しない未使用端子と、未使用端子に一定レベルの電圧を供給する電圧供給端とを具備する半導体集積回路の以下のように構成する。未使用端子は、電圧供給端からの距離が最短の第１未使用端子と、第１未使用端子からの距離が最短の第２未使用端子とを含むものとする。電圧供給端は、第２未使用端子に接続されることなく、第１未使用端子に接続され、第１未使用端子を介して直列的に第２未使用端子に接続される。【選択図】図７
2011151129.tif 000002
【特許請求の範囲】
【請求項１】
マクロに設けられた機能ブロックが使用する使用端子と
前記機能ブロックが使用しない未使用端子と、
前記未使用端子に一定レベルの電圧を供給する電圧供給端と
を具備し、
前記未使用端子は、
前記電圧供給端からの距離が最短の第１未使用端子と、
前記第１未使用端子からの距離が最短の第２未使用端子と
を備え、
前記電圧供給端は、
前記第２未使用端子に接続されることなく、前記第１未使用端子に接続され、前記第１未使用端子を介して直列的に前記第２未使用端子に接続され、
前記第２未使用端子を新たな電圧供給端として、
前記新たな電圧供給端からの距離が最短の新たな第１未使用端子に接続され、前記新たな第１未使用端子を介して直列的に、前記新たな第１未使用端子からの距離が最短の新たな第２未使用端子に接続される
半導体集積回路。
【請求項２】
請求項１に記載の半導体集積回路において、
前記第１未使用端子は、
前記マクロの内部を経由して、前記第２未使用端子に接続される
半導体集積回路。
【請求項３】
請求項２に記載の半導体集積回路において、さらに、
前記未使用端子から前記第１未使用端子を除外したときに、前記第２未使用端子から距離が最短の第３未使用端子を具備し、
前記第２未使用端子は、
前記マクロの外部を経由して、前記第３未使用端子に接続される
半導体集積回路。
【請求項４】
請求項３に記載の半導体集積回路において、
前記電源供給端は、
電源電圧を供給する電源電圧供給端と、
接地電圧を供給する接地電圧供給端と
を含み、
前記未使用端子は、
前記電源電圧供給端に接続されるハイクランプ端子と、
前記接地電圧供給端に接続されるロウクランプ端子と
を含み、
前記ハイクランプ端子は、
前記電源電圧供給端からの距離が最短の第１未使用ハイクランプ端子と、
前記第１未使用端子からの距離が最短の第２未使用ハイクランプ端子と
を備え、
前記電源電圧供給端は、
前記第１未使用ハイクランプ端子に接続され、前記第２未使用ハイクランプ端子に接続されることなく前記第１未使用ハイクランプ端子を介して直列的に前記第２未使用ハイクランプ端子に接続され
前記ロウクランプ端子は、
前記接地電圧供給端からの距離が最短の第１未使用ロウクランプ端子と、
前記第１未使用端子からの距離が最短の第２未使用ロウクランプ端子と
を備え、
前記接地電圧供給端は、
前記第１未使用ロウクランプ端子に接続され、前記第２未使用ロウクランプ端子に接続されることなく前記第１未使用ロウクランプ端子を介して直列的に前記第２未使用ロウクランプ端子に接続される
半導体集積回路。
【請求項５】
請求項４に記載の半導体集積回路において、
前記ハイクランプから前記第１未使用ハイクランプ端子を除外したときに、前記第２未使用ハイクランプ端子から距離が最短の第３未使用ハイクランプ端子を具備し、
前記第１未使用ハイクランプ端子は、
前記マクロの内部を経由して、前記第２未使用ハイクランプ端子に接続され、
前記第２未使用ハイクランプ端子は、
前記マクロの外部を経由して、前記第３未使用ハイクランプ端子に接続される
半導体集積回路。
【請求項６】
請求項５に記載の半導体集積回路において、
前記ロウクランプから前記第１未使用ロウクランプ端子を除外したときに、前記第２未使用ロウクランプ端子から距離が最短の第３未使用ロウクランプ端子を具備し、
前記第１未使用ロウクランプ端子は、
前記マクロの内部を経由して、前記第２未使用ロウクランプ端子に接続され、
前記第２未使用ロウクランプ端子は、
前記マクロの外部を経由して、前記第３未使用ロウクランプ端子に接続される
半導体集積回路。
【請求項７】
ハードマクロに設けられた機能ブロックが使用しない未使用端子に一定レベルの電圧を供給させるために、クランプ用のバッファと前記バッファの出力端子を有するハードマクロのクランプ処理を実行する半導体集積回路設計方法において、
（ａ）前記ハードマクロの自動配置配線データベースから、ハイクランプ出力端子座標とロウクランプ出力端子座標と入力端子座標を抽出する工程と、
（ｂ）前記ハイクランプ出力端子座標と前記ロウクランプ出力端子座標と前記入力端子座標を用いて前記ハードマクロのハイクランプ出力端子又はロウクランプ出力端子から距離の短い順に入力端子を抽出する各工程と、
（ｃ）回路接続情報から回路情報のハイクランプ出力端子およびロウクランプ出力端子に接続されている入力端子を抽出する工程と、
（ｄ）前記ハイクランプ出力端子座標に近い順に存在する入力端子の情報と回路情報のハイクランプ出力端子に接続されている入力端子を用いてハイクランプする入力端子の順序を決定して接続情報を変更する工程と、
（ｅ）前記ロウクランプ出力端子座標に近い順に存在する入力端子の情報と回路情報のロウクランプ出力端子に接続されている入力端子の情報を用いてロウクランプする入力端子の順序を決定して接続情報を変更する工程と、
を有することを特徴とする
半導体集積回路設計方法。
【請求項８】
ハードマクロに設けられた機能ブロックが使用しない未使用端子に一定レベルの電圧を供給させるために、クランプ用のバッファと前記バッファの出力端子を有するハードマクロのクランプ処理を実行する半導体集積回路設計方法において、
（ａ）前記ハードマクロの入力端子座標と前記ハードマクロのハイクランプ及びロウクランプする入力端子名を用いてハードマクロのクランプする入力端子の座標を抽出する工程と、
（ｂ）前記ハードマクロのクランプする入力端子の座標と前記ハードマクロのクランプ出力端子の座標から前記ハードマクロのクランプ出力端子とハードマクロの入力端子間の距離が最も短い前記ハードマクロのクランプ出力端子を抽出する工程と、
（ｃ）前記ハードマクロのクランプ出力端子と前記ハードマクロの入力端子間の距離が最も短いハードマクロのクランプ出力端子と回路接続情報と前記ハイクランプ出力端子から距離の短い順に入力端子名を定義したファイルと前記ロウクランプ出力端子から距離の短い順に入力端子名を定義したファイルと入力端子から素子を通して同電位レベルを出力する出力端子を使用して前記ハードマクロのクランプ接続情報を変更した中間回路接続情報を生成する工程と、
（ｄ）前記中間回路接続情報と前記ハイクランプ出力端子に接続されている入力端子と前記ロウクランプ出力端子に接続されている入力端子と入力端子から素子を通して同電位レベルを出力する出力端子と入力端子から素子を通して反転電位レベルを出力する出力端子を使用してハードマクロのクランプする入力端子の電位レベルを入力した回路接続情報と同じ電位レベルになるように接続を変更した最終出力回路接続情報を生成する工程と、
を有することを特徴とする
半導体集積回路設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計を支援する半導体集積回路設計支援装置、および半導体集積回路の設計方法に関する。
【背景技術】
【０００２】
半導体集積回路の設計において、既存開発製品の回路情報を他の製品の設計でも利用することができる場合には、その回路情報を流用した設計を行う回路設計方法が知られている。特に、半導体集積回路を構成するための部分的な回路情報を、機能ブロック単位で再利用可能な形にまとめたもの（以下、マクロまたはマクロブロックと記載する）を用いた技術が知られている。
【０００３】
マクロを用いた回路設計において、開発の対象となる半導体集積回路の集積度が大規模化し、それに伴い、搭載されるマクロの規模も大きくなってきている。規模の大きなマクロは、多種多様な用途で使用されるようになっている。このような場合に、割り当てられたマクロブロックには、必要とされる論理が使用しない機能が含まれていることがある。
そのため、その機能のための入出力端子が未使用となる。
【０００４】
これらの未使用端子は、出力論理に影響を与えないよう論理“０”又は論理“１”に固定する必要がある。入出力端子の論理値を論理“０”又は論理“１”に固定するために、入出力端子を接地線または電源線に接続する技術が知られている。また、あるいは、入出力端子の入力側に論理“０”または論理“１”を出力するクランプブロックを割り当てる技術（以下、クランプ処理、またはクランプ技術などと呼ぶ）が知られている（例えば、特許文献１、２参照）。
【０００５】
特許文献１には、自動配置配線データベースを用いたレイアウトにおいて、全入出力端子をハイレベル、ロウレベルの両方にクランプし、ＧＤＳ２データベースに変換する際に不要なクランプデータを削除する技術が開示されている。
【０００６】
また、特許文献２には、クランプブロックを割り当てる事を最適化すると共に、ファンアウト制約違反の解消の最適化する技術が開示されている。図１は、特許文献１に記載の技術の全体の処理を示す流れ図である。図２は、図１の流れ図に示されているテクノロジマッピング処理２０７の詳細な動作を示す流れ図である。図２を参照すると、テクノロジマッピング処理２０７において、従来のクランプ最適化処理が行われている。
【０００７】
テクノロジマッピング処理２０７のブロック割り当て処理３００（『ブロック割り当て手段』ともいう）は、記憶部に保持されている論理回路に対して記憶部に保持されている制約条件を満たすことを目的に記憶部に保持されているテクノロジライブラリを割り当てる。クランプ要不要判断処理３０１（『クランプ判定手段』ともいう）は、ブロック割り当て処理３００によって割り当てられたテクノロジライブラリブロックについてクランプが必要か否かを判断する。
【０００８】
クランプ要不要判断処理３０１によりクランプが不必要と判断された場合、ファンアウト制約違反検索処理３０５（『ファンアウト制約違反検索手段』ともいう）に処理を移す。クランプ要不要判断処理３０１によりクランプが必要と判断された場合、クランプ検索処理３０２（『クランプ検索手段』ともいう）が、回路中において既に割り当てられているクランプブロックを検索する。
【０００９】
クランプ検索処理３０２により回路中のクランプブロックを検索した結果、回路中に既にクランプブロックが存在した場合は、クランプ接続処理３０３により既存のクランプブロックを、割り当てられたテクノロジライブラリブロックの未使用となる入力ピンと接続する。回路中に既存のクランプブロックが存在しない場合には、クランプ割り当て処理３０４（『クランプ割り当て手段』ともいう）により新たなクランプブロックを未使用となる入力ピンに割り当てる。
【００１０】
さらに、ファンアウト制約違反検索処理３０５に処理が移り、回路中にテクノロジライブラリブロックのドライブ能力を越えた負荷が接続されているファンアウト制約違反箇所が検出されなかった場合は、テクノロジマッピング処理２０７を終了する。ファンアウト制約違反箇所が検出された場合は、クランプ判断処理３０６（『クランプ識別手段』ともいう）以降の処理を行なう。
【００１１】
クランプ判断処理３０６によりファンアウト制約違反箇所がクランプブロックでないと判断された場合には、バッファリング処理３０７（『バッファリング手段』ともいう）によりバッファの挿入又はドライブ能力の高いテクノロジライブラリブロックへの置き換え等を行ない、ファンアウト制約違反を解消しテクノロジマッピング処理２０７を終了する。
【００１２】
クランプ判断処理３０６によりファンアウト制約違反箇所がクランプブロックであると判断された場合、クランプ多重化処理３０８（『クランプ多重化手段』ともいう）により、クランプブロックのドライブ能力とクランプブロックに接続されている負荷からファンアウト制約違反解消に必要なクランプブロックの最小個数を算出し、既に回路中に存在しているクランプブロックを含めて、ファンアウト制約違反を解消可能な最小個数のクランプブロックを回路に割り当てる。クランプ多重化処理３０８は、元のクランプブロックの一部のファンアウト先の接続を、新たに割り当てられたクランプブロックに分配することにより、ファンアウト制約違反を解消し、テクノロジマッピング処理２０７を終了する。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開平１１−２２００３１号公報
【特許文献２】特開平７−２１２３３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
特許文献１に記載の技術は、自動配置配線データベースにて全入出力端子をハイレベル、ロウレベルの両方にクランプしている。そのため、自動配置配線データベースでのＥＭ（Electro  Migration）検証、クロストーク検証を行うことが困難である。また、全入出力端子をクランプしている。そのため、形式検証を行うことが困難である。さらに、ＧＤＳ２データベースでは、不要なクランプデータは削除されているが、ＧＤＳ２データベースでは、ネット名、インスタンス名が存在しない。そのため、ＥＭ（Electro Migration）検証、クロストーク検証を行うことが困難である。更に、形式検証を行うことが困難である。
【００１５】
また、特許文献２に記載の技術では、図２に示されているクランプ割り当て処理３０４にて、クランプブロックを用いる。更に、クランプブロックのファンアウト対策としてのクランプ多重化処理３０８では、クランプブロックを追加している。
【００１６】
図３は、特許文献２で生成された回路接続情報をレイアウトしたレイアウト図である。クランプセル９２２のハイレベル出力端子９２３は、ハードマクロセル９０６の入力端子９１３、入力端子９１５、入力端子９１８をハイレベルにクランプしている。クランプブロックであるクランプセル９２２のロウレベル出力端子９２４は、ハードマクロセル９０６の入力端子９１０、入力端子９１１、入力端子９１２をロウレベルにクランプしている。更に、クランプブロックであるクランプセル９２５のロウレベル出力端子９２７は、ハードマクロセル９０６の入力端子９１４、入力端子９１６、入力端子９１９をロウレベルにクランプしている。
【００１７】
特許文献２に記載の技術では、ハードマクロの入力端子をクランプ処理する際に、複数のクランプセルの面積および複数のクランプセルからハードマクロの各入力端子への接続に必要な配線面積が必要であり、ハードマクロのクランプすべき入力端子が多くなるにつれ面積が必要になる。
【００１８】
半導体集積回路の開発に使用されるマクロは、異なる複数のベンダーで使用されることがある。またそのとき、そのマクロが適用される製品の仕様は、その複数のベンダー毎に異なる事が多い。従って、異なる仕様に対応させるために、ベンダーＩＤの設定、デバイスＩＤの設定、リビジョンＩＤの設定、サブシステムＩＤの設定などに使用される入力端子が設けられ、製品に合わせてクランプ処理が行われる。半導体集積回路の開発に使用されるマクロを、異なる複数のベンダーで使用することができるようにするために、マクロの入力端子が膨大な数になる場合がある。
【００１９】
クランプする端子が多数あるハードマクロのクランプ処理を、適切に実行する為の技術が求められている。
【課題を解決するための手段】
【００２０】
上記の課題を解決するために、マクロに設けられた機能ブロックが使用する使用端子と前記機能ブロックが使用しない未使用端子と、前記未使用端子に一定レベルの電圧を供給する電圧供給端とを具備する半導体集積回路の以下のように構成する。ここにおいて、前記未使用端子は、前記電圧供給端からの距離が最短の第１未使用端子と、前記第１未使用端子からの距離が最短の第２未使用端子とを含むものとする。そして、前記電圧供給端は、前記第２未使用端子に接続されることなく、前記第１未使用端子に接続され、前記第１未使用端子を介して直列的に前記第２未使用端子に接続されることが好ましい。
【発明の効果】
【００２１】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、クランプする端子が多数あるハードマクロのクランプ処理を、適切に実行することが可能となる。
【図面の簡単な説明】
【００２２】
【図１】図１は、特許文献１に記載の技術の全体の処理を示す流れ図である。
【図２】図２は、従来のテクノロジマッピング処理の詳細な動作を示す流れ図である。
【図３】図３は、従来の回路接続情報をレイアウトしたレイアウト図である。
【図４】図４は、第１実施形態の設計システム１の構成を例示するブロック図である。
【図５Ａ】図５Ａは、本実施形態の設計システム１の動作を例示するフローチャートである。
【図５Ｂ】図５Ｂは、本実施形態の設計システム１の動作を例示するフローチャートである。
【図６】図６は、回路接続情報のハードマクロセル１０００をイメージした図である。
【図７】図７は、本実施形態の最終回路接続情報ファイル１２０に保持される回路接続情報のハードマクロセル４００の構成を例示した図である。
【図８】図８は、第１実施形態により生成された最終回路接続情報ファイル１２０に対して、レイアウト処理を行ったレイアウト図である。
【図９Ａ】図９Ａは、第２実施形態の動作を例示するフローチャートである。
【図９Ｂ】図９Ｂは、第２実施形態の動作を例示するフローチャートである。
【図１０】図１０は、第２実施形態に用いる入力回路接続情報ファイル１１４の回路接続情報に示されるハードマクロセルの構成を例示する回路図である。
【図１１】図１１は、第２実施形態の動作を実行することにより生成される最終回路接続情報ファイル６０８の回路接続情報に示されるハードマクロセルの構成を例示する回路図である。
【図１２】図１２は、図１１の最終回路接続情報ファイル６０８の情報に基づいてレイアウトされたレイアウト図である。
【発明を実施するための形態】
【００２３】
［第１実施形態］
以下、本発明の実施の形態を図面に基づいて説明する。なお、実施の形態を説明するための図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００２４】
図４は、第１実施形態の設計システム１の構成を例示するブロック図である。設計システム１は、開発対象の半導体回路装置の設計を支援する半導体集積回路設計支援システムとして機能する。本実施形態のレイアウト手法は、コンピュータによる設計システムにて実現され得る。設計システム１は、設計プログラムを含む設計ツール２と、設計ツール２に入力される入力データと、設計ツールから出力される出力データ４と、セルライブラリ５と、対応リスト６とを含んでいる。設計ツール２は、セルライブラリ５と対応リスト６とを参照し、入力データ３から出力データ４を生成する。
【００２５】
図５Ａ、図５Ｂは、本実施形態の設計システム１の動作を例示するフローチャートである。本実施形態において、ハードマクロの自動配置配線データベース１０８には、ハードマクロの入力端子座標、出力端子座標が格納されている。また、入力回路接続情報ファイル１１４には、回路接続情報が格納されている。
【００２６】
図６は、入力回路接続情報ファイル１１４の回路接続情報のハードマクロセル１０００をイメージした図である。ハードマクロセル１０００は、ハイクランプ出力端子１００１と、ロウクランプ出力端子１００２とを備えている。またハードマクロセル１０００は、入力端子１００３、入力端子１００５、入力端子１００７、入力端子１００９、入力端子１０１１、入力端子１０１３、入力端子１０１５、入力端子１０１７、入力端子１０１９、入力端子１０２１を備えている。またハードマクロセル１０００は、出力端子１００４、出力端子１００６、出力端子１００８、出力端子１０１０、出力端子１０１２、出力端子１０１４、出力端子１０１６、出力端子１０１８、出力端子１０２０、出力端子１０２２を備えている。さらに、ハードマクロセル１０００は、バッファ１０２３〜バッファ１０３４を備えている。
【００２７】
図７は、本実施形態の最終回路接続情報ファイル１２０に保持される回路接続情報のハードマクロセル４００の構成を例示した図である。ハードマクロセル４００は、ハイクランプ出力端子４０１と、ロウクランプ出力端子４０２とを備えている。またハードマクロセル４００は、入力端子４０３、入力端子４０５、入力端子４０７、入力端子４０９、入力端子４１１、入力端子４１３、入力端子４１５、入力端子４１７、入力端子４１９、および入力端子４２１を備えている。またハードマクロセル４００は、出力端子４０４、出力端子４０６、出力端子４０８、出力端子４１０、出力端子４１２、出力端子４１４、出力端子４１６、出力端子４１８、出力端子４２０、出力端子４２２を備えている。さらにハードマクロセル４００は、バッファ４２３〜バッファ４３４を備えている。
【００２８】
図８は、第１実施形態により生成された最終回路接続情報ファイル１２０に対して、レイアウト処理を行ったレイアウト図である。その半導体集積回路は、電源電圧レベルの第２層電源配線５００と、グランド電圧レベルの第２層電源配線５０１と、電源電圧レベルの第１層電源配線５０２と、グランド電圧レベルの第１層電源配線５０３と、第１層のＸ方向配線トラック５０４と、第２層のＹ方向配線トラック５０５と、ハードマクロセル５０６と、第１層信号配線５０７と、第１層信号配線と第２層信号配線を接続するスルーホール５０８と、第２層信号配線５０９と、第１層電源配線と第２層電源配線を接続するスルーホール５２９と備えている。また、ハードマクロセル５０６は、ハードマクロセル５０６のハイクランプ出力端子５１０と、ハードマクロセル５０６のロウクランプ出力端子５１１とを備えている。ハードマクロセル５０６は、入力端子５１２、入力端子５１４、入力端子５１６、入力端子５１８、入力端子５２０、入力端子５２２、入力端子５２４、入力端子５２６、入力端子５２７、入力端子５２８を備えている。またハードマクロセル５０６は、出力端子５１３、出力端子５１５、出力端子５１７、出力端子５１９、出力端子５２１、出力端子５２３、出力端子５２５を備えている。
【００２９】
図５Ａに戻り、ステップＳ１００のクランプ出力端子座標抽出工程において、ハードマクロの自動配置配線データベース１０８から、レイアウトのデータを読み出す。そのレイアウトのデータに基づいて、ハードマクロのハイクランプ出力端子の座標を抽出する。その座標を示すデータを、マクロハイクランプ出力端子座標格納ファイル１０９に供給する。また、ハードマクロのロウクランプ出力端子の座標を抽出する。その座標を示すデータを、マクロロウクランプ出力端子座標格納ファイル１１０に供給出力する。
【００３０】
ステップＳ１０１の入力端子座標抽出工程において、ハードマクロの自動配置配線データベース１０８から、マクロのレイアウトのデータを読み出す。読み出したレイアウトのデータからハードマクロの入力端子座標を抽出する。そして、抽出したハードマクロの入力端子座標を示すデータを、マクロ入力端子座標格納ファイル１１１に供給する。
【００３１】
ステップＳ１０２の入力端子の接続順序決定工程において、ハイクランプ出力端子座標格納ファイル１０９と、ロウクランプ出力端子座標格納ファイル１１０と、入力端子座標格納ファイル１１１から、ハイクランプ出力端子の座標と、ロウクランプ出力端子の座標と、ハードマクロの入力端子の座標を読み出す。
【００３２】
例えば、図８のハードマクロセル５０６に示すように、ハイクランプ出力端子５１０と入力端子５１２、入力端子５１４、入力端子５１６、入力端子５１８、入力端子５２０、入力端子５２２、入力端子５２４、入力端子５２６、入力端子５２７、および入力端子５２８が、同一Ｘ座標上に並んでいる。その場合、ハイクランプ出力端子のＹ座標との距離が短い順に、入力端子５１２、入力端子５１４、入力端子５１６、入力端子５１８、入力端子５２０、入力端子５２２、入力端子５２４、入力端子５２６、入力端子５２７、入力端子５２８の順で入力端子を抽出する。
【００３３】
抽出した入力端子の名前（入力端子名）と特定し、ハイクランプ出力端子から距離の短い順に入力端子名を定義する。そして、順番と入力端子名とを対応付けた順番付きハイクランプ端子名情報としてファイル１１２に出力する。
【００３４】
ロウクランプ出力端子に関しても同様である。図８に示すように、ロウクランプ出力端子５１１と入力端子５１２、入力端子５１４、入力端子５１６、入力端子５１８、入力端子５２０、入力端子５２２、入力端子５２４、入力端子５２６、入力端子５２７、および入力端子５２８が同一Ｘ座標上に並んでいる。その場合、ロウクランプ出力端子のＹ座標との距離が短い順に入力端子５１２、入力端子５１４、入力端子５１６、入力端子５１８、入力端子５２０、入力端子５２２、入力端子５２４、入力端子５２６、入力端子５２７、入力端子５２８の順で入力端子名を抽出する。
【００３５】
抽出した入力端子の名前（入力端子名）と特定し、ロウクランプ出力端子から距離の短い順に入力端子名を定義する。順番と入力端子名とを対応付けて順番付きロウクランプ端子名情報としてファイル１１３に出力する。
【００３６】
ステップＳ１０３の入力端子の抽出工程において、入力回路接続情報ファイル１１４から、回路接続情報を読み出す。その回路接続情報に示されているハードマクロ１０００に含まれる端子のうち、ハイクランプ出力端子に接続されている入力端子の名前（入力端子名）を抽出する。その抽出した入力端子名を、ハイクランプ端子名格納ファイル１１５に供給する。またこのとき、ロウクランプ出力端子に接続されている入力端子の名前（入力端子名）を抽出する。抽出した入力端子名を、ロウクランプ端子名格納ファイル１１６に供給する。
【００３７】
図６に示されているように、入力端子１００９、入力端子１０１３、入力端子１０１９がハイクランプ出力端子に接続される。入力端子１００３、入力端子１００５、入力端子１００７、入力端子１０１１、入力端子１０１５、入力端子１０２１がロウクランプ出力端子に接続される。
【００３８】
図５Ｂを参照すると、ステップＳ１０４のクランプ順序変更工程において、ファイル１１２から順番付きハイクランプ端子名情報を読み出す。その順番付きハイクランプ端子名情報は、上述のように、マクロのハイクランプ出力端子から距離の短い順に、入力端子名を定義している。
【００３９】
そのステップＳ１０４のクランプ順序変更工程において、回路接続情報に示されているマクロのハイクランプ出力端子に接続されている入力端子名を、ハイクランプ端子名格納ファイル１１５から読み出す。そして、ハイクランプ端子名格納ファイル１１５から読み出した入力端子名を、順番付きハイクランプ端子名情報に基づいて、ハイクランプ出力端子から距離の短い順に並べ替えて、並べ替えハイクランプ入力端子名情報を生成し、ハイクランプ順序ファイル１１７に供給する。
【００４０】
ステップＳ１０５の接続変更工程において、ハイクランプ順序ファイル１１７に示される並べ替えハイクランプ入力端子名情報と、入力回路接続情報ファイル１１４に示される回路接続情報とに基づいて、ハイクランプ順序ファイル１１７に定義してある１番目の入力端子とハイクランプ出力端子とを接続する。そして、１番目の入力端子からバッファを通した出力端子を特定する。その特定した出力端子とハイクランプ順序ファイル１１７に定義してある２番目の入力端子とを接続する。同様に、カスケードで順次接続し、ハイクランプ順序ファイル１１７に定義してある全ての端子を接続して中間回路接続情報を生成し中間回路接続情報ファイル１１８に供給する。
【００４１】
ステップＳ１０６のクランプ順序変更工程において、ファイル１１３から順番付きロウクランプ端子名情報を読み出す。その順番付きロウクランプ端子名情報は、上述のように、ロウクランプ出力端子から距離の短い順に、入力端子名を定義している。
【００４２】
そのステップＳ１０６のクランプ順序変更工程において、回路接続情報に示されているマクロのロウクランプ出力端子に接続されている入力端子名を、ロウクランプ端子名格納ファイル１１６から読み出す。そして、ロウクランプ端子名格納ファイル１１６から読み出した入力端子名を、順番付きロウクランプ端子名情報に基づいて、ロウクランプ出力端子から距離の短い順に並べ替えて、並べ替えロウクランプ入力端子名情報を生成し、ロウクランプ順序ファイル１１９に供給する。
【００４３】
ステップＳ１０７の接続変更工程において、ロウクランプ順序ファイル１１９に示される並べ替えロウクランプ入力端子名情報と、中間回路接続情報ファイル１１８に示される中間回路接続情報に基づいて、ロウクランプ順序ファイル１１９に定義してある１番目の入力端子とロウクランプ出力端子とを接続する。そして、１番目の入力端子からバッファを通した出力端子を特定する。その特定した出力端子とロウクランプ順序ファイル１１９に定義してある２番目の入力端子とを接続する。同様に、カスケードで順次接続し、ロウクランプ順序ファイル１１９に定義してある全ての端子を接続した最終回路接続情報を生成し、最終回路接続情報ファイル１２０に供給する。
【００４４】
図７を参照すると、前述の処理により、最終回路接続情報ファイル１２０の回路接続情報に示される回路において、ハイクランプ出力端子４０１は、入力端子４０９をハイレベルにクランプしている。出力端子４１０は、入力端子４１３をハイレベルにクランプしている。出力端子４１４は、入力端子４１９をハイレベルにクランプしている。また、ロウクランプ出力端子４０２は、入力端子４０３をロウレベルへクランプしている。出力端子４０４は、入力端子４０５をロウレベルにクランプしている。出力端子４０６は、入力端子４０７をロウレベルにクランプしている。出力端子４０８は、入力端子４１１をロウレベルにクランプしている。出力端子４１２は、入力端子４１５をロウレベルにクランプしている。出力端子４１６は、入力端子４２１をロウレベルにクランプしている。
【００４５】
本実施形態の設計システム１は、クランプ用のバッファと、そのバッファの出力端子を有するハードマクロのクランプ処理工程において、そのハードマクロの自動配置配線データベースからハイクランプ出力端子座標とロウクランプ出力端子座標と入力端子座標とを抽出する。
【００４６】
そして、ハイクランプ出力端子座標とロウクランプ出力端子座標と入力端子座標を用いて、そのハードマクロのハイクランプ出力端子およびロウクランプ出力端子から、距離の短い順に入力端子を抽出する。
【００４７】
そして、回路接続情報から回路情報のハイクランプ出力端子およびロウクランプ出力端子に接続されている入力端子を抽出する。そして、ハイクランプ出力端子座標に近い順に存在する入力端子の情報と、回路情報のハイクランプ出力端子に接続されている入力端子の情報を用いて、ハイクランプする入力端子の順序を決定して接続情報を変更する。
【００４８】
そして、ロウクランプ出力端子座標に近い順に存在する入力端子の情報と、回路情報のロウクランプ出力端子に接続されている入力端子の情報を用いて、ロウクランプする入力端子の順序を決定して接続情報を変更する。
【００４９】
上記の工程を実行することにより、ハイクランプ出力端子からハイクランプ出力端子座標に近い順に、ハイクランプする入力端子を前段の入力端子からバッファを通してカスケードに接続した接続情報に変更する。
【００５０】
更に、ロウクランプ出力端子からロウクランプ出力端子座標に近い順に、ロウクランプする入力端子を前段の入力端子からバッファを通してカスケードに接続した接続情報に変更する。これによって入力端子が多くなっても面積が大きくならない効果がある。
【００５１】
以下に、本実施形態の効果について、詳細な説明を行う。上述したように、図８は、本実施形態の最終回路接続情報ファイル１２０に格納される最終回路接続情報を、でレイアウトしたレイアウト図である。そのレイアウト図を参照すると、その回路には、Ｘ方向配線トラック５０４上の第１層信号配線と、Ｙ方向配線トラック５０５上の第２層信号配線とが備えられている。そのハイクランプ出力端子５１０は、その第１層信号配線とその第２層信号配線とを接続するスルーホール５０８を介して、ハイにクランプする入力端子５１８に接続されている。入力端子５１８は、図７の回路接続情報の入力端子４０９に対応している。出力端子５１９は、図７の回路接続情報の出力端子４１０に対応している。
【００５２】
さらに、入力端子５１８は、バッファを通して出力端子５１９に接続されている。その出力端子５１９は、ハイにクランプする入力端子５２２に接続されている。入力端子５２２は、バッファを通して出力端子５２３に接続されている。その接続は、カスケードで順次接続されるため、ファンアウトエラーが起きない。更に、図７の回路接続情報のハードマクロセルのレイアウト図で示すように、ハイクランプ出力端子５１０に近い順に、接続する回路接続情報を有しているので、カスケードで順次接続が可能である。そのため、１配線トラックで接続できる。
【００５３】
同様に、ロウクランプ出力端子５１１は、ロウにクランプする入力端子５１２に接続されている。入力端子５１２は、図７の回路接続情報の入力端子４０３に対応している。出力端子５１３は、図７の回路接続情報の出力端子４０４に対応している。入力端子５１２は、バッファを通して出力端子５１３に接続されている。
【００５４】
図７を参照すると、その回路には、Ｘ方向配線トラック５０４上の第１層信号配線と、Ｙ方向配線トラック５０５上の第２層信号配線とが備えられている。そして、出力端子５１３は、その第１層信号配線とその第２層信号配線とを接続するスルーホール５０８を介して、ロウにクランプする入力端子５１４に接続されている。入力端子５１４は、バッファを通して出力端子５１５に接続されている。
【００５５】
出力端子５１５は、ロウにクランプする入力端子５１６に接続されている。入力端子５１６は、バッファを通して出力端子５１７に接続されている。出力端子５１７は、ロウにクランプする入力端子５２０に接続されている。入力端子５２０は、バッファを通して出力端子５２１に接続されている。
【００５６】
出力端子５２１は、ロウにクランプする入力端子５２４に接続されている。入力端子５２４は、バッファを通して出力端子５２５に接続されている。そして、出力端子５２５は、ロウにクランプする入力端子５２８に接続されている。
【００５７】
その接続は、カスケードで順次接続される。そのため、ファンアウトエラーが起きない。更に、図７の回路接続情報のハードマクロセルのレイアウト図で示すように、ロウクランプ出力端子５１１に近い順に接続する回路接続情報を有しているので、カスケードで順次接続が可能である。そのため、ロウにクランプする配線トラックと、前述のハイにクランプする配線トラックとの２配線トラックで接続できる。
【００５８】
また本実施形態のハードマクロセルは、従来技術のハードマクロセルに対して、ハイクランプ出力端子とハイクランプ出力端子用バッファ１個、ロウクランプ出力端子とロウクランプ出力端子用バッファ１個、各クランプ用の入力端子からバッファを通した出力端子を各１個追加している。規模の大きいハードマクロでは、その追加される素子を、他の端子と端子が配置される領域の間にある空いた領域に配置することができる。また、その端子と配線層を変えることにより、その端子領域を利用して配線するので、面積の増加を抑制することができる。
【００５９】
従来の技術では、クランプする入力端子が１〜数本であって、ハードマクロセルのクランプ出力端子にファンアウトエラーを起こさせない場合、クランプする入力端子分の配線トラックを使用して、クランプセルからハードマクロセルの各入力端子に配線を接続している。
【００６０】
本実施形態では、ハイクランプ処理で１配線トラック、ロウクランプ処理で１配線トラックしか使用しない。また、従来の技術では、ハードマクロセルのクランプする入力端子が何百本にも達し、クランプ出力端子のファンアウトエラーが起きる場合、ファンアウト分割数分のクランプセルの面積、及びクランプする入力端子分の配線トラックを使用する。本実施形態では、クランプセルのファンアウトエラーは起きないため、クランプする入力端子数に関わらずハイクランプ処理で１配線トラック、ロウクランプ処理で１配線トラックしか使用しない。
【００６１】
以上のように、ハイクランプ処理に１配線トラック、ロウクランプ処理に１配線トラックしか使用しないため、ハードマクロのクランプすべき入力端子が多くなっても面積が大きくならない効果がある。
【００６２】
［第２実施形態］
以下に、本願発明の第２実施形態について説明を行う。上述の第１実施形態では、ハードマクロのハイクランプ処理とロウクランプ処理を、それぞれの接続情報として出力していた。以下に述べる第２実施形態では、ハイクランプ処理とロウクランプ処理を、１つの接続情報として出力する場合を例示する。
【００６３】
図９Ａ、図９Ｂは、第２実施形態の動作を例示するフローチャートである。第２実施形態のフローチャートは、第１実施形態のフローチャートと比較して、ステップＳ１０４〜ステップＳ１０７の動作に換えて、ステップＳ６０１〜ステップＳ６０４の動作を実行している。
【００６４】
図１０は、第２実施形態に用いる入力回路接続情報ファイル１１４の回路接続情報に示されるハードマクロセルの構成を例示する回路図である。ハードマクロセル１１００は、ハイクランプ出力端子１１０１と、ロウクランプ出力端子１１０２とを備えている。ハードマクロセル１１００は、入力端子１１０３、入力端子１１０６、入力端子１１０９、入力端子１１１２、入力端子１１１３、入力端子１１１５、入力端子１１１８、入力端子１１２１、入力端子１１２４、入力端子１１２７、入力端子１１３０を備えている。また、ハードマクロセル１１００は、出力端子１１０４、出力端子１１０５、出力端子１１０７、出力端子１１０８、出力端子１１１０、出力端子１１１１、出力端子１１１３、出力端子１１１４、出力端子１１１６、出力端子１１１７、出力端子１１１９、出力端子１１２０、出力端子１１２２、出力端子１１２３、出力端子１１２５、出力端子１１２６、出力端子１１２８、出力端子１１２９、出力端子１１３１、出力端子１１３２を備えている。さらに、ハードマクロセル１１００は、インバータ１１３５〜インバータ１１５４を備えている。
【００６５】
図１１は、第２実施形態の動作を実行することにより生成される最終回路接続情報ファイル６０８の回路接続情報に示されるハードマクロセルの構成を例示する回路図である。ハードマクロセル７００は、ハイクランプ出力端子７０１と、ロウクランプ出力端子７０２とを備えている。また、ハードマクロセル７００は、入力端子７０３、入力端子７０６、入力端子７０９、入力端子７１２、入力端子７１３、入力端子７１５、入力端子７１８、入力端子７２１、入力端子７２４、入力端子７２７、入力端子７３０を備えている。また、ハードマクロセル７００は、出力端子７０４、出力端子７０５、出力端子７０７、出力端子７０８、出力端子７１０、出力端子７１１、出力端子７１３、出力端子７１４、出力端子７１６、出力端子７１７、出力端子７１９、出力端子７２０、出力端子７２２、出力端子７２３、出力端子７２５、出力端子７２６、出力端子７２８、出力端子７２９、出力端子７３１、出力端子７３２を備えている。さらに、ハードマクロセル７００は、インバータ７３５〜インバータ７５４を備えている。
【００６６】
図９Ａに戻り、ステップＳ１０１とステップＳ１０２において、第１実施形態と同様の処理を実行する。詳細な説明を省略する。ステップＳ１０３の入力端子の抽出工程において、入力回路接続情報ファイル１１４から、回路接続情報を読み出す。そして、ハイクランプ出力端子に接続されている入力端子名を抽出する。抽出した情報（ハイクランプ出力端子に接続されている入力端子名）を、入力端子名格納ファイル１１５に供給すする
【００６７】
同様に、ロウクランプ出力端子に接続されている入力端子名を抽出する。抽出した情報（ロウクランプ出力端子に接続されている入力端子名）を入力端子名格納ファイル１１６に供給する。
【００６８】
上述の図１０を参照にすると、入力端子１１１２、入力端子１１１８、入力端子１１２７がハイクランプ出力端子に接続されている。入力端子１１０３、入力端子１１０６、入力端子１１０９、入力端子１１１５、入力端子１１２１、入力端子１１３０がロウクランプ出力端子に接続されている。
【００６９】
図９Ｂを参照すると、ステップＳ６０１の入力端子の座標抽出工程において、入力端子座標格納ファイル１１１からハードマクロの入力端子座標の情報を読み出す。読み出した入力端子座標の情報と入力端子名格納ファイル１１５の情報とに基づいて、ハイクランプされる入力端子の座標を抽出し、ハイクランプされる入力端子座標格納ファイル６０５に供給する。また、読み出した入力端子座標の情報と入力端子名格納ファイル１１６の情報とに基づいて、ロウクランプされる入力端子の座標を抽出し、ロウクランプされる入力端子座標格納ファイル６０９に供給する。
【００７０】
ステップＳ６０２の使用クランプ出力端子決定工程において、ハイクランプされる入力端子座標格納ファイル６０５と、ロウクランプされる入力端子座標格納ファイル６０９と、ハイクランプ出力端子座標格納ファイル１０９と、ロウクランプ出力端子座標格納ファイル１１０との各々に格納される情報を読み出す。
【００７１】
読み出した情報に基づいて、ハイクランプ出力端子から最も距離の短いハイにクランプされる入力端子までの距離を抽出する。また、ロウクランプ出力端子から最も距離の短いロウにクランプされる入力端子までの距離を抽出する。そして、その２つの距離を比較して、短い距離のクランプ出力端子名を、使用するクランプ出力端子名格納ファイル６０６に供給する。
【００７２】
ステップＳ６０３の接続順序変更工程において、クランプ用の入力端子と、そのクランプ用の入力端子からインバータ２段を介した出力端子とをカスケードで接続する。このとき、ステップＳ６０２で決定したクランプ出力端子から距離が短い順に、上記の動作を実行する。
【００７３】
入力回路接続情報ファイル１１４と、使用するクランプ出力端子名格納ファイル６０６と、ハイクランプ出力端子から距離の短い順に入力端子名を定義した情報のファイル１１２と、ロウクランプ出力端子から距離の短い順に入力端子名を定義した情報のファイル１１３と、ハイクランプされる入力端子座標格納ファイル６０５と、ロウクランプされる入力端子座標格納ファイル６０９とを読み出す。そして、使用するクランプ出力端子名格納ファイル６０６に格納されているクランプ端子名と、最も近いクランプ用の入力端子とを接続する。更に、そのクランプ用の入力端子からインバーター２段を通した出力端子と、２番目に近いクランプ用の入力端子とを接続する。次に、その２番目に近いクランプ用の入力端子からインバーター２段を通した出力端子と、３番目に近いクランプ用の入力端子とを接続する。同様に、全てのクランプ用の入力端子を、カスケードに接続して中間回路接続情報を生成し、中間回路接続情報６０７に供給する。
【００７４】
前述の中間回路接続情報ファイル６０７の中間回路接続情報は、その１番目に近い入力端子のクランプ電位は適切である、しかしそれ以外の他のクランプ用の端子のクランプ電位は、正しくはない場合がある。
【００７５】
ステップＳ６０４の接続電位変更工程において、中間回路接続情報ファイル６０７内の正しくないクランプ電位を修正する。ここにおいて、入力端子名格納ファイル１１５からハイクランプ出力端子に接続されている入力端子名を抽出する。また、入力端子名格納ファイル１１６から、ロウクランプ出力端子に接続されている入力端子名を抽出する。
【００７６】
そして、ハイクランプ出力端子に接続されている入力端子名と、ロウクランプ出力端子に接続されている入力端子名とを特定する。そして、中間回路接続情報と、各クランプ用の入力端子について、同じ入力端子名を持つ入力端子のクランプ電位を照合する。このとき、クランプする入力端子の電位が正しくなければ、前段の入力端子からの出力を、インバーター２段を経由した接続を、インバーターを１段を経由した接続に変更する。変更した情報を、中間回路接続情報ファイル６０７の中間回路接続情報に反映して、最終回路接続情報を生成し最終回路接続情報６０８に供給する。
【００７７】
図１１に例示すように、上述のような動作を実行することにより、最終回路接続情報ファイル６０８のその最終回路接続情報は、ロウクランプ出力端子７０２が、入力端子７０３をロウレベルにクランプする接続情報を持つ。また、その最終回路接続情報は、出力端子７０５が、入力端子７０６をロウレベルにクランプする接続情報を持つ。また、その最終回路接続情報は、出力端子７０８が、入力端子７０９をロウレベルにクランプする接続情報を持つ。また、その最終回路接続情報は、出力端子７１０が、入力端子７１２をハイレベルにクランプする接続情報を持つ。また、その最終回路接続情報は、出力端子７１３が、入力端子７１５をロウレベルにクランプする接続情報を持つ。また、その最終回路接続情報は、出力端子７１６が、入力端子７１８をハイレベルにクランプする接続情報を持つ。また、その最終回路接続情報は、出力端子７１９が、入力端子７２１をロウレベルにクランプする接続情報を持つ。また、その最終回路接続情報は、出力端子７２２が、入力端子７２７をハイレベルにクランプする接続情報を持つ。また、その最終回路接続情報は、出力端子７２８が、入力端子７３０をロウレベルにクランプする接続情報を持つ。
【００７８】
図１２は、図１１の最終回路接続情報ファイル６０８の情報に基づいてレイアウトされたレイアウト図である。図１２を参照すると、レイアウトされた回路は、Ｘ方向配線トラック５０４上の第１層信号配線と、Ｙ方向配線トラック５０５上の第２層信号配線とを備えている。ロウクランプ出力端子８１０は、その第１層信号配線とその第２層信号配線とを接続するスルーホール５０８を介して、ロウにクランプする入力端子８１１に接続されている。
【００７９】
入力端子８１１は、図１１の回路接続情報の入力端子７０３に対応している。出力端子８１２は、図１１の回路接続情報の出力端子７０５に対応している。入力端子８１１は、図に記載していないが、ハードマクロセル８０６に存在するインバーター２段（以降のインバーターも、同様に図に記載は無い）を通して出力端子８１２に接続されている。
【００８０】
出力端子８１２は、ロウにクランプする入力端子８１３に接続されている。入力端子８１３は、インバーター２段を通して出力端子８１４に接続されている。出力端子８１４は、ロウにクランプする入力端子８１５に接続されている。入力端子８１５は、インバーター１段を通して出力端子８１６に接続されている。出力端子８１６は、ハイにクランプする入力端子８１７に接続されている。入力端子８１７は、インバーター１段を通して出力端子８１８に接続されている。
【００８１】
出力端子８１８は、ロウにクランプする入力端子８１９に接続されている。入力端子８１９は、インバーター１段を通して出力端子８２０に接続されている。出力端子８２０は、ハイにクランプする入力端子８２１に接続されている。入力端子８２１は、インバーター１段を通して出力端子８２２に接続されている。出力端子８２２は、ロウクランプする入力端子８２３に接続されている。入力端子８２３は、インバーター１段を通して出力端子８２４に接続されている。出力端子８２４は、ハイにクランプする入力端子８２６に接続されている。入力端子８２６はインバーター１段を通して出力端子８２７に接続されている。出力端子８２７は、ロウにクランプする入力端子８２８に接続される。
【００８２】
上述したように、その回路の接続は、カスケードで順次接続される。そのためファンアウトエラーが起きない。更に、図１１に示されているように、ロウクランプ出力端子８１０のＹ座標に近い順に接続する回路接続情報を有しているので、順次接続が可能である。そのため１配線トラックで接続できる。
【００８３】
また、第２実施形態のハードマクロセルは、第１実施形態のハードマクロセルに加えて、バッファを通した出力端子を、各クランプ用の入力端子について各１個多く備えている。規模の大きいハードマクロでは、他の端子と端子が配置される領域の間にある、空いた領域を利用するので、面積の増加が発生することなく回路構成することができる。
【００８４】
第２実施形態では、入力端子と同電位レベルを出力する出力端子に加え、入力端子の反転電位レベルを出力する出力端子を、入力端子近傍に備える事により、ハイクランプ処理とロウクランプ処理に、１配線トラックしか使用しない。そのためハードマクロのクランプすべき入力端子が多くなっても面積が大きくならない効果がある。
【００８５】
上述してきたように、ハードマクロの自動配置配線データベースからハイクランプ出力端子座標と、ロウクランプ出力端子座標と、入力端子座標とを読み出す。そのハードマクロのハイクランプ出力端子、又はロウクランプ出力端子からの距離の短い順に、入力端子の名前を特定する。そして、回路接続情報のハイクランプ出力端子、およびロウクランプ出力端子に接続されている入力端子を抽出する。そして、ハイクランプ出力端子、およびロウクランプ出力端子座標に近い順に、直列的に接続する回路接続情報を作成する事により、クランプ端子をカスケードで順次接続が可能である。そのため２配線トラックで接続できるので、入力端子が多くなっても面積が大きくならない効果がある。
【００８６】
以上、本願発明の実施の形態を具体的に説明した。本願発明は上述の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【符号の説明】
【００８７】
１…設計システム
２…設計プログラムを含む設計ツール
３…設計ツール２に入力される入力データ
４…設計ツールに出力される出力データ
５…セルライブラリ
６…対応リスト
１０８…ハードマクロの自動配置配線データベース
１０９…マクロハイクランプ出力端子座標格納ファイル
１１０…マクロロウクランプ出力端子座標格納ファイル
１１１…マクロ入力端子座標格納ファイル
１１２…ファイル
１１３…ファイル
１１４…入力回路接続情報ファイル
１１５…ハイクランプ端子名格納ファイル
１１６…ロウクランプ端子名格納ファイル
１１７…ハイクランプ順序ファイル
１１８…中間回路接続情報ファイル
１１９…ロウクランプ順序ファイル
１２０…最終回路接続情報ファイル
２００…テクノロジライブラリ
２０１…ライブラリ入力処理
２０２…論理回路記述
２０３…回路入力処理
２０４…制約条件
２０５…制約条件入力処理
２０６…論理最適化処理
２０７…テクノロジマッピング処理
２０８…回路出力処理
２０９…論理回路記述
３００…ブロック割り当て処理
３０１…クランプ要不要判断処理
３０２…クランプ検索処理
３０３…クランプ接続処理
３０４…クランプ割り当て処理
３０５…ファンアウト制約違反検索処理
３０６…クランプ判断処理
３０７…バッファリング処理
３０８…クランプ多重化処理
４００…ハードマクロセル
４０１…ハイクランプ出力端子
４０２…ロウクランプ出力端子
４０３…入力端子
４０４…出力端子
４０５…入力端子
４０６…出力端子
４０７…入力端子
４０８…出力端子
４０９…入力端子
４１０…出力端子
４１１…入力端子
４１２…出力端子
４１３…入力端子
４１４…出力端子
４１５…入力端子
４１６…出力端子
４１７…入力端子
４１８…出力端子
４１９…入力端子
４２０…出力端子
４２１…入力端子
４２２…出力端子
４２３〜４３４…バッファ
５００…電源電圧レベルの第２層電源配線
５０１…グランド電圧レベルの第２層電源配線
５０２…電源電圧レベルの第１層電源配線
５０３…グランド電圧レベルの第１層電源配線
５０４…Ｘ方向配線トラック
５０５…Ｙ方向配線トラック
５０６…ハードマクロセル
５０７…第１層信号配線
５０８…スルーホール
５０９…第２層信号配線
５１０…ハイクランプ出力端子
５１１…ロウクランプ出力端子
５１２…入力端子
５１３…出力端子
５１４…入力端子
５１５…出力端子
５１６…入力端子
５１７…出力端子
５１８…入力端子
５１９…出力端子
５２０…入力端子
５２１…出力端子
５２２…入力端子
５２３…出力端子
５２４…入力端子
５２５…出力端子
５２６…入力端子
５２７…入力端子
５２８…入力端子
５２９…スルーホール
６０５…入力端子座標格納ファイル
６０６…クランプ出力端子名格納ファイル
６０７…中間回路接続情報
６０８…最終回路接続情報
６０９…ロウクランプされる入力端子座標格納ファイル
７００…ハードマクロセル
７０１…ハイクランプ出力端子
７０２…ロウクランプ出力端子
７０３…入力端子
７０４…出力端子
７０５…出力端子
７０６…入力端子
７０７…出力端子
７０８…出力端子
７０９…入力端子
７１０…出力端子
７１１…出力端子
７１２…入力端子
７１３…出力端子
７１４…出力端子
７１５…入力端子
７１６…出力端子
７１７…出力端子
７１８…入力端子
７１９…出力端子
７２０…出力端子
７２１…入力端子
７２２…出力端子
７２３…出力端子
７２４…入力端子
７２５…出力端子
７２６…出力端子
７２７…入力端子
７２８…出力端子
７２９…出力端子
７３０…入力端子
７３１…出力端子
７３２…出力端子
７３３、７３４…バッファ
７３５〜７５４…インバーター
８００…電源電圧レベルの第２層電源配線
８０１…グランド電圧レベルの第２層電源配線
８０２…電源電圧レベルの第１層電源配線
８０３…グランド電圧レベルの第１層電源配線
８０４…Ｘ方向配線トラック
８０５…Ｙ方向配線トラック
８０６…ハードマクロセル
８０７…第１層信号配線
８０８…スルーホール
８０９…第２層信号配線
８１０…ロウクランプ出力端子
８１１…入力端子
８１２…出力端子
８１３…入力端子
８１４…出力端子
８１５…入力端子
８１６…出力端子
８１７…入力端子
８１８…出力端子
８１９…入力端子
８２０…出力端子
８２１…入力端子
８２２…出力端子
８２３…入力端子
８２４…出力端子
８２５…入力端子
８２６…入力端子
８２７…出力端子
８２８…入力端子
８２９…スルーホール
９００…電源電圧レベルの第２層電源配線
９０１…グランド電圧レベルの第２層電源配線
９０２…電源電圧レベルの第１層電源配線
９０３…グランド電圧レベルの第１層電源配線
９０４…Ｘ方向配線トラック
９０５…Ｙ方向配線トラック
９０６…ハードマクロセル
９０７…第１層信号配線
９０８…スルーホール
９０９…第２層信号配線
９１０〜９１９…入力端子
９２０…スルーホール
９２２…クランプセル
９２３…クランプセルのハイレベル出力端子
９２４…クランプセルのロウレベル出力端子
９２５…クランプセル
９２６…クランプセルのハイレベル出力端子
９２７…クランプセルのロウレベル出力端子
１０００…ハードマクロセル
１００１…ハイクランプ出力端子
１００２…ロウクランプ出力端子
１００３…入力端子
１００４…出力端子
１００５…入力端子
１００６…出力端子
１００７…入力端子
１００８…出力端子
１００９…入力端子
１０１０…出力端子
１０１１…入力端子
１０１２…出力端子
１０１３…入力端子
１０１４…出力端子
１０１５…入力端子
１０１６…出力端子
１０１７…入力端子
１０１８…出力端子
１０１９…入力端子
１０２０…出力端子
１０２１…入力端子
１０２２…出力端子
１０２３〜１０３４…バッファ
１１００…ハードマクロセル。
１１０１…ハイクランプ出力端子
１１０２…ロウクランプ出力端子
１１０３…入力端子
１１０４…出力端子
１１０５…出力端子
１１０６…入力端子
１１０７…出力端子
１１０８…出力端子
１１０９…入力端子
１１１０…出力端子
１１１１…出力端子
１１１２…入力端子
１１１３…出力端子
１１１４…出力端子
１１１５…入力端子
１１１６…出力端子
１１１７…出力端子
１１１８…入力端子
１１１９…出力端子
１１２０…出力端子
１１２１…入力端子
１１２２…出力端子
１１２３…出力端子
１１２４…入力端子
１１２５…出力端子
１１２６…出力端子
１１２７…入力端子
１１２８…出力端子
１１２９…出力端子
１１３０…入力端子
１１３１…出力端子
１１３２…出力端子
１１３３…バッファ
１１３４…バッファ
１１３５〜１１５４…インバーター
【図１】
2011151129.tif 000003
【図２】
2011151129.tif 000004
【図３】
2011151129.tif 000005
【図４】
2011151129.tif 000006
【図５Ａ】
2011151129.tif 000007
【図５Ｂ】
2011151129.tif 000008
【図６】
2011151129.tif 000009
【図７】
2011151129.tif 000010
【図８】
2011151129.tif 000011
【図９Ａ】
2011151129.tif 000012
【図９Ｂ】
2011151129.tif 000013
【図１０】
2011151129.tif 000014
【図１１】
2011151129.tif 000015
【図１２】
2011151129.tif 000016