(57)【要約】  回路設計装置（１０）は、表示部（１５）と、選択部（１１）と、算出部（１２）と、表示制御部（１４）と、を有した。表示部（１５）は、設計図面を表示する。選択部（１１）は、設計画面上に表示された素子の中から、編集対象の素子を選択する。算出部（１２）は、選択部（１１）により素子が選択された時のコマンドの実行状態に基づき、設計画面をズーム表示する際の中心座標及び倍率を算出する。表示制御部（１４）は、算出された中心座標を中心として、算出された倍率により、設計画面を表示部（１５）にズーム表示させる。
2012114523.tif 000002
【特許請求の範囲】
【請求項１】
設計図面を表示する表示部と、
前記設計画面上に表示された素子の中から、編集対象の素子を選択する選択部と、
前記選択部により素子が選択された時のコマンドの実行状態に基づき、前記設計画面をズーム表示する際の中心座標及び倍率を算出する算出部と、
算出された前記中心座標を中心として、算出された前記倍率により、前記設計画面を前記表示部にズーム表示させる表示制御部と
を有することを特徴とする設計装置。
【請求項２】
前記選択部は、所定の選択条件に基づいて、素子を選択し、
前記表示制御部は、前記選択部により選択された素子を、前記編集対象の候補として前記表示部に表示させることを特徴とする請求項１に記載の設計装置。
【請求項３】
前記素子は、セル及びネットを含み、
前記算出部は、前記選択部により選択された素子が、セル、ネットの何れに該当するかに基づき、前記設計画面をズーム表示する際の中心座標及び倍率を算出することを特徴とする請求項１に記載の設計装置。
【請求項４】
前記選択部は、前記編集対象の素子として複数の素子を選択し、
前記算出部は、前記選択部により複数の素子が選択された場合、前記中心座標として、前記複数の素子を内包し、少なくとも１辺が、内包される何れかの素子に接する矩形の中心座標を算出するとともに、前記倍率として、前記矩形の一辺が前記表示部における表示領域の一辺の所定比率となる倍率を算出することを特徴とする請求項１に記載の設計装置。
【請求項５】
前記所定の選択条件は、前記編集対象の素子がセル、ネットの何れに該当するかを示す第１の情報、前記素子が前記設計画面上でどのように配置又は配線されているかを示す第２の情報、前記素子の配置又は配線に係るエラーに関する第３の情報の中から選択された情報に基づく条件であることを特徴とする請求項２に記載の設計装置。
【請求項６】
前記表示部は、前記設計画面上に、複数の素子と当該複数の素子間の重心点とを表示し、
前記表示制御部は、前記設計画面をズーム表示させるとともに、設計画面の中心座標が、ズーム表示された設計画面上での入力位置を示すカーソルと前記重心点とを通過する直線上に位置するように、前記設計画面を前記表示部に表示させることを特徴とする請求項１に記載の設計装置。
【請求項７】
コンピュータが実行する設計方法であって、
設計画面上に表示された素子の中から、編集対象の素子が選択された時のコマンドの実行状態に基づき、前記設計画面をズーム表示する際の中心座標及び倍率を算出し、
算出された前記中心座標を中心として、算出された前記倍率により、前記設計画面をズーム表示させ、
前記中心座標を中心とする前記倍率の設計画面を表示する
ことを特徴とする設計方法。
【請求項８】
コンピュータに、
設計画面上に表示された素子の中から、編集対象の素子を選択された時のコマンドの実行状態に基づき、前記設計画面をズーム表示する際の中心座標及び倍率を算出し、
算出された前記中心座標を中心として、算出された前記倍率により、前記設計画面をズーム表示させ、
前記中心座標を中心とする前記倍率の設計画面を表示する
処理を実行させることを特徴とする設計プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設計装置、設計方法、及び設計プログラムに関する。
【背景技術】
【０００２】
従来、Large  Scale  Integration（ＬＳＩ）回路等の設計をする際、配置配線作業を自動的に行うツールが提供されている。この様なツールにおいても、素子の誤選択や誤配置等、作業後の様々な問題に対処するため、自動で行われた配置配線を手作業で修正することは、信頼性を向上する上で不可欠である。特に近年では、ＬＳＩの大規模化や高性能化に伴い、その性能を最大限に引き出すために、設計者の手作業による配置配線の最適化がその重要性を増している。【０００３】
設計者が手作業で配置配線を行う場合、一般的に、配置配線の行われる領域に対して素子は非常に小さい。このため、設計者が素子を拡大表示（ズームイン）すると、全体の配置配線の様子を把握し難くなる。一方、設計者が、ＬＳＩのタイミング制約に収まるように等長配線や等遅延配線を行う場合には、縮小表示（ズームアウト）することで全体を俯瞰して、配置配線を適宜調整する必要がある。このため、設計者の手作業による配置配線には、多大な時間と手間を要していた。【０００４】
回路設計において配置配線を行う技術としては、例えば、ＣＡＤ（Computer  Aided  Design）システムにおいて、配置配線の対象となる設計図を複数のブロックに分割し、設計者が選択したブロックをディスプレイにズーム表示する技術が知られている。かかる技術では、設計された配置配線にエラーがある場合、設計者が、解消したいエラーをエラーリストから選択して、その箇所をズーム表示させる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−３１１７８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の技術では、設計者は、エラーを解消する際、回路上に配線可能な隙間を見付けるためのズームイン、あるいは、配線方向を確認するためのズームアウトを繰り返す必要がある。したがって、設計者によるズーム操作が増え、配置配線に際しての作業効率が低下することとなる。【０００７】
また、設計者は、配置配線を行う際、その対象となる素子の端子の位置を確認するために、ズームインする必要がある。その結果、配置配線の対象素子は、画面中央に拡大表示されるが、設計者はその後も、配線の位置等を決定するために一旦ズームアウトして回路全体を俯瞰したり、接続先の素子の端子が見えるように再度ズームインを行ったりして作業を行うこととなる。このように、設計者は、ズームする位置や拡大率を自ら調整しなければならず、このことが配置配線作業の時間や手間を増大させる原因となっていた。【０００８】
開示の技術は、上記に鑑みてなされたものであって、回路等を設計する際の配置配線作業の効率化を図ることのできる設計装置、設計方法、及び設計プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本願の開示する設計装置は、一つの態様において、表示部と、選択部と、算出部と、表示制御部と、を有した。前記表示部は、設計図面を表示する。前記選択部は、前記設計画面上に表示された素子の中から、編集対象の素子を選択する。前記算出部は、前記選択部により素子が選択された時のコマンドの実行状態に基づき、前記設計画面をズーム表示する際の中心座標及び倍率を算出する。前記表示制御部は、算出された前記中心座標を中心として、算出された前記倍率により、前記設計画面を前記表示部にズーム表示させる。
【発明の効果】
【００１０】
本願の開示する設計装置の一つの態様によれば、回路等の設計における配置配線作業の効率化を図ることができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、本実施例に係る回路設計装置を説明するための図である。
【図２Ａ】図２Ａは、ズーム位置算出テーブルの一例を示す図である。
【図２Ｂ】図２Ｂは、ズーム率算出テーブルの一例を示す図である。
【図２Ｃ】図２Ｃは、グリッド表示テーブルの一例を示す図である。
【図３】図３は、本実施例における回路設計装置の処理手順を示すフローチャートである。
【図４】図４は、本実施例における編集対象選択処理を説明するためのフローチャートである。
【図５】図５は、本実施例における編集対象ズーム処理を説明するためのフローチャートである。
【図６】図６は、本実施例における配置配線編集処理を説明するためのフローチャートである。
【図７】図７は、本実施例における終了処理を説明するためのフローチャートである。
【図８】図８は、本実施例における制約チェック処理を説明するためのフローチャートである。
【図９】図９は、本実施例における重心連動表示処理を説明するためのフローチャートである。
【図１０Ａ】図１０Ａは、重心連動表示処理において、ネット配線コマンドの実行中にセルＡ１〜Ａ５が選択された場合のエディットマップウィンドウを示す図である。
【図１０Ｂ】図１０Ｂは、重心連動表示処理において、ネット配線コマンドの実行中にセルＡ１が選択された場合のエディットマップウィンドウを示す図である。
【図１１】図１１は、重心連動表示処理において、ネット配線コマンドの実行中にセルＡ１から配線する様子を示す図である。
【図１２】図１２は、本実施例において配置配線作業の対象となる素子の一例を示す図である。
【図１３】図１３は、本実施例において編集作業を開始するフェーズにおけるユーザ操作、回路設計装置の動作、及び設計画面の一例を示す図である。
【図１４】図１４は、本実施例において編集対象の素子を抽出するフェーズにおけるユーザ操作、回路設計装置の動作、及び設計画面の一例の第一過程を示す図である。
【図１５】図１５は、本実施例において編集対象の素子を抽出するフェーズにおけるユーザ操作、回路設計装置の動作、及び設計画面の一例の第二過程を示す図である。
【図１６】図１６は、本実施例において編集対象の素子を抽出するフェーズにおけるユーザ操作、回路設計装置の動作、及び設計画面の一例の第三過程を示す図である。
【図１７】図１７は、本実施例においてコマンドを選択するフェーズにおけるユーザ操作、回路設計装置の動作、及び設計画面の一例を示す図である。
【図１８】図１８は、本実施例において編集対象の素子を選択するフェーズにおけるユーザ操作、回路設計装置の動作、及び設計画面の一例を示す図である。
【図１９】図１９は、本実施例においてコマンドを実行するフェーズにおけるユーザ操作、回路設計装置の動作、及び設計画面の一例を示す図である。
【図２０】図２０は、本実施例において編集結果を確認するフェーズにおけるユーザ操作、回路設計装置の動作、及び設計画面の一例を示す図である。
【図２１】図２１は、本実施例において編集作業を終了するフェーズにおけるユーザ操作、回路設計装置の動作、及び設計画面の一例を示す図である。
【図２２】図２２は、本実施例における回路設計プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示する設計装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１３】
まず、本願の開示する一実施例に係る回路設計装置の構成を説明する。図１は、本実施例に係る回路設計装置１０の機能的構成を示す図である。図１に示すように、回路設計装置１０は、選択部１１と、算出部１２と、記憶部１３と、表示制御部１４と、表示部１５とを有する。これら各構成部分は、一方向又は双方向に信号やデータの入出力が可能なようにバスを介して接続されている。【００１４】
以下の説明において、素子は、セルとネットを包括する概念である。セルは、例えば、ＡＮＤ回路やＯＲ回路等の論理素子、フリップフロップ等の記憶素子である。ネットは、一又は複数のセル間を接続する配線素子である。ネットは更に、ワイヤとビアに分類される。ワイヤは、同一の配線層のセル間を接続（横方向に接続）する配線素子である。ビアは、異なる配線層のワイヤ間、セル間、又は、ワイヤ・セル間を接続（縦方向に接続）する配線素子である。【００１５】
選択部１１は、設計者等のユーザによる入力操作に従い、又は、指示信号をトリガーとして自動的に、編集対象となる素子又はその候補を選択する。例えば、選択部１１は、選択条件として、“遅延超過エラー”＆“セル固有名Ａ＊”＆“全ネット＊”がユーザにより指定された場合には、これらの選択条件に合致する素子を編集対象の素子として選択する。このとき選択される素子は、１つでも複数でもよい。選択部１１の選択した素子は、後述のパレットリストウィンドウに表示される。【００１６】
また、選択部１１は、ユーザからの指示入力に従い、実行対象のコマンドを選択する。選択されるコマンドは、例えば、セル配置、ワイヤ配線、ネット配線である。同様に、選択部１１は、ユーザからの入力操作に従い、後述のパレットリストウィンドウに抽出され表示された素子の中から更に編集対象の素子を選択する。選択される素子は、例えば、セル、ネットである。このとき選択される素子は、１つでも複数でもよい。【００１７】
更に、選択部１１は、ユーザからの入力操作に従い、上記選択された素子が新たに配置又は配線される座標を選択する。かかる選択処理は、例えば、ユーザによるマウスのドラッグ操作やクリック操作に基づいて行われる。【００１８】
選択部１１は、物理的には、例えばＣＰＵ（Central  Processing  Unit）によって実現される。【００１９】
算出部１２は、編集対象の素子が選択されると、その素子がセルであるかネットであるかに基づき、設計画面をズーム表示する際の中心座標及び倍率を算出する。例えば、算出部１２は、選択部１１によりセルが編集対象に選択された場合には、そのセルに外接する矩形の中心座標を中心として、当該矩形の一辺が設計画面の一辺の８０％となるまでズーム表示を行うことを決定する。そして、これを表示制御部１４に指示する。これにより、配置配線の俯瞰を可能とする。【００２０】
また、算出部１２は、コマンドの実行状態に応じたズーム表示を指示する。すなわち、算出部１２は、編集対象の素子が選択された時点におけるコマンドの実行状態に基づき、設計画面をズーム表示する際の中心座標及び倍率を算出する。例えば、算出部１２は、選択部１１によりセルが編集対象に選択されたとき、セル配置コマンドが実行中であれば、選択されたセルの左下座標を中心とするグリッド倍数のズームを表示制御部１４に指示する。これにより、セルの配置作業を容易とする。【００２１】
更に、算出部１２は、複数の素子が選択された場合にも、同様の処理を実行する。すなわち、算出部１２は、選択された複数の素子に外接する矩形の中心座標を算出するとともに、当該複数の素子に外接する矩形の一辺が設計画面の一辺の８０％となる倍率を算出する。そして、算出部１２は、この算出結果を表示制御部１４に出力し、当該中心座標及び倍率でのズーム表示を指示する。これにより、配置配線の俯瞰を可能とする。算出部１２は、物理的には、例えばＣＰＵによって実現される。【００２２】
記憶部１３は、後述の表示部１５に表示される情報を更新可能に記憶する。記憶部１３は、設計画面を構成する各種ウィンドウを表示するための情報を記憶する。具体的には、記憶部１３は、ネットリストウィンドウを表示するための情報として論理設計情報１３１を記憶し、エディットマップウィンドウを表示するための情報として物理設計情報１３２を記憶する。更に、記憶部１３は、エラー結果ウィンドウを表示するための情報として制約チェック結果情報１３３を記憶し、パレットリストウィンドウを表示するための情報としてパレットリスト１３４を記憶する。パレットリスト１３４には、過去に編集対象又はその候補として選択された素子の履歴情報も含まれる。これにより、パレットリスト１３４の再利用が可能になる。【００２３】
ここで、論理設計情報とは、配置配線対象の論理回路の中に、如何なるセルやネットが存在するかを示す情報（素子自体の種類や属性に関する情報）である。物理設計情報とは、セルを何処に配置するか、如何なる配線をするか等、素子の配置配線に関する情報である。制約チェック結果情報とは、配置配線に係る制約に違反している箇所やその種類を示すエラー情報である。【００２４】
パレットリスト１３４は、コマンド情報１３４ａ及び新規パレットフラグ１３４ｂを記憶する。コマンド情報１３４ａは、コマンドの実行状態を示す情報であり、例えば“セル配置実行中”、“ワイヤ配線実行中”、“ネット配線実行中”、“未実行”の何れかを示す情報である。新規パレットフラグ１３４ｂは、パレットリスト１３４の情報を履歴情報として新たに追加するか、上書きして更新するかを示すフラグである。新規パレットフラグ１３４ｂがオンであれば、パレットリスト１３４の情報は追加され、オフであれば、上書きで更新される。【００２５】
記憶部１３は、算出部１２がズームの中心座標や倍率を決定する際に参照される各種テーブルを有する。図２Ａは、ズーム位置の算出に際して参照されるテーブルの一例を示す図である。図２Ａに示すように、ズーム位置算出テーブル１３５には、ズームの中心座標が、選択素子及びコマンド情報１３４ａと対応付けられて記憶されている。コマンド情報１３４ａとしては、「セル配置実行中」、「ワイヤ配線実行中」、「ネット配線実行中」及び「未実行」が割り当てられている。また、選択素子としては、「セル」、「ネット」及び「複数」が割り当てられている。選択素子が「セル」の場合には、コマンドの実行状態に応じて、“選択セルの左下端の座標”、“選択セルの接続先の座標”、“選択セルの中心座標”及び“選択セルに外接する矩形の中心座標”がそれぞれ対応付けられている。同様に、選択素子が「ネット」の場合には、コマンドの実行状態に応じて、“選択ネットの左下端の座標”、“選択ネットの接続先の座標”、“選択ネットの中心座標”及び“選択ネットに外接する矩形の中心座標”がそれぞれ対応付けられている。そして、選択素子が「複数」ある場合には、コマンドの実行状態を問わず、それら“複数の選択素子に外接する矩形の中心座標”が対応付けられている。これにより、例えば、コマンドが「ネット配線実行中」の時に、素子として「セル」が選択された場合には、選択されたセルの中心座標がズーム位置として算出されることになる。【００２６】
図２Ｂは、ズーム率の算出に際して参照されるテーブルの一例を示す図である。図２Ｂに示すように、ズーム率算出テーブル１３６には、ズームの倍率が、選択素子及びコマンド情報１３４ａと対応付けられて記憶されている。コマンド情報１３４ａとしては、「セル配置実行中」、「ワイヤ配線実行中」、「ネット配線実行中」及び「未実行」が割り当てられている。また、選択素子としては、「セル」、「ネット」及び「複数」が割り当てられている。選択素子が「セル」の場合には、コマンドの実行状態に応じて、“配置グリッドの倍数（デフォルト値は１）”、“配線グリッドの倍数（デフォルト値は１）”がそれぞれ対応付けられている。また、コマンドの実行状態に応じて、“選択素子の一辺がエディットマップウィンドウの一辺の５０％となる率”、“選択素子に外接する矩形の一辺がエディットマップウィンドウの一辺の８０％となる率”がそれぞれ対応付けられている。なお、配置グリッドの倍数は、例えば１倍の時には１０ｎｍは１０ドットで表示し、２倍の時には２０ドットで表示するといった設定が可能である。同様に、選択素子が「ネット」の場合には、コマンドの実行状態に応じて、“配置グリッドの倍数（デフォルト値は１）”、“配線グリッドの倍数（デフォルト値は１）”がそれぞれ対応付けられている。また、コマンドの実行状態に応じて、“選択素子の一辺がエディットマップウィンドウの一辺の８０％となる率”、“選択素子に外接する矩形の一辺がエディットマップウィンドウの一辺の８０％となる率”がそれぞれ対応付けられている。そして、選択素子が「複数」ある場合には、コマンドの実行状態を問わず、“それら複数の選択素子に外接する矩形の一辺がエディットマップウィンドウの一辺の８０％となる率”が対応付けられている。これにより、例えば、コマンドが「セル配置実行中」の時に、素子が「複数」選択された場合には、それらの素子に外接する矩形の一辺がエディットマップウィンドウの一辺の８０％となる倍率がズーム率として算出されることになる。【００２７】
図２Ｃは、グリッド表示を行うか否かの決定に際して参照されるテーブルの一例を示す図である。図２Ｃに示すように、グリッド表示テーブル１３７には、グリッドの表示・非表示が、選択素子及びコマンド情報１３４ａと対応付けられて記憶されている。コマンド情報１３４ａとしては、「セル配置実行中」、「ワイヤ配線実行中」、「ネット配線実行中」及び「未実行」が割り当てられている。また、選択素子としては、「セル」、「ネット」及び「複数」が割り当てられている。コマンドの実行状態に応じて、“配置グリッド表示”、“配線グリッド表示”、“非表示”及び“非表示”がそれぞれ対応付けられている。なお、本実施例では、選択素子を問わず、同一のグリッド表示となるような設定がされているが、選択された素子が何であるかによって、グリッド表示の有無や態様を変えてもよい。【００２８】
記憶部１３は、物理的には、例えばハードディスク等の記憶装置によって実現される。【００２９】
表示制御部１４は、算出部１２から入力された中心座標と倍率とに従い、設計画面のズーム処理を行う。具体的には、表示制御部１４は、設計画面上の全ての素子の中から選択部１１により選択された編集対象の候補となる素子を、パレットリストウィンドウに表示させる。パレットリストウィンドウに表示される素子は、ユーザによって選択条件が指定される度に絞り込まれていくため、表示制御部１４は、この絞込みが行われる毎に、パレットリストウィンドウを随時更新しながら表示させていく。【００３０】
併せて、表示制御部１４は、エディットマップウィンドウを表示させる。表示制御部１４は、各時点でパレットリスト上に掲載されている素子が設計画面上で識別可能なように、エディットマップウィンドウを随時更新する。編集対象の候補となる素子の識別表示として、例えば、太線枠、網掛け、色付き等の表示が可能である。【００３１】
また、表示制御部１４は、候補の中から実際に編集対象の素子が指定された場合には、その素子が識別可能なようにパレットリストウィンドウの表示を更新する。同時に、表示制御部１４は、エディットマップウィンドウの表示についても同様の更新を行う。このとき、編集対象の素子として複数の素子が選択された場合には、複数の素子が識別表示される。編集対象の素子の識別表示として、パレットリストウィンドウ（テキスト表示）では、太字、下線、網掛け、囲み線等による表示が可能である。エディットマップウィンドウ（図面表示）では、太線、太線枠、網掛け、色付き等の表示を用いることができる。【００３２】
表示制御部１４は、物理的には、例えばＣＰＵによって実現される。【００３３】
表示部１５は、設計画面を表示するとともに、表示制御部１４からの指示入力に従い、実際に設計画面のズーム表示を行う。【００３４】
表示部１５は、物理的には、例えば液晶ディスプレイによって実現される。【００３５】
次に、回路設計装置１０の動作を説明する。【００３６】
まず、図３を参照しながら、回路設計装置１０により実行される一連の処理を説明する。図３は、本実施例における回路設計装置の処理手順を示すフローチャートである。回路設計装置１０は、後述の編集対象選択処理あるいは制約チェック処理の実行指示を待機しており、実行指示があると（ステップＳ１；Ｙｅｓ）、その指示が制約チェックの指示であるかを判定する（ステップＳ２）。【００３７】
ステップＳ２において、指示が制約チェックでない場合（ステップＳ２；Ｎｏ）、回路設計装置１０は、後述の編集対象選択処理（ステップＳ３）、編集対象ズーム処理（ステップＳ４）を実行する。その後、回路設計装置１０は、後述の配置配線編集処理（ステップＳ５）及び終了処理（ステップＳ６）を実行する。一方、指示が制約チェックの指示である場合には（ステップＳ２；Ｙｅｓ）、回路設計装置１０は、後述の制約チェック処理を実行する（ステップＳ７）。【００３８】
まず、編集対象選択処理について、図４のフローチャートを参照して説明する。【００３９】
回路設計装置１０は、選択部１１により、コマンドの入力を待機し（ステップＳ３０１）、コマンドの入力があると（ステップＳ３０１；Ｙｅｓ）、その種類をコマンド情報１３４ａとしてパレットリスト１３４に格納する（ステップＳ３０２）。このコマンド情報１３４ａは、パレットリスト１３４を表示する際に、一覧表示される素子を選ぶ指標として参照される。【００４０】
ステップＳ３０３に移り、ネットリストウィンドウから論理設計情報に係る選択条件の入力があると（ステップＳ３０３；Ｙｅｓ）、回路設計装置１０は、記憶部１３から論理設計情報１３１を読み出す。そして、回路設計装置１０は、当該選択条件に合致する論理設計情報１３１のリストを生成する（ステップＳ３０４）。同時に、リスト種類として“ネット”が設定される。その後、後述のステップＳ３１１の処理が実行される。【００４１】
ここで、ネットリストウィンドウによって入力される選択条件は、例えば、素子（セル・ネット）の固有名、素子の種別、接続ネット名、クリティカルパス等に基づいて指定することができる。【００４２】
次のステップＳ３０５では、エディットマップウィンドウから物理設計情報に係る選択条件の入力があると（ステップＳ３０５；Ｙｅｓ）、回路設計装置１０は、記憶部１３から物理設計情報１３２を読み出す。そして、回路設計装置１０は、当該選択条件に合致する物理設計情報１３２のリストを生成する（ステップＳ３０６）。同時に、リスト種類として“図形”が設定される。その後、後述のステップＳ３１１の処理が実行される。【００４３】
ここで、エディットマップウィンドウによって入力される選択条件は、例えば、マップ上で指定する点座標や矩形領域、配線階層別等に基づいて指定することができる。【００４４】
ステップＳ３０７に移り、エラー結果ウィンドウから制約チェック結果情報に係る選択条件の入力があると（ステップＳ３０７；Ｙｅｓ）、回路設計装置１０は、記憶部１３から制約チェック結果情報１３３を読み出す。そして、回路設計装置１０は、当該選択条件に合致する制約チェック結果情報１３３のリストを生成する（ステップＳ３０８）。同時に、リスト種類として“制約”が設定される。その後、後述のステップＳ３１１の処理が実行される。【００４５】
ここで、エラー結果ウィンドウによって入力される選択条件は、例えば、配置異常、配線異常、遅延異常、デザインルール異常等に基づいて指定することができる。【００４６】
次のステップＳ３０９では、回路設計装置１０は、記憶部１３におけるパレットリスト１３４の有無を判定し、有る場合には（ステップＳ３０９；Ｙｅｓ）、記憶部１３からその履歴情報を取得し、その情報からアイテムリストを生成する（ステップＳ３１０）。同時に、リスト種類として“パレット”が設定される。その後、後述のステップＳ３１１の処理が実行される。【００４７】
そして、回路設計装置１０は、現時点で設定されているリストの種類が“パレット”であるかを判定する（ステップＳ３１１）。リスト種類がパレットである場合には（ステップＳ３１１；Ｙｅｓ）、回路設計装置１０は、論理設計情報１３１、物理設計情報１３２、及び制約チェック結果情報１３３の各種情報を基に、素子の絞込みを行う。これにより、パレットリスト１３４が生成される。生成後、新規パレットフラグ１３４ｂは“オン”に設定される（ステップＳ３１２）。【００４８】
ステップＳ３１１においてリスト種類がパレットでない場合には（ステップＳ３１１；Ｎｏ）、リスト種類が一致しているか否かの判定を経て（ステップＳ３１３）、ステップＳ３１２と同様の処理が実行される。すなわち、回路設計装置１０は、論理設計情報１３１、物理設計情報１３２、及び制約チェック結果情報１３３の各種情報を追加して、パレットリスト１３４を生成する。生成後、新規パレットフラグ１３４ｂは“オン”に設定される（ステップＳ３１４）。【００４９】
ステップＳ３１２及びＳ３１４で生成されたパレットリスト１３４は、配置配線対象のリストとして、パレットリストウィンドウに表示される（ステップＳ３１５）。【００５０】
例えば、ステップＳ３０３において、ユーザがネットリストウィンドウから“Ａ＊”のセルを選択した後、ステップＳ３０５において、エディットマップウィンドウからマウスのドラッグ操作により、セルＡ６，Ａ７を含まない矩形領域を一括選択したとする。この場合、ステップＳ３１２では、上記矩形領域内にあるセルＡ１〜Ａ５がリストアップされるため、ステップＳ３１５のパレットリストウィンドウには、セルＡ１〜Ａ５が表示されることとなる。【００５１】
次に、編集対象ズーム処理について、図５のフローチャートを参照して説明する。【００５２】
まず、ステップＳ４０１の選択素子判別処理では、選択素子が複数であるか否かの判定が行われる。当該判定の結果、単数である場合（ステップＳ４０１；Ｎｏ）、編集対象ズーム処理は、コマンド判別処理に移行する。コマンド判別処理では、回路設計装置１０は、算出部１２により、現時点におけるコマンド状態の判定を行う。すなわち、算出部１２は、コマンドの実行状態が「セル配置」、「ワイヤ配線」、「ネット配線」の何れにあるか、あるいは、これら何れの状態にも無いかを判定する（ステップＳ４０２〜４０４）。【００５３】
何れの状態にもない場合（ステップＳ４０４；Ｎｏ）には、算出部１２は、コマンドが“未実行”かつ選択素子が“全素子”であると判別する（ステップＳ４０５）。【００５４】
また、ステップＳ４０４においてコマンドが「ネット配線」である場合（ステップＳ４０４；Ｙｅｓ）には、算出部１２は、選択素子が「セル」であるか否かを判定する（ステップＳ４０６）。判定の結果、セルでない場合（ステップＳ４０６；Ｎｏ）には、算出部１２は、コマンドが“ネット配線”かつ選択素子が“ネット”であると判別する（ステップＳ４０７）。一方、セルである場合（ステップＳ４０６；Ｙｅｓ）には、算出部１２は、コマンドが“ネット配線”かつ選択素子が“セル”であると判別する（ステップＳ４０８）。【００５５】
上記ステップＳ４０１における判定結果が複数である場合には（ステップＳ４０１；Ｙｅｓ）、ステップＳ４０９の処理が実行される。すなわち、算出部１２は、コマンドが“全コマンド共通”かつ選択素子が“複数”であると判別する（ステップＳ４０９）。【００５６】
更に、選択素子が単数であると判定された場合において（ステップＳ４０１；Ｎｏ）、コマンドの実行状態が“セル配置”である場合には（ステップＳ４０２；Ｙｅｓ）、算出部１２は、コマンドが“セル配置”かつ選択素子が“全素子”であると判別する（ステップＳ４１０）。同様に、コマンドの実行状態が“ワイヤ配線”である場合には（ステップＳ４０３；Ｙｅｓ）、算出部１２は、コマンドが“ワイヤ配線”かつ選択素子が“全素子”であると判別する（ステップＳ４１１）。【００５７】
判別結果が算出されると、ステップＳ４１２のズーム設定算出処理が実行される。この処理では、算出部１２は、ズーム位置算出テーブル１３５及びズーム率算出テーブル１３６を参照し、上記判別結果を基に、エディットマップウィンドウをズーム表示させる際の中心位置と倍率とを設定する（ステップＳ４１２）。【００５８】
次のステップＳ４１３〜４１７では、グリッド表示又は非表示が決定される。すなわち、回路設計装置１０は、算出部１２により、コマンドの実行状態が「セル配置」にあるか否かの判定を行う（ステップＳ４１３）。当該判定の結果、コマンドが「セル配置」である場合には（ステップＳ４１３；Ｙｅｓ）、回路設計装置１０は、表示制御部１４により、ズーム表示されているエディットマップウィンドウを配置グリッド表示とする（ステップＳ４１４）。また、コマンドが「ワイヤ配線」である場合には（ステップＳ４１５；Ｙｅｓ）、回路設計装置１０は、ズーム表示されているエディットマップウィンドウを配線グリッド表示とする（ステップＳ４１６）。そして、コマンドが「セル配置」、「ワイヤ配線」の何れでもない場合には（ステップＳ４１５；Ｎｏ）、回路設計装置１０は、グリッドを表示しない（ステップＳ４１７）。【００５９】
ステップＳ４１８では、回路設計装置１０は、ステップＳ４１２で設定されたズームの中心位置座標及び倍率に基づき、物理設計情報１３２を、表示部１５のエディットマップウィンドウにズーム表示させる（ステップＳ４１８）。【００６０】
なお、このときズーム表示されたエディットマップウィンドウのズーム位置及びズーム率は、ユーザの入力操作によって、適宜変更することもできる。【００６１】
次に、図６を参照しながら、配置配線編集処理を説明する。図６は、本実施例における配置配線編集処理を説明するためのフローチャートである。【００６２】
回路設計装置１０は、コマンドがセル配置であるか否かを判定し（ステップＳ５０１）、セルの配置の編集処理である場合には（ステップＳ５０１；Ｙｅｓ）、算出部１２により、セル間の重心の位置座標を算出する（ステップＳ５０３）。すなわち、算出部１２は、上述の編集対象選択処理で選択された素子のセルにネットを介して接続されている全てのセルの座標位置から、これら全セルの重心位置の座標をセル間の重心として算出する。次に、表示制御部１４は、ステップＳ５０３で算出されたセル間の重心の位置座標から、重心表示用のラバーバンドを表示させる（ステップＳ５０４）。このラバーバンドは、セル間の重心と各セルの端子とを接続するように、エディットマップウィンドウ上に例えば放射線状に表示される。ラバーバンドは、選択セルから、全セルの重心方向に向かってユーザが配線を行う際、配線方向の指標となる。ここで、全セルの重心方向における全セルとは、選択された全てのセル、及び選択されたネットに接続された全てのセルを指す。【００６３】
また、コマンドがネット配線であると判定された場合（ステップＳ５０２；Ｙｅｓ）にも、回路設計装置１０は、上記ステップＳ５０３及びＳ５０４と同様の処理を実行する。【００６４】
ステップＳ５０４の処理が終了した場合、あるいは、ステップＳ５０２において編集対象がネット配線でないと判定された場合（ステップＳ５０２；Ｎｏ）には、上述の配置配線編集処理は終了する。【００６５】
続いて、図７を参照しながら、終了処理を説明する。図７は、本実施例における終了処理を説明するためのフローチャートである。【００６６】
終了処理において、回路設計装置１０は、パレットリスト１３４の新規パレットフラグ１３４ｂが“オン”状態にあるか“オフ”状態にあるかを判定する（ステップＳ６０１）。判定の結果、新規パレットフラグ１３４ｂが“オフ”の場合には（ステップＳ６０１；オフ）、回路設計装置１０は、パレットリスト１３４の情報を最新履歴のパレットリストにより上書きする（ステップＳ６０２）。これにより、パレットリスト１３４は、最新のパレットリストにより更新（上書き保存）された状態となる。【００６７】
一方、ステップＳ６０１における判定の結果、新規パレットフラグ１３４ｂが“オン”の場合には（ステップＳ６０１；オン）、回路設計装置１０は、パレットリストを履歴として追加する。そして、回路設計装置１０は、新規パレットフラグ１３４ｂの設定状態を“オン”から“オフ”に変更する（ステップＳ６０３）。これにより、記憶部１３のパレットリスト１３４は、最新のパレットリストが履歴情報として追加（別名で保存）された状態となる。【００６８】
なお、パレットリストの履歴情報は、データ容量が所定値を超えると、古い順あるいは使用頻度の低い順に削除されるものとしてもよい。また、不要となった履歴情報を、ユーザがパレットリスト１３４から削除するものとしてもよい。更に、再利用する履歴情報は、名前や記号を付して削除されないようにすることで、再利用が容易となる。【００６９】
パレットリストの履歴情報は、ユーザが過去に使用したパレットリストの再利用（流用）を容易にするだけでなく、ユーザは、過去の履歴情報に対して、新たな選択条件を付与することにより、所望の素子を絞り込むこともできる。【００７０】
次に、図８を参照しながら、制約チェック処理を説明する。図８は、本実施例における制約チェック処理を説明するためのフローチャートである。【００７１】
まず、回路設計装置１０は、算出部１２により、記憶部１３から論理設計情報１３１及び物理設計情報１３２を取得すると、この物理設計情報１３２を参照して、配置配線におけるエラーの有無のチェック（制約チェック）を行う（ステップＳ７０１）。制約チェックには、例えば、配置チェック、配線チェック、タイミングチェック、デザインルールチェック等が含まれる。【００７２】
制約チェックの結果は、表示制御部１４により、エラー結果ウィンドウに表示される（ステップＳ７０２）。また、制約チェックの結果は、制約チェック結果情報１３３として、記憶部１３に格納される（ステップＳ７０３）。そして、制約チェック処理を終了する。【００７３】
次に、図９、図１０Ａ、図１０Ｂ及び図１１を参照しながら、ユーザが実際に未配線ネットの配線作業を行うフェーズの処理について説明する。【００７４】
図９は、本実施例における重心連動表示処理を説明するためのフローチャートである。【００７５】
まず、ユーザがパレットリストウィンドウから編集対象のネットを選択すると（ステップＳ８０１）、算出部１２は、そのネット上にある全セルの端子の座標から、セル間の重心位置の座標Ｇを算出する（ステップＳ８０２）。【００７６】
ここで、パレットリストウィンドウから素子を選択する方法としては、例えば、単一、連続、複数、前パレットリスト上の次アイテム等がある。【００７７】
表示制御部１４は、算出部１２により算出された重心位置の座標Ｇが入力されると、その座標Ｇからネット上の各セルの端子へ向かって、重心表示用のラバーバンドを描画する（ステップＳ８０３）。図１０Ａは、ネット上にセルＡ１〜Ａ５が存在する場合においてラバーバンドＲ１〜Ｒ５が描画されたエディットマップウィンドウ１５２ａの一例を示す図である。【００７８】
ユーザが、パレットリストウィンドウから、配線を開始するセルを選択すると（ステップＳ８０４）、表示制御部１４は、マウスカーソルを当該セルの端子座標に合わせる。そして、表示制御部１４は、マウスカーソルの位置と上記重心位置とに基づき、選択されたセルの表示位置を画面の中心位置からずらして、セルを表示させる（ステップＳ８０５）。すなわち、表示制御部１４は、選択されたセルの端子の位置にあるマウスカーソルの座標とセル間の重心の位置座標との中点が、エディットマップウィンドウの中心になるように、ズーム表示を行う。図１０Ｂは、セルＡ１が選択されたときのエディットマップウィンドウ１５２ｃの一例を示す図である。【００７９】
図１０Ｂでは、エディットマップウィンドウ１５２ｂがエディットマップウィンドウ１５２ｃにズーム表示されている。エディットマップウィンドウ１５２ｃでは、配線のスタート地点としてセルＡ１が選択されたため、セルＡ１の端子Ｔ１上にマウスカーソルＭが位置している。また、マウスカーソルＭとセル間の重心位置Ｇとの中間点（重心表示用ラバーバンドＲ１の中点）が、エディットマップウィンドウ１５２ｃの中心座標Ｃとなっている。その結果、セルＡ１は、画面上左端部にずれて表示されることになる。換言すれば、配線対象のセルＡ１は、画面上で配線を引き出す方向とは反対方向（例えば、左上方向）に寄せて表示される。【００８０】
ステップＳ８０５の処理により、エディットマップウィンドウにおいて、配線元のセルから重心へ向かう方向の領域が広くなる。例えば、図１０Ｂでは、セルＡ１からセル間の重心Ｇに向かう方向の中心点Ｃ近傍が広く表示されるため、右下方向への配線が容易となり、ユーザはその方向への配線を促される。併せて、ユーザは、ズームアウトして全セルＡ１〜Ａ５の位置関係を俯瞰しなくとも、重心表示用ラバーバンドＲ１と中心座標Ｃとの位置関係から、セルＡ１と他のセルとの位置関係を容易に把握することができる。【００８１】
ステップＳ８０６に移り、ユーザがマウス操作によりセル間の重心方向へ配線を延ばすと、表示制御部１４は、マウスカーソルの位置と上記重心位置とに基づき、セルの表示位置を更新する（ステップＳ８０７）。すなわち、表示制御部１４は、現在配線の先端に位置するマウスカーソルの座標とセル間の重心の位置座標とを結ぶ直線上に、エディットマップウィンドウの中心が位置するように、ズーム表示を更新する。図１１は、セルＡ１から画面右下方向へ配線が開始されたときのエディットマップウィンドウ１５２ｅの一例を示す図である。【００８２】
図１１では、エディットマップウィンドウ１５２ｄがエディットマップウィンドウ１５２ｅにズーム表示されている。エディットマップウィンドウ１５２ｅでは、セルＡ１の端子Ｔ１を起点とし、マウスカーソルＭの位置座標を終点とする配線Ｗが描画されている。マウスカーソルＭの移動に伴い、マウスカーソルＭとセル間の重心位置Ｇとを結ぶ直線上にエディットマップウィンドウの中心が移動する。この移動に合わせて、エディットマップウィンドウ１５２ｅの中心座標Ｃを中心とするズームが実行される。【００８３】
なお、マウスカーソルＭと画面中心点Ｃと重心位置Ｇとの位置関係について、画面中心点Ｃは、常にマウスカーソルＭと重心位置Ｇとを通過する直線上にある。また、上述のように、ＭＣ間の距離はＣＧ間の距離と所定の関係を保つ。ここで、所定の関係とは、ＭＣ間の距離がＣＧ間の距離と等しい（等間隔の）場合や、ＭＣ間の距離がＣＧ間の距離と比例関係にある場合である。これにより、例えば、マウスカーソルＭが重心位置Ｇまで移動したとき、マウスカーソルＭは画面中心点Ｃと一致することになる。反対に、マウスカーソルＭが重心位置Ｇから離れる方向に移動すると、重心位置Ｇは何れウィンドウ内に表示されなくなるので、ユーザは、マウスカーソルＭが重心とは反対の方向に向かっていることを認識することができる。このとき、重心位置Ｇは、マウスカーソルＭの移動方向とは逆方向にあるので、例えば、ユーザがマウスカーソルＭを左下方向に移動させている場合には、重心は画面外の右上方向にあることになる。したがって、ユーザは、右上方向に向かって配線を引いていけば、重心に向かって配線をすることができる。【００８４】
また、マウスカーソルＭは、常時、エディットマップウィンドウに表示されるが、重心位置Ｇがウィンドウ外に出た場合も、ＭＣ間の距離は、ＣＧ間の距離と比例関係を保つ。つまり、ユーザは、マウスカーソルＭと画面中心点Ｃとの距離の変化から、画面中心点Ｃと重心位置Ｇとの距離の変化を把握することができるため、この変化を基に、配線の進捗状況を簡易迅速に把握することができる。【００８５】
ステップＳ８０７の処理により、エディットマップウィンドウにおいて、配線の先端から重心へ向かう方向の領域が広くなる。例えば、図１１では、配線Ｗの先端Ｍから重心Ｇに向かう方向の中心点Ｃ近傍が広く表示されるため、右上方向への配線が容易となり、ユーザはその方向への配線を促される。併せて、ユーザは、ズームアウトして全セルＡ１〜Ａ５の位置関係を再び俯瞰しなくとも、重心表示用ラバーバンドＲ１，Ｒ４と中心座標Ｃとの位置関係から、配線ＷとセルＡ１〜Ａ５との位置関係を容易に把握することができる。【００８６】
上記ステップＳ８０６、Ｓ８０７の各処理は、マウスカーソルの位置がセル間の重心位置に到達するまで繰り返し実行される（ステップＳ８０８）。マウスカーソルが上記重心位置に到達すると（ステップＳ８０８；Ｙｅｓ）、ステップＳ８０４で選択されたセルに関する配線は終了する（ステップＳ８０９）。【００８７】
ステップＳ８１０に進み、ステップＳ８０４〜８０９の一連の処理は、編集対象のネット上の全てのセルに対して実行される。すなわち、ステップＳ８０９の配線を終えた時点で未配線のセルが残存する場合には（ステップＳ８１０；Ｎｏ）、ステップＳ８０４に戻り、未配線セルが、配線を開始するセルとして選択される。そして、ステップＳ８０４以降の処理が繰り返し実行される。その結果、ネット上の全てのセルについて配線が終了した場合には（ステップＳ８１０；Ｙｅｓ）、重心連動表示処理を使用した未配線ネットの配線作業は終了する。【００８８】
以上でフローチャートを用いた動作説明を終了する。【００８９】
次に、図１２に示す配置配線状態にある論理回路を例に採り、上述した一連の処理が実行されるのに伴い、パレットリストウィンドウ及びエディットマップウィンドウが遷移する様子を、図１３〜図２１を参照しながら説明する。【００９０】
図１２は、本実施例において配置配線作業の対象となる素子の一例を示す図である。本実施例において配置配線作業の対象となる回路は、論理設計情報１３１及び物理設計情報１３２に基づき予め配置配線されたが、その後のデザインルールチェックにより、エラーが発見されたものである。図１２に示すように、編集対象の論理回路は、セルＡ１〜Ａ７、セルＢ１〜Ｂ５、及びセルＣ１〜Ｃ５、並びに、ネットＮＡ１，２，４，６を少なくとも有する。また、編集対象の論理回路は、制約チェック結果情報１３３として、６ヶ所のエラーＥ１〜Ｅ６を有する。図１２の×印は、エラー箇所を示す。【００９１】
以下、セルＡ１に存在するエラーＥ１を修正する過程を例に採り、実際の作業手順に沿って、ユーザが回路設計装置１０によりエラーＥ１を修正していく処理について説明する。【００９２】
図１３は、本実施例において編集作業を開始するフェーズにおけるユーザ操作、回路設計装置１０の動作、及び設計画面の一例を示す図である。図１３に示すように、ユーザが回路設計装置１０を起動すると、コマンドの選択が初期化され未選択の状態になる（Ｇ１）。ユーザがエラー結果ウィンドウを開くと（Ｆ１）、制約チェック結果情報１３３が記憶部１３から読み込まれ（Ｈ１）、エラー結果ウィンドウに表示される。同様に、ユーザがネットリストウィンドウを開くと（Ｆ２）、論理設計情報１３１が記憶部１３から読み込まれ（Ｈ２）、ネットリストウィンドウに表示される。また、ユーザがパレットリストウィンドウを開くと（Ｆ３）、記憶部１３からパレットリスト履歴が読み込まれ（Ｈ４）、初期状態として全選択状態のパレットリストがパレットリストウィンドウに表示される（Ｇ２）。装置の起動時には、全てのセルが選択されている状態となるため、表示部１５の設計画面は、パレットリストウィンドウ１５４ａのように、全てのセルＡ１〜Ａ７、Ｂ１〜Ｂ５、及びＣ１〜Ｃ５がスクロール表示される。物理設計情報１３２についても同様に、記憶部１３から読み込まれ（Ｈ３）、エディットマップウィンドウに表示される（Ｆ４）。このとき自動ズーム表示（Ｇ３）が実行されるが、初期値ではコマンドは「未選択」状態にあり、かつ、選択素子は「複数」であることから、設計画面は、エディットマップウィンドウ１５２ｆの様な表示状態となる。【００９３】
次に、図１４を参照しながら、本実施例において編集対象の素子を抽出するフェーズについて説明する。図１４は、本実施例において編集対象の素子を抽出するフェーズにおけるユーザ操作、回路設計装置の動作、及び設計画面の一例の第一過程を示す図である。図１４に示すように、例えば、ユーザが素子の選択条件として“遅延超過エラー”を入力すると（Ｊ１）、回路設計装置１０は、エラー結果ウィンドウからの選択条件を取得し（Ｆ５）、修正すべきエラーのある素子を抽出する（Ｇ４）。この抽出は、選択部１１により行われる。これにより、パレットリスト１３４が更新され（Ｇ５）、更新結果は、履歴情報としてパレットリスト１３４に記憶される（Ｈ５）。また、パレットリスト１３４の更新結果は、パレットリストウィンドウの表示内容を更新する（Ｆ６）。その結果、パレットリストウィンドウには、パレットリストウィンドウ１５４ｂのように、遅延超過エラーを有するセルＡ１，Ａ６，Ｂ１，Ｂ４，Ｃ１，及びＣ４のみが、編集対象の素子として一覧表示される。また、パレットリストウィンドウ１５４ｂの最上段には、上記選択条件として“ｃｅｌｌ＊：ｄｅｌａｙ”が表示される。なお、本実施例において、コロン“：”はアンド条件を表す。また、“ｃｅｌｌ＊：ｄｅｌａｙ”は、パレットリストウィンドウ１５４ｂに表示されている素子の一覧が「任意のセル」と「遅延超過エラーを有する素子」との２つの条件により絞込みが行われた結果であることを示す。【００９４】
パレットリスト１３４の更新後、回路設計装置１０は、表示制御部１４により自動ズーム表示を行う（Ｇ６）。この時点では、ユーザによるコマンド選択や素子選択が行われていないため、コマンドの実行状態及び選択素子は依然として初期値のままであるが、選択素子は、上記２つの条件により絞り込まれている。したがって、選択素子はセルＡ１，Ａ６，Ｂ１，Ｂ４，Ｃ１，及びＣ４の６素子となり、エディットマップウィンドウは、パレットリストウィンドウ１５４ｂ上のこれらのセルに対して自動的にズームされる。その結果、図１３に示したエディットマップウィンドウ１５２ｆは、図１４に示すエディットマップウィンドウ１５２ｇの画面状態に遷移する。更に、エラーの検知された上記６つのセルについては、編集候補の素子を視認可能なように、各セル上に×印が付される等、エディットマップウィンドウの表示が更新される（Ｆ７）。図１４において、更新表示されたエディットマップウィンドウ１５２ｇ内のセルＡ１，Ａ６，Ｂ１，Ｂ４，Ｃ１，及びＣ４には、それぞれエラー結果を示す符号Ｅ１〜Ｅ６が付されている。これにより、ユーザは、修正すべきエラーのある素子の位置を一目で把握することができる。【００９５】
上記ではエラー結果ウィンドウから素子の絞込みが行われる過程について説明したが、続いて、ネットリストウィンドウから絞込みが行われる過程について、図１５を参照しながら説明する。図１５は、本実施例において編集対象の素子を抽出するフェーズにおけるユーザ操作、回路設計装置の動作、及び設計画面の一例の第二過程を示す図である。図１５に示すように、例えば、ユーザが素子の選択条件として更にセル名“Ａ＊”を入力すると（Ｊ２）、回路設計装置１０は、ネットリストウィンドウからの選択条件を取得し（Ｆ８）、当該条件に合致する素子を抽出する（Ｇ７）。この抽出は、選択部１１により行われる。これにより、パレットリスト１３４が更新され（Ｇ８）、更新結果は、履歴情報としてパレットリスト１３４に記憶される（Ｈ６）。また、パレットリスト１３４の更新結果は、パレットリストウィンドウの表示内容を更新する（Ｆ９）。その結果、パレットリストウィンドウには、パレットリストウィンドウ１５４ｃのように、セルＡ１及びＡ６のみが、編集対象の素子として表示される。また、パレットリストウィンドウ１５４ｃの最上段には、上記選択条件として“ｄｅｌａｙ：ｃｅｌｌ  Ａ＊”なるテキストデータが表示される。なお、“ｄｅｌａｙ：ｃｅｌｌ  Ａ＊”は、パレットリストウィンドウ１５４ｃに表示されている素子の一覧が「遅延超過エラーを有する素子」と「セルＡのセル」との２つの条件により絞込みが行われた結果であることを示す。【００９６】
パレットリスト１３４が更新されると、回路設計装置１０は、自動ズーム表示を行う（Ｇ９）。この時点では未だ、コマンド選択や素子選択が行われていないため、コマンドの実行状態及び選択素子は依然として初期値のままであるが、選択素子は、上記２つの条件により絞り込まれている。したがって、選択素子はセルＡ１及びＡ６の２素子となり、エディットマップウィンドウは、パレットリストウィンドウ１５４ｃ上のこれらのセルに対して自動的にズームされる。その結果、図１４に示したエディットマップウィンドウ１５２ｇは、図１５に示すエディットマップウィンドウ１５２ｈの画面状態に遷移する。セルＡ１及びＡ６は、編集対象の選択候補として、各セルの枠内にエラー結果を示す×印が付された状態で、エディットマップウィンドウに表示される（Ｆ１０）。図１５において、更新表示されたエディットマップウィンドウ１５２ｈ内のセルＡ１及びＡ６には、それぞれエラー結果を示す符号Ｅ１及びＥ２が付されている。このとき、他のセルＢ１，Ｂ４，Ｃ１，及びＣ４は、選択条件のセル“Ａ＊”を満たさないため、エラー符号による識別表示の対象からは除外される。これにより、ユーザは、エディットマップウィンドウから、自分が編集対象として所望するセルを一目で特定することができる。【００９７】
上記ではネットリストウィンドウから素子の絞込みが行われる過程について説明したが、続いて、編集対象としてネットを選択する過程について、図１６を参照しながら説明する。図１６は、本実施例において編集対象の素子を抽出するフェーズにおけるユーザ操作、回路設計装置の動作、及び設計画面の一例の第三過程を示す図である。図１６に示すように、例えば、ユーザが、配線を表示させてエラー原因を確認するために、素子の選択条件として更に全ネット“＊”を入力すると（Ｊ３）、回路設計装置１０は、ネットリストウィンドウからの選択条件を取得する（Ｆ１１）。続いて、回路設計装置１０は、当該条件に合致する素子を抽出する（Ｇ１０）。この抽出は、選択部１１により行われる。これにより、パレットリスト１３４が更新され（Ｇ１１）、更新結果は、履歴情報としてパレットリスト１３４に記憶される（Ｈ７）。また、パレットリスト１３４の更新結果は、パレットリストウィンドウの表示内容を更新する（Ｆ１２）。その結果、パレットリストウィンドウには、パレットリストウィンドウ１５４ｄのように、セルＡ１，Ａ６に加えてネットＮ１が、編集対象の素子として表示される。また、パレットリストウィンドウ１５４ｄの最上段には、上記選択条件として“ｄｅｌａｙ：ｃｅｌｌ  Ａ＊，ｎｅｔ＊”なるテキストデータが表示される。なお、本実施例において、コンマ“，”はオア条件を表す。また、“ｄｅｌａｙ：ｃｅｌｌ  Ａ＊，ｎｅｔ＊”は、パレットリストウィンドウ１５４ｄに表示されている素子の一覧が「遅延超過エラーを有する素子」と「セルＡのセル又は全てのネット」との２つの条件により絞込みが行われた結果であることを示す。【００９８】
パレットリスト１３４の更新後、回路設計装置１０は、表示制御部１４により自動ズーム表示を行う（Ｇ１２）。この時点では未だ、コマンド選択や素子選択が行われていないため、コマンドの実行状態及び選択素子は依然として初期値のままであるが、選択素子は、上記２つの条件により絞り込まれている。したがって、選択素子はセルＡ１，Ａ６及びネットＮ１の３素子となり、エディットマップウィンドウは、パレットリストウィンドウ１５４ｄ上のこれらの素子に対して自動的にズームされる。その結果、図１５に示したエディットマップウィンドウ１５２ｈは、図１６に示すエディットマップウィンドウ１５２ｉの画面状態に遷移する。セルＡ１，Ａ６及びネットＮ１は、編集対象の選択候補として、エディットマップウィンドウに識別表示される（Ｆ１３）。図１６において、更新表示されたエディットマップウィンドウ１５２ｉ内には、従前のセルＡ１及びＡ６に加えて、セルＡ１，Ａ２，Ａ４及びＡ６を接続するネットＮ１が新たに表示されている。これにより、ユーザは、セルの配置のみならず、編集対象とするネットの配線状態やセルとの位置関係も容易に確認することができる。【００９９】
編集対象の選択が完了すると、コマンドが選択される。以下、図１７を参照しながら、本実施例においてコマンドを選択するフェーズについて説明する。図１７は、本実施例においてコマンドを選択するフェーズにおけるユーザ操作、回路設計装置の動作、及び設計画面の一例を示す図である。図１７に示すように、ユーザが配置配線を修正する方法として配置コマンドを入力すると（Ｊ４）、回路設計装置１０は、選択部１１により「セル配置」コマンドが選択される（Ｇ１３）。この選択処理に伴い、コマンドが「セル配置」かつ選択素子が「複数」に対応するズーム表示が実行される（Ｇ１４）。但し、コマンドが「セル配置」であっても、選択素子は依然「複数」のままであるので、ズームの中心座標及び倍率は、前フェーズと同一である。したがって、エディットマップウィンドウ１５２ｊにおけるズーム表示は、図１６に示したエディットマップウィンドウ１５２ｉの状態を維持する（Ｆ１４）。【０１００】
また、コマンドが「セル配置」に決定されると、パレットリストウィンドウ１５４ｅに表示された編集対象候補のネットＮ１に接続されているセルＡ１，Ａ２，Ａ４及びＡ６を対象として、重心表示用のラバーバンドＲが表示される。ラバーバンドＲの表示については上記重心連動表示処理において説明したので詳細な説明は省略する。ラバーバンドＲは、図１７のエディットマップウィンドウ１５２ｊに示すように、接続される上記４つのセルの重心座標Ｇから各セルの端子に向かって放射線状に形成される。【０１０１】
なお、本実施例では、コマンド選択のフェーズでは、パレットリスト１３４は更新されていないが、前フェーズと同じパレットリストが、本フェーズの履歴情報として記憶部１３に保持されるものとしてもよい（Ｈ８）。【０１０２】
コマンドの選択が完了すると、編集対象の素子を選択するフェーズに移行する。図１８は、本実施例において編集対象の素子を選択するフェーズにおけるユーザ操作、回路設計装置１０の動作、及び設計画面の一例を示す図である。図１８に示すように、例えば、ユーザが、パレットリストウィンドウ１５４ｆに表示されている素子の中からセル“Ａ１”を選択する入力を行うと（Ｊ５）、回路設計装置１０は、選択部１１により、パレットリスト１３４から選択セルを取得する（Ｆ１５）。これにより、編集対象の素子としてセルＡ１が抽出される（Ｇ１５）。同時に、パレットリスト１３４が更新され（Ｇ１６）、更新結果は、履歴情報としてパレットリスト１３４に記憶される（Ｈ１９）。また、パレットリスト１３４の更新結果は、パレットリストウィンドウの表示内容も更新する（Ｆ１６）。その結果、パレットリストウィンドウには、パレットリストウィンドウ１５４ｆのように、選択されたセルＡ１のみが、編集対象の素子として強調表示される（図１８の網掛け部分）。【０１０３】
パレットリスト１３４が更新されると、回路設計装置１０は、表示制御部１４により自動ズーム表示を行う（Ｇ１７）。この時点では、コマンドの選択は「セル配置」であり（図１７に示したＪ４）、かつ、Ｊ５においてセルＡ１が選択されたため、セルＡ１の左下端点Ｄを中心にズーム表示が実行される。その後、上述の重心連動表示処理により、エディットマップウィンドウ１５２ｋの中心座標Ｃが、セルＡ１と重心座標Ｇ（図１７参照）とを通過する直線上に位置するように、セルＡ１の左下端点Ｄは画面中心からずれて表示される（Ｆ１７）。その結果、図１７に示したエディットマップウィンドウ１５２ｊは、図１８に示すエディットマップウィンドウ１５２ｋの画面状態に遷移する。上述したように、回路設計装置１０は、編集対象のセルの選択をトリガーとして、そのセルから配線が行い易い様に、自動的にズーム処理を実行するので、ユーザが自ら手作業でズームの調整を行う場合と比較して、作業効率が向上する。【０１０４】
配置対象がセルＡ１に確定すると、実際にセルＡ１の配置が変更される。以下、図１９を参照しながら、コマンドを実行するフェーズにおけるユーザ操作、回路設計装置１０の動作、及び設計画面について説明する。図１９は、本実施例においてコマンドを実行するフェーズにおけるユーザ操作、回路設計装置の動作、及び設計画面の一例を示す図である。図１９に示すように、セルＡ１の新たな配置座標が入力されると（Ｊ６）、回路設計装置１０は、エディットマップウィンドウによりその座標を取得する（Ｆ１８）。この入力操作は、例えば、マウスのドラッグ＆ドロップ操作、ホイール付マウスのホイール回転とクリック操作等により行われる。Ｆ１８で取得された座標に基づき、セルＡ１に対する配置コマンドが実行されると（Ｇ１８）、回路設計装置１０は、物理設計情報１３２内のセルＡ１の配置座標を更新する（Ｈ１０）とともに、自動ズーム表示を行う（Ｇ１９）。パレットリストウィンドウ１５４ｇは、前フェーズの表示状態を維持するが、エディットマップウィンドウ１５２ｌは、セルＡ１の移動に伴って更新表示される（Ｆ１９）。すなわち、セルＡ１は、画面下方向の適切な位置に移動されたため、移動先のセルＡの位置座標と重心座標Ｇ（図１７参照）とを通過する直線上に、画面の中心点Ｃがくるように、エディットマップウィンドウ１５２ｌは更新される。その結果、図１９に示すように、重心表示用ラバーバンドＲとネットＮ１とは、画面中心点Ｃを通過しエラー符号Ｅ１を端点とする位置に表示される。【０１０５】
図２０は、本実施例において編集結果を確認するフェーズにおけるユーザ操作、回路設計装置の動作、及び設計画面の一例を示す図である。次の結果確認のフェーズでは、ユーザは、直前のパレットリスト１３４に戻して編集結果を確認する（図２０のＪ７）。回路設計装置１０は、パレットリストウィンドウ１５４ｈにより履歴情報が選択されると（Ｆ２０）、パレットリスト１３４から読み込まれた履歴情報を基に（Ｈ１１）、選択素子を抽出する（Ｇ２０）。これにより、パレットリスト１３４は、セルＡ１，Ａ６及びネットＮ１が選択された状態に更新される（Ｇ２１）。更新の結果は、パレットリストウィンドウ１５４ｈに一覧表示される（Ｆ２１）。その結果、パレットリストウィンドウ１５４ｈは、図２０に示すように、図１７に示したパレットリストウィンドウ１５４ｅの状態に遷移する。併せて、回路設計装置１０は、表示制御部１４により、上記３つの素子（複数素子）を対象とするズーム表示を行う（Ｇ２２）。その結果、エディットマップウィンドウ１５２ｍ（図２０参照）は、セルＡ１の配置変更が反映された表示内容に更新される（Ｆ２２）。【０１０６】
図２１は、本実施例において編集作業を終了するフェーズにおけるユーザ操作、回路設計装置１０の動作、及び設計画面の一例を示す図である。図２１に示すように、ユーザが配置配線作業を終了するに当たり、回路設計装置１０の終了指示があると（Ｊ８）、配置配線作業の結果は、物理設計情報１３２に記憶されるとともに（Ｈ１２）、パレットリスト１３４に履歴として保持される（Ｈ１３）。そして、回路設計装置１０は、４つのウィンドウを閉じて（Ｆ２３〜Ｆ２６）、一連の配置配線編集処理を終了する。【０１０７】
上述してきたように、本実施例に係る回路設計装置１０は、表示部１５と選択部１１と算出部１２と表示制御部１４とを有する。表示部１５は、設計図面を表示する。選択部１１は、設計画面上に表示された素子の中から、編集対象の素子を選択する。算出部１２は、選択部１１により素子が選択された時のコマンドの実行状態に基づき、設計画面をズーム表示する際の中心座標及び倍率を算出する。表示制御部１４は、算出された中心座標を中心として、算出された倍率により、設計画面を表示部１５にズーム表示させる。すなわち、パレットリスト１３４から素子が選択されると、選択された素子の配置配線作業に適した設計画面になるように、表示制御部１４によりズーム表示が実行される。そして、素子の選択に伴い、エディットマップウィンドウは、編集対象選択用のウィンドウから、配置配線用のウィンドウに自動的に切り替わる。したがって、ユーザは、自らズーム操作を行うことなく、所望の素子の編集に適した設計画面上で、配置配線作業を行うことができる。その結果、素子の配置配線に伴う作業効率が向上する。【０１０８】
また、本実施例に係る回路設計装置１０は、選択部１１と表示制御部１４とを有する。選択部１１は、所定の選択条件に基づいて、素子を選択する。表示制御部１４は、選択部１１により選択された素子を、編集対象の候補として表示部１５に表示させる。すなわち、回路設計装置１０は、選択部１１により、論理設計情報１３１、物理設計情報１３２、及び制約チェック結果情報（エラー情報）１３３に基づいて素子を選択し、その素子をパレットリストウィンドウに随時表示させる。これにより、ユーザが配置配線作業の必要な素子を自ら直接選択しなくとも、選択条件として上記各種情報を入力するたけで、編集対象の候補となる素子が絞り込まれていく。この絞込みの結果は、編集対象素子の候補として、パレットリストウィンドウ及びエディットマップウィンドウにリアルタイムで表示される。したがって、ユーザは、これらのウィンドウを参照することで、パレットリスト１３４から、配置配線作業の対象となる所望の素子を簡易迅速に指定することができる。【０１０９】
更に、本実施例に係る回路設計装置１０では、素子は、セル及びネットを含み、算出部１２は、選択部１１により選択された素子が、セル、ネットの何れに該当するかに基づき、設計画面をズーム表示する際の中心座標及び倍率を算出する。すなわち、回路設計装置１０は、表示制御部１４によるズーム表示の仕方を、対象が選択された時のコマンドに応じて変えるために、ユーザが指定したコマンドに対応するズーム表示をエディットマップウィンドウ上で実行する。したがって、回路設計装置１０は、ユーザが所望する作業の種類に即して、より作業効率の高い設計画面をユーザに提供することができる。換言すれば、ユーザの作業内容に木目細やかに対応することが可能となる。【０１１０】
また、本実施例に係る回路設計装置１０は、選択部１１と算出部１２とを有する。選択部１１は、編集対象の素子として複数の素子を選択する。算出部１２は、選択部１１により複数の素子が選択された場合、中心座標として、複数の素子を内包し、少なくとも１辺が、内包される何れかの素子に接する矩形の中心座標を算出する。また、算出部１２は、倍率として、矩形の一辺が表示部１５における表示領域の一辺の所定比率となる倍率を算出する。すなわち、回路設計装置１０は、選択部１１により複数の素子が選択された場合には、１つの素子が選択された場合とは異なる処理、すなわち複数の素子の外接矩形を拡大してエディットマップウィンドウに表示させる処理を実行する。これにより、ユーザは、編集の対象となる全ての素子を俯瞰することができる。その結果、配置配線の作業効率が向上する。【０１１１】
更に、本実施例に係る回路設計装置１０は、表示部１５と表示制御部１４とを有する。表示部１５は、設計画面上に、複数の素子と当該複数の素子間の重心点とを表示する。表示制御部１４は、設計画面をズーム表示させるとともに、設計画面の中心座標が、ズーム表示された設計画面上での入力位置を示すカーソルと重心点とを通過する直線上に位置するように、設計画面を表示部１５に表示させる。すなわち、回路設計装置１０は、表示制御部１４により、エディットマップウィンドウでのマウスカーソルの位置によらず、ズームの中心座標が、マウスカーソルと重心とを結ぶ直線上に位置するようにズーム表示を行う。配線遅延を等しくするためには、複数セル間の配線は、各セル間の配線距離が均一な等長配線であることが好ましい。本実施例に係る回路設計装置１０によれば、ユーザは、設計画面上で、複数のセルの重心の方向に向かって配線を行い易くなるため、等長配線を簡易迅速に行うことができる。その結果、配線作業効率が向上する。【０１１２】
また、本実施例に係る回路設計装置１０において、上記所定の選択条件は、以下に説明する第１、第２、第３の情報の中から選択された情報に基づく条件である。第１の情報は、編集対象の素子がセル、ネットの何れに該当するかを示す情報であり、第２の情報は、素子が設計画面上でどのように配置又は配線されているかを示す情報であり、第３の情報は、素子の配置又は配線に係るエラーに関する情報である。特に、ズーム表示を行うと、編集対象のセル以外のセルがウィンドウ外に出て視認し辛くなることが懸念される。しかしながら、ユーザは、重心表示用ラバーバンドを配線方向のガイドとし、マウスカーソルと画面中心との距離を、画面中心と重心位置との距離のガイドとしながら、常に画面中心付近で配線作業を行うことができる。このため、ユーザが所望する方向への配線作業が容易となり、上記懸念は解消される。【０１１３】
［回路設計プログラム］
上記実施例で説明した回路設計装置１０の各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図２２を用いて、上記の実施例で説明した回路設計装置１０と同様の機能を有する回路設計プログラムを実行するコンピュータの一例について説明する。図２２は、回路設計プログラムを実行するコンピュータを示す図である。【０１１４】
図２２に示すように、本実施例におけるコンピュータ１００は、ＣＰＵ（Central  Processing  Unit）１１０と、ＲＯＭ（Read  Only  Memory）１２０と、ＨＤＤ（Hard  Disk  Drive）１３０と、ＲＡＭ（Random  Access  Memory）１４０とを有する。これら１００〜１４０の各部は、バス２００を介して接続される。【０１１５】
ＲＯＭ１２０には、上記実施例で示す選択部１１と、算出部１２と、表示制御部１４と、表示部１５と同様の機能を発揮する回路設計プログラムが予め記憶される。すなわち、ＲＯＭ１２０には、図２２に示すように、回路設計プログラム１２０ａが記憶される。なお、回路設計プログラム１２０ａについては、適宜分離してもよい。【０１１６】
そして、ＣＰＵ１１０が、回路設計プログラム１２０ａをＲＯＭ１２０から読み出して実行する。【０１１７】
そして、ＨＤＤ１３０には、論理設計情報１３０ａと、物理設計情報１３０ｂと、制約チェック結果情報１３０ｃと、パレットリスト１３０ｄとが格納される。また、ＨＤＤ１３０には、ズーム位置算出テーブル１３０ｅと、ズーム率算出テーブル１３０ｆと、グリッド表示テーブル１３０ｇとが格納される。論理設計情報１３０ａ、物理設計情報１３０ｂ、及び制約チェック結果情報１３０ｃは、図１に示した論理設計情報１３１、物理設計情報１３２、及び制約チェック結果情報１３３に、それぞれ対応する。また、パレットリスト１３０ｄは、図１に示したパレットリスト１３４に対応する。更に、ズーム位置算出テーブル１３０ｅ、ズーム率算出テーブル１３０ｆ、及びグリッド表示テーブル１３０ｇは、図１に示したズーム位置算出テーブル１３５、ズーム率算出テーブル１３６、及びグリッド表示テーブル１３７に、それぞれ対応する。【０１１８】
そして、ＣＰＵ１１０は、論理設計情報１３０ａ、物理設計情報１３０ｂ、制約チェック結果情報１３０ｃ、パレットリスト１３０ｄ、ズーム位置算出テーブル１３０ｅ、ズーム率算出テーブル１３０ｆ、及びグリッド表示テーブル１３０ｇを読み出す。そして、ＣＰＵ１１０は、これらをＲＡＭ１４０に記憶させる。ＣＰＵ１１０は、ＲＡＭ１４０に記憶された論理設計情報１４０ａ、物理設計情報１４０ｂ、制約チェック結果情報１４０ｃ、及びパレットリスト１４０ｄを用いて、プログラム１２０ａを実行する。また、ＣＰＵ１１０は、ＲＡＭ１４０に記憶されたズーム位置算出テーブル１４０ｅ、ズーム率算出テーブル１４０ｆ、及びグリッド表示テーブル１４０ｇを用いて、回路設計プログラム１２０ａを実行する。なお、ＲＡＭ１４０に記憶される各データは、常に全てのデータがＲＡＭ１４０に記憶される必要はなく、処理に必要なデータのみがＲＡＭ１４０に一時記憶されればよい。【０１１９】
なお、回路設計プログラム１２０ａは、必ずしも最初からＨＤＤ１３０に記憶させておく必要はない。【０１２０】
例えば、コンピュータ１００は、コンピュータ１００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ１００が、これらの媒体からプログラムを読み出して実行するようにしてもよい。【０１２１】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ１００がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【０１２２】
１０  回路設計装置
１１  選択部
１２  算出部
１３  記憶部
１２０ａ  回路設計プログラム
１３１，１３０ａ，１４０ａ  論理設計情報
１３２，１３０ｂ，１４０ｂ  物理設計情報
１３３，１３０ｃ，１４０ｃ  制約チェック結果情報
１３４，１３０ｄ，１４０ｄ  パレットリスト
１３５，１３０ｅ，１４０ｅ  ズーム位置算出テーブル
１３６，１３０ｆ，１４０ｆ  ズーム率算出テーブル
１３７，１３０ｇ，１４０ｇ  グリッド表示テーブル
１４  表示制御部
１５  表示部
１５２ａ〜１５２ｍ  エディットマップウィンドウ
１５４ａ〜１５４ｈ  パレットリストウィンドウ
Ａ１〜Ａ７  セル
Ｂ１〜Ｂ５  セル
Ｃ１〜Ｃ５  セル
【図１】
2012114523.tif 000003
【図２Ａ】
2012114523.tif 000004
【図２Ｂ】
2012114523.tif 000005
【図２Ｃ】
2012114523.tif 000006
【図３】
2012114523.tif 000007
【図４】
2012114523.tif 000008
【図５】
2012114523.tif 000009
【図６】
2012114523.tif 000010
【図７】
2012114523.tif 000011
【図８】
2012114523.tif 000012
【図９】
2012114523.tif 000013
【図１０Ａ】
2012114523.tif 000014
【図１０Ｂ】
2012114523.tif 000015
【図１１】
2012114523.tif 000016
【図１２】
2012114523.tif 000017
【図１３】
2012114523.tif 000018
【図１４】
2012114523.tif 000019
【図１５】
2012114523.tif 000020
【図１６】
2012114523.tif 000021
【図１７】
2012114523.tif 000022
【図１８】
2012114523.tif 000023
【図１９】
2012114523.tif 000024
【図２０】
2012114523.tif 000025
【図２１】
2012114523.tif 000026
【図２２】
2012114523.tif 000027
【国際調査報告】
2012114523.tif 000028
2012114523.tif 000029
2012114523.tif 000030
2012114523.tif 000031