(57)【要約】【課題】  スタンダードセルの設計方式を用いて、品質の高いレイアウトを、短時間で作成することを可能とする設計方法と装置の提供。【解決手段】  回路図情報（１１）を入力し、回路図情報に対してセルの相対的な配置順序を自動的に決定し（１２）、前記回路図情報に付与された配置順序に従ってセルを相対的な位置関係に自動配置する（１３）。【選択図】            図１
2006146712.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを用いた半導体装置の設計方法であって、
回路図情報を入力し、前記回路図情報に対してセルの相対的な配置順序を付与する第１の工程と、
前記回路図情報に付与された配置順序にしたがってセルを相対的な位置関係に自動配置する第２の工程と、
を含む、ことを特徴とする半導体装置の設計方法。
【請求項２】
前記第１の工程は、前記セルの相対的な配置順序を決定するにあたり、前記回路図情報において指定された方向に複数の領域に分割された各領域ごとに素子の検索を行い、素子が検索された場合に、前記セルの配置番号を付与する、ことを特徴とする請求項１記載の半導体装置の設計方法。
【請求項３】
前記第１の工程が、
セルの配置番号を初期値に設定する工程と、
入力した前記回路図情報に対して、予め定められた第１の方向に沿って素子を検索するにあたり、前記第１の方向に関して予め定められた第２の方向に予め設定された幅で複数に分割された領域について一端の領域から前記一端と反対側の領域に向かって素子が存在するか否か検索する工程と、
検索対象の領域内で素子が検索された場合に、セルの配置番号を付与し、配置番号を繰り上げる工程と、
を含む、ことを特徴とする請求項１記載の半導体装置の設計方法。
【請求項４】
前記第１の工程は、セルの相対的な配置順序を決定するにあたり、前記回路図情報に設定された優先枠を用い、前記優先枠の優先度の順に、セルの相対的な配置順序を決定する、ことを特徴とする請求項１記載の半導体装置の設計方法。
【請求項５】
前記第１の工程は、前記優先枠内のｍ（ただし、ｍは正整数）個の素子に対応する第１乃至第ｍのセルには、現在の配置番号から配置番号＋ｍを付与し、
前記第２の工程は、前記優先枠内の第１乃至第ｍのセルをセル列内で連続して配置する、ことを特徴とする請求項４記載の半導体装置の設計方法。
【請求項６】
前記回路図情報において、クリティカルパスを含む領域の優先枠は、クリティカルパスを含まない領域よりも高い優先度に設定される、ことを特徴とする請求項４記載の半導体装置の設計方法。
【請求項７】
前記回路図情報が、複数の回路ブロックに対して他の１つの回路ブロックから信号を共通に与える構成を含み、
前記複数の回路ブロックのうちの少なくとも１つの回路ブロックを含む優先枠に付与される優先度と、前記他の１つの回路ブロックの優先枠に付与される優先度が相隣る値に設定される、ことを特徴とする請求項４記載の半導体装置の設計方法。
【請求項８】
前記第１の工程が、
配置番号を初期値に設定する工程と、
前記回路図情報に設定された優先枠について、優先度の順に、
優先枠の領域について素子の検索を行い、その際、前記回路図情報に対して、予め定められた第１の方向に沿って素子を検索するにあたり、前記第１の方向に関して予め定められた第２の方向に予め設定された幅で複数に分割された領域について一端の領域から前記一端と反対側の領域に向かって素子が存在するか否か検索する工程と、
検索対象の領域内で素子が検索された場合、セルの配置番号を付与し、配置番号を繰り上げる工程と、
を全ての優先枠について行う、ことを特徴とする請求項１記載の半導体装置の設計方法。
【請求項９】
前記回路図情報に付与された優先枠が変わると、セル配置のセル列の段数を変更する工程を含む、ことを特徴とする請求項４記載の半導体装置の設計方法。
【請求項１０】
コンピュータを用いた半導体装置の設計方法であって、
回路図情報を入力し、前記回路図情報に対してセルの相対的な配置情報に加えグループ番号を付与する第１の工程と、
同一グループ番号を持つセルに関して前記回路図情報に付与された配置順序に従って、相対的な位置関係に配置する第２の工程と、
を含む、ことを特徴とする半導体装置の設計方法。
【請求項１１】
セルを配置する前記第２の工程の前に、セル配置の相対的な位置関係を設計者が設定し把握可能としている、ことを特徴とする請求項１乃至１０のいずれか一に記載の半導体装置の設計方法。
【請求項１２】
半導体装置の設定装置であって、
回路図情報を入力し、前記回路図情報に対してセルの相対的な配置順序を付与する手段と、
前記回路図情報に付与された配置順序に従ってセルを相対的な位置関係に自動配置する手段と、
を含む、ことを特徴とする設計装置。
【請求項１３】
前記セルの相対的な配置順序を付与する手段は、前記セルの相対的な配置順序を決定するにあたり、前記回路図情報において指定された方向に複数の領域に分割された各領域ごとに素子の検索を行い、素子が検索された場合に、前記セルの配置番号を付与する、ことを特徴とする請求項１２記載の設計装置。
【請求項１４】
前記セルの相対的な配置順序を付与する手段は、配置番号を初期値に設定し、前記回路図情報に対して、予め定められた第１の方向に沿って素子を検索するにあたり、前記第１の方向に関して予め定められた第２の方向に予め設定された幅で複数に分割された領域について一端の領域から前記一端と反対側の領域に向かって素子が存在するか否か検索し、
検索対象の領域内で素子が検索された場合、セルの配置番号を付与し、配置番号を繰り上げる、ことを特徴とする請求項１２記載の設計装置。
【請求項１５】
前記セルの相対的な配置順序を付与する手段は、セルの相対的な配置順序を決定するにあたり、前記回路図情報に設定された優先枠を用い、前記優先枠の優先度の順に、セルの相対的な配置順序を決定する、ことを特徴とする請求項１２記載の設計装置。
【請求項１６】
前記セルの相対的な配置順序を付与する手段は、配置番号を初期値に設定し、
前記回路図情報に設定された優先枠について優先度の順に、
設定された優先枠の領域について素子の検索を行い、その際、前記回路図情報に対して、予め定められた第１の方向に沿って素子を検索するにあたり、前記第１の方向に関して予め定められた第２の方向に予め設定された幅で複数に分割された領域について一端の領域から前記一端と反対側の領域に向かって素子が存在するか否か検索し、検索対象の領域内で素子が検索された場合、セルの配置番号を付与し、配置番号を繰り上げる処理を、全ての優先枠について行う、ことを特徴とする請求項１２記載の設計装置。
【請求項１７】
半導体装置の設定装置であって、
回路図情報を入力し、前記回路図情報に対してセルの相対的な配置情報に加え、グループ番号を付与する手段と、
同一グループ番号を持つセルに関して、前記回路図情報に付与された配置順序に従って、相対的な位置関係に自動配置する手段と、
を含むことを特徴とする設計装置。
【請求項１８】
半導体装置の設計装置を構成するコンピュータに、
回路図情報を入力し、前記回路図情報に対してセルの相対的な配置順序を付与する第１の処理と、
前記回路図情報に付与された配置順序に従ってセルを相対的な位置関係に自動配置する第２の処理と、
を実行させるプログラム。
【請求項１９】
前記第１の処理は、
セルの配置番号を初期値に設定する処理と、
入力した前記回路図情報に対して、予め定められた第１の方向に沿って素子を検索するにあたり、前記第１の方向に関して予め定められた第２の方向に予め設定された幅で複数に分割された領域について一端の領域から前記一端と反対側の領域に向かって素子が存在するか否か検索する処理と、
検索対象の領域内で素子が検索された場合に、セルの配置番号を付与し、配置番号を繰り上げる処理と、
を含む、ことを特徴とする請求項１８記載のプログラム。
【請求項２０】
前記第１の処理は、
配置番号を初期値に設定する処理と、
前記回路図情報に設定された優先枠について、優先度の順に、
優先枠の領域について素子の検索を行い、その際、前記回路図情報に対して、予め定められた第１の方向に沿って素子を検索するにあたり、前記第１の方向に関して予め定められた第２の方向に予め設定された幅で複数に分割された領域について一端の領域から前記一端と反対側の領域に向かって素子が存在するか否か検索し、検索対象の領域内で素子が検索された場合、セルの配置番号を付与し、配置番号を繰り上げる処理を全ての優先枠について行う、ことを特徴とする請求項１８記載のプログラム。
【請求項２１】
半導体装置の設計装置を構成するコンピュータに、
回路図情報を入力し、前記回路図情報に対してセルの相対的な配置情報に加え、グループ番号を付与する処理と、
同一グループ番号を持つセルに関して前記回路図情報に付与された配置順序に従って、相対的な位置関係に自動配置する処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計技術に関し、特にスタンダードセル方式の設計に適用して好適な方法と装置並びにプログラムに関する。
【背景技術】
【０００２】
従来、半導体集積回路のレイアウト設計方法には、ゲートアレイ、フルカスタム、スタンダードセルの３種類による方法がある。
【０００３】
ゲートアレイは、事前に規則的に配置されたトランジスタを配線接続の変更のみで設計するものである。このため、メモリ製品のように集積度を追求する半導体には適用できない。
【０００４】
フルカスタムは、高性能な半導体が設計できるが、設計者がレイアウトパターンを見ながら物理的な座標に手作業でセルを配置していくため、開発に長い期間と手間がかかり、短期間で設計する半導体には適用できない。
【０００５】
スタンダードセルによる設計方法は、自動でセルを配置していく方式であることから、短期間で設計する半導体に適しており、近年多用されている。しかしながら、従来のスタンダードセルの自動配置方法は、基本的に、一定の規則に従って単純にセルを配置していくというものである。このため、１つ１つのセル同士の配置位置を最適化して性能を引き出すような設計には適していない。したがって、スタンダードセル設計方式によって、回路品質を重視した設計を行うことは、困難である。また、グループ化という技術により、複数のセルを１つのグループとして定義し、そのグループに所属するセル同士を自動的に近くに配置するということは可能であるが、同じグループ内のセル同士の相対的な配置位置関係を指定することはできない。このため、設計者が所望したセルの配置順序にはならず、最適化した回路の設計ができなかった。
【０００６】
なお、タイミング制約、配置の最適化等の自動設計に関する文献として、例えば特許文献１には、グループの入力端子及び出力端子に近く、クリティカルパスに関連する論理セルは、より外側の分割領域に配置され、入力端子及び出力端子からの段数が大きい論理セルはより内側の分割領域に配置されるので、回路構成を反映した自動配置が可能となり、タイミング制約条件を満たしながら設計期間を短縮化する配置方法が提案されている。また特許文献２には、タイミング制約に関係するフリップフロップ同士の接続関係を表すネットリストを生成し、このネットリストにしたがってフリップフロップの配置位置を決めた上で、レイアウト設計を行い、短い処理時間でＬＳＩのタイミング制約が確実に満たされるようにした設計方法が開示されている。また特許文献３には、スタンダードセル方式の配置設計において、配線分布密度の偏りの少ない配置設計を得る方法が開示されている。また特許文献４には、内部セルを一列に並べるセル配置領域にモジュールを分割し、内部セルのセル列への割り付けを最適化し、内部セルのセル列内における配置を最適化する工程を含む方法が記載されている。特許文献５には、セルの挿入、交換、削除の設計変更を自動配置設計途中に取り込み、タイミングの判定、設計変更、配置回線のループを形成し、自動修正処理を短時間で実現するようにした方法が開示されている。さらに特許文献６には、多数のハードマクロを含んだＬＳＩであっても、人手を介することなく、高品質なモジュール配置を実現できるようにした方法が開示されている。
【特許文献１】特開２００１−６８５５１号公報
【特許文献２】特開平１０−７４８４２号公報
【特許文献３】特開平１０−１８９７５０号公報
【特許文献４】特許第２８００７８１号公報
【特許文献５】特許３２５６５９７号公報
【特許文献６】特許３４３３０２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来のスタンダードセルによる自動設計方法等において、回路品質を重視した設計を実施する場合、
・同じタイミングが要求される回路のセル配置、
・クリティカルパスと重要でないパスとの切り分け、
・メモリの入出力回路のような、複数の、同じ特性を持たせる必要がある回路のまとまりを一度に設計すること、
・アンプ回路のような対称的な特性を持たせる必要がある回路の設計を行うこと、
ができない。その理由は、スタンダードセルによる自動設計方法では、セルを一定の規則で自動配置するため、回路の特徴を把握している設計者の意図とは異なった位置関係に、セルが配置されてしまうことに起因する。
【０００８】
例えば図１４に示す回路では、
・１４１の部分は、３系統の回路において、同じ特性を持たせるようなセル配置が必要であり、
・１４２の素子Ｑは、１４１の素子Ｄ１、Ｄ２、Ｄ３の全てに近い位置にセルを配置する必要があり、
・１４３の部分は特性に余裕がある回路であるため、他のセルに比べて優先度の低い位置に配置しても良いことになっている。
【０００９】
この回路を、現在主流のスタンダードセル方式の総配線長が短くなるようなアルゴリズムを用いて、セル配置した例を図１７に示す。図１７の１７１、１７２、１７３、１７４、１７５は、図１４の１４１、１４２、１４３、１４４、１４５にそれぞれ対応する。このアルゴリズムでは、図１４の１４１の部分と１４３の部分の切り分けができないため、優先度の低い１４３の部分が、優先度が高い１４１の部分の間に入り込んでしまい、それぞれのセルが、図１７の１７１、１７３のように配置されることになる。このため、１４１の３系統の回路の特性がバラバラになるようなセルの配置になっている。
【００１０】
また、図１４の１４１の素子Ｄ１、Ｄ２、Ｄ３と１４２の素子Ｑが、図１７の１７１、１７２のように配置されてしまい、それらを接続する図１４の１４５の配線ｂが、図１７の１７５のように経路が冗長になってしまい、回路品質の劣化や、他の配線を配置する際の障害になる。
【００１１】
図１４の１４４の配線ａも、図１７の１７４のように配置されてしまい、３系統の回路で均一な入力にならず、同様な問題が発生する。
【００１２】
したがって、本発明の目的は、品質の高いレイアウトを短時間で作成することを可能とする設計方法と装置並びにプログラムを提供することにある。また、本発明は、スタンダードセルによる自動設計を用いて、上記目的を達成するとともに、クリティカルパスの高速化を実現し、複数の入力配線に同一速度の信号の供給を可能とする設計方法と装置並びにプログラムを提供することもその目的としている。
【課題を解決するための手段】
【００１３】
本願で開示される発明は、上記目的を達成するため、概略以下の構成とされる。
【００１４】
本発明の設計方法は、回路図情報に付加した優先枠に従い、自動的にセルの相対的な配置順序を決定する手段と、その回路図情報が持つセルの相対的な配置順序に従い、セルを所望した相対的な位置関係に配置する。
【００１５】
本発明の１つのアスペクトに係る方法は、コンピュータを用いた半導体装置の設計方法であって、回路図情報を入力し、前記回路図情報に対してセルの相対的な配置順序を付与する第１の工程と、前記回路図情報に付与された配置順序にしたがってセルを相対的な位置関係に自動配置する第２の工程と、を含む。
【００１６】
本発明の他のアスペクトに係る方法は、コンピュータを用いた半導体装置の設計方法であって、回路図情報を入力し、前記回路図情報に対してセルの相対的な配置情報に加えグループ番号を付与する第１の工程と、同一グループ番号を持つセルに関して前記回路図情報に付加された配置順序に従って、相対的な位置関係に自動配置する第２の工程と、
を含む。
【００１７】
本発明の１つのアスペクトに係る装置は、半導体装置の設定装置であって、回路図情報を入力し、前記回路図情報に対してセルの相対的な配置順序を付与する手段と、前記回路図情報に付与された配置順序に従ってセルを相対的な位置関係に自動配置する手段と、を含む。本発明において、前記セルの相対的な配置順序を付与する手段は、前記セルの相対的な配置順序を決定するにあたり、前記回路図情報において指定された方向に複数の領域に分割された各領域ごとに素子の検索を行い、素子が検索された場合に、前記セルの配置番号を付与する構成としてもよい。また、本発明において、前記セルの相対的な配置順序を付与する手段は、セルの相対的な配置順序を決定するにあたり、前記回路図情報に設定された優先枠を用い、前記優先枠の優先度の順に、セルの相対的な配置順序を決定する構成としてもよい。
【００１８】
本発明の他のアスペクトに係る装置は、回路図情報を入力し、前記回路図情報に対してセルの相対的な配置情報に加えグループ番号を付与する配置順序決定手段と、同一グループ番号を持つセルに関して前記回路図情報に付加された配置順序に従って、相対的な位置関係に自動配置する配置手段と、を含む。
【００１９】
本発明の１つのアスペクトに係るプログラムは、半導体装置の設計装置を構成するコンピュータに、回路図情報を入力し、前記回路図情報に対してセルの相対的な配置順序を付与する第１の処理と、前記回路図情報に付与された配置順序に従ってセルを相対的な位置関係に自動配置する第２の処理と、を実行させるプログラムよりなる。
【００２０】
本発明の他のアスペクトに係るプログラムは、半導体装置の設計装置を構成するコンピュータに、回路図情報を入力し、前記回路図情報に対してセルの相対的な配置情報に加えグループ番号を付与する処理と、同一グループ番号を持つセルに関して前記回路図情報に付加された配置順序に従って、相対的な位置関係に自動配置する処理と、を実行させるプログラムよりなる。
【発明の効果】
【００２１】
本発明によれば、スタンダードセルによる自動設計方法等において、回路設計時に優先枠という素子配置の簡単な指定をするだけで、セルを自動配置する際の相対的な配置順序を回路設計時に決定することができ、クリティカルパスの高速化や、複数の入力配線に同一速度の信号の供給を可能とする品質の高いレイアウトを短時間で作成することが可能となる。
【発明を実施するための最良の形態】
【００２２】
次に、本発明の実施形態について、図１乃至図５を参照して詳細に説明する。図１は、本発明の一実施形態の設計方法を説明する図である。図１を参照すると、本実施形態では、回路図情報に、例えば後述する優先枠を付加した回路図情報１１（回路接続情報及び素子情報を含む）を作成し、回路図情報１１から自動的にセルの相対的な配置順序を決定する手段１２を備え、該手段１２によって決定されたセルの配置順序の情報に従い、相対的な位置関係を保ったまま、実際に、セルを自動配置する手段１３と、を備えている。
【００２３】
回路図情報１１として、例えば図３に示すような回路を設計するものとする。図３の回路は、入力Ｊから出力Ｍへのパス３２（素子Ａ、素子Ｂ、素子Ｃを含む）と、入力Ｊから出力Ｎへのパス３３（素子Ａ、素子Ｄ、素子Ｅを含む）のタイミングを完全に一致させる必要があるため、回路設計者は、通常、図５に示すような、セルの配置順序を考える。
【００２４】
図５は、回路設計者が設計目標とする、回路品質を最適化したセルの配置順序である。スタンダードセルの１列（セル列）の中央に、セルＡ（入力Ｊに接続される）が配置され、その左側に、セルＢ、Ｃが配置され、右側にセルＤ、Ｅが配置されている。なお、図５は、図３の回路図情報を基に、本実施形態により、自動的にセルを配置した結果を示す図である。
【００２５】
図２は、セルの相対的な配置順序を決定する手段１２の処理手順の詳細を示したフローチャートである。図１及び図２のフローチャートを用いて、本実施形態の設計方法について説明する。なお、図２の処理は、半導体装置の設計装置を構成するコンピュータで実行されるプログラムにより実現される。
【００２６】
配置番号を初期値に設定する（ステップ２１）。初期値は１とする。
【００２７】
回路図情報に対して指定された方向に素子を検索する（ステップ２２）。検索は、縦方向もしくは横方向に、素子の存在を確認することで行われる。本実施形態では、図３の回路図情報を、図４の４６〜４８のように、縦方向に、予め設定された幅（例えば回路設計者が設定する）で、自動的に領域を区切り、左端の領域４６から右端の領域４８に向かって、素子が存在するか否か検索している。自動的に領域の区切り方としては、縦方向以外にも、横方向や斜め方向、またそれ以外の規則で区切る方法も適用できる。縦方向に予め設定された幅は、自動で設定するようにしてもよい。
【００２８】
図４において、４６〜４８は、図１の自動的にセルの相対的な配置順序を決定する手段１２が素子を検索する領域を示している。また、４１〜４５は、該手段１２によって自動的に決定された配置順序を示す。
【００２９】
図１の自動的にセルの相対的な配置順序を決定する手段１２により、検索対象の領域内で素子が検索された場合（ステップ２４のＹＥＳ分岐）、セルの配置番号を付与すると同時に、配置番号を繰り上げる（ステップ２５）自動的にセルの相対的な配置順序を決定する手段１２は、図４の領域４１では、素子Ｃが検索されるため、セルの配置番号１を付与し、配置番号を１つインクリメントして２とし、領域４２では、素子Ｂが検索されるため、セルの配置番号２を付与し、配置番号を１つインクリメントして３とし、領域４３では、素子Ａが検索されるため、セルの配置番号３を付与し、配置番号を１つインクリメントして４とし、領域４４では、素子Ｄが検索されるため、セルの配置番号４を付与し、配置番号を１つインクリメントして５とし、領域４５では、素子Ｅが検索されるため、セルの配置番号５を付与し、配置番号を６とする。
【００３０】
回路図情報の全ての素子が検索済の場合（ステップ２４のＮＯ分岐）、自動的にセルの配置順序を決定する手段１２の処理は終了する。この時点で、回路図情報には、図４の４１〜４５のように、セルの相対的な配置順序が付与されている状態となる。図４は、図１のセルの相対的な配置順序を決定する手段１２による処理が終了した段階での回路図情報である。複数（５個）のセルＣ、Ｂ、Ａ、Ｄ、Ｅにそれぞれ番号１〜番号５が付与される。この状態から、回路図情報に付与されている相対的な配置順序に従い、セルを自動的に配置していく。その結果、セルの配置順序が、回路設計者が最適であると考えた、図５のような配置になり、タイミングを最適化した設計が可能になる。図３のパス３１、３２、３３は、図５のパス５１、５２、５３に対応している。
【００３１】
次に本発明の第２の実施形態について説明する。本実施形態と前記実施形態との相違点は、本実施形態では、配置順序を特徴付ける優先枠を用いている点である。本実施形態における設計方法は、前記第１の実施形態と同様、図１に従う。
【００３２】
図６は、本実施形態におけるセルの相対的な配置順序を決定する手段１２の手段を詳細に示したフローチャートである。本実施形態は、前記第１の実施形態と異なり、優先枠を使用して設計する処理手順になっている。図６の処理は、半導体装置の設計装置を構成するコンピュータで実行されるプログラムにより実現される。
【００３３】
図７は、本実施形態を説明するための回路図情報である。７１が１番目の優先枠、７２が２番目の優先枠、７３がスピードを最速にする必要があるクリティカルパス、７４は多少配線長が伸びても問題がないディレイパス、７５はディレイへの入力パス、７６はディレイの出力パスを示している。図１の回路図情報として、図７のような回路図情報を設計し、優先枠７１と７２を設定する。この回路の特徴としては、クリティカルパス７３の総配線長を極力短くする必要があるが、ディレイパス７４の配線長は、多少伸びても問題ない回路である。
【００３４】
そこで、この回路を、２つの領域（優先枠）７１と７２に分け、これらの領域間を結ぶディレイパス７５、７６への入出力部の配線長を伸ばすことにより、クリティカルパス７３とディレイパス７４をそれぞれまとめてセルを配置するというのが、最もタイミングを最適化した設計になる。そこで、回路図情報に、１番目の優先枠７１と２番目の優先枠７２を設定しておく。
【００３５】
図６を参照すると、配置番号を初期値に設定する（ステップ６１）。初期値は、本実施形態では１とする。
【００３６】
次に、素子の検索領域を、回路図情報に設定した一番優先度の高い優先枠に設定する（ステップ６２）。
【００３７】
まず、１番目の優先枠の領域について、素子の検索を実施する（ステップ６３）。本実施形態では、前記実施形態と同様に、縦方向に領域を区切り、左の領域から右の領域に向かって素子が存在することを検索している。
【００３８】
検索対象の領域内で素子が検索された場合（ステップ６４のＹＥＳ分岐）、セルの配置番号を付与し、配置番号を繰り上げる（ステップ６５）。
【００３９】
検索対象の領域内の、全ての素子が検索済の場合（ステップ６４のＮＯ分岐）、ステップ６６に進む。
【００４０】
全ての優先枠の領域を検索していない場合（ステップ６６のＮＯ分岐）、ステップ６７において、検索領域番号をあらかじめ設定された領域の優先度に従い、繰り上げ、次の検索領域に対して、ステップ６３から検索を再開する。
【００４１】
全ての領域を検索済の場合（ステップ６６のＹＥＳ分岐）、自動的にセルの配置順序を決定する手段１２の処理は終了する。この時点で、回路図情報には、図８における８１〜８７のように、セルの相対的な配置順序が付与されている状態となり、この回路図情報を見るだけで、セル配置位置が容易に予測できる。図８は、図１の手段１２を経た回路図情報である。８１〜８７は、前記した手段１２によって自動的に決定された配置順序を示している。領域（優先枠）７１の素子Ａ、Ｆ、Ｇは、配置順序１、２、３が付与され、領域（優先枠）７２の素子Ｂ、Ｃ、Ｄ、Ｅは、配置順序４、５、６、７が付与される。
【００４２】
その後、回路図情報に自動的に付与された相対的な配置順序に従い、セルを配置する（配置順序１から７の順に左から右に配置）と、図７のクリティカルパス７３は、図９の９３のような配置になり、配線長を最短にできる。図９は、回路設計者が設計目標とする、回路品質を最適化したセルの配置順序であり、また図７の回路図情報を元に本発明で自動的にセルを配置した結果でもある。
【００４３】
また、図７のディレイパスへの入出力７５、７６は、図９の９５、９６のように、クリティカルパスに影響を与えないようなセル配置になり、最終的なセルの配置順序が、回路設計者が最適と考えた配置になるため、タイミングを最適化した設計が可能になる。
【００４４】
次に、本発明の第３の実施形態について説明する。本実施形態の設計方法は、図１、図６を参照して説明した第２の実施形態と同じである。図１０は、本実施形態を示す回路図情報である。１０１が１番目の優先枠、１０２が２番目の優先枠、１０３が３番目の優先枠、１０４が４番目の優先枠である。図１１は、回路設計者が設計目標とする、回路品質を最適化したセルの配置順序であり、また図１０の回路図情報を元に、本実施形態により自動的にセルを配置した結果でもある。
【００４５】
次に、図１と、図６のフローチャートを用いて、本実施形態の設計方法について説明する。
【００４６】
図１の回路図情報１１として、図１０のような回路図情報を設計し、優先枠１０１〜１０４を設定する。この回路の特徴としては、１０１、１０３、１０４は、同じ特性を持つ回路であり、それぞれでセル間の配線の引き回し形状を全て揃える必要がある。
【００４７】
図１の手段１２では、回路図情報１１に、自動的にセルの相対的な配置順序を決定付与するものであり、図６のフローチャートに示す手順で実現する。この手順は、前記第２の実施形態と同じであることから、詳細な説明は省略する。
【００４８】
図１の自動的にセルの相対的な配置順序を決定する手段１２の処理が完了した時点で、回路図情報には、図１０の１０５のように、全ての素子に対して、セルの相対的な配置順序が付与されている状態となり、この回路図情報を見るだけで、セル配置位置が容易に予測できる。
【００４９】
その後、回路図情報に自動的に付与された相対的な配置順序に従い、セルを配置すると、図１０の１０１が図１１の１１１の場所に、１０２が１１２の場所に、１０３が１１３の場所に、１０４が１１４の場所にセルが配置されるため、１０１、１０３、１０４の回路特性が均一になり、最適化した設計が実現できる。
【００５０】
次に、本発明の第４の実施形態について、図１、図６、及び図１２と図１３を参照して説明する。第４の実施形態の設計手順は、図１、図６を参照して説明した前記第２の実施形態と同じである。
【００５１】
図１２は、本実施形態を説明するための回路図情報である。図１２において、１２１〜１２３が、それぞれ１〜３番目までの優先枠となっている。図１３は、回路設計者が設計目標とする、回路品質を最適化したセルの配置順序であり、また図１２の回路図情報を元に、本実施形態にしたがって自動的にセルを配置した結果を示す図でもある。
【００５２】
次に、図１及び図６のフローチャートを用いて、本実施形態の設計方法について説明する。
【００５３】
図１の回路図情報１１として、図１２に示すような回路図情報を設計し、優先枠１２１〜１２３を設定する。この回路の特徴としては、優先枠１２１と１２３は、優先枠１２２に関して対称的な特性を持たせるために、対称形状にセルを配置する必要がある。
【００５４】
図１の自動的にセルの相対的な配置順序を決定する手段１２では、回路図情報１１に、図６のフローチャートに示す手順で配置順序を付与を実現する。この手順は前記第２の実施形態と同じであることから、その詳細な説明は省略する。
【００５５】
図１の自動的にセルの相対的な配置順序を決定する手段１２の処理が完了した時点で、回路図情報には、図１２の１２４のように、全ての素子に対してセルの相対的な配置順序が付与されている状態となる。この回路図情報を見るだけで、セル配置位置が容易に予測できる。
【００５６】
その後、回路図情報に自動的に付与された相対的な配置順序に従いセルを配置すると、図１２の１２１〜１２３が、図１３の１３１〜１３３の場所にセルが配置され、図１２の１２１と１２３に対応するセルが対称形状に配置でき、特性の最適化が実現できる。
【００５７】
次に、本発明の第５の実施形態について、図１、図６、及び図１４〜１６を参照して説明する。本実施形態の設計方法は、図１、図６に示した前記第２の実施形態と同じである。
【００５８】
図１４は、本実施形態を説明するための回路図情報である。図１４において、１４１〜１４３はそれぞれ特徴が異なる回路部分を示している。また、１４４、１４５は特定の配線を、１４６〜１４８は１〜３番目までの優先枠を示している。
【００５９】
図１５は、図１の自動的にセルの相対的な配置順序を決定する手段１２による処理を経た回路図情報であり、１５１のように、全ての素子に対して手段１２で自動的に決定された配置順序が決定されたことを示している。図１６は、回路設計者が設計目標とする、回路品質を最適化したセルの配置順序であり、また図１４の回路図情報を元に、本発明で自動的にセルを配置した結果でもある。
【００６０】
次に、図１及び図６のフローチャートを用いて、本実施形態の設計方法について説明する。
【００６１】
図１の回路図情報１１として、図１４のような回路図情報を設計し、優先枠１４６〜１４８を設定する。この回路の特徴としては、１４１の部分は、３系統の回路を同じ特性を持たせるようなセル配置が必要であり、１４２の素子Ｑは、１４１の素子Ｄ１、Ｄ２、Ｄ３の全てに近い位置にセルを配置する必要があり、また、１４３の部分は、特性に余裕がある回路であるため、他のセルに比べて優先度の低い位置に配置しても良いことになっている。
【００６２】
図１の自動的にセルの相対的な配置順序を決定する手段１２では、回路図情報１１に、図６のフローチャートに示す手順にしたがってセルの相対的な配置順序を付与する。この手順は、前記した第２の実施形態と同じであることから、その詳細な説明は省略する。
【００６３】
図１の自動的にセルの相対的な配置順序を決定する手段１２の処理が完了した時点で、回路図情報には、１５１のように、全ての素子に対してセルの相対的な配置順序が付与されている状態となる。この回路図情報を見るだけで、セル配置位置が容易に予測できる。
【００６４】
その後、回路図情報に自動的に付与された相対的な配置順序に従いセルを配置するが、第５の実施形態では、前記第１乃至４の実施形態ように、セルを一列に配置するのではなく、優先枠が変わると、セル配置の段数を１段変更するというアルゴリズムを適用することで、図１６に示すように、セルを３段に自動配置することができる。その結果、図１４の１４６〜１４８が、図１６の１６６〜１６８の位置に配置されることになり、図１４の１４１の部分は、図１６の１６１のように、３系統の回路が同じ形状にセルを配置できる。また、図１４の１４２の素子Ｑと１４１の素子Ｄ１、Ｄ２、Ｄ３についても、図１６の１６２と１６１に示すように、全て近い位置にセルを配置できるため、図１４の１４５の配線ｂも、図１６の１６５のように最短経路になるように配線できる。
【００６５】
図１４の１４３の部分についても、図１６の１６３のように、配置するセルを設計するセル領域の端に寄せることができ、その結果、他の優先度の高いセルの配置や、セル間の配線を妨げるような問題が発生しない構成とされている。
【００６６】
＜実施形態の作用効果＞
上記各実施形態において、セルを実際に配置する前に、相対的な位置関係を回路設計者が設定、把握することができ、回路設計者が意図しなかった位置にセルが配置されてしまうという問題の発生を回避している。上記した本発明の実施形態は、以下のような作用効果を奏する。
【００６７】
本発明の第１の実施形態の作用効果として、複数の入力配線に同一速度の信号の供給を必要とするような、タイミングを揃える回路の設計が可能になる。図３のような回路では、入力Ｊ〜出力Ｍのパス３２と、入力Ｊ〜出力Ｎのパス３３を、完全に同じタイミングに設計する必要があるが、それを実現するためには３２と３３のパスの距離が等しくなるように設計する。本実施形態では、図５のように５２のパスと、５３のパスが等距離になるように、セルの配置を最適化することができる。
【００６８】
本発明の第２の実施形態の作用効果として、クリティカルパスと重要でないパスを切り分けた設計が可能になる。クリティカルパスとは、スピードを最速にする必要があるパスのことであり、セルを隣接して配置させ、各セル間を接続する配線を最短にし、配線抵抗と配線容量を極力削減する必要がある。図７に示す回路では、７３はクリティカルパスである。７４は、７３と比較すると重要ではないパスである。特に７５と７６の配線には多少の抵抗、容量がついても問題なく、７３のパスを優先して設計する必要がある。本実施形態では、図９のように、９１のクリティカルパス領域と、９２の重要でない領域に切り分けてセルを隣接配置することにより、最適化した回路の設計が実現できる。
【００６９】
本発明の第３の実施形態の作用効果として、メモリの入出力回路のような、複数の、同じ特性を持たせる必要がある回路のまとまりを、一度に設計できる。図１０に示す回路では、１０１と１０３、１０４は同じ特性を持つ回路である。同じ特性に設計するためには、セル間を配線の引き回し形状を全て揃えることが、一番効果が高い。本発明では図１０の１０１、１０３、１０４を、図１１の１１１、１１３、１１４のような位置関係でセルを配置することが可能であることから、特性の最適化が実現できる。
【００７０】
本発明の第４の実施形態の作用効果として、アンプ回路のような、対照的な特性を持たせる必要がある回路を設計できる。図１２は、この類の回路の一例であり、１２１と１２３は対称的な特性を持たせるために、対称形状にセルを配置し配線する必要がある。本発明では図１３のようにセルを配置することが可能であり、図１２の１２１、１２３を、図１３の１３１、１３３のように配置することで、回路特性を最適化した設計が実現できる。
【００７１】
本発明の第５の実施形態の作用効果として、第１乃至第４の実施形態の回路を組み合わせたような複雑な回路で、従来技術のセルの自動配置方法では設計できなかった回路についても、本発明を適用することにより、クリティカルパスと重要でないパスの切り分けと、複数系統の同じ特性を持たせる回路に適したセル配置と、セル配置後の配線形状が最適化できるようなセル配置の全てが、回路図情報作成時に指定でき、セルの自動配置も一回で最適化した形状で完了できる。
【００７２】
次に、本発明の第６の実施形態として、スタンダードセル方式の自動配置アルゴリズムと組み合わせた実施形態について説明する。
【００７３】
図１８は、本実施形態による設計方法を示している。図１８において、１８１は、回路図情報である。例えば図１９は、これに該当する回路図情報であるが、１９１と１９２のパスはクリティカルパスであり、セルは連続的に隣接して配置される必要がある。その他の素子はあまり重要ではないパスであり、セルの配置位置を特別に考慮する必要はない。
【００７４】
１８２は、１８１の回路図情報に対し、設計者が回路品質を考慮し、セルの配置順序を指定する必要のある素子に対してのみ、セルの相対的な配置順序を指定する手段である。前記実施形態と異なる点は、配置順序を全ての素子に対して指定するのではなく、クリティカルパスに関するものなど必要な素子のみに対して指定する。また、配置順序だけの指定ではなく、接続関係を持つ素子同士に同じグループ番号を付与する。
【００７５】
図１９の回路図情報に、配置順序とグループ番号を指定したものが図２０となる。図２０の２０１がグループ番号、２０２がセルの相対的な配置順序である。
【００７６】
１８３は、スタンダードセル方式のアルゴリズムでセルを自動配置する手段であるが、グループ番号が指定されたセルが配置される際に、そのグループ番号を持つ全てのセルを、１８２で指定したセルの相対的な配置順序を保ったまま配置する。例えば図２０の２０３に対応するセルが配置される際に、同じグループ番号を持つ２０４、２０５の素子に対応するセルが、１８２で指定したセルの配置順序に従い連続的に配置される。
【００７７】
その結果、セルの配置順序が、回路設計者が最適であるとしている図２１のような順序になり、図１９のクリティカルパス１９１が図２１の２１１のように、また図１９のクリティカルパス１９２が図２１の２１２のように、所望な配置順序が守られることになる。
【００７８】
以上、本発明の半導体装置の設計方法について説明したが、上記設計方法の処理（図１、図２、図６、図１８等の処理）を、不図示のコンピュータで実行されるプログラムによって実装することで、半導体装置の自動設計装置が提供される。
【００７９】
以上本発明を上記実施形態に即して説明したが、本発明は上記実施形態の構成にのみ限定されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図面の簡単な説明】
【００８０】
【図１】本発明の第１の実施形態の構成を説明するための図である。
【図２】本発明の第１の実施形態においてセルの相対的な配置順序を決定する手段の処理を示したフローチャートである。
【図３】本発明の第１の実施形態を説明するための回路図情報である。
【図４】本発明の第１の実施形態においてセルの相対的な配置順序を決定する手段による処理が終了した段階での回路図情報である。
【図５】本発明の第１の実施形態において図３の回路図情報を基に自動的にセルを配置した結果を示す図である。
【図６】本発明の第２の実施形態におけるセルの相対的な配置順序を決定する手段の処理を示したフローチャートである。
【図７】本発明の第２の実施形態を説明するための回路図情報である
【図８】本発明の第２の実施形態においてセルの相対的な配置順序を決定する手段による処理が終了した段階での回路図情報である。
【図９】本発明の第２の実施形態において図７の回路図情報を基に自動的にセルを配置した結果を示す図である。
【図１０】本発明の第３の実施形態を説明するための回路図情報である
【図１１】本発明の第３の実施形態において図１０の回路図情報を基に自動的にセルを配置した結果を示す図である。
【図１２】本発明の第４の実施形態を説明するための回路図情報である
【図１３】本発明の第４の実施形態において図１２の回路図情報を基に自動的にセルを配置した結果を示す図である。
【図１４】本発明の第５の実施形態を説明するための回路図情報である
【図１５】本発明の第５の実施形態において図１４の回路図情報を基に自動的にセルを配置した結果を示す図である。
【図１６】本発明の第５の実施形態において図１４の回路図情報を基に自動的にセルを配置した結果を示す図である。
【図１７】スタンダードセル方式の総配線長が短くなるようなアルゴリズムでセル配置した例を示す図である。
【図１８】本発明の第６の実施形態の構成を説明するための図である。
【図１９】本発明の第６の実施形態を説明するための回路図情報である。
【図２０】本発明の第６の実施形態により配置順序とグループ番号を指定した図である。
【図２１】本発明の第６の実施形態において図１９の回路図情報を基に自動的にセルを配置した結果を示す図である。
【符号の説明】
【００８１】
１１、１８１  回路図情報
１２  セルの相対的な配置順序を決定する手段
１３  セルを自動配置する手段
３１、３２、３３、５１、５２、５３  パス
７１、７２、９１、９２、１０１〜１０４、１１１〜１１４、１２１〜１２３、１３１〜１３３、１４６〜１４８、１６６〜１６８  優先枠
７３、７４、７５、７６、９３、９５、９６  パス
８１〜８７、１０５、１２４、１５１  配置順序
４１〜４８  領域
１４１、１４３、１６１、１６３、１７１、１７３  部分
１４２、１６２、１７２  素子
１８２  セルの相対的な配置順序に加えグループ番号を指定できる手段
１８３  同一グループ番号をもつセルに関してセルの相対的な位置関係を保ったまま配置する手段
１９１、１９２、２１１、２１２  クリティカルパス
２０１  グループ番号
２０２  セルの相対的な配置順序
２０３〜２０５  素子
【図１】
2006146712.tif 000003
【図２】
2006146712.tif 000004
【図３】
2006146712.tif 000005
【図４】
2006146712.tif 000006
【図５】
2006146712.tif 000007
【図６】
2006146712.tif 000008
【図７】
2006146712.tif 000009
【図８】
2006146712.tif 000010
【図９】
2006146712.tif 000011
【図１０】
2006146712.tif 000012
【図１１】
2006146712.tif 000013
【図１２】
2006146712.tif 000014
【図１３】
2006146712.tif 000015
【図１４】
2006146712.tif 000016
【図１５】
2006146712.tif 000017
【図１６】
2006146712.tif 000018
【図１７】
2006146712.tif 000019
【図１８】
2006146712.tif 000020
【図１９】
2006146712.tif 000021
【図２０】
2006146712.tif 000022
【図２１】
2006146712.tif 000023